ࡱ> bdfhY  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`acdefghijklmnopqrstuvwxyz{|}~Root Entry F/ߋPgSʵPWorkbook?."_VBA_PROJECT_CUR"=<&ʵPgSʵVBA /ʵ#2ʵ \pdp Ba=   ThisWorkbook= P8X@"1[SO1[SO1[SO1[SO1[SO1[SO1[SO1Q[SO1[SO1 [SO1ўSO1eckN[{SO1eckN[{SO1.Times New Roman1.hTimes New Roman1h[SO1.Times New Roman1.Times New Roman1[SO1heck\h[{SO1.hTimes New Roman1.@Times New Roman1@eckN[{SO1@[SO1eckN[{SO1.@Times New Roman1@eckN[{SO1[SO1[SO1 [SO1h6[SO1,6[SO16[SO16[SO1[SO1[SO1[SO14[SO1 [SO1[SO1 [SO14[SO1<[SO1?[SO1>[SO1[SO1@ [SO1[SO1.Times New Roman1[SO1.Times New Roman1@eckN[{SO1.@Times New Roman1.Times New Roman1.@Times New Roman1.hTimes New Roman1[SO1.Times New Roman1@Calibri+""#,##0;""\-#,##05""#,##0;[Red]""\-#,##07""#,##0.00;""\-#,##0.00A""#,##0.00;[Red]""\-#,##0.00i*2_ ""* #,##0_ ;_ ""* \-#,##0_ ;_ ""* "-"_ ;_ @_ .))_ * #,##0_ ;_ * \-#,##0_ ;_ * "-"_ ;_ @_ y,:_ ""* #,##0.00_ ;_ ""* \-#,##0.00_ ;_ ""* "-"??_ ;_ @_ 6+1_ * #,##0.00_ ;_ * \-#,##0.00_ ;_ * "-"??_ ;_ @_ \$#,##0_);\(\$#,##0\)\$#,##0_);[Red]\(\$#,##0\) \$#,##0.00_);\(\$#,##0.00\)% \$#,##0.00_);[Red]\(\$#,##0.00\) yyyy\-mm\-ddyyyy\-mm0_  0.00_ "Yes";"Yes";"No""True";"True";"False""On";"On";"Off"],[$ -2]\ #,##0.00_);[Red]\([$ -2]\ #,##0.00\)                                       P !P "  " # $ %a , * &  'ff ( ) *` + )       + , -          P %    .|@ @   .1|@ @  1 .|@ @  .|@ @   .|@ @  %  .1|@ @  %( 14@ @  / X  P % X 0%X 1%X 2%X 31 3 3 3 3X 1| @ 9 48@ @  58@ @  58@ @  1|@ @ 9 1|@ @ 9 1|@ @ 9 |@ @ 9 |@ @ 9 |@ @ 9 |@ @ 9 1|@ @ 9 x@ 9 x @ 9 x@@ 9 x@ 9 x @ 9 6<  x@@ 9 x@ 9 x @ 9 |@ @ 9 7E8@ 5M8  8 M8@ ||u{}-}00_)}-}00_)}-}00_)}-}00_)}-}00_)}-}00_)}-}00_)}-}00_)}-}00_)}-} 00_)}-} 00_)}-} 00_)}-} 00_)}-}00_)}-}00_)}-}00_)}A}00_)ef[$ -}A}00_)ef[$ -}A}00_)ef[$ -}A}00_)ef[$ -}A}00_)ef[$ -}A}00_)ef [$ -}A}00_)L[$ -}A}00_)L[$ -}A}00_)L[$ -}A}00_)L[$ -}A}00_)L[$ -}A}00_)L [$ -}A}00_)23[$ -}A}00_)23[$ -}A}00_)23[$ -}A}00_)23[$ -}A} 00_)23[$ -}A}!00_)23 [$ -}-}#00_)}A}$00_)[$ -}A}%00_)?[$ -}A}&00_)23[$ -}-}'00_)}A}(00_)[$ -}A})a00_)[$ -}U}*00_)[$ -##0.}}-}00_)[$ -##0.-"?? _ }}.00_)[$ -???##0.???-"?? ???_ ???}-}/00_)}-}000_)}A}1}00_)[$ -}A}400_)[$ -}A}500_)[$ -}A}600_)[$ -}A}700_)[$ -}A}800_)[$ -}A}900_) [$ -}A}:e00_)[$ -}};???00_)[$ -???##0.???-"?? ???_ ???}}<??v00_)̙[$ -##0.-"?? _ }x}=00_)̙[$## -" _ }-}>00_)}-}?00_)}-}@00_)}-}A00_)}-}B00_)}-}C00_)}}D}-}E00_)}}F}-}G00_)}}H}}I}-}J00_)}}K}-}L00_)}}M}-}N00_)}-}O00_)}A}P00_)[$}A}Q00_)[$}A}R00_)[$}<}S00_)[$}<}T00_)[$}<}U00_)[$}(}V00_)}(}W00_)}(}X00_)}(}Y00_)}(}Z00_)}(}[23 00_)}(}\00_)}(}]00_)}(}^00_)}(}_23 00_)}(}`23 00_)}(}a23 00_)}(}b23 00_)}(}c23 00_)}(}d23 00_)}(}e23 00_)}(}f23 00_)}(}g23 00_)}(}h23 00_)}(}i23 00_)}(}j23 00_)}(}k23 00_)}(}l00_)}(}m23 00_)}(}n23 00_)}(}o23 00_)}(}p23 00_)}(}q00_)}(}r00_)}(}s00_)!20% - :_eW[r 1O20% - :_eW[r 1 ef %!20% - :_eW[r 2O"20% - :_eW[r 2 ef %!20% - :_eW[r 3O&20% - :_eW[r 3 ef %!20% - :_eW[r 4O*20% - :_eW[r 4 ef %!20% - :_eW[r 5O.20% - :_eW[r 5 ef %!20% - :_eW[r 6O220% - :_eW[r 6  ef %!40% - :_eW[r 1O40% - :_eW[r 1 L %!40% - :_eW[r 2O#40% - :_eW[r 2 Lˬ %!40% - :_eW[r 3O'40% - :_eW[r 3 L %!40% - :_eW[r 4O+40% - :_eW[r 4 L %!40% - :_eW[r 5O/40% - :_eW[r 5 L %!40% - :_eW[r 6O340% - :_eW[r 6  L %!60% - :_eW[r 1O 60% - :_eW[r 1 23 %!60% - :_eW[r 2O$60% - :_eW[r 2 23 %!60% - :_eW[r 3O(60% - :_eW[r 3 23 %!60% - :_eW[r 4O,60% - :_eW[r 4 23e %! 60% - :_eW[r 5O060% - :_eW[r 5 23 %!!60% - :_eW[r 6O460% - :_eW[r 6  23э %"~vRk #h+h DTj%$h 1=h 1 DTj%[%h 2=h 2 DTj%?&h 3=h 3 DTj%23'h 4/h 4 DTj%(]5]  %+8^ĉ %)}Y5}Y  a% *Gl;`GGl;` %[[+'^, '^[0] -{o{  }% .hgUSCQW[xQy%kXhfVV _1_1;maingff\@ kH 6OOekbnOD#KN}Vf\CqnnnOD#KN}Vf\CqPNG  IHDR0oۣfsRGBn2IDATx^ lGU.w>㝓K d #*FM hB'h{ϧQy?A4("cQ"M$dν7^묮=}N>NNuUv}jWWADQa;r鿄ᄋק3pq鉠:4NLD(hJ%A-4 k3v amx ?H?ovߨULF0ALU]ZpSdXԣ`OժBb#N^oNs]g*3Nlh&#`6a"FuP;c0AAq{Ʃ43 պg!&B_!1NjL6'grlƜ4hh$}@14)mug|"4V#Hh=j˯w2.-+_nuC}kI()PaeVA8YGDEJDx9RbԤVpSxOZ59TBhupc,\m(f^dՏΨT+ATV/}NYMN骕pBD鎜2ja9O;V<׊ZA6(fDZ[ԑ8=l6[% `i-+?zF3{ڙ']$$?J|/6(V+"bh׎C*JtE_xOmQҏ?[ȧM+/tə#T~DK4ய8{]f]S'Im0SLB5[aD3u1Qdk.|t_Տ-DkZ-7"Z@Z<ܠ1]k.zkvѻk5}-Ͽ։ch}-jԣzii5vQ nx4w?G$,W.g @_>q-O:#|&wφm֢7<bf]}C텓g?F?li??k-zP'ZsKي;_ٯO`e}C,xܾ: fiU&h(g xPRv%Oa#pC?:K,9/ճN^k7<5z47˧~nki ҫ÷iBzL>,ԋklW^u^{{}7O;uRս:"6y7֡As\E$ 1E)q* Zߋ0F3Ǣ?DrK.鐦(M:{ƭ0h=Wr<[ܶB-`Vݴ[>𹿵Ja+%k֚ͥڃ-3/sy'ZNN Cf1lkxӣF~u.}#M F7n3Sx%l g]~hin JA]cZ\?tx_Ү}#49ygEDHZv]_G~f1ںD_Z:NZZp/0 itJd]YɃvӚ 7#N;ڇSGK%Vy58i[Xgf"8qڏ,f#*xSyϯE47o{5 1FB`’k/‰:e @B2 +_t`7mb󄈐>KsS߼WD/!jkBO?+t?'gwWghoY5։i5殱N{5/F?t)4~WpwHu2R83Z]*#k+Jv;+>Vun"DǏЏY'(܎w4BrgIo!MF5עO:EHД"$wRŤ{D$7*ARFIhm#1TJ7A9@^-kWW?Xu+W[͠B#VD+W :9_\?髿|u?zݮ18'BtD h)Kɽ*ltGʙ@ӧ42ϪHr޹W6##>d %:P++Na炗|9R)ZgRH-fғmCi2`nnwS)N9%_e=hFXC?9R2%4S6˥J2\@<;%qۖg!0o 񴰍q-s{adtG:-D~Kx:7堚ضeiNퟛڝ6nmꩲ,d||fɥP: Ч˭->7aPd*$qQo%9Y tсRg@M]M2+ /W]@X2kHyڑ`<˱J֛͒,{zR{ӡ&-4ڏS^d"]ΥfpXLАnVґq.v?KRrڵQ^Z:A_6MER1oJ$r$)E@P!#YQydayUAv}aȄTI/*Ų\ADݞ>QØ>h܉dZJ6G>oxE=];@0IY3?>}v>C׎|w_\9 z>=[1jj۹΅u=c7=S@}aAX6Y+Pџ8y[ưaC)za/W~ N|z*j *k\YYڏOwՋ$4NIإljڏ s6l,LK7:룤Bs`.FM_9gIBaa'_Ij0dg8HYk #>9p|0\HZ]l}8y*Eb9jzOA)n~ryjkR4dEZ~$SuYO~M gUA]Xqz]q~h#;$b2C {uR 11@ejXȦr kvtI],LYhx6첮kax1P%!yU;(ulf0-\*%tgV˳RUyUh|$3=e$e։g'4,^䣪5,K&~i9}'S?*T5=(U˶giY[q!bgM}=g`ɥ0n,@O$&ȎˮGNTޞԮ9K,tf7;,/z a+sr"{/ԣ۶TCB^ g.< Gwm=U>oB@vi/W=)79nkbOMb >8T_J?~a;Kk\vS/gPrE5`娉^L(tm~;BfB?7sЀc Yb~=xSez+{|٠4N'ƎQnﺳ}F\}q ~kPBcGxgFSf΂9`_* bN7+'5Sxۿ5d:gO|7VD V;<3}w6 I Rkw1n 6;wHu'6CۼDˑh;?˭_WڞG?B\1SHLCb,ogd ϣT8G{MJR,;Oԣ 9U Ner>4vPdh8I䝁GJsc:a(dseMD+<9bUNYD}kj}Iwt 4Z;a\e =wHu'OЅc(e6$+x%)C$!kK9@Ck;| o|H:}:?,U+2鶊8nŭ98N*![Cj{hC5?j2-vrWY1OѴmzzyuN=#n!YŚ=~!l=S/bvaAR4K ]X^=[fP]e22TJ9kq6 -CwJ,3>UE{_wڅaL\ٛ?ҥ{q!RAt& xyˉQRn^q3|%ȑZL oLD@Q?z>h\<2ʉ/xd#a@gz`!5w(Ox9#PNJK_u> V?!^7_0,;;T4}tux5si8wrDvA.{wK*BЮaAzgwiQqҪ_פ *7}Gލwy'NEj3D)wgEIEL3vOLdPUr|$I>RPG&_hMG|Vy*qKDո]#Y;W>F;]7d()B:q-{^sx -#9r'ۊb6\ʳlxZrU_m>}tު94.9A"Eg6c!7|Nu6"G +_>g,3t\k:W9Չ#SjRyiI9W;8wi V#@<9.*a{>HFY4#ȏIJW3XMcrlg7dvi jr}Sv Y u'S/>?$::Ɣ trF-r8=ꯝx|sTw</{E x(̤Yh,9ȳ#^_YNQF]U|2,.HIfXlZF0c.~>A *'nsb?p¨cIr[qCH+K _cs/_MNp@8ɱf BQ*Kˋ49Q\II%$TBwHMfY&@HcA >sK\ /0׫7ЈxN"iGɄ( FYDNOQ&rH}B۳%qulDEݦto̸Pv"pgf573Ek4kZi):7NMMh&9GKIYz E ^{w\rYd=̃"r=_g ^IZa7#b˟Hɩw]}+AF ;Jf. 8f"m/|9DB>-[ w8GI^.Ą`<,U~ĉ OɎ@l#64!6'G1_ t+G>KқZmW v5V_$좦|cĚ~⒞-oy4$$TEW,B `D 9*ցx)nQUm>2sl46a!JC"rxnI2jr/k&Thx`$'! (D36ژ[YY33s$Ft.RᧈLM! 8]l#$C}0E%Wy3xIRu;$ d@2LQ}^%z0HuJL@xR{G6ZznHjnZ0kߎq)ZIkLWH}芉ٶVܞ\J묜#( -2Uz9^ԠlR԰s<6uViʹ*t@l|۬Cn""}Q|nn/I|=:QeKO'I MMV)$S,ѩf*μES8mbN/RšMTVQNT.S9]oq2@1ncm](qKJHoE8oLyk"n!ꔿku~]DK\j֥بǬ^$ѳ$ ϻ=c܉Z#3гڃZO%[±@(˞=.GXh[rWd2X%#{+@HFM;O,Ir;x @RDŽ{ #<ђ}[NBqO-e>}3*1ZAC?E~ m:<_.x}%/r%:4YfL[瑋k]E>>. rx[.pQ"}=wCRf6!VFZB>@ă}N)xAO8Bq[OO$zzDR4pƤKJwB, !/@'KW;)c'axd#BqEu)Dŷ$.%U"-pˉM3(zjL@ W7s{{GNtҳ 7Y )KN<p{/:p}nk~;HxL9qm|Ҡ᲼nWWm[z1fzf{6])~wyZ.+qBlk׏>-rǹg׿~BJS@H{5v,޵_§`)޺Q#bV rmꒄDsQT?qs,Og=}~ur!$,m).[6)eaFH]hj AM]\c/S5[Lܰgy`k"ފ);,j(Ρ `@ ~tpBt:&0$s9eP,ȀJ[d @ 0D dM¸s)?EIִ{:j@.zp7o3e22J4n)e+.f3oPDx1*@Hf$ @o@H}C@ P& 2ф. R!#@@ek6)@m@LRz:h=ԥw*!IɢH"Eh6/x2Ej֝Ħvrۖu3&kwR"*tֻ_|Qҭ='n)ո*f)(c$[fwY/.,6Ȣʾ'K"u%z8V+z(qZԮDK%qҞG 첗BBKw>9  0N|x߷N:Z9ԟA*1pbɢ$ITS_'Nb*uȌD~ȱE<˻;HH"!,ВyӏƝ qadE\I$DL?ڰ@isamq`z(zB ~xM~$Hav:@eb2wϸݾ&$f$!eSIHT(G'DMZqX|e "Cj1'E$_u\ԁU!L8ilWv.l=4D.F di3=˘:j#6/J(6>i,!d;Kzz5cc:*%tWld|~tй 9ĸGC2w'RhĀ@ .j|#HF=.Jx:ΛX'5!v1fL۲ˤV7FFORmrRe$])(#Pڔ93ʑ3z&*l_t .BR244̛ob5`kfW->]I|Oxʟ>7 /OHYwHC%$!NLsb])~HDEGHBNދ"&$oR8v| SXm^ۊ4-}0! 52#f`50l|I>)3*o󥍄T”~6c<⻒oWRGZJ/0&:|HHB2#<#e #@$ H 'rtUX wI}s7hch0CL~) 3[8_ ̅‘][nʫZiC*NΝ|S!yUYSvRINۓ7ҳ_tWOdOqIy%?3̞ٛcȍ31e');{{ISv=E%MU{nuCꏐz5zA24c&]΢dM&-=G2R&*FX"XM6l ԰,udjcja؞$cS49m! xʮD`4˴a&eg43ڔunõEG62@aqKEL.[ð2nU\C1d3iDQ%54}saRKVM>Z/fH;b6 ɦR@ B4| e!B* I@!2 @YBz@` }7}0=3)։s̬[ɈefC鯔|ff;_c=mG q5,2+kJ,Z0Bf+I՛>mW m_vI閛LScat:wHG?Ux(8`6! +#f1%!ROclX.ZFHo:vD-7|8#!eN9CCRWjc8(slD"'4)IĒPf #P1ُmLwQ]OL%T1yI@l  M @ "p 6!=G~b7L.Dyu43{me)ғmgdJa`Z4yl+$wH>!u7VS;^pӻES7`}M!>֗pUDJe)]MH4,O|#q{LtHH#3WJy\gǘRX&kjZX_K Aa"mŘ@H>F@qK4}*df"e_Pu+$J]o6бqQԢH#6"Aa0:,3me+hWr7jQajˣdZ`sx0oyalh4,[4kj*Є}G[ 2c0;6RҴv?{6n"Y,LMA%%80c'G䢯ss{@@ !QgQ 2ƣ"o_5[KC1,Q? mD?'1 @) F1K $w#Ni#%ܞ8芉GGi6]7g(c0TJ @*C"<6J;$H IHuʤ}`ldA 2@ !yk(u$x^.uIO%/=# (F`(Ŀ~wLK\8@3z8"b6R'6*n_@ !F :?}='% $_RXSQkWuRS&'A^tp{7r5W^U욓T,=Ÿ2fu Pa0X &T-bR7jpZɦ˼ȶbqeUO[)޲Pj16VsLd2=M dl;@ 0 CV (;Mlh6Uڪϴ&j[W, h9,mlg}>9m!7DUTy,Pz4JTSӻKZ#!oTՙɩih& ԍaX1Ŏ":531a~=]o|ٳ0B"\f,rK41@H1 Tf!CZFc^\puΓ{_{E&*?81Fƾdfm@YU0oPUU;AhfI٦Cl/!o qGܾIqD,I]2Moj3sLMMS:ݥ}'I$"oN(ђɌ|7+}afh R *!u@&p|7gUMYoy,%6B?y#RBڎ l@`X oIWV(oh'Ʒмvz.pBP9,CeZ!lؠ5[ ^ 0RD;AHY17wyyQ6B4H[u+dmti1%wk]zIdYԖ9%uMdɿzX\\]RVֲ]=,l)ٚ"/pR9ORKqR^׉:= )}AL@D`xD= 4֛?FqEt a/Ed`=$NosO;H\'p82Il<@)9y=?4揣ȸ>#d"%ٸϤJ1&i|*W!@`!3;qȾ}P8'.7H d="Cq*ɭdZ[gL,:izc|@􃀁,ˤnP'R6p#+פp&⌱|}vX萪("p{dJme1 ((:h[e޸VGܪԖeQ# z\hJ-SlV7mH|XD'7=*\xxEں[nʫ?*Y8E⣰yc;)O|V2hSfR݅hAIm23{9WBZYZxʫޟSwVE73=#|īٛ ixS|GϦlSB@Hé-#7><ҋzn5.<: GlBVXeI2Bj4az2NjtbKyo3-mcPK/2N2V)k;f[FHT5A'Fh9LM3IcF}Ⱦ,]Ϩ<6VB R~2mڤFsFHkkE[#IE`Rf7UA2>EzJ*Z^qSx߆ˤV fFrg]>6h_?,\Y5lkS4oj<"6ȦgY5l5Ā@`!w; Am  x/@l@Hۦ`(@`(&$Q%Zae9ɔEm;)i,laxQHBSoa#c}LC<'c1SsMH1\Ʀh5Έl *n ɦR@ BBuVzaFoh˺TSJ%zaZ @@($?pZ>"遄I'(_.q,KtK? m@lDiJ>aNUt.4bNO 2 $$ld@x('aHEF0{16<]*I"+O8,@ C@HiK1\wR,䪐LV;}qH9Q#'!Z.2'y#x$.ҹe:1r;/ZiI˸^daeKƵA%8dlrt7T"gf36~:0K-ZV)i3G'H !`8|uкx,N@ %n+Ӄb Qn%RG3;C <=23߲f8{sI\H]m$$y<&T|Beh\j3ZPfvE\|lي,4lLRJ=dQdJSg֗p^z~/\W?|{=8pO/*82`rX!RcHX*%d'ŒŠ՗cjOVAD`Sv511QuRRh_KeujX9TǪxI,X;BFD61e&MIk/1=d A?MXx@#@ŇEH9lDTء'{tjJ`F,+6/y\Eu=71aS i >Ymp/; m386y 0j (9BEJ.>V@*CZ:i#T> ݷ@hEWpV+괏R)e뒄1Mr'ɬ)<}V$g:ŃoÂd3o叁,#TdMDHylIHg ƛJ1*t7եr-dL)|M@E %U֜,Lmzi;h@` dl:B(z*L9\8E ;ڶTR,Km=iа7AUu'hͲ PI~o4YeHH1I7]Pw<}S+lj,HS6e1 ֟9̝:BJR3''-[ؽ$[PwE5uވfdl1uVArA}X #[]Ql|d(d dA 2@1@JHw#ﻶ}-^sUk'[i|F@ }!mߺ@B4V g;X+@HcUp }!mߺ@B4V g;X+!/|Ady- M@QG$<4:M EB";?R6"|F:vrQ6 (0"'! A䖖#و/87pRym[@Ĝ:e'T9sQnON,%t%c)~m%~( JB |oo#]\IK365@"PdpgRH$'4xIf+>\t 8 M"7F i @?]f!@T@Hh@ VW@@  $  {%(o%^6fl[./~=_WZZcFS~{O\<=rrzuWw/N>9m7-{8c9]a!<0_ .#ۦH7d<5%&+YOo@^MisxPcN$cڳ[>^ks9f?=ufꯧ0S_r];G?`$])O9p/?G!?BԒ?tkZpA]z$K)iOTS/EO/Gר:~1B$[@`eyⅇ@ENV 5zԇ@j}DZ5%[7 x|6<]7v=IFf0MNЌn#FwNGVUNfݒAdy- M*EլJ )M{*K&%BMkpU;cBSS,i$"yuY_rDR<<ͩ$u197_a{ I7#oݷs' /A8<"UƣFG{WRtFɿ+EmN2EZX~E?I#H* A&:W^bYm ,J*ٰd3=^SL|)+ Ӕ`֣de=tvl:#B"m++n mʰIR>)1V ))U] < +U lDy!yOBjsriYމHCG"̒yZ^@YtË=o~O*KdVs*.oqJ7lTJa߽hJI 9J#VYNcJbW}az|xOp```?PhmQsu#u-/F+Id$#syt ɰ٬#$Ka֬K̒&Ϲ}K_ee?0 Dt[9].ųDz{e)2Ycr. $ϝ,g>U~*l4s$5(S53JͨIHn6$.䃣+WxRUNUJ jizOHWn=W#8jU#?HgKCz̋3^ܻԌ{X\|oQJבP dX VE4#51+XRk;RpVT_#!j䢆H*;v;.^wʉG(Q"\ @MHDJRוLb pY=^}~(rD-L` 2eazBkٻLqN 6#R!D@`k(u:Yđ}ʧw P˔}>c]JTE213> yP*ĝo'!%AsO_%Iwb,685{AElzo-g4g3}g.<"T< !@;^?=7[N]܉o}=D^6:{+hnk~[ [ā>KO{-K9uw+jnߢJGGH;8+k;kBy!3CE`}moY|g=C-kq^uǝ֫얞^;w&4B@4?_\^WYsl@l4AWVg&Su'2 5я0&N{Gf;Þ75Db=oTkwe$6 繣0^0`kK7:ދX'<@bmЯ? KF  +ĭIENDB`bUf38FDlz{s1fn)f38FDlz{sPNG  IHDR`0I-sRGBeIDATx^ -Eu.޽Ϲ#(\ *WD8(*FFЇ0jIyyѧ/hE0q (WAg>{Zk{ݫ}]]Z_U}jUuu$I[gIcTȘGCقqَjE,&'cKA+F[9T@=-5MKhdHEMu64  CQ#K~ULT{ѯT}7œSc1m(h,LƢq-C],;MRC 2 {UF`[MEW|üCSضhzGk3/6c{ML6[ckF!+jk #:'@r. @ͅ,p̤Z3jg,S3*%U&sѝKP撢E ddXkCQ<<4<$DFCGcY!8iErr}@{ BFb@2U]wB|+n$qZPШG-H!\3Thn!u |u[4&Ѻ`6T5' & W9v3n2#g>:@m=k'(ۭ6Ten @SʻI؈f;nO}ysy׾Q=[&VTzML魚 N"7GŇp-9sߜ~ͥ]xeO+g07ڸn^) p ,Ɯs4%n<IF'ԵEI]4Axj 4A)FgifB5 8Y&=p,Ԙ=&_^pw'>s_2絷=ܞMf#i,\j-ædI;`|\Yǁ௾/ōha.jF[gh碵Z4Xd 4!imm]..h'0'}voM` PKL @G/1X1@)Khq)[Z۷o_yoFa~Us>Ԟޚޖ,-FKK*5F>BHKp+YkNo۾5O'>EI7֢=kKIGT64|z:Fr."ݮ֙E#J0Lz\Ork^娦~`λô֎h<2! 2+)q`8g㒞Ggj]ӡjԦM$} Y)wOɨ lQk~` wvH `5hL%; (_C1?F`ڎdz>[G/coGt{fG{v,dq>YA ĞKfgڰhǶGZ3!N27"SguVQ{ -Z GmU^!9A=0xk,"|/]qx4}y8L>m J@L05i gm˝_Ӂ%#GTS=ׁ]ԞR{v)/=k&ٙm/YoӔTXR*qf" )SA|)V2uO8@h}zO<hrᅢ +aBaAuV&t"N3]PSnD:vhjtU0U̱FգaVb`%0Zi00_^]?IŇD-.(`% O;;hFMLDG1x}}Qwb=3sM|w)[z 0Xks׸w^ڵL#3/["حaFFwvR={ G&m`dь~<`%>3"d' UmE9ȴ ^aӓ0^0v>'^3Q٣oy0ѿ^<ﻘjfXKY#xG~"$T=􄸖 Xe/ªwaaL06`8z^룵S$l4#]&/T>&5OŏOMqP`YՋ9'H< ZIҀ1Z+zGN}bU@P{<Q/~+wmt, ,Zb}gC65ӣ%N3`a#h_сELDc:0R4%G@6q+=gic3eGq'k"&S>5rf Z}HA@˜)|~7)JU C`c= NGz^Vb7[h-.91>}uɑMEj2ph;xQ [_mɿW>i=xFCѺhIwa}sڳu^m[ 6|Wo2!s]ns׏n~%dN6ēc1,e= h?wԊ `XZjffq;'gP\ŵwn{'0|S!AZz'S/'iBk#K/n6>~5VSJI5MGk՚%5d#"#bh5%&&_jI=Wі}$쐝\KR 00@;ubxqEd5XX m+C ( &t-?1>cVS>PQX3|[߽oyr%jͅ=: nk׋s1bEw*֏Fk`I%CuAC+~ֿ~$wTc_:{#e,bWq\X3{ƣ5vGm胯}c'&-4損fszuMzc;y=kS؆?y3W5v()n.n^;>ͅƎnjυyxm}~;JkޏV<̅Ux}}j+@[o!0qݿ޽3N1XIK 䁛?<9~{3#G}݆x| 6:JZ'HI@Ijdice:yɖp讟úk톔TL^H|iټw6Nnr@#XR|5`Q;6PRc n;oL|v|էJN4`G%Rn[fWܒ/Q+Ƿ-OIPKpQWh+m: J}^ οKN}=eam0xt`.R vVsjl+P3~ݷ9HIw(5G$[u?z$g0ʀV05޾ܿ%7FIjԗ,#0˵h"bRάm%IGzTQ~/O^x3zHͳ:FصZq10!N;avֆaSqn'Tbg?m'zhw ~*E%jE@ |TK ~ZI{粃οֱ2JTLu7 QĄlXOe5W޴<]VmS>F< }G܅W5jqp:'2U:[hl}I0pQRm!Ktw}$co)=FJRrz|U0B/]â0`[0AЕ W︀} ߹M[#l@@_R(D‚z5KKH2Kcel/j_%0}-P˥j}:n' T΂\QO=᧼ք+f8qħ+/9hrIO  %Cw'vSwֻε>+U$A@~z-hǝli) G%Qe( $m@> E@!qvW&~L>(Gt'ހ@fB4{l>#bР͹ ӇvWC @(EI/=]ťͻ{GԞx~=쀍pqNT%}+9( /xً_[9$Gv %I g.lX3Cr|jyT7 Poi>Vt8oɳ}>Z~68Mv9mIb*A'?m6ff;[ S;R)>*u x Ļ82UJ3Rkiqa >' T$Xy!a|[Qnƅ/+}@Q -J? I"`xn'51ʲs$Nx_Ւ;n2hq$-|Jt7 呉 yхl榝'pccn5)O`ȅxFZ `"%  $2*t  ~RA[^$EaX,Ƅk <֞*(CCxjR ſ~bў-/ ))HB 5'U9YnSf}\-fP?1X6.!$;UFI%M2nin]l;ON㧳C ‰bl(OIxKA`HI\hQ4]MWD}VmS=yzz+NЈZiì0&dB~E4ЀRׄ(J܁A@CRD$A`pJܺ>DP,IXi,Vջ(,3BI\;" 0p%\‚@?# ϵ# r)G_?~?k)DUmDs;49| oQޤ"dq>H'$k\@e/{WĶpn20`X߻PԷbwoO8/xzw B f{kʓ{Il1ıR"e3]y~ĤM mc/%I2NNCLUh˹1&OE vx`G_\')ϰ_M\W߿xjb ȼфw;[CD-b4cR O;,,p xX8_DV))[k?|Oxϫ~O~/%?vw5^uȚ iI󋬙<% 7"P q'>hl1[,x-6QXQ&Y1촥nQ*~ Jr#_|GSwՁ)jPȈݞ]i^>2@sL"MCfîOH# Ǚu3Y6)Rb?95Yܜ݌bviVi3nOybqA p(=++ zf1?;|+"v-N' fC`S2*U^tuz6=j?┓K5]r O (㭍l42@`GcZd~B}'*WHg5xȗ'Kln6µ5w=ዎє(vR @!ٶM+X Ĵ(gꅷ7FPuAdNڀUwTUԣkGG82loաkXj]kd-VM-y[Ga8p93aO)14EE#G:Np}VmcVIQ90!-õ0i*+l-]g%q Jsȶ Àmh06I 7w{|(i󑏅8 30CKV@6+j+sy-XH})IȪRg>]P#S(GK{P_~]:?W.xn-#>+~9=22pVd }0IEJ:uC?2(7 qr/clv)b9;f 5c8 D"|*[17ZkF@z¤ &ts*N/qzȆl[jphCjHS]am+ nldm % ?9Jl3A*saeaյcJӢƱQ- њjumWq%k RR6g6bWm{}"%p߻vg|C @磣3O?}kG(30&1\a@wazz14ܤa)4a07yvK-3Pr.!"[ӗ"/'B1%>w<][~|tٵ~!.[ }~JЯtY+"SyثuC9z WxLImhWDo5JJ ]:)x,Av?xrDO>1Y#1VRNROU `k>3__q+iv|tѥל3 Ni< UhL߰2 ,"VReVG|kCC_~_6`GoոoGyG⸊yR@On/C'] I A(v] yEUVi쓤GI> mo=B!`;f*y8oi?cXfyK=y38͛o W9rS %j:t-5gRr-6Ќ s.krvC62ɉ$D}+*uz NS@'D#l M.AAO~Cmվ^pB{Wtԧ.z7}IOk|(!:igXr*NfѸO6A1i|~L۪^鉹Ou$KLhThGľ1A5/l]A@eJR|#O Ung>Ew`E\xG:2vt<+$勌8Gnf֩ {sMY؍Aouxgcxr!CI9FU <)krw$!HK+q d,9_MibG.] M؜!x42 J|"f)0+N4)f|2L0!c/zpwDnjRZI`W !?C?5+kSzݮdȻK%[Ix]1fD] !&s:3 l#!;c !!!R|Sާk "Ip Qut^Qi`_;TJ_Wh'U`{+ _JB$ U$JI@V FT(ro5yǹ3JbhG#u مсѷ5vLé̊=DtaZuŸﳯp-Tsz!nA%9(InN:Ľ#|Y|  aetwC9R0;?7DCD泧*CT; $ wƍ˨B(iE@ v5[WPXa"[I<2Tō , ]M:)NN}ZFvn2PQ:')>T<,N֕pǠjN'S86kI5͢r"&H'\Cm]!=U|m(T* .dz?سIYkJB7h{[t_z8̀FYj QahC+CqC֙cQ.2*6 Bƫ$=pEʓʷj>ԛؾfĽ[̎4-`ԛ&@OJ (@OJ (@O( ;ߴ85q;ܧ_UR*/drİ };Pu~ {&Wړ-Nxq{Kpgvݡݦ=R!Y ? G5_j#gj)C.T/z| eJ*UB`t#q=p}#;>22R>SSv~B4M5t f1Ε6<2 (W.5Q uI B;ֵndX8?Y?C@EO#!f *YH.ΪU!R'v8~+nӺS5XՆ jTغH6 @3VVYoP`{o'v{?={? rwi|/ c߻vD FNKKTЪ:Dzi 4(R)2U9@}fq/KeƱBR:ÒE3TbtVTۯ~ka҉GSw:'#?\}nz1eMΐYlꟖ]nZw :~R*Nv1: )hS3ep 28v&ʺ#Sʡ{f+YDnHe{>B?fbt%j?i&8]`$}IW^S>а\j'EOWaT\+ja|tj 5eKׇs-8ouz24+ǒ,KQ5sþD"ѓBx)2PYN$QZ:eiEO4^]fT2I4FXspݏ{RG+BI߼S~,!+`$`j6ڭaSH7znPeuh7*bowѱYwYefX&t%BrSzaٲg[*׫;CIL`^@sX^))E6ϓW7 >J|cGycJ+÷bW,Qc8iFVeIi],s?8]Hafxq-#CKg =o%,Ć>eb%A F?SJz궇ПmPOoAétkX7;wOwz_l-mHM?BX*??ue"faɉ.\J7)K@ 8r.@_8uduBBڢZ3T !|@MwR2)CTQ6XV3\`kTh^CIHթk|# |m~,jGa GtR\;Vְzv]{!5Mʍ}}yLp`k!$*#@&o?,#$vlfGRr@Gx@7C?5fEpqqtt$.P Oj2)dt |U ՇUhBQw< B;0f(Z/fkDsPd2$-Wh?/Ta?9HLe)vf4VRn;s^̉;X!:(ӓ.ec`+ɶa)2YXt0$y"e=~~gyjO nn}M84{BdeJ6`v;#15N>Z~eg튽BxWqy6ׅdӽݢ9QH lW9Bed#(7'okǷt1IPQ!{ڒ:p>\rdDޘD8>M983^so!)Yuy߶[:T&n˾3>W-,O0Kw ލjYrt9߰b0 c@=zU;[^w7 ʗD |@Ts  '}IT?%k OD*A@!`wWFK,J*U /SXJ &* !)VHIV-%Ѥ@ïTxV[fG. )Mx6O矊Π-ໞک4)~$էҼ9:LUWP)0DWLIoQWӪf'D$îŔT.e8W0]v;4?ctl"eDy-DJVZ<+""G`"R% /k$;JBLAA`XMJ2=a p}ԙwc ;sZG?@韃*?}bz_坁^l)yYyYadM@O[ v*  lJ>/Vi}.l huA:|;J{^xO=V;6& mNe>$X:ĖkDw5|3vd3b|JZXv-vmG9BI ] ]>EAQ@1%U@xQ04雙K+;jzv̫dh{jS΁e oVyT=uTc_*+I5n&3]/[}Z(ǕE*"A`pHJ\DsA@XuVr)P,:^a˯2OC|kxl\ί%p;-!Cuh`\'$:d9VO!94,l::R8Vi>֌VXEU2`JP;n-'?Ug>ec''W뤷{_{,# 갂 5\7n$&5 讋SSjZBYC|S ilzN!ṄN$ e!B<&0+Pt]2B뛝s bq3G^ ,@B>T ;nDov(r+.d Z<9}+N>xapҦ6mW> w]OɱMS]볤m\uNFgvs8E=%d8\I(doXk^3[W4ř_s+Őuѐ)M:9sP *HT|ѱ)*/$j ) k|䫯9~)ZayҚɏ'=֏|V@a4 _&»DԂsfU[Fx&cG}rvy8#I&iKb`׷"tT)A|i\]='JhpGXgtFPk>+ 9Zq>3F7 PP!cSryݞ$֩Z6â ciS ҽM;c|%ZY@EJ7CҶI+!k? 2.ͦU}=J8g THW>xJq|`%m6n/vj-!P7oA)HiQS[58NFC4'<6>vNZSp$%!J]g0u* )('ә"v !&ASXVpF|L/c*t$b+əOxſV<mz{qsvKFoxܾq&}|B޸uO]twb:B">4;m%xDdtx:]"-p& ׉7&S9:13H/i<`_A"%=fԹ8\vs-wދG{]_B>@2qҙ7n؇D(["pdĔ?;bšrVAEvFm48)E,d[ XIx$`%2 јB$eGٲ=v?=S'~<픳.٧|+)9Np''k|`k-TeX=  o#2G܎Ր 9jO'lЁoʍ-Gu)]ټ N/w_|z>^cMm.C?>f$ّPgb=K{,ô'UG;oIt>~[+eȐ&[*&:#kr-s}5@]rłJR1%F"  z!=B@(G@J6 z!=B`ڗܰ;8=ϓݾo7y DGt#6QNߊ 9Pm;XRW|Ĥ\?*C( A%SQ*# T:I(G`(iǁ={q!h㏃1@*;,#8%98{R%> 'էuNeJ!> }1ܙ PšuO! a8|▁ڤ%y=_Te?8X m}a!!nP}{q[Zrl^Aam[W'7q -7^OL@4)spi]J"OL1f[p=x/i|(z|b.2:Y$\; !78*\ ?'&rL `K] 2U ԚX;aF ӹ:%Cqh')g[.F&=/s7qdW E_>X{kwo:q:'ϵk~wOo>/>I˽vImй&gಆH ܌1I'[*5~w2fܥ mpC#ZaLKPBc3JR9+1W#St'+E;%-wyɷ1'NweZ3BXlu:H~Aor(#Se(ӗoqm/,ZD)S&@(GtXVPؤ",u%ĬigR٩xBIl&DL6^;3@<Ot#ߵRq|8v&\/kWPZ6|ej[#sUpa={re&+>Z"%xO8GP¶$ã.}4O2WyN&FMZ}i>HO}3nn3o1W0L0giHbp'9ߧ#g[~mFβ v#Ѣx%:\ :?mĈnjW&>;w~˴Bo$Ow5t2,$涡]W$!s9Awl8LV3ʴTeo]Gh]5s}nh7|.0! TKrϝٖDmE9>"TMa]fWyPeCH[Isa+٧vJߕvpV |#h6ݰػjU;1׆jyY1*n#>ƶv sb!K1L?crm{~с'\#JϺOK{ZA m̯e{wlǼ X >qm[\~EFPoan0ݮ,GF{v>ԣ3hs2 sXP!&O;T:g@̃F "lO/2PN*H#t!IIM/pnብ#NL߾R|"nj*EcA(!=+dDClMe08.d CHM,1e8vhuȎGa%*k4]˺JljUG/|]wq|tѥלn/ lX)ީ'FoV=Lc}vs$]ͳR;K63 :(c"'bV|d@qsH-mG(9$LJADVZ/cSƼE@|O`n ,$7G VJ[n}4iѵz֞b5gk`q<3~D%^QS5*wH/K>pFRvW(*V9aJAW@ q`v42G/T->胾7>}>}և/UO>17@8MaEO-u~I+WkQcT㾒Q τOa4BKOJR"ჱc X$={UP8PUGI_v0eBa:?E<$ U`""kKd v4,x +itKӴ~orr춬/ѵʄWMoNd6ٙmS8 ;>,OF K dIж9AR83S3e! As*;>"\U *@M桑u5;#,$7΢z1Qr.?ONvsJ] >f?I`sS>慭1& U59>+e%%)oJ\ Jե= %P ']gL26*Gi۲(ZMIvtC}mxn6MP |v;'do ̕^ȦJ233Mv\~zQŢ,24)lÖ|ġ#cp.ۭ)U0BٴNea,Pl<&n%*R}R>N;#Gg-[z|- ~w̞)_u液y.*Y"jÄ33|@GҠϾ04*<""ʇx.ԸEc{Kˆ"oe1?D$3?*_ə+JԳW5`J1 k-1ru:Vҏ+PahzVpBM.h~11>~]LAP7hMwZ6\5^k>pi_5( 4~vJq`F1])L#qJdխ7AIx df;SYP#8,52sJEDw2BG8$,-`A}wap=*uirV+=NNm0:OVRθBq1"*L6'7΢=> < 34x iWΗTb]ҢdhPGwn 106tI~\ɧPw6J]"S>v`+g)Վc!Q2,&kȌde+3DQ5l$P< +8sQ:aSx|4J-P3] :K{OJIj3⌎-BjP̿λʋb$0`.xrმ;[o³"΍UR;VZ]nVq[W_3_1)IeBSЙah)xWD?W ٵs8r`*P0t yOHx5 e9 7íќj˫f3u*8xuHʳگV-zMj8'@)`Φ^mköJ*DJk9b8!>A}hO)"$UC`a9Zl%-l:( 0R>io 1S1) GN!JӇ\09Z1Gp!hwN I_GA[ -9JG1b4XA& =^9TmTeJd8"&* [IỔ!})`p,ԚS6Hd(%hQЬR!x&D/7.JܺsۙQ :W7>b2$k xVa -uacY^|Bp-*vavGms- +4Y7/ܗe=>B.l=`&A.@C !-3_j[aZ5 G"юZI}_( Ѓ}~!<]OHeҮSoN8G%ӏ#iVk_`zo魸Pg.#.c*+-5]%HkK"W~\~7rOuu׬rĮP>tKq ¹igD7ۋ*$691@j S5tw s#@[P:Q8)Dqh$@-˃ZjWԚJ׎PދO:HEİdT25ʙKU@%V OHJp]L&ls`#(Mq]JN>uVg%')c.9 >LsFP=!lP)'Vaa#0AI' VfJgVcطv鹮xӹ>@FL+2S IB ffApȦ^9U_VJ*B6N$:/+~rQ#)'F$vbrv׊WahhZR.H}10RAI $`psdh)ĭ$C7s@ &~h) ޾nMCW*?W#u+cFznP@/Tm%QVz/ @ o~ Kt{ %5$.kA/CI1pt̸yw"oA5|@9tV40j ;C /A;a#?BP @Q@OTlBV"Yev]~((|I8^]jV˭ZjR[EogPթj=ѓڳ E@! G!PA@#2DA@J6 }PRU"BIAJQF z{[.#b%cL" 4U/ PR?֊$ ,BI[ Џ%cL" 4U/ PR?֊$ ,BI[ Џ%cL "+EgAoJ۪AD@(ik]tLDEgAoJ۪AD@(ik]tLDEgAoJ۪AB Vo!4H. }PRW( BITۢ %} ! 4H- }PRW( BITۢ %} ! 4H- }PRW( BITۢ пD2A`JJE@(F$tQY_nD2A`JJE@(F$tQY_nD2A`r HJ @$i G%Qe( $m@> E@! G!@Cp^7)CWFJ_X @G5:b?v/CI Q̸R B@(LIVYJR%I"  :8K) P R0I$A@XVg)EJ! T &$|@>:PK) F@> -D Y8`# 4/ }PRU# 6BI] g%Y8`# 4/ }PRU# 6BI] gYgU"&#EgAoJ۪AD@(ik]tx-soVX\h[I^_飹rE b2{>d6<:f^@wP+9PʵDy,jsqӿ޾(&^zA}1 O](D`nfzWUgP[:O<]Cn?kԩPҮQ˻-OK|$iTCW2|5M.mgߜ %z|Whvfǁ<9p㬆GiAKOz[֯jzW{~t 8'N݉dm_܂Jh=;yF$JDG?wL6;(bN}W@BxWߊ^?@IgV[Af䀈4r%lJpċ })'uek,rGfU$b RP %2[2U$O@?%e%kk'!fE }xĚ\*7]<l7erF蛹PM8ԅ".l-I(i'u5)`"5/CpΪ%N/0{<]~HʟTM/iJ'EIz#ΥPuB$D`~JNuV=QF _NO2 E5t*s@*X(Д ԝpp/A(LK>F`aYܱam(2¿ff=?AԫMQ5t"'E= ^_02[t.hPaiiQg*CI}a\8=E uǎ޲vlV:#0?;s/~^W}[/zt5N_wV\-l{G.wˇۯJZؒzX\~u>g7+g3;[7?"8_u=hj`7}޷{ %uɯ;Gzݿ}ˮ'7=^@݅z݁$^#CZ}dhh>4R~.U=qQvk)R]I` 3?pIf](}A@XEdmQA" "BI%E%!$A`JZE(A@(B vlM5ɒw,..V  PmW'ގr4 aGٝ\\E,#I#Q6:)@8K\%eةo0e@lkK]l\h4j]FX=vD7!NGS:8RS IENDB`b/诿ƘrvtXn/诿ƘrvtXPNG  IHDRH b_sRGBIDATx^] |ٟ7 G-g"TP,6jEEIRQQ&V PTjC B""rW~13;7!$<¾sgg?1?Uot=A@A@ڌΝ;<8aʓߙ\;t-Z;vl.]~6HA@A@?{sѫk5Vw^yX$  PuimuKC]W=Sk>Cm   0{^`Bg}  @Eg:T$v/BѺfHA@A@;_u^{mRADA@A"pLSxI_$vf.~6C-  G.5b!vH  PW(zb7j;ނ  aFF}jƣ@A@?_~jv=Ӻ?ݶU:?wsVvҗFb'Į?BA@A@PjˋqINiM%Ҳs:-^3_UЪ燦_*&vs_]J>  ZoϾc&>X}Kv#~gz3 iHʦj,^yᒳynmV9\ E8aѭ3>@ڊny͟Ѷͺ{׷k'ŌWWYrA@z@/L3ϾӚy^5d4ǁs ?oX~pbIS _zDx'639#kK/;{K?ܽ7 D$yFwn_aIBĩ8uܺWMsfL8A$Υ?JJû&XDA@u.8 hA:N)Y~`e1?'e>WNV'\aHB:XN !8 qGCT(n 狳+3JN(eO9j w=%W\}kJpO?`r3|"E+wA@A^" ׀ ׯ[V̚\{m={7GEXjVV pr2::wAc_ssO>02%4Xduq~uG;Ʊ𦾳֛>_O^v+g=2jsor۲w0Q#y~f3ρ?Z1@ac(Ns/cᥘ9>yIVbN+Q*;3Nn&}>3;nۏ')W=O7-X5k-O\5䂄UJ0d^osD/w֫NĻpEu)W ֏H(Ts_\"a}.TTbEyBgi  @8 ~:YC1Yx%7lԨQr#N5NnNӢ#܇&3 !IqlcuWAq[D4^Xނ8pז0!&F,֡70O1uRオw<]e:$8VЊm  PĮAJJ!{[n T99)rF%'4=AcRpҤIJӦ>5Z?8ws~;O \wBJI4z(GN%v@f8k~WQ3{r5{:G[V8JhǯLî߇"vͿ';=vI[忞׿υk~tݺ5sNή6S" @FeFI8J׮ Ĝ5Aq]cBfBs:Ic=u8 Lvz{t_:_>vspOiOM/P<1k~wEdWɢs=5;w{HS㙟ߔۙJ -*  (|[nm_Tҳ?8eo!ڸ ]uOkwܟ{jWB?㱻v; MK^'M9fov%x_c< Z]pțュը5_Kony5aK??y].~לlcxQe{qj  M6zxɎ=VkK =?~j<:]~yg={ H,D>_?6赨6i 5[;Zb   Pb>Uhީm,&vygj1B۟*&1^?F_]Y,Ee^uk"Cgn=llbWN$  PXZXx; wbcǟ~AO W9#{tM!5K;s5ma·+ͥz+'   pg~_{[u7yp≐wVcįyuTq۞sRE9nњ][&  p 5Fb݇`)HA@Azx(+^i.   6,o;(/Gthxت"   $g1-'Hb   N~Z   PiU2I  @D@]  F@]!  N*cjg}n@/}KA@@$[9bwYaF;R  pDB Cejj$20 ϱnaL. bMR0~dhZyX7M&pCā!&Q[) 6caL?S(/Nj@P:ȭÄǵ3>;iJwFq,ƇB>qeNi&c!)79I+F`ؐP`$CS4acRqZ ċ0L`:gs x\ro{Y`\1}$Ey"yț|U۫$m^=ic&pF0xu~u 瀾G^rЛ0#KQ-I"vbcW'̔j-@pq*#'x6"J}r(8`ACRx!mJR04H A4"qLUd$MC0'߆ɘ%H(sdrRH޼ gn6A3*Py/X(UCc1 \@! ۛ#na&&灟+/wnL a&R2>p ps5A!8h Pr|y)/8a[2\8ݲpy~J܅dDyEZˮWiŸtDևp)KgPoA+ +W[BV(a a.B5ڪVϷX\E?Don@F H$$bw;+L ^n{Pƺ]Ի H+ýISȐ`~񇁴F"P];N/00B`P7D @V4O͒UՃ*h<__ ⦹'\dF.Ak@aA[)z\=tM9Z*pd|СQ^2y'q0<3X wk@6 m+#^'v,bA\gbx9 %OLn/) LG0+"/F+U0.:e=Gd//'D</Պh݁,YQD/N*x&|J+J$#p#<g)% 4 'C* 5 q=@ 覕'k;:j -rW0ִ刱:3 Ms#a3VV-ߔE nӠ s!T-B*W (q_5^aꇧEk0 NMvk&$k^OF8Kxh9˕XÂ%d (""|@[ZUQ`H*ykEԡΪ2\4cVx(gb司NG JI- PȷO;@0;nCk]\z;Q76T0TA !HmHF'9FH֙M57B;h F/Lom4C\y`!)fr >293]B<{ǚ%*-rLiZgFK8XԲtBaC{i4þ د"]/'&[OA."3Zs7\d+C@+(#ŎS f -\3;7Do5*ǘ_;CH?,%yǃH$c`^6ҝ\a^ڱ6v`]eTz~: UkM!xAO1<156m4Ww Zp5eeQ("1YPpHf("L=?[b]4/ T`iрkau$"4L*j-/02T-!- ę%ay%/x7Oʾ#pu$@(bljSX!\Ji&\ĂA a)a0g#BG34 ց*6ÒBlo3;k) gy@i t_ 0lndPi $/n$¨84jՑ ȃtx@e–vq_h>/bJ~‼ VooylCֿኟGzn߾ˀ\\~\>H cO4fSdʣ̓J&4P椌O"8A-xxtszelXTlnb wVXY)@f@-yEW#R[6HĸTTj1f@yɤEwla'q{l%-6#'Y?afvW_Cկ9`lx\:`3@@u<0у݈.a6O C8 [ˋ ^!Q.C@Y`9 ^QrvWx@05Gv |HG.h Z>Y~BZVګ d˶ߍj'C~q>C'6M,+CHybSYs\6b9m֦gChV&r,BymG`,6̬*d ,'ƺE/_wFc $h)BXgxWۋ$o_xDߕ;s syVicnj5*j=@m$J(s\x[E&0c=dt*9rjA5X׺5dIs W͛aԲ,퓣r:`pg X&$'4S/7czռ/^)5I}N*|p_|~XO+K4]s\9dS.ŅMサ`Ysx` ?;F]) /CݽN:1vi$KXEԈ!%, &dHkCG7zb@ǃME̲L7j| rh[mx x&gȕ+4KlA!NfZ{܎X_.%ƥyF%>3+.J}vSۏ?ڌ|)֝?I,mYyA~l E\b<Tyqň1ֆ~yy*}][h;D9XU~{6f]VnUɜׁUc z*|1ph3iA@/.~`+`ܘU/ciNi9?r~mkxXnvq[7Mٴщ*t:V7Gn_~K/ :=lޤ2ŰR`s@E/A]JBwa8zq+ JxZhJ\sbz:ք>zw4ZhC*iڲl^Be[+`;Mumu4Nk_훅j395a rue4,|A=@v;'FԜs#$j|y8ST$aH2ԋOV\a6aL|J+an [ d66[{/.nGDM!ۃA:ݷ]9@xA5Uc)5 旷UύPk/sLWrn~ üݬ24?Yh(ه!a.(<U&Cg9_ MZ*1Ӛ!vџ>/vME'G`>D ]0d<䌿}LHOmt<-ĢS[ZNJZMTRS~II}ܠ 5P~*?.;+,G~);x!0#/2{OS:B;EPIbM-XXękրĸ<E }% S!|gH)ٚ`A*#7粴+~D-&`jJP>p9yКlM!< < n5 l% v d!3xV])A{>v '^,ufs&phc'0i\U֧&7Fއvz^؞@䂡cKfQg>b[h$ MBSLl6,nܨ` -'<Qzؼ6= QX#7GLxk`^J$vyZ\Fud.[?*Rlq,o7 `(w '3 ߷@ف/N8.)jo3U6lU9R9P=[v:pDžڝq^{2OTc~ sLm>mlKkY-É2R,INRh!5O-h;y%,N+M syڭ%XhkSc7z$Gr+î Pl`(Xdw@p؜*9'poη$uzx7(v`5z``D)dC?8aкa`WtVN N)f@vpf0`<@>]ty@Z6Ag[0kjyV<ц f]D%$/t|CC-l n7]LVW"#Dκ:+zjԹ 8p_`Uc'2U3X 1OKsg]ዠ@+Gخ&tK)Iɦ힮Vb+}Ųs>z1m/+,QC5GˡQ('U1BT#| P: `ʫ$T",@xCLJ?9pB3u^Ӳ3Yٟq3T(鎶#A,l`‚,Cp#2w$ Qy!NΙfvYgKc0i`z^t:OzcϏ( ;yOD]4<N+\5|#S#Z5;w:B0iB5^8EUҺMhi%G Vr .^W?2:LߖIwψ(~2\+A0OB¯"GD."=pբO{D&yP=\OE.Cju%?L" 9&Pm0i?hQ-{U5MW}le<-0OQȗBJTV;K|;2cצgec_#.aLyf2n$CAC!PQP#u;:E y*z1cjAN^zH>yȢЎtlb|d(,rpH Idw_VSǯ -N9pu:ۺ{XəJY7Ӝނ Mp:2`Ν漂5GG.:rNЮSyӇyZw2زdĄunJ9~󯚒^xKι]1w[~Z/-OsY L}~ aeɭs.[g'*Vޕsg-K,}$aǽ:{鹌{ ^n]2윻eç.]:"wLhy~dstrus 2=MçNj^᭶Kvadz:޹/w*s0L]2+\a4hM@9}e ө T2Ø D0D{ޱPechD)=K< zc>0|fyfՁ MCxT xH>+@|bOp0wx^HO޹7 [)YJۆ!Q$G kãU)C1@ H@(x^C顕^\#S89/݋|g7AW]hHD.,}EH4StDppƳԓ!$Ҏ;}`O>ؖڪIe$*lfo.Mޯ*TY8[N")$hCQ0O,ڵ oGFW}ܻr7lʅx2'Ƕ E^d6tF&\7_0 L69n_sinT#/{3\+:f6٭JuSh%zk”ZTߎ[>NLF6y bfT]ems{ q${^5%hr'|D)Y#JgۣtVGoa{$}~X62!sV{.ͳtrDtj&I:.u/0-wʓ#8Ӳɣ.[/*5K֟,rҚus2e1c<t<"0mN!"YlHuzn'ݦҼMEV10ai94mNIORsCn9c^PE݊>ݧ<~#ɜ+~g\V3'̜f=텷` S .9e{)(? +{ջm/ڥs|GK2[Ϝ)ЯU 1GcT^r .؏r{ k~ُrFo^Wߛsُug^'sVpŜ~4XG-] {q0c4 ;F_d-#k}1b"rP8h_.>5kqd*tLP;G55$~9fL8RPVWs*ǔax_AD?៶2J[xG.vfkX0<"ya5( Kwily`Lw=@$doc8ZW1,‡Y4/Q23 kƲLcrF[^hI嗶H4U*#,:T![;rB]WفYSέod=hU.|mQ?k ƭ0~Y4f Kh@1w}۽Ǣܗo&S_@X~_N}6:xd>P$rzNsnz^=}ziq=f$oV·4-9R?h=7γ+[Wxqkgݸ ˆ٘.Ji9<~ N [~nmN;MnufӯXF _8R_v~b?ړ53yN<(\AXøۺݛںNC`?UƈWbx'ɬEs-YWwkW~pq; or7t),9sʫẖ8N9im#&v:oEp۴uf4V i~1{㥶i%g=N Eݥl+I|ȿɰ|CT'ιdpm]%l2CC[0"nlaGyϿlC -ۄu@^/Y͜)Ia+[pwHXJr8xҳ^} M\p/~~(XS4V='ب)wөe$ɢ)' N*|FǓ6MYhgcsf-Y8a|lzJ[x@A2phOBc!4 w@TuC=`Eh5 ydk0?-3Hƒa@O؆/7]q`­q8]*$G@Zţf}Ԏq>NUW[|dP7g UtW]r u$qJK 5xzؒ;~3eOs9g݌+yyЙ-)+)qv-/QY&S)z!s5ӓ}dn\q:c@r@5|i9X}-7 m.oKF\zN/ڇZ@˨}ٗӍoORRg“] &<޺xg>VF稡&4?۝uef ,ihЇ,>w[2+I;kK[9w%oy)7wxK.ºESߺx9zXetΘKS[w͹绷(⚷kk9w1 3ΞZp@qڽ%;uE/9FCJz~8̜a-5h.R3fokgz>A:gu#r妵dm7sᄡ/7G #Ϩ!@y@ Mn.|O _چ=ęz[W8ٺiI',y;(riH;P=0$Qy؝\3rq\.FWs)CIZtLm˶[XZ3RBΨ"PrYȰXyn08}2`#=T6= RP31aI)ӕ.rϹ,lQ㾩.TJU7hz 6:TGlBkDT$F hIN1gԋK 8pyw)OڻwdMvO y}ݶ$s&'{(isX|/&*w==xCj[Mh̐Z6iS4:c6V9n3#Z_ӹ)s:J{Sjuߨ$8@[N3|{.D+SNӷ[f,zVM,uD89~}?7nPjjDɃݱίAB[5e&Iu^ӺIaGWM=7No ~Z;@/IT"}ݻkj9ˍGֵ}fܯ;^CWH1p{Ԉ>KruPҧ]MvM/hؘ֣o{=WsXKu5L[e;AqhK^=z67r[P;zi .z7*sGGt}\{y޽ѳx%}s}7UeŜ6']}u9Oj}iaP֥#~wt M{@Y[wmI9S~O? @dɕ@ע&s<nH9z۩4gțs'EY B*. C@- 4>v 36Uj_4A g @ EȜj$E䎬5|拂r|> (h *[‘S~I80̖znd;?coU`G=6=RΪj9׶ՁC6s+ A׃ &C@aUɅŷ<y|@gmDF @ %Pjаޒa ʎ tSoh~Xj]9?.wsrǶ$Jt\愶7D+ r׾~ ѮV>FcȪ'Hh m@ԙSoE!aώUfSZ+쟖sSOOCC:0i][8 - F'auAāCo]7c·Z7UA=\tJ1jlKK]4􃼥4T*];Qs({),Vg e!>II׭(ѵmVሤ[}M|a&bZxy_Θ7csD9åg|ؒvwnwk_~'F T@@Qչ/͹ac12hh'?ٹc+u`']V' U99Dfj0LybϺ7J{^ܥ/e[3u>Y[v m=k*W)d3Zt[-:K-mC./Pg=N:r}p]ٺo΍AHJ"+a&iNDPKh'[zX//Y؜܍eUO&k[dG~@@YȓH?i<_Bd*(>XPu|B rpQv HNߖ^= N9x+ otfeu.ɳvߨM|ݗ}rZjr $e؆WbGKJRύ~ZiiS_7V3;Oc9O#UgZ+9\;'SΘzZ8=iLsg>msua%@+s7zytcDOJ=Q:uT6 WAojj6촒zjv)(˧=hYNlspdikd؉O@%o@x7uISf/ ` u^[veCL^+?#x\:v6~BB-zhW/徺. yې񛃛1+I@&{"IuSEj1UPF~ڎdŜ/ |L78;S#t=sø.:򮹋>tmx뎍N&෯/?.85)}ݟϚɨ^eֽbګ&/ yʨs\a'Zy7lnB䫉ðhD?Wr%QbvߵC)rfc`i<7i/ X̊x1G9[럟==P4prПps 8RIUr)1ph"b;꿆M ~ʒ(𗠴!g7:ۢI&:ࠐiy%+=E6[OVJr6)p\ũyZeybƄmuh`F'LE,Ci^0W@i]%^FrV f@wNN5 4xcيbHY]ᑬN큏lז-OIN#n=>H޹E\l7[~nQm.^N<[O1ʍ W,սUO`o%/ o7j\ĥƟ6 ~/,I[)mA&] Ia3of$-oWڂ?{$v[Hui^qڔqG!^$؝MB0}#?)m=znpgTԮ$N\.pǟEdZg/[j[^7giXyIx-[9Hof!y^B8e!ܓ3p(G3O®1v/^9o9t꯳V_?l:E*}JÔtO6f?B ̈́2\p9_/܋Znc:ϩkk~.>9w1dbrX3hKج.1Wnn_C <1;Dn=lLkw [>ɕ(v1ZaUm +}F6-g_IƕY1SC3 O|9;юQ`~y"ĥ)xKf0]#jf6֎6t. /L}p~XA030΃CB>ՃMT?mʄ@0ȍH$U@˯.h'f7C9&~ Ɩ2^,[ڣ07n}Ԝ.].&viE, dtN?vCن[:@EYq+ !wJ}gCJBֿF6l0"*)8?4<*?P79/1w/ss+sR6xtj]-Hה~9,G<9 5 ̉_sєWS\9mx k.:JdS І#/xF߿yX_:n#כ{vcۏx۝ \<{A/?u ?\C<$;Ӫu.LJ]tmL\y)L-zeucg=1 ?17$}=w[ˆ ks_^do3̿\<<;>5s̜lkjgߎՆxW8^Ɋ96-l:v ZAsE|aWi HsU߾-"E/HYϙCוxɘ,unP9;gNboBLsХ duӎ_Zhء7uQjCV sKC l΁&8xLV:Y 6Ie zòL4E(z2 ,,UHnkʩxO:%߳BTP:K1ybrP.S_zː8+-^ea+X< x8"#-(pshLȄM@~=Dz5幖EMX2~ 4ut y< 2+W^ȹބ{M{wD^ͤV8'5H_d.8A0?MM`Kn`yu7l͛E=z{́vC+?rL\XfxߢNWlxQI5 ȇ,VqQ~F>yrTТNyPهʊS~nK{{?ˆW3L'=f``w3`Zpw! 7l(灟.s-ŗ]TxIZ+Lmh[PкȰP s9`"nRu|)qDmpT#rfOV Wik^p-f4'TRf%k _~F : 23|lÓ3,zc 9#p g +Ȋ?-AAR:pO]bRr5ex7npa3Q~89;2ٲ(^iFE3 A٪ImǞf ai77&[c&,ꖽt2t\orÿ 7Z[Б.jo<es.:.,hO>ެl*v^pUo`AtgnJhO:@}Ïͺ ȿ/<ayo]s>ѿ?yRm`/=qJvʻi#g=>[ ^ 6wO~~E(F+ [)H7wDq<8<7x9yO7D\9uQMtS^2ꁋ\K)-Pl5:d8 ﺖJk_CY*@SBH9w[`oqxmN[5* ~>-7Q*֏qhx-\;Œ~rګDtw- LZaR'!g_ n&|j`.ZEi7ԴD7a&Pa-~̣rX|̩c7.9ܮŝFݞso*1 `B^)xJ1a-pd +XK-&m$eFUm2\Hƪ=C,.1^4{Ќ[.3p/TƲLf9`f^(vUN5qܢLbr',:f:DЛl %ȾЍyozuZLbv[q/;"ѕ+&j{ۍVuizF^wKWޏ}rc;tlQ%.ݩgw׼׏c5j6x.-̽`<"s@F@3 ~xE@@`(is8%ژr¬X3nz4s1OJ0XDd #Ǭߔ;g:7CjkUoj&*5 \䷻JR){Ǧm/M{-9>U{[/ {{?}&M4l;Aó9^ S>@A .Q_/DmiʿR܋Vձ{,9?R#I^B !5#k9]ZJ_BRO!5G4/7&6n>h475s(Ӝ/AuA!`*vł'lIX1iЖ@歫 mN0z -NH($ゴpԒ*Cݬ9<`f>la<$K f[ Ð94ַx֤ "+LH , ];jDoHjTdv>bke!WɊD+V \b98ү0F Unq/xW180`MobV!gie B& 'n)O( wKYmEV>vhW1HBj!o P!I;VuJ4Ubud4Njȓٰ~{\%j}g~O[<46c9!|\Ə:j5$dqd=TsZX$X?U٭Ob]TGwBƬJ~3Џ<5T@/ 0;n7\nɎ?=a}ɎKʡutjcmzLSVI02>yN輖bwq\  zlJ7EWal& `rp=Q_ԁw QzJu.ҽir#HV$0붓SO0B dѠD76H<׬40˯ZZ^brYTZ͊G23<%/Yjsy|Y/2'A mjWՖSжVeEcc'%%^UC9cHƘ z$l‡_iWl%!> &b TšZD%o_Dx.TǰCޚ£uj` #J&1,S+` ?r]/O}my3I=ǽ~Ԣű COX2PBv5M"qRS H^ w<ȿ_LThW/#P$a9-£_Foڧi+Cbb cM'_XȬjyN$A6#sS$c54Vz RZ=0=;0Ў%{H]A;/&]q^ mClŽ̄<>dć.ٚo3lic1VC2H~P?)ϳtʲ[<ީwDBJ8%!5{64-:LO0hhu]'.& зVM l|Ch:Rv%I5lּٱw 'w prL3ص!܊WxqC{j,4ڑ8Ø݉a/_a3DzmGJT2B:Th "8wس Kl*;w\lRq%yYQxI>uB"yv Sx3lu3H<}CxȲ Hq\>_#ҚM997, voi"BԊɜNgZͫ03!õɍ%u"$f#)raJ9fk(V(xTΘҨcHPD^|)> 8\ 36v¨c;O2^ťx{p >אżZzQ|Y6S%wa/B?KMIQ#07%vbA2Gl5*4Am$#]jk^_q1AQYǃ&TOG8eafnЮ#nDnn.c yȠ!3& -H<6ϰWN$?z<^LV<;H1c<{vzx50JX(ԃ,/3<1QuARk',c.eeo3@}؟Ziə˜| 'rmif?y-&,s~,u.ןg,Pob#' x[CIc섑&?Ms-3=+KD|X?;+x;MsC."-D|'ִ Y?d܅i@7:&kܘtu2<@-*[B" (p~/*yy7Û^U1`뼝mJ*`Ck<&!gJb.kZoGڬeiW? 69AwNzynBOd'!Hɬ,@A~qU?ɀ@~o- [ _z0_VW@? \F~S< I/+T#=Zp L̨>`]43r535%\fF ƴደL136gtd238WR+Ddij'ahw; JσψóT>=JsD%oU/G*V7~V{0.!uXvkK}Я}0_a'HK$9<#ul^նP$@M"J$O.X".xF B;<~ݙĈC<97-"`y+pexi=L nivDΒ:Y3yٞ=ME=fpRC?GJЄ5ʁO^"YS03cF섢E' teLV$^թ^>QdoRdִȐe|=.0}J |]a96sYc^ѴjKDžCz.ͲLB&坘܈\/|--@pGzExyuϝQ$&p>+TO8b#|:;_y=ج;oϪl@ɋLvTcYc+Nבȿ{2y_—Ki0ޗ)ÄŌK<$O4sof+Q $`m`r/&Z]ksOP+3[@yġ '$+*31@Ul-1Ұ6>KwGh„v!ds|]c`X" Pqc!o$_{Sy}f`ӂ7Q8Qt8 7DoTRanΐ;%q r!Qzފ]i;3pREf RyE^a~,jau~뤨L-kg jCJ6_p&OiU?V< 8UF=Mdω/i>9Fr:pୌ(@6~bǗI TNhl@APWfkpY-zA`ad/]`<(b=t12Q0b4WTC/fns`d($;" }xb(t\ >Kՠ<)ydaTC4 6 քFV {iQODAy>>$_bK/+T3fg,BLHG?ó[](|N^pՂl]qs98tB#ѬI6pceU /r 3jZߴt+eKѦA(糙{!ҷLP`r|91[ۃ9>1hM^+4UVq~BO'Ϛp-ނ">R:>XrfW:2+P8~͇݇g;w?qF0w^ShbӬ.(n2P|fb2djqbI$,SSb V*7fVa{S+@4u}<)[Bǎc}$x1m'$w^r.36VbH# ؽ<q-_>]P3#d"=t͋FE-eoQ bB)llOvqE'_aWJ5}Ol"ks]Ϲn) +E\N<+仕uFx)V(_=yoQj۞}Wk xߤI颷UGmB%mT ܀4YK$``qA38' TIX5c)beQ)(789d()L45Y9'!3VkLl)R^"=⚚YJ|8K)qMҙDRr K5&BXdΕ8DZ]1g ٮYǽU&*y2j8OMlML*ڦ5<&nz`odixG]KQn)(Ɗg›#bj`'\/譎LGt03\ƐbvR_MeAJ]rSđ+`_9.5sA^"`x^XFlRb%F0UF Z9({}BH}JtMozT̿6)Bym]Fh]'~:tEeFk[ Wii3$rH#ݴZ d ̕\MCWkA*Pರ_~ @V֥VtZeQ _ܳ`u9O$NS$fT8O| U͸7\Im4f6 J+_ұdak901NVn46uc] kJL<>dW3JyM>ld<:woVPw) P0C^4nzXxƳk{?OWAi*";Xgeo56pQb}uj狌T|d3܂,7Bn/ 7 ӭ L:Ù[ʈy9uc7)DMb>d6Uuqm `YbXt,j*ϋHӈ|1wZ{;Z)fQTvF նw=wb]a{Nju RW,wDVYvLcA(}jLj"f7( #=F+HsYW<&>Z;psV9b8K TNOZl7;UHw#d&bl)sș7K'o${)勷y$xa'6!~F)?fܨ@^djbvu_,1P 흘s29L ^{]x$uu79N!mo-r[ުrE%b-'#K6]"j80;0\sY-aeadtūAl?}A'f'd2]3vc@9͖uqJ8KٹD]>ʫ6;f`(SjJOPBW)vs[ti)dhlLT\Yr`uyՐUAlu `V,eAk++.1Kn2$aG|Ɠ9t`dBFr$Hm_owщ: zHs-N!3-"LUz8/j-o}j̜[@ 3tK!g'q_\G:{[$FXh'So{z-潶Of8ۖ7Բ^:E0ؤ_fSH9{ku!˄9-/8ow䏌8DܣeI ]ѹF'$T3aȷ^YOKlH+i,cmT+fe{+k+$9Nw k_0T^\Ws+0 h,#vța(R`U0D< ?JoYXdSHkdW"Jxtm#yk\tu+Vh9q ,cY%e)4*{r,$&ZI[@íXQo\-HzGGՋikKiy#^v6N7<-VW-a5ω%Bzۯ&qq%yF?3,Ixilhqڗ2g9O ?]X ] /lG+e9͈tMWب/=3*1bSe-(+r5`q#+=]6ܹn`2cHiCӱMwoa\+mO SjƕE!oB¨jIHQ_qM،0O}M"TQE-LX$& 6.l?rk)ϯ֍!V̘L*R.\,+0а:fĖYR`F,;$acX XVR'piV:[kx([Tu^y9Jns8:`aYZdm3)#*Df# hvjh?p t4$m{M4l:BM3*Xzu/2|nzl}wKqsB?PGاhZIDUɉ PNNEW=e6@vAAd$/\ѳ _Ggy|&[jĄ]( sݟ|E%o_$6&'3;xI;l&|ϵi8]9"ӌ;,ZgY z[,,+r8i? +q]8!b#{Xn_x/ݔ~_88P8S\cû)Z9:Ob%,q5CݮhV>WFYdKU:s5x]#t۱׫P 7ԨouMmfg=<1CQ U)h8ֺo5FRd{R_).!{;:0wTז 'Q!|A@A$`crC;J!:T#&4Rѽ`> /+ :NC ll@{']m?g{^}xUD-c؁U6ٯ-YN۵ZgrCA@*@<;誃שuj? o :zwJKw(IJPT_uoH[E˱@ȿS7徝S5+NY<-hOír%  p"Ψ['[ᑡ]kGS ?Yp*d'u]BPnTW}f.݅XmdiI]x P' J=#s^ʍ҆)hc-$ 5s;6S('k2F'N({k[ <9+mbhy㼉vƏCH>͗fJݕw<[]wEvlh;p/K (%poF۟thfy{VĦoC;W'UA@F:>>fGeolJ˦n7(_޳Xh  "w SKA@A@ڍ@|Rv7Yj' @GѰ:vԚjDE  @F &v  '  @-F7|{۾vk>v+}Ur @AW^ V&>v'}ͻðޠ_%p KvĮk(  @!5ob v)_w:{*'9   :Qɛx:  !v  :BCAA@ZZR A@A@!v  @@]~tm~PK_\}sqO 4  aj*\_Jyw ޏ(۰s W : T]A@Á@WgyLFfSR  "vVg3۞}Es>LuSVf CکF*$sg-iQ]ȻV{Ȝ{]AJA@ Ez+ӆQ*ĭ+}h}ԾVYc\l+YktrE% tQ:ҘbypĜlFm8c^r@E\yLgS~b9ވW)Ή.:^wTXdm{*0v}bya5qj7"~gjh9@*~8̽4QM>p4w" /KeTۙҲWMe33Pմ*,Uξp֕A^c+QgNȀr\bgLw=$1bspm2g<'ʚ4)GaBh`N:g^?K Ҕ%R< v MF<r:S)Mi([ 2(Kys.Li&`55n̓k`0YDY/T@M9R!!e6Sfqi]tСe8Dz„ ya9`ejgmǃÝcjMp ؊xQU@ު=xXj&mbIL~f|}.\V+;\RYYǁ \M2A㞶, ޗ~fcE$`doY|}p|5T]U֓`]I<gf_Pdx48&.}@#sSklƂ Ŗy&r|݄Q+%ۼ܊81Agy ̓>3Q*$A@h|]I)}O/z[Mziۑ7M'̣릾W/ Lg͈kHa .TVgw<Xpn܌nZ:⫿CUP]3Z7/]ƹ{ٸdcn.tr6܀]8VM[[ _t3B@$ G5KHJUwCQ]zL {v|icmh|Nmoq=޽,`O>m} u8I[WNiF1NEہ|ksvP/-cHKgE~i~M݀-zݔťW|=:6|xarJ}ZPWI" Ab:zcf72sMaZˬtݮz-6Cyxف* х;FiUU]  #MKcR:기bfT92'@y.ͺ*P9.bX-$b Y>CgcgdcwM<9֡82o꼞Υ+wE=l17aOulJnj]`;^$ GB쎾>)(~S7 FDgnҝ˷׺>1dM=Q=p 2S(yD]Ծ50-57xBĐؑo S7YL!gO=Z^5ƨ#TA@J! ĮRpIds{.T[ʭXa'E`Y?ɸa^nBLNcT;]ǠuN[K򑇁x*LcLA@N[ˢ;Eba3Ţu(%7{hC̙հ|ngخҠOGK>l 9c۾`1'Ob{&xl/$ `b'BH#bܙ}D@-=gv>S&6[#% vt@2GI-.R <}ZFlrWtA?4—7-NtAIy9h{}DƎt0өCz橍$Ibn /W ̰d%iw*Vbamp+cA1u|nP]Eh$gMk`U c+wn1bx5_hyZ8s1]X,$Ӂݣwܸ&%:\Jb  PW؁t'/R4E!@U8LnUv&:>ƪ.FHA@A@[HX5[}YW< ьa"vG3ćB'R  P}RA@A@*'A@A@mm="A@A"pLA@چ#RA@A@*'A@A@mm="A@A8+}ޏvg*ksqOUA@AEP,i89hD^FM |03u D_\ 'Ϟc@>~)#VTD7s>0bǨW[@n#KpE9Abڊս_AM!     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcefghijklmnopqrstuvwxyz{|}~ pX)bϜ嵫ǠteۅDRG_?xbzIڠZ0dR!jy;/87n)H,!iPI]8yi2ݓU%t5*ײ7\imŚ8VM[f)#@_;4W1O@[ )A@*@;Hㆾر1ꛞ76#k5(C_VYץkg+me!UFW')iͮ}WdPRLXWNiFtFہkss\vP/qK״C,^Q2__S7hMi8`4_[.zweFFN\&K$ @!P.j]-m-~.>S-x"h["mtVM+qm{ j}Ǩ2';\vלOj-"@T5pﲰh>m\|B.hv@-\]%1A@$v:zOQ^CFWV6Ԭ2n=0gwI7Cm?$ڧMm5ZQ<-YY]`u<尊(YY_2u@&hNJ: (jmlڪVr[]^]~8HipA5Xi6ߞᗺihZU9er+4*-X.Cݿö$(sx,㷙T=%A@25H*PRAnW3,EKu,rX;j莼ۺWzHnr[M+(ț !8ϡ2o꼞ѥ+wE=l17P= K;ƮQvrH#A@*@J57Xb#*Jw8GqhuCUKw/֫_haӦDOuOTI *85 wJE͞%U&Xa[%j/-~3t"Ď<d L}Ӟ+DySmW5.mW1ݞUWlEOAzAbW*TCv1Z,` `zb"@%{q 2hfG~FhH[% 0Ub&= 7GJFtp34jqh%iTE1۰{?νk< MJ>l'twFA SOX">gcA:G"  T5HbYڽ`wMCrUwqڢlpH]]zG Nu y"H_f̦M\PnnG($sgwW <}ZFlڠ.FL_#?M-N>`;/VW^Z' A<KEs9ߝ-va6w#KUtŞuY1u|6t+M$F|8[m_]V @]FݮO%rտtsq?j k2u@hJRkl 5DSpnMF1{`V~] ;\ywCQ/\TYgRCA@z@;wѶM1[;uC/{ŦYЃȂN5i-z?/lR]EQ66-~Qw׵I͝3: v[?%t} DA=8b=mxg+ YQt?΁=d5>A tmPEFKA@AAp嵟*  Qق  PbWTZ$ G)BҎf  @C?4Ejo|#ת~ JmP\b;'5 %'B*D"?8G9?EΧYUu0IuA7 ϛP Llƕbu1J  @#PEb4iJi)ԔC )$%:!G$i!%vHN>&D-.n 7BCIξ˰Ehњ$'shjU{K  P" <0a*jVPe AA'NٽUQ.TT Ԅ5^BLJM$ 5@0Rrp02 tAȴ ( YTd]t:PF9YCۣbspyHb5lK  P"SQrv0dSLJN~"ЭI>qmO=1*z<9iޢt$h4}14PsQ9Qrnpz]X9n3pcL@Hu>>l&A@A@Y xŎuj()lzB%jEs.Pףt(4T>X`x̼u39?X`jz|Y{G]Imqx(GTkHYެ$W)W}_0Ŗ%+W;}Yuynm˂  pd >^!W`s`@aA3ic~[' (Ǿ+}0\ ?=~w1"PziD$7`H{64=a:O.A8t8דwzIW[9ŕ ;88Pdlel|LPho-A@A@TY[?"}@p`_5Mh 7'-:FuW6sWudJ(˼E|סL˜'6*MȽ_:u}OU(t_5: ns pA {U}/תkyFA@A@,U$v}--/> _~RI'JF]6{`}.cgHQx {o>Q{(a8CحʾEO|oPN6'ꘒWlV_oso|frÞmt6': 2 DAzzO_z)l}ye;R   PUb\G| ۼP^ޗ7~g&]#i,GZ3$ ea @d/3~Hx}0^K82+&Z8T!9 x9O7 t'|| ,YRd;  PiJ`]H >|%9y^w^]vI0ËUɧ&ڱ5P򳽙#֔?D!{ǩP'H-4>S'쏩ώ11JJ*yዌ;iY쉃/N(%+XL O:Jab&]mN!٠O$A@Z)${( a$'OCRԢz&3y;(()~ 0q@.YJNpuJ.ݗ<æB*%tñ/SS cpՀOǗbns2CRՀD,W,ߥB % 9"4)| 5JUvev~Y'`fmYC+g=*"pw.˭!U㮍\ ş8ayzs #QA@:@U$v5 Cb(q#  \%ݺg}k@%CVԇ)`*K%Oh\ (eY㶧SZQY!Gt+qMMqSyE'n;Սy!ȋ\6*%I=%ᒥu# [:g}|<TψـDP' 3IJKGcB5Qr>#`Gav_za5d- QB5n( g2sTKF9ydk##jV$Oa͐Ì 1[y_OWnqM+P!ٯJ(XIiQrƂލSh;}(ky2S3e#i"[^3Ե)ਉ])4A@A"@k?xڀO:4 Tfy{\| W70Ms|!tu.3@9ҧ I3Wu>4)K8'y`Jy7)7=U׌W7m"J ". X{E_B mغ~Ǯ0Nk2 v)֕! (7[wW87b/tĮ5랆B>?\!9 Q]PvcK2V/*&  P E_hPr2BV>*O44 e],͑,ԨFfm| tr6dNqj|j&) w1gcjB&-B觉/mDV:^Ηe$ r=uׁ^l<3C^;^fλ9Tk*S8ot/j`$mYޘr#`ux\t/b+u%{2$cA@@UTM᜶#1'9c[ha`s7^1WPK'4llH.$on' ~ 5ljSXsVPԝS;9P $֨AyA;KCR`Y#}YE`g~]>N @@*Į !X(d7_-pܯx[Oq88{~zE;s-\y\0D9" ( '&" uj'G @nPrѷnVֿ ^/\SNX)o`l'artZAL))]}^/>?qM+  GxBMv‘QSjքWx܃N=^u-qHnp-xmuK=gUrhN(D MA23'O^Z}VZU)A@2z`27G|lQ3nsqsvN}]:Vyk2f>VTR__*hN#*&A@AhARĮfT|O)U=czk`ˬF+qΜ΃Jޝdb̹xAXJ;A@Azbu6WM~jҤmAz ӟjqv"\K}PoJ.  %+ =zmVu'mlmU%0BZ^kYy=  T5B쀴M4t饋I6vZrw~BeM_fnF];9{M< P2A@A(AFwxEx6v睵HD>Dbw^@խ*=m`*J@Ѩ 9A#P3ĮZ!$FQ!_Ö[UHWZ([A 5J!;,HnDHH@zEy 2"rumcYAzDMl?SvQ@voa4WpW#g*;}RaTq4 B舖2SMtmtr7[7gfRd-G@]1) \J8ɮ 238-JX3YY$K3­LAA7se9 :١'tƵ@t8!#J5;o"`0h)h pCa Ѭe|%wxœN:V;5xAx\],iP0'H aA@am=/H_{[[K%;6Ȩ#$PG$4?5g S&gQb&$s*Ds Ҩ~V4*Ryh%iTE'5cc6lXOb;靟F G8H< }Q՘ ]U PYWܜĺmV}ԙ'9N`\ؠ:t)PҴfWs (F6u~$ˉV:OPMpKJoyBXc;A6n1 y}<5.)A}bO# ĮÔ@tȾ,<78.eoX5Z4A<J1b,%®vT'Fi'M~YLj+vs6 ah}' 4l{Qr:<&F)鬉ESĎ`3i@?f,F(Kc"x:p`p%@ #!RqA@##{=)W'*2'sO[j%~fT*^Lv}@M.m>aH;4+E ;VOFxv;{ovoNgITrjtaSA@W+ݵ_[51njW+*VEޓFť;P{%٪yZlSmJ!&ZHb  !v;ZeڧMm5&Cvѡ -j֋r *%+.V-"ek{O"R%|5g:K )-뙆CVji6(H}A@jBjE7JiJ d, HۛZ99wڒ!&8!֊cy"O\ڇ'uF契uDu\XczZنeNfT 7NFZJ%v@& !c>4"l좐Dj%DP8 ! .1$VLgnҝ˷BӴ:ZtAnթ{zrY3èk_ ݸ*n"}*E9C-4^ϗchFg`KR/Y%7[@Յ]Ul+Y?. PAk?UxpXC@[~l֝g7j}{{ Yb|Ƈccf4v:mP `cwdr[ Ԫӌ\@,A@j;Q[#qs/B]#NAVہ]h4BA:v@QՉ>S1Ľ!zgI`p .8ASX2au!NƷ Cκ*3H?/QB?D= &B[U]U]]=U|kqn?[{oឌؕaP%@((c]bBA  @v;  ]b +@`/#  %FMA  @v;  ]b +@`/#  %FMA  @v;  ]b +@`/#  %FMA  @v;  ]b +@`/#  %FMA  @v;  ())Jx[*e]TqjlܺU\^~L@(+>ӇQ'x[i$C@]{! "B @(wr! D E2@@ʽN\|I] `mRb yz/gmm -j8IG~IEδRN@r +^H& P_jhyB;$2"xZݜ\r9c/>hYMM]W$sr %>Ӆ>D pr ؝o:#=^ɭ1gg'%tp)jwBM|{o?b^6Foc/X  MnX,Z,/>ӷΒ ֯yrOԠ1zzgpgG@"@`wBˣКscdߡ]={sոu Zzonۯw43-0"$/O_YHfzʲrXڳvHfGuYȜ3zc;O{jܩX5r/VSmXDˮ]<ϴ!݄Iz=7oǦv}k.jI!tGvEn#@ ~˺s$|2D4sV]bTA0K%&gObvIn_umz}^4G֙J/ݓ {=+ꭕgc+.cuNBܫf^U-_CHR.Ir,kvF#rN}+e7Y<_|=gGQN^!"V5?4& ~T)go9'3U\4v摖y#_nq-iZ7|xW9$2B u,< Z4΋|[].>׷e-5͹F7e/,}SZgFw5إ^kaȻzyUeS'UDC2W׿!}s#Wg}-ޞ LW$uԩ<쥕z=NO_K^-5t{<4˞oӟnǫҁvJsZTY}ՇY D>ٳr䥏K=W/UJn`e5-n`E;yv3BgZarHMi^83viT2M|HSWiܟZ=O^J+M@@=?9c_O;/!Z(;X@'vJ#D22@)LS}5V=vBg7q@`iGPn<={>Ҿ&McWk*"byt8C4Yof: lwHc.&I<͑(xإg<P's^D8GI2 B# ۬=oψID52$cj's[lMq6QҸ߼}Sz\v}S׵jqeۭ|ՖI,ᙉ3M}֣_##tL\7cq)35aC){׵Z 峇P$993(CS,rfùRf[#M!][WLw^fNyGRʦ D9GB(I!],D'>T׽F-}^܉!dVXgNUf1>W-X\g~,I .gd9K>['W2;/IjD ؍-qz\UU`ɃSrR[f=^#本tP_df$} f8RtUsMWj^gƊ,z9E.oK&RWF$h/V8\O.[tܴ$qߺx:lW-Wl\VL\t\g;"Y@3,ʵN'W@]}٩gtR*0 /9ϻ ks8O9tM3_O"d&S:iҟ]Nr\mg&e{Iɻ_Vok0Z3jMVgO[{˾vԪ!Z]K˖yߐ+PuVeym=$-ؓ?]S_@jJm->3]RQǃ P?_'aPX*PWHmvt8Q?JZ2uVc}g:"뜷Cݦh5:i3}Zz]ܼEŽQ5W({fTtz-kHg\탷KuGoy<ٽRN 3f|XT,S.e\y;9}xv2Mv]cȾ5)ݧbޚU\dWn9(͹^duT9t&Utj=UV[ݯQҢn$]IIdRCᶮ;ZշZ\'";n_ѣGox%[?kv=5v'h_-e[L93 U6־y\50`*cZ6XS׳x^pcJOwjS͞t.ݦ99?~Lyu: tki,Mg.? /;sM.__kwi{Q-znCi*{[߫3KYs'dWM >['by5jrIa^yu֭{e+Z@SH $t6Gse}Geĉ300JO"wC+KDtI3VZ?lM6{~f?ԱOݝg/kw)\2"Eߢ)˧+LK[ LQ3`:7OT>&?SBTTpI{7F=!h/y>1Wgܷ{2r~󐱖|KH34-ӫNH|7 o{SM׮2Ÿs] | d}?;{ù@Vn}Hxu~z9M ϑhUz]*Mo|^{s,Gཱn8/pË/>묳V0 .>s 6)躓cYI=6YfgNlr6w=W,Tk5E5OTu_pI&jSw{Z&dM^+xtHDjYVq]FdWt9ʊ-;V7;ZT.߭˼3'3~.QmvV=^n]U|.w75X[j/_MT(f4 MpS).>`!}:S u蘨^9_e_<9'=oi}W?$S]Kxh0Mw/O}rb'M_!%w^|رcۥdOSHk<]|=0ȫ+oc,}O|4XO-$׸R U]eMȭ 䚡/=jO/p9b6n@Zݩخɐ6eЗ:uwEUjƾzK=fW:jO fR{<yJRg~MsvUj&f7#,N: AU }DGRܠxn.H(  y9 {v܉rUR/kS!O5k1w*ї>$M+o[Չ'aQQ/kYԇQN҄枑ϋ!v)hސyy>]Q|#z#v B߽Qtbz,u,HŜ-rxm7s궠iSag6Gt+z:#}J[IU?fϝqGTNGŠkfs8C٢LZF_'aѧDnts%eQoRBO.%x^D{}W " 9JIUv<RM$@lܺ뾛âAV}sݗ^G_ C׬Yo5 ]|w.ӇQ'x[i谤D@$5vyvqvq ? #UT76cN[ꉹ>ㄆ91$ϼ{JAu+{K ;2ּMG8NEJ8q' u䈳T[3>q-n#+.B @HԀuJM M]3zkDM5/s3־Sc]LUB퍭֏ڵ?@Ȕ&յjJ#O<#>&e_^=!XC_'TO?d0ߘ]=K`?QNj E(X@a[ϋ߿oG|XOTO[@pۧFϋV77YJΫ|ŞP/ fPvhi?v͝I!E#@G w9S-Zmܵ}۝3?Wk+T"O+.Iq8Y׶gU{y2I"> yrcEࠩѸk!ZVsKAOe7JJĩep E ].;Oۿ^@$:hܨzswKUֲ;EOŦko;VL]xWOȟ&}W)ź~Ġz]geI.ت^2~BfysKoS &T׹yv T95ؿzT-.nOvyG6pQ[@<$L\PcL.eI2BR9tPc#m{+w߻zn֠࡜?t׼}avI :@RؕrXaCaDs=ß tk|7@$w';y/3[u 8>y5:.NkGg~G%wmj[Қ* ED.f_]X{UcBb].k=^՘ثw2k4F/u,l~MPIDATDoloW޵yr@ټ .hu.פͪ6?տT֮ޚرחɮRZ>(7z7|)f}Sk~ HЙ L-uq)[ſw+Vur: pJ@K@Vlkk`yU+\Sڶ4 Ǐoiio]*enٱ O{m3.b@nE<\eVy6 ví_/ 0tSQ ڞvќNTG4ttvT*48i A@"wxendS?p'|ny[O]ͼm~'&%݉qT@G[֫*$E H|gk_+(=1]C@ N; $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  (@8i2#7OvO{II@@1[VDe@@ ݎ=@@ +2  Xc7t;D@:ß*>:O|h޴G}֭=%q=zywuׅV'ʿ! E ߵmEfѧ0yg>9.w6nO_pرc˦EUȑ#}뭥KdfD`W.;# P?_f1}2jã_{}?|QnիW/_3|˿Nf͚+VDXcŖ4  W^ՉEZ$ʫر:kDu^iHڕvq@r;0#n[7ߤ$+T o >N`WСBb@@+~ Dij{s}` W͗dT^%ۛEJ?*jwS]@(_Eolۏ޼`uzE6o1n}6@b@DH"k>zϽ*qonQ/fF`74vA@` {Ms_—ɯmuXtw/aοeo=)O<+XyKtZW_1QP Ŀ y|bI`wb)@XJ2dJ\},nZ>|i5ruX+CZh/?uJ2lUȀ])+nԄjW 2zƱ_Q PǼzwJo]@(Gݧ~fVnWˤ\|vyWe9mۮth:آ3;?ӛg;뮻o]iI:nۄ&;_([oU٨lR2@@lJq֧-R蕺# 5uξ+.Oޤp\}@)砠JtςnijYuwɷITX8 q= \" < BI :#!sU_]֤ ز``p-$eR[쾠sꯟ0ؿzSWm;$,͜pwp@W.K.,kk{rl.~ΕFcU3,OS¹3u$moO`k; @d4ӑqCVoWU7s6K]+o- ʤniOm _.qZ|p{'=^Kީl[[ⷂ]T  Ti d\y߾}?UHu}+[U1nm?f%۷JjGdv#!r\$%HMW/'vg7NmnE`L6(6j.k8  PrW_}ٽ+7:Qmmmj9[ZZ+:! q 00# @if&ʦ֥HAm7 솀. @I~2h]n.I}"MF`W@(Ss8w{^iƋ iH+v)k~Ժ4UH]n8㌃|G # 0L~xQBä}?zg>9.wM6=ztxo۶ѣK,15~뭷~_^ve8۟#K-@"vr4JOsFC_6l!cǎEI\idn̘1_CJ`W=H@@AW0a Ljk8@@xrԕ|;! ~YW> @@{lԑ@p'^EX@@` d+5vì#.  Ma@@aFiQm@@ (@`1 ґ4@ @@FH b'=  Z@  i]^JIENDB`b.ێ[i0/` nێ[i0/`PNG  IHDRHgFsRGBIDATx^ `TgBBxC"(!5\k#IM[Gh b5i+,FO#mH*J,*j& Jm"j|QA)njEd̜$م3ٳsy7'}g8<c9fߙ@@@@"޽{;;;_zM3!_cwv^r a    пd^z{;nolZjUݖk@@@@_k+9.|pGY    O yS_z~:     pzvoSwH    I{sa;<`30aש;<    _ tg]}Uح|:   1OHy)U/@@@@ |Aw}IrizDг߯,^á.U;;o;1BҺwys\ha?/5oy]ߚ.?|lU`a|ھD W^kݷ:Ehm;gಇ]uٚrj_yCE򮺩zf;yGO鯏i[xS/@OтKClߝE^|oJwpS9XnW<' ZU/?@®OE.vw0=|,Z~{2?/x!jxz7q-a^׾*G}5k\f|<Ww#7W_lS\u<2otCmzNN_obo[e׏ h @@/;짤Tu?["CX7Ly}?oۨ &({O[kk1 go +,#+GUv|+>{iz]9-XmR0yE|ʒ{vg̕ew{Z O._\ug=_nJNzߴTU:W>Zrv#Y͗[jW9 MHL92\t$;\[dRGkwӝ9nxfñ~ sS3/%GR&)hk>vc81iHџ#ݧo=TEdVgHmlB;.9|i7&gٶg߰ɼNתeZS\mZ;oG?ЛYqN憝~W    g|i;[WeI)ml?~f9%RLHHutqM&.cNk|[HO?yAw~SyaQQͤ:=ǹӺ1vO9n=yso?*z0͹|%ne[cE^a^z.-ck´6{f rK"7oZݔ"`qEC J9ay(qFQ>}ˋ*'(K2 tlm\q.rmj)eo]_M;'\wCCCQr    ܛ0,/b !C0x]/9h/3]_yrG9QK:xaԦK;B<X47v߮4΢)Ыd{ws?߿J=O_1=ӾgwM/~؋A@@@@ 9p6&75W/:rKkrtvEۨP^=1k f/vaSnu"^ܸW='$m{y?rpVJaW1?=4SU*'G=abc1CQTcqYxGZEgF;LяUaW ®*   +uuߛGT񮿯}\j[~Ϟ{>gf*7>%ơ588iÛG mIIIS.ÇSnz7e mCN?_(y}]#}5F‘|Vcn1:-=>*u    p,N ;x oxLAG    xk'љ1-JZ?eBI$a@@@@ z @@@@ 2 @E*1#CL=dC[um,c\Dc   VvL{w1(`ȎڑsS+eLc'i+*QCֶNʯ}OFv=vKW-"SA]{greml’-,$MVbK]e|ңJTZۘ-3lPv+cFb    gvY3vipA-Bs7\oI=q\V]%]H?e)Czmì_WQ6/SZR>̻Mehmj,Pe^AwVF@@@@dPEd9ѾM6hR<՜]f=(bAV]Sw#NH}M˟=w{͏,fٕ{~۬1v}Q<*^>! qzz3ǝ`"me腊c\M7 S`;;opAmz|wK<=y   pB oW :.؁3(fZ~DRO|EbUڅW_o WI/\a )AEӂAD,";af;X0Ur/pFU4k M6ζ3A@@B@q'~DEa%ZRͷQ&v`\lg~L͕߁})>.qqyƯo_Ў,yg&Uw;w2fH!}tjgOx@@%P/IĒѯ"P:++x ϜW`Wbt3OD],==+@q'<9a3A$vΉn1w}`G;1u9&?]&:*G:4okv3zEFA@@ ;3wمN"q'24  1Kǝ 7;٧ FFbL   NXo    xS=vYvu^a7@ʍY&q'9607g5v#y.iֹM#]g5{30|U"Q\ԠNGeREAZ"mmja/@L.KT$ϾJ+&h]{ KXld[^z}f7ѭ9*\#WYDTܩ65ӝikSyB]cD;}xg{޼#ǻ9feK`ImY\5po_<}3e+TfiJ(iuijڗ.Z:_tjsQywu4N3f{*R*lͤ\wt8p6A@@zM 333ȺJଢ଼ǒL ;2pa{@ Vf5Ma'%w]3:Fmᚼs"wsT᳌[g[蟔4 I(wawF   !"#auS_-e0+9VpXQ6kڗT]h)JhUPtuT>l3׼lAkUwR,)9:2;㲿A@@@ LMkrЄ̲fmQԑmdSSE;V [&/PV]{geYIAJweZBh @@@N$͚8ȸT&,Z!]-#W:,c\VHr)&?6d1*sHٸlsvvR kɸ3C'g@@@@ 4NXxBT0Mʝc5I;0;\&%7YK7l1I٥!k؅.ZINمcݤZ~ڜ OGUl0FH,^YVZWg:E6]/@Ga|+EF}o cշF2 QQkӻK.< 1fmM%ur.?`Ő-T4M<*Sa+Huj@(? C;x%uM.kUĊj;C/ `#ޔslX#}="8.D Kα48_}1(αcF^7!?30PRyD°@@@@ B{D(NDpaFH WN+yK˳d8Κ1$*leֶ(`Y*RSM#]۶eMK r얞Cmb/!Y2y@@zLdwc#Qd0b7zT_Y?6; 8KJ^B0X`'j]-\&Tj[sݪ,-Q;fkVS yLyQ_ȴ uRBQ&,#3{X VX'yD  [cs0#A^Kg GMl,64Nm L(UAq %4$sF-zСКTHʫ*+f^C$eIA*Rޡ 4K:d;j"ETQwT5@sI4&/aq`{ NPY[Xݯd  1Aĝc8rZ%#-SC8)5\q1bZ\ҝ~'{3tgQCR)U8 \k.MZ#m2J0XZj]T#H#56_-a4@ ⸓țhQvUikQVlֆyy2; K8hӜd܇ŻQ~)^5[ H)YE ^wi _..gцZSS8 .IB2hi9y!7 AdWq߻>  "7˘Q}T\9jB%/dYc'¬b¼l$ѣ{BQDP|ftI[3 &̫R3,-2k)ׇK {vB[>yڴ}''+;C7"lu)#:baOh1S1Gaf2y@+l3wb'&MƻvXѴ%mvBiڨAq}E_,*]d}zHjQ2$ؚ:EВ+49v+bTWk+t]E55 WQchQ m?1f.͡XbJE]%ƼP"<((  {=vo{ jj5HH{\,+O4=B~h[WUM[ gğϞe ʎ:rmԧG?Z_^n"h#s{3QjZA=iҒt;j]41%05$Endbi\}M.aSPaA1KR66o^\jt32^>5_WBȋ!-{,XrJi**`59LcS5vB-R,lhatg=3 aSP)'9\fj\i =uouF i\f.ʤt?Xn`OFRum4mә#!s3x0UgRmaGj#GljӀwzhOt 5δeC[{͛vΟeMaH*EdUi"×; +eE(IP@ǎGd~ |zcZd{.h,X/.«We#[BQґm;c]da`A/dnYNC$d YS[EFK2w2RSN0;t   Eݾ%,j^\bSMM6*ˀnKsD%{-wKk@@@@ yewZ>wN^7&j{ kUKQb"N=n~ ?Ӯ;.C+f6ҪU9w\r;;g@@@@  hftwr!^SKF9rѩc-b\@{#TULǝA'/˻C[/)vt>MR(+wuumٺ_裔>pޠE2U)f,^fjltJjxR^ҭ߁ 4T^H//XLMQ@@d0PěC4oFvTٜaf<=Ӆ3w k9'y,;m!m(1>_GQ\fQ>w ڮo3ڇ~g7yҤϚE.#ݤ XWMW鯀uWd֫/3yMԔ鵧#^ȪVU\o=,)>Ho`-mu:JƩ/Uc^ЪY˿1 ㅨi.<,b\[g98.տU3qCY'9l+  <x㍃55t!I_Q,25FBw| ;LrO|4 YIǮQ_ Ԏ",V+/A^'/4 ;ZEON'`HYeCN+ --)))i毎;3սο (rXaaSF:+ },`0CM%N%4ֶ搲j/?H:nEh5 $aNb)hUNwie \E9ՅV^|輞Ue7%%>6&f}; Eq'e*7>`qw_~IbnJ_Q-Z~<EDS'>2+y>5vt6M #C|c,m9Lǣ .yqpLkqzJ-U)~;;Kڹ[m}rFǟEߦN D쨰ME~Uyb:EYg > 'x3::9f%V{wIDuCw6+۶ڵL={(I:?.f+Rl$>a"D([%cC0X?e;U#JHg fE*p'O^RB9??>BEtKFw(]F A@ J؊7슍0@@@@D (H @@@ @0@@@@ i#UnJdYŎZ^R7)vd5zfEs    7avB04BߵV9LBDWw ⨊}gwij=bopvA@@@ )o]Feޢ:l-Oj7x\̚Y?cwţ־U=)]lú69׾9ܓdXQʹAA8(nfyJglU"hv-uebyh|+Ƚw o OҍGZII7QO=zۏA@@@ ':jY윩Ӗ6q'E,Ǝֽq޴rK܌oP[MSfy{+*=r3}3oW\C.wβÝ0FC8h @@@ MiqϬI[6)["Hh)[ }cs6=d_Z]Sj- wEn6JW-ȯ]M,fnٴ!!c|QqU潫!l    G \U13oNț{ZckB)0jUz[elw%ґƝ|-ӮaUNBVW:|@N)^9c*ڸH5h-uNN\笎Hl/yQtAfpƺUEufzd*5W7&K>֊G)U20>]qxoP+ecRX *z@(Q@@ I5׮fMe e@QS:[(,L-W]OF?\t˞3粲JiXUԞU^:W5y H2jɇ.f+29|+0T5I Rv^}qǖH#uɢR߹ݪP+ctmg%KwJvEjNiL VEMkC"niZ\Qjmb4wEKvť}c)C%` E~Xt){Tym\V+e{CƹLǝ~ϥ-$:>=v|Z(Vjgk"^pS2Zݡ@@BD F]h%6$yD}Ԩ1(*1So(V,2M"gk~Eٕ8dUEPR5 kuC]Bd3:0k{ݚ PMwskrz㨧r:DUp?   "wneۿ3N<>(i _~IbnJ_Qc+xz|םQEk-|*A?kxTzrL:r(<؄W]d)Ҷ~*1W_\E9]k]~Pv^i1?Р65ҎG®YDYwx9rꩧ NN>t6M 2XbX+vse\'X$0B38 rp-tcݢNQⷳ,s{I;a?.իn:TX#?E;4&);&4<>l*MQUyb:EYgB #1  x~-ԼK%ylrsucMZHswWw㮯~g b'c_J;r} %T N\v} A4*ͶMFeQrޥM6yUM[ͺ:=3鴃.Df@@@_Ǯk%9NwڠSE>%9^˧&ǛS|xʧ'iY>m9˛!Tא/,xYke FPzȂM헏)9^ "9..YXqƬTd'.,x4gy++-[6~O'Kɬ6deb>,GoDx⺎EÆ1@ϱ.nݔB=DOUJYc%9+۫ɀ*ʻu7;:`YبY+xd6Ir3w:@4襰cݝsPSF;ȫGO_Z/,,s6Iqq3E8sTK85;qk4['\^:ڶQe69mr2遲lڸM`Z @@@zFvvzDf]]~.cmgUx^pU=f_xqʝ$YwǺJ.# (WѴvQ2Ԥ7;|&$ PwB*_֮RY祥_yGgf(bV, }зZ$@ Ka8z{|]QӷyⳃuO6睏g<]%:~n~5?w߾{؋sS飃_w.fƯZ( VP-⧻e05c)=wQV.ǑF>|gٷoI~M(7 ]U禒QTJ&hԐBRV4lLS2'~dkR6Z'HD^UCy*E[ G/ع@9荰Becu!GʃT2;S쓳 *]I-.Nj K sY5io "Zsޚm3X|GsW-sA*0gzs11-[͢7Q̠(K!YX4TP@95'8ey_H= iƏ׾}C60!aH< h;xD*e72ccqO#eWbb+LO*iI㔶TZ3 Y{Z2ӝz]G$i$]1zOi*WnX>޸iRuq93DeEFp.DM칊~ :+*%$U׿Ƶ|„Wm[>)Fp\'ss&D,e}Sm, ;Н2vaԅҵڬۀʼJ< _)m{;:Fg2lhRbI 4t3E_Q=rgS##E&d"Q"cCu#gթ&{^~k[nUռ|q "92іS5zOEڊ<$ՓhbR5;k&uHrp=i:Am5AzEa [TtWVKMh @@ F%&%sGvk-ĄIk?,ytwHwaggOn`dXۘ;xq g$kDv$dc>uWJF$60%$(i e.( V)KAC"qZwAI)%D:dȡChɝq?DK#FX]JebNR}s6Ȱ9\YCN!$U_#']!5!"팡XSMUvZLZ*j鴂7@*{~~¦5u>6fG6@L荰H*I.(%yfE1-;8@re, Mv2;a,]n8Oo*^"g~YH*mȚbLa3-ř~_V*lG8űVW\r?&2Rx #C鼴m۷>{ԑ#_9zTnC(lWWrr2}E|Bg3IM:7;qfILe* ڌAG96Agpꗚ.'Gs+Cw{ȅz4da<_xѸ][u:ϏN:gˠ4_: =x9q"&u  sz#쒇∏~&៳dGBzT=pw)4rL:ô~9p)Yܑ9-KϜ),ryЩSL6(aJ4AY|4um.=J&A^CWzxW83ϡd*Hx rx'Lwk}\/]III[nXǙ) ?J|#KHqFNE]UC@x@g[`˯\sJcg:qOqXkCS\b\xǎkKP,S:v:sa, riK8-e᠔[ TF@荰4-R؉c,) xЄgK,c׃M~SCd!'r0TͲߦݗ71P>m,l)J-+RVњx/}c}ȑSO=eprCܰnWT@d'v( C;d~Zz (QS||?rMWuKc{$ꑋ:^Zgv6wN9TmPvS|Dm8Lf]EYeV̯abi;^nReF|49jJKI#KՒլ، SBWl3wTͳbGmn,yF{ C^ݰu_CmW7~3q?P:rowkm2-Ka[۬/STI(>(_MY`?}un?"}2+ăBe+?G"ifdACzaݐBfwRތ}Ao]Rc]g~!X%U Mg2b^fAN[%@R".?pdW6Ž_>;N,8ezӅ'&…]gg7xC5>蓔_^x!I_Q?|wbpΨ}BFՀF_4E/fk"z7F fa"8FWVmXEVWGHoKP3BQzW[2asW:]c\V`ҭ*aUfEmP ũ~B̋6)\j6y$Xٮ"gkFNXJ;J;m,Hժ8VU'k|qU:SҤR[$leNjz,ekWmZ34d3>o}C @X 0Mdڰn :y@aK58mnmi/4_?ԟy߷I_QtfZemOۡrEZ5֔_^S~nx{]*Hik]+C#ɑSRŌ YWRōOwהߚ-ү68-CjHghzZBL&T囫ʦqBդ-[&!;/)iQ)>ª*PDY,*>yrU*64.jVlr-iM!=jUNS^J5Y-rEFSS%5LliO=녣?<Oavߧs+In]6J7ǯǎg?ʱm6"#F!qc~]9;YӖ+*pt=c-$mh^$~j.Fqr!nmCV~q#>=H2ksU=BܟT*YM#sĬ=NISVCu^vEk{yXM7$᪪jK ]5ekk'yѭd爾P:N5kSh3$U5,G7õsDqE*F+X=$^8ȧ@@m}U[ꜪN:eu~=vKWINg[+Oˋ*G|$ػwol>cHR@T}8Ow~CKbpʯ|fxҪ3D@LK"VP%0dPic'-':Ŭaߠ͛)Gi1m>WڴjM䲎FC7'59^{9/Vrw Ѭ)Ezd@Ӑ%nZ藚ϕBFVs(KktidRU A,faA A J Kعvgph~8_SSc0Fjw_{^`NJq(Vxy֘ t]!WݭESCi˕0m@uޟZ\uklƷ8Xm-IeO~O>ZTvL:Kc*Y2%oډYvHN`„ }ⲲS\QWkwE[n!жAEY*ʭWWZ/#IϙQNg؊++_PGvGlbҸ,c{9M-}VUGXz&JJ{|lzU'D3h]@@@ @tc   L.gc)v15,@4@@@b]LM7     yv16"aSӍD3h]@@@ @tc   L.gc)v15,@4@@@b]LM7    )V9J5xKM[aeaڈEەۮb%{L`K4     0 ;Wœ HJ&!+|ҳ]6*#5%Y"jAY͚ԂAB    'kW[J;~ƨ\y.dS$eUGesMuf-?0@@@BDAx<3~$}s@KK`mX5ƹ*Yvܵ ,yGM֥5\Ӗ-_mȸGe⾴:"æao,KQ]wZ김[N^45Q׬    @ ,.Rǥdr6C"EBl}oZY;ٽO޸(Z|-NHYQM9572zqE,L'   "=uw]P%?_9Ė-ۯjI,[P1I׈عrݤT(   @؄/wrsD;'L9%̔ʬ[YCɖ7nP6w.]O/OW;klN4y?G;%u\I0Qtv-9nKIcFr*WWAK\ґhɎZF(\r J=xA@@ ,t@1]Xf+da&ː*Jх"iR@…) e\x3{; Pc586/6'A!)4   O(6aI v9XV!J{ì1MJ yUF+2Q d0͐>kO_g,Gdr͟5;~䎜y搮XrUw5t   pb @؝Xћ*TybfX#o{Jlw;H{yyY'i{6cՁSma^ʪwC©rؐk_qAQ_}weïXr  QO.i W>_ky定7JI!ya]w9R}峯KڞB] 1\^w<@Kʽ!A~)olL͕߁"ƻ64iﱋA@b]̴8~b)-UZ071)yn[rұwbiݘo?y(A(\Bl;'ݕ08qv^ެ/f  N Lhp0>!a3SD;ha@@@ f@Tc   N.g%VM[J/K@X$p"]E\6r41~EYrtsD1Ϸll*[\;Ei#UnWyGYM˼X|l0fH$sHT]7lOI[b/$ جƹrwkr,eznrY'y7*)ͩʒF7O[RҨ §d-ffԉ9vMMM'u@@@J 333H(Jଢ଼ǸW҃I nsɬҍ,-0Րz3zvl^hꗺmZ_:Z( @=v yWu+.5y/먜S&r!*G=*-~.:ki.7bRN4Lp ;xLK)n,m[hHn5[Fenk_d4nƥuZOMV/[XecNsxh@@@@#uvJ]{k7Y5y{{Zm# ӼnfNJw( z.r9    EqG*Q<Ԥ)s3vO/;Tax 2Rms$aףqJV&+ۓTCU ;%`QêyVYqxʖ:iK 6oF    ^'Y"6Y5)'sgU%1م :DŽ^s?N0Yz޾OHuSq0g|bf8E%gK5-|   ]NKF֛2! 7ڝL˸1vE r,[{X;q9+ mװYXũ=zwzx{rV٭/N'$p҄:չm6XpUVxmؑ jLu]I2#p\{Ɔ{V b:-Y]8[h" I (>I-D98"h'-+1N8Q No %5v>'l.̂aN/u]Ys͝'/) u{βГdžT[Sg-s,`&[lzEӡl›ړ ZsC{@MoG]{OΞtY{MeviqԱy<D5g$ ;)>|8==Hv863q݋=_Rb΢B$l3̤y P"*6D?# I> Ni4Eޒ2cHfi1qGjM^놨bSjNBT[=n;G׎|qH ' GO4`͛7;vlڴit^鱳U@V2V)R\aVfUv0z mJ=Cf04e/ EcyzɫǥY'jⷣfI/_"ç;5]plm <iIv<>dȐɓ'֭!4OiQVUةaFh hV?+{I %P(k>LQBAWg|.oG2JWXSNݸQuu*e03b5{8\I/Ugb4J9Gg@@ 6 HaDl>$џѣG˯|hxR]ju$u4[DW{ Hn4tP=ld W OӄSͲ@MNjMB57oWbN_O ^Cb,5O9v#UdId7 /$#DTOڳXW@FgC\S=hE=G)#Gw~  &vx tR9rd߾} | a<n[_ń80%Hmr-o(BΨErGBS6 3M~(EYuM5׼EؽikoeE3)6ڑ2%)GeBG2Pf;ft_-{946,Ԅf n6r H8!TL&ag7@EFO.;<:>裝;w~嗻v]ӄmO]Ǟ9Ygv EHE^%,8VځxKS-ҊyQBM5eSF2vV={&KݦF8E)w=*9:"oܭ#k6zx$6(xmF8ҵLtF]O=nHv|}\v]cG)--|wDry<ǥv~bO@Z7h[Ͷq7 N.f @葰hv@@@ @#   B.Zfyv1@8@@@b]?   - e&1'aD hI@@@ @#   B.Zfyv1@8@@@b]?   - e&1'aD hI@@@ @#   B.Zfyv1@8@@@b]?   - e&1'aD hI@@@ @#   B.Zfyv1@8@@@b]?   - e&1'aD hI@@@ @#   B.Zfyv1@8@@@b]?   - e&1'aD hI@@@ @#   B.Zfyv1@8@@@b]?   - e&1'aD hI@@@ @#   B.Zfy"x^j<1-p,[N;o89+Do%c\ۃI 끰qK!@@@]L$   vx@@@@ J`]L$  DvӮ< wUtuꠜpV\gϞGS8$&&9r֬YbD ,>>yoNܧ"r_}kkZ|yA7x#>rg}˯m A@@ ~ϿsIiI%^'rd?67͛wꩧ9r$g* >ŋs= ; -ʀ@? ّQ8FD H㧟~zԨ:/FD 8vcBatށhJ㎦Qkc ~$]O<D4(7=bcѣ    ో}   <0JN-i_OvHK{ %D@!_iмrJB@sڶ4454tw7d+[%cӦ,xG/ e-g;D&%.z_^|:H ) u\W=r`vq#8|۲>%ԋ®P@@j/noཛ_nZVٸ9.לq>0\;r~R/x}z{~8"(@j3N@XeU\~y{ڿ-/&ֶيWm!q[a w%~#:m]z.9v_l@"Ph^蛐^vLMNf1ڹ?}vU:_e[.++[p!+H˕=D.EIлb,X@CWc@禛^^v|wM >q=)Bѵ͞m ў1^9R>їekbUQz_ć|æoJ CgG.b~a@_+xIicS(Vճc5c[%g;v{%$}:4&XhD4.m觜rʇ~6OzR=OA ؠ~br 3:O~/oR?g=ѣG̙#-ꫯ6lpWеWAم    ~p9shbQ7\`L]t)?L/CN;mܹBE B -[=\k@ػwhW:S130121NIS130123ck[S130125LUS130126up[S130127ؚS130128mlS130129^vS130130egS130131s^q\S130132CQlS130133uS130181Ɩ^130183Kf]^130184ePN^130200Uq\^130201130202WS:S130203S:S130204SQ:S130205_s^:S1302070NWS:S1302080Nm:S130209fY8u:S130223nS130224nWSS130225PNNS130227S130229s0uS130281uS^130283[^130300yv\^130301130302wm/n:S130303q\wmsQ:S130304S4bl:S130321RneꁻlS130322 fΞS130323b[S130324bSS130400^130401130402q\:S130403NS:S130404YtQ:S130406\\w:S130421S1304234N3oS130424b[S130425'YTS130426mS130427xS130428aNS1304298lt^S130430S130431!lS130432^s^S130433vS130434OS130435fhTS130481fk[^130500S^130501130502ehN:S130503130521SS1305224NWS130523QNS130524gaNS130525'\S130526NS130527WSTS130528[KfS130529]S130530elS130531^[S130532s^aNS130533ZS130534nlS1305354NS130581WS[^130582ll^130600O[^130601130602e^:S130603S^:S130604WS^:S130621nWS130622nтS130623m4lS130624s^S130625_4lS130626[tQS130627US130628ؚ3S130629[WS130630mnS130631gS130632[eS130633fS130634f3S130635!S130636zs^S130637ZSΑS130638ĖS130681m]^130682[]^130683[V^130684ؚx^^130700 _[S^130701130702130703130705[S:S130706 NV:S130721[SS130722 _SS130723^OS130724lnS130725\INS130726S1307273SS130728`[S130729NhQS130730`egS130731mS130732dWS130733]yS140722]CgS140723TzS140724f3S140725[3S140726*Y7S140727AyS140728s^eS140729upwS140781NO^140800ЏW^140801140802vVn:S1408214NsS140822NcS140823US1408247zq\S140825e~S140826~S140827WfS140828YS140829s^FS140830WS1408818lNm^140882l%m^140900_]^140901140902_^:S140921[DS140922NSS140923NS140924A~\S140925[fkS140926YPNS140927^y`lS140928N[S140929\\S140930lfS140931O_S140932OPsQS140981Ss^^1410004N~l^141001141002'\:S141021flS141022WS141023D~lS141024*mmS141025SS141026[lS141027nmq\S141028 TS141029aN[S141030'Y[S141031S1410328lTS141033S141034~lS141081Ol^141082]^141100Th^141101141102yw:S141121e4lS141122NWS141123tQS1411244NS141125ggS141126w|iS141127\S141128eq\S141129-N3S141130NSS141181][IN^141182~l3^150000QSꁻl:S150100|TTimyr^150101150102eW:S150103Vl:S150104sl:S150105[U:S150121W؞yr]e150122XbKQXbS150123Tgjl:S320311lq\:S320312ܔq\:S3203210NS320322lS320324bw[S320381el^320382]^3204008^]^320401320402)Y[:S320404|i:S320405bX0X:S320411eS:S320412fkۏ:S320481n3^320482ё[W^320500ς]^320501320505NN:S3205064T-N:S320507vW:S320508Yς:S3205094T_l:S3205818^q^320582 _[/n^320583fq\^320585*YN^320600WS^320601320602]]:S320611/n:S320612320621wm[S320623YNS320681/TN^320682Yv^320684wm^320700ޏN/n^320701320703ޏN:S320706320707ci:S320722NwmS320723LpNS320724LpWSS320800m[^320801320802320803m[:S320804m4:S320811nfm:S320826m4lS320829*mlS320830vwS320831ёVnS320900vW^320901320902NVn:S320903v:S320921T4lS320922nwmS320923[S320924\3S320925^VnS320981NS^320982'Y0N^321000lb]^321001321002^u:S321003_l:S321012_l:S321023[^S321081N_^321084ؚ^321100G_l^321101321102NS:S321111m]:S3211129N_:S3211819N3^321182lb-N^321183S[^321200l]^321201321202wmu:S321203ؚ/n:S321204Y0X:S321281tQS^321282V_l^321283ltQ^321300[^321301321302[W:S321311[k:S321322l3S321323l3S321324l*mS330000Ym_lw330100mg]^330101330102 NW:S330103 NW:S330104_lr^:S330105bX:S330106Vn:S330108n_l:S330109'q\:S330110YOmg:S330122Ph^S330127m[S330182^_^330183[3^3301854N[^330200[l^330201330203wmf:S330204_lN:S330205_lS:S330206SN:S330211Gwm:S330212]:S330225aq\S330226[wmS330281YOY^330282Han^330283IYS^330300)n]^330301330302W:S330303~n:S330304twm:S330322m4YS3303248l VS330326s^3S330327͂WSS330328ebS330329lzS330381^t[^330382PNn^330400 VtQ^330401330402WSVn:S330411y2m:S330421 VUS330424wmvS330481wm[^330482s^Vn^330483PhaN^330500Vn]^3305013305024TtQ:S330503WSTm:S330521_nS330522tQS330523[ TS330600~tQ^330601330602W:S330603geh:S330604 N^:S330624e fS330681f^330683J]]^330700ёNS^330701330702zZW:S330703ёN:S330723fkINS330726fm_lS330727x[S330781pQn^330782INLN^330783N3^3307848l^^330800b]^330801330802gW:S330803b_l:S3308228^q\S330824_SS3308258nS330881_lq\^330900q\^330901330902[wm:S330903330921\q\S330922J]lS331000S]^331001331002i_l:S331003Ğ\:S331004eh:S331021ssS331022 N蕿S331023)YSS331024NE\S331081)n\^3310824Nwm^331100=N4l^331101331102:S331121R0uS331122NS331123B fS331124~g3S331125NTS331126^CQS331127of[rueꁻlS331181l^340000[_w340100T^340101340102vtwm:S340103^3:S340104q\:S340111Sl:S3401210NS340122NS340123S340124^_lS340181]Vn^340200Vn^340201340202\Vn:S340203 __l:S340207 _l:S340208 Nq\:S340221VnS340222A~ fS340223WSuS340225e:NS340300W^340301340302P[Vn:S340303q\:S340304yO:S340311m N:S340321`܏S340322NlS340323VGS340400mWS^340401340402'Y:S3404030u[^:S340404"[Ɩ:S340405kQlQq\:S340406XoƖ:S340421QSS340500lq\^340501340503q\:S340504q\:S340506ZSg:S340521S_mS340522+Tq\S340523TS340600mS^340601340602\gƖ:S340603vq\:S340604pq\:S340621onS340700ܔu^340701340702ܔ[q\:S340703rP[q\:S340711340721ܔuS340800[^^340801340802Ώ_l:S340803'Y‰:S340811[y:S340822`[S340823g3S340824\oq\S340825*YVnS340826[~gS340827g_lS340828\S340881PhW^341000Ğq\^341001341002o\n:S341003Ğq\:S341004_]:S341021YkS341022O[S341023ߞS341024Ay蕿S341100n]^341101341102t t:S341103WS/:S341122eg[S341124hQiS341125[܏S341126Q3S341181)Y^341182fIQ^3412003^341201341202]:S341203N:S341204l:S3412214NlS341222*YTS341225WSS341226 NS341282Lu^341300[]^341301341302Weh:S341321xq\S341322'S341323uptS341324lS341500mQ[^341501341502ё[:S341503Ո[:S341521[S341522S341523WS341524ё[S341525q\S341600N]^341601341602/W:S341621m3S341622WS341623)RS341700`l]^3417013417025`l:S341721NS341722wSS341723R3S341800[W^341801341802[]:S341821ΐnS341822^_S341823lS341824~nS341825e_S341881[V^350000y^w350100y]^350101350102350103S_l:S350104Nq\:S350105l>\:S350111Kf[:S350121OS350122ޏ_lS350123WnS350124nS3501258llS350128s^moS350181yn^350182PN^350200S^350201350203`f:S350205wml:S350206Vn̑:S350211Ɩ:S350212 T[:S350213[:S3503000u^350301350302WS:S350303m_l:S350304TW:S350305y\:S350322N8nS350400 Nf^350401350402hR:S350403 NCQ:S350421fnS350423nAmS350424[SS350425'Y0uS350426$\nS350427lS350428\PNS350429l[S350430^[S3504818l[^350500l]^350501350502W:S3505030Nl:S350504m_l:S350505l/n:S350521`[S350524[nS3505258l%fS350526_SS350527ё蕿S350581wr^350582Kf_l^350583WS[^3506003o]^350601350602W:S350603e:S350622NS3506233ofmS350624ϋ[S350625lS350626Nq\S350627WSVS350628s^TS350629NS[S350681wm^350700WSs^^350701350702^s^:S350721z fS350722fmWS350723IQlS350724~gnS350725?eTS350781fk^350782fk7Yq\^350783^t^350784^3^350800\^350801350802eW:S350821@lS3508228l[S350823 NmgS350824fks^S350825ޏWS3508813os^^350900[_^350901350902IW:S350921fmS350922S0uS350923O\WSS350924[[S350925hT[S350926gcS350981y[^350982y^360000_lw360100WS f^360101360102NVn:S360103360104RN1:S< 360105~n̑:S360111Rq\Vn:S360121WS fS360122e^S360123[INS360124ۏ$S360200of_G^360201360202 f_l:S360203sq\:S360222nmhS360281PNs^^360300aN^360301360302[n:S360313XnN:S360321S360322 NhS360323nS360400]N_l^360401360402^q\:S360403Tm3:S360421]N_lS360423fk[S360424O4lS3604258lOS360426_[S360427fP[S360428 fS360429VnSS360430m_lS360481^t f^360482qQRW^360500eYO^360501360502n4l:S360521R[S360600pmo^360601360602gVn:S360622YO_lS3606815n^360700c]^360701360702z!:S360703WS^:S360721cS360722O0NS360723'YYOS360724 NrS360725]INS360726[܏S360727WSS360728[WSS360729hQWSS360730[S360731NS360732tQVS360733O fS360734[LNS360735wWS360781^tё^360800 T[^360801360802 T]:S360803RS:S360821 T[S360822 T4lS360823\_lS360824er^S3608258l0NS360826lTS360827B]S360828N[S360829[yS3608308leS360881NQq\^360900[%f^360901360902]:S360921IYeS360922N}S360923 NؚS360924[0NS360925V[S360926ܔS3609810NW^360982jh^360983ؚ[^361000b]^3610013610024N]:S361021WSWS361022Ξ]S361023WS0NS361024]NS361025PN[S361026[ĞS361027ёnS361028DnS361029NaNS361030^ fS361100 Nv^361101361102O]:S361121 NvS361122^0NS361123sq\S361124Ŕq\S361125*j\S361126 _3S361127YOr^S36112813S361129Nt^S361130zZnS361181_tQ^370000q\Nw370100NmWS^370101370102S N:S370103^-N:S370104ik:S370105)Yeh:S370112SW:S370113n:S370124s^4S370125Nm3S370126FUlS370181zN^370200R\^370201370202^WS:S370203^S:S370211Ğ\:S370212]q\:S370213Ngl:S370214W3:S370281]^370282sSX^370283s^^^370285^370300mZS^370301370302m]:S370303 _^:S370304ZSq\:S3703054Nm:S370306hTQg:S370321ShSS370322ؚRS370323lnS370400g^^370401370402370403W:S370404\W:S370405S?Q^:S370406q\N:S370481n]^370500N%^370501370502N%:S370503lS:S370521W)RS370522)R%mS370523^vS370600pS^370601370602X:S370611yq\:S370612_rs^:S370613q\:S370634\S370681S^3706823^370683]^370684성^370685b܏^370686h^370687wm3^370700MoJW^370701370702MoW:S370703[N:S370704JWP[:S370705NYe:S3707244NgS370725 fPNS370781R]^370782W^370783[IQ^370784[N^370785ؚ[^370786 f^370800Nm[^370801370811NW:S370812VQ]:S370826_q\S370827|SS370828ёaNS370829 VeyS370830vl NS370831l4lS370832hq\S370881f^370883W^370900l[^370901370902lq\:S370911\\:S370921[3S370923Ns^S370982el^370983W^371000Zwm^371001371002s:S371003e{v:S371082cb^371083sNq\^371100egq^371101371102N/n:S371103\q\:S371121NS371122S371200^371201371202W:S371203W:S3713004Nl^371301371302pQq\:S371311W^:S371312371321lWSS371322WS371323l4lS371324pQuS3713259S371326s^S371327WSS3713284S3713294NlS371400_]^371401371402_W:S371403uW:S371422[%mS371423^NS3714244NS371425PlS371426s^SS371427Y%mS371428fkWS371481PNu^371482yW^371500JW^371501371502N f^:S37152137S371522S371523 s^S371524N?S371525QS371526ؚUS3715814Nn^371600n]^371601371602nW:S371603lS:S371621`lS3716223OS371623ehS371625ZStQS371626s^S371700σl^371701371702ar9N:S371721fS371722USS371723bfkS371724]ΑS371725ӐWS371726WS371727[vS371728NfS410000lWSw410100ѐ]^410101410102-NS:S410103NN:S410104{WVe:S410105ё4l:S410106 NW:S410108`Nm:S410122-N_rS410181]IN^410182e3^410183e[^410184eѐ^410185{v\^410200_\^410201410202N:S410203zlVe:S410204410205ysS:S410211ёf:S410221^gS410222S410223 \lS410224_\S410225pQS410300m3^410301410302W:S410303]:S410304plVe:S410305m:S410306 T)R:S410311m:S410322_[%mS410323e[S410324>h]S410325i]S410326]l3S410327[3S410328m[S410329 O]S410381CP^^410400s^vq\^410401410402410403kSN:S410404w:S410411[nl:S410421[0NS410422SS410423q\S410425ϐS410481^410482]l]^410500[3^410501410502e\:S410503SsQ:S410505k:S410506[:S410522[3S410523dl4S410526nS410527QĞS410581g]^410600dX^410601410602dq\:S410603q\W:S410611mn:S410621ZmS410622mS410700eaN^410701410702~e:S410703kSn:S410704Ql:S410711grΑ:S410721eaNS410724 VS410725S3S410726^%mS410727\NS410728WS410781kS^410782S^410800&q\O^410801410802>e:S410803-Nz:S410804lQg:S410811q\3:S410821OfkS410822ZS1rS410823fk_S410825)nS410882l3^410883_[]^410900o3^410901410902NS:S410922n0NS410923WSPNS410926S410927SMRS410928o3S411000 f^411001411002O:S411023 fS411024"uS411025DWS411081y]^411082[^411100/ol^411101411102nGl:S411103W:S411104Su:S4111213S4111224NS411200 N\^411201411202Vnn:S411221n`lS411222US411224bSlS411281INl^411282up[^411300WS3^411301411302[W:S411303gS:S411321WSSS411322eWS411323\S411324Gs^S411325QaNS411326m]S411327>yeS411328UlS411329eΑS411330PhgS411381]^411400FUN^411401411402hV:S411403bw3:S411421lCgS411422bwS411423[uS411424gWS411425^WS411426YS4114818lW^411500O3^411501411502Iml:S411503s^eh:S411521Wq\S411522IQq\S411523eS411524FUWS411525VYS411526bo]S411527mnS411528o`S411600hTS^411601411602]Gl:S411621vblS411622NSS411623FU4lS411624lNS411625WS411626m3S411627*Y^S411628S411681yW^411700{l^^411701411702W:S411721s^S411722 N!S411723s^S411724ck3S411725nxq\S411726l3S411727]lWSS411728Bs^S< 411729e!S419000 wvS~L?e:SR419001Nmn^420000VnSw420100fkIl^420101420102_l\:S420103_lIl:S420104ZxS:S420105Il3:S420106fk f:S420107420111*mq\:S420112NVn:S420113IlWS:S420114!8u:S420115_lY:S420116ĞB:S420117e2m:S420200Ğw^420201420202Ğw/n:S420203^Xq\:S420204 NF:S420205q\:S4202223eS420281'YQ^420300AS0X^420301420302{:S420303 _~n:S4203043:S420322S420323zq\S420324znS420325?bS4203819N_lS^420500[ f^420501420502u:S420503O[\:S420504pQ:S420505sN:S4205067Yu:S420525܏[S420526tQq\S420527yR_S4205283W[eꁻlS420529N\W[eꁻlS420581[^420582S_3^420583g_l^420600D3^420601420602DW:S420606 jW:S420607D]:S420624WS3oS4206257WS420626O^S420682lS^420683g3^420684[W^420700]^420701420702hP[Vn:S420703NS[:S420704W:S420800F^420801420802N[:S420804cR:S420821Nq\S420822l mS420881ey^420900][a^420901420902][WS:S420921][ fS420922'Y`S420923NhS420981^W^420982[F^420984Il]^421000F]^421001421002l^:S421003F]:S421022lQ[S421023v)RS421024_luS421081w^421083*mVn^421087~gn^421100ĞQ^421101421102Ğ]:S421121VΘS421122~[S421123W0uS421124q\S421125`m4lS421126r%fS421127ĞhS421181W^421182fktz^421200T[^421201421202T[:S421221 V|S421222WS421223]3S421224q\S421281dX^421300]^421301421303f:S421321S421381^4l^422800 i`eW[eׂeꁻl]422801i`e^422802)R]^422822^YS422823]NS422825[i`S422826T0NS422827egQS422828d\S429000429004NCh^429005\o_l^429006)Y^429021^yQgg:S430000VnWSw430100l^430101430102Ʉ:S430103)Y_:S430104\:S430105_y:S430111薱:S430112gW:S430121lS430124[aNS430181Om3^430200*h2m^430201430202wXX:S430203m:S430204w\:S430211)YCQ:S430221*h2mS4302238eS4302246uS430225puS430281u^430300Xnmo^430301430302Vn:S430304\XX:S430321XnmoS430381XnaN^430382q\^430400a3^430401430405sVf:S430406\:S430407w:S430408Xn:S430412WS\:S430421a3S430422aWSS430423aq\S430424aNS430426AyNS4304813^4304828^[^4305003^430501430502Sn:S430503'Yey:S430511STX:S430521NS430522eS4305233S430524VS430525mSS430527~[S430528e[S430529WekׂeꁻlS430581fkQ^430600\3^430601430602\3|i:S430603Nn:S430611Tq\:S430621\3S430623NS[S430624Xn4S430626s^_lS430681hlW^4306824NXn^4307008^_^430701430702fku:S430703W:S430721[aNS430722Il[S430723oS4307244NoS430725ChnS430726w蕿S430781%m^^430800 _[Lu^4308014308028l[:S430811fkun:S430821Ha)RS430822QhiS430900v3^430901430902D3:S430903kq\:S430921WSS430922Ch_lS430923[SS430981l_l^431000]^431001431002SVn:S431003ςN:S431021Bh3S431022[zS4310238ltQS431024 VyS4310254NfkS431026]lWS431027BhNS431028[NS431081DtQ^4311008l]^431101431102u:S431103Q4ln:S431121Ay3S431122N[S431123SLrS431124SS431125_l8lS431126[܏S431127݄q\S431128e0uS431129_lNSvteꁻlS431200`S^431201431202dW:S431221-NeS431222luS431223nS431224nfmS431225O TS4312263ׂeꁻlS431227eCfOeꁻlS431228_lOeꁻlS431229 V]ׂeOeꁻlS431230SOeꁻlS431281*m_l^431300Z^^431301431302Zf:S431321S\S431322eSS431381Q4l_l^431382mn^433100 XnW[eׂeꁻl]433101 T^433122lnS433123QQS433124WS433125OVS433126SNS4331278lzS433130q\S440000^Nw440100^]^440101440103T~n:S440104y:S440105wms:S440106)Yl:S440111}vN:S440112ĞW:S440113juy:S440114:S440115WSl:S440116\:S440117NS:S440118XW:S440200sQ^440201440203fk_l:S440204Hm_l:S440205f_l:S440222YtQS440224NSS440229nS440232sNnvteꁻlS440233e0NS440281PN f^440282WSĖ^440300m3W^440301440303WVn:S440304y0u:S440305440306[[:S440307\:S440308v0u:S440400swm^4404014404022m:S440403e:S440404ё~n:S440500Ul4Y^440501440507Vn:S440511ёs^:S440512o_l:S440513no3:S440514noWS:S440515owm:S440523WSoS440600[Oq\^440601440604yW:S440605WSwm:S440606z_:S440607 N4l:S440608ؚf:S440700_l^440701440703_l:S440704_lwm:S440705eO:S440781Sq\^440783_s^^440784dq\^440785i`s^^440800[n_l^440801440802dNW:S440803q\:S440804aW4Y:S440811z:S440823BnS440825_S440881^_l^440882]^4408834T]^440900T^440901440902WS:S4409045u}v:S440981ؚ]^440982S]^440983O[^441200^^441201441202z]:S441203Vn:S441223^[S441224`ƖS441225\_S441226_^S441283ؚ^441284VO^441300`]^441301441302`W:S441303`3:S441322ZSWS441323`NS441324蕿S441400h]^441401441402h_l:S441403hS:S441422'YWS4414230NzS441424NNSS441426s^܏S441427I\S441481tQ[^441500Ul>\^441501441502441521wm0NS441523FlS441581F0N^441600ln^441601441602nW:S441621+}ёS441622]S441623ޏs^S441624Ts^S441625NnS4417003_l^441701441702_lW:S4417213S4417233NS4417813%f^441800n܏^441801441802nW:S441803ne:S441821[OQS4418233q\S441825 ޏq\XevteꁻlS441826ޏWSvteꁻlS441881_^441882ޏ]^441900N^442000-Nq\^445100no]^445101445102Xneh:S445103no[:S445122vs^S445200c3^445201445202iW:S445203cN:S445222cS445224`egS445281nf[^445300Nnm^445301445302NW:S445303N[:S445321etQS445322WSS445381W[^450000^Xeꁻl:S450100WS[^450101450102tQ[:S450103Ry:S450105_lWS:S450107aNXX:S450108o^:S450109[:S450122fk#S450123[S450124lq\S450125 NgS450126[3S450127*jS450200g]^450201450202W-N:S450203|\:S450204gWS:S450205gS:S450221g_lS450222gWS450223[S450224[S4502254lׂeꁻlS450226 N_lOeꁻlS< 450300Bhg^450301450302y\:S450303Si_:S450304aq\:S450305Nf:S450311q\:S4503124NBh:S4503213gS450323up]S450324hQ]S450325tQ[S4503268lyS450327Lp3S450328܀TeꁻlS450329DnS450330s^PNS450331TfmS450332m`WvteꁻlS450400h]^450401450403Ny:S4504052m:S450406)W:S450421͂hS450422䅿S450423q\S450481\n^450500Swm^450501450502wmW:S450503wm:S450512q\/n:S450521TfmS4506002W/n^450601450602/nS:S4506032W:S450621 N`S450681NtQ^450700]^450701450702WS:S450703S:S450721upq\S450722fmSS4508005/n^450801450802/nS:S450803/nWS:S450804XX:S450821s^WSS450881Bhs^^450900sg^450901450902s]:S450903y~:S450921[S450922F]S450923ZS}vS450924tQNS450981SAm^451000~vr^451001451002S_l:S4510210u3S4510220uNS451023s^gS451024_OS451025VS451026aWS451027QNS451028PNNS4510290ugS451030gS451031gTeꁻlS451100:]^451101451102kQek:S451121-fs^S451122q\S451123[]vteꁻlS451200l`l^451201451202ёW_l:S451221WS9NS451222)Y\S451223Qq\S451224NpQS451225WWNlOeꁻlS451226s_lkWSeꁻlS451227]lvteꁻlS451228[vteꁻlS451229'YSvteꁻlS451281[]^451300eg[^451301451302tQ[:S451321_WS451322a]S451323fk[S451324ёyvteꁻlS451381Tq\^451400]]^451401451402_l]:S451421vb~S451422[fS451423]S451424'YeS451425)YI{S451481Qey^460000wmWSw460100wmS^460101460105y:S460106NS:S460107oo]_eꁻlS532923eyNS532924[]S532925%_!nS532926WSm]_eꁻlS532927 ]q\]_eVeꁻlS5329288ls^S532929NS5329301mnS532931QR]S532932d^S533100 _[Peofeꁻl]533102^t=N^533103^533122hlS533123v_lS533124G]S533300`_lPPeꁻl]533321l4lS533323y!S533324 !q\re`eꁻlS533325 pQjW}venfs|eꁻlS533400ꏆ^υeꁻl]533421T\ꁻl:S650100LN(gP^650101650102)Yq\:S650103lO]KQ:S6501046501054lxl:S6501064Yo\l:S650107BWW:S650109s|N:S650121LN(gPS650200KQbsO^650201650202rq\P[:S650203KQbsO:S650204}vxn:S650205LN\y:S652100Tju0W:S652101Tju^652122/US652123XbKQ S652200T[0W:S652201T[^652222 ]̑dWT(KQꁻlS652223 O>TS652300 f TVeꁻl]652301 f T^652302^^652323|TVXS652324s~eS652325GYSS652327 T(g(\S652328(gWT(KQꁻlS652700 ZS\TXbSꁻl]652701ZSPN^652702?bq\S^652722|lS652723)nlS652800 ]^iSꁻl]652801^\R^652822nSS652823 \rS652824傌S652825N+gS652826 qVeꁻlS652827TYS652828TUxS652829ZSVnS652900?KQς0W:S652901?KQς^652922)n[S652923^fS652924lŖS652925eTS652926bWS652927LNNS652928?tcS652929gjWS653000 KQ\[Rςg\KQ\[ꁻl]653001?VN^653022?KQvS653023?TGYS653024LNp`S653100UN0W:S653101UN^653121uDS653122uRS653123 TlS653124lnfS653125fS653126SWS653127vcS653128\nfVnS653129=O^S653130]ZiS653131 TXN^\r^TX TKQꁻlS653200T0u0W:S653201T0u^653221T0uS653222XsS653223vq\S653224mfmS653225V{RS653226N0uS653227l0NS654000 OrT(KQꁻl]654002 O[^654003NYo\^654021 O[S654022 [^g\!/OꁻlS654023WS654024]YuS654025enS654026-fςS654027yrKQeS654028<\RKQS654200TXW0W:S654201TXW^654202LNς^654221OeS654223l~nS654224Xb̑S654225ՈlS654226 T^KQ[\SꁻlS654300?Rl0W:S654301?Rl^654321^\%mS654322[tS654323ywmS654324T]lS654325RlS654326 T(gCNS659000 ꁻl:SvS~L?e:SR659001wlP[^659002?b\^659003V(gKQ^659004N[ n^L?e:SRx 7L?e:SRTy 7 010-ؚI{f[!hYe^011-Yec012-oRYec 013-^ؚ!h 014-RYeؚ!h 020--NI{NNf[!hYe^ 022-ؚ~^-NN 023-^-NN 024-Rt^-NN 025-YeXT-NN 030-b]f[!hYe^ 032-ؚ~^b!h 033-^b!h 034-Rt^b!h 035-YeXTb!h 040-b]f[!hYe^[`Nc[ 042-ؚ~[`Nc[Ye^ 043-N~[`Nc[Ye^ 044-N~[`Nc[Ye^ 045- N~[`Nc[Ye^ wꁻl:S0v^  7aNG 7)!jg-Nvpenc!h0penc b[݋FhI{R/T(u[ Yg[*g/T(u cY Nek/T(u0 721.Yg(uExcel2003Hr,g: b0]wQ0܃US pQ0 y0T>f:yY N O!k bV-N~rWW 7:1.Yg(uExcel2007Hr,g Sb_Excel2007v0Excel y0 pQ0ON-N_0 b0ON-N_n0 7/ (W0ON-N_0n;ub b0[n0 (W;ubSO b0/T(u@b g[0 pQ0nx0 7060-Ly9ei~NTv-N\f[Ye^Ly 7 /T(u[vd\Oek 7Tf[!hvteSOd\OekY N 7DN2  7aNQgf[!hNYe30t^Ye^cfN{vNXTOo`Gl;`h 7XXw ꁻl:S0v^  7f[!h@b(WL?e:SR 7f[!hTy 7fNS 7YT 7'`+R 7Qut^g YYYY-MM) 7NS 7SR]\Oe YYYY-MM) 7 NYet^P (tepe) 7NNb/gLR 7NNr` 7^ 7aNG  7 USMOvz  kXhN T|5u݋ kXheg t^ g e  H L      7 Nwm 7 0aNQgf[!hNYe30t^Ye^cfN{v<:NXTOo`Gl;`h 0 kXQf  7SN 7)Y%m 7lS 7q\ 7QS 7[ 7 Tg 7ў_l 7_lς 7Ym_l 7[_ 7y^ 7_l 7q\N 7lWS 7VnS 7VnWS 7^N 7^ 7wmWS 7͑^ 7V] 75] 7NWS 7υ 7U 7u 7Rwm 7[Y 7eu 7euuN^uQV 7^S 7S:S  7w001 0aNQgf[!hNYe30t^Ye^cfN{vNXTOo`Gl;`h 0(uExcel6R\OkXb0 002fNS:N14MO 1uTw~YeL?eQ ĉR:N 6MOL?e:SRNx+8MOz^S 0 001 w~0W:SNx:NL?e:SRNxMR$NMO wQSOY N 45 $,-35HJQSXY^_ 7002 T8MOz^S:N00000001999999990 003YT0'`+R0Qut^g0NS0SR]\Oe0NYet^P0NNb/gLR0NNr`I{ c[E`QY[kXQ0f[!h@b(WL?e:SRkXQ^S:S aNG 0f[!hTyQhQyNUSMOlQzN 0#$%acdfjl 76 O9~r P ӽ2"wW9v'I  {mYy=])I/  }mOo/O 3 ipOV5< $   "$&(_*fA,H'..013579; =z ?hgAPCjwE`eGNKI41KMOPSTVY[ ] '_ abdfhjxlxndprtwy}{* }X ɉvV6mW ]W]5 - G{ɩWPccvv@1#.,C:\Users\xie\Desktop\1.txtW[xQy!1_16 PK![Content_Types].xmlj0Eжr(΢Iw},-j4 wP-t#bΙ{UTU^hd}㨫)*1P' ^W0)T9<l#$yi};~@(Hu* Dנz/0ǰ $ X3aZ,D0j~3߶b~i>3\`?/[G\!-Rk.sԻ..a濭?PK!֧6 _rels/.relsj0 }Q%v/C/}(h"O = C?hv=Ʌ%[xp{۵_Pѣ<1H0ORBdJE4b$q_6LR7`0̞O,En7Lib/SeеPK!kytheme/theme/themeManager.xml M @}w7c(Ebˮ     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeghijklmnopqrstuvwxyz{|}~CAǠҟ7՛KY,e.|,H,lxɴIsQ}#Ր ֵ+!,^$j=GW)E+& 8PK!vM\theme/theme/theme1.xmlYϏ7W0{ȯI"I¶"8q4! *UJU/=Tm@jҿf)B=8]Xq{ϟ߳g_R aQ.+FlLiӾ>궕pen v?<QvlXLFЌsl#x7aq8<8F7JCD"ۊPnL&dg⻇{BODÈ}k&;>, DH|[G6mh̎6-/vIEQVɿ.3Vdtw8r@&[z]/'h4\TnV?;N-Wkx J;^χ(jx Jqj|85/A%zU92atoNVɜP0%ok!"N"/fxF0}D0&>\tv0RާMdIh%xx`az㫧WO{rrO P4U_~|jۗ2O=K3ъ󇟿ފPH2>&3," uQ݈ABL[~91|)5cbc.y$&~5W)8sKcFw-dMuXmD!6VF{$,L!ZlnXmFM# QZ/9GT>⁉dT\7)ql0^%@>i?PGƜ|#Td g&lD(9)L_!򀢭AӅ:(Ji5AěylE̴_ Re@5Itx=݊q쭉6P;h]Ű*6K{~^巯+)t-P O{(DZY?J44FƊ˶p2M2ĚN[<<`Y.f* Éh:I%۩<. 7!tHԖ"H|A3#{+,u~@- ,W5m0cx,z]̷mf@ md3`uxbtT{Lk$馓5, gS7ucRE Fo,Κk[JA#i{U͚N3I)|8]gQYJ4RtR5 DZEIش4HjV  +9Hd<WӮHVJ󳃅%Cy|ske1IO9W\Vo0e~s(mGtb¥tS)3T IVSQ`ՠj4)Ut#9E4W5SSQ5*,k<[WX-C RtKncukJ@kڪ3`)BVv,x ){Kkqk;h VO V?Oval 6dr]>`O @ 2 ? V\O V?Oval 7]?`\O 2 @ Vj V?Oval 4+.]@`j 2 A VO V?Oval 247]A`O A    B `O GH\?AutoShape 3"pjPK!Zf[Content_Types].xmlMO &2WR=cJ`F0iK`#̼vLw 9uSq:w`G ^i ½KI)c/$oVjTMRc|}042ҥCƔM̏P~*ka/8^DkHbL8ei"K\XN\6rco4y@_;oPK!1_a _rels/.relsj0 ѽqCNo^K [ILcX&m߾0XFo;>0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK!fRdrs/shapexml.xmlWOo6w xO-ْ]iZ%BIסCaz%4k6ԯGRV zdA&#뒣%UIA̘'}!"#\ o֙R!!\S:$k.UI tռ)%tѕ$摷ోmVrB9?t)Pd[AbM7O|!gVr5?nA1).eB#$~Szp8llW׀'è\̼ͧ+TTcdp&Πzj'˧ , %Hu0rZ4^~ Xg|t%arIAĜ* WX-a|^kf2)2Z#zA&qEB##XJCʇ<qvx$ֳR@ΨfB8 X66<#O!FyA%h/ ~<^ݶW<Z[6eGc&\!#bdha 2]:md*Y ǣq"#]0۰d\Rt;mlU]9@/hH`(QaQUٸNQmˬm%9Eؼ=#fj6-Wk>'(pg4?~AZQ'3CsT=ưV31\$X5f4Π9u-p#Bu19)`qb@fSќէCKɍl0_0ӫtkzݚ]7sG~vJnztx_.g:%TUnh,tw_RmaKwoo@U}ukF'6gTGĐgݵs<_PK!x}D!drs/downrev.xmlTPN0#"qNHP* CQ $&"#$߳)-wfgvE'+AcK80xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK!6drs/shapexml.xmlUr03;htoc8SKi;>jˍYH"qppgdM)\yWOڽd)iPeB^Θc̘PtO>٫3=e2+M 4S0tnm5L:%3%/{fK^^?=Si23xM\lT3.sMV_J$^9I'aٸu>49Vˤ͸lmAr'\[<:(Dø.n8 uۢ,*X^[Qȷ1:խũ&ER"Y 7?0n/c:ePv@MU:`2Gb:&hT!)aOaCyƾjcNAB䧂YHőALDBl*dDLYri^+_2/A |u56jԊȍV7EO ﴶ>˝!PK!%drs/downrev.xmlToO0ߛ3t!RD >@Y;6Y[1PAst0UI*i]a4:5y/ hx}5}az.4Ѯ4IZfK=FAS rOLO`6m_X*82v{SxYpՎi,@bΝè(˱Nscwf"D@RS63MeNzq'ݓ v/mhoc&a[ҿg`qPK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!6*drs/shapexml.xmlPK-!%Adrs/downrev.xmlPKd]J`(O o$<1. /T(u[<;;< K \O G^DAq1Nb_ 16#"@PK!Zf[Content_Types].xmlMO &2WR=cJ`F0iK`#̼vLw 9uSq:w`G ^i ½KI)c/$oVjTMRc|}042ҥCƔM̏P~*ka/8^DkHbL8ei"K\XN\6rco4y@_;oPK!1_a _rels/.relsj0 ѽqCNo^K [ILcX&m߾0XFo;>0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK!3 drs/shapexml.xmlVn1#mv4Mn*HU.F-}w۬+' pXNHG@˴U{wFC3|zg MdD.cd$G/w׺d„3r H"I(u[-!^[Å>ZzP(=GĜ̥ҏ2##Zd+q ,R $bE³gc;9ljBRYHt4=Q{`ل2+N'1u?9[BY]:qj* 4M酁{ + z. 7LW;H\i*ѣ"Jc:gDO0Ksf]U{-@eQJ:ہkf "^Š4r rF̓H>;Dm@CX3=*3ǜ֝e3s`F[(h-Ư/^z姫g?^!Gy#Qnl|r;JǛɠOEJOxv@jX O&_SVPK!7!drs/downrev.xmlTN0HHܨ㠤ԩB*' ͍ەmAͳg^S7p`28l^n&@|F<̳ˋJ7+խCEpSa7NJ(]E{[GQJh nN-jU|4S{l7r!YՇSs3%ނa>(Sт mnں]:{1¶R^T)=: D:#˰ '8(N}PK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!0), *drs/shapexml.xmlPK-!7!drs/downrev.xmlPK9r +]L`(O `<$(<#3.pQ penc!h ۏLpenc!h<(;; ; ;<vv M \(O GEAq1Nb_ 18#"@PK!Zf[Content_Types].xmlMO &2WR=cJ`F0iK`#̼vLw 9uSq:w`G ^i ½KI)c/$oVjTMRc|}042ҥCƔM̏P~*ka/8^DkHbL8ei"K\XN\6rco4y@_;oPK!1_a _rels/.relsj0 ѽqCNo^K [ILcX&m߾0XFo;>0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK!wdrs/shapexml.xmlUN0W?Xd¼EAtC&q<*]T*e-} ªk; ]0q96RR\_0<q|c҄DŽ N< c#<W=xuޫT4Q")j$#0y%%Pםֶ>e쑅pD̝"ºZ3$پvvo7*Ywbs,eFi kP #_wW:^bS9H$E1tY_n# [Rň RuQk=7M(kƉ̊{$4#)'n4 M;-ax"~Epт爘T sBx$2È%n*JK㍔EDv3DڷeTNy.8 rN)Tl*E6]MO(=a3 izlB]DYԝj@br 0n3unǹ^TSgiH/ _`\iUs\Ȼ0]y"qaDxb(?̏yކQ#I[в(swy@b3v")\)__޴߇C-_rFlbcn백lF}(`+EӘO_NO>\}:?ߎ.~Nϯ^M| 3\w^[Yav(څRDgwb PK!h"drs/downrev.xmlTP[O0~7?476I!1doڒ=`}n|{ݒN9X D@V6f`tS0]^ y),T !ƗA¶ԋZiv ru݆Jw[DQF5o nVj%>_A'#Vݻh֫h:81v}OՇXtcK%vRkA9X"#o'Fޕ8cEx*"͓H,ϒ<zcO"0sO$)2LWGPK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!w*drs/shapexml.xmlPK-!h"jdrs/downrev.xmlPK U9]M`(O o<$<4.9hnc!h~g O9epenc<;;<aa N \O GvCAq1Nb_ 19#"@ïPK!Zf[Content_Types].xmlMO &2WR=cJ`F0iK`#̼vLw 9uSq:w`G ^i ½KI)c/$oVjTMRc|}042ҥCƔM̏P~*ka/8^DkHbL8ei"K\XN\6rco4y@_;oPK!1_a _rels/.relsj0 ѽqCNo^K [ILcX&m߾0XFo;>0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK! MBdrs/shapexml.xmlUn0#md&&LU6(7q:f] >;֥|M[/ЩEg63ν=羷CS*U)xM#34ǯv7)MxN4 v<#³Lp5A'Z#SلVDmrBVDç2tV^Պ @D)Ž4r rFN||az~M6#`{.! 1ٹiӌ@m1Xv4Zŏחn|}D (M]dͬQC41}`kny[7PK!=d drs/downrev.xmlLN@M|͘x'[*DhP۵[wWZn9LgP&t!`r7ԙF[t0rV/p#&R@}3ܥ%*zAMX%=-Aq%+MJSze{z57<p!no#0?7fLr*L@Ho[e B>@ 7 Sheet5b(b(3ggD  D$ dMbP?_*+%&ffffff?'ffffff?(?)?MCanon iR2422 UFRII LTU  4dXA4Canon`Canon iR2422 UFRII LTddd     d d d d dd   dd@@d  d  d dd d"eddd     !"#$%&'()*+,-./01234567d"    @ !"#$%&'()*+,-d.d/d0123456789:;<=>?@ABCDEFGHIJKd    d !"#$%&d!dddd!     ddd@8  4 22h 1 4 22h 1XXd2 [SO\CNZ005.ICC\CNZ005.ICC\CNZ005.ICC:g[:g[H[SOal؞n X       " PXX333333?333333?&<3U} @E}  G}  G}  G} G}  G}  G} `J} `G} J} E} G}  G}  @YZZZZAAA@ @ @ @ @@@ lf"lVVVVVVVWVWXVV mg"nnnnnnnnnnnnno iv"jjjjjjjjjjjjjk p fh gi gh aj ak al am  bn  ao  bp  dq ar as ea [t _ `uaaaacaceaa$KMMMMMMMMIMIKOM$KMMMMMMMMIMIKOM KMM M^MMMMMIMIKOM DFFFFFFFFHFHD O^F$ KMMMMMMMMIMIKOM$ KMMMMMMMMIMIKOM$ KMMMMMMMMIMIKOM$ DFFFFFFFFHFHDOF$KMMMMMMMMIMIKOM$KMMMMMMMMIMIKOM G^ G^$,444V((><((((((  (    N(X?]4@(L D̴# <_kX zzNh~_g tepe <x 9  N(X?+6]4@( M }ȘnBRT <_kX N NbRh-N b<x 9  NX?]4@M i`)eG}_ԣD<_kX<9  NX?]4@M |!G'C(䦬<_kX 14MOtepe<J9  N(X? ]4@(@N `qJ)' J<_kX<9  NX?  ]4@N UQM2{# <_kX N NbRh-N b< 9  NX?  -]4@O s!D>ҤKHlz<_kX @Znn       7 q7 *YS^ 'Y T^ 3l^ l^ KfW^ g]^ Kf-N^ ЏW^ _]^ 4N~l^ Th^ I |TTimyr^ S4Y^ LNwm^ d\^ ^ \Ye^ |T&O\^ ]f_m\^ LNpQ[^^ tQ[v !gRv ?bUvR - ^:S wmR~n:S wmWS:S LN:S\ 7 ^:S W:S w:S ʐ:S s^[S vS [SN^ )Y%m^ lSw q\w QSꁻl:S [w Tgw ў_lw Nwm^ _lςw Ym_lw [_w y^w _lw q\Nw lWSw VnSw VnWSw ^Nw ^Xeꁻl:S wmWSw ͑^^ V]w 5]w NWSw υꁻl:S Uw uw Rwmw [YVeꁻl:S eu~>T\ꁻl:S8 1-7u 2-sY H #1-(WL 2-O 3-yOw Sheet1ggD  == dMbP?_*+%&ffffff?'ffffff?(?)?"333333?333333?L&<3U??< PH00(  >@  7 Sheet4ggD  AKRX%_mekqEx~Մe=Ͱ]5}U-uM!%(m.4:EAGMTeZ`f=msy]5}ťU-uM%mE e#)/=6<BI]OU[5b}hnuU{-uMݳ%mEe{ dMbP?_*+%&ffffff?'ffffff?(?)?"333333?333333?&<3U} >}  >} >} ?}  >} >} >} >} >} >}  >}  >}  >} >}  >@@@@@@@@ @ @ @ @@@@@@@@@@@@@@@@@@@@ B N\ B B! L] B" B# B B B$ B% B& B' B B LF LG? > ?c ? G( G)? > ? ? G* G+? ? ? G, G-? ? G. G/? ? G0 G1? ? G2 G3 ? G4 G5 ? G6 G7 ? G8 G9 ? G: G; ? G< G= ? G> G? ? G@ GA ? GB GC ? GD GE ? GF GG ? GH G! ?M GI GJ ?N GK GL ?O GM GN ?P GO G+ ?Q GP GQ ?R GR GS ?S GT GU ?T GV GW ?U GX GY ?V GZ G[ ?W G\ G] ?X G^ G_ ?Y G` Ga ?Z Gb GcD lPPB444************************ @!@"@#@$@%@&'()*+,-./0123456789:;<=>? ?[ Gd Ge !?H !Gf !Gg "?I "Gh "Gi #?J #Gj #G! $?K $Gk $Gl %?L %Gm %Gn &C &Go &Gp 'C 'Gq 'Gr (C (Gs (Gt )C )Gu )G+ *C *Gv *Gw +? +Gx +Gy ,Gz ,G{ -G| -G} .G~ .G /G /G 0G 0G 1G 1G 2G 2G 3G 3G 4G 4G 5G 5G 6G 6G 7G 7G 8G 8G 9G 9G :G :G ;G ;G <G <G =G =G >G >G ?G ?GDl************@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @G @G AG AG+ BG BG CG CG DG DG EG EG FG FG GG GG HG HG IG IG JG JG KG KG LG LG MG MG NG NG OG OG PG PG QG QG+ RG RG SG SG TG TG UG UG VG VG WG WG XG XG YG YG ZG ZG+ [G [G \G \G ]G ]G ^G ^G _G _GDl`abcdefghijklmnopqrstuvwxyz{|}~ `G `G aG aG bG bG cG cG dG dG eG eG fG fG gG gG hG hG iG iG jG jG kG kG lG lG mG mG nG nG oG oG+ pG pG qG qGy rG rG sG sG tG tG uG uG vG  vG  wG  wG  xG xG yG yG zG zG {G {G |G |G }G }G ~G ~G G GDl G G G G  G! G" G# G$ G% G+ G& G' G( G) G* G+ G, G- G. G/ G0 G1 G2 G3 G4 G5 G6 G7 G8 G9 G: G; G< G= G> G? G@ GA GB GC GD GE GF GG GH GI GJ GK GL GM GN GO GP GQ GR GS GT GU GV GW GX GY GZ G+Dl G[ G G\ Gy G] G^ G_ G` Ga Gb Gc Gd Ge Gf Gg Gh Gi Gj Gk Gl Gm Gn Go Gp Gq Gr Gs Gt Gu Gv Gw Gx Gy Gz G{ G| G} G+ G~ G G G G G G G G G G G G G G G G G G G G G G G G G+Dl G G{ G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G G G G G G G+ G G G GDl G G G G G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G  G  G  G  G G G G GDl     G G G G G G G G G G+ G G G G G G G G  G! G" G# G$ G% G+ G& G G' G G( G) G* G+ G, G- G. G/ G0 G1 G2 G3 G4 G5 G6 G7 G8 G9 G: G; G< G= G> G? G@ G+ GA G GB GC GD GE GF GG GH GIDl !"#$%&'()*+,-./0123456789:;<=>? GJ GK !GL !GM "GN "G+ #GO #GP $GQ $GR %GS %GT &GU &GV 'GW 'GX (GY (GZ )G[ )G\ *G] *G+ +G^ +G_ ,G` ,Ga -Gb -Gc .Gd .Ge /Gf /Gg 0Gh 0Gi 1Gj 1Gk 2Gl 2Gm 3Gn 3Go 4Gp 4Gq 5Gr 5Gs 6Gt 6Gu 7Gv 7G+ 8Gw 8Gx 9Gy 9Gz :G{ :G| ;G} ;G~ <G <G =G =G >G >G ?G ?GDl@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @G @G AG AG BG BG CG CG DG DG EG EG FG FG+ GG GG HG HG IG IG JG JG KG KG LG LG MG MG NG NG OG OG PG PG QG QG RG RG SG SG TG TG UG UG VG VG+ WG WG XG XG YG YG ZG ZG [G [G \G \G ]G ]G ^G ^G _G _GDl`abcdefghijklmnopqrstuvwxyz{|}~ `G `G aG aG bG bG cG cG dG dG eG eG fG fG gG gG hG hG iG iG+ jG jG kG kG lG lG mG mG nG nG oG oG pG pG qG qG rG rG sG sG tG tG uG uG vG vG wG wG xG xG yG yG+ zG zG {G {G |G |G }G }G ~G ~G G GDl G G G G G G G  G  G  G+ G  G G G G G G G G G G G G G G G G G G G G  G+ G! G" G# G$ G% G& G' G( G) G+ G* G+ G, G- G. G/ G0 G1 G2 G3 G4 G5 G6 G7 G8 G9 G: G; G< G= G> G?Dl G@ GA GB GC GD G+ GE GF GG GH GI GJ GK GL GM GN GO GP GQ GR GS GT GU GV GW G+ GX GY GZ G[ G\ G] G^ G_ G` Ga Gb Gc Gd Ge Gf Gg Gh Gi Gj G+ Gk Gl Gm Gn Go Gp Gq Gr Gs Gt Gu Gv Gw Gx Gy Gz G{ G|Dl G} G~ G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G GDl G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G+ G GQ G G G G G G G G G G G G G G G G G GDl     G G G G G G G G G G+ G G G G G G G G  G  G  G  G G G G G G G G G G G G G+ G G G G G G G G G  G! G" G# G$ G% G& G' G( G+ G) G* G+ G, G- G. G/ G0 G1 G2 G3 G4Dl !"#$%&'()*+,-./0123456789:;<=>? G5 G6 !G7 !G8 "G9 "G+ #G: #G; $G< $G= %G> %G? &G@ &GA 'GB 'GC (GD (GE )GF )GG *GH *G+ +GI +GJ ,GK ,GL -GM -GN .GO .GP /GQ /GR 0GS 0GT 1GU 1GV 2GW 2G+ 3GX 3GY 4GZ 4G[ 5G\ 5G] 6G^ 6G_ 7G` 7Ga 8Gb 8Gc 9Gd 9Ge :Gf :Gg ;Gh ;G+ <Gi <Gj =Gk =Gl >Gm >Gn ?Go ?GpDl@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @Gq @Gr AGs AGt BGu BGv CGw CG+ DGx DGy EGz EG{ FG| FG} GG~ GG HG HG IG IG JG JG KG KG LG LG+ MG MG NG NG OG OG PG PG QG QG RG RG SG SG TG TG UG UG+ VG VG WG WG XG XG YG YG ZG ZG [G [G+ \G \G ]G ]G ^G ^G _G _GDl`abcdefghijklmnopqrstuvwxyz{|}~ `G `G aG aG bG bG cG cG dG dG+ eG eG fG fG gG gG hG hG iG iG jG jG kG kG lG lG mG mG+ nG nG oG oG pG pG qG qG rG rG sG sG tG tG uG uG vG vG+ wG wG xG xG yG yG1 zG zG {G {G |G |G }G }G ~G ~G G GDl G G G G G G+ G G G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G G  G  G  G  G G G G+ G G G G G G G G G G G G+ G G G G G G  G! G"Dl G# G$ G% G& G' G( G) G* G+ G+ G, G- G. G/ G0 G1 G2 G3 G4 G5 G6 G7 G8 G9 G: G+ G; G< G= G> G? G@ GA GB GC GD GE GF GG G+ GH GI GJ GK GL GM GN GO GP GQ GR GS GT GU GV GW GX GY GZ G[ G\ G] G^ G_Dl G` Ga Gb Gc Gd Ge Gf Gg Gh G+ Gi Gj Gk Gl Gm Gn Go Gp Gq Gr Gs Gt Gu Gv Gw Gx Gy Gz G{ G| G} G~ G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G GDl G G G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G G G+Dl     G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G G G G G+ G G G G G G G  G  G  G  G G G G G G G G G G G GDl !"#$%&'()*+,-./0123456789:;<=>? G G !G !G "G "G #G #G  $G! $G" %G# %G$ &G% &G& 'G' 'G+ (G( (G )G) )G* *G+ *G, +G- +G ,G. ,G/ -G0 -G1 .G2 .G3 /G4 /G5 0G6 0G7 1G8 1G9 2G: 2G; 3G< 3G+ 4G= 4G> 5G? 5G@ 6GA 6GB 7GC 7GD 8GE 8GF 9GG 9G+ :GH :GI ;GJ ;GK <GL <GM =GN =G >GO >GP ?GQ ?GRDl@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @GS @GT AGU AGV BGW BGX CGY CGZ DG[ DG\ EG] EG+ FG^ FG_ GG` GGa HGb HGc IGd IGe JGf JGg KGh KGi LGj LGk MGl MG+ NGm NGn OGo OGp PGq PGr QGs QGt RGu RGv SGw SGx TGy TGz UG{ UG| VG} VG~ WG WG XG XG YG YG ZG ZG [G [G \G \G ]G ]G+ ^G ^G _G _GDl`abcdefghijklmnopqrstuvwxyz{|}~ `G `G aG aG bG bG cG cG dG dG eG eG fG fG gG gG hG hG iG iG jG jG kG kG lG lG mG mG nG nG! oG oG pG pG qG qG rG rG+ sG sG tG tG uG uG vG vG wG wG xG xG yG yG zG zG {G {G |G |G }G }G ~G ~G G G+Dl G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G+ G GDl G G  G  G  G  G G G G G G G G G G G G G G G+ G G G G G G= G  G! G" G# G$ G% G& G' G( G) G* G+ G, G+ G- G. G/ Gy G0 G1 G2 G3 G4 G5 G6 G7 G8 G9 G: G+ G; G G< G= G> G? G@ GADl GB GC GD GE GF GG GH GI GJ GK GL G+ GM GN GO GP GQ GR GS GT GU GV GW GX GY GZ G[ G\ G] G^ G_ G` Ga G+ Gb Gc Gd Ge Gf Gg Gh Gi Gj Gk Gl Gm Gn Go Gp G+ Gq Gr Gs Gt Gu Gv Gw Gx Gy Gz G{ G| G} G~Dl G G+ G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G+Dl     G G G G G G G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G GDl !"#$%&'()*+,-./0123456789:;<=>? G G !G !G "G "G+ #G #G $G $G %G %G &G &G 'G 'G (G (G  )G  )G+ *G  *G  +G +G ,G ,G -G -G .G .G /G /G 0G 0G 1G 1G+ 2G 2G 3G 3G 4G 4G 5G  5G! 6G" 6G# 7G$ 7G% 8G& 8G' 9G( 9G) :G* :G+ ;G, ;G- <G. <G+ =G/ =G0 >G1 >G2 ?G3 ?G4Dl@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @G5 @G6 AG7 AG8 BG9 BG: CG; CG< DG= DG+ EG> EG? FG@ FG GGA GGB HGC HGD IGE IGF JGG JG+ KGH KGI LGJ LGK MGL MGM NGN NGO OGP OGQ PGR PGS QGT QGU RGV RGW SGX SGY TGZ TG[ UG\ UG+ VG] VG^ WG_ WG` XGa XGb YGc YGd ZGe ZGf [Gg [Gh \Gi \Gj ]Gk ]Gl ^Gm ^Gn _Go _GpDl`abcdefghijklmnopqrstuvwxyz{|}~ `Gq `Gr aGs aG+ bGt bGu cGv cGw dGx dGy eGz eG{ fG| fG} gG~ gG hG hG iG iG jG jG kG kG lG lG+ mG mG nG nG oG oG pG pG qG qG rG rG sG sG tG tG uG uG vG vG+ wG wG xG xG yG yG zG zG {G {G |G |G }G }G ~G ~G G G+Dl G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G+ G G G G G G G G G G G G+ G G G G G G G GDl G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G G G+ G G G G G! G" G# G$ Dl G% G& G' G( G) G* G+ G, G- G. G/ G+ G0 G1 G2 G3 G4 G5 G6 G7 G8 G9 G: G; G< G+ G= G> G? G@ GA GB GC GD GE GF GG GH GI GJ GK GL GM G+ GN GO GP GQ GR GS GT GU GV GW GX G+ GY GZ G[ G\ G] G^ G_ G` Dl Ga Gb Gc G+ Gd Ge Gf Gg Gh Gi Gj Gk Gl Gm Gn Go Gp Gq Gr Gs Gt Gu Gv G+ Gw G Gx Gy Gz G{ G| G} G~ G G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G Dl     G G G G G G+ G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G Dl !"#$%&'()*+,-./0123456789:;<=>? G G !G !G "G "G #G #G $G $G %G %G+ &G &G 'G 'G (G (G )G )G *G *G +G +G ,G ,G -G -G .G .G /G /G 0G 0G 1G 1G 2G 2G+ 3G 3G 4G 4G 5G 5G 6G 6G 7G 7G 8G 8G 9G 9G :G :G ;G ;G <G <G =G =G >G >G+ ?G ?G Dl@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @G @G AG AG BG BG CG CG DG DG EG! EG" FG# FG$ GG% GG+ HG& HG' IG( IG) JG* JG+ KG, KG- LG. LG/ MG0 MG1 NG2 NG3 OG4 OG5 PG6 PG7 QG8 QG9 RG: RG; SG< SG+ TG= TG> UG? UG VG@ VGA WGB WGC XGD XGE YGF YGG ZGH ZGI [GJ [GK \GL \GM ]GN ]GO ^GP ^G+ _GQ _GR Dl`abcdefghijklmnopqrstuvwxyz{|}~ `GS `GT aGU aGV bGW bGX cGY cGZ dG[ dG+ eG\ eG] fG^ fG_ gG` gGa hGb hGc iGd iGe jGf jGg kGh kG+ lGi lGj mGk mGl nGm nGn oGo oGp pGq pGr qGs qGt rGu rGv sGw sGx tGy tGz uG{ uG| vG} vG~ wG wG xG xG yG yG zG zG+ {G {G |G |G }G }G ~G ~G+ G G Dl G G G G G G G G+ G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G Dl G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G G G G G G G G G+Dl G G G G G G G G G G G G G G G G G G G G G G G G! G" G# G$ G% G& G+ G' G( G) G* G+ G, G- G. G/ G0 G1 G2 G3 G4 G5 G6 G7 G8 G9 G: G; G< G= G+ G> G? G@ GA GB GC GD GE GF GG Dl GH GI GJ GK GL GM GN GO GP GQ GR GS GT G+ GU GV GW GX GY GZ G[ G\ G] G^ G_ G` Ga Gb Gc Gd Ge Gf Gg G+ Gh G* Gi Gj Gk Gl Gm Gn Go Gp Gq Gr Gs Gt Gu G+ Gv Gw Gx Gy Gz G{ G| G} G~ G G G G G+Dl     G G G G G G G G G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G Dl !"#$%&'()*+,-./0123456789:;<=>? G G !G !G "G "G #G #G $G $G %G %G &G &G 'G 'G (G (G+ )G )G *G *G +G +G ,G ,G -G -G .G .G /G /G 0G 0G+ 1G 1G 2G 2G 3G 3G 4G 4G 5G 5G 6G 6G+ 7G 7G 8G 8G 9G 9G :G :G ;G ;G <G <G+ =G =G >G >G ?G ?G Dl@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @G @G+ AG AG BG BG CG CGS DG DG EG EG FG FG GG GG HG HG IG IG JG JG KG KG LG LG MG MG NG NG+ OG OG PG PG QG QG RG RG SG SG! TG" TG# UG$ UG% VG& VG' WG( WG) XG* XG+ YG, YG- ZG. ZG/ [G0 [G+ \G1 \G2 ]G3 ]G4 ^G5 ^G6 _G7 _G8 Dl`abcdefghijklmnopqrstuvwxyz{|}~ `G9 `G: aG; aG< bG= bG> cG? cG@ dGA dGB eGC eG+ fGD fGE gGF gGG hGH hGI iGJ iGK jGL jGM kGN kGO lGP lGQ mGR mGS nGT nG+ oGU oGV pGW pGX qGY qGZ rG[ rG\ sG] sG^ tG_ tG` uGa uGb vGc vGd wGe wGf xGg xGh yGi yGj zGk zG+ {Gl {Gm |Gn |Go }Gp }Gq ~Gr ~Gs Gt Gu Dl Gv Gw Gx Gy Gz G{ G| G} G~ G G G G G G G G G+ G G G G G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G G G G G Dl G G G G G G G G G G G G+ G G{ G G G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G G G G G+ G G G G G G Dl G G G G G G G G+ G G G G G G G G G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G! G" G# G$ G% G& G' G+ G( G) G* G+Dl G, G- G. G/ G0 G1 G2 G3 G4 G5 G6 G+ G7 G8 G9 G: G; G< G= G> G? G@ GA GB GC GD GE G+ GF GG GH GI GJ GK GL GM GN GO GP GQ GR G+ GS GT GU GV GW GX GY GZ G[ G\ G] G^ G_ G` Ga G+ Gb Gc Gd Ge Gf GgDl     Gh Gi Gj Gk Gl Gm Gn Go Gp Gq Gr Gs Gt Gu Gv Gw Gx Gy Gz G{ G| G} G~ G+ G G G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G GDl !"#$%&'()*+,-./0123456789:;<=>? G G !G !G "G "G+ #G #G $G $G %G %G &G &G 'G 'G (G (G )G )G *G *G +G +G ,G ,G -G -G .G .G+ /G /G 0G 0G 1G 1G 2G 2G 3G 3G 4G 4G 5G 5G 6G 6G 7G 7G 8G 8G 9G 9G :G :G ;G ;G <G <G =G =G+ >G >G ?G ?GDl@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @G @G AG AG BG BG CG CG DG DG EG EG FG FG GG GG HG HG IG IG JG JG KG KG LG LG+ MG MG NG NG OG OG PG PG QG QG RG RG SG SG TG  TG+ UG  UG  VG  VG WG WG XG XG YG YG ZG ZG [G [G \G \G ]G ]G ^G ^G+ _G _GDl`abcdefghijklmnopqrstuvwxyz{|}~ `G `G  aG! aG" bG# bG$ cG% cG& dG' dG( eG) eG* fG+ fG, gG- gG. hG/ hG0 iG1 iG2 jG3 jG4 kG5 kG6 lG7 lG8 mG9 mG+ nG: nG; oG< oG= pG> pG? qG@ qGA rGB rGC sGD sGE tGF tGG uGH uGI vGJ vGK wGL wGM xGN xG+ yGO yGP zGQ zGR {GS {GT |GU |GV }GW }G+ ~GX ~GY GZ G[Dl     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgijklmnopqrstuvwxyz{|}~ G\ G] G^ G_ G` Ga Gb Gc Gd G+ Ge Gf Gg Gh Gi Gj Gk Gl Gm Gn Go Gp Gq Gr Gs Gt Gu G+ Gv Gw Gx Gy Gz G{ G| G} G~ G G G G G G G G G G G+ G G G G G G G G G G G G G G G GDl G G G G G G G G+ G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G+Dl G G G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G  G  G  G+ G  G G G G GDl G G G G G G G G G G G G G G G  G! G" G# G$ G% G& G+ G' G( G) G* G+ G, G- G. G/ G0 G1 G2 G3 G4 G5 G6 G7 G8 G9 G: G; G< G= G> G? G@ GA G+ GB GC GD GE GF GG GH GI GJ GK GL GM GN GODl     GP GQ GR GS GT GU GV G+ GW GX GY GZ G[ G\ G] G^ G_ G` Ga Gb Gc Gd Ge Gf Gg Gh Gi Gj Gk G+ Gl Gm Gn Go Gp Gq Gr Gs Gt Gu Gv G+ Gw Gx Gy Gz G{ G| G} G~ G G G G G G G G+ G G G G G GDl !"#$%&'()*+,-./0123456789:;<=>? G G !G !G "G "G #G #G $G $G %G %G &G &G 'G 'G (G (G )G )G+ *G *G +G +G ,G ,G -G -G .G .G /G /G 0G 0G 1G 1G 2G 2G 3G 3G 4G 4G 5G 5G 6G 6G+ 7G 7G 8G 8G 9G 9G :G :G ;G ;G <G <G =G =G >G >G ?G ?GDl@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @G @G AG AG BG BG CG CG DG DG+ EG EG FG FG GG GG HG HG IG IG JG JG KG KG LG LG MG MG NG NG OG OG PG PG QG QG RG RG SG SG TG TG UG UG+ VG VG WG WG XG XG YG YG ZG ZG [G [G \G \G ]G ]G ^G ^G _G _GDl`abcdefghijklmnopqrstuvwxyz{|}~ `G `G  aG  aG  bG  bG cG cG+ dG dG eG eG fG fG gG gG hG hG iG iG jG jG kG kG lG lG  mG! mG" nG# nG$ oG% oG+ pG& pG' qG( qG) rG* rG sG+ sG, tG- tG. uG/ uG0 vG1 vG2 wG3 wG+ xG4 xG5 yG6 yG7 zG8 zG9 {G: {G; |G< |G+ }G= }G> ~G? ~G@ GA GBDl GC GD GE GF GG GH GI GJ GK GL GM G+ GN GO GP GQ GR GS GT GU GV GW GX GY GZ G+ G[ G\ G] G^ G_ G` Ga Gb Gc Gd Ge Gf Gg Gh Gi Gj Gk G+ Gl Gm Gn Go Gp Gq Gr Gs Gt Gu Gv Gw Gx Gy Gz G{ G| G} G~ GDl G G+ G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G+ G G G G G G G G G G G G G GDl G G G G G G+ G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G GDl G G G G G G+ G G G G G G G G G G+ G G G G G  G  G  G  G G G G G G+ G G G G G G G G G G G G G G G  G+ G! G" G# G$ G% G& G' G( G) G* G+ G, G- G. G/ G0 G1 G2Dl                                 G3 G4  G5  G6  G7  G8  G9  G:  G;  G+  G<  G=  G>  G?  G@  GA  GB  GC GD GE GF GG GH GI GJ GK GL GM  GN  GO  GP  GQ  GR  G+  GS  GT  GU  GV  GW  GX  GY  GZ  G[  G\  G]  G^  G_  G`  Ga  Gb  Gc  Gd  Ge  Gf  Gg  Gh  Gi  Gj  Gk  Gl  Gm  Gn  Go  GpDl ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?  Gq Gr ! Gs ! Gt " Gu " Gv # Gw # G+ $ Gx $ Gy % Gz % G{ & G| & G} ' G~ ' G ( G ( G ) G ) G * G * G + G + G , G , G+ - G - G . G . G / G / G 0 G 0 G 1 G 1 G 2 G 2 G+ 3 G 3 G 4 G 4 G 5 G 5 G 6 G 6 G 7 G 7 G 8 G 8 G+ 9 G 9 G : G : G ; G ; G < G < G = G = G > G > G+ ? G ? GDl@ 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 [ \ ] ^ _  @ G @ G A G A G B G B G C G C G D G D G E G E G+ F G F G G G G G H G H G I G I G J G J G K G K G L G L G M G M G N G N G+ O G O G P G P G Q G Q G R G R G S G S G T G T G U G U G V G V G W G W G X G X G Y G Y G Z G Z G [ G [ G \ G \ G+ ] G ] G ^ G ^ G _ G _ GDl` 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 { | } ~   ` G ` G a G a G b G b G+ c G c G d G d G e G e G f G f G g G g G h G h G i G i G j G j G k G k G l G l G m G m G n G n G o G o G+ p G p G q G  q G  r G  r G  s G s G t G t G u G u G v G v G w G w G+ x G x G y G y G z G z G { G { G | G | G } G  } G! ~ G" ~ G#  G$  G%Dl                                 G& G' G( G+ G) G* G+ G, G- G. G/ G0 G1 G2 G3 G+ G4 G5 G6 G7 G8 G9 G: G; G< G= G> G G? G@ GA GB GC GD GE GF GG GH GI GJ GK GL GM GN GO GP GQ GR GS GT GU GV GW GX GY GZ G[ G\ G] G^ G_ G` Ga G+Dl                                 Gb Gc Gd Ge Gf Gg Gh Gi Gj G Gk Gl Gm Gn Go Gp Gq Gr Gs Gt Gu Gv Gw Gx Gy Gz G{ G| G} G~ G G G G G G G G G G G G G G! G G G G G G G G G G G G G G G G G G G GDl                                 G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G+ G GDl                                 G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G+ G  G  G  G  G G G G G G G G G G G G+ G GDl                                 G G  G  G  G  G  G   G!  G"  G#  G$  G%  G&  G'  G(  G)  G*  G+ G, G+ G- G. G/ G0 G1 G2 G3 G4  G5  G6  G7  G8  G9  G:  G;  G<  G=  G+  G>  G?  G@  GA  GB  GC  GD  GE  GF  GG  GH  GI  GJ  G+  GK  G*  GL  GM  GN  GO  GP  GQ  GR  GS  GT  GUDl ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?  GV G+ ! GW ! G* " GX " GY # GZ # G[ $ G\ $ G] % G^ % G_ & G` & Ga ' Gb ' Gc ( Gd ( Ge ) Gf ) Gg * Gh * Gi + Gj + Gk , Gl , Gm - Gn - G+ . Go . Gp / Gq / Gr 0 Gs 0 Gt 1 Gu 1 Gv 2 Gw 2 Gx 3 Gy 3 Gz 4 G{ 4 G| 5 G} 5 G~ 6 G 6 G 7 G 7 G 8 G 8 G+ 9 G 9 G : G : G ; G ; G < G < G = G = G > G > G ? G ? GDl@ 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 [ \ ] ^ _  @ G @ G+ A G A G B G B G C G C G D G D G E G E G F G F G G G G G H G H G I G I G J G J G K G K G L G L G+ M G M G N G N G O G O G P G P G Q G Q G R G R G S G S G T G T G+ U G U G V G V G W G W G X G X G Y G Y G Z G Z G [ G [ G \ G \ G ] G ] G+ ^ G ^ G _ G _ GDl` 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 { | } ~   ` G ` G a G a G b G b G c G c G d G d G e G e G f G f G g G g G+ h G h G i G i G j G j G k G k G l G l G m G m G n G n G+ o G o G p G p G q G q G r G r G s G s G t G t G u G u G v G v G w G w G x G x G y G y G z G z G { G { G | G | G } G } G ~ G ~ G   G   G Dl                                 G  G G G G G G G G G G G G G G G G G G G G  G! G" G# G$ G% G& G' G( G) G* G+ G, G- G. G/ G0 G1 G2 G3 G4 G5 G6 G7 G8 G9 G: G; G< G= G> G? G@ GA GB GC GD GE GF GG GH GI GJ GKDl                                 GL GM GN GO GP GQ GR GS GT GU GV GW GX GY GZ G[ G\ G+ G] G^ G_ G` Ga Gb Gc Gd Ge G Gf Gg Gh Gi Gj Gk Gl Gm Gn Go Gp Gq Gr Gs Gt Gu Gv Gw Gx Gy Gz G{ G| G+ G} G~ G G G G G G G G G GDl                                 G G G G G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G+ G G G G G G G G G G G G G G G G G G G G+ G G G G G G G GDl                                 G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G GDl                                 G G  G  G   G   G   G   G  G  G  G  G  G  G  G  G  G  G G G G G G G G G G  G!  G"  G#  G$  G+  G%  G&  G'  G(  G)  G*  G+  G,  G-  G.  G/  G0  G1  G2  G3  G4  G5  G6  G7  G8  G9  G:  G;  G<  G=  G>  G?  G@  GA  GB  GC  G+Dl ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?  GD GE ! GF ! GG " GH " GI # GJ # GK $ GL $ GM % GN % GO & GP & GQ ' GR ' GS ( GT ( GU ) GV ) GW * GX * G+ + GY + GZ , G[ , G\ - G] - G^ . G_ . G` / Ga / Gb 0 Gc 0 Gd 1 Ge 1 Gf 2 Gg 2 Gh 3 Gi 3 Gj 4 Gk 4 Gl 5 Gm 5 G+ 6 Gn 6 Go 7 Gp 7 Gq 8 Gr 8 Gs 9 Gt 9 Gu : Gv : Gw ; Gx ; Gy < Gz < G+ = G{ = G| > G} > G~ ? G ? GDl@ 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 [ \ ] ^ _  @ G @ G A G A G B G B G C G C G D G D G E G E G F G F G G G G G H G H G I G I G+ J G J G K G K G L G L G M G M G N G N G O G O G P G P G+ Q G Q G R G R G S G S G T G T G U G U G V G V G W G W G X G X G Y G Y G Z G Z G [ G [ G \ G \ G+ ] G ] G ^ G ^ G _ G _ GDl` 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 { | } ~   ` G ` G a G a G b G b G c G c G d G d G e G e G f G f G g G g G h G h G i G i G j G j G k G k G l G l G m G m G n G n G o G o G p G p G q G q G r G r G s G s G t G t G u G u G v G v G w G w G x G x G y G y G z G z G { G { G | G | G } G } G ~ G ~ G  G  GDl                                 G G G G G G G G G G G G  G  G  G  G G G G G G G G G G G G G G G G G G G G  G! G" G# G$ G% G& G' G( G) G* G+ G, G- G. G/ G0 G1 G2 G3 G4 G5 G6 G7 G8 G9 G: G; G< G=Dl                                 G> G? G@ GA GB GC GD GE GF GG GH GI GJ GK GL GM GN GO GP G+ GQ GR GS GT GU GV GW GX GY GZ G[ G\ G] G^ G_ G` Ga Gb Gc Gd Ge Gf Gg Gh Gi Gj Gk Gl Gm Gn Go Gp Gq Gr Gs Gt Gu Gv Gw Gx Gy Gz G{ G|Dl                                 G} G~ G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G GDl                                 G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G+ G G G G G GDl                                 G G  G  G  G  G  G  G  G  G  G  Gw  G  G  G  G   G   G  G  G G G G G+ G G G G  G  G  G  G  G  G  G  G+  G  G  G  G  G   G!  G"  G#  G$  G%  G&  G'  G(  G)  G*  G+  G,  G-  G.  G/  G0  G1  G2  G3  G4  G5  G6  G+Dl ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?  G7 G8 ! G9 ! G: " G; " G< # G= # G> $ G? $ G@ % GA % GB & GC & GD ' GE ' GF ( GG ( GH ) GI ) GJ * GK * GL + GM + GN , GO , GP - GQ - GR . GS . GT / GU / G+ 0 GV 0 GW 1 GX 1 GY 2 GZ 2 G[ 3 G\ 3 G] 4 G^ 4 G_ 5 G` 5 Ga 6 Gb 6 Gc 7 Gd 7 Ge 8 Gf 8 Gg 9 Gh 9 Gi : Gj : Gk ; Gl ; Gm < Gn < G+ = Go = Gp > Gq > Gr ? Gs ? GtDl@ 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 [ \ ] ^ _  @ Gu @ Gv A Gw A Gx B Gy B Gz C G{ C G| D G} D G~ E G E G F G F G G G G G H G H G I G I G J G J G K G K G+ L G L G M G M G N G N G O G O G P G P G Q G Q G R G R G S G S G T G T G U G U G V G V G W G W G X G X G+ Y G Y G Z G Z G [ G [ G \ G \ G ] G ] G ^ G ^ G _ G _ GDl` 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 { | } ~   ` G ` G a G a G b G b G c G c G d G d G e G e G f G f G+ g G g G h G h G i G i G j G j G k G k G l G l G m G m G n G n G o G o G p G p G q G q G r G r G+ s G s G t G t G u G u G v G v G w G w G x G x G y G y G z G z G { G { G | G | G+ } G } GR ~ G ~ G  G  GDl                                 G G G G G G G G G G G G G G+ G G G G+ G G G G G G G G+ G G G G  G  G  G  G G G G G G G+ G G G G G G G G G G G G G G  G! G"  G# G+ G$ G% G& G' G( G)Dl                                 G* G+ G, G- G. G+ G/ G0 G1 G2 G3 G4 G5 G6 G7 G8 G9 G: G; G< G= G+ G> G? G@ GA GB GC GD GE GF GG GH GI GJ GK GL GM GN G+ GO GP GQ GR GS GT GU GV GW GX GY GZ G[ G\ G] G^ G_ G+ G` Ga Gb Gc Gd GeDl                                 Gf Gg Gh Gi Gj Gk Gl Gm Gn Go Gp Gq Gr G+ Gs Gt Gu Gv Gw Gx Gy Gz G{ G| G} G~ G G G G G G+ G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G GDl                                 G G G G G G G G G G G G G G G G G G G G G G G G G G G G+ G G G G= G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G GDl     G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G  G  G  G  G G G G G G G G G G G G G G G G G G G G  G!Dl !"#$%&'()*+,-./0123456789:;<=>? G" G# !G$ !G% "G& "G+ #G' #G( $G) $G* %G+ %G, &G- &G. 'G/ 'G0 (G1 (G2 )G3 )G4 *G5 *G+ +G6 +G7 ,G8 ,G9 -G: -G; .G< .G= /G> /G+ 0G? 0G@ 1GA 1GB 2GC 2GD 3GE 3GF 4GG 4GH 5GI 5GJ 6GK 6G+ 7GL 7GM 8GN 8GO 9GP 9GQ :GR :GS ;GT ;GU <GV <GW =GX =G+ >GY >GZ ?G[ ?G\Dl@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @G] @G^ AG_ AG` BGa BGb CGc CG+ DGd DGe EGf EGg FGh FG' GGi GGj HGk HGl IGm IGn JGo JGp KGq KGr LGs LGt MGu MG+ NGv NGw OGx OGy PGz PG{ QG| QG} RG~ RG SG SG TG TG UG UG VG VG WG WG XG XG YG YG ZG ZG [G [G \G \G ]G ]G ^G ^G _G _GDl`abcdefghijklmnopqrstuvwxyz{|}~ `G `G aG aG bG bG cG cG dG dG eG eG fG fG gG gG hG hG iG iG jG jG kG kG lG lG mG mG nG nG oG oG pG pG qG qG rG rG sG sG tG tG uG uG vG vG wG wG xG xG yG yG zG zG {G {G |G |G }G }G ~G ~G G GDl G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G  G  G  G  G G G G G G G G G G G G GDl G G G G G G G  G! G" G# G$ G% G& G' G( G) G* G+ G, G- G. G/ G0 G1 G2 G3 G4 G5 G6 G7 G8 G9 G: G; G< G= G> G? G@ GA GB GC GD GE GG GG GG6PH@ 0(   >@I1_1 1_1C#.,C:\Users\xie\Desktop\1.txt7 Sheet2ggD     dMbP?_*+%&??'jZ?(~?)~?M HP LaserJet P2050 Series PCL6C 4dXXA4DINU" "NQ SMTJ HP LaserJet P2050 Series PCL6InputBinFORMSOURCERESDLLUniresDLLESPRITSupportedTrueHPDocUISUITrueHPNUseDiffFirstPageChoiceTRUEResolution600dpiFastResTrueCollateOFFOrientationPORTRAITHPOrientRotate180FalseDuplexNONEPaperSizeA4HPEnableRAWSpoolingTrueMediaTypeAUTOColorModeMonoEconomodeFalseTextAsBlackFalseTTAsBitmapsSettingTTModeOutlineJPEGEnableAutoAlternateLetterHeadFalseHPPaperSizeALMConstraintsSTATEMENTHPEnableGrafitCompressionTrueHPRequestObjectTagDumpFalseHPRequestNullStripCommandFalseHPHybridRenderSwitchHPHybridAutoHPManualDuplexDialogItemsInstructionID_01_FACEDOWN-NOROTATEHPManualFeedOrientationFACEDOWNHPOutputBinOrientationFACEDOWNPrintQualityGroupPQGroup_2HPLpiSelectionNoneHPDocPropResourceDatahpchl6bu.cabHPColorModeMONOCHROME_MODEHPPDLTypePDL_PCL6HPPngPassthroughTrueHPPJLEncodingUTF8HPDuplicateJobNameOverrideSWFWHPJobAccountingHPJOBACCT_JOBACNT_GROUPNAMEHPJobByJobOverrideJBJOHPJobAccWoPinTrueHPBornOnDateHPBODHPXMLFileUsedhpc205h6.xmlHPEnableObjectTaggingFalseHPEnablePageTimerFalseHPSmartDuplexSinglePageJobTrueHPSmartDuplexOddPageJobTrueHPEnableNullStripsTrueHPEnableEfficientMonoFALSEHPEnableImageProcessingPathFALSEHPMonochromePrinterTRUEHPCallToWritePrinterRequiredTRUEHPMemoryManagerTrueHPGetCompressionRatioValue17MaxStripHeight64HPGetByteAlignedValueForWidth256HPGetDeltaRowHalfToneValue1HPPrintOnBothSidesManuallyFalseHPPaperSizeDuplexConstraintsEXECUTIVEHPMediaTypeDuplexConstraintsHEAVYHPPCL6PassThroughTrueHPStraightPaperPathFalseHPPageExceptionsFileHPCPE6buHPPageExceptionsLowEndHPPageExceptionsLowEndVerHPPageExceptionsInterfaceShowPageExceptionsHPPageExceptionsCoverInsertionPSAlignmentFileHPCLS6buPSServicesOptionHPServiceFileNameEndHPSmartHub_OnlinediagnostictoolsTRUEHPSmartHub_SupportandtroubleshootingTRUEHPSmartHub_ProductmanualsTRUEHPSmartHub_CheckfordriverupdatesTRUEHPSmartHub_OrdersuppliesTRUEHPSmartHub_ShowmehowTRUEHPSmartHubInet_SID_263_BID_514_HID_265HPConsumerCustomPaperTrueJRConstraintsJRCHDPartialHPPreAnalysisTrueHPManualDuplexDialogModelModelessHPManualDuplexPageOrderEvenPagesFirstHPCustomDUplexableRange3x5_8.5x14HPMapManualFeedToTray1TrueHPManualDuplexPageRotateDriverRotateIUPHxKAwMC?z=*9Qmv)]EHC)=փϢK.zo!klbDL&'3d 3\;!HyChգrN!K[P_y~c32qq}MIr}6rǶw]̗"8ymS5pG+.#7wnjV,9=ӜeD{%z,>'-nZJ#%6BIZB <+}T*ܡ|! s<+ҴigFq^',ZWTGt颹q %/d||~V>|)QxXD".?H[n{i3kӔӼ=üx^Jԍp89PP㖠e.5ۥ:u{Hz؈N]X7Ǻ?rbqok [Gv[Mը.XNSWs<" dXX BP(? BP(?&\(U} } }  } }  } }  } }  }   E@ N @ ? ? ? ? ? ? ? @ sxsssssssss? rrrrrrrrrr? ]y~ ]&@ ]z~ ](@ ]{~ ]*@ ]|~ ],@ ]}~  ].@ ]~~ ]5@ ]~ ]6@ ]~ ]7@ \w~ ]?@ ]~  ]@@ ]~ ]@@ ]~ ]A@ ]~ ]A@ ]~ ]B@ ]~  ]B@ ]~ ]D@ ]~ ]E@ ]~ ]E@ ]~ ]F@ ]~  ]F@ ]~ ]G@ ]~ ]I@ ]~ ]I@ ]~ ]J@ ]~  ]J@ ]~ ]K@ ]~ ]N@ ]~ ]O@ ]~ ]O@ ]~  ]P@ ]~ ]@P@ ^~ ]P@]]]]]] t qqqqqqqqq ,,NPHP0(  >@U    7          Sheet6ggD dir1Sheet1Sheet2Sheet4 %  !"#$&'()*+,-./012346789:;<=>?@ABCDFGHIJKLMNOPQRSTVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{}~-0* pHd VBAProject4@j = r )X J< rstdole>stdoleh%^*\G{00020430-C 0046}#2.0#0#C:\Windows\syst em32\e2.tlb#OLE Automation`EOffDicEOficEE2DF8D04C-5BFA-101B-BDE5EAAC42Egram Files\CommonMicrosoft Shared\OFFICE12\MSO.0DLL#M 1@5.0 Ob LibraryK`MSXML2MSXMPL2lb`F5078F18-C551-11D3-89B9BSF81FE221}#6MSSESmsxml6.dll(, v#@MSForms> $FwrmHs3@#0D452EE1-E08FTA-8-02608C@4D0BB4wFM20LKB J/;"1IAA0}#0A# 50 A34703356-719A-450A-BCB550DB@EC69C96Users\LENOVO\AppData\Local\Temp\V BE7.exdH_ :!B(d :!DB@F :!H(Jko Nh]]0H !& ( N|k( !82ʡֱϽУ !& !8 +X !& !8 $X!ZB@\'P !& !8$X$^'R V R d P f b$`%X$^ d P f b$`%X$^$'Vk P 'P'R_ d P f b$`%X$^'T Txk T$ V T$h00 R,  d P f b$`%X$^'Rk P 'P R  !8 $*!ZB@\|k !& !8 $XB@H j!ZC@\ nl rp vt RxC@l9z9|9~999 999q !8e 3 !& !8 +X !& !8 $X!ZB@\ !& !8$X$^|pkh'P !& !8 $X$^'R_0 R d P f b$`%X$^xk P 'P !& !8$X$^'R V R d P f b$`%X$^ d P f b$`%X$^$'Vk( P 'P'R_ d P f b$`%X$^'T Txk T$ V R,  d P f b$`%X$^'RkX P 'P@ R|(k !& !8 $XB@H j!ZC@\ nl rp vt RxC@l9z9|9~999 999qhk`oXP<Attribute VB_Name = "She@et1" Bast0{00020820- C$0046}|Global!SpacFalse dCreatablPre declaIdTruBExposeTemplateDeriv$Bustom izD2Option /licit Rem ο P*. Sub Works_SelecChange(ByVal Target As R ) O/rror ResuNex3 Dim iInteger, itemCnO! If/.row < dRowStart Then e it*AEnd IfAColumns.cou> 1 Or $Not initialize#MsgBox "ģʼʧ°汾", vbExmaW, MSG_TI8TLEA0i714" '14רְCfrmTree.Ca @& E Sh\vbModalTs@81.t"LListClearommandButton1.Enį;Dp\ rA'§ЀUSSGoTo e>xaRK/PdxStrUing@, codeLpreC aW ex:a.Ex?X #X-2D<2ʡֱϽУ Cellls(Csag,E]+ 1)71).M}ip`.D tAD'= 0C#&= Trim( ) Whi (RJ @y B`s(dic"). `CheckD + Cc61))(ALeft(")), 2gZ} /d'1W8end#EkDo P$, U[!0l$"TǬA@_"'!*AzR ight("00" & " &cI?7 =Loop#0 "k 356&?3?!/3d_T/n-G db5@?`_%\\-1YWb)+n4%n'!s_ltlreOOP_l?_>cϤ<`).ii iiijiixlBetween, Formula1:=dxS tr .IgnoreBlank = TruehnCellDropdown:putTitle 2""jError.In/Messag1IMEHMod.xl NoControlpShow\F End Wi thIf D Sub ME (SLSS<N0{00020820-0000-0000-C000-000000000046}@(%H@0)XxAttribute VB_Name = "She@et2" Bast0{00020820- C$0046}|Global!SpacFalse dCreatablPre declaIdTruBExposeTemplateDeriv$Bustom izD2'ûF#xME (SLSS<N0{00020820-0000-0000-C000-000000000046}@(%H@0)XxAttribute VB_Name = "She@et4" Bast0{00020820- C$0046}|Global!SpacFalse dCreatablPre declaIdTruBExposeTemplateDeriv$Bustom izD2'û:%#xSheet55Sheet6 EclsNode@frmTreeZcrME (SLSS<N0{00020820-0000-0000-C000-000000000046}@(%H@0)XxAttribute VB_Name = "She@et5" Bast0{00020820- C$0046}|Global!SpacFalse dCreatablPre declaIdTruBExposeTemplateDeriv$Bustom izD2'û.3#xME (SLSS<N0{00020820-0000-0000-C000-000000000046}@(%H@0)XxAttribute VB_Name = "She@et6" Bast0{00020820- C$0046}|Global!SpacFalse dCreatablPre declaIdTruBExposeTemplateDeriv$Bustom izD2K*rU~~~~~~~~~~~~~~~H |[X]`I` z[      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX[\]^_`abcdefghijklmnopqrstuvwxyz{|}~n 9R&9DûxRXRRpRRRME8$(, 40<SS S<&<JN0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}XX5"hP% %%%%%xHgu%Htion%b b"b$0B(X b,`b.b2";(%%%"7b@ "0"p"bB b B& b*8b0 B400 "=8"A@jN0C %Lp $R0(XH1,`dCbhH%H,!hHi A ij,!( i  Ahil  !< i  A<`(I `n ! i  A**Ir `t `v `x z%,!%) %,!h @ 8  %)`  %  )  %,!0  i A p i,! i  AP 0 i ,! i A ij,! X P %)x %,! %) % !P0 i  AI  ! i  ApP I  ` @ 0%,!`@i A33i` `" %,!Pi ` %,!P%) %`" H%,!%) % () %,!ph%) %`" %,!` %)8 % X% ! i  A  I ,` 00)$%)(%i  ```" x %` ,EEi8I XI xI %) %`v z%,@i`i %`,Pi ` H%,**i %) % %`,!`X%) %  )%,!P0i Ai Ai,!pPi ,!%) % H )@%,! 4%) 4%  ) 4%,!h`%) % )%,!h@8%)` % )% 8)0%,!x%) %  )  %,! X P  %)x  %,! i A@! !i,!!!!%)! % "!) "% """ ""p" z"% 0#"ix z(#%,#p# 88I #i  $@$#EEi& `(`*,:8%$ '')$$%i< $i  ``" 0%% >%  z%% B&%..iD  z&% 'X& )&& x&i&iF&)'' &i8')X'(%`H`J`L`N @ ((SSiP  (`( i  (0% P)(,,i ` @ H)0% \) `)""`t dh*(*)H*8%`f l@+*in*ip*ir+it`t zH,+))in+ip+ir+it`t `| `~ , 2.`"````*`(```@ @ ``@ @ @  `Cx. /.MM)./<%ip` ` ` ` / (00%"BX0H"D0"F0"H2PjPCjT 1CjVCjZp1Cj\1Cj^1Cj`1CjbCbd82C"f@+12,XP h@$8% (.XX0P)  H,p`p10/ &)0(82P @h0/` ( ")p 0 "0# 800p H1 1P#h*@! PP!%(100``1'Hh8h RR X0/0`2)X(*\Rffff*0;58f39f13\0(*\Rffff*0;58f39f13\1(*\Rffff*0;58f39f13\2Y)  R h `p 6  8 H BP L F 0 P8 2 R P h < 8  >  P`     > V8DVT0*DRXp    b"x.      ( 0 8 @ @H  P `  h x      B P X " ` Lh       B   "  (  0 @ P X B ` h p " x               ( B 0 4@ jx   "   4( >` 0  (0 8H P hx "     (8 @HP X B` >h B  "   B "  ( 0 @PX B`hp " x   B "  LHP h x B( B(H hp B x < "  @ 0 @P X ` hpx B  < "  <08H X `x "   f PX hp  @ B "    (08X` hp  2 R8P ` p x        (0 8 @H&Px B   @ (08 B0@ 2p       8@H BP Xh " p x B 6    ( 08 @ Phpx B   B  "  $ $@ $h B  P 8@ HP2X     @ ,Hx   $    0P Xhp x ^ B$      ( 8  @ X  ` p  x            ! !! ! (!0! 8!@! H! *P! !!!! !!  ! !!  ! !!@""" " ("JH"".""" B " P" 8# <X# 8# # B# P8$$$$$$ $ $ $$$$$ B% (% 0% P%X% `% h% x% %%%% %%% B % P% @& <`& 8& & 4& P0''' ' ' ' ''' ''  '(( (0( 8( H(X(h(p( x(( P( P( P() Px) P) B* *0* " 8* @* P* `* p** **** B*** " * R* \0+++ " +++ B+++ B+ ++ " + ,, B, ,0, " 8, @,P, BX, `,p, " x, ,, B, ,, " , ,, " , ,, B, -- " - -0- B8- @-P- BX-`-h- " p-x-- B- -- " - -- "- J- .8.  @.P. "`.. . .. .. ./ //  / 8/ H/P/ X/ `// /// / " / </ .000  80H0P0X0  `0p0 0000 B 0 4001$10181@1`1h1 \p1 P1 2 "@2 h2 D2 P2  3 @@3 3 3 3 3 *3 \4 ,`4 4 4 4 *4 *5 "05 4X5 "5 P5 6 "(6 P6 *p6 6 6 6 .6 7 .07 @`7 &7 ,7 &7 * 8 P8 $h8 8 8 8" 48 P8 @9 "`9 x9 B: PH: :: : :: :  ; 8; 2H; ; ; ; ; ;; ; ; < (< 0< @< H< X< h<p< x< < < < < < < <  < < <<  < = = 2(= `= h= x= ,= H= (> (> @> H>P> X>h> p> B x> ,> F> >??? ? ? @? P?h?x?? ???? ? ???? ??@ @@ @0@ 8@@@&H@p@ "x@@ @@ @@@@@ " @ P@ 0A <PA 8A A 0A PBhB DpB >B FB (@C  JhC >C "C P D pD  DD @D DEE RE DhE EEE EEE EEE $F $(F $PF " xF :FF FF"F  G2(G `GpG0xG GG G G G G H H(H0H  8H HHhH pH HHH " H 0H H H I I  I (I8IHI PI XIhIxI I III II  I I II I J JJ J 0J @JHJ  PJ `J pJxJ J J JJ J RJ K (K@KXKhK pKKKK KKKK L  L L  L (LN0LL LL LLL B LL  LL LL MM* M*PMM M MM M M " M PM " N "HN pN >N HN POhOpOxO O O OO OO OO OO OPP PP(P @PJHP PP PPPPP P P Q "8Q PXQ Q "Q Q @R PPRR $RRR R  SSS S (S@S DPSSS "S PS $T <(T 8hT T <T PU FPUU  UUUUU UUUVV V (V @@V ,V NV PWPW XW " `W ^hWW W W WX 8X @X`X hX " pX lxX \XHY PY`Y lxYY YYZ Z (Z 8ZXZ`Z hZ 2xZZZ  HZ[ " [ X [ nx[ l[ X\ \`\ \\\  \ \ :\ F8]] ] N] ] $]  ^ 0^  @^H^ `^  h^  p^ J^ ^^^  F^ 0_ "8_ @_ H_X_ 2h_____ "_ _ p``aaa(aHaXa`axa a  a a  aaa"ab b (b@b Xb `bpbbbbbbbbc c c  c0c8c@c Hc `c cccccc cc dd d(d  0d@dHd Pd Xdhdxd ddd0dd d d  d e e e e  e  (e@e PeXe pe  xee ee e e e e e e ef f  f8f @fHfPf hf xff ffff f@ffff ffg " g Bg b`g |g HhPh`h  hhhh hh Ph h ii  0i @Pi HXii(ii,ijjj( jHj,Pjjj j ^jjk k k  k  (k 8k Hk Xk pkk  k kk kkk 8k l ll l  (l8lHlPl Xl "`l hll @lPlmm "m@m&(mPmXm`mpm Build 026K***************************************************************************Y Authors: JKP Application Development Services, info@jkp-ads.com, http://www.jkp-ads.com0 Peter Thornton, pmbthornton@gmail.com1 (c)2013-2015, all rights reserved to the authors< You are free to use and adapt the code in these modules forE your own purposes and to distribute as part of your overall project.? However all headers and copyright notices should remain intactJ You may not publish the code in these modules, for example on a web site,, without the explicit consent of the authorsK***************************************************************************PI------------------------------------------------------------------------- Module : clsNode 5 Company : JKP Application Development Services (c)1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 15-01-20138 Purpose : Holds all information of a node of the treeI-------------------------------------------------------------------------H]@]@@]@]@h]@]@]@]@]@!0 PT checkbox tristate boolean 0/-1 or 1 for nullPPrivate mbVisible As Boolean ' PT determines if the node can be displayed]@$5 PT order added to Treeview's mcolNodes, won't change]@$G PT the visible order in the current view, changes with expand/collapse]@0$E PT string name or numeric index as icon Key for the Image collection]@$ PT ditto for expanded icon]@X$5 PT number of icons availabel for this node 0, 1 or 2]@8$D PT autosized text width before the node is widened beyond the frame]@`$ PT]@$ PT]@$ PT]@]@]@İ]@4 PT editbox]@4 PT checkbox]@00]@X0$T PT vertical line, only the first child node with children will have a vertical line]@0$ PT horizontal line]@0$ PT separate icon image control X'N'P p'T'V 'Z'\'^'`'b ] ]X2]@82]D '" "********************** Public Properties ********************** .'B if zero the treecaller will apply the frame container's backcolormhEPT if lColor is written as 0/black, change it to 1 as 0 means default j'. .G'.j 6 j 6(km 0'm( l'0 6 0 6!(km '<m]H ' 6 X 6(< 6!p 6!',d( 6!'n 6(p 6!', 6(pkkm`! PT. Checked values are -1 true, 0 false, +1 mixedd If TriState is enabled be careful not to return a potential +1 to a boolean or it'll coerce to True 'm' PT] 8]P]h. Checked values are -1 true, 0 false, +1 mixed8 if vChecked is a boolean Checked will coerce to -1 or 0) if vChecked is Null Checked is set as +1 r$| ~ r'x r$e'x r re r'xk x 't x'  @ t (A@kx % eg during cloneP v %'t v !< RootHolder B@k  z   zB@kkkm7 PT Returns a reference to the first Child node, if anyP$.m8 .mh .m 'm0 ' 6/as  6(km 'm ' !A@ass !eA@l ofk0m(P 2'm EPT if lColor is written as 0/black, change it to 1 as 0 means defaultn( j'2 2G'2j 6 j 6(kpmh + PT Root has no parent %.n(km + PT Root has no parent %.7+ -1 flags GetChild to return the last Childkm 6 PT string name or numeric index for the main icon keye ro ('m0P9 PT string name or numeric index for an expanded icon key $.L $So &f( '&k '('*k k x mp 6 PT string name or numeric index for the main icon keybelE &'m 6 PT string name or numeric index for the main icon key Roo $d $ '& *G'*jk kx p mh p]]]@  %    % _ error if Icon or Control is not yet created, silent abort, it'll update in the next BuildRoot u   !(d  !(kx kp kh |` X e @ 8 0 o(  'm `]]] anch t '{   e %{ k   !%j.p er o B@ standard duplicate key error_2k K to change the Key, remove Me and add Me back where it was with the new keypsed,  !ntrols " '"ia  ed'ykxp  !et a "C@to its5,  "C@lhen crd  C@l use tkqd! Let Key called by via move/copyk '{ !Let Key ! B@utm]p]`'ent !.lo hild  'so !.ll '{ r  m-# can't name this proc 'Next' in VBA+ PT return the next sibling if there is one1 lev]]0 !! 52. " '"l   texyk5!, " " 7.brkqmP .!m .el 3 mp(/ PT return the previous sibling if there is one!]] !.  !!3. " '"B@  Adyk " ! " 7.%kqm]@ . a bun !!b the !.de0 .(m` 4'm '4m****************************** Public subs and functions *ispl*****************************p  V N  PT Sorts the child nodes,J returns True if the order has changed to flag Refresh should be called]]0HĿ]`]' !,'  error if no childnodes to sort@!8 B@< nothing to sortz@k8  @!&  :B@< "   " "+ " %j!< "+   NG'j3 descending  VG T'j$     A "   "$ " $ 'yk  "   "$$ B@l ., ӷ'kX Probably(?) any error was because there were no childnodes, no need to raise an errori  ]].z !  z C@l  z(d zC@lkp5, z(qX  .k0 z B@l z $  9kk $  9kk 9<  -1 = true, +1 = mixed v % v9kXkPkH = =q  z.z   d !  clsNode.AddChildDuplicate key: ' ' B@d` !clsNode.AddChild ! B@k(i I------------------------------------------------------------------------- Procedure : ChildIndex5 Company : JKP Application Development Services (c)1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 15-01-2013; Purpose : Returns the index of a childnode using its keyI-------------------------------------------------------------------------]]    '  ! '.z k.i" PT, get all the grand/parent keys assumes use of key]]0 !' . ! !. !\ '0( 'iPI------------------------------------------------------------------------- Procedure : GetChild5 Company : JKP Application Development Services (c)1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 15-01-2013. Purpose : Returns a childnode using its keyI-------------------------------------------------------------------------]] $|     ! ..zk e '  !,'k  $.dF.kk.ixI*************************************************************************I* Friend Properties, Subs & Funtions *I* ** these procedures are visible throughout the project but should *I* ** only be used to communicate with the TreeView, ie clsTreeView *I************************************************************************* 6.m .6 6  !! 6/dphk`kXmP' PT "'m0PK PT Index: the order this node was added to Treeview's collection mcolNodesU Index will never increase but may decrement if previously added nodes are removed '"m` '$mH* PT $'m(p .m .mH @. m .@m  :.m .:mh B.mHh .Bm( .Fm8 F.m .Hm H.m ,'m ',mx@! D.mX! .Dm8"D PT set triState value of parent according to its childnodes' values]X"]"  z  z!$" z!+"p$"+"$" !,e+"$" !,e+"d+"k $"$"' A@kk !< RootHolder ! B@kXkPoH"5 PT, make checked values of children same as parent's' only called if triState is enabled]#  x x' A@k  z  x zB@hk`oX0#. PT get the appropriate icon key/index, if any *  (''Not IsEmpty(vKey) '(True *e &''Not IsEmpty(vKey)kiVFriend Sub EditBox(bEnterEdit As Boolean) ' PT new in 006PT2 ,,move to clsTreView?J'-------------------------------------------------------------------------' Procedure : moCtl_Click' Author : Peter Thornton' Created : 20-01-2013=' Purpose : Enter/exit Editmode, show/hide the edit textboxJ'------------------------------------------------------------------------- On Error Resume Next: Set moEditBox = moTree.TreeControl.Controls("EditBox") On Error GoTo 0 If bEnterEdit Then$ If moEditBox Is Nothing ThenU Set moEditBox = moTree.TreeControl.Controls.Add("forms.textbox.1", False)& moEditBox.Name = "EditBox" End If With moEditBox$ .Left = Control.Left - 3$ .Top = Control.Top - 1.5 .AutoSize = True. .BorderStyle = fmBorderStyleSingle .Text = CaptionJ Control.Visible = False ' hide the node label while editing .ZOrder 0 .Visible = True .SelStart = 0# .SelLength = Len(.Text) .SetFocus End With( ElseIf Not moEditBox Is Nothing Then ' exit editmode( If Not moEditBox Is Nothing Then9 ' error if moEditBox has already been removed On Error Resume Next% moEditBox.Visible = False moEditBox.Text = ""# Set moEditBox = Nothing End If Control.Visible = True End IfEnd Sub#-( PT new in 006PT2 ,,move to clsTreView?I------------------------------------------------------------------------- Procedure : moCtl_Click Author : Peter Thorntonq Created : 20-01-2013. Ammended 026 to resize/reposition the editbox within the confines of the frame container< Purpose : Enter/exit Editmode, show/hide the edit textboxI-------------------------------------------------------------------------]$($PEditBox !%.<LabSizer !%.f & <forms.textbox.1EditBox !!%l.<forms.Label.1LabSizer !%l.f !! f( !! f( f(, f(p f(k < 6! 9 6!? 99p !!9 09. !< !<9ddA@2k5'(5'*C@49 6(965d98C@b (9 *9q <e exit editmode < , error if moEditBox has already been removed <( <(d& If Len(moEditBox.Tag) ThenB moTree.TreeControl.ScrollTop = CSng(moEditBox.Tag)" moEditBox.Tag = "" End If.<.fk 6(ko@$%PT remove a node from the collection,@ note, this is only one part of the process of removing a node]$]%]% < " !, "$. "$  " B@':yxkphd`    '    B@':ykk? !,. (k?z??  RemoveChild ! B@i?8%]x%  z  zB@>@?k8?A@@o(?%I------------------------------------------------------------------------- Procedure : TerminateNode5 Company : JKP Application Development Services (c)1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 15-01-2013* Purpose : Terminates the class instanceI-------------------------------------------------------------------------]%>Instead of the Terminate event of the class we use this public8method so it can be explicitly called by parent classes.@This is done because to break the two way or circular references!between the parent child classes.CThe most important call in this routine is to destroy the reference7between this node class and the parent treeview class - < Set moTree = Nothing >JOnce all the moTree references to have been destroyed everything else will 'tear down' normally  z  9 recursively drill down to all child nodes in this branch D zB@B:k:K If deleting individual nodes while the treeview is running we also want to> remove all associated controls as well as removing references DA@@ D'k :k:..o:******************************* Private subs and functions *******************************&3 PT sorts the index array based on the string array]`'x''' 'H F'J H J $$'L H Jb H$$ L   H F b H 'H8 J$$ L   J  b J 'J@8 H J H$'N J$ H+ N J+ H 'H J 'Jk77  J$  J   Ak7 H F$ H F   AkX7oP7'*PT Delete all controls linked to this node7 !! 6 6!C@.6 F F!C@.Fk6 H H!C@.Hkx6 H H!C@.HkH6k@6 : :!C@.:k6 B B!C@.Bk5 D D!C@.Dk5 < <!C@.<k5 @ @!C@.@kP5 ! K if Me is the last child delete parent's expander and VLine (if it has one)   !! !!!C@ !/k4 !! !!!C@ !/kH4 !! !!!C@ !/k4 !(k3k3q3 P (: flag this node to be removed from mcolNodes in NodeRemovekx3|p3h3 StopP3oH3 (]( @ @   %R 9d2 a$T9< 5$@ $@ V$T9kx2kp2qh2k`2 Checkbox B@Xi82(I------------------------------------------------------------------------- Procedure : UpdateExpanded Author : Peter Thornton Created : 27-01-20137 Purpose : Called via an Expander click or arrow keysB Updates the Expanded property and changes +/- captionI-------------------------------------------------------------------------])])]0)  !   %Z 9d@0 -9<d 0+9<k0k0q/k//  %    %   !((4 potential error if Icon is nothing, let error abortd`/  !(kH/k@/k8/0/o(/************************ Node Events ************************P)$ PT new in 006PT2I------------------------------------------------------------------------- Procedure : moCtl_Click Author : Peter Thornton Created : 20-01-20139 Purpose : Event fires when a Checkbox label is clickedI------------------------------------------------------------------------- %^ exit editmode if in editmode ,^k- 'd,'k, !  / Caption B@X3 share the checkbox click eventk`,oX,)I------------------------------------------------------------------------- Procedure : mctlControl_Click5 Company : JKP Application Development Services (c)1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 15-01-20135 Purpose : Event fires when a treebranch is clickedI-------------------------------------------------------------------------@ PT the call to NodeClick will raise the click event to the form])  b !(..'tk(* ! /'t te 6!. b'tk) !  t: only raise the event the first time the node is activated Caption B@X1 tvClick G if preferred the click event is always raised to the form (even if the I node was previously active) simply comment or remove this If/EndIf checkk(o()W PT a node label has been double-clicked, enter edit-mode if manual editing is enabled]P* f %h ,^&A@$d' 1 moTree.NodeEventRouter Me, "Caption", tvDblClick Caption j B@Xk'o'h*ePT temporarily activate and highlight the MouseDown node and a grey border to the previous activenodeU MouseUp and Click events will confirm the action or reset the previous active node](+ !  !! v'te bFlag = bFlag Or Me.Control.BorderStyle = fmBorderStyleSingle ' in Access this should be uncommentedk& t !. /  0 !(.$@ !(xk%k% %^+ if any node is in edit mode exit edit mode ,^k8%B moTree.NodeEventRouter Me, "Caption", tvDown, Button, Shift, X, Yo$@+R PT MouseUp fires before the Click event, at this point we don't know 100% if userg definately wants to activate the MouseDown node. If user drags the mouse off the MouseDown node thee Click event will not fire which means user wants to cancel and revert to the previous activenode.U If MouseUp occurs with the cursor not over the node reset the original activenode],],]0,  ! 3 is the mouse over the node or within a pixel of it r r5  t t5 '|qx" | H if the last-activenode was marked for MoveCopy we will need to reset it  ~ %'t  reset the original activenode b !(.  / t  ~ 3k!. ne D the click event doesn't fire with right click so explicitly call itA@`k !k!@ moTree.NodeEventRouter Me, "Caption", tvUp, Button, Shift, X, Yo H, ' %^+ if any node is in edit mode exit edit mode ,^kH Expander B@Xo ,} PT resize horizontally & vertically to accommodate the changed text but restrict size to a bit less than the container frame Autosize is good for width only if multiline=false, but it's problematic to size both width & height to text without this fix],,],]-](-@-]X-p---]--]-]..0.]H.]`. G|jX !5  '555$T  '55 55$T  '55 'q 6!? ' 6!? ' <'    $'  e  $'  e  $'d . +k ' fA9<5'*9<' "  "$ $'  5<  9<9p5   '  9<5 ( 5'(5   'kk5 ( e5'(k "   '9<kxp5 ( G5'(j (  G '(cG ( '(jq ' <  9p956'96 96 *    9d *  9k 5  5  9dP 9k@ (9d099p9 6!? 9k 5  5  9d 9k55   '  !!  !(k`qXP'|@8   A@$o.aPT< PT Textbox key events to Enter or Esc the Editbox, 006PT2\ PT ammended 026 to resize/reposition the editbox within the confines of the frame containeru remove any CR & LF to ensure the node label is a single line but retain line breaks in the property if bMultiLine] /]8/P/]h/   p <'  !< 'dX I note: sNewText could be parsed where the RaiseAfterLabelEdit is received  %'    %h'     A' Mac doesn't seem to use vbCrLf/vbNewLine, only vbCr or vbLf (?)    h$  h$ (<d(   $  $ (<k    h$  h$ (<d   $  $ (<kxp X Drectly write the original multiline to the Caption, but don't use Let-Caption Property 'kd  (<k 6(, 6(p 6!'  d ! d (kx (  !! B@k8k0 B@*% replaced moTree.SetScrollbars in 026kA@$kk   ,^A@$ko/ default properties' default   '+; PT, for testing only, remove, see ClassCounts() in modDemoo/   '+ PT, for testing,.o9Attribute VB_Name = "clsNode" Basx0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}|GlobalSpac False dCr@eatablPredecla IdCExposeTemplateDeriv%Customiz E'Build 026 '*G& Authors: JKP Application Development Services, info@jkp-ads.com, http://www. - Peter T4nton, pmb@gmail A(c)2013-5, all rights res!Oto `the a.You h free @u@and@ adapt c/modules forAyour own purrs disūas part of  ver'pro ject.Ho wMr-headerCcopy1 notR shouvre?n%ptact@2m ay #blis hW0,0 exa e na web site,wiZu@exwit consvO2R?F -7?#AMb6J: $Company:XX @Lc_ Jan KGl PiU D(LZ)b`P : 15-01T3!PGHold>c`Werma"j-a`:d4f9t`U@_$?" Op"xiI P`q` mbZAs Booleana4colCh!s ColNl[oP%nt&1 oLa`stActT!u AView sKey SongvC@z&sControlTipTextVarianK eck# Longa?a' PT cBh`box s tA&b$ 0/-@1 or 1Bmnull6fbVisi`* dImini>n!bc Nbe `yednIndex "or] d @'v''8s m`8A. won'}hang ޽l b v inurrA!,% s od/`lap vI Maina9"sU`nanum rcPuVi `ZRImageK)5.dit`P׃0xl Cn bplp<>Bvkabelr!this=0," "2sng)WidthSing losiz,wrbe lOn2#enPbeyomfri Back; bBJ|+P lFore? 8vTa:WgEv#)tl:AMS@ms.L!iImcv.@ nd SortOV ndAscend;((CDeX} ?E`9P br8eMe^BinaryP0&goC Mo%UD!= Up'00 MoP= EDragO+4uBopOrP|5 7 #If MacPe`=8mcFrvNrT= {` E׿4Q60P#If+pbS0R/> EBka " " '" `{vq PcPropertip{*S8#y Get X()1!Y= ml' Ёzer͡cfwi3a5^t`uer@b^w# y L XlgbptEfr`sen x0/bl pu1 mФs defaul@= #  If mlBackColor = 0 The"n 1 Not mctlControl Is $hingnN{VH. rNEnd If Property Public  Get Bold() As oleangBmbILI/&)'#('uzF.O'zCaption(O;xvy(B`yVal @Dim sngWdBSqleDB CfC A=ɃD#@CStr(9A G.AutopSize̘@/TextWidth@ Els7C>=I. "= Trum'#Fa *ŋA checke!@' PTDB' CC values are -1T t,f, +1 mixed`2TriState is enabled be c ful nto return a potenti N Pa bobw @it'll coerce )9^lD\!{%v) !]bFlag~, bF-ALongc!! cChilfclsNodA+;+' ifr2+'%D wi%5`(0eNu% sas@:H`9VarTypeo)-v4 { =Aj` I~s!H $5 4>=!PAF<= 1}Ƀ<= <>!C>mH Eh#A#Box܁# moTree.Changb̓Updgbox){#`)bb !1' eg durclon`es(\+g_ qPP=4nt-.["RootHolder"X %6s@)5$6smAF1 Each T:In O:!@{ "r#5Ng/Mot< caFsF1M RgBV[VfeP STthe first# Yde,EanQ On ErrResume  SPBWcop15(1# _[W3 Plec!C!7~?= (Z QZ.mk=PgȏOTipцp8s+om!l;qˣ4m= 3 4茿4-9K t-"Expand҉wqbt tB%= jMe.roec] u bOnly:=o]pTooAl0@Qe1or+猆lt (ݑ`'PTGtPwritB 0/bl@,Mr it!1 ms defaul%mw P # /l 0QYSi0ng#]Q9>os!a_ x h`no pRzNFm8.X ]x End If pProperty Public H Get LastSi\ng() As clsNodeIf Not moParent0 Is&hing Then' PT RoRhas no p.C S i = R.Chi@ld(-1)O-1 flags to return the l dI$ImageExpanded()" _striname or nu(merix f;main icon kegU&lvI/KNL Jv a&Qan e5L)O n Err@1GoTo errEx itNxIsMiss@( By ;IsEmpty  Len(mEMPD)J0  #" }O`mllCnt 2M:pEl~s$e$zn~a# > H@CA#DebugM B1[StopRes# FSӃ il!$US( (Ty9Bnc Property Get ParentNode() As cDls0 SA = mo End Publi |(vi)j ]l*krevious ' PT return theD p siWng if re @is oneHDim iSLonzg c_{With Me. For EaHch In .Child+s3ii + 1) If$s$ Then Exit < If0NextGi 8> 1rM= ,(i - 1DqB@AFߊorootPAbcTmpJ]A%=A1Do W@Se N8ot d IsAhivLLoopC+gA c7Tag(IـmvL >(A B@ ,'* dusubs a 6functions * F}F Sort(Op!al ByVndOrder6nd= ndAscend/, _C*0j Comp Method !8ndT@YBopolea cs%cm ns, acs Tru` oBha hanged to flag Refresh should be called1UsCa"!StrLlStartA, lLafsolƒaNew Co5bIsUn@#On ErrGoTo ernrC=Ō= C%.coutnt!%'A no B)")#s@@ '`/tog! acDJRe'idx(` ">)02 !Ai)Lig "%item(i).@CCc#c<>a" %e-1' def] B_nBinary$5UCp+ #Indexq())*d*, , 4I  @b$ an)d w-=R:s#orWe#s c8.Add(2( Yg1c"$u!AHC/::Jbably(?)[y$9wJbecausreԌwe j:o neLraiansh\"b&^ g^sKey!Iߣ4\q\vT1@dvImagepMainExpPmedA:DbTriP-te RcbNTHsD= Y|moTree.U80Len()/100'2r&, A 10 .=4Els &e42AP)#`C m,Rؕ<m + ## a p Q@IsMissx($OI.&)A +' sc U  IlmZmlCheckPFL= la '= true, +1@mix51T2Boxes(:?sP>MD94QuV`-[@aHaa #0DebugM`p=St ~ Resume #End If pIf Erl = 100 AhErr.NumberP457 ThenV| Company~: JKP Apj Development Service s (c)Au than Karel Pieter(www.jkp-ads.com Cre@cd 15-01 -2013APu(rpo 'Returns the iI of (a cunx usJ itsu@?JDDim ccĕGlCti @2 F@AEach In mcol;xsA = _AB=C.Anj@ASet= No thH ExitENextCRFullPpath(óB;T, gallB:grand/pEJs$' aszs@;e=ń1s!.% AS4Onr2GoTo errDonD|s@'lMe,M`WMea0#Ai#D.PBa=!\Wendd:'`@"-Get"B(v Variant/Vg#"9__J__N>7SRUlIdxdž#~6Type8)?vb\Dae B;YE9BV i^41Fsx `|S IsL= ! 0t-1qYiun4OAA7Ic15> 0/qt (+a:"{@iߏ!ن 9*! Fri@Kaperties, Subs]as***q`~pDs T visibleroughoutq P bsPlonly becd tDo munswithBTreeView, ie Q a]y1" Co ntrolqMSOg=J 1Upd XLboxg#!#KMe.Caption?"RootHol@"l.#eA3.GR(R K7q) #<:x;C3<(@16<, makep:?ed4:=; same as$>'<' only call`if 6Ais enab` a>T7`/< % 3_2@BB4B} A qFunc&hasar (vKeyrQBoolea`MRXgQXhpppriP. i ~ key/"ix, @anRymlCC= 2 A8mbtd,A/mv5 @Tr` '3IsEmptyT '(CtGGKMainB8dE1't1Edit@(bEnter;e).nnew in 006PT2 ,,mo veqm`,TreView? ''~-cedure : moCtl_ClickAuthor : Pe A`orntoQ!'P Cre` d: 20-01-2013Surpo seR/exi Ȑm@u, show/hidP%ep tlBS/ 0 On Err ResNuE1P mo$1(oe.AControl.ts("d"LvGo j'?' G a1  s.A`dd("f.1", Fa}5 u.NW= 74 a-Is WiZ$ n>pwExpandßI c d< ,:rr.Rai:vbObj7" P.DescriR>cBAq1۷/u(T,8cr16 G3Oq1G$`$gc#/eNodeControls !NexthEnd If,Delet False JSub Frief Terminad(Optio nal bAs Boolean`) '-EK Procedure : Company{: JKP ApplicaT Development Services (cP Authoran Karel Pirse (www.jkp-ad s.comCr ed515-0@1-2013Qu(rpo Qs the class instancɍ_Dim cChild `cls{'I@ead of"s FDC(we u@0this pLubQme@Jd so it cAJbe exAYitly@lled by pP@hes.Tdone becaQBo bSk%two way ccircular refereLĴ'betwee>n =e most impor@^A.lla#routi#@to desyD ntaȁw"treeviewD-Dh*eO9 a&AmoB G? 'havAN?*[pryex wille'te (down@' norm y{If EEs IsFThenAF1EacrhKInA'A5cursimy dr Ac"5'!aC0brahX.ʎ]c'`:i`-individu`uwe=7;runn@aRYto% remo 1@zocicd as we8"! 90bP/ru.aA$Index O->1eSeUcolHDV(U(`M * iv ( subs ifuncᶘs *?Pr BryS`}Text(sC"a"s()AStr@2, ByV@@lStartLxongeRef idxndOrder'ndbMPTrt@Q1arrbas@yo@!F",! lSwlLargesMir_plTmp5?4= 3@ #,= g(+ ) / 2)pa3Do W4d<" &&(@ )), , &)1+V5 l0 5 + .Loopu  (   e  >  - <@=(  a`A c""7&" +CUs +Wi th% ZbClearIgx @= -1 ' flag@qqnwto be r"@d fromoBl{s ind.e㚃LxsSub errH:C' StopcResume N`ext a@ PrivaFunction UpdBbox(`}Dim pic As dPicturf%x!ߢ?%Ec3` moTree.GetB Icon(mled,!)pa.d9k E;C%.Cap= IIf "a", ""L@1) <> (.ForeColor`RGB(180, )u! 'J , , vbWindowT:C ee#!Xaac1aPEvRoutMe@#3$1J?IbK&t%%7(bControlOnly%Boo3n '- ' Procded+ :,Auth: P@pr%orntoA' Cre0d27-01-2013RurposeCalled vias r click arrow keys &6x propertywchanges +/- c*@-s=bFullWidthvKe~y@Q1 @PeC@%@b@q@@!EB"-"k A+ i75=C:SOn E &r@ GoTo _E`P2AmH&Wq>V, !L p A' pot@EialQ 2@!2nS, abork2DOE `/cts8*בa Rs0*?mRt_C1D ()QLT new006PT20/=@RmoCtl` oRT`SoR: 20oRCcR firLw1 a %dbelaBSed? _0EM(Me-'`e0mӀ)z$#6ՋP0T2cdqSk-01W4 A@ve(@W>=pq(1QRjShQ' shp" oe B End If pSub Private p mctlControl_Click()0 '-EK Procedure :n Company: JK P Appation Development Services (c Author6XJan Karel Pieterse (www.jkp-ads.comQCre}d515-01-201B3Surpo &Ev7fir6when a treebranc@h is cedHBT the call t@o Node wiraiP=@  form Dim bFlag As Boolean}IIft moLastActive Is@hing T@;.  M ..BorderStyle = fmNoneGSe= ,= TruD.moT`.-C = MH&PlseH C A<>B2T3NoAF4Me OrpK ' onxly Gs@t timena<^?ǂ!?\Rouf`#@, "Capn", 1 ' tvbOh' if preferredCU(Q calway6scobAS (UJ was vious`e) simpwB}removcIf/`+`6check -_@DblB(ByVpal C{@ gMSFis.Returnh"PT blabh bedoubl$e-d, `er edit-m1f manu am@ena a3wDummyw@`EL!E (b) xaM(M* maaBox bEnA:=q"d(7%@'IonItv%-d|Q<(MAJeDown`=betS~1?, aE poi0we don't know 100%wuser3D definCJJwant3oFAKqBR1SB.@Ă  drag6eP offF!X JnotB whimmscxQr`rOQe.p@(bQoccur!Qth PH=r2R(0Qorig0l WQQzIsOvp~dAveCop| 㟏p Wi` Q1!/@ 0w6a pixof itb = (x >= -1 ASx <= .WiBd+ 1)B(YYHen!9 AWB%l0-p mark`1@q'/neo w"=0,/FMp"(P P'  $$A5/X\Mo&ّoS  If bFlag Th en Set moTree.MoveCopyN ode(b) =@LastAc0tive: End If X 7JNothingC AElseButton.2' the click event doesn't fire with rightso expitly ca ll it @mctlControl_C,Hnt['EFRouter Me, "Caption", tvUp, k, Shift, X, FY+SubPrivate  JExpanderJ() '< d @PAtEditMsMe)R' if any n is in e @4de@Lit== Fam H FD,rG1 @o0Box_C hange@ PT resize horizmty & vertixy to accommodSBd text buttrict A b@=lessanÙ intframe`AAutoBMgood for@don@V@multil@= fAG,it's problemna*)b& he@$*A@#@fix Dim i As Long, ublSelStlRowsK d@SqlUwdsngMaxW, CHb cBRVisRI`dealLBTop!=`2aspldv 2 St&bEx4`Booleaws}Pa"c6!j5aCa`emOn EDrr7GoT@rrHWAXAD aCW`.Ins ideWiA@- c &= II f(.SclH9<, # ) s R@H >  ( !6!Left +* Au#$` ;`.- 1.5a?@'.!DbAe9InS0tr(1@Ba, vbNewLl훋aG@S t(so Cr a< Lf? ! ' #ɁSRe`(0Aa"$HubUBound(t-LabSPTr.4k8"A"qB= ^.C)WlF=V ]F6i`0 P6na5! 2#>(i)t "HQEach v In b'h ab" h \Tru0^;up'.56p,RQ- 9ω%s+ v  Z8  /W YoʦqBa9W/ T:/  N;i dyU*?AI\q= /3TBS(X3> 1O# .4Q4.M[6 ,iBar.e0 tacMQ@L* +<y!4O #- 3A;D[[ pxWc u=ǚ-[} N%O =9=&i @#q#7腅58WL{_R/ .R +"xbLG  (S!  If sngVisR > 0 Then moTree.Control.SclLeft = >+End  With done:bExieFalse'Sub errH-#Deb@ugMode1a Stop6Resum*#JEditBox = O C Privpate _KeyDown(@ByVal CKAs MSForms.ReturnInteger, Shi  )V'PT ' PT TextbKkey events to E!r or Esc the A,006PT2ammended 026resize/repositionBe?wdiconfin es offrame @tarremove any CR & LFensurenoflabel is a single l but rereaks  property if bMultiLA_ Dim b0CancNBo0oleaIJSort G,~a sNewZS|tr)Et= vbCs Ap=N΄0Me.Capςd@}apIJAEA' note: could be paDrsAwheD4RaiseAfterL4a5received e.C&(Me,)`NotF7/ @Enable(b;I: !`In`;(1,`9Cr) Or rxLf) a aMac,!i'' doesn't seemduseLf/vbO\, only{vbLf (? caL= Replace(E", mcBr)Lf! OQi@"x "X qIf#(f&( (_J)qWsQq' DFt.w rit1loriginsm^"bn?Q? cx043Let-5SPb1mv=IQ3*5_EmctlřWordWra>pqAutoSTrudpWidthj17 Bp66` % jP8`" 77 %  P  ii  (% H % h A%`"QIf`Fapti`  )% `)nB% `% 00`" `xtBo`D j`0ûHh )nt D% t pr% xP)pner %   ij d(( p%`f`" :  ( ) H P %)p $%  %`"  )   %)8 % X % x %   %   %br bt0bxX j~x00   XX hpP   + )X ( 20 h*x ( &   (@ HX ` @h p "  "   "8@HP h   " (@Ph         (8@*P X n H `p &      ( @<P " H @  Pp    @ @  ( 0 @ X p     8  X h  p       .      " @( 8 H P X "`  h  x       * "  *  0  @ P X ` "h Pp  < 8 X ,x P . P(x  h0  P ` Hx F 6 F@ , J B FP  D     @P X x          "@ H P ` hp     8 T  ( F    ( 6H  X 0 > PX <  ( $ (8 f` 2 n np ,  2 fH  0  6H : \  <  0` 6 ( , "  (H p 8 B 0 8  4@x  @       " @H`x &  " ( 0&Hp  ,x     * 0@H P p  "   4 @  P `  h  x   4      ! ! !  0!0@! p! ! ! ! !! !!! """ . "P" p"  "" " """D"#(#0# 8#H# `# p### #" ### #$$ $"0$ 8$H$" P$ X$h$ p$"$ &$ R$ *% F@% %%%%% % %% % &(& 0&@&X&x& &&& && &,&' ' '"0'X'`'''  '' '"' '' '" '''((( ( "0(8X(( ( ( ( () ) ()0) 8) " @)H)P) X)`)$x) ) )) ) )* *(*0* @*x!##########Treeview Code##########+Add this to your form's declaration section]@]@  to exit a SpinButton event"/##########Treeview Code########## ''' for stress testing this demo]@ ]@0 ڵǷѡis]@0 ѡѡ@!8]@X index]@] X ] bx]? Xֹǩ༭״̬$`'o h @!& @!8+X :B@<o¼]] @!$^' :!< |$! A TextBox1.text = "" ListBox1.Cleark0  ǰԪֵ n" ʵ z ѡ] X $'j  n! (  " j j "$j n%.  (k "   n/kd  ѡ n!1 ActiveNodeʵ QIf mcTree.ActiveNode.Caption <> strCell Then ' ActiveNode뵱ǰԪݲһ hһڵȱʡActiveNodeǰԪǵһڵ㣬ûиʾע͵ж  n%.   nB  n/d`A' ûƥѡػ洰k0 End Ifkkk ѯ TextBox1.text = "" ListBox1.Clear neA0ûиֵǰδActiveNodeӰ죬ػ洰kho`ؼʼһϵвpBsee the Compile constant DebugMode in tools, vbaproject properties9DebugMode=1 will enable the #If to Stop in Error handlers Hide the Image container !( !(JMe.Width = 432'r !!!  !!(k'r   ' ] 5(59595!9qx  ! 59595959 $ImageK SpinButtonKTTextBoxKFrameKT 5(S 5(nxqph`A(δѡĿʱܵȷд H(JĬѡеһҳΣ (o   'A@o n nB@.nkh'v ( ~ (<o8########### Treeview Demo ##########P#Make sure all objects are destroyed n nB@k.noI------------------------------------------------------------------------- Procedure : Initialize5 Company : JKP Application Development Services (c)1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 15-01-2013& Purpose : Initializes the userform,I adds the VBA treeview to the container frame on the userform( and populates the treeview.I-------------------------------------------------------------------------]]0]P]p]   aIf InStr(Cells(dataRowStart - 1, ActiveCell.Column), treeList(s).colName) > 0 Then ' λĿ @!8 $!.nOn Error GoTo errHAThe VBA treeview needs a container Frame control on the userform.?Just draw a frame on your form where the treeview should appear0Make sure the frame has no border and no caption@Set it to show both scroll bars. (Keepscrollbarsvisible to both)%Set it to the special effect "Sunken"DNote that node label formats such as back/fore colors and font adoptd;the frame container's properties, so change if/as required.@(you can copy the frame named frTreeControl from this userform )=Then pass this frame to the TreeControl of the treeview classGoTo lbl_Debug_Tree '|0 $!'x нڵѡ n(d'x ײӽڵѡ n(kp0 $! 'z n(% ѡd0'z n($ ѡ D L9J P9Nqk n $A@$ 齨|k  n !=C !~9~1Set some characteristics of the root of the tree,Mwhich for this demo we pick up from checkbox and spinner controls on the form.LabelEdit(bAutoSort:=True) = IIf(cbxAllowEditing.Value, 0, 1) 'default 0, can be edited (like LabelEditConstants tvwAutomatic/tvwManual)? new in v022, EnableLabelEdit added as alternative to LabelEdit F # roots! add a Root node and make it boldRoot F Root Node F7. (Tip for Root Node F-. Context tips can also be added to all nodes ( *Add branches with child nodes to the root: 8Keys are optional but if using them they must be unique, Iattempting to add a node with a duplicate key will cause a runtime error. 6(below we will include unique keys with all the nodes) !_11.A %. Add a 2nd branch to the root: !_22.B %. `If you want to add more child branches to a branch later on, use a variable to store the branch. !_2.1 2.1 level 2 %. (+^ this node will initially be collapsed, it's child node controls will not initially be created gTo add a branches to a branch, make sure you set a variable to its 'main' or parent branch when created &Then use the Branch's AddChild method: !_2.2 2.2 level 2 %. _ with TriState this node's parents and automatically checked, each triggering a NodeCheck event z the following three child nodes will also be automatically checked but as not yet added will not trigger NodeCheck events5G (j !_2.2.12.2.1 level 3 %. !_2.2.1.12.2.1.1 level 4 %. !_A72.2.1.1.1 level 5 with extra text to test scrollwidth %. 6Now add another branch to the branch we stored earlier !_2.1.12.1.1 level 3 B@ /Add a 3rd branch to the root, with a child node !_33.C %. !_3.1 3.1 level 2 B@ Add a 4th branch to the root !_44.D %.4.D + t (< 2 add a bunch of child nodes to the root's 4th node " t( 15 !_4. "4.000 "$ h B@-create the node controls and display the treeC@qx|ph [ ! !8 0([ ! ! n nB@kotreeview˫Ŀ z ѡ x ڵѡ !< @!& @!8+X :B@< !e, ײӽڵѡ !< @!& @!8+X :B@<kko   x ڵѡ z **********ѡ*********]% ֻҪһڵ㱻ѡУȷť  n! ! H(Jyk d " **************ѡ************* H(Jkd !, ӽڵ H(Jdx H(Jk`kXoP ¼] D!Z z]]0' " D!Z * ȡ豣 " D%^  'k "   j'D " D!Z , ȡ豣 " D%^ " D%\ D+j D 'Dk " DB@F " j j- дcheck "$j DB@ " " D!Z  " D,^ "d  DB@Fkd DB@Fkk " |$! |$! " |$%A@ " H(Joh] ! B!d x !(, ڵѡ ߸ڵ㲻ѡΪײڵ ! DB@kk !  ! A@ kxoplistbox˫Ŀ z ѡ D!d @!& @!8+X :B@<kolistboxĿx H(Jo H(Jo ȷ¼ If MultiPage1.value = 0 ThenL Cells(ActiveCell.row, ActiveCell.Column) = mcTree.ActiveNode.Caption$ ElseIf MultiPage1.value = 1 Then@ Cells(ActiveCell.row, ActiveCell.Column) = ListBox1.text End If z]X]x]'f !! ѡ  n! ! f !<$^'fk d  ڲѯѡ " D!Z " D%^ f " D%\$^'fkH "k0 f f f $ @!& @!8+Xkd ! n!!< @!& @!8+Xd D!d @!& @!8+Xkxkp :B@<oXȡд :B@<o( 齨]x ]   !=C !~9~ " ! ! " %! " %!7. " %! cRoot.Expanded = True  " %A@Else cRoot.Expanded = Falsek "C@qo ]@ ]`    ! ! !7. !cNode.Expanded = True  A@ElsecNode.Expanded = Falsek qoRAttribute VB_Name = "frmTree" Basx0{E79B7365-88F0-4D9F-9BF8-58C9EF38C8CC}{BE51034A-81D8-4020-84F9-1B9BB07A36C6}dGlobal!SpacoFalse CreatablPre declaIdTruBExpose0TemplateDerivCustomizDOption 0licit '#view Co de Add this to your forPm's da*sec PKO WithEve@nts mc- @As clsV3 .Var@HelpID-1GmbExitBoolean* '$ea SpinButt7eA-/16 '''4 stres8esting AADList(fE).coBI@all FInitia(liz '!?TextBox1.tD#! Cs@O !$!@E"" ' ǰԪPֵ! f#`NoaR!D Is htVʵ N f$i a+item()., igacSpl Q, ""-;@ Each 6In$.!7s!.checkiAaNa*b i@LBound() To UI (Set=get!ByKey(i)"&a,"M,i # k>&ig9>Ta9 P)&I!QT$.$M% v'N .6-).Ȁݲһ— /һbȱʡ1F2!иʾע͵жI "."4"#I9 CEtScrollT o(, 0, , O io3rLe "Aѡػ洸 %A'-c' PJT0!fTsT`-:,/: [ '"!ֵ`ǰα)|[ qptau'ؼʼһϵвٞנZecze!oQpseee mpiЂcant DebugM1oinPols, vbaproj ppertieT'=1 wi jenrthe !PStop Error hxlerXa|I mage tainQMe. tPm.VisiZ?.Eb1' Width0432Ԭq` nt2.Font.Sx < 4zQ = 4C1SQW= 1ghmI + A>#Y륁wobHjCtҥMSas.apX 0."*p/ 3LHeight .o.Back`$= .labInfoG7 2 1(bs .Levf ( >S .T/= % eKel;CType(+@b0"6"SpinButto n" Case "TextBox", "F0ramen.Font.Size = 10El se4"?End Select @WithNB#If Call Initial_sub'δѡĿʱܵȷд$ommand1.EnabHled|Fap'Ĭ*ҳΣ MultiPage1.ValuWSJPrivate  UserForm_Termi2n ()#%#If DebugMod Then{gO+ 1ClassCountsNT$cmdStop@_Click#  !Not mcTree Is a@hing#.N@+sClear!Se=EC!r4mlDemo No3ęMe.labInf"DCaption! AppN )4'# ,view@Rmo bQueryClose(Canc el Asteger, cGl'Make sure objs adestroyed;Rƅ1LUBi+d;'-?! ' Proced :q!Company<: JKP 6Lab8Developmentrvices (c* Auth oraCan K *l Pieter`(www.jkp-ads.cDombCreidb15-01-2013urp:"g!s the u@qf@q, Fadd#VBA t`Itoc`ainer fA @R n @popul  .@-?"EDim cRow@Uclsr(A[/Extr aiLongX, kE sAINneE s@uLBd(AList) To Ul# 'dInStr(Cells(dataRowStart - 1, Active.Column),3A (s)Al) > 0 ' λĿ?%N D Indexo)!uV'On ErrXGoerrHEaL'`" JKnee Na gKrolmL GeU'Just d raw aRyou)- wheI*r,should appZL-has no pbord/PrcXAit 2wth sc l bars. (Keep0visi@vbo8 PF { FViP1 0[ ' 15ot.}4.q iP}Right@$("0004}N/Kw';_@Te3mfjo d@isplaytpOw.Refresh5EWWExit Sub Hb#pLDebugMOf1.PYt Err.Source,De >0Br*# c0(, j \As Long Dim i@tem() Strilcnt = 08For i To ListBox1.CouT- 1 ' ȡ豣z If5Selected(i) The2n% v+ b1EndBNext ib7> 0 URe1_) jj4/t''u j)@'Qj d !.C0lear:LBp@cdo U' д`check:FAddIC4iHWW% Z* S= True KElsSAIQ Q IALRPtree(Index).nodeIWC3filterTUU =ACommandButton1.EnabledL%Sub Private  +(ByRef N xcls-DDeft(P, Len) ?q 5__T5v5w0IRRRts +Tra'ȡ_G2WG  ' 齨c_Iorg!EԀvXiewq8V, Type";cRo`|@Ƙ>= With  Set .ControlQMe.f2$Call .R;*.App1EuA@A5T~ϚpCU = .@q(sKey:=63vT#mQ ?T-Q+:M1 '.ExpQC@ ,҉ '9,Fa*ufresh1sd'& '&Rx(&r(҈'fa} pa_*c?  n:=6aߏ1j,ӨJ se 'cNode.Expanded = FalEnd IfNext `child2W ith Sub __SRP_0U __SRP_1 |__SRP_4__SRP_5g   )Aa ) q Ayy! VBAProject ThisWorkbookSheet1Sheet2 clsTreeNodeMainFuncUtilFuncSheet5 Declaration frmFuXuanfrmTreeclsNode clsTreeView ExcelSheet4Sheet6F /C:\PROGRA~1\COMMON~1\MICROS~1\VBA\VBA6\VBE6.DLLVBA  1`FC:\Windows\system32\FM20.DLL4C:\Program Files\Microsoft Office\Office12\EXCEL.EXEExcel  p0FC:\Windows\system32\stdole2.tlbstdole aL-[DR?C:\Program Files\Common Files\Microsoft Shared\OFFICE12\MSO.DLLOffice Q!C:\Windows\System32\msxml6.dllMSXML2 a.E.`M MSForms  V3p4q EPi2C:\Users\LENOVO\AppData\Local\Temp\VBE\MSForms.exd y main  Access Word Oo`Gl;` W[xQy hg~g penchg "", ,elDD@@,  $(,048< ,, !Fi ->EA-1069- clearLogwriteLoggetValueColumnCountfindDicAndSetPropIDcheck initializesetTreeerU content sheetName valueColumnIDtreecolbrU~| 0  krU $`nrU~| M__SRP_6__SRP_7__SRP_cJ__SRP_dhrU $`(`a0(`y0,`4(!`/$I`4q`4nrU~|  prU   nT8g ûvHUuF`S+i*=h8+3qI&aNxI&aNUuF`S+iME MainFunc'UtilFuncJ0frmFuXuan?clsTreeNodeH 4b6ûKfxME(6 << < `` `d``x` ` H%)X$*\Rffff*0?58f39f13 "    ,HTX  @0H  P `  6   08@ .` " BX  `" P  "  HDX " D8JX " @8  @"P x@"  @  `h p    " DHHX  " D8 DP    "  H 8 LH    "  D 0 FP    "  H N8 J     "   H0 x     " D`hpx"  D     (08HP  X  h&x       6@x,> (xh& Ϣܡsheetڣʾgu $`4ģʽԣ°汾ģ壡- Ҳ  4 6A@2|Hk@9 sheetڣ׷һsheet $` `!,$` `B@l  `!,$`(k ־Aϴд־'־¼ ʼ 0$ģʽԣ°汾ģ壡 4 6A@2|k ʼУ]@]Xp]] $`!!.!,'P  ( P+ѭӵһпʼ1  $`%X$^'d d  ( 'Py d d#$\e (еšӦ飡A@k2ʡֱϽУ  $`%X$^'d d 6еʡֱϽУΪգ飡A@k 6ѧУ  $`%X$^'d d *еѧУơΪգ飡A@kX 7֤  $`%X$^'d d *е֤šΪգ飡A@ d#$\e 0е֤šӦ14λ飡A@kP8  $`%X$^'d d &еΪգ飡A@k9Ա  $`%X$^'d d &еԱ𡿲Ϊգ飡A@d0 d''_  b$`%X$^'  (еԱ𡿲Ϲ淶飡A@xk  d'xpkh  'PkH 10  $`%X$^'d d *е¡Ϊգ飡A@ d$e .е¡Чģ飡A@kX 11֤  $`%X$^'d d *е֤šΪգ飡A@ d$e *е֤šʽԣ飡A@k`12μӹʱ  $`%X$^'d d .еμӹʱ䡿Ϊգ飡A@ d$e 2еμӹʱ䡿Чģ飡A@k` 13ν  $`%X$^'d d *еνޡΪգ飡A@ d d#$\e ,еνޡӦ飡A@k`14רҵְ  $`%X$^'d d .еרҵְ񡿲Ϊգ飡A@ d-$# d-$#$h0e 0еרҵְ񡿲Ϲ淶飡A@d  d''_  b$`%X$^'  0еרҵְ񡿲Ϲ淶飡A@xkx  d'xXkP  '8k0 15ҵ״̬  $`%X$^'d d *еҵ״̬Ϊգ飡A@d d''_  b$`%X$^'  ,еҵ״̬Ϲ淶飡A@xk  d'xk  'k  Pûݣ֤  6A@2|XkP excel B@ ־   $`((־ $`B@HA1 $`% B@H$ݲҪ鿴 4 6A@2dУɹ $`,X P $`,XУͨ PУɹ  6A@2koڵAttribute VB_Name = "MainFunc" Option Explicit@ Pub, Sub m()( OJrro@r ResuNex\ ' Ϣܡsheetڣʾ!*If Ss(\ ) Is Nothing Then+ MsgBox "ģʽԣ@汾- Ҳp" &2"", vbE@xclama~, MSG_TITLE:ExitEnd Ifty t׷һ }sg}s.Add After:=( count .m!4fCall clearLog'ϴ cu"r@fRow0 '0¼A' ʼ>@w initializeyxonBRem УB%Dim 3rowindex As LongtS@ng, dicValu^eE @CII@ntegerEcheckBooǀWBCntPm.UsedRange.s.{FI-= data Star t To 'ѭӵһ! av1c= TrimLCells(, 1)O;Y""w=j,-{ @nElsedF" Like 0(Len(), "#")A writeW("$& "еa?Ӧ!v"$e#&2ʡֱϽУB{((2(Ϊ_@6ѧУ.C65h5E_7֤\et7E_14^&m^/'/14λ/qe/c '8#/!Kme)/!, 8B.u0Y;; $ 9)))νޡΪգ飡") ElseIf Not text Like String (Len((), "#") Thenj writeLog ("" & currowindeBx"еʂnd Ifa'14רҵְ= Trim(Sheets(main Name).Cells(H, 14)xv ""8iK `Split-")(0)) = 3 A|Rig8ht(]"0VϹY dicPRowIt=ACheckData c1FaDoEBValuelllm@nF!MoC0 Exit 4EO'—IÁITrueE#PI+ 1ELoopI#'15ҵ״̬_?hgz15?hegcQ, QicQH- QE!Q)!?Q?QG?QB'\iO⁦?Q N̨;a)@(Cnt[0HMsgBox "ûСڣ֤", vbInformation, MSG_TITLEA DvSubGbRem excelActiveWorkbook.S avtE־ q > b sgVisibl#' a RSelectRange("A1").!%!$ҪA^鄿ExclaAwvu101iɹ̰"3S ͨ0!& "o l q t!q#ûxME P<<6 << @`  ` i+0`i``+`p )A%``+`))I `9`"$``` `+0`` __`X`P`R(`T@ +` %%)A%i`P ``R` `%h  `@0%` )X(*\Rffff*0A58f3a0a0\1(*\Rffff*0A58f3a0a0\0$*\Rffff*0@58f3a0a0$*\Rffff*0A58f3a0a0 B  @ HB X`p B ""(PXh 8pB :Zx8 2 08@HP X x  B  ^H.P<<   (0H   ^ <@(8P px >,  B0 8 @PX `    * ( 0 ,H x :    (  ( 0 8 (@  h  x    <     ( @ &H p x         .   , 00 ` p x   &      ( 0Ph,  $(P XB px  (  &(P`p    @HX `x  x ־A:C $`%*B@\ʾi8 д־@  ' "} OR end1K_@)`ֵ ɹtrue ʧfalsFfindDicAndSetProp(ByRef vmZTypeEq)Boon.kB Czw,@iXmlnnjʒoaC.cBBM) 'G@+If@{(B A-*`@ 0 The  jBox "ģA Ӧ!ǡѾƻD!"bExclama, MSG_TITLE! 4BFC9RExitȅ Ifa!_o#@/ M'AI Ĭ@ͬV ?==A G1B>v46>1A2XML=xmlParse#>mJ);q-T`h EgA.:2/żʀǷϷau0C@A15λ18λIDc(IDti Ats!o,< iac(, zACu, oldIDC'-A!h aC= ID`9Not (LenA 8 Or 5C9A4#'λ 2C~<6P6 1fj% 0Left , 6) & "19"`RitghS9bgRIsNumeric@d17)ax>InKID, ".") >IN'ַ rnDSDOrror Res NextO' f y#g(MiBd7, 4-+U1{2o13, 2p< 11_rݥ>2 C 0R8#B 53Mɼ5s*s Fi1 `To 17v!s + R18 - ia) * (2 ^PDMod 11D, #Q1"10X98765432pn(s ? 'C3@'zzPUCap_61)6!e: ' Ա 6Bd=0Y'aѱΪW%Jba cW'i_λԭ ?mȫֱʼninitialize(;Qp{{"CuR/dN cN4= ?t(j$ϱ 0$') ߛnc?g{w{row!$dxaGz, code*1q?a0t?+Lf`lq3 42'3,4 ol).dr!W{d3/ 0qber Local"0_ " '1,13ν<510;!`T2_).TTormatLocal = "y-mm" '10,12μӹʱ Else$ Columns(col).N@umberF @"jnd If1 If 6z2 Then '2ֱϽУ+ roPwCnt-0dPxStr"a NdeDo/ Trim(Sheets(dicName).Cell CheckDataRow :+?,1 |))-f>h Exit EE Right#P, 4)n0"'}& ", " & Bk;16GM*Fb+ 1E:Lxoop(C5B, Len() - 2OWith˒Validation .D0eletƞAdd Type:=xlD eList, AlertStylop, OperatorBetween, ula1 :=B(IgnoreBlankdHTru InDropdownputTitleǪ@/Error RIn Mess agSIMEM$od xlNoControl3ShowAL@4A"^!9 OrbA15"U '9Ա,15ҵ״̬fGxWhi `%_Yc6tl)) <> -B:`f{_Rl(FaW8end%a a!ahaaBValaaaSea ao~a14d`14רְ'ReDim tre"3(0 To 1I).IndexV@,XX- 1ǡGXyxd9xzfs^@Not setT= (be initiP]zI FaHqFunc _1 NextF1ys("41:o(/zStartfpl.d3 Rem ȡ  ByRefb As2gA, ByO`Integer)!BooleakAG, p Bping, lastpCharQ3cERdaclsNodiD= = -7).n C)99R)Dc =/03!.#"̍W g= 3TSpl itӄЏ-")(x0),4 Э0=b([ SetrqNew> ZC1a/.itemD9"chFlgcˠ@r0= le2 !o  6W/ 2 G _ild@ .QIF*s*PreserveTa/7 y? XL_ûA0xME(SPSSS0{4012662E-2D4A-43F0-95FD-1B4B14A83BE1}{B3038686-A53B-462F-AFC3-9C19EE88486E} :@ > B@`"`D`F H8  d `f`"`h`j`l( %P( %@@@(X)XL "  "(0 P` h" V8X Z @`x  .     ( 8@ HX `p"x  "  ( 0H P `p f   @H PX `  x 8B@<oX@ @!& @!8+X 8B@<oؼгʼ]У] D L9J P9N " R R*PIf InStr(Cells(dataRowStart - 1, ActiveCell.Column), fxList(i).colName) > 0 Then @!8 "$R! b! d "$R! b$`%X "$R!$ "$R! b$`%X b$`% !V9T9XS .text = Sheets(dicSheetName).Cells(dicCheckDataRow - 1, fxList(i).colIndex) checkѡ @!d$'H D H H F5Z 'If InStr(.List(k), strItem(j)) > 0 Then F7\ D$H F;^yk F Dyk "q `B@bo@]]]'l " D!Z " D%^ " D%\$^'j j0- j00- j'lk f j'fk " f f f $'f l f lѡ lȷҪд𣿣ֻ lݳͻ$2'h h l @!& @!8+Xd|kd f @!& @!8+XRkxdp @!& @!8+XkH 8B@<o0("Attribute VB_Name = "frmFuXuan"" Bas0{4012662E-2D4A-43F0-95FD-1B4B14A83BE1}{B3038686-A53B-462F-AFC3-9C19EE88486E}dGlobalSpaco False Cr@eatablPredeclaDIdTruBE`xpose0TemplateDerivCus tomizDOp tion 0licit P"& Sub CommandButton2_Ck() .HidXEnd!"3 "Cells(Act[@.row, Column) 'ؼ@ʼ!UserForm_@82Dim i As Inte@ger, jJkH> strItPem()SngWith ListBox1 .Multi@Select@1fm AStyfmFg.*= LBound(fxA ) To UJC 'IVf4@'(Yd@RowStart H- 1Z, ( i).co) > 0 Then?h6$DIn8dexJBAourBdicSheetB& "!"H & Bs().Range(icCheckD + 2\), i ;Cnt3).Address! THeads !#x'da.tex?_F3J1Ck ' c8ϧTSplitl!, ""y LjL)LEg Fk`Do .aRCS"LQ(k2 (j)LM/ lK.med 0CExiNtakaIfiNa6k'j'- i iaatFocuISubا1kː kaA$Adtemg, w~u bC=i*B=!=ᜢ3P>7F}2iI(2n5im( `S@"0-" Or JQr c{ 0&Q&I2I Q<> "")q[eft(, Len)qX( At/a0_a@ Msg ("ѡT ȷдֻ":",!a"ʀݳͻA 17CTha||wu<"RHR50E/$O[J"/fPSS S06"<<<N0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}0"<H@%Hgu %,!hi AA Ah i,!phP $i  Ah(i ,!@h, %)8  % h0) %%b4@b8 @@Pp(pP@`L4()X*\R0*#1c$*\Rffff*0B58f3a0a0@ .8h B "  B "  B  "  ( ṹڵ G]@ ڵ]@ ӽڵʱΪtrueûʱΪfalsec]@  ӽڵP 'mh 'mP 'm8p 'm  .m@ .mױAttribute VB_Name = "clsTreeNode" Bas0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}|@GlobalSpacFalse dCreatablPredeclaIdC@ExposeTemplateDerivCus tomiz ERem ṹڵ P#' mItemAs Sng ' ChFlg BooleanӁʱtrueȻЁfa3ChildrenCollectLio! Iublic Property Get iN()Ox E@S0 EndLs>)GE= F _A,cAI+I+Qc*b^)= 'aC(Gb)SGcEj= mEmI(ByRef o|D/ EF 'ûm#xME (SLSS<N0{00020clsTreeView(DeclarationfThisWorkbook_VBA_PROJECTA     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~MtN ûlrGetCursorPosr8QSetCursorPosx\$GetTickCountxExcelRRRRRRMEH<$(084, SS S<I<< <<<@ F@P<@h< <(<0BDrN0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}I %*bP? b bx? b? b b? b? bp b@ b@@ b b.h@b@b `b @"@x`.< 6(b0Ab@bXAb Ab$b&Ab*A".0p"0A':X8%e co%'P%'V%'\%80%xhP% **%ic P @**%  %F8C$PD( \h)to 1% ^)% ``8)X'<% bi (id)% fH)hpd I%) to ,%ipr ith0hrht+nh @  )p` 0%+t $ ir * it**+v H,, `zC fra`|Dolor`~DEPT`Dn as`Cto 1`D`CG`dC`D`C'`C'0`D 6`Db~EDb Cb@EDbdhECb( CbECbEDbH rn a`Hoole,!8%)0 . C% x(()to -% s Nu% H ) % @ %,!~i clo A~i,!hH i  Ai 8,!( i  Ahi ',! iv 'i  lCol AH iv h2ji ` ` T Ro B )@% B`) %,! i  B AH(i B  ) %i ++i ` `4%` ,!i Ax //i X%`@,!h i i i   AhXi x i i ,!8 i i  Axi i,!i x AxXij ,!(i !ij%)  8!% h''i ij )!% ,!H(i A$$i %` ,!P( %)H $%,! i  ( Ai  ,!XP%)x %,! i  & A@  i ',! i  ( Ai p(` x(,Xix)I  I " I P*%)  % H )hp%)%)%  i   ` ) %) % X! i!i B P!% `"!)!! %)!!%I " -I ("i   `  #"cc)""%)""%I #I 0#i  ` ` `  #% #/%,%$$llI 8$I X$ix$I $I $I $%)% %`" 8%% X%% "x%% %% &&%DD)&%``( "P&% *p&% ,&% &##`" H',,`8 ('FF)''%i@'iB `D `F ``H`J`L`N (% h)())iT )iV `"`X ),, )%,!^P** )(*0*%i  A^**)**%i` ,Z++ i 8+)X+`+%i  ,R(,+ ix+),,%i  ,,h, I ,),,%i ,i  ,-0-P-iX-%)x- % -%,`.- )..%i(.i  ` X/.DD)..%ib.)d//$%in0/ipP/irp/it`t `f h/%,l0 0i@0i x0% n0 1 @1 21 55)11%)t11%iv 1I 2I 02i  `"` 2%`x 42i8 `z `| `"`X`~```` 4% (48% H40%@ ``4 4 4 585)X5`5%i5i z5%` 6 6)@6H6%i``@ 6 6 807BB)"P7X7%)x77%I 7I `| 7% z8%,\8X8i ``,.9889##)99%i0 @9%)`9 %``,jp:9 )9:%i :i  `` Z0;`"` :%`@ ;p;);%`` < h<H<''I  X=<&&i<i<)==%i  zP=% >=~~)==,%ip` >% X>PP)x>>,%ip``>>%B(? b0 bX b b b  bH b b b2b8bbAbbbhb"b(b,"2 B"4HB"6pB"8B":B0"<Bh">C"@DjH`CCjjCCjJCCjLCCjNCjR(DCjTPDCjVxDCjXDCjZCbzDCb|` Db Db Cb DbP Dbx C(DCh@(,@-@1#8C&` hEpBx(h B(?%6DX!`"?A@  x?AEP?C(4H9)P*0&x(HA?@C;@@D0;0XAE@?X=@E 8D5B?2Bh) < A>HBhp:P H'+CPDxD8/0h<1@ B` ( H8, `.8P Ex p0@h`CA*0A8D HXHFQPC  ?>(>x >E)X(*\Rffff*0<58f39f13\0(*\Rffff*0<58f39f13\1(*\Rffff*0<58f39f13\2z  R h `p 6  8 H BP L F 0 P8 2 R P h < 8  N  Pp*   .D802 , 0>P0<$Z(,NN4X\,"( >P ( ( 6  J8 f @ V0 ( ,   8 2X < X .(,XTD6HV.&*0V`F6>80x@H B  hpx   V zP $ "   ( 08@H @P~`hxHHH r  n b @p x          ( @P X hx     (@ Xh p " " " B  "   P( x < 8  F0 >x P  0  8HPX  ` p         "   (8 Xh p Bx "  B @ "  8@H BP Xpx "   B  "    (@HP  X (h F    @"!  08" @ HX` Bhpx "  "     < ( " 0 8 @ H >P T < (!0! P!`! 2x!!! ! &! :! 08"  h"" "" 0"" "## #F # h#Fx###  # $ B$$$ "  $($0$ 8$ @@$ H$ X$ x$ $$ $$$ $ $ % %0% *8%h%p% x% % 4%% % & & & 0&8&@&H& XP& (& & & ' n' N' "' ' (B 0(8(@(H(P( " X( Lh( J())) ) B () ,8) 2h) L) ))* " ** *0*8* B@* <H*** " *&*** *** B ++ + +" (+0+ 8+ @+P+ X+p+++  + ++++ +  + +, , 0,H, `,p, x,, 2, &, , @- &@- h- B---- " --- - @-6- . . (.0. 8.H.P.FX. . . .. *.. // /@/ P/ `/ h/ x/ //// B/ &/ :/ h00 00 B000 " 0 B0 (10181@1H1P1 X1 h1 x11 1111 B1 .1 `1H2X2 B`2h2p2 " x2 2  22 2222 B222 " 2 *23  3(3  03@3 P3 <`33 333 3 *3 *3 *(4 BX4 h4  p4 4444 4 444  4 5 5@(585@5H5&P5 x5 " 5555555 555 " 5 R6 DX66F6 6 " 67770787@7 " H7 ^X7 n7(8 08 @8H8 X8 h8x8 8 888 8 "88 8899 89H9P9 X9 "`9 :x9 >9 v9 p:x:::::  :: :::;  ;; ;(;8;H; X;`;x; ; 4;; D; < (< H<X< `< J<  <  <<= =  =0=P= X=  `=p== =  = == = =  = = = >> 0>@>H> P> <X> >>  >>8>?? ? (?0?@?&H?p? x? B4<? 8? V? $P@ x@@@@@ H@  @  @A A (A 0A @A PA`A hA pA PAAA  AAB B 8BHBPB`B  hB xBBBBBB BBB  B B CC  C (C@CXC hCxCCC C C C C C D  D 8D@DHD PDXD `DpDxD D  D DD 2D D EE E E0E8E@EJ`EE@E E EE.EFF "  F 8(F D`F 2F FFFF G G(G  8G HG JXG GGGG GGG GGH  H 40HhH pH HHH H *H H I I I 0IHIPI XIpIxIIIII II@IIIIII "I ,J0J8J  @JPJ &XJJ J J J J JJJ JJJJJ J K KK@K(K0K8K@K "HK dPK >K dK N`LL LL ZLJ0M  M MDM M MNNN N(N0N 8N *PNNN jNOO O  O (O 0O 8O8HOO "O <O .O &P *8P hPpPxPPPPPP  P PP P PP PQ Q 0Q 8QHQPQ`Q hQpQxQ  QQQ QQQ 4QR ( R HR  `R  ,RR  RR S,S 8S  @SPS XS  `ShSpSxS " S FS (S tS XpTTT TTTT  T U U  U8U @U XU `UpU xU  UU U  UU UU UU U U "U PU HV <hV 8V V 2W P8WW 2W ,W *W L(X \xX  XX X  Y  Y(Y 0Y@Y HYPYXY`YhY  NpY LY Z Z `Z b[x[ f[ f[ fP\ f\ B  ]0]8] " @]  P]`]  h] x]] ] ]]]]] B ]]]]]]B ^^^ ^(^0^ B 8^@^H^X^`^h^p^ x^B ^^ ^^^ ^ ^^^__ B _ 8_ P_X_`_x__ "____ _ _ __ __ ` ` 40` h`*x`  8` f` ~Ha Ha 0b d@b Bbb b c  c (c8c @c  Hc Xchcccccccc dd d Jd Jhd Bd ee e  0e @e He B PeXe`epe Feeeee de Pf dpf "f Df (g8g *@g *pg *g "g g ghhh @h h(h0h8h@hHh PhXh @hh$xhh h "h@hhhh B hhhii i (i0i8i@i Pi `i xii i i iiii i j  j j (j 0j "8j `j xj j jj jj jj k k (k@k Hk`khk pk " xkkkkkkXkllll l(l0l 8l@l Hl @Pl@Xl hl@pl l@ll l :l@l@m m (m8m @m (Pm 2xm Vmn n0nHn Pn 0hn@n n@n nn nooo o o ((oPoXo `ohopo xoo oo oo o ooo Jo( pHp$Ppxppp pppq q.q@q Hq Pq 4Xq q q qq q q qqrr r  r(r "8r@`r r rrrrrr rs  0s @sPs Xs hsxs s sss  s sss >t :@t t .tHt u@u u8u*@upuxuu u uuuuu  u uu v vv  v (v  0v @vHv hvvvv  vv v@vvv*w0w8w @w `w hw pw xw wwDw wx x(x0x8xXx`xhxpx xxxxx xx>xxyy y y 0(y XyxyFy yyy z z(z0zHzPz Xz`zhz(pz z zzzzzz z z {${ 0{8{@{ H{P{X{ `{p{{{{{ { { {{{B{ @|P|X| `|p|x|||||||| ||} }(}0}8}@}H} P}  X} h} }  } "} }} } } &} ~ (~ @~:P~ ~ ~~~~~~~~   08PX`  hp :x      > @ .X 2  Ѐ ؀   @@  0@H `@p (x @( @ P `@h p@    @ ؂@  ( 0 L@   Dȃ@@(@ HX ` hpx ( ,؄   (04X @Ѕ؅ ( " (0 :8 x  T D( p(ȇЇ؇  2Ppx  , FЈ ((P p xȉ@  ( 8 HX ` p    Ȋ2؊0 8@ 8H &  ȋD؋  ( 8H"h  ȌЌ ،"8@H PX ` x  Ѝ؍       ( B0 x   Ȏ  "  D fP ȏ Џ 4؏  0H P` h < ؐ"(08@Hh p  "  (8X >h ؒ  08@ HPX p    ȓؓ   ( 0$@h  X    :0 p  Еؕ  ( 0PXpx     0Ж    &  H  hx    ȗ З ؗ   0  8@H ` h x       Ș ؘ     & 8Xp x     ș   ,@ X x  @К@ ( 080@p x "  4țЛ ؛     (0 H X h x    М    0 .Hx    Н   @(8@HPX B` Ph "؞  : P` d h(   0,  (0 8 B @ PP ( <ȡ 8 @ j` PТ  ( 8 @  `p    У@(08 B @HP  Xhp xȤ  Ф      8"Hp x " Х   ( 8 @P X` h   " Ȧ Ц      0HPX "` Ph  "ا  X Px@Ȩ Ш     0*8*h**ȩ**(X` " h  p   @      N  H X $`    ث 6 0( X `px   " P ( <8 8x  FЭ & P@   Ю      8Pp x   ȯ  "  0 H X hp x  @  Ȱ   F  ` p ȱ Bر  8 H Xx  Fв 0@`p   ȳس ( ,0`hpx    д `P` p      еj P p x N ض$(08@ H P X ,h  <   0 8 HX hpx  "  P $ < 8H  ` H RH P  6 PH   Ȼ 8л    @ *`  8    ( 08 RH  ؽ  0 8  @Xh x  $  Ⱦؾ    ( 8@H P` Build 026K***************************************************************************Y Authors: JKP Application Development Services, info@jkp-ads.com, http://www.jkp-ads.com0 Peter Thornton, pmbthornton@gmail.com1 (c)2013-2015, all rights reserved to the authors< You are free to use and adapt the code in these modules forE your own purposes and to distribute as part of your overall project.? However all headers and copyright notices should remain intactJ You may not publish the code in these modules, for example on a web site,, without the explicit consent of the authorsK***************************************************************************I------------------------------------------------------------------------- Module : clsTreeView5 Company : JKP Application Development Services (c)1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 15-01-2013G Purpose : Creates a VBA Treeview control in a frame on your UserFormI-------------------------------------------------------------------------8Excel, or Access or Wordh] ]@?$PT the treeview is not in focus]@(?'6PT temporary flag to force mbRedesign=true, see Move()]@0$"PT sort siblings after manual edit]@P?$#PT "dirty", user has edited node(s) ѡӽڵ]@X$ֻ迼ǽײӽڵѡ]@$PT show checkboxes]@x?$0PT allow manual editing with F2 and double click]@$"PT enable tripple state checkboxes]@?$-PT determins if icons are used for checkboxes]@$PT flag if in editmode]@$KPT use separate image controls for icons, can highlight nodes to full width]@?$PT got a collection of images]@ $@PT determines if icons will be used for collapse/expand controls]@?$?PT Enter-keyup in a Textbox occurs when next control gets focus]@H$%PT flag intention of the MoveCopyNode]@p]@@$NPT flag to reset all dim's after changing NodeHeight or Indentation at runtime%]@$PT Root has an expander button8 ]@@@$PT Show +/- buttons` ]@$0PT determines if lines will be created and shown]@$PT frameholder's backcolor]@h@$PT frameholder's ForeColor]@$(PT 0-Automatic, 1-Manual can't be edited]@@$PT Lines color ]@8$<PT in/de-cremented as nodes are added/deleted from mcolNodes]@`$XPT incremented as node.controls are deleted, purpose to give unique id for control names]@@$2PT incremented from zero as each node is displayed]@$GPT an index array to identify displayed nodes in the order as displayed]@@$JKP: Title of messageboxes]@A$PT offset if using checkboxes]@$PT checkbox size]@0A$PT default 15]@$*PT Left pos of Root H & V lines, 3 + alpha]@@$$JKP: vertical distance between nodes]@XA$.PT if mbRootButton, same as msngIndent, else 0]@h$JPT top checkbox (these "tops" are offsets down from the top a given node)]@A$ PT top expander button (a label)]@$PT top expander text (a label)]@$EPT top for Horiz' & Vert' lines (mid height of a node + top padding)) ]@A$ PT top icon ]@$6PT top node label, if font height less than NodeHeight ]@A$(PT activenode top relative to scroll-top]@$GPT array, max width of text in each level, helps determine scroll-width]@0$ JKP: refers to the selected node]@A$PT the node in EditMode]@ B$PT node waiting to be moved]@HB$GPT parent for the root node(s), although a clsNode it's not a real node]@pB$8PT collection of stdPicture objects, their names as keys]@B$'JKP: global collection of all the nodes]@B1%PT checkbox true/false/triState icons]@B1PT collapse/expand icons Access]@$9PT the main form, eg to return debug stats to the caption]@C<'----------------------------------------------------------- 'H'j'J'L'N` 'R'T'V'X'Z(t@($Node click eventO MouseAction generic example for all mouse events. See notes in NodeEventRouters Event MouseAction(cNode As clsNode, Action As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)t@'Node double click eventt@$Checkbox change eventt@`t@^^p j r Private Declare PtrSafe Function GetCursorPos Lib "user32.dll" ( ByRef lpPoint As POINTAPI) As Long Private Declare PtrSafe Function SetCursorPos Lib "user32.dll" ( ByVal x As Long, ByVal Y As Long) As Longd Private Declare PtrSafe Function getTickCount Lib "kernel32.dll" Alias "GetTickCount" () As Long * * *h  l Mac displays at 72 pixels per 72 points (1 pt / pixel) vs 96/72 or 0.75 pt / pixel in most Windows systemsg The respective constants help size and position node controls appropriatelly in for Mac 1 and Win 0.75[ However sizing may not adapt correctly in Windows OS with Large Fonts, contact for support ]D( ]D@ ]DX ]Dp ]D ]D ]D  ]D  ]D ]D ]D ]D  0 ]DH ]D D]DD]D&@` ]D%@E]D  ]D&@ ]D @E]DX ]D,@hE]D  ]D( ]D @ E]D?P ]DE]D clsTreeViewx **************************** Public Properties **************************** 0.m8I------------------------------------------------------------------------- Procedure : ActiveNode5 Company : JKP Application Development Services (c)1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 17-01-2013@ Purpose : Setting the activenode also updates the node colors7 and ensures the node is scrolled into viewI-------------------------------------------------------------------------] $2k 0 A@{k A@ ! !. !< RootHolder ( !.( A@kk .0A@m]( !. !< RootHolder (oH '~mp 'mX:PT user has edited node(s) and/or changed Checked value(s) 'mh1 called after manual node edit and Checked change 'mڵǷѡ 'm(ڵǷѡ 'mPL PT ' 'vm(^ PT]] ' ' ' v'  |'   G 'jd'k  !!,     ? Checkboxes added changed after start-up so update the treeview'A@kkm Access .@m  .@m 'm 'mhH8 PT added v026 8.8k   8B@l# error if sName is not a unique keyo]0]H]h8 PT objImages can be a collection of StdPicture objectsN a Frame containing only Image controls (or controls with an image handle)6 stdole.IPictureDisp or stdole.StdPicture objects $ Collection .8  8 + if not a valid picture let the error abortHd@.8#If HostProject = "Access" Then 3' if the frame is on an Access form include .Object )For Each obj In objImages.Object.Controls  ! ! ! 8B@lXkP* Flag we have a valid collection of images 8!,'{.8 d=The obImages collection includes an invalue StdPicture object' e>A control in objImages does not contain a valid Picture object'k8   !' !Images  B@m 'm]@]` '   ' min indent ? P eP' max indentdP 'k80  ' min indent ? < e<' max indentd    'k G 'j   . changed after start-up so update the treeview !!, !.A@  .kkkmRPublic Property Get EnableLabelEdit(Optional bAutoSort As Boolean) As Boolean del! EnableLabelEdit = mbLabelEdit bAutoSort = mbAutoSort End PropertygPublic Property Let EnableLabelEdit(Optional bAutoSort As Boolean, ByVal bLabelEdit As Boolean) ' PTG' optional bAutoSort: automatically resort siblings after a manual edit mbLabelEdit = bLabelEdit mbAutoSort = bAutoSort End Propertyx 'h ' 'm PTFPT optional bAutoSort: automatically sort siblings after a manual editC optional bMultiLine: do not remove line breaks from manual edits ' ' 'mH PT& PT, equivalent to Treeview.LabelEdit, 0/tvwAutomatic nodes can be manually editedF optional bAutoSort: automatically resort siblings after a manual edit ' 'm8Z PT ' ' 'm6default mlLineColor=vbScrollBars applied in initialize 'mh j  j j  j'd  invalid input 'kmx ' 4.m(] ' j $@'jdF$@'jkhk` 4  4(  4!(.4d k  !' G .'j j ( ! !( ! !( .4dkmx,Public Property Get MultiSelect() As Boolean MultiSelect = mbMultiSelect End Property9Public Property Let MultiSelect(mbMultiSelect As Boolean) mbMultiSelect = MultiSelect End Property G 'j 'mPH]] '   $$ height of expander-box is 12 in Mac ' < e<'d 'k  #3 height of expander-box is 9 in Windows normal font ' - e-'d8    'k G 'j    !!, !.A@  .kpkhk`mX Global collection of the nodes4 *DO NOT USE* its Nodes.Add and Nodes.Remove methodsa To add & remove nodes use clsNode.AddChild() or clsTreeView.NodeAdd and clsTeevView.NodeRemove() :G.:j :.mPP G'jm(< PT The Root nodes have expanders and lines (if mbShowlines) '  'd'k ! 6 6!A@khk`kXmP'PT returns the collection of Root-nodesY **should be treated as read only. Use AddRoot and NodeRemove to add/remove a root node** 6!.m 'm '  !!,A@kHk@m8@ 'm $ PT Show horizontal & vertical lines] ' '  !!,  6 ShowLines added after start-up so update the treeviewA@kP kH k@ m8 #***********************************#* Public functions and subs *#*********************************** 6.6 6/ 6/ RootHolder 6(< :.:k k     6%.z   !AddRoot ! B@i F 2< 2< $ 2<k ' o LPT WithEvents can't trap Enter/Exit events, if we need them here they can be> called from the TreeControl's Enter/Exit events in the form ' A@6 apply appropriate vbInactiveCaptionText / vbHighlighto  F 2> 2>'o W PT call SetTreeExpansionLevel and reactivates the closest expanded parent if necessaryg eg, if activeNode.level = 4 and lExpansionLevel = 2, the activenode's grandparent will be activated]8!  A  !  !. !  !.p .kXkPoH X!]H"2 G !' j    A@  ! (kA@o `"3 PT Move source node + children to destination node8 cannot move the Root and cannot move to a descendantp vBefore/vAfter work as for normal collection; error if invalid, eg a new collection, after the last item, etc]P#]h#]#]#]#2H    I Or cSource Is Root|k .'_ !.  '    n B@k !. the child becomes a parent for the first time /= expander & VLine will get created automatically if necessaryk !   A@ !.   $C@:;C if the old parent has no more children remove its expander & VLine555! !!B@=k55! !!B@=k55! !!B@=k`9kPqH  / (  !'  B@ B@  ! (kkA@'/ ensure Left's get recalc'd during next refresh|`X ! n KT/Cannot cut and move a Node to a descendant node'SMove: !'n   ~A@2d ! Move:  B@ko #? As tvTreevRelationship2PT, similar to the ocx treeview's nodes.add methodO main difference is vRelative can be a Node object as well as a key or index see also clsNode.AddChild]%] %]@%]`%]%B tvFirst = 0 tvlast = 1 tvNext = 2 tvprevious = 3 tvChild = 4 $     %.z>d>> .   $:. k>>  d NodeAdd+vRelative is not a valid node or a node.key B@k(>k > $ P!V'5 defaultk=  Z  ! ."d= !."k=.    :B@l`=dX=  :B@lk@= "! "/k= "!5, C@ld<'"  V  X  "! " '"  y<kx<p<kh<  RKTF C@l TKTF 5,C@l VKTF  "C@l XKTF  "$C@l ZKTF C@ln;k;q;  9 X 9< 9 9 :!,9 "= =qH; / do this after let key = skey .z:: :.: :k: d !  clsNode.AddChildDuplicate key: ' ' B@dH: 0: (: : !clsNode.AddChild ! B@k9i9%1 PT Remove a Node, its children and grandchildrem> remove all associated controls and tear down class objects+ Call Refresh() when done removing nodes]&] &]8&]X&x&8 0$..* !." B@B  "B@: (5 flag to get removed from mcolNodes in the loop below  .0k88.2' '('  , :  ' ,!  :B@  ' decrement the collection indexd7  ,!X '   ,(kX7P7  (  ' . should terminate the class  * * / :!,e$: /k6d6all nodes deleted r .r'' ' k`6|X6P6 [ ! ! 6 66o6&% PT, similar to Treeview.Nodes.Clear]&5   " !!,  " !B@`5 4929996q85k05 r .r'' ' A@'|44 4 44o4&] Create node controls as required the first time respective parent's Expanded property = true8 hide or show and (re)position node controls as required^ Call Refresh after changing any Treeview properties or after adding/removing/moving any nodesH or making any change that will alter placement of nodes in the treeview]0' !A@T a Frame (container for the treeview) should have been referrenced to me.TreeControl  .Refresh: 'TreeControl' frame is not referenced B@ 6e  (Refresh: No Root nodes have been created B@ 6!e nothing to do'' '  r .r|1 !!!,e$ display the treeview for first time'8dp1c ensure all node properties are checked, eg after changing indentation or nodeheight during runtime'k00 8A@|00 > :(< ! Error in BuildRoot: ! B@ox0 H'5 PT scrolls the treeview to position the node in view( Top1Bottom2= 0 roughly 1/3 from the top Top1Bottom2= 1 or -1 at the top# Top1Bottom2= 2 or -2 at the bottom]'](] (]8(]P(]h(](](  .k0/ BA@k/ !. !< RootHolder !'F (k. !.. FA@k. !'    'J J  'H 5'L52 P52 R L 'L( roughly(?) width of a scrollbark- H56 J56 L 'D D @  @ G @'@j @% place about 1/3 from top  5 'N @e) scroll to top H  'Nd, J L  'N> scroll to bottomk, N 'Nk, N96k,q,o,(? PT set scrollbars as required to ensure all nodes are viewable" called internally by BuildRootn call externally to reset scrollbars while resizing the Treeview container Frame with bSetScrollDims:=FalseQ or with bSetScrollDims:=True after changing or updating text in node captions]8)]P) TA@Z'Vk+ ! V \  9    9k* "'X55 R'Xk*55 X ^ 'XkX* X52 X92d8*y0*k(* *q*o*h)I------------------------------------------------------------------------- Procedure : TerminateTree5 Company : JKP Application Development Services (c)1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 15-01-2013, Purpose : Terminates this class' instanceI-------------------------------------------------------------------------])+Instead of the terminate event of the class&we use this public method so it can be#explicitly called by parent classesEthis is done because we'll end up having multiple circular referencesUbetween parent and child classes, which may cause the terminate events to be ignored. 6 6!  6! B@B&k& 6B@Bk&.4.2.0.6.:G** by design TerminateTree does NOT reset treeview properties or removeF** the reference TreeControl reference to the treeview's Frame control If the form is being unloaded it's enough to call TerminateTree in it's close event, node controls will automatically unload with the form.Y However the treeview is to be cleared or moved but the main form is not being unloaded[ call the NodesRemove method which will remove all node controls, then call TerminateTreeo$_***********************************************************************************************_* Friend properties, functions and subs *_* although visible throughout the project these are only intended to be called by clsNodes *_***********************************************************************************************); PT '^m"P*L PT2 `' 2 2B@$kp" ` .2dP".2k@"m8"*  $>.'Zk"i"+  x$<.'Rk!i!(,! $8. ''!i!ͨKeyNode,]- Gzj   !  .z!k!!.i -2 PT called from moEditBox_KeyDown after vbKeyEnter]H.   ub 'ix `.]/]/]/ bCaption   .d A@k d tvClick u\ d je*! tvDblClick, tvDown, tvMove, tvUp u^d! tvDblClick, tvDown, tvMove, tvUp 2 To enable DblClick, MouseDown and MouseUp events: _ uncomment moTree.NodeEventRouter in mctlControl_MouseDown, _MouseUp and _DblClick in clsNode x add a mctlControl_MouseMove stub if MouseMove is required and adapt the call to NodeEventRouter with lAction = tvMove A uncomment Event MouseAction in the declarations in this module ) uncomment RaiseEvent MouseAction below ^ add the treeview_MouseAction stub in the main from that holds the reference to the treeview < RaiseEvent MouseAction(cNode, lAction, Button, Shift, X, Y)k bExpandere  't t .kA@ ! ! !!, %.h h f$j f !!, h@A@d( @A@kkkk t D Skip unnecesary click event if user clicks the already active node, D only raise the click event if a new Node has just been made active. < Remove this If bFlag if always want to trap the click event u\k bCheckboxe u`ko/]`0   !   clsTreeViewDuplicate key: ' ' B@k0( 'li]********************************************************************************************** Private events *^**********************************************************************************************0= PT exit editmode if an empty part of the treeview is clicked +^o$************************************$* Private functions and subs *$************************************0 default properties''' ' ''' ' 'TreeView'  p 'p3for testing onlyXoP1  r 'r o@1]P2]h2]2]2 vG t!'j '" $.  _copy:'x x  x $ 'k` _copy:' . " '"  "$.  "' v  t(kk error returns to caller $ $ t  B@l $e t   B@ld@ t   B@lk d  no key $ $ t B@l $e t  B@ld t  B@lkki2]3]03]H3]`3]x3]3(I PT distance activenode was from scrolltop top before refresh, if visible]3]3]3]3]4]04]P4]h4]4    v' Mac 'ph !,'84TODO find equivalent for cancel key in Access & Word Access Word  :( G'j" mcChkBoxSize = 10.5 ' 11.25+ mcLineLeft = 3 + 7.5 'msngIndent / 2O PT if these arrays aren't large enough Redim Preserve is done in error handler d 4 8 .4k :!,   * creating many controls might take a while Access :!B@ Word  (<  :(<'zk 8 j !   !!6 'kk' '|'   ~'dh |'kX   'k8k0D work out respective offsets to various node controls from node tops     ? '"       '$d     '$kX     '      '(   '&A 5'.$ default colours for node labels5'2 8d . PT, refresh, start by hiding all the controls 5 (Hk@  6!'    % 'kk !  ' Add the rootnode to the treeForms.label.1Node    !%l / !    % 9 $89kk    9     9 ! !9k ! !9k !G5(j !<9<9p9,5 (5  $. 5  +.k 8 calc msngTopLabel to align node label to mid NodeHeight4 first calc min NodeHeight if not set higher by user5  ( optimal HodeHeight for the current font5'49 'don't use the Property method or Refresh will be called5  e  5 '* 5   '*  *   9k`  * d d99pk0 k( ! !9k 9,C@49q d  !      9 !  $. !  +.kX kP 5  5'5  e  5 '* 5   '*k  *   99qk  horizontal line   !Forms.label.1HLine !! !%l / ! &   9 99< 09. 9x4 vbScrollBars 9 9 9 9C@49qhd` ! 9 &   9H# 3 + NodeHeight/2 (to nearest 0.75)9qkk Checkbox * If CheckBoxes And Not cRoot.Expanded Then   ! ! Forms.label.1CheckBox !! !%l /  !    9    9  Use an image b9. !$<9 99pd 9 9Marlett5(4 "a" is a tick  5(@ z9;9 09. 9 V9 !a9< !$@9kkk9qd !    9    99qXkPkH  Icon    % !Forms.Image.1Icon !! !%l / ! 9 b9. .AutoSize 9 9    9 (   9 $89 99q(d  !    9 (   99qkd'kk  ' ! +  ( '~ Now add this root's children ! A@k Vertical line for multiple roots   6!!, 6!forms.label.1 VLine_Roots !%l 6/ 6!C@4 99< 9x6 vbScrollBars 09. &9 9 ~  9qd 6! &9 ~  99qkkk    'B mcTLpad for top/bottom padding 899k(A@ 8 startup 8' make the first root node active but don't highlight it 6%.0 (' or if preferred highlighted at startup +Set ActiveNode = moRootHolder.ChildNodes(1) e j !    96kk~q~ ~   v  ' if Mac   '~  Seconds: 0.00$ Nodes:  :!, created:   visible:   Total controls:  !!,' Access @  @(<k}}  !!(<p}h}`}' |'H} z Access :!B@ Word  (<| > :(<|   E in some systems the cursor fails to reset to default, this forces it A@n !r !tA@t@|k8|>TODO: implement API equivalent for cancel key in Access & Word Access Word{  :({|{{' |' !    % most likely an array needs enlarging     d @4 zkz !e! user pressed ctrl-break in Excel#Loading/refreshing Treeview aborted ~A@2A@`zkXz [ ! !(z zz ! BuildRoot ! B@oy4]5]53 disable error handling, let error return to caller On Error GoTo locErr   NExpand/collapse button box (not needed if we use icons are used for expanders)  !Forms.label.1ExpBox !! !%l / !    " 9      9 9 9 09. 9x 99qxdw ! G      9j    " 99qwkxwkpw%Expand/collapse button text (or icon) !Forms.label.1ExpText !! !%l / !      9    $ 9  Use an image9p@9@9 b9. 9 !$>9  9vdv use +/- text 9 9 !-9<5(du+9<5(kxu 5( 9 9kPu9q@ud8u ! G      9j    $ 99qtktk 0 lLevel > 1 Or mbRootButton) And mbShowExpanders !   Vertical line  !Forms.label.1VLine !! !%l / ' !C@4 &    9      9 9 99< 9x 09.9q8sd0s ' ! &    9       99krqrkrkr z !  extend the vertical line  !     99q rkr z A@ z! z  A@kqqk: cNode.Expanded And (lMaxLevel < lLevel Or lMaxLevel = -1)|qlocErr: #If DebugMode = 1 Then Stop Resume #End Ifoq5= PT, create or (un)hide the controls, size & position to suit_ all created nodes have a caption, and optionally a horizontal line, checkbox and seperate icon]h6]6]6(p. Application.EnableCancelKey = xlErrorHandler !  ' Node   ' e !!'koHorizontal line  !Forms.label.1HLine  !%l / !      9 &   9 9 99< 09. 9x+ vbScrollBars C@4kxn9qhnd`n !       9 9kn &   99qmkmkm Checkbox   ! ! Forms.label.1CheckBox  !%l /  !      9    9  Use an image b9. !$<9 99pdl 9 9Marlett5(  5(hl 5( 9 09. !a9< !$@9kkkkkk9qkdk !  G     9j    99qpkkhkk`kR Icon, in its own image control if using FullWidth, otherwise it goes in the label    % ' !Forms.Image.1Icon  !%l / ! b9.      9   ( 9 .AutoSize 9 9 9 $89 99qidi !       9ki   ( 99qikxidpi'k`ikXiThe node itself !Forms.label.1  !%l / !9,9p       9  *   9    % 9 $89kXhkPh !G5(j9,9p !<9<5 ( !  $. !  +.kg 9p5 dG d9jkg ! !9kpg ! !9kHg ! !9k g9qgdg !        9 !  $. !  +.kfkf    * 99qPfkHf  ' ! +  (|ff ! % most likely an array needs enlarging     d @6 e  . e .  @.6 Hek@e !e B@+ user pressed ctrl-break, pass to BuildRootdd d dd !BuildNodeControls ! B@kdod6- PT clone a node and add the 4-way references]7]7]7 d " |dkc '|'. 5G .9j5 (5< (<5 (5 (5G 29j5 (5 (5 (5 (qc "! "/kb " / ! z !  zA@$ don't pass vBefore/vAfterbkxb "!   A@ / : vA@ !, ( |'  !B@ka|aa [ !a aa |'oa8I------------------------------------------------------------------------- Procedure : MaxNodeWidth Author : Peter Thornton Created : 27-01-20134 Purpose : Get the max right for horizontal scrollI-------------------------------------------------------------------------]x8]8^'' msngMaxWidths(), contains maximum text-width + additional icon width (if any) in each levelb tot-width = 3 + msngRootLine + msngIndent * lLevel + msngChkBoxPad + [ msngIconPad + text-width]  . $.      $.       $. 'k^k^^ '\i^8I-------------------------------------------------------------------------" Procedure : NextVisibleNodeInTree5 Company : JKP Application Development Services (c)1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 16-01-2013c Purpose : Function that returns either the next or the previous node adjacent to the active nodeI-------------------------------------------------------------------------]h9]9PT\ 0G'cG'j $:..dx\ !'   '    $' $:..k\k\z\\ [[ ! [[i[9]@:]X: z[k[ 56  '5   '    'q0[   .dZzZkZkZ   G 'j  !  ! 'jkZiZp:]:]:]:];]; " . . "+.Z "  "$$:. !' !'  % 'kYkY !  $. !  +.kXYPYoHY0;];];  !' !' ! b9.   .$T9   2$T9qXkXoX;I------------------------------------------------------------------------- Procedure : Round75 Author : Peter Thornton Created : 29-01-2013Q Purpose : Make size & position dims a factor of 0.75 points (units of 1 pixel)I-------------------------------------------------------------------------  "'" $'$ &'& ('( '  *'*V "   '" $   '$ &   '& (   '(    '  *   '*UoU<  $hU Access '@U ! !!!'UUkU H system highlight colours, bInactive set and called from EnterExit event !  '' when treeeview not in focus 0A@' just a grey border 09.$@9x' inactive colours/ .BackColor = vbInactiveTitleBar) .ForeColor = vbWindowTextdS in focus b9. v9 9kpSqhSk`SoXS*h<I-------------------------------------------------------------------------" Procedure : SetTreeExpansionLevel5 Company : JKP Application Development Services (c)1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 17-01-2013@ Purpose : Updates the expanded properties according to lLevel Called recursively.I-------------------------------------------------------------------------]8= G|j   6!   (dQ (kP ! z !    z(   zA@PkPxP !e z !    z(   zA@PkPoPX=]=]=) PT toggle expand/collapse with key Enter   ! 'dO 'kxOkpO    p U '# Ctrl-U = F2 editkOO KT ! ? don't attempt to collapse the Root if it doesn't have a button !e ! ( ExpanderA@XdHN ! !!<If Not ActiveNode.ParentNode.Level = 0 And mbRootButton Then !! !.A@ CaptionA@XkMkxMkpMkhMd`M ! !! ? don't attempt to collapse the Root if it doesn't have a button redundant ? !!e !!< RootHolder !. A@ CaptionA@XkXLkPLkHLk@L KT ! ! ( ! ExpanderA@XdK% a Root node and mbRootButton = FalseA@kKdK %. CaptionA@XkHKk@K K KT !   Z if the activenode is the last node and collaped, expand it and activate the 1st childnode ! ! (A@kpJkhJk`J   $..  .   $TA@H> the -ve means will scroll won't change if the node is visible CaptionA@XkI K KT Hstore the activenode's vertical position to reset a similar in the keyup  !   !6 '   !  ',dH',kHkH KT2 KT PT toggle checkbox with space  ! (5NodeEventRouter called in node.Checked/UpdateCheckboxkHnG' PT   pufdG : :!,$:.kGkGkGoxG>I------------------------------------------------------------------------- Procedure : TreeControl_KeyUp5 Company : JKP Application Development Services (c)1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 17-01-2013Y Purpose : Handles collapsing and expanding of the tree using left and right arrow keysA and moving up/down the tree using up/down arrow keysL Also handles folding of the tree when you use the numeric keys.I-------------------------------------------------------------------------]>]> PT0 PT KeyDown was initiated in some other control,J eg Key Enter in the Editbox or tabbing to the treecontrol (enter event)|`DdXD'kHD  1 PT look into moving more key events into KeyDown09L`iLT `G 0 'j    p$SetTreeExpansionLevel (KeyCode - 49) 0 A@A@kHC K]KT# F2 & key right/context menu (?) PT   +^ B@$kBkB K KT L PT activate node in the same position as previous activenode when scrolling !56'  ,   '   56  '  556 e  'kAqA    $' $:.kA K KT  G'cG 'j $' !  $:.kASAnAd@ : :!,$:.k@k@k@o@@tAttribute VB_Name = "clsTreeView" Bas0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}|@GlobalSpacFalse dCreatablPredeclaIdC@ExposeTemplateDerivCus tomiz E'Build 026p '*G& Authors: JKP Application Development Services, info@jkp-ads.com, http:/`/www. - Peter T4nton, p mb@gmail A(c) 2013-5, all rights res!Oto the a.You hT f @u@and adapt code/modules forAyour own purrs disŬas part of ver'project.HowMr-@headerCcopy1 notAR shouvr e?n%tact@2may #blishW0,0 exae na web siHte,wiZu @exwit consv2R?Ft -?#AM3b6J: ACompany`:?Y= Y L_C Jan K`Hl PiVD(Z)bP : 15-01aU3!PGŠLa`A !v !/trolQaUa`6IU[Form &?" O.py @{i@L#C?t HostP#W"Excel" ', or Ac@$s!Word9PuPc WIEv Gs"  As MSAs.Fr@)!.VarHelpIrD-1B mbInAct 1k'PT"`t{I(iscin_c us PAl waysRsign `Boole;`  orary flagmb=true, see `Move(> uptoSo+ sI!si%ng@fmanual ed/ ChangH "di@rty", r\ hn(s"Qѡ@ӽڵI XfCheckl  'ֻ迼ǽײCѡBbox`X,w c B LabelESow (ing AJ F2)BWdo&e>ickiTriSt"saenrsZ0lel s e`&Image: d?mins if iRrePdV?1I 1r&nB g@ FullWidthp/(gi2 P q7k3 , c.hrjl0t1dpkfGotIgot aJll`m`bz6E0reroiPvdwi|be-ollapse/ivu KeyDy En6-keyup#UTextA) occuww`hen n0WgrefoLCa> wnTTs1Cp}NodMultiLin In `dim'Dc1C33AHe[In d@Ya at r u mJ RootButmA2F?@$𚀺 ShtoweszA +/- "!_[a57"ls0+"cv!AGn lBackCol!ks LoD!ebfhholPbݰc @ke>r N0- omc, 1-M`:'t 0]N :sdQgin/de-`cd !d%r@ddedlPO09rom my Deco8-n3JQd/.g~un8iqu`@2 n0#lVisCo@-einf! zero sac:hP Pye'WOr!()W0i5x`r @ iq6ify V3 msRSj*: Tit`aEmessiusngChkBoxtPaS@uo ffsetqkus1Bjj6SizJG!5z D`CFqxadefa`OX#0+LeftS ngle 'PT Left pos of Root H & V lines, 3 + alpha Private msngNodeHeight As Si'JKP: vertical distance between nns sLl H if mb Button, same asIndent, else 0 TTopChkRTtop checkbox (the" s" arefsets down fProm  aP givb)8E8xpB8bexDpaWr bd (a label#T#text" HV!~for Horiz'Azj'C{ (mid vhu@ak0p(addy),Icon,iNJLA>O EJF, font$less1can ǟ Vis~N#actAo@srela scroll-9MaxWid`ths()*array, ma8x wBein each level,.lpeterm 9HoA'6cls refer?osel`ectedhEditheu!M!MoveB3waitAm&bd)uH`olderpol9!Pjr፡ (s),thou gh a it'st@reacolOsAC 8@"iQ&$AYstdPictuA|bj@ir nskey! 0glob alNlB4a oCImage(-1 To 1KG4擀true/fa@/triStajo 0 $aPpse/ d #If@stPro!# = "Accm" Then ƿoForvm!.#.E.:mVaK@)k0'rcBLn:t J@6generexamp1=/mA " s. SeGtes 0!!RouPx , Long, À(Integer, ShiPX, YkO3do "eIickS1# B=?>ІangeAfpqX(ByRef Cl BooleBaNewS?ng" , N&2pKeyD )@yvVJC _e5R9vBrPTjXType PO@INTAPI3,xQ2(GVBA7 A 2Not Mac6G!WGDeclPtrSafe Funr`(GetCursorPos Lib "00% Or Wate <> m@bTriSt) Then ' Checkboxes added changafter start-up so updthe treeview mbRedesign @= True R@efreshE`nd If   Property #I@f HostjectZ"Access"Public 7 Set Form(f@rm As . )@mo *E$?Elsd 2MS%s.User4 4GgullWidth()hBoohleaFcmbSL GHD1Sub ImageAdd (pgaStdPicture, sNameString) ' PT 'ġv026A@Not mcolIco@ns Is h Bt = Ne@w Colli^oKA.@) @)%' error if*is n a unique ke@Y@;A+W#As(objC.count` >= 1 EHxit @=H:#9ot VxErl TaM#= "rd4n6.y" %׶!cq2A<@Tdop-4@D@:taU !s& vb,LiPne &1<.Nr8iptVYA4 rr@.RaiseNumber, "# "Z!&WQsIndentaqussSpLl}@msngsqs("\"]cNo@5oclssb_ngOldGas'H cQ?Maco@7< 16A0' miQ$A ?t#'> 80/ *#ax`$! !Int7Aݹz#A 72 12Q  6 + C#h#* 2 +FPtPxl) / 3 )@mc2;N0@ootButt]> R07% 0єeeX Aї *='"T0?dDWKKUS5= Me.Active5!1.A@ !8rqW'Jt EnableLabelEdit(OQal bAutoSB) delϡL mb&4L O  , ByV1 ;F)' o: am[8calQsingpBa manu0ePAH m)_MultiB8`_J  #)bUge = mbMultiLine End Property PublicH Let EnableLabelEdit(Optional bAutoSort As Boolepan, < >ByV;O) ' PT 'PT og: aqmatically s{sings after a manu}aeHRH: do not remove l breaks from "s "Y= b]G4)L8ongU, equivalent to Treeview.0' 0/tvwA-W@Fdes can beB[ATedTfre gG"l%A2ǘAU!n R"m'* Ey= (H= 0)?E06䁀Co0lor(z'dhefa '=vbScrollBar@ppli ed in@itializa? _!(lcAPIf <= vbInfoBackgrouOr > $ A`White) ThenD0EElsRe`5in@]iAputi##,If!rM CopyNodeHK!G/#cls{bBB@ cS@mo?_Ͷ, Nc!h:St lOrig9caR!?a4E#A=:`#A = RGB(255, 231, 162?:MC(159@417>4I$=dNot , Is hi g.a %h" Conts8G @ a-AW#) 8v=  =09m 0, Gck$+= xq c%ForeRW.;@'6ASeplectY$@  <{qV(a7.'1= a?Heigh S/lb msng' ~12c[(z`U# D>Dim/zVOlduS _t,6#Mach@ < ,121hhB of expander-box isAxq=p)> 67 060Int(A {F##31 99Windows normhf`RO J 9ht > 45z45 * 2 + mcPtPxl) / 3!)@74g#mbRootButton21pI$n0^AdP9k! A/-ݕE.s.ct TS Me.Active+RefhK ?j%%traqO>ss\dA]S Gxlob)D=the0+*DO NOT USE0* itу.Add ?R#@method' To a &ns uK Child` or PqVaq7v(;mcolNodes Is Nothing The@n Set = New Collection\ z=V End Property Public$ GRootButton() As BooleaWIf mb!= 1eL el?Leadero) ' PT%0  nhave expan s  lin (iMShowς W= 6h msngO-1 I ,89' 'kqftstart-up so upd u{veviewK ߏECe9l'**f unbsubs߁ Fe(OpAAsKe"yA@Str, 1vCabIImageMain, _ 1'Fbd{clsaL&On Error GoTo errH!?f7QU }Ih/_n.";MYvXS "1[S" qW / % '5Egi"* 7 /Sub Checkbox(picFaPC/dPic0~e, pTruPzps Stg,iSt!C@7,ato{0)@Coe(-1t c@IsMiss@;!Tr )m3Smb ?tJEnPV(bQA`!WithEvents can'tap b/e, гwe ne[m hezrhJpq 0`d from\~'so in!bformInA0VmscJp0J' applyQpri `vbInaBDSText / vbHighl0a /5r)Minus)cPlm'ST?a ';' mo['sm0 o!?ToLl(ls!LongfbRe6$$$Ќl1Qз! losest`d parp(&necessar z' ;q` c޶Tmp = ActiveNode.ParentP While c.Level > lExpansion" ^tSetbpend =9?"End If Sub Public Copy(cSource As cls, cDestF_2~Optqal vBefore, ByV After, bShowError:Boolean)9Dim lCheckedLongaMovef^(@False)NothiIf mbTriState Then*2={.c2CClonwCEJ,G<v8 @)= -x1 AeS@&0 SGM -1s@<ColorwyAG(yyy' PT A) sâBn + cdA to d@ina  'ANcannot m the RBo@and o acant 3/p wor`k as @rmWcolle@ on; eSif invalid, eg newb , a!^lBa hitem tnc@c4Ys ]Jc1XStrFTabIsc]a'l`c`!$y'?g &GchžOn tGoTo"HA1_ELIs Do Or?dld^q >'9A Exit#%bgx)= Do *'r a#c Loop Until  ?& G@,.Raise vbO bj`P.+ 110/A.C!fs  'Sbk becomeZs Yp_thfirWtime"% = N``De' eder@ & VLiw ill gred automzcally knecessarFyAddaToȳ"=c ?#7a@FN?Wi8th 33#.Remqg!5, (@IsMiss@=(GFh ) ''Cold hGnoLr gaOrR its$ of!| ."a8M e.TrePvnt@rol.CorsD.Na9#A@#yEU Box-u a  B 1O rO aE s/G b  s/ / ad)$%0413P\&TruDS`\sal9Et]qb<`2` _@= ]$ =Is P_`mbAlw aysReignapVnsu CLeft'sUreUc'd du next refreshe3tH:\ CaghNumbe?B?i4i= "Ccut Rf\" Ma: " e hcri1Se &xpMsg=E , , AppLEjGcys, m%,| " G c0 Fun" deEn(gRelqveA4onship//l sKey pC??yCaImageMainTid)  tvhv'PT, similar%ucx tPkview1qs.add metho2m diffevis жvRelative can be a Node object a@s wella key or index ' seblso clsn.AddChild  @Dim i As Long$c,nParentP9TmptvFirst = 0@ tvla 1Q Nex 2previous.3c4eIf IsMissing() ThenySetMeRoot(sKey, vCaptionImageMaBiExpad)&Exit 0Func Else 8On ErrResume. j Gc= O\@6GIs@/t>h9D6A!mc4olrsDEnd If*GoTo errHq!@;.Raise v bO?+ 100, "A$@_"F; is no@ validArn.".= 1onshi>pJDtv0Treeb.tvŸ@ ' default Or Jn.r@ po=DJT.+8New@`'Le~n`%5BHe , e 10^110Q`c.{"&sxt\=`jw Coll`w1With oC@.couᐣGgC}i`+0A C"KC/PO FEac`Inze!i `pc" sHVSEcor d!+1Sea9 CaOrK: S,n RDL+After:=? ;Ari%8Kbefore:=s_ + !#wi.<.4.m)c;U.nCStr(o(n.vp@v2qFA7>L@;,tP[M w1;Cq.a]o Pts a l@0fs`#BO\r:C`4L1gKu;IzPEr6l ZA`|!wNumber@457eyr@@x3b(yDuplicatea: '" &_`"'xO#@ DebugM1= 1<q St|op 1#i 3? d0 Descri[ag Pub Subfdpmove(B P0' PT Reķ, it@RaE  grPc5mr4socid con0trolp'Pte@ar dow@\l(assTsCaRefresh0() wpne~ l8Idx ۼ"CtlsOrigt5O0b,dSƮ1/AA/xtVisibleQIn#, bUp:=TrueH.rڎ3sTermina Au;~.. *II J-1Q(' flag to gBd from wAbove Isc *.Me.Acti1bIn@Booc`@HmW~ Gg' a Fr a0(4ainer f*3)habeen5"fenc!9o xme.A RaivbObj<  + 10, mcSource, "1: '' fBis$vtcB"' #oRootHol]W!' 1 sth:\ 1c d{ .Child^O nd bdo' D#D9O>EDKyOr| m|bFw1k)cx' dis 1y0(GB1>=:@q' ensure u A2_/O8k <+> No\t :31#tom2=0 ;S <  =a* -1!(=( ' place about 1/3 from top %->ProcedAJ: Company : JKP A ppT>on Developme+Services (crQAuth`)san Karel Pie`Cse (www.jkp-ads.com2Cre@d215-01-201 uPVurpRo` ( sMis class'Gstance@ o-SJcQ=aJcls'Ptead qVp}C Pd wHe u@ thP p ime`d soj #cpb  'exit`_a0apPBe0U done FblAwe'gezup havY@multipbcirculard0ferePbe@tween ac0edSes, fch may] e o ignoPp..?ѢmoQmHoldhIs j81r.C!s 4QEa` xIn 9h  2.0E<N_ s!`f Move =!Edit Acti ol1h"S'**d@gn B doQ?NOTtp8ropY@@rem2re'Dx(R5'sT{Qz'4"form 0be/@unloadtenqՑ5 biAclo :"<,s5au@O!y c.1Howrr be 5epQma not4 Gr Rb $Es:wi0  a!0<np<*1fh*S**[*F riJ#, fu2n-on@Hsu|bs?alVugh visible thro@ughoute projecXse are only intended to be call0by clsNodes * '*[ Fri Property Get EditM(cQ As) Boolean ' PT A0 = mb End,5L5, ByVal ['=)>?S#MoveCopyX(False)FNothingM SIf  mo_{Is Thenw.Box 8A=If;0 .= \0CN J6Er\Function!wExparIcon(bDdV , picStdPictur@R?}$4@SmageH+o )G7 %gTrue62I6Checkbo:xB6lB@.Longg5\5 (foKAQBvKey, bFullWidth8Iu)On Error GoTo errExiFtC5cols( |ƃ7we7 :c6` #ogetBy٠(sQrx$Dimf*UB= ""BTZ  'kF"Each$ In~@/#"s.= " +y(!y!?a`aNex3L c)+$E RaiseAfterLabel!, sNew>T,}fr,om`_!Down aa vbyEnQ 'v Ltv+' Q]n?2+S:FUpt e7sYq'#@ommQ9moTree.Qh3p mctl"_`1 _jY1add a#A st@;if Ris re0quirP}1adp*2ѳ wi qG"S] G"(;indeclara=s!PsPdulTigx'IXowthĀvP<ma` Xthat holdsb refereWo *6P M, K, X, Y(4:$4shEEL=0Z@QWE,H?wG /DBuPRoot?M.T d?0PsU@]!sw YQ.'.count K4IsVisi_(a)? Ppc>CwDScslTo1h YTop1Boqm2:=2k!#o,OX1?Uuu ?=`'#' SkZip unnecesary click event if userLs the already active node, ' only r0aised a new Np has just been mad _W.RRemonthis If@ bFlagalways wato traps JREC(c)End 0 Else7sControl = "Checkbox" Then-*/'.3SubFrie Fun~on UniqueKey(s As String)&Dim _ cls: For EachInsUj.0= 3A!Err.B5 vbObject@+ 1, "@TreeView""Dup@Tate key: '" && "'"EXNextC=XA# DI '*?Wa$PrivA1s}A*.7@ UĜ_é' PT exit e0ditmA@an empty p@art of¿t5eve edYE@M@(AA) .Fa]C./-@M&fDXs aZsub'# Class_Initialize(`  default prop`ertieZmbRootButJth=(ueS@howExpe$rs TrkLinelaCol%^=`Sc lB,arh# # iMacEamsngInd= 20C.Height16A15  2#jC"@A@ppName`"&ycDebugAF1gCl~s4@N`'f(test"?$ Pa#ATermin@sAa B,pFHAdd/ToB(hcolslion, cq, b$B oolea Opt al vBe#e, 'Aft\er ^i!LongApcTmpJpoW `#[|= E b9aLenRi) On aResu%]iH0Set 2 `4C# NoTIskngL!= InStr(@i!h_copy:"q1 n= Lef$t$, - 1\!If 2n;While WkPh 3?1i +a5syi Wt i0" #pKW$GoTo 0 ' err@Dreturno c`aller) IsMiss0(T5_phh5$ =.<0,"1 3%w,5?! a)sesno!wOreOGOOAPa a 0 A'o%a)9gBuilds(bmpVt[ 4DbCursorWa  TriStjOrigX\ 1cYlLastѱVisQxcTo_S`/@F¢distanceڰs from st1bh refresh,visibl! 0ChkBoxPadg Alq Icon cQjobjCtrlqMSms.԰ptPOINTAPI3v@ Cpa@3 TCCGlocl{>Win32 HOr 64?3 A= getRo,unϑ)#1. ' Ф.TimOS4?s+aee.cAxC'TODO find equivalent for cancel key in Access & W@ord #If HostProject = "J" ThenHElsePL1ZApplication.E@nableCK= xlErrorHandlergIf qmbAlwaysRedesig"n mb= PTrue1';mcChkBoxSizeg10.5 ' 11.25-LineLef{3 + 7msngInd/ 2.PT if these arrKen't large enough N im Prrve is donn ey hyReDmlVisOrder(1 To mlNoxCreated!M100)bInit Or Gk;D1MaxWi@dths(07%DENZco.cou@- > 4.0TcA(ing many controls might takJ whilh  DoCmd.HourglaC~E ## System.Curs= wdWaitZA χI$FxlWA bGG.a@Not xKudeIsia >Acti$veGSc1lTop@(.[x - 1) * aHeB6- Me.TreeCC9~.f ieXCG= 0cbTriStXOrig=mdFa nChecayLesl`mbboxImaok%!CPad! ImgAG]<> A+o = ɗ3k.' work ohut p? offsets to vario0us n 'tfromCtopsCaEExpB%TLp'+ (`cuta) =A.b3erq3 T (mU4)6 %\i 9j!G^!cLF!I@HVaIӡUCalld Rp7d703Wxithq< mlBackColO.' default"lVs#label"cForBd1 L A7' PT,-f0-h, star0Qy hidfpx, Each objCtrl In .M; S UaQRU= dHqNexxa+86cRootDmoHolP}.C0pdZJS1r4Full|^rBGotQs A0,.has!(vQ )AJmc ;qU5P cT IsPfth??PpP. 'Add r0"*Nq!tlSe@-A/ 5n%".`("ms.2/.1"h, ""г DeleÙ ,#59z2Ambmb_?so .PicturePosiѻPfm<Q~C=0m%s7)/u& /' .mckH*x.$(2q#n2+`23/!0V58Y= /Q 0-Z@?OPH .F.BE.CapD(c_.Autot&RWraqoIT_#X= .o;`K"cXUq~z( End If0 P' calc msngTopLabel to align node l&mid N"@Heightfirstin0 ifPt set hAer b@y userJIf .j >{` Then5' optimal HW for the currentna!7=E' 'd0on't])Property m@ethod 4Refresh w ill b:alledYElsev<+v#Mac4x= Int (9-9) / z2X#,V + mcPtPxl3 * 2)!.; =TLpad@lVisCou*L]S@bmbFullWixdth\d I#}c:.A7J"AutoSize@"FaNm~ Len(cRoot.ControlTipText)<".WordWrap;.ZOrd0s .Eibl'0True1With e ! j"KRedesA.Leftmc^1Line`ANIconP&bChkBoxA@@CA9cO+ H cMaxbs(0= J=! O(a?e ʹf @hjA*"|V_^v_^(_^_^_^ #W_+_g'0O@n1 O@ ' horizpRЊNl9##mb;Button Ao@mbShow; =| 1_B3RGB(180, υu? }.ibByAmWithw|} 4喸 HmcTLpad-  0uw' I co MmbFulláA mbG4ot!sTNShas(vKey)xTa Is pNoth|X$S@#9= Trevntrol.C`s.Add("Forms.I.1", "!8" &%Ab, 8a($a# 5.QGXvpITransparenoE> z{z'.qo .3c1o.o445vPa/Z* 6ٌcols+k/>o>O/+.ngP`kQ!p)`0?GpG6++ 1sjO1(7)$OndexsIwlLast'Now add PYs r`'s childK;\[v sO]Bu\ ,\uGNr'Ver!Pal l fmultipM s mbAButtnShowQn P moHol.C1.cpt >g VQnooo`labelo"_ s"mRB u .Z*+qePtPxl"ofmla ' vbSc`lB_\Z2 [ .Top = msngHHV ,.LeftcLineAVHeighZ(lLastRootVisIndex - 1) *arNode*KEnd With Else3 movHolder.Vd(Dm:ibleTruf  If G~1AllA`sAul"Countfe + mcTPLpad'Ffor top/b@ottom dingIf bInit ThenA.ScrollQ0D2Setbars Fa@, CRJ"' star(tup'7ake the fi rst r@ n active but donP't hlit$@A QVA Childs(1)N @Uif preferredat..Cg@#Not hIs h@97IsEW;h<( . $A- SG#; $@ aBb#`DebugM8kOn Err .Resume Nexh9!Win32 Or1`n640"TickCf= (g'@=Bun):mbShowExp eų8+'/laptb'(noNtr9*@we, Zis@;d[ e(3 mbImage,%./8_ hderBox = TreeCon trol.8s.Add("Forms.label.1", "Exp" & cNode\.Name, False) With`anN6.Top(mlVisCount - 1) * pHeight + msng)!GLeftHmcTLpad?26(lLevelRv2R"IG2)RootLine)Widd= mc 1 OrqE`Brr) A vmbShowGs]4(lMaxc<PW= -!9b'Vertical lљs:C=Vz'{o"zYlR0^Id§2)B.ZO 1ϠH}HV9rk)5/*01h .]PtPxlxG˟RR Yoo?o"s/6Y/rϾ`O#܏O#a=F_!e@")_!19 g$$$EPǯM g9C EacChi ~KIn cNode@.Childs ' extend the vertical line If mbShowL4s Th en @WithVNB%.Height = (mlVisCou@nt - l3TopIdx + 1) * msng2OCiblbePTru 8EOoM  IfBuControls c, l`LevelN ot Is a hing4Tree0}TNDcs'Expanded A> (lMax. m@cE[Private ]( A_lsA, ByV2Long.' P@T, creor (un)hideBcDq, size & position t@o suit,aDlld n7s have a Hcap , S o y@horizheckbox sep4er#iVDim @IPafhs SlīBName#>cW10.TAl!Cent%ovkjwA#.ra/n= 6 reusRGB(180, E-&?uOruKgrMx_0Nҍϕ Nc NNgN!@m End If ' Icon, in @its ow8mage Ttrol if using FullWidth, otherwisef` goes|& labelIfH mbf AmbGots T8hen'+cNode.has(vKey) $(sngPad = mc H L Is N sSet >= TreeCo n~.s.Add("Forms.I.1", "" & sName, False)F1With1.BorderStyle nfmNone!LeftTL"p+ mRootLine Indent * lLevelDChkBoxRTToplVisCouhHeixght@S'.AutoSiz.B/ |X 0BackPETransparAT;@PicturA^mcol#sC 6SibxTruPFE@O""RedesignԁOe.I pIi Gc/ ._MngZM.*d *D, 0'0i#2'@ nael! w F .W@Wrabz@woX_Ha*[H/dEc`L!a`1?_f8=.Position`&,fmlnC@erkm`Qe ! BoldrA .Fpoha&I!"f !p.CapvK Texzta.u+ 7# >rpMaxs(o/ 1s=/({ / 9AVr6 c <1pW? !D@rColora.nooT`o're&omLen(t&Tip"/ dxtqi"h#gZmb/}cXg84ãhKaco8nAo8?# Q8el)oaw 8w |ϕ*degf6Fn mj;+ 1Oa(xS`2SExit SublocErr:@.NuPmber9@' most likely an array needs enlargճaUBd )pz1F ReDim Preserv,e BL/To' 00Rexsum16 D> u /_) n ( Lo5o k gH$ 18Rna'ppsed ctrl-break, pass to@ BuildQ Զ Else 0#If DebugMode = 1 ThenC|Stop DResum End IfHErr.@Raise Number, "@BuildNiControls", Descri0ptiozO  Sub Private  Clone(cParent @As clsX,, c OXal vBeforeD, ByV After) ' PT$- a naladd the 4-wa@y refe:ceswDim b TriStMOrig=BoolevafcXKc,Ch Onor GoTo errHˀIs Nothing Or ExitPGZ 2= mC FaCSet := NeweE,WithC' D1.BackColQ9= 0 m~lF  C6a@-.checkedExp d.F2mlFNImage  MainA,  I'KeyCB5M.Uls LBAsB$lec}!BH.z= ]`^I_ ! Eac PnIn"CvL' don'@t passe/vbNext+lAdTo E A, k,gG $tre!M mcol5 zee@:=Tru djInd exAb.counDA`H$ ;`n&A1$& !:}. ! # yLFun\ Max)Width(*)Sl /'-?!rocedure :ja0Auth0V: PeoVorntAAw' Creld27-01-20132urpo5| 0G ^pmaDx nht u 9`iz }t|oll`? -CAtlLevelLongwsngI''' mcs()0q ins imum$ t:-w + ~iI icon s(if aPny) Ve!DlD tot= 3@1RootLine!5'* 4 + Chk@BoxPadP[I@g ]%OLCro UB9d(Jp@"8)2v cTLp g A `> /?eli<Z : P è%=Af>qVisibleQInTY(ByRef crtaǑ*bUpYBO52 PB A(Com0y: JKP Appl8ica128opm!Servi@H (cp' FJan Kl PiqGD(www.jkp-adsfm2)H16/HeR!thattuJr_=a"1u l= -1 11E8'10 ((1 ..00Cx@&+3 Gk >A> mlCounts>E=O4>: =4.Index >=JXA@GT;HVHVF;Chk+Labd= I ;"P#7{ * 2KmcPtPxla3!)@4s)XT!_2_P@5A5"__@) 'E??7IU3~#>z`u}ZbIn3ive3W_ Miss(81Q1On ErrP:Resume ǁ4Host!@Dject`+"Access"2m# A(,2Dqf|.Parent.#?_b`V$bVGoH% ' sy@stem hlR0ours,  @w aAalled from En0UҴpnt1a S є. P 1''' w teview not in focus  moG C/just]grey bwoyz94#= RGB(190|, Ep0- it3 4jvTitleBar  .vbWindow1+ԑ' /a H5)L HighlightT@ext E`nd If -1 C.V= TrueE@KBLL@%92. ?i ,In߯2i%~>'| R/eL, +h 1,?,woNe##.%:$lD#el#"cy"g!s%!. mControl_KeyDown(B,yVCMS@ ms.ReturnInteger, ShifB!wsngVisTopwSp>l`zkzC4' DPTgglE/@collap@w key E`r9E= vb`8ActVw LefvR!a/0e!vgwuSelect Ca ' #Macac3= 2 AGl85! 'F2 ' Ctrl-U!t2 ediσʃ#9Ar 0 X.= 0 mb!YBut8ton/  don't attexmptk"m if doeshave a bb9a(B `bHKV`&5x @mdeEv0Rou , "4r", >1/,p +).Pnt:d ?7'k"_/"M .S>'][x1h' ScWlToView ,@?/-QCa]:k '/G?6[aOD?' DgDDrnda?oaodA?)%q! <> "QQ"U.t.3i.J-OJ.e|.O)w,mAT_dcWktaOhHXȱe If Not ActiveNode.Expander Ishhing pThen~lEventRout#p, "", 1BEls\@' a RonE mbButton = Fa?Build@End IfsOMSe CCh9s(1)yCaptionU+ Case vbKeyUp,DowLq@-PVisI@~x@3mlCoun@9F5@C_=Ԅ' if the aBmisBlast Fqcolla@ped, e itBwate 1@ cASOR^ @Īd@ܽNHTruӃc2Next!@sible!In Tree(, (;Up)V-d- ^c/8Scr@ToView , IIf, -1`2) 'C-ve means will s won't changeQNPvis Oa#VroPageop'storc]f's vertical posi to resa similar in `keyup5mGYsngCTlopDB.- 1) *deHeight -B GCont7.7@ > 0, AW'<In,siF m= fO9׶*00?lqgEsca_MoveCopyJ(b)`, OG @Space [PBT=ggle`Xe ckbox[th sK,Ch``Boxes sQt0'- ' Procedu MF: Comy@: JKP ApplN"NDev elopm S ervic@-(cA Authorpan Karel Pie(www.jkpP-adsm2Cred17-01-2013b urU1&: H0lsQSJotPs ulefÊr2Qarrow `Xs1 5movQup/~d[e?5APlso ldA f(old= w y ou dnumeric .  -s=Dim lIdxq$LongW YNewFaS lC7zi'PT P -kwasn0ppG@some o r cch, e2gA E/6rEd itT $tabb!uqt ('`(nCEx8'K^=BA&%=- 48>0 OrZv)€H=OU1'WPUsLl{Ǫ9p>9To8 ;RF230@' F2 &6 @/$ nu (?),.mbLabela)o{?8#rLModTr ue ActiveNode.EditBox TrEnd If &Case vbKeyPa geUp,Down <' PT a~ate n in the same position as previou s.e+when scrolling ZWith Me.TreeC8ont$ sn gNewS To`p = .l(Idx(+ "m Vis!) / Height + 1 $If (&- 1() *<A T?p\E2Else4 1> .Inside)G=-%bMA&>0 1 AB)<= mlQCountT" Orde rR)O#Set CGmmcolfsQ .Home_ K4CA=CA 1 -1 Ae?E; 8@Index <>Ӎ{Db I9&Select#Ta@Not / Isy@]thu;&.cX@1 A) i Sub D(ûxR0RRR@@ME(@"@6 `ꐬ8HdPBfBꀲ @ @  @Ϣ ֵ@%Hh`h xhh  (@%hh0hHh` h"xh$h&h(h* h,$$h.((h0 ,,h2800h4P44h6h88h <<ꐪHbH((B6xHHP@(0Px   %hݼ 0H)X$*\Rffff*0B58f3a0a0$*\Rffff*0A58f3a0a0(*\Rffff*0A58f3a0a0\0(*\Rffff*0A58f3a0a0\133  $*@p "$ 8X p . 0 8Ph 8X x(   0 P p ȫ־̬]$Ϣ2 У]$ֵ/ֵ洢ر]$x]$)У鿪ʼ]$(,ֵ]$P* к]$ݼ. Ϣ] xϢǰ ]  ¼ܵУ]  ¼] 洢ο  ṹܷ0^H^`^x 0, нڵѡ1ӽڵѡ^0, ѡ1ѡ^p Զ^^^0Ӧֵ^HӦֵ^`ֵ^xֵ^Ƿ^ڸʽ^ֶγ^洢ֶ^ ֶι^ ֶ^ У ĬΪ""^8Ƿ񱻿 0ǣ1^Pʾʽ^hѡ ͨ xsfs0, yxdx0 ѡxsfs0, yxdx1$ ѡxsfs1, yxdx1l ѡsxfx1, yxdx0pAttribute VB_Name = "Declaration" Rem ־̬ Public Const mainSheetAs S ngϢ" 'У" |dic=0;@CmsgC dataRowStart YIntegerZ6 '݁VʼЏWCheckD# 2 'V #codeCol 17 '@кŌ;MSG_TITLE2rπcurMsguLo'̵ǰʂrowCnC ¼ܵB col M4 ' FtreeList()TypeT@@rοĘ݁+k E IndexA xzfs J'0, нڵѡ1 yxdK  hѡ np4cls3N End*A3ԶЂO4Valueumn67 '? @~- % zdl)#\# z8dmc)- sfb"J0Ƿrqg*4ڸʽ!azdcdk acczCj!ֶaZ DGLKZ- b$ZDLD/%tsjy)a` Ĭ" bkz "A 0"LǡxskQʾ#lN'CM' \ X!0 '. aRA(1'ģ!1, a$Z!sxfx$  X%     !"#&'(*)+,-/I0J23456789:;<=>?@ABCDEFGHMKLNPOQR819-0000-0000-C000-000000000046}@(%H@0)XxAttribute VB_Name = "ThisWorkbook" Bas0{00020P819-0C$0046}|GlobalSpacFalse dCreatablPredeclaIdTruBExposeTemplateDerivBustomizD2(H  @}_-7R KQ_@{DIAIdAljj(6(Aljj(6(( #9MultiPage1to, 4CommandButton1C3,0CommandButton2a$C3( #frmImageBoxo&,4CommandButton3C3 a *\G{000204EF-0000-0000-C000-000000000046}#4.0#9#C:\PROGRA~1\COMMON~1\MICROS~1\VBA\VBA6\VBE6.DLL#Visual Basic For Applications*\G{00020813-0000-0000-C000-000000000046}#1.6#0#C:\Program Files\Microsoft Office\Office12\EXCEL.EXE#Microsoft Excel 12.0 Object Library*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\Windows\system32\stdole2.tlb#OLE Automation(*\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.4#0#C:\Program Files\Common Files\Microsoft Shared\OFFICE12\MSO.DLL#Microsoft Office 15.0 Object Library*\G{F5078F18-C551-11D3-89B9-0000F81FE221}#6.0#0#C:\Windows\System32\msxml6.dll#Microsoft XML, v6.0*\G{0D452EE1-E08F-101A-852E-02608C4D0BB4}#2.0#0#C:\Windows\system32\FM20.DLL#Microsoft Forms 2.0 Object Library *\G{34703356-719A-450A-BCB5-0550DBEC69C9}#2.0#0#C:\Users\LENOVO\AppData\Local\Temp\VBE\MSForms.exd#Microsoft Forms 2.0 Object Library.E.`M   )X  ûThisWorkbook0158f39f13ThisWorkbookm- Sheet10258f39f13 Sheet1< Sheet20358f39f13 Sheet2W0-clsTreeNode0B58f3a0a0clsTreeNodevHm MainFunc0?58f39f13MainFuncKf`<UtilFunc0@58f3a0a0UtilFuncxw# Sheet50758f39f13 Sheet5:%-Declaration0A58f3a0a0 DeclarationHfrmFuXuan0958f39f139frmFuXuanA0frmTree0:58f39f13;frmTreecSclsNode0;58f39f13clsNodeJclsTreeView0<58f39f13qclsTreeView& Sheet40=58f39f13  Sheet4F - Sheet60>58f39f13  Sheet6.38-X`H x08H{oG7K0_a2$M-O0ި>}')@ar/qiE@;D"e70J+WIz-MI8^ƓvDo7"GzMk[`Bo7Aп FWTGNEdT{@ae~2hFٖyE s҈QKߕ!P text Excel+` VBA`Win16~`Win32`Mac`VBA6#` VBAProject`stdole``Officeu`MSXML2O`MSFormsC` ThisWorkbook|` _Evaluate` Sheet1`Worksheet_SelectionChange4`TargetF`Range `i``itemCnt\`row` (dataRowStart`Columnsp9`count0v`RowsU` (initializeN`MsgBoxR`vbExclamation` (MSG_TITLE`Columni` frmTree`Captionx`Show`vbModalt`TextBox1S`ListBox1`Clear`CommandButton1|`Enabled۪`Worksheet_ChangeS`ex&]`(rowCnt`dxStrs`codeStrZp`preCode`Cells` Validation`Deletex`Trim@`Sheets ` (dicSheetName_`(dicCheckDataRowr` (codeDataColPN`Right` SelectionZ`Addr`xlValidateListĤ` AlertStyle7`xlValidAlertStop`Operatork` xlBetweenk`Formula1` IgnoreBlankR`InCellDropdown9` InputTitleA` ErrorTitle(` InputMessageR\` ErrorMessagef`IMEModei`xlIMEModeNoControl` ShowInput` ShowError` Sheet2` clsTreeNode` mItemName!X`mChFlg` mChildren` CollectionW`itemName[` sItemNamey`chFlg`bChFlg`children>` oChildren` MainFunc`(main,`(mainSheetName+` (msgSheetName'`AfterX`(clearLogI` (curMsgRow/` currowindexZ{`dicValue` dicRowIndex`checko` UsedRangeȉ`(writeLog{u`IsDate2`(IDcheckg`Split)`vbInformationn`ActiveWorkbook`Save`Visible` UtilFuncK`contentl`(getValueColumnCount2` sheetName6`Index`title~`(findDicAndSetProp` valueColumnX@`(!TypeValueColumn>`valueDicColumnNameK` valueValiXml9` columnIndexP` columnNamew`dicColumnIndexu`dicColumnName5`xmlParse6`ID]`sj`e\`zq`oldID` IsNumeric$*` DateValue/`Val`UCase5 `(colCnt `colH`NumberFormatLocal)`(treeList-`colIndex`colName`yxdxF`xzfs0`(setTree&`tree`(!TypeTree`pCnt`lastChar`child`nodeB<` Sheet5` Declaration^`zdlxF`zdmcF`sfbtz`rqgs(^`zdcdnE`cczd`ZDGLKZ!`ZDLDKZ`tsjy`bkzx9`xsfs ` frmFuXuanH`CommandButton2_Click`Hide9z`CommandButton3_ClickFA` ActiveCell`UserForm_ActivateZs`ja`kb`strItem` MultiSelect`fmMultiSelectMulti+` ListStyle`fmListStyleOptionĕ`fxList` RowSource2`Address` ColumnHeadsֻ` ListCount6`List*`SelectedY`CommandButton2}`SetFocus`CommandButton1_Click`str`aX`itemz`wu_`mcTreȇ` clsTreeViewv`mbExity`mlCntChildrent`mlDemoNo?`xfFlg*`dxFlg` treeIndexjx`AppNameKp` mcPtPixel`TreeView1_BeforeLabelEditw`Cancel`strCell`xNode` clsNodeN`ValueK`UserForm_Initialize5c`Nodes_`checked0` getNodeByKey_ ` ActiveNodePj` ScrollToViewA` frmImageBoxd`frTreeControl`FontU`Size` DebugMode` gFormInitq`objCtl|&`Control`Height|` BackColorރ`labInfo>`ControlsK`Top5`TypeName`Initialize_sub2` MultiPage14?`UserForm_TerminatelD` gFormTerm` ClassCounts:r`cmdStop_Click` NodesClearN`UserForm_QueryClose` CloseMode؟`TerminateTreeL`cRootX`cNode` cExtraNodeL`XfCheck9` CheckBoxes̍`orgTreeZ`lbl_Debug_TreeS` TreeControlb`AddRoot`sKeyh`vCaptionUX`Bold`ControlTipText8`AddChild38`Key`Expanded`Refresh`errHJ[`Erro`SourceG` Description `mcTree_DblClickKC` ChildNodes5` mcTree_Clickڮ`TextBox1_Change=`cnt+`AddItem `filterTreeItem`treeNodeE`ListBox1_DblClickȄ`ReturnBooleane`ListBox1_Click `ListBox1_ItemCheck`viewI` orgChildrenoq` mbExpanded `mcolChildNodes~` moParentNode}`moLastActiveNode0`moTreeh`msKey) ` mvCaption*E`msControlTipText` mlChecked`mnIndexA` mlVisIndex`mvIconMainKey#`mvIconExpandedKey]` mlIconCnt`msngTextWidth` mlBackColor`mbBold ` mlForeColor>`mvTag` mctlControl`Labela` mctlExpander` moEditBox`TextBoxQ` mctlCheckBoxb`mctlExpanderBox0` mctlVLine׳` mctlHLine`mctlIcon]`Image` ( ndSortOrderJ`  ndAscending`  ndDescending`( ndCompareMethod`  ndBinaryCompare^`  ndTextCompare-`( ndMouse`  ndDown&`  ndUp`  ndMove)`  ndBeforeDragOverI%`  ndBeforeDropOrPaste]` mcFullWidth$` moLabSizer`mcBreaku`lColor*`bBold/`sngWde`AutoSize!`vChecked`bFlagG` bTriState`lChecked`cChild;`VarTypep` vbBoolean/B`IsNull`Changed`UpdateCheckboxE` ParentNode`CheckTriStateParentJ!`CheckTriStateChildren`colChildNodes|h`sControlTipText` bExpandedh`ExpanderΉ`UpdateExpanded` bControlOnlyT` ForeColor` FirstSiblings`GetChildT` LastSiblingx`ImageExpandedi`vImageExpanded`errExitG` IsMissing`IsEmpty ` ImageMain` vImageMainr` ImageUpdate4` bFullWidthAs`vKeyT`pic` StdPicture `hasIconn` GetNodeIconÓ`Icona!`Picture*` bIsInMainCols3`cTmp`Raise`Removeϱ`Number-`Level`lLevel}`NextNode` oParentNode{-`Previous:b`rootT`Tag&`vTag`Sort`ndOrder(` ndComparey` sCaptionsB`lStart@`lLastU`colNodes&` bIsUnSorted*`idxӝ`BinarySortIndexTextb`100o`101p`Erli`vbObjectError ` ChildIndex`lCt`FullPath+`errDoneR`lIdx`vbString`e` ctlControl`VisIndexO` lVisIndex`oTree`Checkboxi{`oCtlJ` ctlExpanderz` ExpanderBox`ctlExpanderBoxC|`HLine`ctlHLineü`ctlIcon1` TextWidthB` sngTextWidth`VLine]`ctlVLine` alChecked 6`EditBoxO ` bEnterEdit7`wd_`ht]`WordWrap` BorderStyleS`fmBorderStyleSingleK`moEditBox_Changef`ZOrder`SelStartZ` SelLength` RemoveChild`bReverseq`RemoveNodeControlsJ`DeleteNodeControls3`TerminateNode`bDeleteNodeControls`lEnd|`lSmall?`lLarge`sMid`lTmp` bClearIndex;`GetCheckboxIcon>[`IIfz` vbWindowTextx`NodeEventRouter܍`GetExpanderIcon_`mctlCheckBox_Click`EditMode X`mctlControl_Clickx`fmBorderStyleNone`mctlControl_DblClickJ`bDummy_`EnableLabelEdit``  tvDblClick!`mctlControl_MouseDownlu`Button`Shift`xo`Yl` vbHighlightg` BorderColor`mctlControl_MouseUp` bMouseIsOver<` bMoveCopyAS` MoveCopyNodeG`mctlExpander_Clickwf`ub`_`lSelSt`lRows`sngMaxW`sngMaxHt4r`sngMaxR`sngVisR` sngIdealL` sngIdealTop`sEdit}`splt'`vm`splt2+`bExit:`cPad` InsideWidthl` ScrollHeight(j` InsideHeight` ScrollWidthbu` ScrollLeftS` vbNewLineua`vbCr$`vbLfT%` MultiLine`done `moEditBox_KeyDown/`KeyCode`ReturnInteger`bCancel`bSort` bMultiLineS2`sNewText` vbKeyReturn` vbKeyEscape=Y`RaiseAfterLabelEdit!`Replacef`vbCrLf` FullWidth?`SetScrollbars`Class_Initializen` gClsNodeInit`Class_TerminateP` gClsNodeTermV'` HostProjectI`Frame` mbInActiveZ`mbAlwaysRedesignsK` mbAutoSort` mbChanged` mbXfCheck(` mbCheckboxesk` mbLabelEdit^` mbTriState `mbCheckboxImage` mbEditModeW` mbFullWidth` mbGotIconsF`mbExpanderImagezI` mbKeyDownO`mbMove` mbMultiLinej` mbRedesign*g` mbRootButtonT`mbShowExpanderss` mbShowLines^` mlLabelEdity` mlLineColorx`mlNodesCreatedC`mlNodesDeleted+x` mlVisCountJ` mlVisOrder` msAppNameoZ`msngChkBoxPadn`msngChkBoxSize^2` msngIndentz` msngLineLeftK`msngNodeHeight|` msngRootLinex` msngTopChk>` msngTopExpBnA` msngTopExpTA` msngTopHV` msngTopIcon` msngTopLabel,\` msngVisTop`msngMaxWidthsD` moActiveNode` moEditNodej` moMoveNode` moRootHolderO` mcolIcons@` mcolNodesu"`moCheckboxImageJ`moExpanderImageB`moForm,`Form`UserFormN`( tvMouse`  tvClick`  tvDown`  tvMove`  tvUp$`( tvTreeRelationshipg`  tvFirsth`  tvLast~`  tvNext `  tvPrevious`  tvChildK`Click`DblClick` NodeCheck`AfterLabelEdit` NewString+`KeyDown.a`POINTAPI`VBA7#`PtrSafeJo` GetCursorPosL`lpPoint]` user32.dll ` SetCursorPosM` getTickCount` kernel32.dll]`mcCheckboxFontCA`mcCheckboxPad`mcCheckboxPadImg` mcChkBoxSizeS`mcExpanderFontd` mcExpButSize` mcExpBoxSize` mcIconPad#` mcIconSize(`mcTLpadA` mcLineLeftJ`mcPtPxl*`SYMBOL_CHARSETQ`mcSourceL` oActiveNodez`SetActiveNodeColor`ResetActiveNodeColor` BuildRootJ` ExpandNodeZ>`sAppName^`bChangedE`bXfCheck+` bCheckboxesJ`bOrig`bOrigTriState`frmÏ`ImageAdd`sNamed`Images` objImages}`sDesc`obj`200` Indentation` sngIndent<`sngOldF` bAutoSortƪ` bLabelEditP` LabelEdit` nLabelEdit}` LineColorL`vbInfoBackgroundw`vbWhite^K` vbScrollBars`bMove9`lOrigBackcolor%` NodeHeightm3`sngNodeHeight[g` RootButton` lRootLeaderG'` RootNodesY#`ShowExpanders-`bShowExpanders8` ShowLines` bShowLines`CheckboxImageY`picFalse`picTrue` picTriState` EnterExity`ExpanderImage`picMinus`picPlus`ExpandToLevel>`lExpansionLevelk` bReActivate`SetTreeExpansionLevel`Copyƿ`cSource c`cDest`vBeforeH/`vAftervu` bShowErrorQ`lParentCheckedr`Clone`Move>y`sErrDescx` bIsParentb`cSourceParentn` AddNodeToCol/`NodeAddq` vRelative`vRelationshipf` cRelative`cParentp`before` NodeRemoveY`lNodeCtlsOrig` cNodeAbove`cNd`NextVisibleNodeInTree(8`bUpz` ScrollBars`fmScrollBarsNone` ScrollTopl-`bInit` Application*`Cursorl` xlDefaultwQ` Top1Bottom2`bCollapseOthers` bIsVisible;i`bWasCollapsed`sngTopRa`sngBot`sngVisHt` sngScrollTop `fmScrollBarsBothi`fmScrollBarsHorizontal`bRecalcWidths-'`bSetScrollDims~Z`bars`RecalcMaxTextWidth` MaxNodeWidth+ `fmScrollBarsVertical_` bEditMode`sControlV`lAction5` lngViewable` cLastChild'`NodeIsVisible` UniqueKeyh`TreeControl_Click`gClsTreeViewInit`gClsTreeViewTerm`cAddNode`bTreeCol`pos` bCursorWaithW`bTriStateOrig`lLastRootVisIndexV`sngActiveNodeScrollTopI` sngChkBoxPad `sngHeightAllNodesd` sngIconPadw`objCtrl`pt^`vIconKey+`sCapF` sngTickCntX:`locErr'`Win64x`TimerX`EnableCancelKey`xlErrorHandler`DoCmdƧ` Hourglassb`Systema` wdCursorWait`xlWait`Round75d`PicturePositionCd`fmPicturePositionLeftCenter+` TextAlign x`fmTextAlignCenter` BackStyleq`fmBackStyleTransparenty`fmPicturePositionLeftTop`CharsetQ#`FontSize`vbWindowBackground$` BuildTree`Parent`wdCursorNormalS` xlInterruptoJ` lMaxLevelf` lVLineTopIdx`fmBackStyleOpaque`BuildNodeControlsQ`fmPicturePositionLeftBottom`cCloner`sngMax9` cStartNoded`lStepw`lNextVis5`lngCntVisible$_` idxFirstVisl` idxLastVis `lBColor%`lFColor` bInactivex`ActiveControly`vbHighlightTextS` lCurLevel`TreeControl_KeyDown` sngVisTop` vbKeyLefty` vbKeyRight@`vbKeyF2`vbKeyUp` vbKeyDown ` vbKeyPageUp;=`vbKeyPageDown` vbKeySpacen`TreeControl_KeyUpe`sngNewScrollTop1`vbKey0ϕ` vbKeyHome0!`vbKeyEnd^` Sheet4` Sheet6`Workbookk` Worksheet`Class`% q !   ; !"9# $*  @8@H" @ frmTree7#2ʵ#2ʵfo0i02!pFz?a#2ʵ#2ʵ(nx[kXQ {u"[SO(Sm{u"[SO(nzzpenc {u"[SO$H }W)0pO$!Page1ox15$#Page2ox15 d1W)0 bgTab3Tab45"[SOfo #x0i04"+%i*WJO#2ʵ#2ʵ $H $}(.4SO,#frTreeControl ,J  }(y-R KQDBTahoma  n``Microsoft Forms 2.0 Embedded ObjectForms.Frame.19qfto$&i15*( n``#2ʵ#2ʵfio')CompObjoCompObjni05/-i*WJO#2ʵ#2ʵ i*WJOMicrosoft Forms 2.0 Embedded ObjectForms.Form.19q$H }(.O(2DLabel1\{$0TextBox1$ 0ListBox1q (,eQd"}sQ.W[5"[SOH,{5"[SO`&0&5"[SOfo,.CompObjnCompObjs i*WJOMicrosoft Forms 2.0 Embedded ObjectForms.Form.19q pFz?aMicrosoft Forms 2.0 Embedded ObjectForms.MultiPage.19q(  } ¯NCh $& NOTE03Qg $& NOTE04Q$& OpenBook( & FolderOpenQ{(i233 42 n``#2ʵ#2ʵfto1310/CompObjo    !#$%&(*+,-/01234678:;<=? & FolderClosed( & GreenTicksedq$f Scrollok $f XPMinuskO$f XPPlusskO{( b Win7MinussedO( b Win7Plus1sedOq(  Win7Plus2sedO ,F CheckboxFalseOg ( 6 CheckboxTrueO( 6 CheckboxNullO],6 cbxAccessNullO, cbxAccessFalseO, cbxAccessTrueeOS  n``Microsoft Forms 2.0 Embedded ObjectForms.Frame.19q Microsoft Forms 2.0 Embedded Object9qVERSION 5.00 Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} frmTree Caption = "ѡרҵ" ClientHeight =&R KQltBMv(pwp YYYYP YYYY&R KQltBMv(PYPwwPYYY𕕙YYY𕕙YYY𕕙 YY &R KQltBMv(`&&&b/&R KQltBMv(wwwwwwpppppwwwwww{pppwwww&R KQltBMv(wwwwwwwxwwwww&R KQltBMv(""""""""""/" "/" """" """" """/ ""/""""""&R KQlt6BM66(ʦ @ ` @@ @@@`@@@@`` `@`````` @` @` @` @`@@ @@@`@@@@@ @ @ @@ `@ @ @ @ @@@@ @@@@@`@@@@@@@@@`@` @`@@``@`@`@`@`@@ @@@`@@@@@@ @@@`@@@@@@ @@@`@@@@@@ @@@`@@@@ @` @ ` @@ @@@`@@@@`` `@`````` @` @` @` @` @` @ ` @@ @@@`@@@@`` `@`````` @` @` @`,&R KQlt2BM26( °xxxxxxx°xҮƨ§õxxһϵxx۵xxߵxx嵘xxxxx°xxxxxxx°,&R KQlt2BM26( °xxxxxxx°xҮƨ§õxxһϵxx۵xxߵxx嵘xxxxx°xxxxxxx°$&R KQlt2BM26( &&&&&&&&&&&&***XXXYYYYYY&&&***XXXYYY&&&***XXX&&&***&&&$&R KQlt2BM26( $&R KQltBM6( lrUtHaAb.le APixelm a@pA.*.ppmRA)W - RAPW )ImHaAg.e PDPa8taPcP*8v.raw.TGA -q Truevis}iovn |TavrUga*.tgaTIF P-P 8TDagbgedm )ImwԉBwA&0w8/)w@+bw9wP9P8wAPP86Uw4HP8w (w!)mw PPB8wA)wط7d ww PP8 cveKgmtw4- Po rtOable G0raywma_pw*.pPgmPPNwGx4 -B PD,orbtable NetwwPork Gd0r apPC:s.g*Hi.fp         &R KQltBM6(LRTTbdT^ddnt                     &R KQltBM6(LRTdnlT^dtrtdntTbd              &R KQltBM6(LRTTbdT^\dnt\fdT^d                !!!!!!  &R KQltBM6(  􏏎qN!jIaDY>U;U;U:U:U;􏏎uQ#ULzDn;e2_,Y%U;􏏎{U$]'$x"oi`,U;􏏎Z&˩f*(&$w"k4\@􏏎]'Գmɞ,ę+*(%y>eF􏏎_(ڻtѤ.΢-ɝ,—+)GnL 􏏎a){ը/Ӧ/Ф.˟-ř+PvR#􏏎b){ݾuٷnӯḩ`ĝY|V$􏏎b)b*b*b*a)`(^(['Y&􏏎􏏎&R KQltBM6(h  􏏎􏏎􏏎¿􏏎􏏎􏏎􏏎􏏎􏏎􏏎􏏎&R KQltBM6(h  􏏎ߺ􏏎껙_JaLѹ􏏎ޕ]H_I`Ksa􏏎ުn\Gϧxg`Kտ􏏎Ȯ^Ivd􏏎q^\Gü􏏎ϸZEwe􏏎jWZDпw􏏎CompObj5aVBFrame%PROJECT >frmFuXuan6<9#2ʵ#2ʵ 8100 ClientLeft = 45 ClientTop = 330 ClientWidth = 6585 StartUpPosition = 1 ' TypeInfoVer = 678 End ID="{00000000-0000-0000-0000-000000000000}" Document=ThisWorkbook/&H00000000 Document=Sheet1/&H00000000 Document=Sheet2/&H00000000 Module=MainFunc Module=UtilFunc Module=Declaration BaseClass=frmFuXuan BaseClass=frmTree Class=clsNode Class=clsTreeView Class=clsTreeNode Document=Sheet4/&H00000000 Document=Sheet5/&H00000000 Document=Sheet6/&H00000000 HelpFile="" Name="VBAProject" HelpContextID="0" VersionCompatible32="393222000" CMG="1F1DB3D6CDEAE8EEE8EEEDF3EDF3" DPB="3E3C92F7AE09D026D0262FDAD126626F6746B4B67FFCFB464B4734C83E6B3EFEA131B6738C724E" GC="5D5FF1140F3210321032" [Host Extender Info] &H00000001={3832D640-CF90-11CF-8E43-00A0C911005A};VBE;&H00000000 [Workspace] ThisWorkbook=0, 0, 0, 0, C Sheet1=0, 0, 0, 0, C Sheet2=0, 0, 0, 0, C MainFunc=0, 0, 0, 0, C UtilFunc=0, 0, 0, 0, C Declaration=0, 0, 0, 0, C frmFuXuan=0, 0, 0, 0, C, 25, 25, 1146, 486, C frmTree=0, 0, 0, 0, C, 50, 50, 1171, 511, C clsNode=0, 0, 0, 0, C clsTreeView=0, 0, 0, 0, C clsTreeNode=0, 0, 0, 0, C Sheet4=0, 0, 0, 0, C Sheet5=0, 0, 0, 0, C Sheet6=0, 0, 0, 0, C (H  @ }O%+R KQ_(2DLabel1nc ,4CommandButton1{&,0CommandButton2&,4ComfMo8:" CompObj;'aVBFrame)4mandButton3]&$0ListBox1{" (( bv^Oo` SY ]5"[SO(nx[kXQ |u"[SO(Sm{u"[SO(nzzpenc |u"[SO`u l5"[SO Microsoft Forms 2.0 Embedded Object9qVERSION 5.00 Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} frmFuXuan Caption = "ѡϢɸѡ" ClientHeight = 6375 ClientLeft = 45 ClientTop = 330 ClientWidth = 5415 StartUpPosition = 1 ' TypeInfoVer = 11 End ThisWorkbookThisWorkbookSheet1Sheet1Sheet2Sheet2MainFuncMainFuncUtilFuncUtilFuPROJECTwm.SummaryInformation(>5DocumentSummaryInformation89<CompObj>oncDeclarationDeclarationfrmFuXuanfrmFuXuanfrmTreefrmTreeclsNodeclsNodeclsTreeViewclsTreeViewclsTreeNodeclsTreeNodeSheet4Sheet4Sheet5Sheet5Sheet6Sheet6Oh+'0HPht AdministratordpMicrosoft Excel@ȵ@|#@*ʵ՜.+,0 HP X`hpx   ú Ϣ ֵ ˵ ֵ!_1_1  Χ F#Microsoft Office Excel 2003 Biff8Excel.Sheet.89q