MZ@ !L!This program cannot be run in DOS mode. $ÕƮƮƮƧ>ƧƧ8ƭƧ.ƋƧ9ƯƧ<ƯRichPELKK  >>P PPd`Xp !p(@ .text h.rdata  @H.data0 @INIT P  .rsrcX`,@B.relocp4@BUVu!Tt6h?YY^]̋UVgTutvh^YYNx!"?Tt h6YjjDV!^]̋UVu!St6h|诌YY^]̋UVSutvhʡ背YYNx!"St haYjjV!^]̋UV}Sutv h)YYN x!"USt h6Yjj$V!^]̋UV#SutvhϋYYNx!"Rt h6譋Yjj4V!^]̋USVuWVFTVV(V8Vvt!3WWWWF4EWF$EWEPjWWWWFWEWEPDju_^3[̋UE SVuW=l!3@3SFFF FSFP^TdžSSF$PSSF4PSSFDPׁƨVp!_^[]̋UESVp(WQt h苊YV] {`vtdtOHHt4HtHuwQhQhrQhԢ[Qt}hĢpKQtmh`tMt8Ht%t)QtKh>Qt;h. Qt+hxPthjPt hJ蛉YFt=t)HHtHt HuG@ @@tSSue8tDSuV@ރt)tHtt@$ŋ@뾋@뷋@밋@ 멿2ҋˉ{h!V]_^[]̋UQeSVW}jVSIuJjVPEIuSLjj@(~WwIuSLuLEE_^[̋UVuPQ$PQ$(~PQ$^]̋UVu,PQPQUuPƆ@QƆ@3^]̋UVuUu PQPQ,PQ^]̋U EVu Wx(EEETE9tSSB;tUX]Q ME9uU]ZPQ HMU;u[F%Pd!}tf2ҋF h!WU_^̋U EVu Wx(EEE\E9tSSB;tUX]Q ME9uU]ZPQ HMU;u[F%Pd!}tf2ҋF h!W_^̋UQQW} EEE9?t~S]V7xF@;Eu)EN!3FF`!KƉHCMƍUHE9?u^[MUQO8HGEM;u_̋UQQE @`VWxEEEE P\!u uEPTPW$u EP\PWu EPdPWu d!'EUPa2A h!V`ME;u_^̋U Lt h>фYEEEVEP\!ud9tWBU}9Q M9u_ud!$EUPaa2h!VME;uK^t h CY̋U EVEEWEP\!}d9t%\S01Nu]pE9u[TBUu1Q M9u㍇\BUu1Q M9uud!'EUPa2A h!WME;u_^̋UE jjP!]̋UE jjP!]̰ ̰̋UEVtp(lts~~mSJ]@t ShhɂYYW3v"I@tE Ph`襂YYG;rI_@t h\节YjSu PQ[3^] ̋USVuW3WWWWSFTT!lwE@9~t(9~t#;tWWP![It h Y MuWSX!_^[]̋UEt@(tM UIU]̋UE3;t@(QQQQPT!]̋UEt@(jPX!3]̋USVuWhp3SVWE u$PE VLE;u0E;uP1E;u0E ;uh0,VP000VWPVP01hqHSW褀 V1t hwY3>@t hڤwYVM !y2h!V_^]̋U>t hRLwYSVuW3WWWWST!hzEN;t9~t9>tX ~>~ MuWSX!2>_^[t h.vY]̋U >t hvYSVuW3WWWWST!lzEE ;Fu;tX ~~> MuWSX!=_^[t hvUvY]̋UESVWx(w=@t h)vYc=t hvYE p`vW,vW+vW&vWP`u VWP4f2ҋh!W!W_^3[]̋UESVWx(<@t h*uY38_Tt)<t hruYu ^Fu F`9Xu^m8lt]8muUEP\!PN8`!FXTQPAv`Nud!PQ,^%^2ҋh!W*_^[]̋UESVWx(;@t h:tY38_Tt);t htYu ^Fu F`9Xu^m8t]8uUEP\!PN8`!FX\QPAv`Nud!PQ,^%^2ҋh!W:_^[]̋U]̋UE H`QM0P 48lH83`!]̋UVulMu 04;v&SW+P87QS4M_[4;0ua4Al31} lt P,xVD ^]2̋UE H`QM<P @DpH83`!]3̋USVuW3WWWWST!lzE;t WWP! MuWSX!_^[]̋UN9tuhlqYYV59utVhLqYYR u*Vt!EtVMEt uu =3^]̋U8t h{qYE SVuW3WWWWS$~T!,{E @9>t!8t h0qYWW6! M uWSX!_^[]̋USVW;8t hpYE ul8t7hئpYY3WWWWST!t~E @9>t!7t hpYWW6! M uWSX!_^[]̋UEPQMQhjP\ M |U!]̋U}t]%` 3]̋U ShREPp EPjEl ؅7tuh$oYYcVWjx^EPCs uESjPuh E| 9s uCVPu}o E}u jY6_^t h6oYSd EE[ ̋Ujxu jhRuh@x ]̋U ShEPp E4PjEl ؅5tuhnYYVWEPuESjPuh E|"{ uCjPun E}u jY5_^t hj;nYSd EE[ ̋Uju jhuh@x ]̋USVhtjPmMU jXj ^Yj]ZjEEEEEEĉE؉E]YtPu]ZMU h@Dž|xEuEڧ]uEħMԉU܉u| ^[ ̋U}t`S] V5x WjSjhu@WjCPjhuWjCPjhڧuWj SjhħuW_^E[E]̋USVhtjPlMU jXj ^jjEEEEEEčYtPu]ZMUh@Dž|RxE6]uE"MUu| ^[ ̋U}tMS] V5x WjSjhRu@WjCPjh6uWjSjh"uW_^E[E]̋UpSVjpEjPkMU jXj ^jjEEEEĉE؉EYEPu]ZMUh@EuE|]uEhMԉU܉u| ^[ ̋U}tLS] V5x WjSjhu@WjCPjh|uWjSjhhuW_^[]̋UTjTEjPjEM jEXjjEEčEPuEh@ME |  ̋Uju jhuh@x ]̋UTjTEjP%jEM jEXjjEEčEPuEh@ME |  ̋Uju jhuh@x ]̋U Sh EPp E8PjEl ؅0tuh^iYYVWEPuESjPuh E|"{ uCj Pu>i E}u jYJ0_^t h¨hYSd EE[ ̋Uj u jh uh@x ]̋U ShhEPp EPjEl ؅/tuh:`hYYVWEPuESjPuh E|%9C uPCPu=h E}u j:YI/_^t hgYSd EE[ ̋Uhu jhhuh@x ]̋U}rkE 8CucVu8:HuSP@EUfMjfFj P!80yIA3B ^] ̋UUVW33kȃ| u|$uFf|Gf|2_^]̋UE8<@DPTHL]̋UERTTTVTXTZT\T^T`SVWT3ɍUjZfX f]ۉY]ۉF(Juكf|_^[]̋UQUVEUfEj?^fAANu3f;^̋USVW33]}}wE썆 E EEC]E8@PT GPT h5jCVPKE;8<MEI+Hu8 PT 8@u"0u4u VuD88jMQEPSEPSSSjEPjt!8_A{;LƆ@VVVTPLTuPqF+t hzcYS_@P _^[̋U SVhREPp uƐVjl ؅tfcWjx_EPVSjEPuC{ h E| 9{ uCWPuc E}u jYSd E_^[ ̋UjxujhRhjx ]̋U SVhEPp u4Vjl ؅tfcWj_EPVSjEPuC{ h E| 9{ uCWPub E}u jYSd E_^[ ̋Ujujhhjx ]̋USVhtjP.bM U jXj ^Y]jZjEEE]EYEEĉE؉EtP]ZMUh jDž|xEuEڧ]uEħMԉU܉u| ^[̋US]V5x WjSjhWjjCPjhWjjCPjhڧWjj SjhħWj_^[]̋USVhtjPaM U jXj ^jjEEYEEEEčtP]ZMUhjDž|RxE6]uE"MUu| ^[̋US]V5x WjSjhRWjjCPjh6WjjSjh"Wj_^[]̋UpSVjpEjP`M U jXj ^jjEEYEEĉE؉EEP]ZMUhjEuE|]uEhMԉU܉u| ^[̋US]V5x WjSjhWjjCPjh|WjjSjhhWj_^[]̋UTjTEjP)_E M jEXjjEEčEPhjEME | ̋Ujujhhjx ]̋UTjTEjP^E M jEXjjEEčEPhjEME | ̋Ujujhhjx ]̋U SVh EPp u8Vjl ؅6%t Vh]YYcWj _EPVSjEPuC{ h E| 9{ uCWPu] E}u jY$_t hĩr]YSd E^[ ̋Uj ujh hjx ]̋U SVhhEPp uVjl ؅1$t VhL\YYcWEPVSjEPuC{ h E| 9{ uCWPu\ E}u j:Y#_t h$k\YSd E^[ ̋Uhujhhhjx ]̋UTjTEjP\EM jEXjjEEčEPuEh@ME |  ̋U}tju jhuh@x EE]̋UTjTEjP[E M jEXjjEEčEPhjEME | ̋Ujujhhjx ]̋UTjTEjP [EM jEXjjEEčEPuEh@ME |  ̋U}tju jhuh@x EE]̋UTjTEjP}ZE M jEXjjEEčEPhjEME | ̋Ujujhhjx ]̋UTjTEjPYEM jEXjjEEčEPuEȪh@ME |  ̋U}tju jhȪuh@x EE]̋UTjTEjPmYE M jEXjjEEčEPhjEȪME | ̋UjujhȪhjx ]̋UTjTEjPXEM jEXjjEEčEPuEh@ME |  ̋U}tju jhuh@x EE]̋UTjTEjP]XE M jEXjjEEčEPhjEME | ̋Ujujhhjx ]̋UTjTEjPWEM jEXjjEEčEPuEh@ME |  ̋U}tju jhuh@x EE]̋UTjTEjPMWE M jEXjjEEčEPhjEME | ̋Ujujhhjx ]̋USVh@jPVMU YhZpYZY Z jXYZj ^YZYjPXltjLZ@TPuDžHDDžd`Dž~|DžxDžjDžbDž@Dž 2h@| ^[ ̋USVhjPUM UYZY,Z4Y H Z PjXYdZlj ^Y]Z]Yj08LThpEEEEEEj]ZPDžDž Dž(~$DžDx@Dž`j\Dž|bxE@]uE2MUuhj| ^[̋US]V5x WjSjhWjjCPjhWjjCPjh~WjjC PjhxWjjCPjhjWjjCPjhbWjjCPjh@WjjSjh2Wj_^[]̋UTjTEjPRE M jEXjjEEčEPhjEME | ̋UTjTEjPwRE M jEXjjEEčEPhjEME | ̋UTjTEjPREM jEXjjEEčEPuE̫h@ME |  ̋U}tju jh̫uh@x EE]̋UTjTEjPQE M jEXjjEEčEPhjE̫ME | ̋Ujujh̫hjx ]̋USVWhEPp E=l D0PjE׋tuhPYYfh EPFF uEVjPuӉE|8~ M}t ud jjv ؋FPSwP "tuhJH̋U,83ʼnES]VWh3j ;ƉYWVP1H3 ffc;PP hVP jY3󫍅Ph?PDžDž@ 6SPh9xPh1;8Ph1TPh2ujXfEt h3Y}~E~}}EtEPPh v3 Ee}Et@u< EPEPEPuU2 }tnt h 3YZh]3fEfEބu8t }ƀ>ujXfEt h2Y~~}tPPhڳ2 E3E9EtA9Eu< EPEPEPuU2 }tt h<2Yvh_t h2Y=  }}jXfE׍EPEPEPuU2Ӄ}tt h1Yj XfEƆ׍EPEPEPuU2Ӄ}tt h^1Yf!E}~E}}E{tEPh#1YY}}3@fE׍EPEPEPuU2Ӄ}t!t h0YE% GEjEXfE׍EPEPEPuU2Ӄ}t htt0Y3fEfE޸fEfEfk }fE8=  ojXfE׍EPEPEPuUBth\x,t hF/Y3fEfE޸fEEu@t h:/Y^hN< ~ <}}ffE8=  tLjXfE׍EPEPEPuU2Ӄ}tZt h /Yj XfEƆ׍EPEPEPuU2Ӄ}tt h.YfE׍EPEPEPuU2Ӄ}tt h.YE_^[̋U39M ~ UA;M |]̋UQQeSV3W}E@(Vet Vh.YY}_iu E$Uj ZOʉO_ʉjY+ӾM;~39}MӾ9~9}thH-YYthд*-YYƬVT EPSSSVT!;u $7t%h=ut hh,Y_^[ ̋USVuW})E MM @N8$tEUE>U ?tEUu6Љ4UЋE _^[̋UuEuHu QP]̋UVu$N MFE;~ʅ}3;~…}3N F^] ̋UE}S](Vp(C ECEW} EG,EVE+}EEE $EE$}+UEtt} un ȋEiȃ HH9uƇC CGxƇ;}EЀ}+t } t ;E+;ME;EE+;E HH9u +RQjP;y|;so}+} vt2U3GxƇi~8IAA ƆvEGxƆi~Ƈu_}+i} _}u)}u#EƆwƇƆi~vGxƇƇ`U}+u<} Ji~t Eu EƇ*} M  }+t} tƆv } tƆvxtGxGy ȋEiȃ HH9uC CC MSEG4;u~,+;E}%9;~+;}E8uu jY_^[$̋UEHP SXVp+pWx+x @++ىEt:t6t2t.EE™} EME_^[] ̋UE xf!H]̋UE HHf!H]̋UE x f!H]̋UE H H f!H]̋UE H xH f!H]̋UE x xf!H]̋UE Hx Hf!H]̋UE PщPP ѹf!HP ]̋UMA$+ASY+Y Wy+yEt>t:QA +Vu F ™F FEIFf!F^_[]̋UESX +XWx+8t@tuuu>utp p0WQX^_]̋UEVp(Ww3@9Eu}};tjX;tt M E MQVPLMQVPLRƸRVu}u~9Euy;tltgSMQVPL|'MQVPL|RƸRVu諬[t jX;7E 9Eutt E _^]̋US3VuF(CW9]u Rww#;uuuu VwыM 9 ;u9]}ij^;u}9]3;u/9]u 9}u 9}9]19]}u 9]u{9} u9}ul9]ug wYuI9]u!9}tD9]uEw8u5i~.9}u)9]u$3i~8J։ u_^[]̋UVu~tE jVFF F^]̋UQQE @MEu1@t hY?hlY/Vu@t6hBYYHSW u 3G$@t h2YYjV*f E PFPVuU2 } ^hD@t hY3GWV~ E PFPVuU2 9} @t h Yj_WV~R@t hYj@t hsYj@t hҶ[Y3GWV* ~ӍM QFPVuU2 9} tbt hYfF7@t hYj_WV ~ӍM QFPVuU2 3G9} tt hYfF@t h{Yj_WVJ ~ӍM QFPVuU2 3G9} tt h.YfFӍE PFPVuU2 9} g9WhYG@t hYj_WV ~ӍM QFPVuU2 3G9} tt h~YfFӍE PFPVuU2 9} %h4Yi@t hfYjVFӍM QFPVuU2 9} t&t hYfFӍE PFPVuU2 9} tt hYFӍE PFPVuU2 9} tt hUYFӍE PFPVuU2 9} tht hYFӍE PFPVuU2 9} t*t hY@t hJY~@t h:Y E PƍHQPU@t h2}Y_[^ IeЈr@̋UE@(P}MM(Q ISVu E }W>UUVMNE+} MUt?}+u9 iɐfLFH HNTNPH9NTtMU;}؍ ;E+;M;E+;U HN\NXH9N\u ӋNX+NPV\VTRQjP;VL ;FH} }+E E Eg9t hYjE PuZiǃfLFH HNTNPH9NTu=} u}+t1 iǃfLFH HNTNPH9NTu_^[$̋UVu # F# FF# FF # F Ky6h YY4yvh YYyvh YYyv hڷ YY^]̋UQQy h2 YMQ +QA+A SY+YUQ$+QVu EUiW#‹Q iE™Fi#‹Q iE™FFi#‹Q iE™}FF Iii# E}_F y6h YYyvh YYyvhn YYyv hڷV YY^[̋U{y hL- YEH +HSX+W} W+ЉUW +WMUiE Vui# EE iEFi# EE ؋Fi# EǙ}^EF i# EǙ}MMNF y6h? YYxyvh' YY`yvh YYHyv hڷ YY^_[ ̋Uy h YSVW}G7_EG u]Ey Vh YYy Sh YYyuhm YYyuh̸U YYEH@t'y}WPtU%8u EPuVF+MY+EF +FEA +AEt}ty+‹UiU™+‹UiU™GQF+‹UiU™}GIF+MiM}G y7hV YYywh> YYwywh|& YY_yw h` YY_^[̋U0S]VWs}Хs(}𥥥s}॥y h6Yhȏu EPEPEPS_^[̋U0eS]VW3}䫫s}𥥥s(}Хy hNYYC t u SF,E+Ehu EE+EEEPEPEPS0_^[̋U0S]VWs}𥥥es(}Х3}䫫y hfYE+Ehu EE+EEEPEPEPS_^[̋U0S]VWs}॥es(}Х3}y h~OYE+EM+MEhu EEPEPEPSM5_^[̋U0S]VWs}𥥥es(}Х3}䫫y hYE+Ehu EE+EEEPEPEPS_^[̋U0S]VWs}𥥥s(}Х3}䫫y hWYE+Ehu ȉEE+EEEPEPEPSM;_^[̋U0S]VWs}𥥥s(}Х3}䫫'y hƹYE+Ehu ȉEE+EEEPEPEPSM_^[̋U0S]VWs}𥥥es(}Х3}䫫y h޹UYE+Ehu EE+EEEPEPEPS<_^[̋U0S]VWs}॥es(}Х3}%y hYM+ME+Ehu MȉEEPEPEPSM_^[̋U0S]VWs}॥s(}Х3}y hWYE+EM+MЉEhu EEPEPEPSUM4_^[̋UEHwh$ޙu PSVu PKu PG@u P85u P*u Pu Pu P u P]xřЙ̋UQE$SX Vu WxFE$F}E }y Sh.YYgy WhYYQyu$hfYY9yu h8YY3Ɔ9E9E= 9t} HH9u׋+RQjP`;|,;v"Ɔy hAY|HHH ;9Ew}M$ ;wp9E wk-y hػYƆu y hYƆy hXYƆkWh(G ;w>M ;w19E$w,M ;wy h5Y dhҺ ;w7M ;w*M$ ;wM ;wyhh| ;wu9Ewp9E$wk9E wfy hVY HH9uƆdžry h&$Y_^[ ̋U83ʼnEVuWh+t hY~(PƅxQ p(DS8TyuhľZYY<PPSuu k^ƅ Dy hY@t SWЀ;AuDw~ Iƅƅ;u<uKQVPd@thVYYƅy<4]<8hjPSffSP>@tWxP|U@l ƅtDžHd~`~H9d~u⋆PRp%PdžR0@t hxY3@tPh]YYF |C$ KKKK$PQQPjPP j^##\#‹ȋ`#‹щ\K`$SKC@thc CCCC jYPPP$PjP8P  @th \‹ȋ`‹щ\K`$ SKC @@-x@t hȽ*Y+D+H3+3+2@tWVh jY|󥋍9D}Dȋ9H}Hff~@thxO Ctƅs@tPhbYYV@t@hNYY5@tPh:YY @j   |P 跿@thcYY PP|Ptl2 tbt hYpy_@tVhpjPffprSPPpPPRR Pd~`~P9d~utu SWjjPSP t @tj0PhjS E9d[xP$_^t hYM3H ̋U83ʼnES]VWjYu }3l荽yuh<YYuyuh$YY]yuh YYEyuhYY-yuhYYyuhlYYyuhPYYyuh2YY;~9{u;l購yshbYY}9{:s茼yvuh8 py6uhĿ Uyvuh 9yvuhx yhpYYyhhYYF;u9>t N;u9~u l^Et2pxF|pPEPtD;t pp;t xx;t ttF;t ||yphTYYyxh>YYɺyth*uYY论y|hZYY;p|;x;t|;|~ EE;Cl;C2M_^3[ˆ̋U S]CE3V@W} fCfOfuyPhYY$EPܹyEPhYYMFMj ZNNvʀOE MEMt-juEPE PWEPE POPmE M;~ƉE }e ;~ΉM}ejuEPE PW9u ~u 39M }M 9u~u9M}MEU CS qq!;w }|9u~ U EHtu0SPK +C;~3;}3;~;}3K C]; Ot,t(RuEPEPWEPEPOPL39u~u9U}U9u~u9U}UtjuEPEPW39u~u9U}U9u~u9U}U]EC ECHtEtu0SWK ;΋S~΅}3;~օ}3ҋ+;~΅}3;~ƅ}3K C_^[̋UES] Vp(EWu}t,UPspƨSslxjYu[u8CyU3E UGf {d}E EPCxPC`PuU 2 9}t輶t hkY}tƆVClVCpVƆi~_^Cy[]̋U$ES] Vp(W}(G ECECEC,EOUP@$EE$EE$}uE}ME VU܈Et'W uuuSu7E}(uM}uu{(cC(Z}}u7 Miɐc$C HKKH9KuM9E}EEU;U:+E;E.EU;+E;{(uE Ɔw롡 HKKH9Ku K+KSSRQjP;S$@|;C s9}c}YE<K8<}*} }t ujYuE}t ƆwP}FuEC(Ɔi~)uCxEC(܀}u }>wtK}tE}t?UfGE;~jxXfGE+E;} fGE Ɔi~EKj}YC ȋEiȃc$K HKKH9KtM}(M}u}uJ5}t/}t)UE4;u~+;E}E4;~ +;EKj}YC_^[$̋UE@ Vu tVPf!F^]̋UEH@t)y}uPtU8S]Vu WCPK QuMVF +FMy +yEA+EtHtD]+‹Vi+™}]C IF+KiMCfK_^[]̋UE0VWp}Хp(}𥥥hu p}॥MQMQMQP_^̋U0eVW3}䫫E@ p}𥥥p(}Х_^t u Po,M+Mhu MM+MMMQMQMQPq̋U0MVWq}𥥥eq(}Х3}䫫E+Eh`u EE+EEEPEPEPQ _^̋U0MVWq}॥eq(}Х3U+U}E+Eh~u EEEPEPEPQU_^̋U0MVWq}𥥥eq(}Х3}䫫E+Ehu EE+EEEPEPEPQ=_^̋U0MVWq}𥥥q(}Х3}䫫E+EhĂu ЉEE+EEEPEPEPQU_^̋U0MVWq}𥥥q(}Х3}䫫E+Ehu ЉEE+EEEPEPEPQUl_^̋U0MVWq}𥥥eq(}Х3}䫫E+Ehu EE+EEEPEPEPQ_^̋U0MVWq}॥eU+Uq(}Х3}E+Eh8u UЉEEPEPEPQU_^̋U0UVWr}॥M+Mr(}Х3}E+Ehdu EEEPEPEPRuM'_^̋UEHwh$Ju PVu PKu P@u P5u P5*u Pu PWu P u P]&1<̋UEHwh$u PVu PKu P@u P 5u P*u Pu P?u PT u Pu]ŷз۷̋UMAE PQt fHf!P&]̋U|83ʼnEVWjYPEu}PM_3^€̋U8ESX(Vp(<3҉u`!M$U(+R+RMUN}DW}?6.x}UMEE}WE$E}E(P 3fEȍ}ʫfUEE EE0 TQju P)]̋UE TQju P]̋UEPQhu Pa]̋UQQEPju EuE2̋UVW}Tt5ݚt hYM a2҉qh!WF8u F`HEP\!dQFXPuAd!_^]̋UQQSVW} G`pEEEE P\!u ]EPdPVLu d!5h!#EUPa2A SFME;uӃgg2ҋSE_^3[̋UQW}3ɉMhz9Hu 9u9HtE }|_ Ek SVQ48!lzSj0ju E39E|0E MhzE3 k 8Ct$hYM3 k 9hzE^[y̋USVWt hYu ~`Gseژt hYƘtwhtuYY讘tjhD^YY#f2ҋ΋Fh!uD[unt h YWPuf2ҋΉ~h!uQD.t hY_^[]̋UQeS]hzM;Hu M ;uxuE }|߸[ Ek V4WlzX E3 k 3_hz^̋U茗t h&>YVu F`xHWs"#f2ҋ΋Fh!ujCG@uPQu"f2ҋΉ~h!u5Ct hY_^]̋USVuW3WWWWST!}dwE ;Fu89>t49~t/蹖t6vuhDcNX ~>~E }@rWSX!_^[]̋Udt h~YSVuW3WWWWST!}dw9~t89>t49~t/ t6vuhDNX ~>~E }@rWSX!ݕ_^[t h`Y]̋UQSVW}hwE3ۉE8t C @rk j48lwP!j0ju E39E|8E Mhw k 8Ft-u6Sh k lwhw;t hYu3>ttv6WhG @r֋E_^[ ̋UQSVuW3}dwM ;Hu M;uxuG }@r]~t& k 40k 0hwWhk lw X M k 3hw13!t hY3hw>ttv6WhG @r_^[ ̋Uȓt h,zYVu F`xHWs(#f2ҋ΋Fh!u?_^]@uPQűUVt hJYVu F`xHWs(#f2ҋ΋Fh!u4?_^]@uPQu4̋UQeS] C`@VuE s E#E^[̋UW}t49~t/яt6vuh{NX ~>~E }@rWSX!_^[]̋U|t h.YSVuW3WWWWST!}${9~t89>t49~t/8t6vuhNX ~>~E }@rWSX!_^[t hY]̋UQSVW}({E3ۉE8t C @rk j48,{P!j0ju E39E|8E M({C k 8^t-u6Sh: C k ,{({;(t hYu3>t tv6Wh:G @r֋E_^[ ̋UQSVuW3}${M ;Hu M;uxuG }@r]薍t&C k 40k 0({Wh|/k ,{ X MC k 3({139t h\Y3({>ttv6Wh|G @r_^[ ̋Ut hYVu F`xHWs(#f2ҋ΋Fh!u8_^]@uPQűUnt h YVu F`xHWs(#f2ҋ΋Fh!uL8_^]@uPQu4̋UE$~MMQju P]̋UEhQ VQju Pq]̋UE VQju P]̋UEh RVQju P%]̋UEVQju P]̋UEPI(Dd MMQju PJ]̋USVuW3WWWWST!}l~E ;Fu89>t49~t/͊t6vuhwNX ~>~E }@rWSX!_^[]̋Uxt h*YSVuW3WWWWST!}l~9~t89>t49~t/4t6vuhNX ~>~E }@rWSX!_^[t hY]̋UQSVW}p~E3ۉE8t C @rk j48t~P!j0ju E39E|8E Mp~ k 8Zt-u6ShNÉ k t~p~;$t h.Yu3>ttv6WhNG @r֋E_^[ ̋UQSVuW3}l~M ;Hu M;uxuG }@r]蒈t& k 40k 0p~Wh+k t~ X M k 3p~135t hrY3p~>ttv6WhG @r_^[ ̋U܇t hYVu F`xHWs(#f2ҋ΋Fh!u3_^]@uPQűUjt hYVu F`xHWs(#f2ҋ΋Fh!uH3_^]@uPQu4̋U@tjh訿YYElMMQju P]̋UESVp(W识@t haY38^Tt4蔆t hFYM 2҉yh!V2# E @`x Wt h YSSSSPET!t:4;4; tWt)ŅhsY訅t h~ZYu VP7 肅t hf4Yu VP  \t hNYu VP 6t h6Yu V t h"ýYu VP $(tW,t)0跄*h eY蚄t hLYu VP$) tt h&Yu VP  Nt hYu VP(t hڼYu VPt h贼Yu VP,\;8LPtWTt)X蕃ehCYUxt hf*Yu VP<Rt hRYu VP8,t h>޻Yu VP4t h$踻Yu VP0t h蒻Yu VPDo`dtXlt.p蒂t hDYu V%pt h"Yu V6Nt hYu V,t h޺Yu VPH$h贺Y;;totSt.蕁t hGYu V(shr!YVhbBhJ.h4t h̹Yu V:tXt.Āt hvYu VW袀t hTYu Vj5耀t h2Yu Vn^h YAt hdYu Vt h4ѸYu V+ ;t} tS t)  hhYt hOYu V0{t h-Yu VWYt h Yu V?7t hYu Vt hǷYu V# ' thC t>G t~hx~t hfmYu V/N~t hHKYu V,w~t h*)Yu V U~hY;i;+;wT  xFeu VPq $j(8,0u VP(#\;wT8aL/PTXu VP@`dlpctlu Vg|;;wd;tHt2R u Vu V/ u Vt2yu Vu Vu Va ;wI{ M  u7u VJ# t9' C G SuX!M Yu VfSuX!_^[]̋UE@(DTtjuPu PQ3] ̰̋UEVWx(PEQ zth>{YYjjuEl ztjhDYYEf fEFE FMl tMVztjhYYEEFE FfF p zth赲YYuP$_^]̋UESVp(SP ythdYYW3;9E t @ ;uH ;u59xu,Rd ZytXh YK;t49xuH Pyd ;t9xtPQHP Q Hy Pd x_thf衱YYSP$^[]̋U} E@(Wt.}?r#Vd6Pu n ^2_] ̋UE@(]̡9̋UESVup(PQ3;ÉEE ;u0E;uh03@W= F`FdSP^XSPSP׍h3ASXXQ Pl!jSShGATXP 3f<LHIPTUVX\`3p_E^[]̋U$SV3Wu59wt h 路Y} j[3S7u5l jfEfE։EBfEEPuEPju E =#uB}tud EPj։EEHPjufM3 띅Uvt hY5p hEPhBEPfEf9Er fMfMfE5 jEPEPօuut h*諮Y9^jEPEPօu ut h}YjX9.ut h]YE 9E }_^[t ud egut hYE ̋UESVp(W9ut hYE Hj[DHHh Sl D;24D@9D@ 4D@4D@VDXDǀT6Dǀp6Dǀ4hSl D;X4D@9D@ :D@9D@0DXDǀ6Dǀ86Dǀ5DPVh4Sl D;u 4D@9D@ 9D@9D@D@cDǀ5Dǀ6Dǀ 5M}3sthhLݫYY;}D;tFPd ;28Bt< r&ƆBrt Vh&臫YY_^[]̋Urt h^YEVp(WDt Pd 'ƈƀBjrtPhYY_^]̋UESVWx(3u/rt hTY3fEfEfEfE捇uu苏PEQ l 3fEVjfEӉEtVjP蕪 }u EVqt VhXYY3fEVjfEӉEtVjPA }tgqtj@hYYEPjW!hEP EPEP ;S3VVj"EPhp zp(h03QQQQVPu7(E}Apt h聩Y;Ypt hdY3 #5H`3fHff fJLtPd LJPjl L6ptJPhLݨYYLMJQjPɨ PHP hBHP EPHP MQPQuEPQ3PULVP vot h"(Y3Eu􋇴P$}_^[t ud ;ot hY}t ud ot hħYE̋UESVp(SP t,Wx(PQWP _SP$^[]̋U3PPPPuT!]̋UjuX!]̋UEVp(WDnt h`Yu lV=_^]̋UV3hhVPuuu赦 j XlEMtMEEVVEhPuDžpj|Ev| uE9m^̋Ujju!] ̋USV3VjEPl!}] ts`WFjY@3_C`$MH M@4@ =uVVVVEPT!C^[ ̋Ult h8膥YSVuWDju ME|ilt hMYdPPWE|TFXF\FX;t3Qlt hYu VE2lt hYjP lt hY} ]g2ҋω_h!VjWV _^[]̋Ukt hlYSVuDW8FXF\jPFTFX  ] tokt h!YSVW P cSiVEQ.kt hjYjSP V39tP ;t Pd   j_^[t hLjYE]̋UQQS]DVu jVEE|.F`pEWj{hYu@tu SЋ}jYsh_u E2ҋΉFh!SDjVS E^[̋UVuWu \hVju V _^]̋Uit hpYVuDNXN\FX@W} tWVЃgWVtwi_^t h'Y3]̋UVuD@tu Vu V+^]̋US] Vu@DW8u,2ҋˉ{h!VjSV 2FXF\FXGtSVЋtSV׃ccSV_^[]̋UVu~XDWuN\NX@} tWVЃgWV__^]̋UVuDNXN\FX@ W} tWVЃgWV_^]̋UVu~XDWuN\NX@$} tWVЃgWV_^]̋UVuD@(tu Vu V^]̋UESVu Wx(jjhVP ؅}2ҋΉ^h!W+^`CW$1ghwgph`gYhIfBhd2f+hFfh,fhfhyfhnt\ tGHHt3tHuiJfh3fh|ftyhlftihn\etYh`Lt9HHt%tet;hP.et+h6ethet hcYCwa$VWXVWOVWFVW=VW 4VW6+VW"VWVW+VWdVW)_^[]xI.R%[dmv7vvvvvvvvvv@̋UESVp(W} jjhWS E}2ҋωGh!VWbVEsjWS E_^[]̋UE SVuWx`SP PQ tC>s 1OIH3Ɔt PQRPQ$SP$_^[]̸̋USVuWSP SƆP$_^3[]̋USVuWSP SƆP$_^3[]̋UM A`j Z9Ps#@EVWfjf>_fjxǀ _fy _Q3^]̋UESVp(DW} jjhWPE E }2ҋωGh!VE [ ;t WV_`C =tl= tU=t>=t'=t bt[hvNbtKhR>bt;h..at+h athat h肚Y[ t:t)t1Wtu!VAVWVBWV_W_V jWu _^[]̋UQESVp(W2a@t hYD@} jjhEWPE ؅})`@t h衙Y2ҋω_h!V k~Xu?W^؅|-EtWVЋ؅|`@t hFYV 2ҋω_h!V jWu _^[̋UEVp(DWx7`@t hYtu V`@t hȘYV u _^V _^]̋UESVp(W_@t h}Y} jjhWS E}._@t hHY]2ҋω_h!V 6h_@t hYW]VEb jWS E_^[]̋UESVp(W_@t hɗY} jjhWS E}.^@t h蔗Y]2ҋω_h!V 6^@t hfYW]VE jWS E_^[]̋USVu WV }F#F`$Wr V jVW _^[]̋UMD@u Qt]̋UMD@@u Qt]]̋U]t hDrYMD@@Vu Qt]t h&;Y^]̋UMD@@ u Qt]̋UESVp(W} jjhWP ؅}2ҋω_h!V L_`\t hb襕YCWVt%HtHtHtU H_^[]̋UES3Vu WFdžƆ3f3FFPVP^,^`QVPQ_^3[]̋UEH|Hl3Bt;~P|3]̋U`VuWDPWP[y hKYe3jYHjjl u13Qy h 贉YCjSPS, 3;tWPy h艉Y]9]vnEMLtS39y ~LÍQ@CÃs-G;y |)}Ph+YEEEE;ErVd eBPy htYuEu P8Py hD̈Y3;*39EvUMPQ@F;ErEMO$h$Y̋USVuFE@Wt Hk\$j$[Sjl tSuWA ~3 f_^[]̋UEPQ,3]̋UQEeSVWOy h.ÇY=0 VVVVVS EVVVVV PSׅuN_^[y h與YE̋UQEeSVWNy hQY=0 VVVVVSHMVVVVV PSׅucN_^[y h\YE̋U SVW3}},Ny hކYuk PWl ;uMy h谆YEeE;tR}9vGEMT39z v$zMk ˃a!Ey@;B r3EEE;r|M_^[y h+YE̋USVW}]?My hZYt6ۋd vEEtPӃ&MuӃL_^[y h0蠅Y3]̋ULy h|YVut Pd &L^y hMY3]̋UvLy h(YVW}WP$WPKL_^y hY3]̋U$Ly hpքYVuVP(t Pd &K^y hD蝄Y3]̋UQQEVp(!8t P!jVEP !|"EMPuu U EP!^ ̋UEtIjQPRH]̋UEM M`3] ̋US]VW{jjl t:jXjfXfFE WFVP8WVd J| yh y hMY_^[]̋U`EHVjZfUjZfUU UURP8AJ| yh y hY^̋UESVpW3WWEPl!EPEPjWWWWh"!;u4V ؁uWWWWEPT!3V_^[̋UMA`U $`@ "PA$]̋UE@0VjP!t uV^] ̋UEVpIt h<ÁYjjV!H^t h裁Y] ̋U83ʼnEeMSY3VqLW}ث{EEčA Eȉ}MN+ei'EԉU؋FE܍`PvEuSHhZEH M̉E-Ht h(߀YHtFPhƀYYGtv h讀YYGtvh薀YYGt h聀YXYExALj XfbjHXf`E܉p3EDžxu|DžtubGtuhYY`PuUB`$M@H @ =uVVVVVjEPjt!R9dt~FtdhxYYdLFtuhXiYYE}dvSP`u܋SP\e3EPVV !xuEaFtuh6YY9ut{DFt h~Yu9uvMut5$7y hDZpYWPE3p~7y h0pYE PT }8_Au9@`$J @X XX$7tKh> 7t hoY!SSSSG PT!6t hoYƤ;t P!6t hxeoYS_@P _^[̋UE VuWxy6t h+oY3PPDV!_^] ̋UE SVuHWx0M}H`M3ۃ$9]E;;@`@ .p@$@`$J MHX XWX$T  =usSEPSSSjEPjt!uYs5t h%nY!SSSSWT!9t&@5t hmY!_^[̋UQQESVpWj~P0!P,! 3ۄ9EEGE9SSSSSjEPjt!+tUHu:E8XAun9j PWQ;~PPuVƋE8XAtX4t+hPH4th.84t hlY9t&4t hlY!3t hlYESX@P _^[̋U(ESVp(WjjEPl!l WjӉE39Eu 3fMfMMQMQPWuPPh!u ] u3PPPPEPT!}*EHPjfMӉt3fEf2t WhkYY2tuhykYY2tuhakYY2tPhDkYYEPj:k WS ^2tW kYYEPS 72tWjYYE uE3fEffEjEPEP !|E}t ud _^[ ̋U1t h.~jYSVuWDWP؅|\P؅} WP;t*@(ƆHUIVTƇh _^[]̋UVuWDPWPV_3^]̋UVuVP PQPQ3^]̋UVuPQ PQ VP^]̋UQSVW}3ۍ9uj Sl ;t#SVGP)tSVGPP)uWP_^[̋USVuW=H P׋L ` 0PӍXP׍PӍP׍P׍xP׍t Pd 'FPQ$FPPQ$_^[]̋UQQSVWEP4!Ej^ŠL7E=7ŠL7E ?7ˊL7A7t*_^[L7 ̋USVW}~!d|~7}M}Mt j@_MNuuP6P6P5.PhfYYM8t!Ue07REE8u Eƀh 2-utf PEPh[f -t%;7P97P77Ph-ff MƆe :uƆd  h)-heȃItdI1EUu!ƀ ƀ h,tyh,utPhzAeYYz,tȃQPhNe Mg !wMt @E_^[]̋UVW} GE Aj^;u+t hbdY kT49dS&8e]$<+t h6UdY dž`ƆdƆepjZt "ˆl  l Ȉ $`<`@  3 p% 4E I$*t hcYƆdƆehƆ  dž`eEȀᘀ dž`ƆdƆepjZt "ʈl  l و Ȁ``udžp8@t p)$ 3< p` ``9p)y`hLbYY|jj<eh3;uIEЉh` `hvgkTjTQ8 Pb IUHh` `9hu$|QQW8!(y haY2[_^]̋UQQESVDWE(t h^WaY(}tPhFE$8"}D(t-E$46h(((tE$0h`YY` ds@M x` M$  ` 0 ` 0 ` <h jPq` :'t h;`Yu$u uWuuu ES't h`Y}t E81-'t h_YEt< =:&t hr_Y3h d e f EEEuƆuuf E u?B&t hT^YWu$u V&|E:2_^[ ^%t h,^Y=:` d3:x?"}?%3 P3 P4646h2c%td3 P3 P46h]4'%t(3 P3 P46h]C;` /} tc$t hf]Y?u%$t hFk]Yh?u $t h$A]YƆ Vt[f$t h]Y?uƆ PWhMU G;|eh MH9u M ll PT PuWPD 3PMQPPPjEPjt!OHtBE-tWhhƆhLTz ?Ɔtt h,\TYEMt h@TY|  Ћ \thTYY}~);tuhSYYHe;|  UL MЋ tuhSYYE9E Rt hddSYƆƆ _^[t h@1SY̋U83ʼnES] VuFWE@t hRYBHuwCEt hRY}@sVuSVP(]EE EEC]EtEPEPShrRjjUSt hbSRY2Gt h4;RYuSVP$CjE EEXEjUERPQM_^3[Q ̋U83ʼnESVW}wF t h2QYj@jl $uhQYj0!P,! vShCG Fh3PPPPPj Pjt!HuNt hQYj@$FPPQ!t WhPYYt IPhrPYY ItVth PhH{PYYh Et h YPYVW$h(jP2P <PP(PW$?#<}} Tutu(PVuuh ulj3Y}EPE(PEPE O t h zOYEVPEP(QVPh(jPBO 9 Ot h.OY$d /t hNYjG@P M_^3[N̋UU M< v70A.< v70A]̋U83ʼnESVuFW} Et hlINYAHCHHthHt?H^}쥥Pt h6NYEFjE E j U[^}쥥t h MYEE2EEEEEEEg PEPt hMYjE EEDjUGEt hUMY}@uWVP(MEE EECMEYtEPEPuhLjjUd-t hLYuWVP$GjE EEXEjU'E EEAt hbLYjjUERPQt hDqLYM_^3["L ̋USVW} wtGPPh*L @}2fG}fw?uIt hKYWP_^3[] ̋UE @MfA] ̋UVt hKYE @`xUDst^h>Q@W8P_tP@;@ƁƁvt h(KYb^t hKY3]̋US;t h JYEDE @`x(s thJYVpWj Y_^[t hJY3]̋U<83ʼnESVuFWWjPDžUNJ3 ff3ҍX7fff fBBGG~rffvf7PP hP jY3󫍅P3h?PDžDž@ ;ljPjl ؅cPjVCC I PSjWh sj Y3tPVhH FGG@rSd thfoHYY}bft h4GHY3ɍX7f8f:fAABB~rfvf7VP DžM_^3[G̋U 83ʼnESVu^WWjPG3 fftUVP fvWP hP hVjjx M_^3[F̋UQMEUfEj?ZfAAJűUESVDWƆԂt hFYXPSW0VD _^3[]̋UEDƀ3]̋UEVW} _3^] ̋USVu iWi t hFYPSWƸVD _^[]̋US] ` WjdXM ;vE 39} Vx>"}?  P P4646h2 td P P46h=E4s t( P P46hEG;} 2^_[]̋UVW t h4DYutOtFƆ t0Ph DYY0P_^]̋U t hLGDYM t QhXPY8tTaj`P\ƅ` hP\y h&>YhPPy hd>YhhSP]> y h;>YX;dcy h>YLP$@_^[y h=YM3=̋U83ʼnEE Vu`3W~9ESSPdhP= <WdPhPu`<u2}v,}tu苆hQVPpShjPB= E9du[M_3Ͱ^< ̋UQEjURPE EEAQh ̋U 83ʼnE EM jURMPE EEDQhM3T< ̋U83ʼnEEVW^}쥥j URPE E EFQhM_3^< ̋U83ʼnEEVW^}쥥j URPE E EEQhM_3^; ̋UQSVu W~} tFPPh,; ]uBu9u0u'E @}WfNfCvj vY} @}2fNE fC?ut h7;YSPtE jMQESE EEXPh_^[ ̋U83ʼnEE SXVutPh:YY@}s^EEE EEC]EtEPEPSh~:?utEPhXa:YYjMQVPhM^3[: ̋USVu^ht h:Yu tGWWP(;E}WPdjuu WPWPdE_^[t h9YE] ̋UEDu{U ƀ:CulfJf@s^fRVfffHv֍yIA3F 2uuWj Yv_^] ̋U 83ʼnESVu^WWjP83 fftUVPxftWP hP hVjjx M_^3[7̋UQMEUfEj?ZfAAJűU@83ʼnESVuFWWjPDžU73 ff3ҍ7fff fBBGG~rfftfV8PP hP jY3󫍅P3h?PDžDž@ ;ljPjl ؅cPjCC 6 PSjWh sj Y󥋽3wtPVh$6 FGG@rSd Gthf5YY}Sft h45Y3ɍ7f8f:fAABB~rftfV8VPtvj Y DžM_^3[$5̋UM AtUHtDHt3Ht"HtHuRuQuDuQu6uQu3(uQu uQu uQu] ̋V33@VPhBB5B5Bl!hVhB V5:5:5::V:X8h8:VP^̋UQQeW3}:h:P MEPjjE`y !_̋USVuW 2 ~t%T M DAN=r& _^[]̋USVuBW}  9:sE :4ͤ: :<ͨ:::39:r :QjQhB  _^2[]̋UQQW33}M9Mto9M tj3Ҹ4uV5 hjCWjBWjB֋= ja Pja֋E iEEPjjU !ja$Pja^_̋USVuFW=t!EEB3$+t4HuEPh:Tt uu%SSSSSjEPj8^AtS^@^AP _^[̋UQQESVWx(ut h$2Yu jjhVPE ؅}2ҋΉ^h!WK_^[Xu&V^2ҋh!W$jVu ˍEPVuP25؋EtHtF#F`$HtH ̋Ut h6Y1Yju@!]̋UVWxt hn%1YEjjPu u4>t hT0Y_^]̋UVWt h0YEjj%Pu u@4t h0Y_^]̋UVW3t ha0YM9}t(jX9E s#Q(8S]$U3[jWPu Q3Ut h0Y_^] ̋UVW,t h8/YEp(E &MMhup _^t h/Y3]̋USVWt hvd/YEp(043AQPdžt8dž vmdž$ldž(ldž,*l@!E8:t hT.Y_^[]̋USVW} w( t h.Yh8V蕣E3ۍ3ɉ^X^\ASXXQ Pl!uW ;u"t hT.YW 3_^[]̋UQQS]Vs(W39t EPWhjWh ;ljECEEx(hjW- uSW EEt EH EtEHEK0H0EH E`E_^[̋UQtu h>-YYS]WEPjhj*jWS E}Ot h-YEfEVp(WjV, uu t<EH E`uzVjhL(u  E^_[̋UESVp(E @W3E;I(;t8_Pjl E uEtQMQP),E LD!} +yhD+YYt Sh+YY}t ud  Ɓ_^[]̋UEVp(Wy hr+Y} G`xtyqhdy hB+YS WuˉE E[uQy"hvgG:y hV*YWV5_^]̋UESVp(W3Ct h*Y} gFXWF\^X2ҋω_h!Vҝ_^[]̋UVuWM 8t7w( ~Xt+S;tP #VW [M _^]̋US]Vs(W#t h6)YVhFXVF\FXE `P7QVE7 S E_^[]̋UEVp(Wt hT^)Yu FXF\FXV蘜_^]̋UEVp(WZt hz )Y~XuF\FXE `PVB_^]̋UEVp(Wt h(YFXF\E FX`PAV_^]̋UEVp(Wt h`(YFXF\E FX`PV蕛_^]̋UEVp(WXt h (Y~XuF\FXE `PV@_^]̋UEVp(Wt h'Yu QV_^]̋UEVp(Wt h4p'Yu V跚_^]̋UEVp(Wzt hV,'Yu Vs_^]̋UEVp(W6t hp&Yu V/_^]̋UEVp(Wt h&Yu AV_^]̋USVW} w`t h]&Y>t |FW$yehwNph`7YhI Bhv2 +hRh0hhhnt\ tGHHt3tHui~hgh|StyhdlCtihB\3tYh,Lt9HHt%tt;h.t+htht h$YFit\tLHt>Ht0Ht"HtHufWuWuWu&WuQtWuiWug^WuStEHt7Ht) tHt WuD5Wu*WuWuWWu Wu?_^[]Dwwrww[wwww̋UEVWx(t h #YXu Vu" F#F`$W–V $ F#F`$V W葖_^]̋UESVWx(St h #Y] S|W聕2ҋˉsh!W4_^[]̋UESVWx(t h< "Y] S|WY2ҋˉsh!W֕_^[]̋UEVp(Wt hV J"Yu V葕_^]̋UVuh8VEE ƆƆ^] ̋UESVp(W} gW؅|VS2ҋω_h!V_^[]̋UEVp(W} gVNW Vʔ_^]̋UEVp(Wu V虔_^]̋U]̋US]Vu F`WGG9xs'f#F2ҋh!S?_^[]F WjPE Pu ~3~̋UEVW33f9t G@@ru F`9xs'#NF2ҋh!u豓_^]S^ WQSK EWPSG ~3~[̋UE H`I VuV(Pt( ttVRJR8R^]̋USVW}w(3Ct hx YFXVF\^XVVPSWH!M a2h!VĒ_^3[]̋UEVp(t h 9YFXM F\FXa2h!Vt3^]̋UVW}w(8t h Yt!Vu fW 2ҋh!FXM fXF\a2h!V_3^]̋UEVp(FXF\FXt h fYM a2h!V讑3^]̋UEVp(~XuF\FXgt h YM a2h!Va3^]̋UEVp(FXF\FXt h YM a2h!V3^]̋UEVp(FXF\FXt h$ |YM a2h!VĐ3^]̋UEVp(t hB ;Y~XuF\FXM a2h!Vw3^]̋UE@(E9t hb YVW} G`xtG#GtPd jjl u$2ҋϋGh!u_^]END!w3̋UESX(Vu W~t h GY2ҋΉ~h!S葏_^[]̋UE@(EQt h YSVW} G`p3@j@fFXP3SVf3@ 9FtFjX9FtF9FtF9F tF FNN % ^,^0^4^8^tt h(xYFW$h wnph`WYhI@Bh2)+hhhhFh hnt\ tGHHt3tHuih h |styh lctihz \StYhd Lt9HHt%t5t;hN .%t+h. th t h YF($WuWu3WusWu+WukWuWuWu+WuWuWuWuWuwWulWuEaWu|VWuKWu@Wu5Wun*WuWuWu Wu_^[]$iR;ň̉ډ .<JXft̊׊̋UEVWx(t hXYE @`Hp tItVjH!wdw`3_^]t htwY3̋US]C(Vu W~`Et hBYG<v(<t <uVS VS3;tFV ~2ҋh!uT_^[]̋UUu'H(VuVRPj E ^]̋UQQVuWEPhj\ |]SPEPp E=x @@Pu@jhuS@@PjhuSu` [_^̋U8Vuul@(WMQhj\ |Hj8EjP jjEPuh@EE u| u` _^̋U8E@(PI( wMwSVHHQQWQQ+Ù3+E+ƙu3+M؉u0@tVuh Eu;}ÉF E;E} MȉN EEFf f@tvv h f@tE PhbgYY}@t@hNIYY@tPh:,YYM  @j M M VFu F@tvh YY_^[ ̋UE@(HVq;ur9quj}tNM qq@tPhd YY@EPhF Y{@jhbU ;u19qtU@t h  Y3@c<@tXhKq;u"@th;uq@t hd YjX@t h, Y3^] ̋U(ESVWx(P@(EE`EHu@t6h6N YYt uLwuNu5Nu!NuNu ƇwE,AEu@tEVPh E t<E}LJQÃQEQt&@t ho YQEƇQjYuuuuS8qt'8EuKa@t h Yƃq2}u#Mq;uq;u@tEPhj YYu@t@h< YY@tPh YY8vM @uE}  Mj VF Fo@tvh YYW@tqPhr YY:@Whj YYutq|P@ƍMjYE}E  EPEPEPuU 2 }tthj YuuuEQu'@t hJ5 Yqqƃq}uMq;u0q; u3_^[̋UQESVp(P@(W}gEE]@t3hYY33A;t uGwu90Tu194Tu90Tu94Tu wE,A= ] 0H t MQQ8Qt&Y@t hh YQEƆQ3@tEPhbYYu@t@hNYY@tPh:YY8vM  @j M M WG G@twhAYY_^[̋U ESX(P@(VuWEjY}VV}EVV}+E3++3+Eu@tVWh V;E}uȉN MEA V;E} MȉN EEFf f@tvv hF E 33AVVtMV8tUO@tEPhbYY5]@t@hNYY@tPh:YYM @j  M VF  F@tvh`YY_^[ ̋UESVp(PX(W} Ȁ``uBg@t hYG ]D$T$UL$)qqq( ]UVWS33333[_^]ËjK33333USVWjjhQQ_^[]Ul$RQt$ ]SQ8 SQ8L$ KCk UQPXY]Y[%P!%8 %< etpbus : Increaseing Reference yet =%d etpbus : Outstanding Event triggered etpbus : Dereaseing Ref =%d etpbus : Increaseing OutStanding IO yet =%d Outstanding Event triggered etpbus : Dereaseing OutStanding IO =%d etpbus : Dereaseing OutStanding DPC =%d etpbus : Dereaseing OutStanding WorkItem =%d IRP_MJ_INTERNAL_DEVICE_CONTROL IRP_MJ_POWER IRP_MJ_SYSTEM_CONTROL IRP_MJ_PNP IRP MJ Others IRP_MJ_DEVICE_CONTROL IRP_MJ_CREATE IRP_MJ_CLOSE IRP_MJ_READ IRP_MJ_WRITE etpbus : DispatchRoutine Called Leave EDONotifyDeviceRemoval Enter EDONotifyDeviceRemoval 0x%02X Write to EDO RxFifo = %dEDOFireRemoveEvents Write Complete EDO TX Thread : Write Data to FDO. EDO TX Thread : Get H2D_LOOPBACK CMD EDO : Tx Thread is Close Read Timeout %d Complete Read Irp - Read %d bytes EDO: Read %d bytes from Fifo EDORead : 0x%x EDORxMoveData: Fifo Empty EDORxMoveData: CurrentIrp NULL EDO : Rx Thread is Close Increase EDO Ref EDODefaultCreate : call Increaseing Reference EDODefaultCreate EDO : Leave EdoCleanAllBeepEvent EDO : Enter EdoCleanAllBeepEvent (Leave EdoCleanBeepEventArray) (Enter EdoCleanBeepEventArray) EDODefaultClose : call decreaseing Reference EDODefaultClose xTouch : pEdoExt->m_BaseExt.m_bDeleted, Fail IRP EDODefaultRead EDODefaultWrite. EDOBeep : m_ulTouchStatus: %d EDOBeep : Beep Source: %d EDOFireBtnEvent : Set Btn event! EDOBtn EDOFireHWeelEvent : Set HWeel event! pEdoExt->m_ulHWeelStatus = 0x%x EDOHWeel EDOQueryMonitorInfo FreePool EDOQueryMonitorInfo ExAllocatePool size(%d) MonitorInfoEDOQueryEdgeInfo FreePool EDOQueryEdgeInfo ExAllocatePool size(%d) EdgeInfoBeepSourceBeepModeBeepDurationBeepFrequencyConstModeConstDurationConstRangeTouchGridTouchSpeedMouseModeOrientBranchEDOQueryCalInfo : FreePool EDOQueryCalInfo : ExAllocatePool size(%d) CalInfoEDOQueryLinzInfo : FreePool EDOQueryLinzInfo : ExAllocatePool size(%d) LinzInfo EDO : EEPROM Thread is Close xTouch\DeviceDefaultEDOQueryCalInfoFromService : FreePool EDOQueryCalInfoFromService : ExAllocatePool size(%d) EDOQueryLinzInfoFromService : FreePool EDOQueryLinzInfoFromService : ExAllocatePool size(%d) CalSourcePS2TouchHoldToResetTimeTouchHoldToResetFlagIdleToResetTimeIdleToResetFlagFilterFilter ThresholdLowUppperA3A2A1A0BrokenLineTimeBrokenLineAreaOnlyRedirectEEPROMCmdEDOQueryActiveAreaInfo FreePool %x pActiveAreaInfo->rcBoxArray[1].bottom (%x) pActiveAreaInfo->rcBoxArray[1].top (%x) pActiveAreaInfo->rcBoxArray[1].right (%x) pActiveAreaInfo->rcBoxArray[1].left (%x) pActiveAreaInfo->ulNumsOfBoxes (%x) pActiveAreaInfo->bEnable (%x) EDOQueryActiveAreaInfo(2) Get data size(%d) EDOQueryActiveAreaInfo(2) ExAllocatePool size(%d) EDOQueryActiveAreaInfo Buffer size too small. need Data length is %d EDOQueryActiveAreaInfo Buffer size too small. need buffer length is %d EDOQueryActiveAreaInfo :Query Reg failed. len = length%d EDOQueryActiveAreaInfo :Query Reg failed. error code = %x EDOQueryActiveAreaInfo ExAllocatePool size(%d) ActiveAreaInfoDesktopTouchDownTimeEnableDetectTouchSequenceFlgRectangleLimitInActiveAreaReportOlderRectangleFormatEdgeBtnLeave EDODestruct EDODestruct : call decreaseing Reference (EDONotifyDeviceRemoval) xTouch : EDONotifyToRemove wait m_kRefEvent event EDONotifyToRemove \DeviceDefaultEdoIoctlGetActiveAreaBoxNum : pEdoExt->m_pActiveArea == NULL Fifo Full, one byte of data may lost Write Fifo : fifo full Fifo : not have buffer pointer(W)!!! Fifo : buffer empty!!! Fifo : not have buffer pointer(R)!!! helper:ForwardAndWait Helper:PassThroughIrp NativeNameLeave add device routine ( success ) Leave add device routine ( fail ) FDO init fail IoAttachDeviceToDeviceStack ruturn fail DriverObject( 0x%x ) , PhysicalDeviceObject( 0x%x ) Enter add device routine Identify fail Unload Driver( 0x%x ) Leave driver entry Enter driver entry( 0x%x ) egxfilterLeave driver entry ( fail ) Mouse Point Lost WHEEL : GESTURE_SLIDE_X (GestureValue == 0) post up WHEEL : GESTURE_ZOOM WHEEL : GESTURE_ZOOM X WHEEL : GESTURE_ZOOM Y GESTURE_ROTATE : GestureValue = %d GESTURE_ROTATE WHEEL : GESTURE_SLIDE_X WHEEL : 0x%x (%d) WHEEL : GESTURE_SLIDE_Y WHEEL : 0x%x (%d) WHEEL : WHEEL_BUTTON_DOWN WHEEL : GESTURE_SLIDE_X (GestureValue == 0) IDP : WaitPointDown event timeout. IDP : get WaitPointDown event.and switch mouse state to touch down pPortBase->m_lLeftUpTempY : %d pPortBase->m_lLeftUpTempX : %d ulTTime : %d eTouch : ParsingInputData has an exception ! receive %d bytes points pkt(02) IDP : Leave dispatch command routine IDP : Enter dispatch command routine pBuffer[ 5 ] 0x%x pBuffer[ 4 ] 0x%x pBuffer[ 3 ] 0x%x pBuffer[ 2 ] 0x%x pBuffer[ 1 ] 0x%x pBuffer[ 0 ] 0x%x other PostMouseWheel PostMouseLeftClickSpecial PostMouseLeftUpAndDBRightClick PostMouseDBRightClick PostMouseLeftUpAndRightClick PostMouseRightClick PostMouseLeftClick PostMouseRightUp PostMouseRightDown PostMouseLeftUp PostMouseLeftDown PostMouseMove DoPostMousePoint: pPostMouseState 0x%x eTouch : We have lose the data DoPostMousePoint: We have lose the data DBG_TDI : Send reset frimware cmd pRectBox->bottom = %d pRectBox->top = %d pRectBox->right = %d pRectBox->left = %d OnActiveAreaSingleSplit ActiveAreaSplitMap ActiveAreaBox->bottom = %d ActiveAreaBox->top = %d ActiveAreaBox->right = %d ActiveAreaBox->left = %d RectBox.bottom = %d RectBox.top = %d RectBox.right = %d RectBox.left = %d OnActiveAreaMultiMapping OnActiveAreaMultiSplit OnActiveAreaMultiFull OnActiveAreaMultiUpper OnActiveAreaMultiLower OnActiveAreaMultiLeft OnActiveAreaMultiRight OnActiveAreaMultiQuad1 OnActiveAreaMultiQuad2 OnActiveAreaMultiQuad3 OnActiveAreaMultiQuad4 DetectTouchInSequenceState : state 0(out area) DetectTouchInSequenceState : state 0 DetectTouchInSequenceState : state 1(out area) DetectTouchInSequenceState : state 1 DetectTouchInSequenceState : state 2(out area) DetectTouchInSequenceState : state 2 DetectTouchInSequenceState : state 3(out area) DetectTouchInSequenceState : Switch to enable Touch Function. DetectTouchInSequenceState : Switch to disable Touch Function. DetectTouchInSequenceState : state 3 DetectTouchInSequenceState : TimeOut. state return to 0 DetectTouchInSequenceState : lLastPostY = %d DetectTouchInSequenceState : lLastPostX = %d DetectTouchInSequenceState : lTempY = %d DetectTouchInSequenceState : lTempX = %d IDP : Leave dispatch origin data routine ReportMouseData.ExtraInformation 0x%x m_ucDeviceID 0x%x m_DeviceType 0x%x ucTouchStatus 0x%x ReportMouseData.LastX %d,ReportMouseData.LastY %d ulWidth 0x%x,ulHigh 0x%x do New rectangle gesture. Multi-Input 2: %d, %d Multi-Input 1: %d, %d %02X Multi-Input DispatchOriginalData : Write to EDO Len %d. DispatchOriginalData : Get Button Status CMD(CMD length is not correct %d). IDP : we got a command packet IDP : Need to parsing length = 0x%x IDP : Enter dispatch origin data routine rcBoxArray.bottom %d rcBoxArray.top %d rcBoxArray.right %d rcBoxArray.left %d cy %d cx %d pActiveArea->rcBoxArray[%d].bottom %d pActiveArea->rcBoxArray[%d].top %d pActiveArea->rcBoxArray[%d].right %d pActiveArea->rcBoxArray[%d].left %d pActiveArea->ulNumsOfBoxes = %d prcVirtualDesktop->bottom %d prcVirtualDesktop->top %d prcVirtualDesktop->right %d prcVirtualDesktop->left %d prcMonitor->bottom %d prcMonitor->top %d prcMonitor->right %d prcMonitor->left %d ShiftBit 0x%x PackMouseInputData pFormatData[ 0 ] 0x%x pMouseData->ExtraInformation 0x%x (FilterLostPacket)pFdoExt->m_bLastButton4Down = %x IDP : Leave post mouse point routine RectangleAndRealMulti == TRUE (8)PostMouseState = %x (EDOPostMousePoint)pFdoExtension->m_bLastButton4Down = %x Active Area : EnableTouch Active Area : Post last Point and Touch UP(Real Multi) Active Area : Post last Point and Touch UP(Retangle) last touch state is up Active Area : Post last Point and Touch UP (Real Multi) USER ID(Real Multi) %d Active Area : Post last Point and Touch UP Active Area : DisableTouch do not limit in ActiveArea. TouchSeq disable touch TouchSeq enable touch Zfilter : enable Z filter Zfilter : disable Z filter Disable EdgeBtn EdgeBtn : Y %d EdgeBtn : X %d Enable EdgeBtn EDOPostMousePoint : m_ulTouchStatus = 0, set Touch Disable IDP : Leave post mouse point routine.because EEPROM failed IDP : Enter post mouse point routine EdoHookBeepEvent(%d)(%x)(%x) Leave EDO Reference pkBeepEvent EDO Reference pkBeepEvent: (NULL == hEvent) EDO Reference pkBeepEvent: sizeof(HANDLE) (%x) EDO Reference pkBeepEvent: DeviceIoControl.InputBufferLength (%x) EDO Reference pkBeepEvent: Buffer too small EDO Reference pkBeepEvent Leave EDO Dereference pkBeepEvent EDO Dereference pkBeepEvent SetRemoveEvent(%d)(%x)(%x) Leave EDOCleanAllRemoveEvent Enter EDOCleanAllRemoveEvent (EDOReferenceRemoveEventArray) EDOReferenceRemoveEvent(%d)(%x)(%x) (EDODereferenceRemoveEventArray) EDODereferenceRemoveEvent(%d)(%x)(%x) EDO Reference pkRemoveEvent EDO Dereference pkRemoveEvent EdoIoctlSetActiveArea : pEdoExt->m_pActiveArea ExAllocatePool size(%d) pEdoExt->m_pActiveArea->rcBoxArray[1].bottom (%x) pEdoExt->m_pActiveArea->rcBoxArray[1].top (%x) pEdoExt->m_pActiveArea->rcBoxArray[1].right (%x) pEdoExt->m_pActiveArea->rcBoxArray[1].left (%x) EdoIoctlGetActiveAreaBoxNum : pEdoExt->m_pActiveArea->ulNumsOfBoxes(%d) SetBtnEvent(%d)(%x)(%x) Leave EDOCleanAllBtnEvent Enter EDOCleanAllBtnEvent (EDOReferenceBtnEventArray) EDOReferenceBtnEvent(%d)(%x)(%x) (EDODereferenceBtnEventArray) EDODereferenceBtnEvent(%d)(%x)(%x) EDO Reference pkBtnEvent EDO Dereference pkBtnEvent SetHWeelEvent(%d)(%x)(%x) Leave EDOCleanAllHWeelEvent Enter EDOCleanAllHWeelEvent (EDOReferenceHWeelEventArray) EDOReferenceHWeelEvent(%d)(%x)(%x) (EDODereferenceHWeelEventArray) EDODereferenceHWeelEvent(%d)(%x)(%x) EDO Reference pkHWeelEvent EDO Dereference pkHWeelEvent reply ulHWeelStatus 0x%x IOCTL_REFERENCE_BTN_EVENT IOCTL_DEREFERENCE_BTN_EVENT IOCTL_REFERENCE_HWEEL_EVENT IOCTL_DEREFERENCE_HWEEL_EVENT IOCTL Others IOCTL_DEREFERENCE_REMOVE_EVENT IOCTL_IS_EGALAX_TOUCH IOCTL_GET_HWEEL_STATUS IOCTL_REFERENCE_EVENT IOCTL_DEREFERENCE_EVENT IOCTL_REFERENCE_REMOVE_EVENT IOCTL_SET_ENABLE_DETECT_TOUCH_IN_SEQUENCE_FLAG IOCTL_GET_TOUCH_FUNCTION_STATUS IOCTL_SET_TOUCH_FUNCTION_STATUS IOCTL_GET_ACTIVE_AREA_BOX_NUM IOCTL_GET_ACTIVE_AREA_INFO IOCTL_GET_ENABLE_DETECT_TOUCH_IN_SEQUENCE_FLAG IOCTL_GET_LAST_POINT_TICK_CONT IOCTL_HOOK_RAW_POINT IOCTL_HOOK_CALED_POINT IOCTL_HOOK_CMD IOCTL_REMOVEALL_HOOK IOCTL_SET_ACTIVE_AREA IOCTL_CLEANUP_WAIT_REMOVAL IOCTL_GET_BEEPINFO IOCTL_QUERY_COMM_NAME IOCTL_GET_VERSION IOCTL_WAIT_REMOVAL IOCTL_SET_BEEPINFO IOCTL_UPDATE_MONITORINFOnIOCTL_SET_EDGEINFO IOCTL_GET_EDGEINFO IOCTL_SET_CONST_TOUCHINFO IOCTL_GET_CONST_TOUCHINFO IOCTL_GET_MONITORINFO IOCTL_SET_MOUSEMODE IOCTL_GET_MOUSEMODE IOCTL_SET_LINZINFO IOCTL_GET_LINZINFO IOCTL_SET_MONITORINFO IOCTL_GET_CALINFO IOCTL_SET_BRACNHFORMAT IOCTL_GET_BRACNHFORMAT IOCTL_GET_OIRENTATION IOCTL_SET_OIRENTATION IOCTL_SET_CALINFO EDO EDODefaultDeviceIoctl EDODefaultDeviceIoctl FDORegisterCallback end--- Hooked=%d FDORegisterCallback : pTempList ExAllocatePool size(%d) FDORegisterCallback begin--- Hooked=%d FDOUnRegisterCallback end--- Hooked=%d FDOUnRegisterCallback : FreePool FDOUnRegisterCallback begin--- Hooked=%d Leave identify device type God!!! It is an unknow device It is a PS2 device It is a SERIAL device {4D36E96F-E325-11CE-BFC1-08002BE10318}{4D36E978-E325-11CE-BFC1-08002BE10318}We got a new hardware id , and compare it Enter identify device type FDOOpenPort : Internal DeviceID = %d FDOOpenPort : pFdoExt->m_pPort ExAllocatePool(NonPagedPool) size(%d) FDOOpenPort FDOClosePort : release DeviceID = %d FDOClosePort FDOOpenEDO : ustrDeviceName FreePool FDOOpenEDO : ustrSerialNo FreePool FDOOpenEDO: Create EDO failed #EDOFDOOpenEDO : pEdoExt->m_ustrSymbolicName.Buffer ExAllocatePool size(%d) FDOOpenEDO : EDOInit failed. FDOOpenEDO: init EDO failed. \Device\EDOFDOOpenEDO : ustrSerialNo ExAllocatePool size(%d) FDOOpenEDO : ustrDeviceName ExAllocatePool size(%d) FDOOpenEDO OnFDODefaultHandler DebugLevelForceRedirectedLeave start device OnPnPStartDevice : TouchSendSyncIrp is failure Do port start device OnPnPStartDevice : TouchSendSyncIrp is success Enter start device xTouch : Leave remove device xTouch : IoReleaseRemoveLockAndWait is called egxfilter : Do port remove device xTouch : Enter remove device Leave stop device Enter stop device IRP_MN_SET_LOCK IRP_MN_QUERY_PNP_DEVICE_STATE IRP_MN_SURPRISE_REMOVAL IRP MN Others IRP_MN_EJECT IRP_MN_QUERY_CAPABILITIES IRP_MN_QUERY_RESOURCE_REQUIREMENTS IRP_MN_READ_CONFIG IRP_MN_WRITE_CONFIG IRP_MN_QUERY_INTERFACE IRP_MN_QUERY_DEVICE_RELATIONS IRP_MN_CANCEL_STOP_DEVICE IRP_MN_QUERY_STOP_DEVICE IRP_MN_CANCEL_REMOVE_DEVICE IRP_MN_QUERY_REMOVE_DEVICE IRP_MN_REMOVE_DEVICE IRP_MN_STOP_DEVICE IRP_MN_START_DEVICE FDO: IOCTL_INTERNAL_MOUSE_CONNECT FDO: IOCTL_INTERNAL_MOUSE_DISCONNECT FDO: IOCTL_INTERNAL_MOUSE_ENABLE FDO: IOCTL_INTERNAL_MOUSE_DISABLE FDO: IOCTL_MOUSE_QUERY_ATTRIBUTES FDO: IOCTL Others Increase FDO Ref IoAcquireRemoveLock not success, Fail IRP OnFDOCreate DecreaseRef FDO Ref. OnFDOClose FDODefaultRead OnFDORead FDODefaultWrite Power : Leave OnFDOWaitWake Power : Enter OnFDOWaitWake Power : Enter OnFDOPower UsbPort : after set configuration NULL UsbPort : before set configuration NULL PnpUsbRemoveDevice : after abort and reset pipe PnpUsbRemoveDevice : before abort and reset pipe PnpUsbSurpriseRemove : after abort pipe PnpUsbSurpriseRemove : before abort pipe UsbPort : Assign task usb infomation fail !!! UsbPort : Get usb information fail !!! UsbPort : Init Cmd Fifo success UsbPort : Init TX Fifo success UsbPort : Init RX Fifo success UsbPort : Leave usb stop device UsbPort : After release fifo UsbPort : Before release fifo UsbPort : After stop thread UsbPort : Before stop thread UsbPort : Enter usb stop device UsbPort : Leave UsbGetUsbInfo UsbPort : Leave AllocatePipeResources UsbPort : Enter AllocatePipeResources UsbPort : Leave QueryTotalNumsOfPipes UsbPort : Enter QueryTotalNumsOfPipes UsbPort : Leave ReleasePipeResources UsbPort : Enter ReleasePipeResources UsbPort : Leave QueryTotalNumsOfInterfaces UsbPort : Enter QueryTotalNumsOfInterfaces UsbPort : Leave ReleaseInterfaceList UsbPort : Enter ReleaseInterfaceList UsbPort : UsbSetConfiguration Fail UsbPort : Leave SetConfiguration UsbPort : Enter SetConfiguration UsbPort : UsbGetConfigurationDescriptor Fail UsbPort : UsbGetDeviceDescriptor Fail UsbPort : Enter UsbGetUsbInfo UsbPort : Build DeviceIoControl Irp Fail Get Device Descriptor Fail !!! UsbGetDeviceDescriptor : pDescriptor->bNumConfigurations = %d Get Device Descriptor Success UsbPort : Descriptor Allocate Fail !!! UsbPort : Get CfgDescriptor ( 0x%x) Success UsbPort : Get CfgDescriptor Fail !!! UsbPort : CfgDescriptor Allocate Fail !!! UsbGetConfigurationDescriptor : Configuration descriptor length = %d UsbSetConfiguration : success UsbSetConfiguration : after submit select URB UsbSetConfiguration : before submit select URB UsbSetConfiguration : pEPtDesc == NULL ( fail ) UsbSetConfiguration : after USBD_ParseDescriptors UsbSetConfiguration : before USBD_ParseDescriptors UsbSetConfiguration : pSelUrb == NULL ( fail ) UsbSetConfiguration : after USBD_CreateConfigurationRequestEx UsbSetConfiguration : before USBD_CreateConfigurationRequestEx UsbSetConfiguration : ulNumsOfEndPoints != 1 ( fail ) UsbSetConfiguration : after USBD_ParseConfigurationDescriptorEx UsbSetConfiguration : we got a new pIfDesc and store it UsbSetConfiguration : pIfDesc == NULL UsbSetConfiguration : after call USBD_ParseConfigurationDescriptorEx UsbSetConfiguration : i = %d UsbSetConfiguration : before USBD_ParseConfigurationDescriptorEx UsbSetConfiguration : Enter UsbSetConfiguration : Leave UsbSetConfiguration : free pSelUrb UsbSetConfiguration : fail and free resources UsbPort : Leave UsbQueryTotalNusOfInterfaces UsbPort : Enter UsbQueryTotalNusOfInterfaces UsbPort : Leave UsbQueryTotalNumsOfPipes UsbPort : Enter UsbQueryTotalNumsOfPipes UsbPort : Leave UsbAllocatePipeResources UsbPort : Allocate pipe resources fail !!! UsbPort : Enter UsbAllocatePipeResources UsbPort : Leave UsbReleaseInterfaceList UsbPort : Enter UsbReleaseInterfaceList UsbPort : Leave UsbReleasePipeResources UsbPort : Enter UsbReleasePipeResources UsbPort : Leave UsbReleaseUsbInterfacePipeResources UsbPort : Enter UsbReleaseUsbInterfacePipeResources UsbPort : Leave UsbReleaseAllUsbResources UsbPort : Enter UsbReleaseAllUsbResources UsbAbortPipe : return fail UsbAbortPipe : return success UsbResetPipe : return failUsbResetPipe : return successUsbRxComplete : Leave UsbToComRxComplete UsbRxComplete : Enter UsbToComRxComplete UsbRxThread : RxThread Terminated due to m_PnPState not started UsbRxThread : Usb urb error = READ_URB_ERR UsbRxThread : Receive the stop Event 0x%02x 0x%02x UsbRxThread : Copy read data to RxFifo UsbRxThread : Receive %d bytes UsbRxThread : PipeHandle = %x UsbRxThread : Usb urb error = %x UsbRxThread : Rx thread loop start ! UsbRxThread : Pipe Handle = %x UsbRxThread : Transfer Size=%d UsbRxThread : Polling Interval=%dms UsbRxThread : UsbPortRxThreadRoutine is Running UsbRxThread : UsbPortRxThreadRoutine Fail due to no more memory to allocate Irp. UsbTxThread : AllocateUsbControlPipeIrpAndUrb Failed for URB UsbTxThread : AllocateUSBControlPipeIrpAndUrb failed for IRP UsbTxComplete : Leave UsbToComTxComplete UsbTxComplete : Enter UsbToComTxComplete UsbTxThread : Free Write Irp UsbTxThread : Free URB UsbTxThread : USbToTxComThread Terminated due to device not started UsbTxThread : Leave pending Wait ( exit thread ) UsbTxThread : the stop event was setted UsbTxThread : Stop Event was setted UsbTxThread : Write Done UsbTxThread : Pending Wait - ok UsbTxThread : Enter Pending Wait UsbTxThread : Read No Data UsbTxThread : UsbToComTxThread enter Wait Data Objects UsbTxThread : m_pOP = 0x%x UsbTxThread : m_ulWrite = 0x%x UsbTxThread : m_ulRead = 0x%x UsbTxThread : m_ulLen = 0x%x UsbTxThread : m_pBuffer = 0x%x UsbTxThread : UsbToComTxThread is running UsbTxThread : AllocateUsbPipeIRPandUrb Fail !!! UsbTxThread : pPortBase = 0x%x , pTxFifo = 0x%x Thread isn't stopped yet!!! Leave init serial port Set timeout success !!! Set timeout fail !!! Set LCR success !!! Set LCR fail !!! Set baud rate success !!! Set baud rate fail !!! RxCompletion : pIrp = 0x%x RxCompletion : pThread = 0x%x Enter read completion routine Serial : Leave Rx thread kIrql > PASSIVE_LEVEL || NULL == pPortBase->pReadIrp RxThread : Stop event is setting RxThread : pThread->bThreadStopPending = TRUE RxThread : Leave DispatchOriginalData RxThread : Enter DispatchOriginalData RxThread : ulReadBytes = 0x%x Enter write complete routine Tx Complete : Free Irp Tx Thread : cancel Irp Serial : Leave Tx thread kIrql > PASSIVE_LEVEL || NULL == pPortBase->pWriteIrp TxThread : Stop event is setting TxThread : pThread->bThreadStopPending = TRUE m_ustrCommPortName = %ws m_ustrCommPortName.MaximumLength = 0x%x return length = 0x%x ustrTempCommPortName get from PDO = %ws _DEVICE_ = %ws \DosDevices\Do pnp ps/2 port start device. Firmware version major= %02X, minor= %02X Firmware version %X Send Cmd Char=F4 Send Cmd Char=0xF2 R1= %02X, R2 = %02X, R3 = %02X ID Code = %02X, Key = %02X c Send Cmd Char=%02X ISRParsingInputData : this is a CMD pktISRParsingInputData : this is a Points pktISRParsingInputData : FIFO FULL! SKIP ITHookIsrCallback : ContinueProcessing = TRUE ( Leave )HookIsrCallback : KeSetEvent Expected ACK event. HookIsrCallback : pPs2Port->m_bNeedAck = TRUE HookIsrCallback : get reset ack. HookIsrCallback : resend 0xff. HookIsrCallback : pPs2Port->m_bNeedResetCMDAck = TRUE MouseState=%s, Byte=%02X, Hooked = %d MouseState=%s, SubState=%02X, Byte=%02X, Hooked=%d MouseState=%s, SubState=%s, Byte=%02X, Hooked=%d Degbug Print MouseIdle == *MouseState MouseState == MouseResetting HookIsrCallback : We got reset byte HookIsrCallback : Mouse class process yetHookIsrCallback : After m_UpperIsrHookHookIsrCallback : Before m_UpperIsrHookUnknow State = %02X SubState=%s MouseState=%s, Received Byte = %02X HookIsrCallback : EnterHookIsrCallback : Parsing data to m_pTempIsrBuffer Ps2RecvMousePacketDPC : No input data lTempY : %d lTempX : %d pFormatData[4] : %x pFormatData[3] : %x pFormatData[2] : %x pFormatData[1] : %x pFormatData[0] : %x pEdoExt->m_DeviceParam.m_ulReportTouchDownArea : %d pFormatData[0] : %x RxThread : Leave RxThread : POST_MOUSE_DATA=> MOUSE_LEFT_BUTTON_UP RxThread : kIrql > PASSIVE_LEVEL RxThread : No more memory to allocate buffer TxThread : Leave Ps2PortWriteDone Ps2PortWriteDone : Stop event is setting Ps2PortWriteDone : ulSentCnt = %d Ps2PortWriteDone : retry = %d Ps2PortWriteDone : pPs2Port->m_iCmdPos = %d Ps2PortWriteDone : Get Expected ACK event Ps2PortWriteDone : Need resend Ps2PortWriteDone : Timeout Ps2PortWriteDone : Other status = %x. Ps2PortWriteDone : Cmdbuf[%d] = %x Ps2PortWriteDone : ulNeedSendLen = %d Ps2PortWriteDone : pPs2Port->m_iCmdLength = %d TxThread : Enter in Ps2PortWriteDone RedirectEEPROMCmdPacket : Got H2D_SETEEPROM RedirectEEPROMCmdPacket : Leave Ps2GetEEPROM : Get EEPROM Addr = %02X Value = %02X %02X RedirectEEPROMCmdPacket : Got H2D_GETEEPROM RedirectEEPROMCmdPacket : Enter TxThread : Leave TxThread : Enter in Ps2PortWriteDone 2 TxThread : pPs2Port->m_bCanSendFlag %x TxThread : pFdoExt->m_bCalSource %x TxThread : we got %d bytes TxThread : write fifo semaphore is released TxThread : kIrql > PASSIVE_LEVEL TxThread : No more memory to allocate buffer TxThread : Enter Ps2RedirectCmdPacket : Leave Ps2RedirectCmdPacket : Got H2D_LOOPBACK Ps2RedirectCmdPacket : Got H2D_SETEEPROM Ps2RedirectCmdPacket : Got H2D_GETEEPROM Ps2RedirectCmdPacket : Got H2D_GETVERSION Ps2RedirectCmdPacket : Got H2D_GETMODEL Ps2RedirectCmdPacket : Got H2D_GETTYPE ResistivePs2RedirectCmdPacket : Enter Ps2SetEEPROM : Update Data in Registry Ps2SetEEPROM : SetEEPROM Addr=%02X, Value=%04XPS2InternalI8042Hook : Leave PS2InternalI8042Hook : We have got the hook information yet PS2InternalI8042Hook : I8042 Hook Fail Due to Input buffer size too small PS2InternalI8042Hook : Enter PS2InternalMouseStartInformation : Leave PS2InternalMouseStartInformation : Buffer is too small PS2InternalMouseStartInformation : Enter EEPROM : Query Value Fail! Update Registry again EEPROM : Query Value Returned=%d EEPROM : Query Addr=%02X, Value=%04X \InformationPs2DumpTimerDPC : set timer PS2Ps2ToggleTimerDPC : set timer Ps2SynSendCmd : We send a cmd ( 0x%02x ) Ps2SynSendCmd : Enter Ps2SendCmdDPC : Enter Ps2GetACKDPC : Enter ReplugDelayBootDelay UsbFlushCmdPacket : Leave EDOMutex UsbFlushCmdPacket : Debug 8 UsbFlushCmdPacket : Debug 7 UsbFlushCmdPacket : Debug 6 UsbFlushCmdPacket : Debug 5 UsbFlushCmdPacket : Debug 4 UsbFlushCmdPacket : Debug 3 UsbFlushCmdPacket : Debug 2 UsbFlushCmdPacket : Debug 1 UsbFlushCmdPacket : Debug 0 UsbFlushCmdPacket : Enter EDOMutex 2.0VRedirect : Update Data in Registry Redirect : SetEEPROM Addr=%02X, Value=%04XRedirect : Returned CheckSum = %04X Redirect : Get EEPROM Addr = %02X Value = %02X %02X Redirect : GetEEPROM Addr=%02X UsbPort : Leave UsbInsertCmdPacket UsbPort : Enter UsbInsertCmdPacket OnFDOSystemIoctl : EnterFDOWmiUnRegistration : EnterFDOSetWmiDataItem : LeaveFDOSetWmiDataItem : EnterFDOSetWmiDataBlock : LeaveFDOSetWmiDataBlock : EnterFDOQueryWmiDataBlock : LeaveFDOQueryWmiDataBlock : EnterFDOQueryWmiRegInfo : LeaveMofResourceNameFDOQueryWmiRegInfo : EnterxTouch : Leave FDOWmiRegistrationxTouch : Enter FDOWmiRegistrationInitDev: Attache Device Stack Failure Initdev: ParentInitDevice BusAddDevice: Create Device Object Fail Add Device: 0x%X Parent Query BusRelations: Child No. = %d Our PDO = 0x%x fdopnp: Finish BusRelations fdopnp: Something is wrong ,and pass through Irp fdopnp: We get BusRelations fdopnp: Pass through Relations Irp fdopnp: Parent Query Device Relations fdopnp: Parent StartDevice fdopnp: Parent RemoveDevice fdopnp: Parent Query Remove Device fdopnp: Parent Cancel Remove Device fdopnp: Parent StopDevice fdopnp: Parent Query Stop Device fdopnp: Parent Cancel Stop Device Relations fdopnp: Parent Query Interface fdopnp: Parent Query capability fdopnp: Parent Query ID fdopnp: Parent Query PnP Device Relations fdopnp: Parent DefaultPnP fdopnp:IRP_MN_SET_LOCK fdopnp:IRP_MN_QUERY_PNP_DEVICE_STATE fdopnp:IRP_MN_SURPRISE_REMOVAL fdopnp:IRP MN Others fdopnp:IRP_MN_EJECT fdopnp:IRP_MN_QUERY_CAPABILITIES fdopnp:IRP_MN_QUERY_RESOURCE_REQUIREMENTS fdopnp:IRP_MN_READ_CONFIG fdopnp:IRP_MN_WRITE_CONFIG fdopnp:IRP_MN_QUERY_INTERFACE fdopnp:IRP_MN_QUERY_DEVICE_RELATIONS fdopnp:IRP_MN_CANCEL_STOP_DEVICE fdopnp:IRP_MN_QUERY_STOP_DEVICE fdopnp:IRP_MN_CANCEL_REMOVE_DEVICE fdopnp:IRP_MN_QUERY_REMOVE_DEVICE fdopnp:IRP_MN_REMOVE_DEVICE fdopnp:IRP_MN_STOP_DEVICE fdopnp:IRP_MN_START_DEVICE fdopnp: Parent PnP fdopower: Parent Power etpbus : enter FDOCreate etpbus : enter FDOClose etpbus : enter FDODefaultHandler PnP: Child Start Device PnP: XPort Query Remove Device PnP: Child Remove Device PnP: NPort Surprise Removal PnP: XPort Cancel Remove Device PnP: XPort Stop Device PnP: XPort Query Stop Device PnP: XPort Cancel Stop Device PnP: XPort Query Device Relation PnP: XPort Query Interface PnP: XPort Query Capabilities PnP: XPort Query Resources PnP: No hardware required PnP: XPort Query Resources Requirement Serial Touchscreen DevicePnP: XPort Query Device Text: DeviceTextLocation PnP: XPort Query Device Text PnP: XPort Read Config PnP: XPort Write Config PnP: XPort Eject PnP: XPort Set Lock 0000SERENUM\EGXSERENUM\EGX5800PnP: Child Query ID PnP: Child Query PnP State PnP: XPort Query Bus Information PnP: DeviceUsage Notification PnP: FilterResourceRequirement PnP: Child Default PnP PDOPnP:IRP_MN_SET_LOCK PDOPnP:IRP_MN_QUERY_PNP_DEVICE_STATE PDOPnP:IRP_MN_SURPRISE_REMOVAL PDOPnP:IRP MN Others PDOPnP:IRP_MN_EJECT PDOPnP:IRP_MN_QUERY_CAPABILITIES PDOPnP:IRP_MN_QUERY_RESOURCE_REQUIREMENTS PDOPnP:IRP_MN_READ_CONFIG PDOPnP:IRP_MN_WRITE_CONFIG PDOPnP:IRP_MN_QUERY_INTERFACE PDOPnP:IRP_MN_QUERY_DEVICE_RELATIONS PDOPnP:IRP_MN_CANCEL_STOP_DEVICE PDOPnP:IRP_MN_QUERY_STOP_DEVICE PDOPnP:IRP_MN_CANCEL_REMOVE_DEVICE PDOPnP:IRP_MN_QUERY_REMOVE_DEVICE PDOPnP:IRP_MN_REMOVE_DEVICE PDOPnP:IRP_MN_STOP_DEVICE PDOPnP:IRP_MN_START_DEVICE PnP: Error! XPort PnP Service PnP: Child PnP pdoPower: Child Set Power pdoPower: Child Query Power pdoPower: Child pDO Power NativePortNameFriendlyPortNamePortNamepMouseData->LastX %d,pMouseData->LastY %d IsNeedTransfer2Rectangle : end DO_NOT_REPORT_RECTANGLE IsNeedTransfer2Rectangle : is not ID2 NEED_REPORT_RECTANGLE IsNeedTransfer2Rectangle : is ID2 NEED_REPORT_RECTANGLE IsNeedTransfer2Rectangle : is ID1 DO_NOT_REPORT_RECTANGLE(no ID2) IsNeedTransfer2Rectangle : is ID1 NEED_REPORT_RECTANGLE(has ID2) IsNeedTransfer2Rectangle DO_NOT_REPORT_RECTANGLE (don't init ID1)(0x%x) IsNeedTransfer2Rectangle DO_NOT_REPORT_RECTANGLE (init ID1)(0x%x) IsNeedTransfer2Rectangle pDeviceParam->m_RealMultiRectangleStatus.m_bDropSecondUp(0x%x) RealMultiReportRectangle:Clean status RealMultiReportRectangle:pDeviceParam->m_RealMultiRectangleStatus.m_bDropSecondUp 0x%x RealMultiReportRectangle:ReportMouseData.ExtraInformation 0x%x RealMultiReportRectangle:m_ucDeviceID 0x%x RealMultiReportRectangle:m_DeviceType 0x%x RealMultiReportRectangle:ucTouchStatus 0x%x RealMultiReportRectangle:Do not report this mouse event RealMultiReportRectangle:m_bNeedPostUp ==TRUE RealMultiReportRectangle: ucUserID 0x%x ucID 0x%x RealMultiReportRectangle: pPostMouseState 0x%x m_bNeedPostUp ==TRUE RealMulti: pPostMouseState 0x%x pFormatData[0] & 0x40 pFormatData[5] == 0x60 pFormatData[5] == 0x5f pFormatData[0] & 0x20 pFormatData[0] & 0x60 ReportMouseData.ExtraInformation 0x%x (gesture) EdgeBtnAction Y EdgeBtnAction X HWEEL_RIGHT 0x%x HWEEL_LEFT 0x%x EdgeBtnAction: pLastPostMouseData->Buttons = MOUSE_LEFT_BUTTON_UP; EdgeBtnAction: TouchDown == pDeviceParam->m_LastTouchState YYY$ZZYYYYZvZZ@ZTZSSSSS T$T>THTVThTzTTTTTTT U&UHU^UvUUUUUUUV.V@VNVfVlSVVVVSWW8WPWpWWWWWWWX,X@XPX^XxXXXXXXY Yh\ n$kX% j %&&&2&&x3VV\Z33"44NRUTVQQ    Pdj.fLJ|0\4c_hld8efeB%<&&(&*' (b(~*\+ZccBdZdPcPc ZccBdZdPcPc$,ZccBdZdPcPc/ZccBdZdPcPcDZccBdZdPcPc~KZccBdZdPcPc0($(( (''''''l'D'(''&&&&x&X&8&$&&%%%%%x%d%P%D%4%%$$$$$h$THTVThTzTTTTTTT U&UHU^UvUUUUUUUV.V@VNVfVlSVVVVSWW8WPWpWWWWWWWX,X@XPX^XxXXXXXXY Y ProductVersion5.08.00.7412DVarFileInfo$Translation FOMBk DS}TXB b1h D 䂉 ! -L p !JH*BB([vDI`F*hr7 >ѐt>D14#:;L RdP1)n'rDƉfTd@4>ؽ4 0&T E8mAȜghp%Rqˆ,FmY!-BAƎ;xgmpZ: J`/|}hBNƃ:S>ʄ||U0AQiX(2`c9%<<4ދEsY=ICo~0^ /`^F<.PA΁D<a1s5.r1x~50`S£Eq8O<>c>q>>>>>>*?7?_?m??0000.0P0[0s000%121?1N1p1{111"2,292H2j2u2222 3%333x33333334'4n4{4444445%5o5|555 6N8X8]88 9m9}99999:C:H:P:i:s::::;;;;;;;;;;< <<.<@<<<<<<===*=<========>>&>o>x>>>>>>> ?%?*?2?K?U?e????@ 0'0,040M0W0j000010151=11111 22$2?2D2L222223$343O3T3\33333+444D4_4d4l44444;5D5T5o5t5|55556K6T6d66667777788+8H8U9e9u9999999999::$:6:H:Z:l:~::::!;*;:;;;;; <<"<=)>4>Z>r>>>>>??F?S?????P 00]0f0v0000001!1a1j1z1111112%2e2n2~2222223A3J3Z3334 4=4x4455$5555556+6B666667 737S7d7u77777777 88,8=8N8_8p8888888888999'929=9H9S9^9i9t9y99999999999999::$:.:9:D:<g>>>?J?z???` 0&00000M1^111111 252P2_2w222223)3B3n333334$414j444444 55$5]555566,6@6v666666677&7,727C7e7o7{7777777778$828:9F9i9999:1:E:]::::;);A;W;j;p;;">\>>>R?p80;0O0]0001222=33334.4H489>>P?v?D1c177777 8&8=8\8o888888 9 9>9T9|99999::7:c::::::;1;J;z;;;;;<8 >}>>>>j?????000181&2>2V2n2222234'4?4W444 515556066677778!8889*9t99999999997:M:e:}:::$;;;;;0o>>g??d{00122;334H4i4455:5T5566)7A7Y7q777778-8H8d8888999 :::=== ?#???|1+12P33444L55(666J7N7R7V7Z7^7b7f7j77777888 888a889999::X:s:::e;;;<<<=5=K=>???0^0001Q1v111222 3S3j3344H55"6E666)7x78j888#999:0:f:::(;>;p;;;;<&>/>O>n>>>>>,?;?s???N0i00001]112%2=2223&3D3c3]4444575V555556#6[66667Q7z7778E8t88'9999:;:Z:::::;';_;;;:>8>\>v>> ?1?W?}??00?0e000"1;1a1111!2C2e2223D3a3u3333434Y4r444585Z5|55556<6b6F9f99:!:I:b::;?;\;;;;K<<<<< =====>^>j>o>z>>>>>>??:?L?z???????, 00*0;0O0\0i0v000000011 1-1:1J1Z1j1111112(2:2M222 3Q3e3j3t3333344R4i444444=5j5{555506J6o66 777B7i777778b8888888-9D99999999~::::>;;; =.=A=t=======>'>>>m>>>>>>>>???????????????????????????????0$080_02)2=2222222U333333484J4|44445535K5p5555555$6F6c6u66*77777t89T9998::::0;T;z;;;<(<[>7>K>o>>>>>>?-?@?U?z??? 0+0800000 1p111122(262_2s2222223,3<3L3]3{33333:4_4q444155556 6S6666:7t777788=8j8888889:999 ::v::::: ;l;;;;;d<<<<<U>o>>>>?!?2?E?[?q??????  0000071Y111112212I2a2y2222"333333344*4F4r444444444 55'537V7p7z7777889n9~99999:D::;r;;;;>:>Q>>>?.?@?R?]?s?????00[0k0{0000001K1g111112!2G2Q2n2222?444405J5\5e5w5555C6d666 7"7*7278778$8F8899:;;<)>>>>2?;?@?o?t?????@$0M0w0000111 2@222223373R3m333%4_4s44444445n55556*6<6[6r6666667O77778i88888 9%999I9]9{9999:4:Q:x:::;*;;;;;;<<v>>>>?N?c????P0g0000;1j1112=2R2}2222\33333 4?44444525R555663666 7M7i7777#8(8Y8^888979>9^9w9999:::::::;;L;l;;;;q<< =======+>z>>?*?P?v??`00001?1T11.2y2223K33x44445r556&6+686667A7X7r77778888888888888889909S99999999999999: :F:d:::::;A;S;d;w;;;; <<@0>:>D>N>X>^>y>>>>>??v?p'0O0d00001u111112#282L2b2y2223N3_3i33334Y445[55596}667@7R7i7777777 898P8`8p8888889999999999::/:`::::;R;;<====,>N>{>>>>>?L?a?????*0K0z00000111b11!252j2~22222L3333414H4w4444445:5]5x555N6c6666677M7a77777 828I8`8w888888909@9P9`9~99999:;; ;;;;;;";&;*;.;2;6;:;>;B;F;J;N;R;V;Z;^;b;f;j;n;r;v;z;;;;#<_>>?9??00>0^0w0000111R2222G3d3~3333044Z5555$667i7778L888 9:9999 :!;0;J;`;;;;<>C?\?}??00000 1 88 990000 00000 0$0(0,0004080<0@0D0H0L0P0T0X0\0`0d0h0l0p0t0x0|000000000000000000000000000000000111 11111 1$1(1,1014181<1@1D1H1L1P1T1X1\1`1d1h1l1p1t1x1|111111113333 3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|3333333333333333333333333333333444 44444 4X4\4`4d44444444444555 55555 5$5(5,5054585<5@5D5H5L5P5T5X5\5`5d5h5x5|55555555555555555555555555666 66666 6$6(6,6064686<6@6D6H6L6P6T6X6\6`6d6h6l6p6t6x6|66666666666666666666666666666666777 77777 7$7(7,7X8\8`8d8h8l8p8t888888888888888888888P000$0-040