`wph M@<=|wAa x*$HA 4VgD 4VgZ 8&1AY&gb<@Aa~"<Sf<w=|NuA \`gAaP`AaD` Aa8<Aa,`<Aaa&H@ ;g TABLOC LOR s?TABLOD LOR v@TABLOE LOR yATABLOF LOR |BTABLOG LOR CTABLOH LOR DTABLOI LOR ETABLOJ LOR FTABLOK LOR GTABLOL LOR HTABLOM LOR ITABLON LOR JTABLOO LOR KTABLOP LOR LTABLOQ LOR MTABLOR LOR NTABLOS LOR OwpA*wf qFUUQ'fqFFGqq)wpM 330 ?    0      M  M M,wpf~Arr3333oVVVTVVV333`oeeeaUUUUQ3331fdfa```UVVVUeEayxwp6 Z5beeeeV&Pf&bffVU%`` R Fq333dffP`ffqVPP31`UZU`P33q3333PqEnVj@PZUoc333P]_fmU3UUo1g3ffffqffjfwW5N#)w}ZpPfffffafffff3333Q333303333Q3pUUj0 jgUUj33jlPUUUUUpldPffffamfmf]jUUUUUwpS feN33333330333qwpf;~k6QQw  wp0UP fFQUUS3330fP_UUUUPZ31333 wpA ~Z6333333UUUUU^U^Q330N3333110wpYA6_6f fmf daFjadaFjajajadaFjadaFjaf ff fmwWfN/~ UUPUQUU 3#333`c31Qo03``P``P1Up`33`Q`qS333`a@UUUffU]fUUwpqNA*r 3330#30333333q830A@p00136nnaFb1kKbn`kaibnkkb```ndwp_)S6r  #31333331     J 333 wp}S_3300f`3ffo0ffafff`3FfAofdFfAfffdcFAFfo`FfAFffdOFfFdFdOFf@FdFf`@O`FdFfwwwwwwywp Y0noofk0?poffok001fnf300?1poffok0ffk001pnoofk30ff001movfkfmwW S  30#338mgvpqmfmo_jfUUQQ3331fFnp30ffff`333UQf`U`gkffmwpMGZGe6qrw0````dfp`dfg`````n````oF`ngndk```ooodnFKwp/YNYaffff`f`ff`of`fff3foafff``fff`ff`0f`fofAFff`ffff`ffffffffffffffwp Z/Ber033333333 f`fff333UUQf`333UQf`foc333U3333333ffdff`UQn`ojjeP~f~lolnPffnlaPflVfffffwp;r)*e*333ac333`3c33c13`c331  1    `1 fnfkf fh `1 of f` fh 13000333  gm wW_SZ_6~ #333333333333 Fnf@ F@Fp HOp JFnfdptfdfnFfnffffffffnwpS;3333331333333 IdIFdfdffAFFfAdkFFFfAd`FFFfAd`FFFfAd`FFFfAd`FFFfAd`FFFIfAddFFFFkddf@Fd` KFdF`wp ;*qN      wp)5e* UUUUUUUa333AfUUUQPPP5PxUUUQoy33yxxUUxUx`wpw} f%UUU-nf"ffnfnffffffnfffnffnfagfvgfvgfvgfqwW_NMYN fffffffffnfnfffffffffffffnwpk~ZAk 33331UYFp U^ ````n`p`p3pwpGB)SrwB [&μμP#333333[UŰQ [QP1μ[ εQγ335a  Q aμQUμμμμwpA/*GrM*_q*""" g  xgxa    xxfdfxga    yayawp}**333303333i`ffffiiiUVfnffffeUiiQw`UQU fDMm mDDDDDDDDDDDDDDDDD@DDD@wW)5Gfw3333033 fpfgffffgFk33lFk Oq33 Fk O FkfffflO fFk'O)fgfqfffFj f q/Ɩjffnwp Z#Znf.fPU Q330qPQQUqP33s3PU1UUUUn33oqU`PnqPpU`QUUQwprB);q~3 30UUPQ_UQUDF`Q_PQU@PQUPQ 3PQPPQPQUUUUUPQ PQUPPUYYYYwpr)}r xxo`y``a`xxyxyyaawpA)M0i fifia f`f iff mf`fo iiaf nf`f inf f`fo iia ` inf fffoo fvgnffaffvfnfffvfnwWG 5BqB}r 0 0    1 31 k31 ZFejYefFeFa@ f@C;3133c1@  A d\YeA\edaf Aq0303A03aa`defefedwp_;A_e" %UUURp ""          /^^wpS~#fG6B  33    wpSffMff330  x  x  fkdlxdxfUf'pG 5BqB}r 0 0    1 31 k31 ZFejYefFeFa@ f@C;3133c1@  A d\YeA\edaf Aq0303A03aa`defefedp_;A_e"/UUUUU/ ""           ^^wpS#NSrNfffff33332ajfafaaf`fffafffffffjfffa33331fffjaffffffffffffwWM*fwBVUfffffAVV31330fUUQffVfVefQafVfP_P333fffffUPfffffffffffffffwp;)6SZkr33330UUUp0p0p?33i fawpk#NS~N #33330ffffffffffffffffffffffffffwp_ Bf_xxxyyxxyyyxwpM;6kfqwffffffff&ffff`&dffa&fffdhhfffff `֖ kafffffff afhfo kafwfvffk{fa`afaffffnamaffad``adaffffoadajfoffhafffffffffffffwW5 BGk*3333fffffffffnafmfaw33fffiafffffffffffffwpS;Y}   a a1na ``a ``a ``a `na ``a6qc1`aa`aa`aUUUnNa@@wp/5BSBqBq #333333333333331UPUUwp;BwN  xy x xxU̻3fffaxyxxxwp/ `a`bmf`ffffwWe~SN}Nfmfmfmf33ffhafff`ffffh331fmfUff33333ffffaffff`fffffffffffffwp/AAqAAAAAAAAAAAABAAAAAAAAAAAABaaaaaabaAaAaAaAaAaAbaAaAaAaAaAaAbaAaAaAaAaAaAbaaaaaabaAaAaAaAaAaAbAAAAAAbbUUUUUUUUUUURwpe))r_1100010000?1100033301?010003001010000100000101wpS~B/wB  "'hxhh"hhvivv vhhhhxhhxhhxheeeeeeeeeeeeewpw/w nffka  o fhho nfffhh` v` fffffkdfff`bggggggg`wWrAYNN   fFfffffffafFfffffffa333gfkfa  a lagffq a ff fa   j fffffflfffffjmmwpG6q~pq pVfVfi pVff[ffpP m fP fQnffffwpM#B;e}B񪪪񙙙wwwwwwwwwwwwpA))fMxaxxxG331y3333xxxxGxxwpGSrUUUUUUUUUUUUR3333333333"kffffffnfa ffffffffaffffffff3mf`im`3ffffhf1fwf`afnffffffffwWM#B/rMrmfmfnmf333mffmm3333mnmnmmwp5Z/w*UUUPPPPVUPfUqUUf33363131fffPQfkqjp333a3333331UPm ViQffffffwp rkf" "     wp)BY_*Gxxyxj x3333f     x aϼ xUa oPxGwpY#Y}B jfja famQh Q` PVnffeh P_` 333Qh Qf` PgfkPPmUUUVUUPfjfjfjfjfwW)r;rw   ae33333VP PP%feVR%PRVeVfb_meVffnPa Qgj`fQP_f`ffmfmfmfmfmfmfwpA~kZB 333330  UUQQeeeUPUUUQPQ3333XUPfaPfaP`ja`P`oapPna`apqwpY_30ww0wwwpwwwp3wwwp 0wwwp wp wwwp  00   ` `Hwpw);GSkPPWGxxGxxGPWxUUWUwpM6}Z "333323333133033331۶ak330331HkdaFkh331HkdfanFkhf01fHkdfnanfFkhfhfHkdnfffffFpwW Z5f&f330 3UUQfaffg3 j3133;jff3133fffflf a ` ff `ff o ffflfffflfffwp /N}k `333(` pai b3kafkipaf`faf`faf`ff `YYYYYYYff`ff[ffifff˻wp /MSq3333330     K@wpM#f)fwf}f f U feeeeeaUVVVVVfVVVVVVVVVVVQfeeeeeaUVVVVVfVVVVVUeeeeeafeeeeeaUVVVVVfVVVVVUeeeeeaeeeeeeeeeeeeewpYZfjaj`mfa003333310jf00f:fU0>jUjFj6fUF00:o5UUjfjUUfffjfjffffjwW/~;N .mfUUUeUVUQgP3?kap Wf  hma mfjaaUQmfnP aopf^m`fPfmfmfeVmeUwprGSr  0 ffffmaUUQ` fgpfg333PUQUUUQUUPUUUUUUU_UQUUUUUUUQUUUUUUQwp6 6Ae ,  1 1            wpANN 興 33: ` haVfffPaPfFfPhaPfDFaPPfFfPhaPfDFh`P``PfFf`hwp 6;_e6?33303303301 m 01@``fm`U0o`0m`a`3310UUU3331jaf31UUUU31jfUUjfwW)6BfmfmafmfVefef3333330ffnVeUUmaUUPPPPUUUUUXPPPfUVPPPfUEPmfnPXmfUUaU]ffߡmfwpYAr_*eBerffq qqffqqm q qqffqqqqqqqUQqqQUQQqaQQUQQQaQQQUQQQQ qaQQQQUQQQQQaQQwp  BBwpG~A_6UUUUUUPUUUU3URfUVFURUUVS133PyAVUxVVA331335333oUUF33FQfd`30fVdU x3~VVUxUWWwpM;re  jja𦦦jjjjjjjjUUUjjajjajjeUUUjjajjj333𦦦jjfj*jwWS;UUUUURPS33>faPfrffpePbfgg n fWfUfr eqbfgg Qp efgUpfr VqUeb Vq beaefeffefUfVffwpYYNw333UUiUUUUUUQPQQUUQQQPQUUQUUUQQUUUUUwp_Z#rk~*0000003030UUQUUUEUUPQPQ_QPQ_QQ1Q_QQ_QQ_QUQ333 wp/_fkw033xffFfxd33333333xUUUUfFf330x0Uxwp}AY}U`VUneeVeVfUVVeVefeeeQVUjP QfUf`QoVfQ֦f33=UaVVoePfVU`PVQVPfUQeffPUdUUTeQfPVfPfUeVZUfU]ewWANqrqw33 UUUUUQUUP3033UU3330UUUUUUUZUQUUUQ]UUUUUUUUUUU333wpY;;r_kBpjfjgffffffffffmffmfmKffff1fffffffffffwp}/6/~;~G6G~ wp N/fkNxc3333bc3333`o`o`UUVPxaffdfffaxaxex3ac33333a``o``aoae`yxxwp5}3333333akafaikafnkaffaikaffkff?ai3?fofaffnfoffffaffffffffji fffivg`gg`gg`mmmmmmmmmmmmmwW;rw&ffffffffffff#333333333330(UVUVUVUeS3+/UUUUUUUUUQQ+33333333P/UUUUUUUUf+/feUUVUUQla+/UUUUUVeUQ`+333333330)UfUVVUUUQ UUVVfUUVVUfUwp 5fe~g30UPUfnU``V`e`deep&aF&aVfffQ&qZQ&PQ&YQ& ZQUW(`U` `eUUUU iwpS/6ANMk*0  0o wpf0330 f0f wfwpA6;e}6333331ha3h``dad`hdf`d`fdfffaF@f`fFdfgad`gag`wp#kfQP3333ne`QmQP30QPic3QP^eQVffePQP333PmffQPfQS6fc0`QPfQPfVVUUiefUeUwWSA*Mfbff&ff&ff&ff& fffdffFffffqffFfffdfffqfdffFffFa𱱱fFdfdfffFfffffdffFfdffFffdffffffffffffffwpMN Gkn`f `aff`a` `a```a`qp``a```a`pp`a `a6paa`7q``pwp_R%R%UUUUUU%UUUUUU UP QUU UUU UUQP UUUP QUUUU UUUUU%UUUUU QUUUUU%UUUUUUwp/ N#GB_f3333 fa33ơd l33djad~ j~ 30TPla aoTP!TP133331TPfTP331jTP~TPWWxwpM5MSkfjf33333fnffa0fff`mfa f0jf0fmffa33 jf3310ffff jjf0fffa jf0f0fffffa f0ff0fjfafffffffvjfffffff֦gwW65q ``#33a"b&aa ```fp``  `a``` ````` `` ``o a fffmfmnwpeZ);k6NUUUUUUUUUUR^[Urc333g````` [p`UTRP``3333S33`` p` TUQUV`PQP dPQ_  ePQ^Uwpf#f;Bq333333 ZZZZZdddddddddddd333333FFGwGwGwGwGwfaGwfaGwGwwp_w?2`~a`a~a1~`1a`1ffafa@0f`1aF`f``Ff`wp;*_qrjknf ffffanfkaQV feVQZ aeQ ne`eQP aPao fffmafjka333`UeUfVQfUUVUUQUQoUUVeUUUfjffnwW#)q6 33333333g dfg  p 1fajjf fgfflfAp fAa33;ffifAfq 3331Fa  faf f f ffffffffflwpMMNS"""  "P "%U  "UUP "%UUU 31 `U_3330`UU`UP``nwpM*/w* UUUUUU%UU31  N wpfGBGryyy33333yyffdDDDDDDFffaxwpA66qZ6333331jfm``c1```faUUUeP`a3330aQmffoQ`af`Qo`j Qnffa``Q`c33j `a`j vfvfvfvfvfvfvwW 66330fhffffgUffkffffUfkffffgQflfffgUQ Ullflflfffflfff fffffkfffffkffffffjwpG;;6k`b`3333?birfgfm pffq dqiq  f ffFqUf UU ffFfqUUU wpZG6  UPUUUQU'3_x(xxp'x(xxxA' xxqxxxHxxGxxxH3333GpqxxxHxxxxqxxxxxxxxpwpe#fAfSwNB33333UUPfUUUaS33aQf@aQffdaUQF`3UUUUV3ffffdff``ofFheUVUUheUVUTABLOT LOR QTABLOU LOR RTABLOV LOR STABLOW LOR TTABLOX LOR UTABLOY LOR »VTABLOZ LOR ƻWTABLO[ LOR ʻXwpA;*w* UUQUUffeUfma1oa3``fa3o?i`aao`fo`i`i`aao`fo`11vUgffUVmgfwWMrf5e}fUUUUUP UUUUUU3333S#W33333#;?/3pd1V&W6G31!49g1331!33139oC3331!3333431331!33333ffAFffg 1ffaffd31ffffVfffVffeUwpBGrS33baFbaFbavFbFDbpFbFbFbFbFbaFbpFDrGwpY5~GNwf +   wpk#6MkZfFfffJ   xxdffdfj xyd`lj fd`VVVVVVVVVVVVVwp/ ; #333333333332 F`df nf` @ `  `  `  `f  f ` f`df dff`nf f`fomf`ffgfffvfffvfnwWY} wp5fww3339DDDqP`aDDDP`aDDDP`aDDP`aDDDqP`aDDDPoaPfAPffffqYjfmUUUaffP/afffUUUUUUUUPwpfkq}*UZUZZPUZ""RZUR""%ZR RQZRR"R _"RRRQ32 R QZRR""!QQ33331ZQP3331񪪪ZUUUUUUUQwpeM*S} 3 03 h03dfda3?o&Dfa1UhhhOPUP3PodfUUQdQPPAPFaQP1QPPaQUahhhhwpk;*k*33333131fnfah`11hanananajanaffqpUUUUUUUUUUUUUwWS5B}~ '1mf +33 +qfj + +q33 *33 UUU3 m j a3mjofmfawpMB )w""a19P_A1fffA1fffDaDapwp_AGN630Hwpf *;Nq* 333313J3fdKdf`d`K0`K`0`L`O@3`f`j `f`k `k ` `l< gd`gxdwp}f5BM fjfk nok ffffk fff3333331KFnfk 3333UUU FmkfakP33333fkjfnfjk%%mfFk%fvffffjfngwW}/q31j1ffqfgyjEOE3331EOqEgEqOiggfq Qig QfjwpSB)fwN} %UPUUUUVUUUU_ 333331 p q  dQ  p31 30   k 3_U^wpqN#NA6kN303PP P\UUUUUUU33333033330 00UUUUUQ 33333100dddddd wp}fekrq}`a```h`a`ah````oaUUUeUeQh`wpBSkka31knkkmkkja31kkjamk31kfkoakvfgffvfgmfvfgwWA~)*3333033331nn33f3PfU]mZ030UUUPUfmmUmfmU]fmwp#k333333333331ggf@GpFpdpfp ggdGpdpFpfp ggdG** wpqBG  wwwzwwwrwpww wpp    wpq#rSefeVfffffffffbPbVFffdfff`baFf333?bfFaoabafffbffo`ffaaF`bafFbffa@bffoaababaafabfaffffaffffwpe~#~S*eUUUUURUeffffR ^euRU jd`Rf31UFf`35QEkj30Q3Efc3Pe3eFe[0S33130`QFfFVVQJeeVPJPQ@UffFS331F`jfPQfefj[fVmwWM 33333333033fg3330fyg33j̖yp300{̹p  ̊ {̸|ȫ0fffj0 f3vfhj33?fj3fffnfffwp*#M~qZUnb3333333333 c3332ondao331eUFaoQanUUa1oaeFfffn333133P31QdnwpN55ee UQ QQQQ QQ QQ     QQ QQ@QQQQQ UQ UQUQUQUwpN;Gr~33330y33?xeyRyUxePyUxPxeyUoaPxxe33333xxeUUyxxxWwpS*M*3333333333333333333333333333033333303333033jjjgfvgkvgfvfffffffffffffwW56*5fYUUQ333333UUUP&Q331aUQQPd1fUa"d c4gQf뇿Q"fpkQ` fjQ`f`]]fffmUUUUAU5!}"L3DU#`gRB1!f"'K3 o}XX}XЇ xA]Pgu7 f^Ђ4uAA߃ / . ֽ%/h$2#xA˙ ? x0xIyfI^Sx]}xAvY'81Ss xq.Hփ xBrQ./DlA5 Y>`p]AI%<8 cЛ 2g\A%脒qͭ 03w''&n]wA@F 8l a+*dʣ   dUHM1<<;/Y=xytA #gA=A W l7 SdJd%i 2qY]5["#P*m6Cw{pA^mxixWxc(xO0o(?< c G,@YrNAI9gnY x./2َ- ?2{sA`KD( 5aK"vL42MO5e 5?7DO.f-7 +?٭[̂ldpLwV<;u8d> ۢ,%^mY< uA0?2%YytA~~'/O 1!ػ4<9Gd%Af??;`kw\ R||N@z 9tA >lY MQTIMg eChxAvkDْ [I [VBxT8 / ]X>xA8vKjHLOAv`A 0{0EytZs.&|@zm98sAtAwxA&vxBGdsCB =t@h]7nI\xD\yc, ғ nxA&F xAVV4 2u1xAV PR OǰT䂌`lSz]{HlI&dVgd,ȏꑊ\-P˵?,(d[o -$d4) C"7@dKY~L*h JY 2xq xA&Aʄr?l '$Ô$H;KTA#T*ȏd?#`'T`r,@( uq xA> 'YpPdpB9IM DAE 0H  pPY0Gd8s7w6'TYYYYYYٴ   YYYYa?>}@< {%shyG7e%{p80}<``{ns@'^~ cwgp''o9?3c 3w<:4"|@ˇvϣ'o3w̓ݷu$Ͼ%g 1_2$m{s罀q G}wc0 $l3w>L~G><{p9wxg` 3wp??3w pp`c?ü>~0 ࣴs-xD]&g&G@O 3w8Vxq xAvyytA%1ϏߜϽ 3wiNmǽ׻݁~1u3 oNu{@?p=  wg{^sh?ѧ'g hg>~$_.]8O♌"^w>{p8~>|(^@ `?:~~}acwg67<8#?Q<_vxd]Ǻ~d|@<}. {ς_gЇ3/} L~(xa`w}c뻀>1<^V@ۥp>w{p9FW]=I ٻ EpQ?>v|}xysQtx;_l˙uBg{PgV?~?`݃Ӆsl Y7^8 벙Wldll2sv,r3KKpv$w@?gG-0~{~rrv,s]h]6u'o;3xFc<wwFθ σl{]6ww'6~8|i'3"Ot?l 0D ^p,0xq<8DZy&S2O?0t>< 1x hn00t:9&9.6¹yW1/w'3W̽]cڏ +|>C ox?tIIv^8~xr96m+̌ݠv(뤇`r?;aa.  hc] ݇Is(s2v=qqc+ Fu3w m'?n+'3/fG/GœP{3,@jw;vS}yƅw{åfjW[3\ !9{ ~9{̣>{sǎ߾scXcv< =!ds@](xYpN^yuݠap_w^#he:1<vd=P_"!W$ޙϻ@ {9?ߜͽq x9{w]f\9\$HDqߘϺKGY~[[̽L^?ށ~wg{t"08z¢3CC̳A/y~hg@?  0xB~|Puqr=uu~]~w[*gDsG <;=5;f73/㟀;`዗78f>Q̙݀6⊇ϫ#f~ g@º=`aiŹ߀'o6vV3@('(U{kb_zٙ\'wU+x| t.Ȁ{?%{`.xA^97d܇؁=$/xAަXEv +oh`ߞސ:]*$@`:gHCLewagvzfAVRWìì><9..p9g@IZ6{p ^Ѐ8QVGԺ/*?|࣠c sx~ h@?#kp {//h?1oolº/:<]873wn'o1u_Tn0o~/xqxat߀1ٗ\:{8?zGg&༊x;3@0/֥:tߜϽߞ3wYvvdd~^| G 80;]4xInBѺY0 ?yǽ׻ݠ1uJwd$lqa޷Y|[p ^$I?qvB2ٗ ={@?p=2 yd''ooxv;`ּz*8Y? ޽ܝ<;9Ӏ?>7<}x#v G/g p\Xwz;xG?pz K[8x6k u09}Dc  R! ; pxuMT.xd {@;Ń>g܇UF/L&s3u%#|p|a3ϳDXC7ɣ > ~|lKī#S? Ń0_S]d]?ɜxcfXa@=|ȅR#1ᾤf%0K/xO(/\R!/|Z ϢGxp?P4.:/$@~];{q<}1 ݽe]f@g=~ˣS֔sQLxrw?ۅ2 v C>L&.#O?Y??}XPaR܇@p}XT|@QAa(i9VK)fdȫ l*?A@mD! ܇X@J(a*>G܇T|XO neY?yGw+ }IxA&`Aۣq\-ۃ[7d] GPL ?Nƃw(@ŠۖayXے?,+40QۗM~a7㬾 %NU= Xɽn.ԣ ssI/ Qoƻi?8 IKHKvG9 OM/Aȧp."c39ǰ+8Lppȷ<-@jХwxmxma`Ѐɐdw= `w߁` d߁W:CJ˒#/ĖR/h Zy1^^ Q74]AJd\Ӆ}`v4?@/V6a9.PzaƧ{p 8Y=h%oĦqY!<|[x_*XB^j.n`_k^Ծ$g} | C혃gw>&|cWxOˀ 'Hn! p. >,@>-AT* (>,&*@bV} UAT|Kl ߲T 5Yb*x3Lo@ /eNipO[ (vÖ^)i(z ;,Aay8="жd\/c\"s[kɶc**À|% G sdHO.z`8p >,K}I<Ń`\^qB93%?8?%p]%p]G<4LhMDLVPa! ܇4,Ta܇p}XT |@y} Dsp!AB$VJaR6a@YjV)J9@[P@Q)PےSkx\-ixs#>ƁL۸f |&ù\X&:8[ |.m6 B) Zf8+*>(T MDe^R{Eh\(T8|)(H1 awqd܎:?M{K#7?Rs1|0^n3;-! pсKLK/!B @>,*!U ?Z* >W<dZ4?JR *hY܇ApAJ}XRa  ?a <@7 wg@hxp.^ ܗ |ZZpn0τWӲnk ޼3؄?}0^mKBeW, K`܅2,*A )@,TRPx{p1o.Jf|ZQ̄sG:r<(؇J?PU0ݼnTFx"G)$?q xLuaZrvZ^ uI8 ؗuI8?Pmx7¸'(." M-4̸ Џ>?,[[vxxYZ<{9.Ûy#7 8ViѺHpp8y:Ytx?wO@ <`GLD'fC{x(xyE║)-wVFϤ%vt]0UnP\ xq x/z69[`? |wx5X 5 ??h;#w,? ?} cxyΏ8`*-ɧffG<$/]$$jp7]$ $jGm_3f> Ggt>,1/Ax_f  ^aU܇E8"~P}X"a ,^>-0 ;i0/ V(9U)wpPǀǑ} ݜó 悗@p0 f^xH9`@g4*Ώ:>s ^* 8]@p/x@nxªxXVȜ dܖqx@nx^?@T$C@C:b ^s9ԣ= 9PL@M @VA@AAu3;U('{p^=W{p.CKxp]%p]%p]& '-OP@OKˣ+%xmރw7.@_s\2'WK.p9& <`@.ց ?g`;*d/x\~?  K^tIQUUM/h+[Ԇd_?x* 4qxx. 0ó8|@@3P b*N@C m/K#]4|n*򀺠K xÀAU5!D}"0"3DUGJ`7RB1!fB<:H{p.C^.ٓ 􂖼<:?Ɖ'_:> |Ūs,x| fEgyO/݃ }@kFDKzm!G56"/xRv/~70{kN99}W[+s kpe/xQ"{x;3 /R6jx a5 ݀M3vy( 8J΀>HzgnwoS `+#`^n!OӜSf\;;Y_+fwn}a0|/~7{Np{prHsxpn200a~aQ[l x/ Jeaz8 gi.6~9#`^nˣBq%sH7(\w@G>HJΠ@B [Pp/!tP7XlFO~/^!n{;Ԭߪs9=tO;幁PgYĦx{Oރx%->oX}ɿKLίT\xW1/)s!L@p /  h? ϭxP^?jϒ0^X P/Bܘ/x@PofE0nCIw@ X7)E 9DDm `< 8Wij@rW!6 ⸵, XZPp<# ~~➵9{WW*5@fϺ 6< (F @(8{ f]0 &lx"q /~7y$VtϬ~ˣ~ODHx ~?^n{@@@HD@D(8} @$v#@:!x9.6Z'js jxw8qkwV -x.z6njRxs7:eևyʪEx O] R{pb998pBp8'RL ||WÚG OwB@_3$/p6RzكpGQҹvHG~B|}',K,uǀx;4\ #r l^iPpH@+R&eޅ=8Iw2U*.OY5.4Ȉwx7`X׏E~@? X v zP0*kO'/x@X~35>PM`%z'+XS1.9w1Iоu~eBB7Q.<_XvNV aӀsytϏX]^@Lv!/,49Xc) u~I+✓=9N98N0^Hl7!m_Jמ;bp^=8B- / 3*@t. <+- 6݊7ܟu:<}'fC^,xx(V/^otSxϏ:`Gˋ; /ryP[sȣx O\  t.ޚ[9vp<8fmT+jkVA6`n ޚs8-i/1i 3OMog?H<y閙 x0 3R^̺bVW?JuŅ?ZqY+3տ΅ za8.g 88sйȮWwapBp`G8}sbl$xK~I ό;y$<Yj]8_8vHLJB3~ \Ü$t u8H_$3~8aջ) HG?/pG0w 6'%!?O?}_Χ ??>0~B|OX `yt׏ge(@wJvPPF aa٠{ )%9!e`08 {)Qrx(9 HH@JB~d/j=8Nn_y޿=<Ԣq9Zxx8{qVxٳ $t<7@l% w'n=9% n퉼9?(`ȿ]6 وdof[+) mx{ Mo{!y <彅PpK\@.pw#Cx{ qSVV&˅ub?L?>?+V0 ~)-<W<὆kkx x{ @@>@PWo\o mxVsY‹ xQ!/6퇼<'vC^^nȋckx{dEi+XF99 >(}k`X>x{ Ϗg 陀w+k nʸY]$| ?g/x僞=8%Sn~]r?f~r~d/s>Oyo k} '{ ' =7)-<W<὆ǀ7 [q%n>~s ^ <὆&g<ǻ}طH& ?Ȑك݇$<=ձ>sƂ^8Y,w^8w@* !s !xMV 5ս ҹ9K)Iͅހ#"y^nȋ xC>K:q]nȋ xfyoY .r0];!xM77=k^#?QޚpoLK؁Eg]љ?d^Ùwٳ ( 8}@Od;^Ïwp[1)qNVJH^x0Q0O.%<\xza spp }{p8)%<<; 8瀓"2|Ka1`  `8 pxvH oW ># 7@%< ĀwDŽpn:ox@hLH&x {x~v| _@H?qP~Oxvu2+8((~T 3M?ߞ` (@;m./(AhC!(J9B)9}H^忞x?KEмr x{8q8/ |?}X|p|.jC?`=ιNyt|2vx*"\􂖼"ȑw{pA4uAf|xA12AU5!S}""3DUHQ7RB1!fc-?><pЈЂxA#CтF< <~<@(xx%t0v`) $o`P> l`. \T[@Do4yH  kYUd 1 t^x ^Ј႗;ABc^|7hˁ]x< l *,@[Und*8hģ0+˙ Tp U n@dU@8hij;uÃfmD;qv3`܂ M[D[,{R,SsqF<! ssMPF< ;̅ ,Z k^F< /p ` }ky# qxFx qA# ^EE~EE`rp8hq  4?YFxA!nOP7hK-xBH`0h{1xA#^^\o MxA#^ oӽ[x^, CbYt˂??ۂ+0^8ާ睲\Xξk Nk{sxW~~~(=0 U`!p2 +&@8=g]S 0_gfbiϹ&< J/ +nrSx{{{<'!N+{ހp|3DvŌSnLxpNVÀw]AA1tVLkW M$D \[1HWK(< gԺCCW !Wp U+0ONԯ³x}@pIf8AX E<f @@T~QxKLs=`}IOjf/+'U3 ^x_H%C~Qx|s3!Vr+p^ E4|tgNTN(< 8T׏:`6@@hxF낀džs@G4 s1Bp0~_B `DD|L@T@@ ^!oY 7ccInȈ4 >/!59o8gC5x mٜڒ>[BeK^Xl 􂖼OxtA#PYxNx/hp‹-xA#^^\o bx ^ B -Xie4|.rhgMFX?|hU"9t/xLx1 !xrىf?>ps=qWI=x$`$A#?Ksf, `_?y{z<' :k^N7:n?|ԕ.CCt h !Wh i+>Hx>x]AA.4c 2kA#8AX 뜃F<XO|3/^'Y wЈGbׅ Tׅ W8x" x](H|sd@d2.{4د]Cwa.]@7 @?dY@c Šp侃F< o 7.BHڂ?`xB A#^P>f<<@A^P++A=H=<^ЈmЈG H7 4:@3PHЈ ,9dxUa-PUsf }X a)E܇Tp@0% M/ãwt.a;}Na6o/@G`tx ^7xr≯\]wwVu^q8ܶ|ȸ- .{؊,^ 0sp]P?9wHxO >,HVգ= GAV7b<,JA86P! Ӏb Av? *̧(pR~Q}XPBPyÛGG7:Xr |x1|VzaO[sd<\;m=H$.F,T@0G O  E>,AATd BΠ}X*YP*p>7P}X*aGGBbS?+ѱm f9;͏(q.䄸:8\Iq0 ZV0<,ay  arے?,?,ˢ-y/xA >xA6VYpY0(9: s/ 2hɃq 4Y@?.?. 0V@?<`BX3 /΀ <8KrCE9Y%#ppw^yZW"ruVbuazo7qnf}>.xP܇p`XJ6 PO )>,PPk]!aJ(܇5!@ ;\R{@aU܇!PqxPX >qVk[qg xsox׀xvt/-qx0O3;aB4f;3xa Oq6<9aX |ah[a2f1@, ?pd[6.xpk ns.? ?a ^:<gw*> P,\Y_aAև qqmpEcLA*.%8 8o$$ /Fatc]$ $p]%p]%p]%p]Q<~l>< < `j8Ï;k@<<x8&-DȥH=Eqph!D8 ^<>-q7x4G%a^<z+9c,2^ls{y0|B{0 p V(^7a6cP~4~@T~C^#6'^?6' @VA`P'E1DlO{p4WOW{p@.QŠ2@PO;Nx(x_BhN< /{[, ?'TYOPd? `\F/? F< /@xqd x@@3P$hw Eviw#=hīJ|4xG^/h dAU5!'5}"|G@B!C'"3DU0B!g <~%Ygs ^l[+ 5V'xQy.e 2XBq͛d* 4S/K}ٸ]d]v\n}<*8u 7\{{Tf ]w@x%=3I(ͧL^=8ú2NyzTf`]{l7?xe:x'JK$Uw8xx& >-aae;zj.~^}[ mx/ o}I)7`t ^^ 70/|Z-;7g޺ -x?p0xM`}p(lzև/v- < 7<]8G0OܮQHxQ/[x- f ZY+xٸ_ -c4dv |YW/K(@ +ԓ'/6 , kxfH<=9{p/@}\}t.ԬktŷY]1rV{Ϯbޥ'GC X+Gt ^}ڽ[+wwM\v〈[5 PL txL?}Rbtt!8[q]/wmZx?5w6 X' o:<Qbz]9ͻ3e7bV[:`Mn٪?y"W'"9} /xhGn~]vhvQ{ɂ?VJ3:^¸eY~S { )ְUZ[w/OY}أ:8|i[9<w 2jߜ|wLk~W ?d=<<:{Xi[4Ƃsl:.:].Aڭ< + @b{s -6 ݁`.? ~|w\QfeXVVg31xsxqm |j[\sٍn~Ol8-<)¹ـx||ˈd[m+o[̃75; ^V񫦁bb7-W/ ժ/0aהs|s[&`ޗD?~f  bc_W}+0n0p3i^xix Z2ݏK6`ܗ, ^˶l*xdFۃ'T B^ )ٗחOfox3`~>sμڛ;D,2f7|xpU98+zrOYmf_os ~ӓok(37ŋ.*v#7 <}; g)}I/x2TʪiKzazW 7=/7xNagӷssN%5 Yw[PKWܹ)GX qY <wC_jj?mlfewOn}N֟k z4ePyq: s!?zwsSb:iŊ ;l&~u^rh{PQmݩ4gfA}Ag7C @P'@/wZq. }.}lu؇$|mpɳmyԒ x/7N}u/x/t^ ]7j\G;>V:6*D~keg}d3~o?x3Z=9|=%r5&tM_W>~ܼu/sN<<};s Cxt9Nb84{] to n,l0 :!xa,xz%=`pΌ29M&%0[hg_=wO UڷwOd`<4 7$Tǀf;W"vG{2^瀰gXW@P~~x~ŗՓZx2WE:!*mbb,E]GQ޼Q>j5^Z /%UWnں}妽(*3}m}xۀg 3™f PL XTwV/=8` u!{S79SnytRRGob坿Sy[TVa(g ŀohwV%]M/yK@m+֗`[ܪVmE~8+%Q/EKߍ xytA%2/+gy.Uj+ kUzn UUsW@Gi@|S&<$ D.lP{?dF;$\/{q. +THwfg Ydi,>O#|"6֗<'`@ ?m(ӄ"B7 g^>qu wE\xTw/9SֱҌSn`=Ryl3+49p;{p.l}(m6s~5 E߫j"m7ܮbQ{pƲc^ _1X P`_A{6Ȅ)Xqr*~s}9lw+hxB 4*#>X.݃y{$_ȿi^U9do+ 5MdA@ϯ -oumwuV@0_}* 4S^D'@3xA%>\?{p u.cwu"\;e 7݃>?ux;xރ7Ǽ݃zzս[wM_0{0Շ}X @&t!  yB(0G}LHػEʒ t ?김ؗHI?ܼp;?.F`}@dɳ[O3\ ܗq_0 nCm7 `il Ko xqПþ+?xo@ +&(5u?`&6 /h Z "+qCddmxA ^ЂrdbYYA Ӌ +h Z /+ d:i@ZA^ЂY,ݬ _rfૈy/eqqqGm\=yoxs\ۛެ.sd+ 545l2tOŝC ~{~{gc.VW5j"* 4S{4Gny] NF*`^a{XNjיnG[(a8?*L?( 7]qG779k7q/@}^ ܗ؃a~;[(M8'TO?'Nԇ0+7[^4#;m[S{?Vqy+y*}K?Kp;̠/Yqw`Nՠ+,ÞwzrI VՍ3̏|?ǀ8fݯe&9Jdˏ`\Al s^bAzW $Zo B?%R[Shaz0  @s_Ŀ9Q8;8?-x dlޗ` ;x8x(2p¸قap.|/fy?ς2`{xh[xA>ٽSs@ ?;Pf-;(o>-?3y<4\ |m8?b`xؘٗ#oly6/xq x8/ c3C;Ԝr40u D&5 _ [2yKB0K4b_|t ?{T 2f)R +kB~z<5 ݂Λ9IXU@=pOӨsB<<fހq4 S?d,n MOx}؂@ xT%ރʫ'cb as@@s_Sk|?Geam'G!AwmŸ<:/[|qvn.@%l犞({͟ 3#ѩ s-Ǯ OKx~+x7+~@ܥڴ%ߊq=+0^=h܀[` # ?i};gl:0x\q xO Ry PPׅ5sYUPm2Kx/g & H|aVnࠨE{ }}X4n mxAD?3~%ɧk]J߀}&'xހqpO@ ۏ>:UMe Ⱦpۂyo X[7W)閞UyQ /@- $p+w/u0N5X@} x-L4qAv[ C -xu/vq$z y^zOk.6%}]ؼ/0a0/ͧ@<8<Xv(05p(%߃3;cLpdT+w,+ c@T؁[N{DpDbG jO܀=fQ'Q@{pQK:`s OAn?_ra(+3Fo>އ:@2< h&e@!aG}a}%dh"$~R+ُ(*3(*Y9xۀ o>-5L`VC8G@3wтq zgn./7pN/鶱uꠜ^m ̾$ x֙sr'.|ڿx?zޅ]w˸L݇z > tnythKz K?©p3Txʮ{ \ܹw.(7k58> !?҃49!x0[=~8n(?8nffC\`&i ό~~\Oܽe20nșy?}O}>3HpS\f?&;1:?6 (|i tq'-I'Z/p2xculMe|kVƵ7{m|wu=%l;fa PhXdVz)3A7ǔF3~Q7n_;ְw(i/6~&/<(S8ㆸl?5/Q_Sy}[T]ďV^0[1KcܗfKn޵i7:(̹;`8U4{b E.,[&3X/`0ޭWyUmzۗ;W(t<(gsصO+Gˣ Y>*,8otkOFaov20=Ԅ7+5&2 UU27W= X>g>D??yunumء@*4P_Fx;=:4Փw +: }I?GmxjտaorׇwTb7.#{˃;+Tș3`D"ϧ&gjy{_*&w{n00p;0`>49;YO?νty}}{e؋5}Ezn ?Ut`6 l |P:{ 2ZɑL?{ߐu&DQgTzϵr/;ղW֡l ]@@ q~(ڀ`*o - ЭЭ// /<JNAO B?< NA\Md,#!/:N?< NA\BgHy/?<NNO HyV?< NABHy//</<KNAOBgNAH"O\0 fNi Q?gLN## /|`H#Hy?<&NN\L 9N yazNuLODERUNNER CRACKED BY THE EMPIRE PACKED BY VAPOURlodeNSHIx,Lav AU5!ffajKad.#"Npw!Q&N%aV*Ka~d*><|8#zD@DADBDCQQHQLSfpw#QLN[NurQNua*d"ra$dCv !a"H@@Vҩ%QnNuf%Nurf%AQNuCtaTxr1 Hka1 Ag"CvtaTr1 HaBq jD`rptadpt?aBC@!!Q`R   :( `(|`*o"mE$"mE~$Ev$?<NNTCp"$@2<}BQ?<NNT<gC_9CT/ ?< NA\B?< NA\M8,>9@AE$E"Ra@3@/:?< NA\*z&z k -"zJg$BёBBJAg<f``&z+k +k+k  -"- Ҁ+A -Ҁ+A -Ҁ+A "A :d$@*@$<&CQ"z>$:8(z,&LNٳf0<BQ"L /INY % AUTOMATION PACKER V5.0.1HaX AU5!fJaLKaF.(I,I&N%aDapd*><|8#zD@DADBDCQQHQLNurQNua.d&ra(dCv !a&H@@Vҩ1@%QnNuf%Nurf%AQNuCtaTxr1 Hka1 Ag"CvtaTr1 HaBq jD`rptadpt?aBC@!!Q`N   AU5!|``gSns"E#ɗq`*i,EB&J(J_؄3+'jbt:=fa6.;4`%aƛMb2k;[p` 9nA0mПЁhB-sNu_66lR2YSrRSO$4PJ4 B Ѷ:pJBkQ7?$)ԩ .&ҲÜf &<(`nր _n&DЃ} pBg@J4DhV.B$p# OTa#7# X/ / Kov,MgpJd%gKq NXO?gVLNA`|``+L_r4RUNNGBEXIGEZ LA VERSION FRANCAISE ?}r& /< T\N @ PC_3 5oX@hp#X/"R?ݵtO*Rg\ ltvEbK\ږmTIA ,L&JJU, ڏ4G 3id??iAXOx"Q`QgQ`pEf"ʃg&N(Jz"f fQRCRBCmȶOf6H@A2?CQrf@F'_Am8FL Jpg 2n lp%i`uuW^5*/S7s9^,:bnf[wbVtp7NfnX/"eQ8XʀU|Vdrn"Mfsk9-A[/ 0.a %`g=˃[ pPa\h ^=P X nl~NpW!|/I_Nq;r2,dg ~0[֨F5nBp3۰e }2NgL*nѭ/7pckx2=0l6RrfH[*W%hYrhDZ8zGͷg^ps1<aXX B@*726HބX{<`x~P{[vSipC/.Ms$Z)P`uhu0gZtg L07p d*rPV<3[̄s+gm*V XaR-4-A K +pSsSf1V``z Nqn/07SK`W'N.4\X땶bb^+g|g L 8'Ur[ R )-Z5%FgUfJ}fsetu:g HJ=2mJgn .|fXf(sW+\܅bi\( U4hjPb& +a/7L(a+eMfw [r`lUIW# S[VN Yx'M, lf")[+|qzrf& `$B{ΉsӈP d4{KHQ^S_"|!%:uAG"A盰C 0}(PAϐFRu fd2m ÜDjt/q`Ė)Fuq3D?kJ``-})܋nlR@s)W@f3x-qK=|s8̮NE0.w)ubALǠZQ2@-,myҀfbۛ$6ITIr\R=Mnv@QL>6pI~Yg`efm(lTbj++[C?OnS~.&0TR`M|>.dsJg }T-5xxȋZC^s:לΒ5si 몞t8|Z=zr  B8xWΔs `{`$Cܑ*đ q.Zb64Lxk|eXp.[pyp^q+ښu'xɚ5 BfpWSv 3=| nlDY h&pe d xFQՆe 2 o/m njM咚}H) hhWQ>'ѬAdnf ,APdlgwOq|n@iVpoQ򞓫"̓4NE;@Ontk#&b!C(ׇl \E8x}0i< bJ R@@.NǸLЁS@w=(.gZ=|eš r5fo̢`Le\$ە};ox///KDHXhYX窜.Ll>q^dm2B^;w0:Sܓhb+͗qy3r3z?3m sJ2>Ҍ{"3-zsfBxAB˱ osa/UƊ`:՗/xwjdi< 9XprX_/2 xFs~y drL(NsbF"RMmVfl7e["gJ `UtBPĪ@.2 x7;2ww4*r'Z*B*vV*e ޑE}`/VXiHE#.*oLqou3'<Ȁgw#&Zs=9^-u,xƐ^w)Hs)SjPa< 0nڱ@ me#uEAyH9fp;$=('R"p9nTy-Ҳ jl({;Yy`̗;`ݡ4z! 3<x ool1QldXbRin m^i깃xk&uf!5ˑ Bx~ g@xf^bo&|+lf+ 7uEo ln~so oғl]qh^;Zаg&6_7[xxNOȭKj7OC:Kg&fBRK}qHavoJ]c袜ۺ&TsgR>q/f}+[u+gv:r4h!\$2J|wru`oUBJ)gTdr.VkkcyH[qY֨JHQN* TQJA-dL`- kKE{ۺ.ra. rd@{?qx\vrMx'00w&9Y).3ɹV*ZCg>E2ɗE \3m iapBK r9xWf3CƍRD:W+U 7`ISܫVNA0&,hpZySA`m0[ TJX"pkpx\<] r/Cғ&#G2vP{k7ցڻ4%`MpT. xu hsB(f.q?"_'4UGJ-(J]֥? Q9X6jF5,Y(Q;(6*B] g`ab/`J70=}JRg(\d3JfJu:^2a͛9Bҽ[dl-UM9<oe҂h;[ԃ3F[ %/ FE**%gi l +mM䓾НIm0m"Z2l@3賅F*g ^,3m4[)^@n klք=-Fd^>ˁu 0~u|Bub4s?N0=O Hd6| u#"Ay8!suw 0+d` dL pL=P8s ;6jYoB`Ma D\G@f bmp `j/]Hux"^c qBk^Ea97n&9wD{HlpO x՞o9AE  lp d0(9o0A8xW\ T w>Ls"`- fFVm?g*-wظ$C2J[VAOܔu88ŁsQ#gP@8_ڸ^\7YSj la 8S:sMxG]Gd7ve炰XwJj qά-Vtx o຿=lLpUƖF\mQ,|o&b"9w"#=! 0W{6nFFPJ,PTVPJƔ\a! XCH5H5H5H5ضvϾK@2f'L0,c`{dpu/JfR 7/ȸB N4}0 1ԝ|'LN`Tr,cj5qpm9hFx!R+`l T3q>s /ބ8msڇܞΧ#3{ȼ۳I\Vf~jfc3 @m n,m Z\#e<2S{gsDq^YtXNnU4q~F@;0BRr$AT BMt\&V Cvk /l :Hh^fr0P-fNGL@5:Q,jTը`N`20J`B8<+` `#WͩXB*cҋ\wԒ1;F8&Z.8v@4:bv70~WJ7jULyu83o$6wVK2l c⏹z[\1nCpq*2saŎfuX [a+lM#xlv8~%lS2Fw5WTa`̂΃ =7[㈄m f݅:E[P̨βdyňxO`%,ؾ [a+lǭŶf+I}9ۊq2V d[eTYwVhX5dg(u:4Jf$(6sKH\fg7e>n<3*Sʕg Cu%B @El4¸\gR èuλu/: RnsU`j: `9g7E+< AwFL#Vp{#5`"Qj"oWt+ y~RU-x Ď^֓4k!39hέo0.*{ Klۖ۽`r{d(n5PhX N3BIܗ9cH6 ?B0+ "xXn - f+Zf:F[0C*c^ag-q0S "j?/<g"0X漊X8~Zq.fefff 1bN% `$6"{f`6g8r @o|*o, (Ua&"Le8`z`t o|/``& `Fȸ H{CXn\6l2`V`57Ю(J@mL  gՐͬb jwyF4]#$pk\zХ xu\.cRW"s-2W"s-2'R ];[7Bxp+Hm4lnN΅*#QaZ֪P(7uS fw nOH>x#B%]xvj0-@/uW`װ6Ʈ(w /g%?4/N?*N\<,KJxF 9-CcUrW!Z l4W"׼ 333Jffn6+x .ރ`gHER9j~[pa3 u52x ]`-f6.ufxYqepD e(B$nZ2`΁7=n}Y7Sk/kpBx Ե$)M m U76&ou R @ީw؀G6L5:ѕPDoSf&xeSg(e8Wf/߅qpf$p]^n7ƽe}[l6"cl.  An<@{.̖tXc0pdYJjgfJvfXLsN3VEKx?kqA85axVl lܰ"S9`{t.r"e݂s6umI<_6r` { H$͝n݄Jo nh l B3 +QUv ,%BvjgL] xQ^`LPLnJ`DO4U۔U{@?q&R@$E8Jg2=д0 `W]`Bm@V7@a`. gn-g m#u5H`}W!<ڍ2z['/;~`$d."AI/ ^& 2F4xydz+h}X[]KHqfS4S> tP_B*txz3d0njR9Lz:`ƭ`+cv8M @<%tԪ}IU-U.f"x$9<Usb)%p ( K /"Հ&ZBY|RKH/`"$rl Q>^)%~K|}C nT˵eͨ6twr'2!v&9 kpU֔p nBl&<̢d0sJ86 -̲gL3JGf昜E%`φDDq.RE:Z"@7nC$B5 p.(+ w 2VqpF3s8JcZ_mM#gB3clPCCa"4s08Xn qB4RB޷NJ]A_/w=Ban<@/*rCxh å56oǷZFTZ$пk u b@xE h 'T8YM wbfBmș' Vb1rf#n/IxF~x|$~׆OV: xx?`c4°r3S}3 =A=B/2QHS{j`p·HƂAlO, t oidU@r\/Hus t*@2X\(xðpV`88׮ hݼkvWiuT3t pE:/G}"7mZ-ב >0@ 2LL]Anx#?#5 k0H2xH?>`΂rnFJ}&Ebk km 0,XW0fB}Ne8Db2b߸/UsӸpkqG7mSgx.fC x5,&4x'ZR=ntd*f$1N8m`sǺ`l6ARGo˄u~Rq -QBg]gHWgD=cc4\|8'?cgz:w,S/ke> d63qC%-$`;1f Ѿf] x5ARP7\i b45Ӹ!6[;L `¶-0M$v |^KcH{'LdH4^cXG"d }f058Q73{`// a2j @ $-g l}(aYY>KwB*-CIb+_5#Dܵb f>6R aB c -}[&̠8gxbWS'(-ܜ- g[E[e$s63 ^`7KuŻ.kgd3 GvV͝QjqlXH ynޒDSDy #JUb$S[S1N,fsR2PJg3rb[z㇌ YFDY[DFq$^)< cB<9t9WRgNo`6pvXxP zlB///x7\}0p.fr~ mw8ϰc{'}Zd ~ͤ9 cRUNw\UW/&bx? `N|fm"v°hcL<`yk/yhV޽f,ܞ /oSx4u)jsVx%x;Nm.ZM5:3ڌIn@v<ҽfEYp,(o9o36j8gD)l4}<&!J@gI q X7< "PRة6]7<[S=? ڔ։ـ*H3;SmвF0U6&` W uVRp]U.™],1PDAbDv6bd]R1>@=Gd!vHyNfNY/ /M7IKZ˗#b>^o6.4g'5ctxK1F(-EWf,x>8egD8fg|pZq)0e )0@;#*x=@ X:j i2P . &8 ggngͪr>v4%Ug/oTgScZXG,Yggl5S6u l._f[b\bku^L` "7f`pt*ni8Fbie( npg mZgf Vgͣ5zu`0t~ܓt {Dx7 ŽcۍF{٣or]v .h#c$ރ63wd|PRc`6ՀXyJՀw Al2t瘲f0Rܰ`MIdz̤m 0fn39ٹr am_m0-FBJ?f &z` K|~Mi!H׵-Yk ͎x 1]@ϲŒp6fQinI;x˪`#X;˝$y=dҀ *, W ^nU3o|wᾝE޵OQXh=`kxK[R@4nYJ`;u"9g $,ج"H9lg  l Bl s~T uKjĪu Nx/],u_pG "Jf=όn+JfUm>fr;ې f&1A:Ě"3^l朩+AQ xJf ^MXu_c`RfZs2c>hΚSrm{c"nbEig⦘Œc3d zn6<gR,! 9I@吴O]2L+-x/fg7xP:[bDyF{-լ]Ժ7SJnPNkV.i`*&Rq\2HМ|n^pu vW`gs]ipgB,ng΂ Hwy2wga=+ &-נKVbcpy @z֮#+!i9@*!-)h8Q,hA#R"R$6V b|rR fA$r O4)-Ppސ "q`4HmЁfYv H\MzXx.-H'd O  ssհ 9;XGBt~uVw UT`l9TfI(;D3+cb2@g xVd6dy/6zpj{28Cc̘fu`,ou˙J| ~$Ef[XoBp\'I Y3iNXtINBl_B[;8t%zE.p 3Q+> sހ ^tzt@r6n_rr (N͐qV gfa0-ɳJj_ bJnk_YU}|P΅uh ^V<_j r<31{gp[a~sroZkW0瀷Μ KL|D ()N 3mKu:`BUvwr24Bt=p*=BXP jA%B7)0S2H=AfJ~fgpL~0n~0¶8Bar;a9o_ivѸ۞qp<k>%8]1[ "A(^W60BS[rJ. g"g`>קP s`>YY0.B9d)1#2sx&83lV:Za릆Ӆ [m{À 3 ށ4X|kƈ}xr pj`0 r[ڜO` . `9: Rr\\r,066/B9RBTa3cl]~&XfV C+l<0; Ī@3n4 :Y]5ҹڕnrdG7Yd bj1Ԁ7$6fno'8H{s,#x Pv NgoNz= xpx54Foi pfO)"p̅9kfNz2Ս@ըFu(Z6 QʉY bj T%뭯F.5*&'8hUVZ|Z3L.XŲlremnogun\p3d2(xKB BtûL0Hy)tvxԭBߔp`ytprqrs] Fab^NދGeܓL \y΄qRc87 p Sxl>޳d70 e܊K5q,fup A<qxuxs/Őgp444ri`$<3g4ft (~,%,A;w`5AJ/Cd&Q;FY / rKt2ɗw`.g&fp`B`xߖqfs^ `SZq+ m0w)pfa`63Ξt"v쪱x///}Hdn.ߋ7 N&mb?'DdpeYTLN5r3-r4"wA5˖l̗`@)X5v 8hWHr5"2"%*rfxn 36 ͉@2s{$L"` 3|S*C7fBqY6Rf/V0Xݟjz8L 6lG\sA{ :bRmv+ t/@Tu}0(8HBoP"MV A6?2Hl8WRu[c n`(J!cSgpS2R-AF.W[9ηvggN =HAl֖㝆gtX pRw;(NƵ NJu1R"@NMf`ܜJ0fs˾tNq35g` <]r#fwjΨm%̮Vk#m%.A.Mf ݀-p3[5Ŀ3hQlR/H((ܠDZp=nngBpf{PfQpB NxK9kpFޠ6cI#,y(fNA2B˳\aC{OGqiCan'open stdout file-4,JyMxRf^G7ab/;LZ`=؀wA/f=tplTrrslxgYIVYZJg&dYERR~ZqQhc((oHweltxee셕`W:0VDHH᯲Y̐:'Ȝ딌óvX] MbBss&ÂK)1+$nv;x9!Q5. f&HXxX^B`"L.74-/`2: k'^M+gT` TXf""PRm3R<{l^Jj22A3e!gp,O= mRFvYkD ;KZkK 8': WVWgNqYLǺͺi+ffI` g-s=wJYmgyD<` !h4XiZds g2")v #Afk"QRr`Wԕ!4N\an>e"~ `>ht0KUKق 7J@g%44qX 2+Ap !pY!2,e-9;> 8`D3/ VJ(򭳌x p6"-H]CJ~ "{"Ĩ8wRѨIiǺBmkbgx~j/Qn/7Hn[j]c5=knJ`T[[#WZeeLf( -fqe$"{0$&Ben.obp`/ f*@"MY#q͸o̊=8llL23 [9#!>a9H<.ׁJn 3 <;l~V|W&)l$@ߪuI0Ę*T,ж M"-C?찊c&͏âf& |~'@ ޔduf8ck2"Y]Jgf *ѭx*d(M-w*Ux V(&'G8L<{|Z^#jXugƽ:n0û6؀+B7BՀxoVZ f xg |R#AjhAef `2r2aՄjUGnvC)mTo,^6+7O>gU u kidZ[1F gVf"2r$4 pv,`4f&F:Qc9#ܾ 6#sXTn>tgΌ#fl/ffZg`fT1SJk:B2/dD)gp/ #7 ,S,ARqxc6!2Nd͍l4瀹/Jg "(f @,(ۘ`ݒ H* zXM AoECT1uőayJgs |"x'p(/љ` #fxY b]ؘ [aĔ3Ț xdV l p>*i8fp v,K6?xM p B'XY€: 4|~nS`p}|Hn|>ɐ pCP}B^`\xYlC~[x` l}lF nR`6U ?jgx/p] p@YDXb|pNV T/.pB"N|O-@#8&pXJpzɾt .N^ƯkJ<4 Ƞ!JjC D4QDl#A4fg@l8Jl =2\/v}$Qژ$YC AI@ZUCJAk|Hh`6pYAp>SCЁdr2_H@A&$ǏB"C$&eCHBЂ& $/iz o 7fSVcFQJ}Q*1*Ʉ*٫f@9ރrxdYFnjrhcArhk:| u~@v O0@BA 1254XBB$0/mK?j?(NNvi+8~>>0||#,H,*Ny* YbD&W2.W? Bb0qBJq k"Bf?/?@4&rO~,?@,JGj:<dSD{!}C^Dܾe6+BQ|"`k>anW p-;*fg  5(ACEdp+H# pMcPaq#JЀCEGI82#l#`#܀<<<40:<4~>A6ޛ0 .p:.<>8<8:X`<8A'>HS0XO!ׯ`5IKDGC!a[Ūfg Sf[Ƿfޕ~fafc.a{/vq{DEGI@p0000CuR]{٪pU&l, ٳeC8Cb!2/ᑟ _AET{0< `<*d}M"B|@ !> xfZxL+r>v6JGg W2fbQXJqC Eݱf:6(ĿSEf z:5g-Z`? x 0oJ.epm`l‘κ4fs2XO`&xh 5T2!_H<4)Cy)A0S@|.~ DR,7:pr*Lװ ;"9#Z46XZ М4p!uaA0B9.*则:#4?3 <9aPnlNq'j'lWX@ @bq\*v*H00[HmM\ Rh62 I oVr"[d l^ʞ)'K?63 oisO}8@ ?"$< &(JfJf "Ry[m| Vw6F Z8gr z ,'HA 20|o.̲6oZtuA]+[0 !/Ku0 :  xA07$uUDGWuE7ズ/F4u tA] ꆸl.,n N .º!&Vb\Mq *-¸ɶႺ"Kz 2bʰ&&LvlWem؁UwasUY(]V~YVdp`W xA]xA]6utAWmuC\ҭUw#܁1Cpz yրaEw`nu*\ \H W+ªln$=XqMVd7r,nnX+Z+ t9D.0 5 ܃ tp+pM6  Ju`%X`l .n `+poReMփuYRw` n"\Aō UsMd-Xw+- .L`v +,d+pTb.-5Yd X`Ve}X ׀`[ \5Y]v`\ Y- \].ʼe[ຬʊ@%rU˨)3UYMqɲFl[ -ElMv  JlmPg-[5jP gb;A pw %H ;Ryg l ڴh O <m&fRlSckk 7x`+P3Ґg@݌@fNB5A]fz Fߜ`Jg*ZQT@p69/BZ]@of kL*f ^ 3f.([j5&f(ڨZ 0-Tyk mV"Xg XN۹V\KkfA2s<0+B0!8Ɨ|!g2|B"#'Rʷ 1V2NsIs&Z0A:)i.쳀Z>E`&qp[ƃY* <#Eg"<ܢ$<ȴOW瘤DjnFmFU> gZ3~53{` #( Y Jg / "Qa"_X`9bNSAFS@NPFoJAo_n"iEgObmDD|@@8@2 A:A$RNr?-OC<4^ELE\QLDG <%,̒0 =ͽ6$Mʎ0 atS2Ga}Đ4FŲ 4NPDL0 DM4E2CF6 8;C*e*506SC3HGHS@>(G7nl(hDgw;?q R^HA3i!0x@y:.Zfh $)," fB{G,BHB}*FHF?" f$…,$//!Mh1&H. $,"H@F  QA~qB8J388&Xp0+ @yeH$q%Q9dZ7jy8m>>ζXC " eЉ ` fV | @|p@"eQfm#5૧.l` wnPYlg̠`PbYrBrXF|F%"~;C"~p,IgAZps7n*Յ Y3lx $2u)JGflPnd2IAJjB4 #iz-KX"3Gsb2 to=CUVA f r!4[ s^0jpS@R3Z*`r` `ⱙ]2SHB7r `MHJ6"NNT @!&יB)讠q[ #1#GQv4k*Jr74gnXZJ/~YLa(v5fA?nD΄07gtH>ɀqYxjٙ=`XXfD.T :+;jg(4us1*gy`0\w ˕bęJ@ej MH@H-Pq8K[MxZ:RB *XO v@ .6A#  QF$fBw+ O!Bn\N@`flHxCX\%fA.Q/, P`@B8A J5j 0 .WHgg\O _`|wIoy{@S@2J`g3Lk (^B oA ^'mPfJ,X3p2|n@`' `Ysxܢ.&A$Ij K[HJAX͂ /6A0TH뷃ualzIeRA`+]3%M'8XmxK ^<h08»Uc,r(LسQjL8Hpx "(E?L0L0|_!(`mV#ى0,dR3dmu#Ud10E ,<=m\^;RJ{\\ƁȔ&()>$HCF8?Yr",OϞ$,&4f A1(Ssb$SXJg m/Mf#+-`$"H@V iFCQP TX֠@AlHS(S $E̯ J1aȶWv-X<&>"~xƪG2(&W(np0 pbpXH{-[t psrhpj$xłVpPctP& \<'B>y 3gdCu8.}l Q! "Xp ##(YZ#@ xѲX!7.^J߻4$Mdfldz f6uxBӓbPV9GT/mNN\%o-Q "@@AA^Sjߌxz<N, 'gr]򘀵@@x~_2a46SA Np3+ t*ӢC`jvBC3/RG`g <lfTK kV|0fhHP[|?0p"H23cdt 2YAFQ< ȝ@fg |,n/nLTB@BT8#'3.RH$5d!13 HĆk$Ci:d?0qo 1TFb=8%+ `!^0<%5Bk)@mwT&ٴ0\ rs0AdЁ#>xH=l@`vY.鲙f gfX2R=@z3'#ʂJ0C?w/ JP?v>NAXJ@kdk w$x\9N/GiHNHp O|HgEoZ9gMxxvͼ60I YCZW2LB@BA'4rIRA2T@ 3 fBGa-LH31 GBù(nt5^x]%F /0j0o m%H#5 F}o BBi4 f·Hu_` % MRE0 [)0TB B fl"6(O~, &*i xZ|~%Px 6G^GFHE??NNT2F@~ '~"H<Ơ.">Qx8.CXf|.<ۭu fJRRJD gKž"~ $ G!#Xvh@C\nY$A&`((!!A$HB!G[lCq!\1CHD!C!D AQkJT<"BA[<^4uA ]bEJf$ H?> yx<?BQL|Nu ?ЋKMpknWB!Bhe7@lȖuh!1V1pJ   q@g!0@R#4E=j(s` 휴C&C%'C:%COCd CyCC}C-]7: U !"#$%0;FQ'2=HS&()*+,-./13o6789:<>?@ɟLGȴR2[Z?W088>10020450142^,ysTOՓ@EQBUFFLdFET"&OK-XYÛu53D:Uf[gVG37+a'LfjI#EZ LE DISK SVP¿ERCI BI|Ldu`VOIXP?SPL/PTIONDEMO\wxOB 7 U3BH]rP*^ B$?ZPu:nb39։E]c[`*Ilݝء?Yv[$%v+@F[av(Buce,D9ЀYVd = hq$K7lMTd͞ؠzVP@e">֎ 8TdHAUTEUR*8bOo7saUYUYUYLL$Y}& _B0V.Kh&vHMENUtuvtzvwxyw{yƆ~~Ȭ> PB xA Qx:#@ QW* :ujրlRx@Ы 28o9 Ǭ#!e# )Aމ2j;QD*ST*ee@n wUB͒T7U VӪC#P~>1&*/8協|Jz*j V iNs<*@\l8|8 P8j ^LXq.T`!KUf֕hpD}f3+"X g(%  __x@PIȚmVdMUgȪȪp$tvʊʊ5¢&v[k?gABCDEFGHIJKLMPQRSTUVWXYZ.D 5scores.lodS.PI1͇NOMNIVEAU{(SCORErEv<( Hxw l-0gr.G*G^ C_9V߉kn*a"lԑ sE̬b,VT ɺF(Uʨc ͶҾ*IdY:\80]){~j U6` !;eR!PQ@8H@ԃ0 JXUq03D"y^zP*TP>*\Tv UB^H(Hppp0; hHginPmoKjgmlMioa k9r@@ B"@B-=CO MONIT؛ HQUIREDY 4bcf0I00L\TABA.LORZY `bc>X 8 H*Ȏ!  2#qg: n $ Xq"XS0$JRJJ870 .2"- I-)n0y*XL.n0*{0]%BX,C)"4jaY.#s#XP1H +`.br3-"Y™Xte3eqF @F,V̢dIx׬o;R!*9h xg,fF :ai)^TY6+g4ZDf'mX.c% x.MŬYY RYB"V,u ?C>~NQBW, l< v]R~XB?ȣ"At&CEIP7MH""BC%0. 2Va -*ya)I (h:$T , L|c)$^N;<DY;XYifDB"ͥ,D j@(r4ɳ" $`a& 8l &q($1 PLm l5+^ 2$"6\#0$t4 :f#J!0UJ&BH<X? 6 = J /(5ْr&$/>|h~ <8 4*֬2fDcf > J4F<@ F8UsZ R&3B־.4A.#""$DD3/H84$RNX' fD3x * > $ ac,G& Sar3 < V̴dcbfTXVꖸ/@s*k**r`5%eG\ Df37VN* b ;:+, q)D1 p- T0dQ 8>vP:0~$ $ ӊtP4Xf, 0&"NR_MEB4l:`B0y.@pB"42J$`$J"  ~Sj0.lR)MFts4U. "( 9U':&b |u P4WR*  $#$,,&0R  *.r  VQ`\|#7R= 0Yj. ,>r!&."   ""2HSX @@OJ  , @2  >?pHg"|HAU5!|}"t"DfW5$OR@0 .~ !^- @T7/S]XB2<!xy5^)XWOgGg%K|79$,@jˣ p4^]YE;T'>G0&"v;[E ^cc^pSsx%EK:rys3ͅ UڬV,Øm-gr xZ%ŀƂbbV5} ϣs8Z^s]`e1!Ļ3X'ׁźP#m}I.6̎mGgA`|P]EXxvfLʣ kǝ8#ZZ x6>WEo޹?NU€^/̌+Y+ ?`J!ޚ,<-1,/8 `rր?^^l؞<a\E1IЉp%IU ?JU@FЁU} @- 2,-(ٚ8/P1r]q+@ @ ?x@*ϠT: À g8`Rӓ z:f ^L Zr./p܊3x/ 0܅`oAxs6sٗp٭g,i7 Y"CR*)0k/ ,|x:sA̷0̂j!g@?rY)EJD)x/JRD)RWdo7{afGXrq"+xytKx0 oR&  ~j<;Փ<s眭`)!C>pa&g,8 xc?'W%<8ɟI6-y5x /67gM ^'[(~UHG]^P{FƂ`cPRofoo)x3 >@@o YG$* n=\̗>+ xӳ~'{i`<(T<|7x،Pvtʎ €>B8hbF;w{o* dG ߇w1=(pX G;0݇Ij((&~!~ZO0 LHUOx~QxQLďzp%3p|8؄ńwƀAg ;?Ā\Y0Op~!zv|`,u3='8%ȿQ'x}XBif,)7v̊ZqY0K/.a 0źk;,s]YFDz" Ps#T\6x΢Fa; "Y-dux.?GGt"0 |ߠ_VUWW"f7EKр7G Q;6j EkD^%W '(dYG~No<p Ni6rY?`bi_Z<4qZR?ګN P\}dO`mU `D*F w KnxN}=QPlqM|H;e|р=t ,x=`,gw3oØN>f30{=*Q0* kpoYEF xX̚&M8W5 HC, Yހxwh;}\h ))S 8`72j!fxUv O {OPUU-FjV ۋbr `x`Q/?PG,tIú>f 8E v97@ 3FkI 2;@g|`l\@ˣ 3 Z"?(y,1$b~ *>jk/슙-oy}Ix晏Xr ?\3>üb(5VWzj+֮#;Jx.!d̪l@_@UE>̀ GR#YR[ \%*\#3*VU{F@)t_ z 'ppQXV5b XUl@?@qsAUy,Pپ U7}PU*ɫU@_lpٮ|׏aȓ8 8,f $ KVٝ=8 ŧʷY͢0:ytn,\.1Ѐ=f 0qk ,Xr@]1H5=^5AGn2p'{:Ə4'6Ji@#OJ+ V}ZSp}vf|_b8+V8G(*[ skȂ?u*{p v"1/ܾ$9Hk}X?RY%]?%z`&`րp֏ZlVۀĀPUs2VXYA?YUnYP|Pw"Q^2IxI-y*XI>*"5@ո5 &<;MiZQ<;" :^v^4K6GL˰S~ ԏh-? G }kk6"Z,,?X֗hԗNUGeykD1ˣG 8׀">0/ a 5bkL /pKv@U`6**-1χȂUA L*%_[%c-p!z7aUrTyUUUyUUFUUq}T*xAUYU.UPU_1#8U`# 0:A9z5Bx q ܀rpUe@,f?`8nEu4Q>maQ`Nc s"8c:?q*?jyp`֍6Q {KDPo amv`;upDnԍ1|J’Y:7u\a~ƭ|`ApӠͮC%NRˀ u <`ᝏ_;qhx (60"2 {p'"Kf n ZpP^C~*(ãY"^j rp)\[Вw' f^`nCɟx7%/̶Ԗْ*_z⩕cz?MfXp88ޏl@C!`PC ?&|?mrw>0ȯh@Ga`| %^>9w\$كoWE}4Z|iN<7idz8`>`)x%$/򖼯g B+?åϟxv> ]>?o2eݗsP}2%%ܗ,qxvBzK"g2x/hɋc˲uٱ/^˼u1x#f\Bt,f^<0<9CCYx/h Z@a.">p\9P8pqA;iRe]Fl 8`6 r x!! !pxX9BX^Gpp E(8 S{Ɓ7}Pa0i0 j$<)G ޫ3<i|p?e2߱>pWa)/?`u1">{ c{! @ob< }MOA b !?<  (8^)!n`"[ _Ep!?CXܘ7zSlK^Hm -y%/5_HK8q<`-?q%8_iG7` \X[(z0zh[a<`-?q -0_:m  k %@ ?z|0?>Aw0c7h@Gy'`z %I68`7|٤?npy >Yލ8U-x7K-xt2m|x:s>۹M/ ?=ޚޚox9@4` ph' E׈zk ٚwnP 5nU7M8?8 9̵1~&sk s kcxccc(Ayd 11DZx(%y0Hw/gp9ϵ1x?υu~~}M,|+%/|{x ?xX2.*6HK@ڏ:`8?b9޵ އwOggggnx§=|c;~n?33dz3iOxO??R!>0`OQ5 skc~p9h5`cc{kJk 11#0`<#2^Q@o@@P?%ǔ!}QݯwZ)skc~^ 񀂾po`/mp1B1I<{pDl=J< w)By33p ^]?d=»ܬvs;?,1*t]Z'5 KOλWx3{f,=  w٬g@8j F[FauiyYjx^ci0Ɓ@sX3 ~ڜ91ww0̺uq^_̻91/p!OO3T|ӓg~|4bvw[Oܵ~bvh;?f_yj?X~>;0}90{c} Nbf*}}}}I ^XA_@?c<3Ƃi}iiX _x('ҵBB{Ϯ~~ϣ+yea |@_׿ǀc;Nfog{x+gfqͧ[_qyXt?accm 9OOrĊfw޼W^qmaA_&٘qXq'uq?c+{Z . `ap@xIgy^8pn0`}gvfA_91qmal`pn`q_+?Ü[}88(8901 c{c8< Cwx[;Fx!C{9n 1f緿Ǽ8CNwxx{v{ͱD9N -yx'/%noe:83 _Q<^B!"@L+ SuOgV {\No+ O6 0|{c{&Wxaan^aa;= fCV;FmC;} 8}& {1^ ob"!>?=!)Q׻ z<;]8WÁ}з >8c{_c|,)|{xQ!"a2~0/u;,)=: 8 wwoؿ/|Ã;|ܰtx0 8x>{X08׶000egBa:}>y3>@@@ ?] A_  g]gR֌/L   | x<9׵1jx $o<J B,3>DD ` ]}׌A_c80}c{Zc<{ג2;q> ~Y '<#20~T?+5v c< //Lp+DJ^8n -ya%ﰆU(6@<ޚi=~T8Â?96^8*e_X-B|yWI;/j+5^6B?l\W&}xXލB[%b dXw/!<;~==;bxxv_}źA8:{߻$,1@M<mGg7dmZECxxrq/a q|`ɩźJ1OI xqD]aO۲,  ,oɗlw.K`3ÄJwxdt%|4k>p]=:p7xx Åp?+?񟃗wѨ`h~?`qQ9``Rplڃ%Żx%W`SGR8(!QGH<8QC^ Îq֔sPÜDIP2 X!qqj `q!xxdwXaAA-P$d.Ц! fAx#89!qx@ZK>*dWΖ0_7f"^s xK ސ{q6~x? ^c ^X}X4#=#*x6RX bW46W !?^S]}X,x75 < ȲՇU-UC72z )#g}X,QU;e1 yYmևUPDyP"0UA1"?PuT}PiԺUEKo.{PRt VA}@XNY+3iUQ'C{-SVU*UWW aW*އ!}2n>UUA:WUުz586lgv]]]48<*K29"aA GdBtx89ab2KYAV7; ,֔EE<:MN/gAf vj0΂ sV15kQ}XB*eV>,oj5Fq-fE`hr xUn.A_{pUQ5T'`S\ _7UPd}j@ s:,"U3;ԇ!y{p^qރ\z rMu Gaރ]ǡ1ʏ&՚PWQ=W8UMyU5{TupރTkTQ=Wrs'V`z\]V&x:5=SUPܩux09M%`c^tZ^@:P:օJ;0H[EjT f i 1.9`,K,V=b=UUTp ,5A&UTqP(^U}lUUy~hhG*cUAvUU S>Tf.UTU*r_P]UEUnxM4w..ӕ᷀lE#:fBG,(й@ZǀgE1=-q4 0):mN<0Ò끻  R9YpNqƒx6[ ;$Muit1tjx^ ]^2ˣǀ'N x84xM~a#WDx/NMr:r syt x@tgCVCx xwͪlCr!?C\a.!?[y⦪gҜ2gi1>nfC^1$x护[A- xZ)08Ľ@yʀZlW2`P-^Rv 0#)- qp4|NsVs 0pvJ da} և}8< 2;-=  2;mã {Ą s ~I @8?*@d PJԄ(@ (7Kc&Hgi2giI!8΂n3!/\|9 G?' {ogS~`p#"!r m/G/# u/>>`}xN%2[Bs_A@Gkۃg%s`n&{*N֬  +i<`! 2 saOR_0w< zc,ǿ $C0 ~gxX>>. 8ߛs,)Ў Ds⟢ _#~~|'gHPO_ s1;'o1?+Pè<f0.ɗZ{ -@ݞ xxv-QuFDI?I,|,8?,<,+ Oa^,lS ,+ O>yZ<y88y88/898|<88E/h  `ƛUlB< "3ˢSYs!yB5 &`pbc+HaVF!ح/֡*#Cċs?;k.2n.ּ=juT4xrPn{r֛R{:uU ^5C3`,osx؄ـ{NO.@hfTEe s*rVo\ˣ 㞈/@f1qq=]ꎟ$clp\ HqB}\ ]: `Ì?>?dn:wE/]Yvz\tI){XNAL/T,?uPQF%0Q`y5IfIY9bQU)Y[}/Rnn>,LUP܇%ʃUAAGux~?ЅKTfPN3UE}XR}3v=ܯPK @rZqNUQ<CGntU*އUWW {W*> }7ܔwUUaWUV쪭yX1Ѭfs8"`GaƁWUY)-,yǀ tWN8"3<3ǀ׀1 ^Y at (:-,bѱhr x1< }٬ >kga`1;Wqdux]ևنg}X`bV)BaA6 XP55n!t%0+XgDSˀUusi >_݃ˀUuT<SJ_Aŭ jbW;:g >l{pރBxՇՇՓ kBuuxMG]=8V~4=ׄWXQWyUM3U5pރTuT\Q0W>rdǀ`׃`>)/MNo^eujzfyt8kH^VI-Ѐm Ejq] N]ǀ׆Җ[PG Z:3; }ex:?@; 8 qzrvJhcցK?nfKrn=4$7ڋỲuv;Є`.fpہq|t]}8[SY.j xp*晖#x_IB*`W?ܓGݺET2SUPZk xuWn SMF>I4)W* ԁ:u:҈eN^E5Q3ؾIEHQc%]b@GUK=UpUT^5 UTP({nn/U}pU aw..LsNn{p4<EA\a-q<v.`\lWν VΩU3uU =auw Pq3U UWU]:U5yT{QpރSUUU5TMgzI :< jň Gwħv.{zpށ23Os:e!eU9j8x\BY[ ;ppS'c nc ށ.f0U>vpGX}yo??@ +f< )-)~DG~`?? +.@`:?}  `QtɁ5 0@qXD@ `f0 aaY>rxwp@pp}  A_Cp@A g0gd ~p ` ! 8=,h`4ch.5 8?`8d  2  |0d L@`A6A&`____AU5!"|4-ZV%,oXaVoXa8XaVoXaVoXa Vo Xa  Vo Xa  Vo Xa VoXaVoXaVoXaVoXaVoXaVoXaVoXaVoXaVoXaVoXaVoXa Vo Xa!!!Vo"Xa"##Vo$Xa$$%Vo%Xa&&&Vo'Xa'((V)Xr) FV +G,X,,°,P-X.jX./>/XB|0`zp1222Xb3,64l55t5H*z>dP]k8*cB AVBJ[B` uCDE0`~u!CKDm7wڲ+p{l/tr/q nyn^8pj`I 9z;:j؞.3˛)y=tAe^%uw(ċ;ӿe3dF  YR`&7#Ygnf72PMBU w{T +E,n@)TMm<\*r"n*NeТdŠ@@0п,`ْq?@F'~Vd'@`A^PW)m2`hlfXq =x 0V%xtEj* aj*^dڿx4Uc5?)p5?`$ ^Є7C磞EurY @S1m"  6 ȱT c$ǿ%3  xF0yn P?ٍjs9! YΏm@ p6-^/g9P- ?7o;;0bH n{^QUuK7%lff/$x/4=&{%K&jU,)V}'X`l{{ˆ!xt{tkt[t; x+tv tp p6]6^7:0?C\~!؍E)/\a PP PM6;vy /h :./..n{2Ip)@P6GI[ xS\PƳ&gDxA]4_W=[ٷd0pa[wcPmK`P0p63@P໩ 0V``4P:%p'p D`yY; ^uPyi _tW0jJQP0jPE Xؖp"Hu1 @b mT9T 7Pٕ&f( GZdJpxa/܋{`6}0A `T~UPc; Ɓ eU 2Ij-^:PU^`++ *70[oBtB3UPmP߰ZmWBp/n:Pjhf9׷@^H"@~ 0tU7PIdN/_;JO[ 0/0xYNBA{G-/ ^/P=!ބP EY92w&S՜ ;<mxĀt; x  @@pw瀠 P|ΝPp!Vл`}G V~ېtWP{՛s^0d½АD@M/ `pp n3cqzU)/ 6Z$V<1Pςw4&^DJu%XI"i5 3w:xw0pܠΧ¡pF@!qo(Xq)&`_h\Pזo"``uXq# }F5QlTjT̀|<| u|`|$o}ǒw?x1t!tttQ]PWP07/@ȟ|60@  v]xI"t!A &?Jɑ d\ Ns 7Ágˬ 4V жx55Q5PY8+9 *EO9Y0.#`<;:^Ѐpg/q:Q>8 a9a/r0b{!?. <: 5Z. oiS ZYNfػ0f@= ^k;pl9gXv]Hjf&nnv5{h?C 9F@{,`  ;E@qV9h ,ȼ 900@`64p9ЅEЈ* hZ+T@ BPYS- ЅEEuAxPp1_p?Gx!tttQ]P WI)@ 9Pp8P Bw(q<;YoEf8YPO3bS5,w89} </ 1!?QѳaXխuD ^luM + еCA(/ 0^Pga-᭰=0NAR8xp1 x[ xQ^P73 xA]% w pQ]P=4av[ϸW؁G;mW͠;^`n `*f`&^PDvhV, V9mq`:\yC:O,OF#j <t݀C7.hRf=ɺ&[ 3(#1,'^̺lR@64kzـ=p9n q ] o 8P̪LS V;J9 E`HPfgB3;b!:ڀwCw bA`{0/ q7XTHKa׬ ?h9W.;a`! zX\XA?QˊU`קOZ1^FwЫ'"Iu˰O l GV8F׀/hR܀(*WV:$@xW#(e$#Yb1<нGm f qnx)@+@8Ā-ú D-6N M.Q+@8 @ JnJ"P%4p @'Z6Dđw Gna*0uA]&T Cg> Ӌu Fi@ ygLr[t4,@FШ2 &@d @lB,x4pâ:1@my[O;{r F p. o\ -[j ]rP)2(ssigͳD:h- !887`Rzj01ڲB}ng&77S8n:YXDrOؖ 00|,_9PP/ B[F*bxj=ۃ  pU o AYO"q3! "6 [ @DE30oEvEj0x0Pp֓IP `_^(Bg^ 1` sABmJT8(@b OHs0oCذfnsbP "x$B4.) ԎS"+݂ qQ{1A ,  ] p%Bk'C 0O)y@H`g<@ x1]@aHb,@M%;+HY8g@$P@>  ȀY,fhkV (Q.  x[uX&5@jrR@pPh Оc0 x x4.^Ѐ NQلZ&EHLN̻ Pd1 #s< C(`HBP;`Px sD<$T;)xA 4!wr' D,j,@Q PxpЀ( vA$Ԁ H8hCL<  r) <.hsVx]xA@ ?Y=xxA ݠOX3E>/@] `ЀI` >h+T^Ѐ4 @x BYAU5!AYR-q ŻYDr.",Y~\sF(Dzfv5gN2N 5$$Zvb~ kz ~u8\,yxZBu#t|tt'2$!` Hxxl/Š3w5xsgS~#GP+H-eHALQsUr%gna$rWhrwʉ&s Kw s|Okllnb*kWBw@܉'u~ҁ{xʟfmAylyn{qpxyuq[sp`qzln- txosn%zwbzsvqcVss"`tpɈ -hb%ӏ|Եd"y|y&WODLq4~~*RU,+Ed zl0c (j*oC8@X.dq3["n Db IUl׺/5٢}QOCPnDfmz4xf3JY7vD}ӆgt>#} *5%24tzܰ`dn \NX$zd&A|~,}eLjl؏eUstw~KuųRcm psNz/vwx&upr{py~w}sso?(`X5o͑u '~uvxswŸXIXPrBFo#5䀭~r!wzr-|o0`P8"%4#GԵ&_dy^`͇Fԁѓ@܅*$^kumxo2"}+Y2i''-yPt|t5m{v|wryxw$wBIɠty*FⅬҀVRL^m,9XtO~}V"9RU $X[MV)*YX3.1ax 8gH{5 Xp,$ ta2v6uy=3s~|v!sJXyB3Y+?xF:{rob('{|tN 2z'|}1snAu{ʛ̽Jɓ p@0zۣvCVvko {d[XyL?I/xw +||j}r szwXW&|swQy~sywxx{, {n`ɲ0x$|!("dƁ}t|r!;:DDx{="sa'~~Yn{QN.Lj}6XŅ@Rz2ԃ}{edzIy{?w{sqz}pCyVUYxvry}w]+݌rqz۳ňyqwn{oydt~~lxrxvcgzzuxy|{tL_b_KLlsrk5mc`_HPt_Vixz\|yzn?|9=_(P@T_wqft}kI,`Z_GnKcкo@okWPm?њ00h;_YoOSZ`@_%pwh4SbIKÿ|a7`oDD`fqΰ}ϯB"Kg≯X]sV}Z{|b`8H{DbHͬPYO/H4wKPxЗP(kw`k]dmj࿑hjͨ:03sTVsgSJqS]eSouylyhinoeiohuA|m~x<veU(X Q yu }xoaIVz*|k80BQ6D ёɀ 4ttu}<{b.X',PrFzɠ|@wd%}|xtuw{p{vu=L~y#|wy{uxwwsI֠| #buT>B!Q҃5{5p0 "sM2z$X4z !dX( ^|0vz``zH|1*OA۰|,@0 QM PXܰDؘHX2C@%}+dHymir}Mwufɒ|~|V?ytniY6rqnzstzm`Xj5ndgP_{H#;~9xI=9;p[hojctpspgZwb_#{8cfP#`go@|_J񇟓ӯ.Bf[zog`aXOX{g@Nkl{lyn\&pW'_`XL{P{@onEKe`Leu]?pjFo@p7h2GiwauTooCuazP_k`by{8}>pg8?_JJo}X{vy=ohtC_hcglF4GZ}<,PhQ||op6>IpL[PWc}`f_bifZwpfpkw{Xj_OQ+@gggXVd]`PIxG#wLyH-įP\@]`giVר`ke{RQhc{ypV[pHM(rOTgKTE^jL^fu[_xFwhyZ[/?I}TOjSpW`Jy;Cy[,ۂwxb$d~G;w[fgPVe_vVOMV|KOXPR_Ϥdu\=_`XpS[~Z~"W<u{lqw~{hRWO]u:?`sKr^,PHCpOPkbTTA[ߔYog.[{jh{ltu`F~W1(j_toePKU[O_2bcot~vlgpsjwX}BsHiRLx?OdkVWTyhEe-gtwx!Y|ksnPAcRWm\dXX-QQ%>|JIcp^wXkjkt{nole|ti`r^nH?YX_NxG?pT~\JD?zed'md\xgh?sw}fjlelceyamqk@@5NO_V}jyhSggrmqȠRtSl\g}grox_xmr_^sgu߭~Xgkc{Tw]wŤiBJJXHImvYi_x^k>wpm_h}JwBsXy.QZDKctoihmpo5>dPoRFzMXa[ZPXy@@IUw[_zxn_pulx}JFz`q`bfZfo\Uy_t_~l}6{hwPgdsZolg~w⅐bltl\IIQ{iwt_^`Ɵ b5bOh^Nx[[|V*_ExWCSWFW YMOUZGqrhs%`h{d}}}dyckȒh_gyyhkpp}lXwdx`ejkXgLcPcWWjgqSTzN9EMGO[pwl}TP9IBDv⃳\fi[l a]oXPPLH}Pd_Yp_qo/nwl?r|oወsuf}go}m~v}|z{su ۑLmGSJuHlMWk_W_hW/p[8πGW_gg]b`TP`wdepgghcYHL``sX_dk`WWOb]pooulfktn:_][gKk[mWvSGC_HPZig[7GWg}{}wwug[<0@Ltw?Df\tL4dͺhOOHEA@XdsrotgO:j߳EHLsh`T2%\oxo_V@sImXpXflUHshzV^?77hho2Lseh{Iy8HP|llGpS}Om]YwBxLHH\/S[[_]oS`TwXnVMH`pjdmgOlOgQgJPpKFQ_dOÄKPPisxgO]xc_z3 n}iou_Jϑb!mic?64~DxQkh wddXf\`o?j:vfc|O@cnp^hIVkl\.lE;PPwhkO9Dw?`wzBljhrpuf{lz`\u?ĐOWk`cm?K^o\igcxdDXJoZgl[F(Jgmpehx~~spkOxOb`VU7|T[V`VgpSfpgTxqWkrspk^ybZj[suk|exwxp_?Ljo:.gj&X[tWgMtD@Xb_GA5]qp\Zjnxk8WW\kZg OiWbmluHL{dsBEEn|B)GPwypa\wsjfbWp}xohvfrdXo]]l[\@HplsAOZ]zpytlw[iMTp[~GGt1~:l_2.M|G`Ge4km`wtzb_Dxv煤DqRKuRs0r?bPʿzKGZ?Hau[QKeq{kJnpw}__v|dktOwe`C[kH_G|k`ek4DhO'fPvv]onfKdM\SJ"oyEvzYdzge_VSh࿠Vo_phoShtjO8`gpmo`O[hxKhimJfLpW9QϕNrbwajuuWTgTW(iRn߆Mdj]qHDU_l{ pcmr{lsv}^p|]Fxk.psoBspf`k7Vp {ZPwO}hvoCo\oQ1wxp_`vo`yXv`ug?HLSV}VP_n`;SerןfGhDp]h?wpdT|DToLdoEzKMhkm_\{{qd?zOk{grr_}LhgGtg8x]PS/bxn_P{ddwZsgYw^7VrWLlǟ|PWv99HpX_njHxkMZw|Zdmm{Veo {omG]Vxrk~ȟx|{pyr}kyrxW{Ypd~c~{OdU=WcbXjstQIkkjL\_?pHTG}/hHFbKʋ8GWplgOHmgnl`g`{y_,f{ZcsZ߿Mo[Orgs>Ā`w{Foӌ@_gXqvGlwyc`mh[px`}`}n_u8hߪYYL[^/j;;s\pPo8f_%leІ@7u@uW#~]zIT}bpRz`y}zaqgelfajuju[Rdodx{IoePhbTFikiBWΣZ}%n_xfO]f:tktcmrz[lRoFzwZ p&vXxM@w_WH`[˞Pfp_^T>KCsgtui_k{!ddGuyjh5U}krLP{fh5?s\PLko]wZ._hkPsz;̸`HRݨ:ڟphv_QzhfZKomqXTgpW}f|6w? =eXh]>iph_}zUh`zR՟on?tYZPaOz]BlhE}6_oPTkotvTVp_i5pglYpgursU{a`p~]eBO|WQ.KqErBOMx_tj{rG`XkIhcopmY:Opsxpx$7c_pl6dsY}oq!wNPj_O‹fp}[y{Sw\`hxcZ{٧`Z5gx?wC]pwh-O[pWQ0Rvxlr̤PowV/b]dHsLmLc†3U xs]}xh\Ϸ=kqOwOdo@mGpHO*g^wt=vSIbBmj?_{[xep|gw_l kHsOihbdPpn dimpK{XouQecXdOlThds0E⿳_{}kWu{t`yBXW8pUp]wOvsPu`Ȃ7WjsrJZRiwqgVwzPPOpY{EpWev_zqwAR\YvZYbtyeukOvjxpgdXtN}j?D<Lw\[DkVkd@t4dPO7;]|s{uy{rokTi}ge'ztnc``\gwQ6[Za`_i`{`O`YoxgMp[_zm~??HyhwtYJa_mfUzWyow{cE#Rh[c_Py`dhlppWXjfP|7k?oacy=gepxPtl_`gQ\fOwcGy[uHfInDl,wVlF_j_uPlbEe\VTK=_`^TSt8Xd4PK>6\ &9sxtvu`Vgdt]Uy`dl*dj`k"ːoYnbنtHz\Y@mP`1Blqnclo\mmlP]pS{`J{m}HxH9q_PYJizp}9$XYspy\柈otox{wseue{mUOom_ЎWwpfg`XzFlgqGP[GlE_mdIiLpaRhpu|{gcOy_oh3@sd[pLVmpJǗ`~hWY쯜|hx7nxhxo_WoehGxW]MNMIYU~hUPkC~wQ`WWvwSwr[H_cKv6v^gq4vT]f}i|mwkginZthhtxiČKC~ޙ@{P}\R_[KehC`9]pVHeEOomgGVWrZRx|{hfWaTX>wPoGXCjdls{_?oZ_`PZdU4{gv_tnhxh{qkrsu^mRTntp\tMsCP#Ie?cobp\n?Eihb|ƒTgtgv?CNm8pVkjw&[po}wsgzmn~z|`=zx[KgLpcy2`LLsMuN?DM}wp}m{{s`'qXy[z3}X_p_XWPm`TcSpCd^okM0=Jw[~$XyooOp]a`o]zglzunmf[mjsɩGKy`pZ=oY\\\vox\Wrp}POOO{\{\E$VpmoilTpH࿠ooY{lpnet`i'XKMeP{bW`kxwgf_hhztwoSR^UIZv%e1XgxiLπ5W.owdotx?hd,XoX}brssy^p> ]p9rL+pGxs4xgTtX|T]Z_IrjswxHkdeV_XZc{[?edTh_ %_whb♻u_pk`WoPO-Mz}`w*z`zoWEDgUlԈ@mZH$P_x7 6 jo@Sykokys{HP6Qs5(cCXvzIj5_t]ZlQXfmTIRQ?\zSRKL]{bG}HngZohJh^jktJ`daM{yt}xq}g`8+'j{3=%r|iglph_gQtU}HyXwdžj[LsOkDohwK_i%dgwdzcsbS~P+wa_k˧paGQ`v7P?{`pxSkX]Wyji{t_rnrf~h@gvbMK^oKǨ wwGlgwf,Ɋ?{p`J[o/irgrlA?Y~`|kyjj?b|ptx_w3vyqkĒ3svGiOxphKH\pYXWFMvYvmcOTgbWpk-k+o'siijτrZmvfXohtz{[Xu{hftc~{pV]9i_rN[O`nmYx'`7tp}yLlrOt`|ucx}h{\?prwsa+hnZWuhs#MB1BzӈApStHh[P`؀?wuLT_Hh5poGt|Bw_QWviw koX|L?^~js6Twg,b_flb[m__y]f*k?{r1buj_pX\O^``okGg۞CaaPoiPg/APdye1`sOguwys^cτ]|woeu[zmqiMwϜ?Ol8l_wƀ*_Sp{oEp8]g`k\og?uh[arJ࿙4xljmT~C{_TobvdMtoz~xZ:i|{`punytvNzWYuyG4`pdyKW~}@oJ?Ӝx㦏U9XLligZg@R粀?xeX8IhckihR@S\ocYEdr{gw|zld/o9on_g`dolGӅϠWioUߋ!q`n2s_pTh?{mSwlvPtmabG`}?Ygt]P fXpyvvZhIE+|w_x_J?Ubj]yyajkZwWghzrvY}Ckg_Ydxr^f{o?k]gKXg[󇘚Wk`cqԏl1nH|̉hTjgXv|F |Wwm[zdmnyJo{sxx[{OAwULQgm?juW??`wyMw'WU^uw_HʏD1_wz;rsWmgp_{sZ[S_Nedbs}xoowg{Po{Yr}d@WIшcP7PWnPNjOOpH_fRsZ}xXIXcz[Wy_OϜW-`Hjr/t`TZJ@[}P]Rhk3 rkoϚi`mxrtzoipi߀yspuyrbPXp\_5wOk~?tcyts_q}nehHwDW_uhGpgWr1_UlnSkWf N`hrϟoyRT3y|fcWxmCrcF}aht[eXwz}ww]epIcnn\x\h|NsgroX|[xltimtYqǕatUtV}xSlX /beZ]dmzzvkn`nSTMZz[jxopZsetp7E]dG~DwekKxrOvwKqtm_hq{w`}kpf^uhgxkkpaw W]sb_{PZjsy.Ư6csπ5|kwLkrZow?snzp}{W,kˇnGSϒP4n_`eiLiofwvo]yqhayuixeg[ihI P~khizov,gfN}i`w3tDҍR`M\w]†Jg{xwa_yIghos[UTU[|fxeh~b⟒jlo"?arrOkhyzw{zrbcmzi{)Tjpivfeg]{rfmicPV+|llշ`xnhaiyzGv;`u[zt~xviEw}xEWlWotfnblhazOwyJό|u^n}tiiRTkpwg>I{hd_na~r]sӠ@oagIkZW©8KYmsW`W|WRphm?sQwb~kolhoTlH_DGYCnYOBNe|_k{abYTPhW_Us`kj@lvEkHvw`Pj}SGgM]TU:_wXD{y<.zʈzCgVVmLUgDw[34GptÑ`⃍wpsp[ooySrcouuhH]PvedU`5G_CQnl6NGr;h]?QtP]icpdzI7sdep__[~TfuUo}+{h{c_ot``KzPkq|yxpOj0QlsTml`ffh7o~Xgo{:[{|r?{`|6Z]fefkL\}h`UyuPw}vbwxws_tiOzkmHRlT]|g7rl/pp7yՐQQ?oLkXl_liRW[1s_wtwzhs]\_lhHocmbׇwPud`hm^9TOOtXMouQ ~wcX[ooXcrR}oj?{]|py[alu{vwKW`?jQM˂fl~gP_[VQ\SpgPpbWeS]xlxezf\}{}J{k^o/ercrZKŜsaeWYbOcINkh/k5xe@rEk~pSɀHS[x\K]LWzccstggl|OrognyrMeiph[me^_\nLaWKõtI[eygbß`SXagQ#A"ySg^tGT'`wYwtoVotzag_gxd]c{˅C{G~_fpo3`OS}~MjqRwzSi}vhsp&?Kpn4PUxQ2KXj<ȒMӀTk|uesteGkzxz}hoo{u_&lRg}{^modwK䦇qUrׇpcdbo|Mk+֑txf\[fjhgtubjUOmupY{d_^b`prXe` @f@rE:%}Ш~ C.~ú|p#|z{=4yw}ʅ}zR*X}Cx^{m{tm̯gwy[O=Q]\px}h}eV}jw~uxvh}xlz>wsk~k?]gwsiqo{i~za||sje\Fotbs|w)~reslxnX(΀fuhsygV{zulptnpqydve{|n[]kvowrħn1huufw~bw=[G{qunl.emY#}nbXo0jlgnth&LlnctjY[wQdd~wzsd}+|piqmcGmpXs|zvmI#C|}_xhO]}.|XWntφ|foѯmyu׳ck5qX}`Hmaivt{?Pzeozymjj|mhQ_ˎh`bcyiovy=wzmfX1}`CW_~acnp}on߄u|qcqiQab$Ǫ|iS_Yo|oybr|guNzbhw9pPMi{Sj`oxbzxz| ?xpRsyqT"wӅ\I?z|burXg}}u|ktypy\Vk!࿉d>[s{Nc냨mL/xy{V]PFon򋣣q`RcRS7kwhlvlcjqvdrhsgpgx:vGMg"hOYVoyiPKːTTs@-Ov{׶QFUJ}+SFҏpkވXNQ~`9Hzx`Yxzmsio#_tNYoS4[b`qlI;O_{v]xFlmtrqߙJ:K~t:+}nPOvxj[]st|`TifmuwmKvj_N)?Wfoo[P/YxL_w|xfzzh{l\awt$$@Ywz[_vLWtB-T"gwٰdP(%xx}tp{imromͬoI@SkuP!OzZXm@?sh’tnaTEeǶ=[ZYcyfpA_gz|rdjbSH9mlZ^qw `jKundd|h6&ptO"@_sUBcT[gƷtbKcj@Z}]vF]uͪf(+_̐hMZ]j.{|Pg}|~XU~~bwqto]W .W`opbrxi}|mu{vġġhAMcxyŠjeJVWe_7dm~{jyqzv`Es rNCXsP>#nbREah;>oǢ~teVotP_4w}qPB^E\vn Wscoh_iz H;™qTe\_PNo-_mMGuGY~;cW\sutcRaR9{awq\n{}uw}XbkZb{{pOߘ[hSP@0Mde`]o'@'8W|8AqdcbaQzPY獔Do o@w&d܄h;oxlesyPWxruhfnm:mÔwzWy`8mJH?gɨŚ\X`2cwør\VqLﰭ@:{tqrtyOw{xRMo`nwnHcTDwhg+\RXh6~Qk\wXgzTwxUlcň=E`|cvxHezbqq|U`q{b_{L;vyomtdaNf~FmsZUl~gp0vsǠ[GVc\u1{`uhCD/jX˛1]]lO}rPGtgƜTxPTg\vhqRiyQmu3jpssB}vg{h^bSm[h_]v_ytbZpewxyal_灆{r^J@P[CypBY]vqp5]e]~~R]icyze {}}nxw^kĘT?g+2Oz+3k|T4uȠ(uTYt+ ?<^vl[f[ueokuaolacYj{M`6Ii`LxWvNnl_ws'byXoo_0W\m0/O|́@GTn`rRU`3\]^ƔLOcrQs !5_]ހGpceSozQWjTm(vcxu}|@MXW YD;mewœPY`#wHs?NTEo~r׍TWksw\By`s_$SCfXqZylUrHO~mwwbrtfvp}y[{IUeQŹ@KpT5Ƙ4g|jHc,ohGрHoghV@yxutju]痙L٧a7{x'#|\kf|l\Z🜆vhs|qZ[;KPyZ|HZm˙dcB%NupoVm\_xc{pJgZu|nbcP{HGdXevX[xv`{XJSX/ᢐ]~xBwtkӯqQ`[|bOxnwx6wfKoydE;BRp&dTiss-_VcT3pMy^iuH?d`UɡBDpD/0 ɀ_Y7c9L gCqpS~b³p䇑O]xkvP1\;Di S+hWj1wpGu}e[vupk\{b}p=֘HW~ƈ6tbԐXblZguwת?YS /e}v2MpOeRic`OpStpAU?rM:JkPo`_rZJ!Xx}l(st}Ǻ47LwxQ_\l|zDo}^^GZyYTS{py +j^{hSzp]d 3PL{Q/kJIhA@/oȜJUcOWIlwx0`LR7Dtj```E 2%`9xgX7s;\Wz@;D_|}d2;xm9ncr]27f|Zvj>}RG}xOoFҏ[QqLStE?ߖˆTXSsrɔ07olY.Tx_dYZژX2>w}dzX9c|[sUwVwά`Ul8O"萏x3yjJwZg+`/kr{s^nie}hz{yrwp<9r_wrupurt=wwxK$-h?ad:m~lX}R@k/ewmvwu`ZDY`?]Oq@t:chj=Sj[gqlulsQI]{β8+e;rg}aX?2_XWo|w<;{lNՊk}lHSjx\ovZ(lOrpmxtuYUnexfwe}yvuux|wrsy귢zz%}wxn4؁D'J"k;Ѓ@5 Zr&AEZ0jJ ق A*$}|4f\| RЂ}5~<~~| ~{{}}|~~k`gXsLoGwOhwῚ`GPSDo9;X;U8[5+3P7@OEboW gyqC\/1{k`t[zP +ph'kxըv_hL$8?h$3JJ4O|({eEpKmo0glMZ+$gDrP[̈>ѫO^ռL7pY=DTWvxebfKqdCPomRNKiPK\*/󠧲X)xp4XOkXmc_Pp;6egkp׬j0Wd{Wp0RGo4Ȭapˠ@G{LJUQ_B_rxkH?sm gx#7v`{tyz_qX~_b@ie}ǐng|LuwHKй`kr]JWgw.[{u2hsxd NASJ}0GnuUm\UfBnDR(O尐hMn̲mhOD+go``XK뷴dXz:Lk{pihWUM]ߨjWǰ_]k o+_0OL-h._#9$__b7wxOאoPXoέ/%_nce`/ɀ`t{r#aDn`[t,/j^XkekwCxoا@++fެW]Lɾ8M 'rlom@/cЖ`}ڤ\SU,RP5d63?f`6:&1:7lDW{ZyZwc೫˰ɺ\)sw~qJ^sPhkli} Ies2REL:Z8MXҔLǘ;b@jDR`&cXw?xWWXUv}l_l{tOd[b}ݰdnZmbg`t}hqDw4K`CbY.K\h^wVGQwZ;xDxt5eX?NPWnYˋƱq!U0lmńe`cdsvd<?~XOreoȈshwh(7J[pyGtم|dA23sВdŦUiX;j~sLWc^ysf6hAOqB$G|N5_lPYe |=w]{Rpp_ͩn|pWxLU}jyqlv–\͕(?x cpV`3[kvPkmUluy`>om^ɸظt4XWmʌx??m\=5gdJ=YLd3RhErdtzqknϠ|i~sk\Kd0U~QGx]gx^TUm2%1ilMoأlko3&ͱL+e^P>]ao}nld~Vwzit ]^մ|yd/Whj]|Y[kiqdoINcL}l}zO_+3ixJgq_anuWnbNem?hzYstdٰnx /_qqi|OpYF[coӜŰYOKZfaSkl]dXP0!)-g%תhvzL[p?w|Ky|V[i&鯽Ƥpsx=337)Рi?L^du2ގXwuJ&SfK_\1OnAGFz_OWR?rv[h\WwbfȨNhPW`cOzv)?}thjxgsb~dbj{X3ZdCS^grfktkfMve=_d_jj˺et}hpŏzqy]ksowpRg6mhegȣNkbi`-wpyvnxrbjs|Lc\>7IVC[sˬ{hSu{qhZkp`m"tqfp{+5PYwvsnwuhwlG8o"MkVmtk-Ĺ?|hAB[P6CX0O7zg~ROk*?{vMnV]nyxknP]qPTd{~oȇjRFflgd)^pjPg|R4*3Ugm}vhGHW_ˊlcSx|gh]ȶx7rz=S`Va_m˃xfYcu{|Qs=u>patjzy``^Wsics}iysZnnWqi_}4oE}|r`}tiKIdM]_a^pbS[C_T;_bulw䣡~xY{ТϸDclpookhX\j~zvrZGjkrûjo|hkupQWZKUWcc_wprltNg*Êh|bXyퟑq9xd6fkiwvrbbdfu~d_o}ybOS|jifև@-釡o\R[gjLz}Z_1ϋ{wkwr}u}/-GhGW[mlwsu~ur^*w'ht*iv{qjqjc\W|ckds_vvlzo}ov`2=mxp?fhpy/r;}iqx\Oglyp``S]`bmm`affnyxi_~syhefyviw|YdMKTgԟJϔ\>z`[b/pSSlkftnlamzi[e~hWzu|zvhT@HJTZa^kNӇ-jp}}协//}nabaj~ot|zgqZ|n^i|s'lqf\+iUM_}xis~vab/yn_m(y8}sypaib.Rgzzo|Vztgo"bLWunX`\\_fv~upjakuhUlt~K'4u`]z—Qzmuj+`exlV[lv˸ƥ:uyszۀ;uoushnwk{Ap{3u{>td啊{z|{fejqxM4z]Seapm^]9y<w0|y;DSVaMZ_D u* togrtbj}qm'J|dkv~vnrxjcmou~#"xbkJry}fk{+{qo+y~{5uҡgellizv}{aSa\eps}ہ2r 01svplwzlj釀Z[9wmbtBf_^aj`o8zrr~Úrbxvxtmt}!qpks@Il{ #EVtt̩ZֆcٞrswlakX+",s\2ca|k $\V|ۄyqY$z{ xu}b}xql]cwg ssxM~d,^|9rhe[cUurF,ulҒ12w!tH{~9DpMyxmmkow~2yP ρ݅Z)mYjvDsu?e;yww0vsvZw{8V o} وdinvwX3E+Vnsq`ciomq?~фi4ٖ}v ~O{squ`y3wqnnjjl̯ma[rH1us~|zV~;~/[2;nb.NNps?{*}펐c%iY|nlq"^eddjw"zyXprAro Re |s$-$v\vmvyvohgiq{tnug"}}q-$X׌k#Fw˚@xk u{Q5vPw;tv}ӻr;b_mhjo0(H]{utqoxY?uxRqtmqr"Dtzuor@~4ۛx< $\  +}<}p}m{uq030pkokgz>߬KDJ6~SrL r 9ZbwTDYX z+,wsmwG{~snsuY&w~ly`6(Q΄zNtsL;q;x2Cu|"fK }&b,{"ypk}viplxjKBBHG:2x={2fL>kO3=nrnqnostp# KAauؓYa,Ky3 q),S4+)VqXѰ Y3azspӱwu<">$NtuwxtltDdssĽ Ve1| p;)2 CC[,Gl|HU~@Gȁjtu&I!5oyb9XVBMd͓HŒH`pr/%rzv,yCnxl:XP C A\w|9^̐HF*U\&u;7+V>$Kxdf,q0M^8X6`UρBGF\UE]h?vԁvugVe`{%ЄzuvΟri2G$Mz΅IˡȒ%V!S3GƊ1ۆc2iGt8\|wsur}@ 2VѐUS"兩̈t lpr#G i((\e'}] HYsquw+6cbS"a "uJl Pr(|zHP}*Pj0xt2<"Ds#vz$xuaTc0˅ !) Vtvxptxqy}b;u~y iȓIޑ D,{c$r#-~|xw\Ry"{r"#rR|(& ؃2 C{.A9dw}f}3|''}xE~I|~x8 {tiks0 zz' ~~}zv|Odnkq~|qs쉓"oWϊz{hPvqz9qvz}mds|yazx9yϔu}~syxvs={.z=q{} ~Swz{|pkudxmue~{ skosbgldvrdqm!n~?x{mrzϷ'頒zy{jgpnqw{pfotqoz~yrwׅ}rnj|x~i9q]epd^Yet"Rލxxv~zn`t}sl^j{{iwfZty~|`Ynƕ}ftup9ehdP3[MR_T[aAKώLJbme^wy]BCU?UELe_:MdegS{ϯ}k^ROIe`VO^p|jttgj]hwgjb}s\UW]IbfrBQwv_AWY{$Dʪtt9^tXs|l_UhXmx`V`PmVpo}pe.Wx szS:75PizX`hJs|uoiXz\'峷^{xgpN$dTէpoOo|eA|YUe7sZJp^WcrtK?s_jzᳫtƌlb]pvf9%_ms`HPS?xwntTaxd_k^^4hOJg๝4I{erŐcLVzXOnbLz&xqeS_^M_vhk}U_W!xmLrhhZ43>IRTL*Gd4cŤXhtEkTxXG_hcJUm']XgaSzF^k|whHPK4; 9^8(S_:7tg_ _ t`u@$I`hjB0EDQCdЈxȀnh_ lu (0 8l-oř[7r_R/TT`%?%`/-o! /`~[&0Yį_ƔĈ}P"HODW~yO[c`AY/D{h,;' I?7зqo!nɐĠ:?-!_@ȧД -sP V`O`` (HDro`88h`:? jka03%. FKׯi`IHgw{o"˜褣d(?WO;u P=OPg`d_MO^{᜗rb;`oآppj ]?Pp:_2bzM+Sϸ26SԴTx|k/['GUǠoVhHXv˿ͰPwА,w쏍L\V@2H h@POUpoE䣞wPW+ Ko[u?פic1_W 7Dx┈ 0wo?mdOprwp'73O_ojP(WMH?LWˆJO-#T2HȈE`XH_ 򞖴=1ga[xPycmkppwR_xmldFrcuO8pˊ}}~QYuĠմ¸{}`[P\3$)$8-?oBPWvS_e9ɬyi[ZU]i̿xi?{MDGEXO+Mwph9h@8E`KC@&Dd˿gwʰkם`{eUwwzvg_m࿻OKmff_(Wl?~`@CoÔerZf7Oigzh*_`Q?IgwϩwqW_S}gy_u}bf[$?<G\zhl~[qK͠n^ntpxk=)LsiMgMx@eit ?Ī䃟U`:zzfv|ijxtsusCGQqxS??2HKWTq{׳ˤoy#/yĬÏp@?go|iRb_ZX2*6PT_[mx_b<҉ȑzJ/NAM^]raOnfVsyyw)'opXGj:qOGGP[Xnm~5n3~pthxvl[Gc|usxwxFwm(.Ykuo\\gq揌\K).h~rjYqrdbzZ}sku{X^ }fv㎀ishgmX|Oܢ1FЇe{}vnifqmodo]#z~=}eUma\_miR@ITRzBHdu|{l0nn*l,pwvr8$䇖x煎zg`nwjgǕr}:~u }p{/?l1esFb?/ounlwqmh_zd~YOҎyczwy|oe"lvLL}rpa=jSXSDN[`\Xb[kh9kmt}hч\ds}wT{jkexӒyz89qpfnrkq<אl}z|l!~5Z1g{e\cdm}umUjm'wdeӡHfc+nfs~z1yuڄZ=0su~Džwzecrc`_roy\WZ[V^tt[;h= spc\gpoqs[[hgHl^ezdzxuG}!tLޙ{ftza^iqnckldfzsv~j%7驌nuk'Д(NGjamx֟hldbƬt_w~m{.c'菉Fzw}musxˁ.Ɓcrxk`f̺bcwC*MPVygh\kpGz TshxoAvox~ix~iY0{RF̍hbd\_sqDpurjjpq,/svb|gnǖG_tok{cl}kqXvt;1{|qmt}t7~{dË upbV [z)b+lY`]XfgyvW`-k;{ ]ƚ~fe1ultmɏuSxig{lWY|y⎈xpl\܄=yeŊ{esxNqszhipgabfsljeicxT?e2Ҏ˫񄉚 =kmnyrhdqtnp{wliʓ3}u{9\}ty.+prr/&!#3e]|psиmvuuZuO.$zmsv^sy~; ~{bxj{~vmjpWVz+X}xy8J{yǓU}\jY|Sokpi_^coo#q40Εuu|%zXQ.A-_ۙj*2t x{tkv/Q0vrwevpm}9敠az qijq#lfjnw/sgo}x3P Or6VJRv q&lv}up0BӋfxtint3gpb9Atpt#z)~|`ub592z`zr 󒚐DWKtcL,hwr'.%+posɲ,x:@rc(vu|ff`(58hBY9>nUmhjZ/pqs{55Nxwnmp}w1Ifcˑ$UEj|$,wm~Rzqׯw[%:wqnrm693YYzu#wsGbO{ɉÿ֖TL}Fulrut>eQY_Uey݂*J+ʁZKW%6n | ’a+{ds|T1Y9rpzc,$9srvtkll\P&e~ 눐-puk)&g{Vpsqlowy7{yvpuzb~$E_5ywmk9!eqi{} sod䟤`IO4&tvXYpi%FeEk/DٺfU"DytytooKf.4Ī5G|ʒݖ}]aZ3g, }ي"5#%2v6D]fy5Evv" "d!J}n kCd,u|U-h ᢇZ4yz~uU.`Yhg Af5a$ +f]IzsⶥN>Ẏ6nUƈf,zaX[zڇ%KV0$zx8gX!YN2'\4+A<2ˠy[eq %zwň .qZafڠ=\(n$|yyw襺:hyxuzH>j1lHgTqbUNWJt"Jd1Zْ4ьLc p.Gs1uu73مr$0@sx[PXw~uUt|xtmyq}vv|L}umwl#c 9;w湃сeݣCq~ꁅ($W4be,|6aŚ'`lXOf*Cy$z6GpnQ"[dv𖱭;҉E$#)fcb#uikeiQYYd(fqS}=U3㭺[޳~o-jX440ÄO[CUIpA/@Td!S$ /(*U5KVfDivO|*VVgaqr% V y:"Bȫo6TP Ox3 n _XocE`1f?,"KaXu*fT4÷5 -Ga&i4SYWq_6O{rd`,ikqwgmrNfyJTM yvى} bc (}xs}~|?3yz{fE낲XmtVn3@ut?Bĉ9hʰҕZ%fr}nXi&Pg*K,W-Xk?X6ˤެ (x}dzstvMbwi1Akxxw,h9*=*KPNa]˅̐+q$Aj^c`R_x?ͱJ'B%i섯@jq8ځ!deqH+|nuܜdYv4v6v)䅌}ѳ>}uys3"$%yR,33R@ŗ|upJUzyc`R#jy2^(MYN{w?geBi/f p$E֊,Y;&LR^giВMPa-rptQ噙"zxe;!edSU%B,= LgRx,Xqi%{WvbeewxlrVt{a,^)%j,|zl(I &3+v8Y%lw suwkw$_шuezx{y?σm`4I놊/'o|rj  v9vw%F8 ە0aWwgHh _oooto8@x&"N{s~s|}`cq0rxho2^~p>H,zY/pɗqkY߹zgo`GCzpl=ssj12LyPcPׄhwI(^|H4YbCw+άB*πbk)=.. ן)[vvswf?ys}蘹{/I|*GC2cYȊIt'+E7X@͔{4,Ҕ H 7 w]N( If 4_2 %yfKh@X'|v"#t"q# ,zۀ\~_6|{sKf~v~Yc+LX%Pւ{}~톛3726q177 qQ2s9mdollar 37nm2V|tnurqnqwvy|ַ~rOgmuyjyu}xnz[\Ktxqryqxovs{xZdgiuqmyqmbQafRq _dqlJW~wncT4IoĵȘpj`&W*J}vM|y|YuqDς$3!c)Y3pupxnl?81Ru@?JJMPTX~VU(HF992*KJ%+7S]mrt񑎎15Ys½<`{qgXRF:10(    ;%06ŏGKOU_fou/2 )1җr»}tffrTPO1LNMOQNLK@80%  8c,5:<@CINOagrw\cļc%xyuncpmgaZTN?62/,))(.79x>;983.!"339=DJQZbjs 򋓲䤩Yܰ~wsnfc_XWUMMKFDA;81+-;'9@IOSSUQQM HE1EIMT[ah~y*&댊ztqic]VOJFCC:40&"!$%$&*/0 ' ==FIENYZdirt8n% \ #]ro>ywu2nm\Pdlm܄o+pqP^2[MDJP'D"䆊[@FnǖՌ-Olg dm3}xlzz9qwvus Qrtuv];z{|va~6:}xzUs{T,OCzXpkQ,*aaϬ,oC{>V_\XU1 &R:b|Z{ӺzϣE˳i ho+99)9_[3*qUbݐN뿣(?mu~dGO`T*,/1C~ԀF[yvP忘ߍ9QEysx; S#$'*>eddjryǚDZҙZƗIEJD[g_"$&Mq`1:CSbn`ktҜًlhysY_^I^wcNe16=NTk,࿻mȖҮȎ]pP8OU[u[f5T??HNo^dnKo|leIq;HzmKK6KKScdgl`_\W֌љsmrvY_Gff.n.ntj]1Cux~p]zt񸐉XĴ-qasnalf yz΄}qPqq_{rvtnxq Buwrqerwu| ?"fplHvnynkhbpx3`kn8`(JrU}Yޗ}u{juoY jkqsskr|No<?wgB{szO$Lvp}zPws9ylJʼn#F~؉qLvkdnmrV) BbHTJtOw|~x{m!yb6%[g񃃍^BȰP#-*$z||<|΄e} XYd"i&redCH"*,DPxQqywuvk0"/4eYzgps)spr_߁MɉӌIGZ!tB{되ȉpwm~lsuBr}vy}7 2F'}{uvj~mhm);x%)d^J% kOEX|wfmyhws!tw{*2qr@vV$K^cwluiu7rqſy|Wi,ER6$֥ڙ[ hQkqrvtx $$e̦%X"rtonvmutqu=xv{,$FRqfevtxoquƇ Y o uwbo}ojn~ o+[B~ggZbzupnlchqz}w'uŸbKZ";z~j |s5`udu|S{'wԕ9ؿTuRa{Mwshsr`vg}yu$R>!}rxnjqxkfu}?~EʄaY5a]szts{rdm4pvb :2QB~MG!JHuyyokxu?wz+|ׇU숖">)D._wrlr9/~°(dV hF Bi2ٿ`xx3Bwsurs3stzs+L`5zXsrnjDi19%c!3~90SmY_!L'Bj{tE#O7v!JQXp˗n]KڒiF'$~FBxrpq s3(P4 H{unTo惌YzԊg tGr|ysM-qtK bv-|sP"~yvGI{L" \XLXA|voovpDgWr7 8}ykml uxb4Xep3%^i0ax"jpsvalveVqϞ{zu Onmnoquz1Xz ~{{ygwpmkmm!Bl̀pf|zr[oljoe@B`}Vj怫xvtqnjkllnswy} CrԫpEK>IX|vbxupij?fuz,9!̳ *VKRywqmjgfg.Xz'eD{xHQ}xtnieccdims{/^Z`-K02g4|%hagmr: Yb8h~xpid`aaGlIjԆInf\`cjn|+7vlՂXfa`bel#ևI59xmc_^_cktyjx9z+oS89`\Z`en}-7^¿ Ixi+NTY`i/c}y}tbWQPW^jtx}~?œH_"ujXRPU\co}QvjVPPT]eqrw}t?;Wb]ZPOQ\bqwv{}_$\"}r]NTaVGv|:΁ڕp\FIN_jr}- YzeV:GSclithd;\L\Q<9k`_ijx~{bQWGW_WPSoy_\^c`HSTXTc7ؓlS^HNW\\WbϔbL^DSUW`Y|{CTWZB_LYVe|o}_X9dHY\Oakc):?lMSNG[wpgd"opBK7[il{zf߶`t4DGou|brozk90+X/He}mxh}wh!y=SSizjoxOh w9Yzlhcw䬐HlCs{s_gs( ?c{fcyqt_-c~Zj{OO3_nRgyyPlS{HdVo;lvP^w@h]|wZIlywOw}hKps`x Wu bOkzP T[vPUn鷑DX_JOl}叠RDr@es{77{|t>mxC_W{\=o0Pi5?n@Ktü0q(Mo~ +7oh%Um~\ǘ`/?tp+_r~'vnx'_v%ȼ1y {aOu̻˨fXw`{ /mwƽ˼!G/_~Gu}hj[[`_z/_̰OpOs ͔P{ȪLwYuӴx[РG ?VzR WĠD?J$vdwЬ0W('V]ך_mt/ٴ!/CgxvFD'Ȁ&$'JS}}ԦD;` GMw|{PSŐo8W^}wڂ`0/p#*%I[Ȋ|H/̀8)Oqpo(𠐸Juf ?Հ1W[}pզ 3 j̐/@+@MtJq _|`/4ETh۶WGld;XRVgԹB@/|АEXGKUȰ̂ pzqӤ8gl|vwrdoqhEVwpg%>}t_lmumCikpq{뤢vsf{qvpfgaNuÎ.pohetdY_{qquxLj(frnUaujg}t늝/:ZQqqkz{S~r\hngdQ hgm{ϋw։z]ZolaXZjtu-Ed}ǘbyjnedgiGSʇvqk`YY?ei7'kncWckWW`bJ/1erhc=dW1cbmBVI-դjhaZ?V_siyYB3zih}n]eZ``asG oP wnrjSYg`Zc^kz|9DbV^hbaebo{z~=yphobZaf_cgcr{K>)ixl]_fbxhivFw߉bbc[A骏'sld`_hk-y!etkoice`^osaK=#=.Zpmff`cm=e[nwV>ediXx|-9xkgltyܦKGaykjit{~^w-o2nlijjkpvAǐps+lnomn򯅳۹=tWoqd+|NދNgr$rppyXQɑAk6'Ͻ6vtrrqcV?}p{>rssʛ,ŋ^s{t{qr XwNg|U)sQ ,E.K5VirQM.V܉gAx%(v^D[eoF({#qQ:C,N[Y&jl-ie'K0y1YDzpnu u*V&($3o:YޜwxN^UuyjH\L6%B> 8\tC9*Kg߰q3o `>a{G40WˆxZ6`F7X{xu{z-,u \tV+UV؁zq=y#y*Y{d\&i1C5*okp~z$'p|"|evyZZ$ D'm{kz|{?Md!D˫p<%Ltkwrsv+pBbdTnf$P9CvxitmtX$su[:3sFkBqhw{lmqryi≊-n,Ρq.\֚zxmm}iivme"Tru+8~r/v}fqzniiwsi&7"4}R q٬zerxoûtiyqk򉴐 ِ=~|yxpenB#O /wYuEm#1) ylo~tx|mppġҚv玒$1v.z\9pҗ}&{pgl!)s͂6υ8{jrCmVoH1⒐ 8 ;{fcmk|Ernckmnuw~X_C"֗9e{رLoN+opXg:h<*2(jFkֈ7qmkhft/C@玒gVKf涇^Buhgfb`beg~:{9 !$_^lyц_nbiymdca^{ehkF_tCvtuvXtҥr`itfa`_`ikr|ۚkL}Q ڇzm]=a m 1,r0rprv6Zg=yxmZVVW^ahom?C~mlou9HkTKJZioswsronV9zsox+xY{&+PMSgxI'ޱ|ׇ}'yqmp%f pPIN_lqv~xhjmjU wfssS^VXanqsukfgo}˒9;|fLLYmw3בmg6:I|qhfkt}xt"S rQHOYd?{ФlhgpyzuH~`W +f۱zau{b ѣ a`Lhc+>xx{`{xX(1il``iFD ˩#M} S_i,ݵJ,ql)N`ze #0Ƃ藶a\ht:DF0%FdE3U:Ix`%vw2Cd 3}$:&jrS${yٰHjи `EP0b¤obE04#*fP֏.%HúWӡHq ZAsRdDBXeQb2HCDX,a$$Vd@@*xy}aഇt' ;%z ί$-]љ n(ְ $0 @F9~|{{HFVV~~6Ԋu7~t|}~\Vqwvvx!:^ykͲ }}zpposw}7u-{||~~ztmlFcqZywtbXc؀xS]yti7tl8kTZgtxvw\UjomuǞxw{wsxzop+_;Odr- kf`MUirz/7#rmjnww@wH+RkK̲|t`QSDEfzlxͱh/p.?UpcT@QKMoxqj_eV?cmf_~oL?oʚ\KZ_i*q{k`{`EztVR\q`kuvM-V~ymbsj'ROydQagi|Fgnhiuœ2-zru0{xSlPZoi{$pfkyy'}`t4_xJQriwlim獌j}}tnpPKqTF_hٟZߟd|wuqo5wfhKks|{pbgu_Unyrks p;ŅaZJfl{ zjciyhqh7/èTwT5]mqqm`[dw9{}rrDGьOx67_drlc^]jC21wzmH7ѠX@;Zgvmjffم*{w}0OʈYt@Ffvgamiq|mqy@AW쇶xX?ez`Wek}ɿ5ys3ҰJkuB\UZ_wGe~jX7ѨLuH=g\\jw|t{zzawmTG/I_zXYco~|zpLwX_X8K /!{Vq\Ï_,j(ژGD7nP73¥{xQOfvqo࿄,@{`$eaEWbpX=Ggtx{o`JAejN]mhV5?sx[xgw|hm0{4GfYrkd@/Mksl_q,ޗt_`-bQs/cuNOkqq`{pwx]њ{`Kbt2ȳep[t(cfSSg )|%?2ucg{ntp{t%y_|Ulv|vqxy{qk`jp-qs{}qx~ٕzWrrn:d^nwxFs}ufg^?d~ʣqye_dz}[⏐B p6nwzzk#douuӇGxi~{kwq`Mcq닔~ndbox o.XrԊx^VqtanᏃ}p[r|{ߏqu~vwneir_xlbca_rX$Zlu*xz{//|nW_]Yku4_^v {vSɡxhcZWZo~ZqU]Ljc"񀋚BmkilsܼpotimW֌ĿN}XC=u~tryvs(F{Qo7Y~bŏW~pmzF}mulY*n^$B1Mr{NoueLCHO]rrb@F!?IcQAFN[q}tO@+GQskeJBIRc}ߪ{ynP9B /NT{khNGRWiLZ?G)+X>wBro]MZeexvlKED(O\cypRRXWq~}QIH.OZgOgnRQue?]_w{brsk@gn}up)swzyc]\E[fj˟pnmokyzquhf\F·q3ApceQuw|w{z{΋rhhL]hkOy-l^ev,ϟP\TwxnxXMgboL?xux|msl[mps},}ihUUqkҊnewm?jtlvZV.7NW{ n[nv~{|rywZY43OYwѭT^{|ddb^lדvzrt<lHL)9_jœ~vxVUk=L|7勐B@/Uj{?)f[S_fv/+vw~rqvtzdBQ1EmvJ钌wlV^iqgJZBL*?iw;xtncZgϕsjkq{voX2G:?wþtdlbXdZ]wxggu}忼pyxqsv`F_HWE[_ohl{r^vs!o{DŽqJY@GוAvsqiマtlfbuvtάxZG!Z6OASڏ&p|jcw{ۇiolv_yszp8?F?ή~|_ves~ueqlhy_xyqӆp:KPNule {]zqnbeofo[ߤȇT(OHe_j|^g\X{etzksz3s?X|POT_v{jG]hm~`y{z`_lo|{_SЌt2#`N{qdSqzretxéx^rwMy+gzr0k\wb9_vŚtuzho*Y2"^`}PWlgegpKo?dhhw׉yuv?uV?H_xmjepMЏ【p[qrxuuts{1|`KmuQg`e}Rvdbqvm{eunxrnyxyb %?KzVeecs}'jmv|򷋑umw~yp@Y~JLSjiĿzplpd^mQ~z\$_qyl[kk}{toqpkuppn,+njYhd{LzkGY.Lc Pˤf|d?j\bv<lve`goyztD\l*/bcexb[jpbkpw𕘊fuLl`,U򞓣p_yqag}otln{(y|bi$bsf6Z1r~l߁qs!pwmsˏ("vyy}#ǼupPcypuLFzl,yU5{V`{t]ou~갹xF&DNFBjL(HT }ig{ohkO3?WiOO%K,}{w{srkalsyHȿ4Jevupcї wtzxͲ!llffjwՅWtމxRO rk%qquq2/xOxnT|â,uvtxro~gw3u7Àrq4rETvIԢwk~sxzvw˅ ys,o31+Bx(typn INօJ yvhІCʩwt- qFw6yw~G X v$Fxur~xus ygN}腌DMJu{xw$DP!%ܑOwMl\yHz|twZDD~vBdzy!NB vy{}O4 (z"yl%h\(qD􁄄s!~|rz0{bq){ipЏ~Rz~E{}y|{{ჄS j}|z|Fqb|z}}{F }~> |}-~}~|-~ AU5!C^,|{|3|%}t aohonmlsq|ؐ|zypE[4/eKBil^Ua`b}{ue ~T>lkg@^cyl{zwi:"9lvwHUcmrRRvlw|ozt`W/]deQBopu~ys~ u|镝!b턗SZHE{xsxzNpWdIKJ9uo🟸M9z pʌVE2P7gf{phktɿdY?jr,;LGw?PubL&OK3yɕɹ4'\G|mji5v{mY̘{Ŷd?V_+psxB%Ѡwh7Z[±蝬yGJ蛀9v~$|{ti|}?i0f{cpSI}bo}y@9Ȝ`)EL]TbNuz?hE2νr &ww}l) '"t`aw$)&{j|)sr"KVU:ɴ w~6/qjfhotZ_u ;aTN,xmckr{sy5v3[ϵ44~K0Hz1tsrxrsЖފ8lsz. srwXGmxw5{YVu9kF}viayu}vkm[Ei0Fv_]A%[~ror+TaƄO,_z2zhtIz*5[ #gXZA3~Z<yqqߴwBq,i| BxzӞ+M\&uʀvtyz~at ֪LF,X_؇, tpm+^ $BaXk13Ym[fLBx{u U8l)cșj2ϠL-uh~儚0 ]5C ,x[)6~xƋbgG\ݵ.ĮUYdD |gt KHDԺ`BKAwvz؎@XUndmT#155ٗ 6 3 jP50ۜe Bi&V n#3ƹ"Ă4]lYǀJJfZ-9g,!;ńYƆ,Q\yj^13L=-z[#ds4:i)q13pY fSc)fb3Y f3n,aM檠0#+a~}L8XqS*d,9fHan7IY`y`i aQ6 ƒuB: =PYn ')b5H?(Sx{P`RqDB4kA Q&& #))j)jdE 1 }|9K\Hpqod ]`kybCc'v"VFƒh8,!,u#& ttc yQIZ B~"|,Ԃ9.$t( 9 P/:{W,f%(S,IvSFlˆ8P}YU1[H\Z"yx|tt֦Q81y{9soOxұeR%ˀr-ɉT@fCp-jMHEpiikqJ2bVu8Kjnv0e OtQ7ǐxrnjlpu{[@†wm|SIrxxzmzzJ{qleRms$H8Á P8䂃Ѕad#F(wmimbmv*yIoc/KGt!Yuqw^YrSYEbqiy9jA畖zx@SP[x_s{pg^Koekzhw?Psi9ߠg쐱wf_@KfXau0Gu?o˼/H?fPL@4kF?_tg@^ w?jTK7n:A6eݰd`:kjxK_RD/tiżzP ; K[HoBowХР@ =WBJSsKyjozx?Yڤ]Z6EWU?㎅(?+\- 'ZKdkxoh66"?hmtAUbn}Ɇ+Ȼ̘?roXDz8c*Ua'TJ Oj+k[hl:?:o+`25KڀWv8 .SEr|º栮P~cKu湫|E֦tL_͖QR<M;(3{o֘xcGJKoྡOp>Gw/su}쀀oopдj@:E<;0'7O_aV_}rknp8 3Guaw\MugpTET& 5GiR3thМliR_j~]VRW`bU/uJ664VI@G]]bMT_zФlB,:WlgOgMp{’xafzձn!sjvw\.>SjH #7EkkvmL9RN~cL. CUOE|}xDSYoGjc(Q߻ŔW©|tnJD$KPeK/d]RdK8opxGX@4Goc`hfxg|ֿʹ/[}ġp?ldHNXTsze{sj('hvowchaWGA7;G_ojtx}iw]IFG04*;15<y}xnwĻȶwQ<˾óĽ xmL|rf(fb\[\_VJ>4,.,;?74D;>39GINMVhdg`_^TLB@2+,,BNOTSN[`^`fcaZVPNHBMXX[Y]`pg4 ʦehmjdgfqXZY\XYS[ff_d\abjmyzy 㖐oF5KޙT~X'B),tmljpv{zpssoknI`Y[[girlot spjnlpzuoywxkiflcbged^\gqpoy~K$}w{ְ~zw>njyrusq|}yvvpdfgkqu{ }yxvkdo nmorwqkh~mtollnqn߀{|{y{vryuptw}|zb_rxzprhbdbhhopzvuvyyf_ @]g&u]2oxixbvv&<*,Bem{[S^,Ӑq{&(]x1ω//kffWw` kn-x8/F<'C~<8*j'\%,S #x1OJux)9o6i" cy9_=Sukg |pcVH<1'  %6J_uɾ&k`XOHA:52.qds5;BIRZclu~{sjaYRMGGJNT[cku?tfXMA *)+.481,'")!&x8?FMU]emvȿ}qeYMC8/&   %+17>DKQW]djqyer~qdXL@4) ہHm !*4?IS]hr{ 'ܯ򼤟m_>hgglnoqr}X]b``\Y3Di\}?·tj`VLD<4.(#! #'+05:?DZ_ejouzog+kγ. P5Uslޔzu9U^;K NMMӰ~\>ގ{=0u ۹}lϜqܛs.߸h -溿|g6cVLKcq~u~*oK9Kپsp s>#q^,zJq2Fc w!?+xxx_xVhYP3G&1:643236:BJT^gr|ڷlxhXH9*X@ݚ,:|jamyQ̪horehgf{`_^*bfid YURNKHFED?LLQW^e/wƿxl`RF9-"  '5CRao~º^ lVknYþ=Zpi IB;5.("   $.;GUbpȽvj^RG=4,%$*06=DKRYvy|[˪F (񢥧}vohb[TZ@:4/*&" !%(-27>wOUfk`όILfEQGjW{uqdbam_`Vru<@uzȰOɸƬ5AͪcUÎ$atk5|vc\VPJE@<:99:6yez;njg{2Z'j_aehlpuy~f/ì&Mdtn#̚gedenqsM{~'Έ̀(݄-\iJ3 eH@ fb`\YV_MK'DCAS ?@@ABDFHKNRW[`ejpv|?}mWtn)mi7l rYX3kYKэQf0nX4sro8eb^ZWSPLIFC@=;98766779;=?BEIMQUZ_dinty;XFƞr,Ơ(vfIph#ˠqpKlkjiu`hijk;jfqX9X [xx w/&<3OܖdFDa- ,F0Nx|bڗwv)8Su6bkigfedcbabcdegnprtybG9xs5u5; a^0J?b34t%1;2yJ戎l%7xurnlifcaa{m[TRSShj^`hkorvy|*{"d|y!7pec`^8VJ-[ZaKisv)ց"/)2C/3:d4xpw13d /zI&2,5`@~zwtqFOg+kV[YXWVEUiY؆uvwxxMvEYXvIЀ;LEg T]YiXrxYx`lQrxCݐ0yO}98 *K2`z.0{& X#E7K ni%LǤ?GLi,ӌ x{.qVN<%x9?n^'ݻqrT e<w+ ,0 s1!~)ȸY'D9 ܀|xFoX8A0x_9"s<0<cbQ6%eM|a&L lp7@YV` [p$)@,N3jh݅|#0S]JRY6ہ5܌lJfF_ߍy,׵!/+Gz-(y-rbu>5~nq7>èKEgaNʇT)8`~ U|yKfE_``03#@J Hn8eXh9V42 ExLm3/&o=^} ,w> V_/M-щ!(HDQYGbaic8h`mMveq瑡bA=~td?Z7(r.(8]`B(#_)a٘lՌx#bѭՀ2aC` #'  187/,$wqCC2 ̨-8k[3, Zo䳊ZBDV.E-_ ! cy؋J!" |uG- 7s ?"u>#03Towfʠl@C%x<.R7 l#^@{r&<| {5HC <<wi{1[ +^`5e^#?2‚>|_3fpqbV 1}cp;>1 ?Z |}{aHL1Z?3Y,l >to̫1M$l245,X->Z В^/(bO_ /~٢(,l: ?';[ 6U?ժXrs ։.ng)1\}! uWpJK~0p =< 1EJ lK~o\ؠjJ+|u@lNr Xw|&vԡ5 q\ir[x~׉ai8X^@sLi9a8yP ea+KM@fC1=$dϽцyz<OS>p/Y.B| .s 0 9@UcaG& gE 0[c`%O>7x|>$ v/,?..y!8%qDf "auNItܗA f6fk j,'c?^gqx]xh (yHqA s@ D [?,Xw3R#q6bX$'o7yN8ن1^ G$T1v9]ijB_tO 23Ihmѥ/}|8:Z&kt+p39J`&  gKFf8?k\'L} "|7K8/>lc;+~ g hKu,9SySPںp3l0bg:zطPf2KE'K93BKg 6և'xg+ŝm ȊgIR)G299.DySha6gC雼|X`\봖A^j:Ù)Rb(ǁe6 9,ufib#AB 7`[M"9u6g2 ( "迲,ܪ\̅ƈngfr `G[L0A?w}{~k;?L'{܀ _< ;<'HCxBͩLO% zZA8CeПpqf@-/ sLQDV GOo@ZacxltgΣw* X"VۀFGVNx]:Z&9,$„l't{757/Os7s·f2H8 :_K^ft|w p.ҼE{ڂm#3-u^n)Z12+ftױPFw߇s"jxys , <0KJxPis  9" ?|80R 1FDGwYRV[x<'<|f=y j+=%hfn?~ÁyaxL} >㷿t8#`2,y:aZ32rj -9s`ˌ 778i~3ʿ/?d0wYα@JI躤Y0y JJ Άc7{7~7{zo`vK9YA,<WcT01eW?/xp͌>1rll[ZI12 FG)<v3V ~f~7a]GcQ&pf ^}n2|La;o@D ;y7€NL;A`0"o%ux7Oz+Ͽ 86sr+Mq0 R#$նr'p ͵ ߱tJn %=A[krh T3_8rftrbȚ5qT)?dV|_p]ŀȌ'w9g5J4qU9L]/F#mZVaF}` ȉtXaVe'[sO{)৶ pvBV#:Aryg*}3$% 2 QT`ޯ7786FT~b6m6  G{AOsF@OU]z}iy]/AVG`MUV91HCn ZPxRR,L)U{°*ADFIK뚰?-,iz]Vn;$BX#pD\z`/۲%t1Ft)DJ.Hh c^):H+k,79Cx 'Nx3Ƴ:dIy"| N)D2z=JZ[K&pQ4ISͺ5]tDqf 4ȮnZFn>av8,B]#?wK>?k{$4 @AV|C%~ R ma _pH&z*uToTf)6͈ζ6gƇ|fJ _ \  電a"+MTnxz# ?cb#td5k(ё_Ke |(  eŴ:!?ZW8R?̤и!0W`GLՌ1O;OD$ds!Y0Dm%,VLOhag5Ϊ_@eПtp6X\˲o J5: TZwaa@O,i}~Dy_Ap(diܔ&7lB*~ZbKe;PY$"" 1po ]xA +K;WgΣg_dVXi != Oxq,ſtrǵ_‘ B;T/Os7Pỳ̬H ˆ??}L|XfLyWpfVQWx65Sȅ bC,xv#Jra>\ 7a;'8Q4:)`- J0C`\<8+h?d/Ɯf9]x԰e1We߲qDG ξLqC&qG878]Y~|S `yD`%[dLvpr#B__J}|@_a7?i~3xTdvYѥ<6ٯGb y# ITZcq@`4l J آ;VEֲ?k~7[ o`[K09`o/" 7A [ " hE%0aT-m/``=w>z rt m $K@19 Ffz:33m9~xyaR@i2+cčP&^m}`A@Dmee~łV䮪&a j7WYy<#d}`Ar`f|r>@r'{f0xZx\!Xt;k,@@!>1$yflE?,]0 % 0 n,9"Jbȭ ۄiD5a>"1Exc.i5p_ *L ?+SaĘ-!k<3~`>uR"~?nT:`dhJ??Bl  Vu[m w !\S*x  ֘愣" pw K&0xL ` w7F}c<.8ؕ|Z-FBՙ HRDDd J~$3 `z lx G\Zw|?;Qp{X6#爃ȅ y8H.O% ×}^SV%)FUGG1$_$H heBw ߋ< ,HP"a9AGP"Hܢ#d5EI.)@y BhQS~uk 8]e:A*%+|*Y*hG~pOވ_&eލ!fLSޖ&2e/:N qA> ";f&9;3" RD538tfV 05XW]Ѳ+ߙq-2:"N\0LNfncu~0 .[<0#nI$ǰr>>Eӈ85zP[3]罻!kĭECԳΰ .qcxkv0p8"BD* B"Oq'yyӑ"I#9wK . ₸!IoQ/ ZC nx@B ]uX+`.`m7 3!NuY<>LM3Z6-@d~9 E0?a_\ ]xB,Jh \D#5?krK! 3.݁ݽk+Wہ1 B "~"BBfjAV YI>8j|[~|<䷠`",*%d ʟ5dX* t`f ZD-u7`N|yUsr`{{^k!8 xqaⲒ." n<$Jf 8ewll!(HDxvo{ X%iA\~xŤ= R(jrL~sDAB(_n_wzAuYp 8-de\MA'&,H CaCfIsԽ]4$`.hhϰ\3:lm0dX2움V^B FHK@P@o+_dT,M/Z]X'l2^1P8O^(ѭpzQX[J!" -µo}8 z!E .FxVP @_I%M#l<+*3iD> 4r&<|P(G3owO-5rJC#b 2\0zFkxHSZ1◂ム[z qq-d 蟄[);xv4te8ְ!Yd 9Y;Wa`1p6 ݡ] x9pKHlf&Wd~2!ˀ)Ԍ ։,` MFi KZY"B!O%nul+z 5 prx2zRTimv`jrwsr e `!kegMr$9d]jE(A!I [;XI3+ xId,3Qh cG@Ia2DDa*k,X F.%mqr%S8%. UBVaːF9QW\hKI㶤u(H@{ c6`Kr$Hcn"8b%,YTM|߿׫0oU7Y @e6?:0y)?0Y "x'>2_t@$LueqYEc* 1Â50#05I g%OV,u $`@{ w=Ab{mg "A ^i,I@0~;` GK`̽]"3 $(fWވc݊. n+@:+ ׀#ђ)4-I03^r ??Šߩ`l^?1M:DSԎ K?puڐi H4%  I . wb?ٌ hxHe'  ˨!9nZP" 4%, 9& $Hh," [$" Erf$߬6 @M  $g 0 G=$ 2s^YHl f߿<)ǿV ((( cQ,Zp !8 80 0X G#;& ((z"iii 0!3fHeʌ ؒuaV@䁂P_z [ڊx@ @ zB_ 8?Izg -0?#@R"V2xYyn5OlK sK0<Ǐ6G>x8&k6lB?öÁÄBn xf8<߻3Ksɟv8|}߻vv939 S!!3Î on<Ļn8̷7pn,~o{wZ?$9at xNޑ0:o0]7 pH烁5<'`Ox];6oZ>`M3Sw4|x֢<4"` h 2!Q$0ͤfP@ z@X&%x`f~|bx%<lG1O0J &d & d0*$Qf$$&k0B;`02 /xf ff|>`o>lf~U @`0̣>XKf0Ћk5 *0ru`~e:Jg] 8p8<3kl|<`~ ><~<L`OZ` a`{vl@cfy&OЈnE<} հ <  m 0R0 l |~*IIx,"̰b7l !x0`0ƥW :"?& !y f ;0ʷz/!0pa!  +V,Dm ޽GuK1W̗0V ';RqCl:` b`bY_/k<yvH2XPjlx1 3w!Ъ v aaNnB(k8iFo^"D36lZFcr v6qKS1!Q>x` hb@X5p e阌-eiaGC_&0`; = VKx0qgX^?l+%l.K`6,;4׃7.go Y ӗ&7PJ`(@[c& 2W?ݮ#Pg@A&x,pZ'`hre#fOfm66rlklU_PL?4#9'fG rb>nD!*a?'dyk  b?T7< b8j),X8q 6yp4sZll'7b6׹MH0AXQ+&*@+ֲ{ !8{ t< лRaNLFc+!7? [9 0򃽰mY'ɓo!8 Fp p" ᘯo m rtV!Y QLS%#bW8ٵ0S^ 1侷`+uRsJ5Y.۲2 75.NjifU}<-%maE܄  ˖\@f@Pc̍o> 3W6+=P#jaUwDSWFfu$l{eqY&@Lja2 ,)9捻1 Xq-Tjf7U3w,S>#:|0sݠ k|UӰ`_xUXr`5D`w7~!À,-^ :`ks5 si Q6bB>`n&G wd@g#;O0s=LmX?4)9@/  4 H}˙AO53˅` #x`X?vNr ,%x-؋p\ p0;].Ľ K  p g<08@Vb,n 7m`yy nP±nwOn.'M!? &6y\'mOY}]yq䏰1E Y0< `K@gހl΀R>_oooxSof.gk6}yr̮װ~c2K_<q-ۮk=8 3uٟJ t\g境5z֤@8;{=qsf { 2aPXΝI_ۿ~>">tRmyjL%k`x㖚Xe 6[T0XA9--ˇ l+vT^ ΂l` 뷱'>W;x}F5"-}GP-63U`2fΖ$m y{73ߡޠv] !l `7}Rs8 \Y #fwe+R 36 *! nB1{F`>1bvG  PI%kPiHZ4| 0d=+l\ R}֜|׀B K@Ox6 \x|?E 0Ѭ'EW.2\$ vGR`I$x,P$yFSv3@4f13ٗpwQـ!KH6Jr\A~d,.&8D8,~12gYزxw)ҁ("N +Ŋ$AvTRT ?[Lф]>ȄE @ F` 8ۇmHYx7CD l:P,W"AvTRFd7bXޟ'ϷfDt m ⫓ H,`A6@iVd!w#a6y2dJ= 2n /~hl@`#TU_Ar ܃Z~6lvax DE3Lu\" 62@$g E6 K@d(؆>(> UDDDeٽ͂l7*,{Y lBf6 Щf86-`A6`6ΐE.@dB(hX/ mS8f/ex۟4,Dilr)4\f_̂m 6ll`A6BVe |<z bp`iD1 ᴂm$hHXe@ŵl@2`4?qhyo,A6oKgn73]u:Y-b 6{‚LA컵`Ђ)aQ k fAd– 7-gZe 9fA攰% \ : x E]i뽪.uA\GAO`D eqcc:5@A6 𒇿0\ 8٤E@.P8a?{g  * 0f.̀L!4Ȃ, ǜrEʌ2q3cuFHY [&cY  4Ȃl(aˉ n `uBA6%W  )J:˳ b+`d48 T o<ٵY6R 8)gh2[DA]a۪A &7c.>@:Ⱦ`>l ,qV?`_ r۸+w]nA]ڊwe{` -Yς x7 2?7>:{9B d@j2l::~?wlQP.k,3L:x ,A XvYx .?p3+ab n f$}}ۻ sAf xY YB9 B5 n3Y1uAnwfny,=}/!^.ȄO: c[?푵`JPd`!`ȍ.ȼx(E)#f{cvF#.f? FY3,,C,V/@!F,.I8$ 4r#PPd'Xn*p1X_e%A] | >;C/@|Nvj^ʹa9IPdL?I:Z($kPdB=)@~YtdE>i QlBgA] pj],! YPdM ȄH.`plB(6 ,fMvP#.`" .׊‚88`nA]ӌAݒ.21aA] We4$ d le MuA6q/!00v̂ Sk ;٬$<".` 悍4? .hlFlAvUXA] PElAٔAg|uAFU'l" `a\PdTqF6.Ȧ,DagPPd @,.xA\ .Ȅ xc:.xAށUmQPd NC^uA6eA%j?ϼE( *( 0 'kPdA#( Nu3@." ) -Q|@ 8a&, _` - T[m҄'$  *" \e 4- ܲWqe.l,؂-+ 3b.g + j /Ȓ,KC2BiFJ׃\pl~=2[{ow2N^HbOEjrÔF Ms10=?rafp[%H·ۑ@w>{ `]p^ ! x_@q ^^ -.1]1u &f/c!Vm]aB@7 "OW0f00ŇaYZ,5 + 8qhfS BxE*{y"+\.,+q0 i x *ԙςO Wdo  Fȹ60nJ: Q{OzZ;g,%˄5E/\ܙ0_232 K0NI}V6`m  p4OO6@&vh`̀w`?O ++;az3T7b2Fu W0&~`ޭGtc:.!a O$HNH >@+.PMXcR;G2gig{uY1/[p0-%cНpu}@(u\4 rdm.D\o\<c>`Ǎn8u #o#dz )6@-@dKra+e&83Q>ܱ ؀`R( ""1v Ʊ,s!?ť5x1Oa<F@/` '"n? u18{þA0gWwY[KIJrI,NΎe vE 7!gKm?@R>b"!}l<3?\ ep~)s@8?s#盓xaHa+EJc6VnSzT,$=|/$W8}n?g 8;HfTy\x6 ߀{Gfj?x!aK%W{fںOׄnb+j A:`$-нupoZI)G۟oWImf0^>y~< G (U%vLQJgYkvG8KhD M gfz.i| πPDMt\D'gqgl?O (`pS|_( uJRau8@c#֤X_t`6GioF򠜌>[` 0/|F,_1I@`g?jմ$vEPAԀi`\~qk5@! ,akbqFauC @ Z1O؀B[UǶ ix%#2`w$ Id[ fY! ss8۵Y1`+Ojfn4h@>KJZ փ|#'iNxݞ؆o|CEb7 8\?=1h1|NһZf 8Ղ1! 9`!@,HPcam j4ILHJ7X(iu |y%O@[ sz4seػ ["N6C%ip|f`#r Äly# ud A3ʈYoG?$#x7ڰټu8@|3ΐP(Eȵp&rlfMX+pu4h p)1 29:}7NoӨF,Th, D:jH!V8(omQBk 'Ya1`r>jǂDVvl#ş,?WDdKQ L`QM.fXf3q% q(>$a a@,T@N T4 {@( F`g-BUwj->0֗Pt+ ?-my*BJ=!S9x@Fa~Tsh?'@{Xfpa+XY3q(qg.Ȃ{/ t1`. x.P <%!/ 2 4 q 4a.*Y@ ?'x^j܀ x0.`0( ~ ؼ/0x0`ff`@ICE!-RPBPa"3DUf!2BSdv݂k`MP.՝dS.,Gd:+ `f@e-P &6Rď{nY#8l*?8#f( i5}ʀ9/ր45șjP *ZVA`c WH8V*qʂp?kn1r}>Q {EXNZ5.7 w}b<Q~+nU qP̘uVq@K.5 {ޥ|úc 4@ N8G9e @8p\w>YU af cH wa8!'"h 5IVqvo{ϴ0\"* H@!gR_cFC qog7" (\vymxa'> zy/w{1pQˀږ vЀGI 0m C&kA`Fpxapo^?&,ow8"v1@ɘ5`SҨe H.Z" Y0$#0vw  _%D`[26 xIHL?@)\ʪGW? _x!. RA MSx}gj _.p\CJpf*ݽ @ksLȳy{FgLx(*?S 횭{4UT . ? XOCYK?y@yF=߻⒏[Km Ao8g/)B~`)Zrc5`},ZYX%= dWe1?P/qZ oBJa Iyz]f]YH=S|T xn搞AaWue?gtB`p_F`( o nD^D@(z\Ʀ k_VHrs&c)0,9 6 :K6+6 [XpU]xe1 8kW%q9817-:O` (8"w\ wcT1 h!5,"6LNc6ú/ar362P@w\/tw1 -*0 ,bEމ$ 7.aU0  ^1wrU3/08 2/mqc80 (04(nuW7\ XC.$3W}yK^pamϬ%a  .+J޽xhT?-a24z!!%`>G7!BT>P[>P pпbٛks9* Br 3U/1cF{J;u֟Z=8x4_Ew Z&HΜcǃnlCь(\ ?gq^4 ZDE˙$mvkףȫrlN`w?ZJ۳~dI A r0G mYpFI> J6d1avNn0M` xҳG1NmzV֕!y^F,g/MP֡\*$kkIӬNp㜓F' Q$I$U`g<1}Im۪?F Rq]Rʼ^j {mU7%wK< RD]b(3&xѥA%q{!z$(k .+ fv!k։<!E Y8; as p+ |{׮ $O2{&}PpeQ~  U;@!f.dFN2D2?(i Xnr&lFF)55fj^OtXB3[FڇdFL<#&~{OH@^EfC]UFW-? W͒F>e$ѳ~A?48 xS!̦(c I 9RͥD|F|JaN-  3) \τNtmB@ /zB`<޶Ϧp mb~IxWg8q״ /^dXRvF<X>H0o \1`1c4!q}%|Ø?7QZ4F#(0(XOg!)zX"gB`{~0E /VBUTd]Q/_؉@VY(HVpoNP<-O &c }]=6E@ZhS1+n@fcY_XscȑҙfP9 ff5~MRZ4tZ6 r\{ ""޽VI q[6lHo,I(׎ ̳`FI IBgHȎE|_ 1H[RexFaiEƪ:`py8Q|jbꪺ@H,kc!p8 7 U^Hmɕg9E"H|q:xQ d8UwH. Yx:oꢉ*+w6@?_qnU x!֪]Ah0\á&w[8Cb-vÿWd`[*Ź*UC RyT`G=Yɓ>O <Ƌ˸bO!,.2'[X)h*5A>x@|(Uk9l6lٷo"+BuR5- _:.?<-W#_qa ?*]xƠ ȹ%[eyr elGpo&[~W(@. ?as#ȏ-̬ݜtY7ߠk3SCke%wWGVthD [A `+b,( l|Z+%{+}`&A:܂F?Q$_Q a&n*pe P]i)pnٞRaF3sZ_jUVF#l Ո/lvځPo^uÀ fׇA7IX-<+$ Q0/#UD{m+>bqldw#ezgwwP0_\!kJK/!.iGMO??kbKx@ % :;ujA1^vJ^J.'D$.i)iRlVm 'Ϙ3!YXFG{3XJ.~2nuPtm23sRpsJK TX}.QaT D 0ؗlWP8?tpX|xI f|!zYYTo(=O{n0Xy{ ^/C#ho[|tl?T3b> qi;23D- B0S 8<.}0dpiر].{ 3 p8-&0f췳,7$r٨MT? h1 w C/QY8b0͇Da.w?$glvc [  .XT}mψtmZ]f-00^ZGZ]L3xI\#Sxw{w,6<9VhꆕMے*jyjedT8aBZxm+wYq{o)PT<(rH"\[@@rb#~_S<+ ?;s aw\8ea6 R@xV2Ɇx0|| r) ^5h'B;--Ĺ[: ?3<qAB"omI H ],70?̯8%m \IV7܄++\tO44Y×?Lr uc[0N9@0"~D0t\8u ;kǞ|OPZ ɐ fιk,L48_1Үa -,\4Y b/Z  )8`ga\Cp  [ [1dx_>?/r9eg@YXvh2eX8o*<C~`lc<??<1n( \XĂPT7fYcfGgyeaAg|< %<\b(Mp\WQ -<4f UaԴH^Ě3!7<.!u[ FkZia {R"+M^t]TL 0 O|#3l $E/K"1,! 0YwU~28!fެ58<"ޯPJTH=#jυpUQE? ?$XN{60j g03l?ͨP_$f1 @ <,Cs!#l+kyWE96qVa\,? {>L?{` 8d1xSq>?9VVxpx2"\`Oz^PY^>pSF} NZ,#Ҍ~hP* l(IzBo =߻nyz nK7(3_xJp4\gC%Dm[6\ Pv6x`"l &H3 > xo\9WTV ">/T!`w`% Gxw  ߂u1?O ԁ\G\@ grļe( |$=1 ݁ l@y/:pLLkr]oׄ!H8O˓ ]-^7@s#*g%tHg1 v󢌗whjLKy`|uG[)۔ +5pfYeq[_`?b& n@##8sh; ( Y$O8 q!ćp]Ux D9 HP1xJH1>/"ZoO\@" + 'U IrxDemUrzToCF 3Fdf&L82 96BFe/)B!a߽B[@q{ik8C|Ǐ`(}@ @@@HZB P@|iquD1/. 8FoLN>@q Ho2BD -ҕhCr?@PK n4x @$3َ^K~ҖG#@A B ?X.s?@ @D!! 8݈ DUBz%Q!mA#܇ıaq@?`B F.H. ÜƯ>"_fbPOM k@6cV,9g1 1ZYVn`AXgC|<-[$o Bƽ)TGXR ~ Ax[!NBG*5pdg"o1j7e %aC_OB*h2m  ? Y6U֞>`H+XNn?jcuA߾t2UGPCwVA^ ;E0G m3`fU/]a3謈<"KXv@M""SAc%ф`) x]6U?3_"D튶P@ wXDm*"b~ :NY p*D/d!&~bV4kk U)`n \wph eEf$!eL>oGճReSn3(ѯj  B0>%߃|2=]5h_{tdxkR^4"g._ ΀+f 019E7Ðx*sE@?DOυ kE$0FL  0`Ff?DH~Yq (.?94;ER@.1 }䁂 ,?CP Az &*u?I^_ju- >,Yf>` > 1O0?`0cy + ~\ţiTV F@6Wjd`4h!a`[m(BgF?oa@X  cl u\ fh0sIӼUx+1y{<~y>?mr׿|yf xxV  (e[).a6\$V7u[ܞo|ϿXN3~}^-?/Cu -ܳI?v'p.G4/7}ϓH/?*@-Eoٯ < <H< <+}џ?%wG~^P ^d%d|kџ; .<?xRif ,oџzV*x82n@}f+!W߿ixyOE&ZLC~$~]{w׿xpNS#쳑XOn_8"<~6B0/D9_W$<-w ]QB,-Z}8ȿۏiQ׿Qx<q J98>USW7~^EH  $fл#XMd  ; x @I@.l @0 20[aE0/j06a4gfϾh#-   l,~svu6{ѱb_lW9'gL]Ǽ\)K~m|v~^O3os?`^)/o>g'n9WϿ?g?Ba3,=0gJ/ xK Cx>}J7l+1ȅ\9 % lAH[Nrއ,ya0$"yGzN\榩N᱁0؇lWsKȨ`F,60$l`[M .&6ݐ{HLL6 d" b2d56fjx2, f&gn[2f4c@h,Q@?@T @gG2=cfy?7ǧ p3 f;pp6xr-P68(/9"eQ3g3?8f`fqF3?gyH cI<>ZIb% $ wր)3_:k Ffv4W;ɑ̞YbE$+Ky<= {IjKm bImiZf$*ڒNҳҲR ` rI? - $'b;@Ƈ ryE!}Dyn_o^^O"O,1[ny=&q'x~.,<֏fLO̞OJevkKjaf8:r+U? gQ=Kw, ~L8Ͱ> wXqvdnqqdd>ZȔY ,f&mhy`qq/)y}sy3/&zp0~, x]^_~L7^\0G/Rd[v3@g bV0 5Q7?x 4KN7no%e/7mMo-g@fANnWL`//?s sxB &۷H%ѷ~C|9k   e ,%Hy{@ {aL?:snL `co`aG 2@B/gq?=/=zdڿY;g'P?` _p̜J] !d  8E B kۈ@PVRY=Q iIKA c[i@ ;FzN`@ V`@0]@D*ok{ko`@ffuFÑmr%ps}h q`+ I>5:^ډ/00&^ fQ`j8Hb% ~ơ]17'px[ _H''gbNbIC`ͷ` ]?.! =${pQ9P" I6p^BGx@, X``J@)F#UL"_"pD%?(m@&ѠT$X4 噢Ys?!$`@vh{Ddak_?n"`0ZbV\B' t.$8Xal&4.V.q=u*T1?+@q~V\as+XD ^SxE~s^ Q  {28E;@pa e- w!@)8@7k.7/,;+=`"[k`*QqPo` rM?`9$86Ā X6?|O^F5I&N'x}{Q.Mu{meV6 6X燘,fdT`.ffoyL2(; lOs/IvVz / 04zS;Og|IX xK|yQ)8-6d޸v61z?/2gɟS$ BJ?zsqen~߻   0@~Owo=?g=) `@UYg; {: ;l$q? x'ם}<=t<7 i83@ ofX`P'`Ǝ.i+ noH@  |'<=xA^x ICE!MmrŒ"3DUf_!2BSdv@x x؂A]%n"~\܊u=+*@[n`'xG +Cj >'xwd ,@f+ 2,$#Nf <+ &,#!&# pd@$ճ  xG ǰra'?֠ɋuN8sP י恀V'ݟc)D71EG^ nYϜH!#\t!$~m:-$ME[B޼ȒaEΰO+fpu2ƀ C0,&`q "G6Y>;8?*guB,Ip #3y(*wcCβx|=" Z4& b[?@vGQ$b dcA O t]N}ב!`y(i=f~ތ7%94~ P(33.#ƶ=H ۏ %:!j(,N'ؖ@X: C< -F (`ljWXy _R7TPc~jF !|ڒ*ۙxɑyO6wF#Qh\ X[<z)5w>*z3<塚$d j #Ke il>Y>/-6#QifSJ2: 4Mԁ@З, jGJMqGun y>~dDŽD?\[0)L]3'ADj/Bh]"ؘg@; |t'b_ɳsA+l`}XxA&6LmB"~+~ V[r56O7>F`I aiB V;!߻` Y;<`TV 2! Փ,w{=v@y XґYZ@l۝F0p\U7Ygr+-x;Ti=` ??$V{73OL;<2[@Kkɑp N xj8 @$B ;G )*̴֤ԉ3|us9F\ ,{)[`Aa6& =r +3H1xK3#~C>FM Dԥo(Syk@Q0;+Z~2/0w0:83.?2 @x`۩[b ';7[ JlGw8fĥLx-RXvU;vddبp^#˶k.Ot@H9Zท:1;+?j>Ȍ@򷕞Tq>CQP ud7}d8C4(  D>tW x?cMZZ+:,X4(\%A;{?7hg |>|$m|hxb=Xz%A43,̠p &|>Oyxw; R{O۽>Z2'|sJ pPD8>;f`f~_fe0pxEN64&c.q`f>`= F{f.cvgV:`RN~`sx{.8Gbm&Xы PVڋX E-(̋l|ۇnFoajB@tK@ow ޷rxx8.f0jVMgכLi)%%2ߝҒRRϧ{pvn#c~Q•7;n݃snо~P06p@{T pՇ?W{ރ0 jX?*rPl͂e~['nat{B1p%!=iGn`f|IUJ{ +.OL'Q0I@! ɐ 3G2 cqd ȧ Y\"xx$L!8!RaV-@@r7{ Ȁq q<{,3=4<dLFh^ʌm (<<Y$SX 8cx{:`͇ a܌ą>89|#p8<<>rpŤWr&AJ?Cb2=e|s>pW?=?rFx@qxP ?}< Ag>'x?/rS#{$8$%GM s ><yeD?W*Ds -<4$k#@Cm,9A9NH^< '`,?Gn@7wF䍻`.=djVZC$O#1 {R a c @ȸc4m̆L 0cr幚 ?0 3 &w;H˧ %?TR(b! Vh?ǡ3-0, r&[Ѻ /Qx0 8`nQz.DU`pÌ$ ɚ(|Vt' ) b('{!vp0qd5GT/ţ"C/=R_JfW:R)Pf@$ǀx1$p KTS"g՘'y<,c ė7;;x n:8f&.{V<:s1.vчn0LJ @ۺv,XFp`xx@܏BG?#q; Ҩ>x<D" x!fv{Xl6AQ\7.V= ;rx`C鳐pC< 8s%~|PؖO{|p xnjG -ᴜ+HI|X_Ksf!YANHHw8q3#r 2s{(쀎@OPђ]"fV=?*=-A,T00Bmw;/l; A!g|4'C'Dɚ+2E|k% `3(_L\Qں +y+'oOMPi32Xx\az-Y\A~@?\Y } 0zN(k).5 @ &:pR%<8VȀ K'V 86YO,wGB|XEo &t+`"DG@f: ۑXF/;`G@5Ⰸ[ȩul&'0)0 @lv@_ ,Ê( %ޗm9$$d`o*P=&oH)({نa]} aLQ~ 3MR?rI ],8&`b:F| #G?S0 . p:78o614#Bߧ p5yX ^G.3  L׸OwLMV5 0b^D->7' gEc*rnS~' T*I1(#BdƥʠT dU "??h޶ \l#YXsK(̓$eti fl\qX ́Y_H'Ƀp >'X>[@t ,&ڟ#sŢH+K\ 'WhH X!&n [SLJ狫g?'A0'H kF'QY  )펲S)י5V'H'7ƀH@ vg[u?:-c0ZJ7Ϡ́F}d0dlM]pF>?B$~g>QEPFe*Gfΰ[=fHތM] RIpT3&=@2Qe `,%OV;3A, '\Vgv]*+K'. r<Ci (mw-H)4_Z4 ]7߀p>@vQ? x |()7!#-fY.frB 4[vZATVQ0GR@vn> A8 TQtUBK! iw w}ԃ Ro)(p>ua-~ _>)/6bFFIё€@T \<\  ]E6!2Q# ] &)ڛݛK֌;e0~O ; qR&. uaG6 *āM,8F>/FȠ,dyf"#GO8h6 :Rm4K!J bש%V ?Q&+= *l c \H=HK* ^Rl FxIEPe<B |A뗌zEtp'/go-ugyr (%nJR!7%xnx7 ]3hWa,Y3:8vYo=,\4s W] b,OcD1Ns$_i>{VLWca? Al x 꽳MߐÔ%qӄcE7I uoL k[zb#u$yE ۢ0Ԫ[heN.niŒ|בUNE[0K>Vel@':&a^-/*|w:LGF,jWl:BjN23IU/CDӕoң8\5An_sc9q| M0p -|`sυ6l|H׌Jp=ط|RU <GI jRSy U[nXNp7>:|g5gGF^0%ZqaWJ fa=zRI o;Pa `oj mޤͰ=Q1<x0?pgv^7un`> VކIt" 7Cx H!X +6(QY&V Sjaf5/f;Zg@Ю꫶nX<]A5(ffPT4xDm:J3^hֆ<u#!zg@6M\7@SP < ը=^y1 + 3 J0b'~WS3#YL+3n]|ρpy@u2!yAft(πg*< Q\xGHYel`dV" Vw )Y(UԮp|ֳ؇'oćry4,׸ϗ0c  堒f c !qܝ?')@eS0|w87{_^G,qum8C yxxa`6] 8DnmY (*E$9c1jKJ!Z>OH);7۞Y~~?>?g|60t@51m-L@ݒ daY ڣK,yBX@d3~'!O(NY~+ZnPfAW`<~4~)J!kt]-.O   ڟ@j& %je1__5$X^81r"?@>t33`f DR#f@h)>{Pl\ ˺4O? ٸ0Xf؇f̀OwDvDVU-*ٗ?V6f<<S c*1oh s`8? R=v|7!FW}`ψd#3oU r%%A x .?I':#w" {,K$`Qwsa opRoY,YA6/.UA߀lc8K"|)ͳ{7Gx%6 H(Ġ8~ 0~Gj|dH30x\~y>yo KaCca_ʭP}  ?xpC|7bXtvX,1 @e'`F@:FD(>=p}=nl= NL`oHVs;gs: I*-,D?u +#`'!e{ X``%&R&zq5;{;-Zٷ`]kA4,qvf:?, [E>5}0 1Ɓ~8q';`;@ $ǏA:;Udwih-c5+1Yהff9b03 ` >0ivn?(F<30&`<5D e_F s̬U/o/$Hh7$ ɥ/O >,$1O+P&1qQvf1OG6`E== 2@RGJυPhX DžC׌*B?ҶDp ā`=$̐p?r 8?*ob?x0.1c1٩vnY8rhaٲ^Tcʞp~F7ٰnK |q|  #{g&Oa3GR? L/H!{? `n#U>~%~luO#7@}܉S?hTIUf,Y,@-C P*PfcA~_#B!cQDSV9*ڀY@1{RA!B@w ~{ځ+#Q?!,٘lҽ=@+ 0>H2o  3@ ,Ğ `{^,> ҲZsj;x> ?@0Z7NUaAW/Ј[9hD=x]y*ATUx HDC{i5ZB'1T# >|W'_BMwwQz7!Fh'y]TM&ZQiX<0fT8 s=W BB> B'B290j 0GJA| B/6mcGFv_Yf+{dWo%33J[`jx'"6`u] ?phC^ E'qIo'] vY{G`q‚`V>0iFV-Ebv#T>3W"{y LT$'q㒩C[ mJ>& o l!`=Ф!#<;I.ISY w?ZHagfmr-+ZUH@yVqk`V pwHn ?`'||XFT?V#G &ۗ M섅S!?g>5DF5\J uH&'T26>߭y @ 7O#ˉN䨢X % (B=d7xqY>c`ô06czy`յJ.23 q 8&-Y ۫|# ٯ9'^z{vOȊ#T&@-w.h aHQ 4$B\>. HOۇaf\4r\8K QY 1"XG voB6YBPG'T'ޔ_0+)Ɗ`o#?]!ȎV6 <`roH~6GG0#|!?rmGLX7odR 05I' Ȥ -H@Y2M9iB*VI9:?0V."Q&Nx Ѐw%0]Yـ1x $SnM*e+yf< [$,, M x #AvԳ@mS  l- l$&r\wdJ!@P \,Aޑ) OI( 3(( 03vVȂ,J5CSx@?la %Aޑy)!!"b<~%י?VE̲Ϡ00!qN zq Pb#E H6 `Ps$~&gæ%p?x )wfΰMz-əmBǿ+730c8GqFE?,Mb;em"FR%,`i1azAqGcl,2-6JJA]qp`!jE\v@=^'vʆMdY FV-ggvKfXzfua U4ѫmظ6a~FT-," 6 |gp D85!`Q#cJ &Y);GF &X@XBX* OБY}F@1i^zFT 5R@6㡀6O"o #8YMKp8i w}Z0~0krM >qfl؆@>? >ἆ7-66#X^+z9)ڛwŸVmTHe'wi i'6  af<  0 lp F9Xf_' W?`9>:2&4 r<'y9NOI5lf&nrݏ&iͩ2kpr@D  (a#Yf&%z ׅx'Mĝex~ QTz2#y #OM .QcA;q'òȁ,9,7[ס|v? !2_7>21ߥhTDfl6V QX:nKo'6;q[=C_" kϰxo! 0J o9Akm\F VliE{1` "r008+}l [b~6mr .?#` w|@p 3 '(*'o|opU@cy;Lm9|A\fRú >0 KZ{cd6#rwƣVq{2`tHflP?]:q.InTgi2!5FM #H E9`[;ob$B[,Cu",i|S$Kylz32##[<{J`bÄp>ŷxd@ =F=WAk=5pԯ]\hm`O8=VK Zhپ=;='/P1|P+fakaRCc#y R0./Ζ5rf6A7k -#ı<&@P(G*㝹Tڃ[-k@^ sͨ;qaGy8?#9%L"M^b?bA!} t9"N;pk=oYyhAx&?\#w1<<OI|+ Ǐb3In5 >x8p~my>XXyAP|\(?tx.re4, C?|7\8yǬ^~`6%H"@LF=3}5=T%q78˱Pi'30'} q<akeIav $(<r&;M{;l ;4qf9d ID~cM`ʽ ~8XU\*G%?1 Zi74wbO  UpϯJ0.&+: <׬&{5?`?ڍll]Oj/Mo{/slCԭi!4,  `d.. &?c'f٦@`/B?ps7'ct\5xFHH 7ׄ@Deh{"?J ρ|OAfRd۶ ?Ϩ \00W^smM2I8rI}b HP_՚޿C:2pJ~G~3v;0 '0ge:X0I12Kx3HajfU{>$>EGv[<$@.w]: 0j6a6f#sOra:@ľG-m77%E*[=oGǾD!C0MXଌgr[srP8A0@׾m?h$ܒ/а ^{7 2Q#"y_a

'| HQ`O4+ N325< wl/ЩNr^`ժ{Z  H D Aq zt?tY ?py [h7vn6_!]- K{l 'DC# qP 6=ߋ՛哥%GF`+!#7hj Zi#:\'ordDrUqHe} B Q_}=!&b!#a6IiB\+skɛ@:[j,VXϣL LkOuY 'C ;J|>SESp!`9|dX?b,I@`0(Vm uwTk-`%m%@»u Ǵ=@.t@6.kb$o"''AÃt Z&&:`>!CN <|_+Ѐqfnp&I.%~I`e#EFɀ 9A_J8*`%GaVȀG>Wz؎( ]?3DV@6qpQ!&Ӳ ='?g]`D (ZF@ %N 0BP@H C`\=9 1D@T_{'$A  uT8z% 7An6p 6o6]$v%Uҿ(46/m P?`6%[R r8f C/@& ?SB# ;OȠ/G `h]3pU^_2 p(M!m),f7rFqXF7 6"OIДĔDcgHĕp`c)L ?K$ V8[9r#ZEb31qc6YlHS }gXƙ!) y!  ,%((a 1 af[lB%FyEa32qc9H̀ @7Oۧ'V *ɂ@ E>`|GɀTj{rW c0hr-6FX }ȔC0` m0H0C 0ߪ3u`^'1~8&50SR²L\ble#HFR79ӂb{ u'v!8uGsd*5#L?#e #O M2!k NH< ϴ GF@` 8ouW Z,ADH ]@;T ߍw(b̷6P|HI x @,yd0N H"W?8 >A& P=ICE! \:T, 0k@ke,l%6fbyHpm25a+\ua̸KS#x}Df`,^5XAE13:Yaވs9 K-Y24QUXΈٕ,/q'5T` x83 BYcu YS1-[^&"hZNV)ϰ٭ ^E&@UB'j +Sm ),l^,Q$ wnX"p8oB_^3YʆEs3%ΰЃ$.f@ !x @P((gO:[*:d"*Z,g2m!`O֏\Hp b3Խm6#l(;iڬ䞻]EV_2BJp(=E#f9`V[ͭfQaR`2 \ m&a1*\ gs{;8817g2Ta]OW3٢8Ja?+:URV4, 3{YT~Bt8Rsβfm5n3%a =B>T2 n6L Tg#Y0VdM[ ~"a#eY09n=fv.Pf|H)(5*rVn-_f]㌜pZ5p b+DX;,ip@}*1Ѹڍe f)B23Ozt uc 0PV"6F A XcȒ,.L 0`8YHVDp @"+$Y0C`I>  " u؂ܴ A5$8dY=`RbQB;AϚ:PEnZ5ÙV(T.xm g^}R x!X$|"@9 < sʠlBv8ajֳvY8S! j̙AMj t‚8lǮ,B&qc1 ݫ Y\Z(DF2iǜiYq2@DG8,2E ҸƃE = rbqlߤe61CYl;qn<8jv (rB:[U DH&*"D-ܲReT[V_2x1BKJwb?}1 Bxc/ Ŭ1V@;P, P'̨Ҟ*bjBe(qFYxؙȂDȥgzl,FB gV+tў[ ehX,,BaQ6 @mupݯ R5A o4rG@T6+X,0ʰnqҬ*orK YRXB4X,,htDD@X!-$d̽fj]`Iqע#є$BBi|5HP؊MTq";Oq׭[O0N؆ [C^k !H,jVK  -@囷Blm!ek`E֯X=|p 1Xӥ!Qbf"Q*3ڝOgY@( ";T#* U 3m> hL(T6u6ϢiNجUN{[8qVD}iP,~\x}R2,PN8X;[CfG` Q=qJ01@@ (Ge) UDvSuZ@ TD{ Q\IqzwEJP:XU@e@*@HiȒfڭC5Fz]IƲ lW(Djg%bK(o~p 7t]Q .X5jX*l؇~ت꣖ VBo~fE&-ԳH8i AhblF Ԍ+U4l[$83cwZ%>Wj ,XQ?,[˪Iւl?t ,?X8'De7gP{$=XqTf&jEϞȅ@̬7$-MbSyV Clx1*KG.>Ƅfpڜ : fv,"n 8q~hHid2ډܭf gSbAۢue,Z%H}[V9ʹ^ YYax2 CcY",šPXֱB<)h AZYRʼn$.jHٰfR{YVLs|dw!,? *IY/cMD*d?!]cb'8>gb!g` ܕ!`< 8&\_|;7&`u!Y80 cHL : Psxljn>pd=`mWk*hXuakNi!`B` ~d MǫYأc2V[f<7YMp.LfsL[G<(m-[gpXZJ1"[Mk|X(vW ,^ҚZs20[3͈e&xc0AR!)5Xop?3άXƐl heR!ǒ6J-ϬR! E`ahG6 T^,{t` $ZExp`ʳ*r|yJ2{AQf# ͳ<@&VEmUN¢siJ{X^p >d ZjT!s)"\ zs{2&* }_ 2 [CgeFlofTYItq[_C1 T6\gq+[]_ߠ| ͂{@Py',P{BZ)|={,X L.]L XW Xev=vϰZsyfr{_@V%ȝl]: (0TpҞ d"%WL`/ @fLQ~gIC.6,~c 4"qϸ\/ರ,Z Yfb]fp_Y{jx-6tvNkT&Gr7CD ٘jP٭j`qb.AH A HUA,ee9Uőu eI=x5/|vmz1 #Je]@;kLW"@(Z#bZV gWvF Fs \0P]E@)E3"*jUY JF|H΀jP `XaffV} DehY _u|fQaɬHymu4 .Vpr3/ ${r!x46%Ȳ,7Y`U;;!岬,(fVլ.` `fy qeU,.O<<̜C b aYU2 z8؉`Ç<6aqXd1X̰h>{^}v9hr?"f/_x@>`_4k&(3TXy eB] Ds΢?!KhS8#1 ]͊<ֱ?9eVGX?Y Nu;L<v-r0+VXi5fή ?oR|fQ U"իNΘt** .[p3Wh\U b f4lP0QzXW& B:xO`lQ IdGlȱ3:!ieű/!oh&t,A":] p8š/&FHX*fK.|It~!0w@*TjekTtu46eBUM36Nڂe0_v! `ʒ̸gL;(@Yc@Y؃9BÄTAp:(i6N3w8xm`3 lx, 7W2=apuX bU04?7N:բcPkfܚJ5Ɏ87KioQwY j &ڂqZbNv3-V I.vLW`D=*2ps#.YV d+`kE(n@`!1L C-+dxj/#Xg x: 7T8)Sb3Kp. L\nV  7ruQ9 0D/&USdH][Vz"Xβc! f*ǬF'р 󆀄sl46V Cq@ @~w @38 -7e%(vp J0Lo;jFRD{{`dQ(h4Ae6D 3 Uo\P_,?]ovO%+AnnoDJ)+m9 F a-j]+P2iR3'C@55`U !K@)or*J"w+r?S&VYBN$ݱFl 6n*!k \+̪ƹL/\t   OJY$v 6* OjXò<,;D[qc3( k7$,o5G3- d38|̎{![`rSa!'J+`[@H Y6?| T@ۙ  *T.]I( `}: tbE@ @~&S %-(قldil8oߪ LM6. _gfp?xafEK]iɻI<=P_>ق.z^f@$rX9yh:,P 2 ٞ>GԊ?$ < : eĪfDm"V4 +v ۲(@H`>"/RRVO7 vhH8TotFvM :(أ]rR\Ͱ*,*e5c4C"[de.}.P eAk*q  5:-qj<@{$j`tĆ8Zء077@b;;BHt`[j{(%-U0Yll̽f@!_K;-ŵ8TVX<P# f63/y ֈ),`քdf'pik h*G63~ʖ4 0* %(F3'LVJh+"lo.Y46,0 `4Dee\oβQHG,`F4a+0U+jv4 `M<0#l*Xt0Ev5tn`4;N0UH(@DTRp墫 7M +i`l,"Zp Ao/x 8If/1`Y.Y %@IHض`f5/ t:0$/xfbbC 'Ip;:0!p PQ06 -$ƪX1P5 ROR0eρH@@v_*>f-!X}P/x6Bb%Lj #B. 9La*m0(0 " xTB6VĬPt,`UA.zXT-"Ш`$n4`-K3'k `P̢0 '@V!("*2wç3 ֨ lx#`~K؝{ݍHz$Qc~4pz= (208*ةNŬ!'T`Q F6MDCQt3`BddDxAGS^40@*Xqޔ'tF -u2 <*%H߭ , Xp 0L8@8( ICE! COO E, $~'  I# =')++   ++{b#+$bѲBD:WS 7BRStsQBALL&PIANOL1U2[HAT3dSN2LGIT.SPL;?/PJs+dXLF 3+j="{#2,w!o1! +0ρ x xxxg0ON.u` tO ;ZxK@\'= o'mm# 7W +<$ qG0 o/ϋg&xx]f `t8x u$w!fC$C Iޤo o+"2Ё@7)`^E4+`*X ׊UbwxOx2 C($x"Sx" ^ЀWn .;x7n'9%0] 1100y>7I<(0{O[㌛^Ԁ&4is98ZrL5(p05,^Q4e& 2Q^  [N^ԀP3)6`1[S1/=^o7*r;YLwK1WP0/1s+6@o o 55D3`/6 TX&0h//oxM4x 6094`o7̎4W< g 9Z+<w-qյo o x?))F  q/`7U <<`ǩ \73 t~2k+`` xq+or-n';Mjv;kH"22UE+`%" #h4I x7ow]_o !x pD7'.&Њ!"kM x5( 4$n 4mxxC֍9)`x>6<xC$k0+0ϳH'pz \@WD7e] *kX7%øX/7c%0Gx7 b~;k^lVxL6Ig8k+ + )g l5x1BOXϋgqb gW.q5ǧ] 8cI𸵢_7%+V]& )<_!x xCƌ;6f9[Cn mxKސ&g1] 'x(J x0qxO 0w=VP(p]-/j;xQW fz ^ ^^ ޗԐMIxpGwmxC"K5Q) TG(qhG;dk^-^ *xdA ++xo*& Q {exxG@x41xU0B8-6-a!5F(3`P %.0*b:^*E+0ϳHxO 0W@'pQ ^ *k+ h*9) x43:mD> 07&1 Cv0YBF8(3` @ dZ2{b3oBpenP(a6#'+9<PC̢^ۂ%gذQwxx?`xrԏ؎< R<CJ Q+ E6IF*mP5 2`ΝLO'j(t 3T%<1̘ f?T=k@O47 E29*! $H\Dn, ,Yrqsx Ĝ M$H;8vf N1oeZ\w"MXpGqDVnb6lyą P~K^ee]lf\L CZ _JHBWЄ撔w&XU~2m{`)Ng"sʐVd~lpіO!p db `oel]VzN,O,E{:5+sd̅~/%ieM/cox52+IPb_keQkKR~~}G{h~xp?핖'ҥ_,yz|k6Q_eF=xN|wjlil;ojـZps^Y~ѭ뷞vq,prx~vdSKKSUQdsb]]U3Lt$|k̉fd\`bkqwzunq?J$e*`NURNk)n>=S~nlryƖqnft:ϑ>ɾN4龢dJou 8KCbVB61M>qth[TVa~f[^rpq)aˬo{Ipce~ǴHy2揅wmaJ4Bi~2ytrijmi|s]lZ&6[ugsnE_rnb;HJPZ}Dnef\#T}kuPSXiszO%ƻ{pdeZJsΟQ}}ZErg_f)'v_YLd_vmfhf^RQJ=f|}wujw;ojf\LHX_ywpydTLFHPloϋp~sgVHLw]wv}eTT^b&oՊkЪtKj^QFDDGw@glqxxphYPNe[u{(>vnKlsvQnco:T4x܈yx{}{t^?MtΐqN D_Ve}lmƾsшr%,͇{woorsbsQC;1YSvildfiq~kmdVMR^x|wð50`bejqjz){ullwytt&Im WWi#s\RVYcnkbl'9Hww}rja?~EB6l^`p~u{z7ӿ}n`[ixs-nYSMHw~vtyurx"iLum jzdY;OYrd}4~nkipl}txuij~@||cVf֪"W~qzxyrlhlyywtfUTMNڿslieAtplpySjYN]pwZ_mt}~xqr~lsd[awq`ju|_aRmflu_-lhp=6~3w)p`PMWZW^Z?||)oyz !mI|]k|xe]]lfidal~`Ocț\#@K[`ovυ Rxvcl kh_ГsIItncL8'6Ne0_-xvA{ngh|tEJJݟuqhdcY^WxZ/9_`̷{fK;AF]7@o懇vsinaLG@Pz[I*B̈́jzrtm\L7,9[[֑~z}yv{plIH659Fgqvxk`hu9jzIuIsbHo*fXG;;Knrh\Xmyplx䖚~``UM񐛦O"0씣¼ox}qfWIPr.Xgvoj]NMU[PpGL73a(T_XTVXa`TI:5=?L_s ?}}|n-nd^Sg{~}/( Kn̩<؁vncVPYxltdSXo[M]睠sUBhxz^ykcPUUNHA==@E_l|}&x4xmnpg_mf }}ލά}z||=qeZ]xvlcjzpiseVSRn={tzLVz˯MIJQTM?@Hgoo\fq3xi`or,~tghq^Íư|?Jv{:rbXf8miil~ުpwcTTZyrlq{sp?NONP|uUTPJ>>EYuqjnnt|_\f'sgfktfSO_y1Oum}zŎ{wpn}˶W{_-kc^^l|ia^ayoour쮞l9W&LW`b`xQK@ATĭ$k`kYofEasx}]]gۛΞ~suUi}ƾ<4xqgVKRr?|/Xzs[YROLjca[\bg}Wźy{|gaXSNHHY{zgwIckƮyuݿoy÷!wojb[eyjZQRWl?\}tTRGJJKOZgig?)b^VZjzż|p]RJODY\up}sq`VV\`n|xt c|j2ϩ2ĽxrkPoqh]Y[jO {{UIINŷ[mwl^\a1y* ?~JKC>$Vm`pY^ybS1bRE?;?X|-P~{}xpklqx?ځ6pCcqO\z~-wzp|3؅yx||mFt|K2)&,3I]kvu]BytuNy7@^WTOIPow|"pm$hpm}rEDWP]|zqqIKՁ{ts}xnz^E6-4CNU[_\Yojjmsz߀=ޕƿrWhOUq/3oig/]^`t칙YJFLNXi~WNhiz{nev{wNC?FNWYjsmVjw}~ԊXwM*/g-\Xau|{y{ /i mbW_oŜդnY\`P~왞{{xͦxmgfsyotZZ>~Odosc[QOOPYepy5TJjNqrw|dZSRXm ? ʼnzsj P A, ,~JJ*ۋcz{ hjv}fuol^YW[_%trnnkcXMTam|O?] avQAtVpk`UPRZo2@nlhgl e~{;5uo'Ccq5xGcndcgt4uwqk-&P|nibacejoqo(M\_e_Z[djmo}xuzqhc%N8pY\9cluuizGnu/+azrjb]ZURYlgsst?rwSㄙ.7!ǿO&uk荆#m{\qiiypQU\dhntw hc`abaI'{}q^]vol_vy|}|x{`[\fx􋈏΅Ejz9xxyl7kzwywfʼP\5{nv|Dukhq}jTQOTY`ei-o-(b\^f9u^P`wqmlr||z||:nhdi8׋l]r+z]ֶ66n[VqʾOKtot_5CvgireJKNUY[]atn-da2p{cr[TlwnyֶI, +໐rwjfBmtz{yΉ:fJ˦zaRX|ſ+ū{|sr}zbykgkYQLSY]\\`'flo;iea_cmJtcXhlmrZA~ytm |1,5!x[kK6#~Yxegړ1sYYvhJ1N.̆kYyrpq]FDHPRTUncek3je_lpqdWh!srNLXmmu4o|l}wqqopw~|{z}`~瀕e#֘*uuc]ILOQU^hhgeb_^aeo{vsd^n:C &ylddm}scp]tuw|^Aooqu{?by{_tQ!2t~sQJJLKJHJR]bcb^v?`cgq{}vpf_m_L~}݆y~oaY`t/tOsfۄevngadxUeuz}i~{uzYKBACGMS`_sI`kxxEjq瀙'(c_cn}ynilorv}uivsmefpƻxicdk{֮*~燐}]MA@EQW^`^ZVRMJP\jxXap~yd~O{sjccl{\~}qkns\tfxspnjxL)itf^]euȽsY^r%/|u`RGEHMPS5o[XSLHITev{o^VV_oy#KzO}}{Hhlys`uwQ-rljn|rgOn|˾l_ZX]oĿ$vz/PaTOMORXOVTX6QMLLP"~re][˂(ݼojs|GO(5x8tx9ŜPjsuYj=ov~xupkhiou ?md[iv±{eZiý|OgVRRV\)aWuWSOLJNU`jR~}h`bjpvit﫬p{v%\x׿}lw"daautX_^dltɺqe_]dxV+u^9[YK qMJMQTW[fW~{tmi?Qvxl,w_.h^r|Uu: _VSmssnhfgj%+sƲ}cesN⪊Yo|d_`a XY\:JZ&NIqQPOT`nyRzsc"mkm{sqyY/~<03yx&/{tw}zyneYQXdbYloeKoyʻxolvT;'u@zz}e^]č[^\Y[ZSKHJOWcq|}u@F@u~|w|wt,{~vy/ym`XRLLR]oLovwuv3Nu|Cvsl`^^[WVV_[[]WMHILNNOYfr~|@pmk?y/*f@ug\PNQZt򛑋ses"-,ywzbuZ\i{~!eq'lIknquOf^jZPKKPXb0pq~}gohbfnrpg]TLMXO3yrq̠yvokmwmɶ<]Ɔ1wjbWUYbuvfj~kih!th fcflrx}W]QHHNPT`vʫuzP|soiegpxnrg[PLPYdxo8|uSy{~xpjhkqx~Nˢɽ-yj\SOUbr#zphesjd`dks72j-m(|q^OGELU[coİ|lkit~vhYNGHSe}?{s\zt^zysk{ƻgue\XW\dpTY=ll\]_gmsvhmlnom|rhVKIP[grtrƹvrrl-ny|pf'QNR^r sxwurpry~~~h{Ĺ)xlgehn|vqhWWX`gn.tstmCdf_TatTRGJJKOZgig'b^VZjzż%|p]RJIDYwupx}ܒq`VV\`n|xtyz[q|YƟxrkJoqh]Y[j)a{UI7INv[mwl^\a7>yFE~CKC>DVmq,topu.vyQ܆|pbRE?;?X~~{klqxpCFLO\z ~ֿ:hvzxw4|xy[j2wu|K2)&,3I]kvut*om?tk^W IPo|rpigmttxm}CrEDLMP]|~zϩ" V\2Mv]`cfhkmprtvx ˀ]cTqrd);@ERs]_aaW[헑hBggn /FM#opsuze?V^ddg_y⢐ﷷoi#6JYX`ol?v|pnodijpkwԵO_\[WR|~~(D\C>y}|~uwث崼ſrith(3")tufoz|r׬ROOpznuqolx}ĻhTOZcrkc̊9ad{pdpowwXqiɧ~u4D9<3{iLXs\_nrq}Ȧ.?tɉgSUSM+ybRΪDBLE\dn{k|έps9eAFMRB"Zt_x#ĺn讖|vBpu\I8}\\R`ki~$r\A)DrH?<\`|ݹbdsHJ?(vaPeZ*xbo8xy|tkxn$5Qbeg~{qxq6G)mRfk~zzoէ}}Y{uEXOl_cdnXay`lnrfm2?Axشw]Dž/{p_4$TinkTlTSYWEFyyĻדjW}[VC:7Oa0MJcxuU\éhugqUEj;SePAFWvc(@D>(\iHsްcnM\IKDkkfaun}}lkRtbXekunzzOBYhh`'Qf)qʻpɮHхԍ,K {(ybVA\uvyxbTpݶ}qy{``qIVp]FJoXJyKl$3}vdmgblRwӰeVi$jE2>4^XRRNzniķ¼ƥ~xw}ho\nyHQi73R?sYs\ k|k`z{nypin\fu~gmbñpqWj`wxec|WlctkqX~9ysA$!8YQXhtQsoyեp~iuw~prwt{i|sz@LdhOLetr]pi}ųtzF%;^nT\aaf]m{تtx9ddxrh]|\J^|Hs:N]'`Ydbc}xv|,B]^Ym}wljeut$ ~ywsai\Xlhmw`Tlox!}jnsfpowx_U~܊;Bl_CXok)w|x|wkυ{yxwx{s+{K`r~{~kvVcnmcY`*lwkr yv1JNhq`tsqpkxeiߌzwqzmoxukiq}|XwfuN`jpdUSakz򵢜QYZi|el4Up9z{m|zpmpuqptd[gfjknVx闖+V_i>WWk__jsw%}yw{7uzxt^m{{sȌv~z:e^fe_imkjwzO{sLjfrmmgqJru|{,nw?֒rt}}qtn~}x~qXgliomis{!Pgdiyolnzxsyrvxvz|~zeO{}{lS}uv}vy[nonfky~R/-Zwj|rbtpR8*Rx;q~h>H$<,k_?T[ԖSdhbv[SiNuWa:dbWPaRt6jl,xOVRQZs=&NMZ}aa|rUgtwzu ]֋ùʵйд̹~xuytyhyax{kXgnsc\l^_WihmhdaecRg[dOX]Y=`CfJ>Z(aH8SOC$ReA2VE2BH7KPH3JR?IJeK1LjZ\^\PxRv_mur~l{}vw~~_Rŷ׺Π }u3~sxx`gej_ekc^dp\hSeZSVn\X[YuXA\iPLPfFc[NXP>OcS;E^S?WEMKF_a>:YZJTTMYYIUFeHc`TEed_`VeoWfZrqeehhs^zMsh jit}:] ;쬬>OTzxzawe{tvz~czAgmkzyjbmdsqhroh[n|dnxbbynkL]tan[\p{b]ln^Wmwnbf{] tiebpeygpwpiphjsslrwzjɚ^uqwt{u\o+3zzt<,}{`|t v}zu~Gx0lnNoe}e䇇pt,[_@ZmYe2UGN֧C/^qYNV_⿬cjԼM!A8/Bl}MB}ྑЪ{y(GF1)@\ٌBsyVжxG=å~JO FA/6GOVh̯m1>^KQh&:<;|ƕME?0Nч9tړjA]N.WQDaۨrgf͙N,O:Xf4BypKWy|wʵerID$lyBErnRN\a`Ī՜^!?DAyqQ{ӱ[(EmblG]S`_H{gRcƓE8 HXKp31}@&H=1@SY\dxڶCߧy=.J^z<#Wq_t2{gպYkDLu]e̫mǍ:,^c$CE9ܶzWEde'N̢Zg##LO?NQڤH&Kh`c(}뼂r>Xȓ{FBcPGVfinиɺ`DzV(:__y7X븋j[pâc13SN=CV]ahqxֱȺB/x^82GP\y8<#QR?]myk.HMI\jƢrOcs~X~ʹqEձyoO6FQIM\bh׼NnҘ~Y DLEFLiĚcNjGѮa2M~aEzƯx`HUgZ2Qtl2SܤmJTvO7Qk]Vwu-J|m[rˬoIO[N]Ƥ`6\̛M2TGYijk|ʪ)wE:;4Zc5HfkhE={5N~nCKcaiعz@ElkW\}ϫXWyظUw`WsIo*k|ipȷy:?{5 Lk}57jnWYmtyѪJ1Tj_s41Yb]wxQuʿ}NOtOni0@eaXbyRKft:Q/PrZFRmqDP̿]%_7;rIޓ>;iu``Ԭ~?Dqyz5*-z61l_Wm}ܵrfРtJ"2AEQU`oחSM|lS2I^VlN/SjbѺL%(XoQEWiְsKSqfXiѤ@Hu|GF6^lRJliHvԌGlܜUzպL,vn(/\rtXHoѳRQqrjŖF4\k^kům8?aêt<+JZITɜd7DrԶI"ILX_`wA~:byϫh򗔐P%LK?R¨K0glkᴨL4YgNT˭~<0dI3dȡwXeãvD9U]LoP\zY(GhTAM`i~@SݻUKa3Oq~uXÉ&+jmLNkv۸SFk\#5faPWp/?3]vmy|xyvwίE'BX[_JG[sֽ\h*Фf8JjebwYCSaZ^yͯj2foaBWwE2Mo~P8PeWMSYcì{Q_{rvͫzHP|wCEnæKElbO_h_awz辯b;McVHMXjвk۫mE_vjdpNLoJCz0nΫU4Kjipaen72ZrwH2N_T@[fh޻Sb6,su\6KtXSR4y/VlOWxӺ¾{-#J]OM\~ץeRڼYSĪF>loKYe3mխtVn]_(H}q:>j{ţ /TcSHSs]b|"J)Jyq+%];дƓu?;TPBEO][Epɭn=MsnVTнʩuF`Ͷ|FK?bftxpmoqr|˷g-;Se}T7JpxȺR@f C+ |]2=gw[6HMzm+TB﷾^[xæV8A?tXUVXbnv}ҽVY|uXVcyȨXdԬ{SNiSV|}`[o&^SñyK?ahIBWv?wHhjx•`6CS?4EhW%IL=CLJKkLMvܵ'h7C\?JX`Y^s{wùo˟ZKx/cGmаuLZmʿmm}}{ضc25V\p[$Bkba̝8+K6NXE>YiHia,4[^MNY`gH?Npyy׿dnjQbunfjy~c.1PTlz6-cn ͬy@@^`c|pZq}hKh@2g}D+SfM]nxpH?[`IFae>o{uܹ}n4Fny5hQy̳/4~kafllgjv~}ɷyl1NsuNEuqڰZ=TjZLVpxT#)KcqB"F{fEWlv¦ւY%(KXpd2C~k[|ɼ ƙiPdvRNnʬLImt`Zfoqzȸ̰o\Y00JP`c-Qx{t.2_db lX|Q~{B.V~?5eoT=fwd|ᰢ|_Ss*$HU]xS:gҪY7K]\t~YZ,?=Qd`W_p{Ӿöb]1(EJEp*8p˛^B^NIyn8*COG^J6~ȜxMQkvԾuRMb^KN]v֭c^;/۹,.eF(PhSLvYJoohѷ{h׵?Aiq\U^imrǸļsDmcA4G`Dh}wx`Jz}UYŘꨢmI{О{:FK&VylƴTGu˳J/Ta'uG(C_K;HpVFԞbBI^ZZͲw~F-Tt^$Cm]LXrĽ\*9TQq`CZzwm|ĪTRȼh`Ơop0BYmh.L{jAXkZd_bdMn[Bvf8KP6f|bi߶xQsᷢ?=_VEEKORbȮݦeb]?Cwi(,\iZWbki`atϲixxn]SB8AHCGQ_~L]͹~[2BceRPleQjvNRΥoHHchbηnjcaNr1?HX,࿄zͮVJyu5Kxzͻ|RBhsbcigbgvЛp\p{wɹN](3>06SNunzƞvJ EPdB1sT9i~a[x⿄yƨVrϮf@Qm_k{zſgT'AolD-KqFFiOgti86VZ]jPtÓd.3TO>F`J-iòc:[{m^djk}θ[MW.Ro][:X̫!RG~bMM\u}D)LaTVkur|Ϫs?%:OX 㿂;XjaaՅcmϫ~p`x~߃xv~f1$ESEGu}TJgyq}©g76PYfkJqɆHFho[_|q`u{ktϥb@WjVGUu[[ҽkЮ$0Fyn@3VbWpvBXxqpéYJx¥ߕ{uxvF&E:.GJ9~j-7_]GQRzSF,ZoCZѹsDGntkž)\jNEVlncfvϴbjHls_h}B˧T^4VV6XwvͳwVsպGg:\gXV_~м«濃wU%[kW1*NgxpSDNTR\x?l70TzW:NjpǴ}XaίL8^;sPMgqwpeğaW0C {ˣİo:FsY/Tu^SpŭORnxS]zX>;Rol:1Ymz}ChS7Uk`j£n7"CL67MONabg޾ZS9Z~l=NooMpz}~գm_xͻMXۢu9@jgUXceehԴoW¯I%^n_D3DPLV@I\5IeUHke>\_IJN?dMBeƓ[Fh'xh=LlqtO;nEiqIXdE]yp\峊m5<*L[gkpqo}˦opʦ{i32RTUvj$nlj{ڽ]RedKARw~K!3Zun6'ObTxwIOX-;egapESo{YO_pphaeo{Ȩ]{ൟ[ErI4XkY?ε{uеQ)>oX);dbXp׷tR[s|Bie.N,RiPZӬ|^mo!ddyƳyg)AAbU'(/5Id(3AN\iu{|yrlf4_lPA<4+&&0CUmqu|{sxG<ҺT~m^!^LVRNNS]ejkic^YA_e\YWVUUYahf\NEEMYfqxzytmg m_ZOG@7/*,5ER^fknr$Iw~,}x|aM.ҽ;%9|oYURPQhj$HXVVZ`cd^pWW\beb[RLKOXcnuyyup$%vQJD;4018CO[ekptv;~GϪ՟r|pg`\ZXUSRTX]bgiifc_,Y[_Zba_][YXY]aba?UQPSXaiqvwvrnjf`Zm<SIE}Э@-2M]`cfhkmprtvx@Ɔ#}e/XJTWZ\^bei~<@gO`gyEB^_rx|uFPV\cghla~Tqrd);@E)Ό]_aaW[K4ggnM둷psuz?V^ddg/yy񢐔oi#6JYX`olǟPv|pnodijpkwԵO_\[WR|~~(D\C>y}|~uwث崼ſrith(3")tufoz|r׬ROOpznuqolx}ĻhTOZcrkc̊9ad׉{pdpowwXqiɧ~u4D9<3{iLXs\_nrq}Ȧ._tɉgSUSM+ybRΪDBLE\dn{k|έps9eAFMRB"Zt_<ĺt|vBpu\I8}\\R`ki~or\A)DrQ`|ݹbdsHJ?(vaPeZ*xbo8xy|tkxn$5Qbeg~{qxq6G)mRd%fk~zwzoէ}}Y{uEXOl_cdnXay`lnrfmxشw]Dž{p_4$TinkPTSYWEFyyĻדjW}[VC:U7Oa0MJcxuWréhugqUEj;SePAFWvc(@D>(\i"ްcnM\IKDkkfaun}}lkRtbXekunzzOBYhh`'Qf)qʻpɮ!Gԍ,K (ybVA\uvyxbTpݶ}qy{``q%cVp]FJoXJyKl$3}vdmgblRwӰٺeVi$jE2>4^XRRNzniķ¼ƥ~x`w}ho\nyHQi73RsYsWWk__jsw|.yw{y3t^m{{"sv~z_Ge^fe_imkjwz 򂇛sLjfrmmgqy{uru|{VτQw夞n,ytrr5t}}qtn~}x3qXgliomis{?@gdiyol_Qxsyrvxvz|~zeW?{}{lpxx(uv}vy[nonfky~ވ9~{xvsnn0.T\.։cױxI2m?yyx)yV/4Vs>9K]pM{^TkWmJ4;OdnJhr`k?XB[U=IlgPIN6l|i5# <_r|([{Whÿ|\a|pS5(Ov&K2&[]B%mepy^B]kRCa' ngQHhOk]{wV 9Q!7gۘhRUg|vB4J_HgVXMLK\w|hgjal񕣥LzW+ 8Zq񗗘 mk{oULROIQf/{_d~n}fqilˁr\)%QuӯM; k,.Kh~&ӲUyw}gj]{e=&.Snyp[KJgnbe5❆oitNlbpn_ZfrHZ~L*Bew gg<)!#6Sh,YLwbs_lacb[VREFczAA{aF?[XfְvkjiYi_OWo8gqc?/:Wss࿚eD&ܠ9r;0Omz|vh_bmxYmvLl5b~dc囍kqɮe6 (LdyVp1xl}ta^c`WV`qgYo=ߞcyjqw%VِuJ̐|M$-Ro瘞1[ _P&Gi~bk˻wjxO%*G]n~韋lK9Mr-ӧRNzly_cy|mbjx&ggˏ-fHdtzg~menQxmf_LATrHrhq=pim|zncciurEfwVeRK;3;K{ih~?@hbauhXDGbphZZk{tGrfz|O78QmrM35FiB@Xm|nghozϰuZ R{!EoJCNXcHיy!|n[g~_pl:6L^tD VzmylmhabpX[u簾qq}okg|6woqzqH0=UkS)_=1(,Egzqct$Wtv@#9AP[j}/jD8Vs7{rǖ~hWduop5ߍdu`k{g\[^|~iTag/xSGQ_sgdhwh>P^btjiktqrv[~Ƭsw^`v.=c8 Gftfn߃"dt}^~cs^D@[ |tRKtfr竱{tos~=iOP^z Ɲydcd[V[`dky"opcn~H|vbweG6F(|Rm rYDLerpkinlҁjl}pYPZl{׈{hgxuHdVZeqMyk~*jagifm}Bn_cggmy|yEap=(;sNT[e Y9vjt `Tvvyլpqvtg]gyυB҉~C}zfVQYbp2u~g^[PKVjx wmn|/`~{tahfgnzjSRf,+c̰rdXyxXVWp(xrrqqsvrf`sdCOnUxs~-ލxkmq9, w`xl|tGhX tzjkm|>nrdqqnXmh+jv{jtrqkWxhu2usn|IgYiaqx}Tj h+j{y~wcE)zk`[eOO{){On}w|'vcz:̀Smڗ_^pȟWQk}#Y%Gdmb[)^djhtxxj|WHvQ#}o}w||ug_NsYs~rc~Mt|榌~ynzznuvl\fc/{zcYk|m#ǒaoWpb`kגbg 2ggi|vp{{+Vvo҂v{wfpnl3hxsi~pw^i}p+yyo9y8a"TF~}qXztqkiykofdxt8xm#m~Sqn}ou>:_vvoi8qX^u}ux;~z_x]Uwzp~~wBAp7l%sets1}v擀f\vhzeibj f Zcuqqr}wevwyUryrxl^Bpr~lzw&>Fztiʔfy4a`-ٌms0s{eziUmnLUjV8I}=0[rǨ_`^pOCy~)jj_՚׼x4PHF|NYǂ/iz'E<9zkڋ~RsqynxJvvMpmapTywjrsn^xf8v_I|ECAjVfvoUP:vĉQ%ϐmwPМ΃TI>A3:~hw%aI/xј4eHωgK"ds>xâx|']VcrGswdm^r I'OA?-$O!Cdضɸ@g[P7"bRXȚ/xeGgpez`moDOtWm`_Yn|ulįzNB$@VboT݌h~u+KuNv{FfjUXfM~XӦᅉX?Yg )npi˖˽pgNVAD`hdثיkUW`"X|j~gn?RϚzfPHdͩɰb^3*IZгƌNQ俠E;Uqt׆Xb{Jmxq||SLe(hibĔkeje\2uF+l̄X5qL^tl~[}gix`pURFdbTTxóIW4;5yƸ{b]_;DP}§GS]AxW\Oq~jy~r/ph9\”ŬwK^`C?ԼUkde?:O7;z}߄w;,JS[ڐăql0"_%@fSl⚘ӋioajGU[8D~ꕬ}_Jo`Y]IJD@LOןe|{mi!_ VIuF_szSlzpbbWyKXzLȎ[XfLe~wfiƀIqb!7nA~Irl\f~zuuxbqnVsDcyնwvi(kb ,ˬ ]vho|y(:HOhiᵍ?F@ GtL(žY*3Z%Y fǧ՞WQcie=spz֋LzaYIfYK{fctίPK|#yU!Z͉}xWgS`hiuy}@pKOpyͳSeU-Z|Vl}VMYj^eܱ¡E`cVZWI_FyWGb}_^uҫȤZh^~rOGicwWWFs]bwc=xqq(?s@zhusTXkoJ{SL6~o~ `9,Nj?Wа^q@>GGC8QlaOE8U@}Ϡauic`=sug*yvצg7dg:pqB>=ty\N_k?|kD^,z}U~sEfd}uB?pard~ktmwFHql|ZFWbTuy}݃kzX,Bl=Ês}:WPK#qV.}ӃЭyQ;qr&XP}xN`H-BTpL}y石Vk_ aanx`prr{6ΝEp~pi]||x4rKGl Y\ȏmt1>gIJnvJ̖Df.SiW_^jhKO~k}u{pehomɄZOIQ睧yvvulCuu9Moj~ƭqLVe@1blXt?ǙҼvf3>lDtZ6qrvemiBjdeDaW^=efNDziHz|o|fpmnXˏ֙Y)mlSv~gzc}6?c _z6^۵߭σ{w*R]Nqximob>M~tivbJ~~@kLQt[s­*j3XK6cZY`]habB4M[vgěq|tWwu+CVn OlZ8t[f尤ÀfWVYEvOUqs&-1HTXkzx}}ntUbvWMn˯}myvd#lr>lzYZVw{qnr[qVZnYp|ΖjhMOJ/]srjzl\d[LJ`"|~|nSxng+p}§~~ZR|s:{@xw]iomlsi_eg}{țeogyslatpgl6X^NSeX9wixv}mMyce wxraKVRl`at|s~{[Q^hm\}pfhYN ?HVSo\ikڏs'oz}bMRfV[}tW4ffNuf|ufcpx gwt`{Óyizq\Mbu{^rkliudRGRzmdmVywh|b]W|zpowhPSroDRrw`[n`_?{mwjk~}gvhy}clteexvcHX`[zGrjWK^gcS}{|xx{snjiGV]=c12aɠ}]o~'&nu|vk`wi9^\YT%6H.;EhxylriaYs`{p]DnŋΫV?yIGIbf`y}u~rZ_uAk[efs]lNxpc[Pt|d~zrjƬLlooxeapolsYd OTlZyZLfjmg]k~~drsgivҖqXSkb[u}nӌŔjr7YE8S2R#|֧a82 G:gx_˝y{plWRbIdO6xy`qN@~Mimxcq}^Ľg-;C:FRqzpƔcEH,=VSxƴ~VpVxY^IVtNUXctwy~pfMdK3qcNeJ~}MMhvfg{>h4~Ы̸yzOx{[9Y/~PDF)HNrαݨN\ecynz}kB`mGm~{lUTTQsXd{wKAKMPeor_^mlYoeLQ_pTpMshȨaXfOwdvz]eM:M6QXOtdX~|RyaeksĆhnecjx@ai!DgFQR}nsdZg}j\JWxخVrp/bΧ֗pK8D-2ViWs\ttuCNvHY ;l(nk`s\Yn#ryHVK2vsPFm\rڄίO-4D~wЩ엖rΎJscXoY|mSbt!1e%xv̵`edXzsxaᎻLT;UUKnVHlWvR{hsěT@hTfQt*tR*}=>|t}ba 3HO:n}|ŏ}ilW1$?x٠ܫiFFKA_Pv٥uTy:F]8UيpJf7lWBrzjpN}r9myqeDOl`tKJg0lkԔՑ_{ZGYm\KwxUpРޠGL c֬jadhy.e0ml*/[iʼ8qC%\DssȆ_t_uyrD;`x||řuk&JrPmnGX@sr~?7=lTvue~L0q`{&X\fgjdfd~gu}~ KimQ)fO`ܾɥhlOS`--M8.𾈷Fn}ndb4};֦DFO1X=uuctoXchQ}n`²8fV%IB?txyQPT9puQKc'NK}LӞՊzF9-3puYhI0{~ңgt=`Epuw~wtelkiz}acC~$`IFsޛ}Ul685֥͇`zNjhChuU?vZeSUdQmu{ͅS2roL{WxnUf^U~qezhbx\O}vYs?yρ[uU*A<դ{G*r~_x=Kn&(kcnTAzi~i,VH#dipŷݶPliF(-=Ȑґjrk]00_6ovZqQMwoTyy\J(e{KI\~pcY4.]&cujg]N,}I3Vy‰ֽĪtjbKa~}UuofzBZXfбױTzmGuJ\dN_em麋'4;R"X~بءku)nD;i^dųV!oձprgQ\GfkLjGrFLGڠ[:rQbMgmaUxu+azcu״cUeK?oј?GjM9OpנXg<GYIزffQ@>4OYbȻͲqf4?)3SVၯor`fW&_sd}ri6Mc=wV|zBcoDd|RjpP`Yd8Sm¼]XcSPh4`rLð垵҈to[zEN`P~cgC؁XtqRvlcw>T;~f?bcXhrpy{ǍY]aO6FetiT$iڔOQi^L._qd~ٓGisCm?Otd`M&`S`ϠP"&X-Uqu퀈o`f9He;r_vV\nT\s)/œT*CRA^Z9lMylUҖ|WmjbPgxvպxؾ|Z[bLCglT4Q^Y}ɎkbV`fS}vwt{M>HI7awGBsÿ_s|h㷛ors1XYZnt.sDCŠc^YhtxSrDlV}s#(v$19qgRX{UYnhVh~ͬm{ge?@gOR]wJezsVq`e=,Vf%%'o۳fq>Ysdkobb[wwi&f̄(~w|tREZBVV / ֞biIte9eqEvqqtB:r\;ϯrQaIWtiRSO(ND.ͥgzw_E_i]}mwXRtKjix~{ܧwrXCLIClr~§~lYcFb0!69zp~[,9I:W^wz{m2wnIfAbdȩiwOCw4dv=w{زջAc\':pd_F_u~tZsO5Igql̓bhu;JpXwJ;g@ fZvwtre?klP~e{re?cnN"mcuKh;I/tsĿƱwmbnhsZS\OP˨U#[O16v|ra\vwƈm^fP1U[k_}ǓѾVq3:_I}lto|znIFXbIwdv.Y}~su}s{~QPl=Fi}n~Goe[[`bouxs^j^^`aXzR茖q}{l~Gkrdbsvyzqz>evg[coo{vwvQkafxsyϯ'dli}zeSdfi]cƲY\PRYK]dhˢ~Ynk[trt{~sړ㻎qgckUSps[kcWzixrDEky^s~~)opj xyldoxpvqkxth~~ ]ex{|~q|x}ц|^YRBJPLY}xcfH@d]bgʺ\cTOag^n?/ Z_{#lTja]lp}_Aiw{egqnlzf&yXv[ZV_^N{~gxpwttt||qvtstu\kloMl)]ؕ7trm`occD8iZZd[l뛈ov_gicHrneNU_Pc"p y}{չ3}iqtl"^Ix`9dDap~5:GlN&4fb||-gz}ዙԻfjiOYj[dq/ {̣6mv{j{os|I~||8Xl^tumjtyr>ptofet%.幏myscj]g9ki|uY"֛z{D=wzȭbrykjyz+፝!yv}svgrsqhGzntus{x垲 VOqː0 mt{pyHh']2{x8tnpuկ|vgcehgjnq gu0yvrxzynfqbW`dwA}\,˰㾀xrkckeR^pgfyߌCw΅jpzxoo=^xzjqrq5f0!xkvlnj+?gp3AofŢ|uʐ\ w= ŀ3[26v2~wpsvs#橕 YA(gQ}t,Ӌh qPXO,4L 8%6 RB";~B1ut$ư%KVFHㄊtțuwC0N5pRd{|( lmkxvstQ.{e~vY^qp Ep%*V6ru%ayu J'~\!Y(rB~ t{ɅWvtU)v2r/&hwpq\w'_deר@puun,3|R}R!&w{vz*r ' a)PR@ʂ'K@U@Twu(A}vXFaŒ> <c,pvtvv9zxrFM@|ur'}R׶$ 0:R0P0#Er}!BY@ y@>n}z_L2ؑdAYw}هAPfAPtHqMKo}}r<yRD^4Ohy}L,MgLTnx{F|XG_x~`E5IYC\rv|@'_I_HzvTLcuzKdHVsy܍%gFQnwyؗщ吏eIUr{}2C`HYox|wmLRn{?IxpKL2"-itSMjc:B$jJOiux!>9wTIc@R HxTHbuRђ}\Kaw~@RD {WIbtx}뗊CD}ZG]tzG~\EZ#{<eL[r}񁐂]H[qw|Ku@hJSnz~OEgHSkvynOQky~_lLQjwz?pQM*G ||煄uu/lHdEHt.gJ;Y^'Rk[yqZmy}^mqqfPoprc/;4noVu`b_Pjlwv5YlygyYnfx|W~hkjW3XptGAeseIqcnxsiZ}w\|}OuIV^h|{ojyW}~nd~UvuL]fXnWo]fljekvl|z@vDwy}u{a_cv*ߍ>;mawwrLox~|WXt}wr}hu{Woprpf~jOM^W|nCln_z|bai~m~Zxe_vu˥gqW|o~eUsR;vuZSuqez{fj7{ckxlhw}m]Ho|vvk+ޜe~uplgxlsEuhz-me}k5#ka~zqzy 'V~\oh ҅|tt]cox7vcLbcdtej~n~bxm6 rsLzvw}t{z~p~vywR}yt uuyWvd~rolt|mlhgt`!gYowaϏzdsZ4^Lj|~ks]ʿk^!>Nyڏ~r|}|/fdgnzr`mzcxy}eV^{v:zWokjyl7`fpJ|s^yo|qq}rnn|tc|zk}hیmc~d-#~}jm3nlx 6 lulfj~~euWRv~ltq;n&uio/cf/~K{vjxxo]nMZuiO + oYm{lzuukX[V#Biyfacpv|\>`Rhayy{^Ypb5LIwedwrqWfzB^jX}HVj|xkwiWol[T]`qYHj`utw^Tc[|tshXmWU?=vi0qr\>zgZ|vlGctbo>k bol>fh|\~qrzDYqmd\sfzYO^b{juax{n:puhvP}kkWqhkM|ut] hL\ ]|{gtsq{jib Inu{UPUuyr}YuRw{WRPtj@{dtˢtMMxm{|WbiZ?Bc]v\|_fTk}kup{qf\8Ftz}y;v{zpzFe|_fsppxv}P`t|~~e[_vhsu6ӛsz^Q^gWxrwilq]qi{O0sX]}zxyxOlu%^~zm]vzM\ord|;~xR~\y^n}{ui]xjw`sT?Y-rtxwvg_PdT~[j_MS|mVO\Q]RcA\aYi=HmszqkR4;bk?T}O<]}yqJu[[nV_m}wjyz^WN{^VZvVcqvKH{RpmMD9?dsWjjm{Ί\w|Xrazbo|Wyf}jbi{Rmzhox}rXx?Huc&lNwmd|mxmZzqe[byY|eRuqmo\sf~otnTyZ|`{~um[s}`yVw-ϖ1ophz~^~tyQkoswyyZOy@oynuYvqVkyYw_tOQj|E|^sX.Xncvu9j` ul>qoq}eGsk`|w\Q~pir{y`vO#s}w~'r|s7uz\#{\~tΟi{9~xk6蹡etcnyܓURt-艄RJ~M^esxxwȭ{uSNyuizmbt?Pujr;htklqiFhҚ1ŏrgtv{mS\lcpǠVCGqn}~dtsc rxdwkkQ|qrc~\erOk-Cэyc hp}fu}|xlih.zPbleQ^lf}dkhxzc ~qg$V~{y8z+[jR)K^/`~j[|vondaopc\mݍtrעm~hz`qtXqoCľrvpY|}o]P|1ּ~s]j|fpSzn`smk ?ؔdahk1qnsmv}|tWl{}tdaw#fcKq}ty拽f dcw&m *vC|nvl~}sydpf}ummru{|3bbyWt}oj3:rsnjxjl ?`myhw|DJnvrXn~nIwsbdwh{|x~w}}g{eo!hbfr\wvkr_fooaux|oxtЍ{vw{tz{}tftzq$r~p{O{uxr{qr?|||w|p}gn?zg zrwsg$^urtk}{7yv~|lz~;zswpyvuutx{}n~} uxgy vrvhvyx|z{yzxzzjsuty~odn}s}~xnwniY=^v^Q|:>c\~k@5newmx~yf)lsqm%^Y*Jq[`kmkۋgk`o+nYkuESYy{zcmo^:kԅtwetm_bzX|Yv%ksizFVmt|nju{jzO/vqr+Y"hrSyhuڍt||AClqywzumsvGp~ ~yo~uQx '˒o!twthzzt;Awt}}ryɧI~voy{os|#p}ꕃ|w~{F}|t{|~{qoyrI}npuxxttus;|vx|wwq\Cx}~~zʏ|/ mpwtwv}zz}zvw}x%~}u|{~yxqvtw}wpzwsytuz{l~}uvjV;Չz13'W2B|L4z}w?5{b`y}yEθxm{{JoPX}rsҁnjvx~|L{ourtmogp9y wtyjgbr1g jyoϏtnoW;2_x<&Gʈ銆8˞ ʌxM&fZxyx.CwLqj{Ijzqzxܵxvo٢njou5Ls}4+~rnjwe*zv|u:>vu& |}{25HGBzƲutEqvy֟t1p{t5i~vl mMu{^}7{m'vmrnxivzt}ƃHx|{~~~ezy| vzv~|{w{O[kw|xxriU"{D#tʖ~_F{q|vwȿsGzu~}v]{{p|Proy{}|wor|e}ly}-r[y4}zErzv|ou}yjju %viwpx wzyHozwrssz|{vny}yrp~| s|wvyyo~ ς{zlr||wj{pAs{q?wpxwu}kqwrt|tsxs~w?0hyy}~~»#>B̖ߙDm{ʛhL=QNXYhDpmgjsk~ĭ?ѻmr;<7#+Jc s7i#)4;>>:QV\\ mq ?AtrIz WA^~<ΛzzprEe5kUwعz qdꠐlpa'R2RГhzGT]V2"lS-L9DC>_g~?\MOy|Ɉ|hಸs;bNܦzsKj\utQm4:5JtCYJ/{e~9:^^dbV6l֛ǏVndʧmTxs|iRZ+eeLU ^l#Hs>"`@[xuTl^ihrI鯦o[sfާ}oNr2Ystlq3JRۈN|]"!|ntuUUc_X`irVKyJc|kz\&m?m10udAFaPUlghJ˟kpñQ[=|+:TSloh@DR4rxtv_yb|b{uk{tVZlNbiD~xIllcyqmw~T!wrKdw|HwiWwM5?tnqfJJbqtj|l[\a5TvyWXlQyzbRw_5d{zltm_g.]|5}V׌tcԮXXpm҈j[^b6za]s)MtV`|KlgymszaghWhwR~[|̳wP`[>WXyoQkXnizjmMXP`g6gjkEM{o}'hxF|S]P~\Db>e:\{wsebdwYaY"OjnXWa{AWzkw]^PY_P@f[L6nCebkx\~me_S׸]zFbExwjVRO]vhzpcMSlvDU!b{orwxpS܌/|OpldU[WfuXbtecrrSy_ma|q{dxoykf|PQy~Vhx\~.}\UtpNr7|LyV}^`wd]m\|ҍrnϲgum?s8I4DRALtyp^xq5#^ERyQyvdvFaCJkc__egfSHgkC?W~w>T`j`voxgutgplZg_^{k`xlvoz{`<gf\|{ca?]xukxjxr]r?~UQ}e~jz~[adoz`pjwkkr b|glip{TbqybPupnh^}ui|^.tiWhfa}?䖤H_x}~t{qwlXxs/dkȍVo_D|htYxz:xltuu=bo|lsqd;~Zl\s|^9|m]Ylv~mdfjFl\~~s`UuSom^pbwhyfQ__mtOjrjcd{wfPwwcinՍ{yrreluc /&_kmap8X|x\sgz9lzrqz|x{vygdxoWtp{ohkX`~rzcwvvWxnurwjxpx~ok.􇤊}uXba?ud+}xzdq)~i9kTc|s`l`yjpmv5yb_dhws{\/h{sgVxkm]-^[e<ٍnfjeh_qZhy?e~oqptzinzhboopndr}rugxprwYsm{u7xm0$wpso|}{qhr|tzo?rSw|b[rkkȒsnpz|zjqwtj|pcvsto}py|nh}vtaoN[qdevrxy[\iI}|i{r{GЃh̹'mlgtEz}[khquc]woef}^~vIzttmIfzsjr~pca_xvkghu*f|xzs2,yim|y}+xvuzihnlvwdswzyplyq'orłj[tS}|pss|zɓ~yl~vyamr TT{nuJĖqR{0i3Jqox^gypz~|vxinvNuӂtiuqksQlJG}s|slnq{{~˯~uvQ/}zjk}Uw҄}yf|lyzxvzu}w~&n$p|{yⓈ.~@}rwiuy0uexpo vz~{s~x~{p|s/{{w((u|kuu|wyuzmut~~}}@{yy|xuytw~|Gw|rz#w{}tρt~x}wp}Ovnx{z~mzmYe2UGN֧C/^qYNV'cjԼM!A8/Bl}MB}ྑЪ{y(GF1) m\ٌBsyViжxG=å~݁O FA/6GOVh̯m1>^KQh&:<;|ƕME?0Nч9tړjA]N.WQDaۨrgf͙N,Y:Xf4BypKWy|wʵd_frID$lyBErnRN\a` WĪX^!?DAyqQ{ӱ[(EmblG]S`_H{gRcƓ]88 HXKp}@&H=1@SY\dxڶ3-y=.J^z<#Wq_tg7nպYkDLu]e̫mǍ:,^c$CE9ܶzWEde'N̢Uߌg##LO?NQڤH&Kh`c(}뼂r>Xȓ{FBcPGVfinиɺ`DzV(:__y7X븋j[pâc13SN=CV]ahqxֱȺ!2x^82GP\y8<R?]myk.HMI\!jƢrOcs重~ʹqEձyoO6FQIM\bh׼NnҘ~Y DLEFLiĚcNjTѮa2M~aEzƯx`HgZ2Qtl2SܤmJTvO7Qk]Vwu-J|m[rˬoIO[N]Ƥ`6\̛M2*TGYijk|ʪwE:;4Z9c5HfkhE={5N~nCKcaiعz@ElkW\}ϫXWyظUXhw`WsIo*k|iȷy:?{5 Lk}57jnWYmtyѪJ1Tj_s41Yb]wxQuʿ}NOtni0@eaXbyRKftQ/PrZFRmqDP̿]S57;rIޓ>;iu``Ԭ~?Dqyz5*az61l_Wm}ܵrfРtJ"2*EQU`חSMlS2I^VlN/SjbѺL%(XoQEWiְsKSqfXiѤ@Hu|vF6^lRJliHvԌGlܜUzպL,vn(/\rtXHoѳRQqrjŖF4\k^kům8?a|Gêt<+JZITɜd7DrԶI"ILX_`wA~:byϫ/ߗP%LK?R¨K0glkᴨL4YgNT˭~<0dI3dȡwXeãvD9U]LoP\z^Y(GhTAM`i~@SjYݻa3Oq~uXÉ&+jmLNkv۸SFk\#5faPWpBc3]vmy|xyvwqίE'BX[_JG[sֽ\hqФf8JjebwYCSaZ^yͯj2foaBWwE2Mo~P8PeWMSYcì{Q_{rvͫzHP|wCEnæKElbO_h_awz辯b;McVHMXjвk۫mE_vjdpNLoJCz0nΫU4KjipFen72ZrwH2N_[fhJ޻Sb6,su\6KtXSR4y/VlOWxӺ¾{-#J]OMj\~ץeR<aڼYSĪF>loKYe3mխtVn_(H}q:>j{ţe@/TcSHSsEb|/J)Jyq+%]cдYiHia,4[^MNY`g$Npyy׿dnjQbunfjy~c.1PTlz6-cnQͬy@@^`c|pZq}hKh@2g}D+SfM]nxpH?[`IFae>o{uܹ}n4FnyShQy̳B~kafllgjv~}ɷy l1NsuNEuqڰZ=TjZLVpxT#)KcqB"F{fEWlv¦noY%(KXpd2C~k[|ɼɖƙiPdvRNnʬLImt`Zfoqzȸ̰o\Y00JP`c-Qx{t.2_d~KblX|~{B.V~?5eT=fwd|ᰢ|?s*$HU]xS:gҪY7K]\t~ Z,?~=Qd`W_p{Ӿöb:]1(EJEp*8p˛^B^NIyn8*COG^J6~ȜxMQkvԾuRMb^KN]v֭c^۹^4VV6XwvͳwVsպGg-:\gXV_]~м«6%wU%[kW1*NgxpSDNTR\xl70TzW:NjpǴ}XaίL8^NsPMgqwpeğaW0Cv|ˣİo:FsY/Tu^SpŭORn`YvǬ}>Aiq\U^imrǸļsDmcA4G`/Dh}wx`Jz}UY1ԨmI{О{:FK&VylƴTGu˳J/T_6uG(C_K;HpVFԞbBI^ZZͲw~F-Tt^$Cm]LXrĽ\*9TQq`CZzwm|ĪTRȼh`Ơp0BYmh.L{jAXKZd_bdMn[Bvf8KP6f|bi߶xQsᷢ_m=_VEEKORbȮݦeb]?Cwi(,\iZWbki`atϲixxn]SB8AHCGQ_~L]͹~[2BceRPleQjvNRΥoHHchbηnjcaNr1?HX,࿄zͮVJyu5Kxzͻ|RBhsbcigbgvЛp\p{wɹN](3>06SNunzƞvJ EPdB1sT9i~a[x⿄yƨVrϮf@Qm_W`ik{ſT'AolD-KqFFiVgti86VZ]jPtÓd.3TO>F`J-iòc:[{m^djk}θ›VMW.][:X̫!u~bMM\u}D)LaTVkur|Ϫs?%:OX0+;Xjaarcmϫ~p`x~xvf1$ESEGu}TJgyq}©g76PYfkJqɆHu7o[_|q`u#ktϥb@WjVGUu[[ҽkЮ}X0Fyn@3VbWpvBXxqpéYJx¥{uxvF&E:.G=J9j-7_]GQRzF,ZoCZѹsDGntk-⹿A\jNEVlncfvϴbjHls_h}! ˧xS]zX>;Rol:1Ymz}PChS7Uk`j£ n7"CL67MONabg޾-WS9Z~l=NooMpz}~գm_xͻMXu9@jgUXceehԴoW¯I%^n_D3DPLV@I\5IeUHke>\IJN?dMBeƓ[FhГoX);dbXp׷tR[s|Bie.N2,RiPZӬ|^mЮF(PhSLvYJoohѷ{h׵?ffZ/h*ļh?41pf0rdce5Lv)*hYQ`&LĮ3X oel!s1#ƫ,m"lš 3uM o`/ ZI~jj!@D5@? q `϶`z;@2늏ua\ <*i:0`t ,CX1v6#߳}UdP-yasY˂E8s@ke+R,193vrѴq'x2P`,'>6 q! VK c?.(r^th,TxY)Z.YIթEgJguQlzK+$7o?W50F x&pFt5볨BJ VbkD*T)_׺e U!aq)@mVEk A͉F%Q0Xq5IXCVAVa&XNJ4(_" :z 0BqfZ0'? K]ff$xzTȺɬP>^7#F(9F/H >D1`5B֙Vs/^Uz5ЈPnMp vr4 V38'Pw^ZaƬx n~ +}nVm猅c#kP4am:%)|'pg8?!5B3 m!PWi>cPlfd'=t!O E= ?n8[Ҏ/V!auB*A'* x`69X |:n*_Dz 5 a kg'``y;z eXT,~B1ܗQW^|JdP0{SX#u NH>gbvN <J4\ 5xsqK{Pfv Ab{%pF|(T zf =w]/q+k1>; 0+g5D`fsBYopDkt6Kg-b?BScΙt _ Z,-?Vj@^brƂ?ϛM8 φC&=3+~ Na~[z!_tOdMd}@W(;|?<{#~:EG Yfz| ,AfXN8y$  &}U]b,N uU(Ruks(~ި,zB&C fPk8P sm:gFu2 `m53WBOpp2OleTF>8t-8-"A$4g`B(}n#0pMnB2{ZB6FF̬u `| =zv@`kz?_E0g}-3ڍ6@ Eح%ql? @>rk"ܾ`" }j n/ٌ0~&sab=oVݶa m09cU>K|2`3:h,u,b 쎡y 15 E&g4fe`Xd`_`sn+Ŗ)JƸfiЕhbfhgs0paahPv?}<O >g$x[L/\ Nͷ[Cb2HTGy̔ɏfdu2HVօff?R深4^hT!w ] eҢ+Ь`-oDY+y aKNe1x3,YUcg/ 6 ̥օ ٱz{Ni]h-c#.!3w9JVW?9\c]`'=׆80ywφL3-2}!l`wCXgCX }dli]f`>u~u4/ ?~>sǂ+Y`p`2>k*KSA7%^ ͘r2g'jP.\PV*bh8Ooh8onP8{+DŽy3mTYy,+B%B0ql{ϓ${KˌU!r[a{^#Z o?Ͷrm݋,$W+.  =%3(pWh \,1e9XMzIy.&E3D ,d-)pwfٛe&d`7ˌ,EXl$@Sќhf|qY7L 0mjE9ϒfoa8"3 B?8@g?"ǡ}`ٟ0 Ac ̆ eUoTe3.Ew`~cˁdWb Xn`A xH,~!_΀͛o2d% ˜ . c VEH|r/TJ& $l03 ̸yRƚ4 # 9(",Pϑ$8bH8aM'uHvt>La KYNtCзXR7;seƑCs+4Lf LPŠ9a ɞ`9WPa m5Kn`s2tEuL!ބ66h t!%\R4 B??W Z`P#-X dDH *v`> _B*TрP+,?6cJ '` 8B; @fp-. pq7 ` b%^/_]HTKn:L94'Xpwʥxn0?_&< \ "@ۇ1\X}r{p~ppYCeG >8q'烟S6#̀T.T|@Hq "D؄H#!`&9 xq ',]%ň"!aq,7qnSǘtq@  Hb$~?40]BX0h*R +A+pRPL 't!K&S2@fH$B 7ݻNZiR AO/D4U˓Eʹ!w%]*&UTFυk`\ " B߄K5nڻvWnR۷J]V 2+xHpA;ď$ #B$B"!G .(1FP2JDJH+HZ&  -$)P~) @R  H 4F"!h0c- Aƃ4C0N18p0Ùχ|R'Q9`Xd^@ٱ5eYw!*?{|ДsܱE l{y ؽO`c '&>dΙ&HVoSy<"o֑߳tD Lˈn1f0l30g y9>s?ڔ!YV2 'wa l16V6͘7sO9}K3$s+2g.';80ylxc㍙ ٰu0';>gyO~rfC &OI4L&U;F`!BW kAd.c(<*ꮿl`Шp?9UT hqoA B-( %<.(N^+ddE 䙒O<~pN|~YѦ]{h`Ek6d׃\5 lkaf ɘ||=>dSg9xWB VT;߱`?~̓xy[,`Ns|'g2| p80<d[3d*t"@P[CXlc7pUl`3C1- |xD?RB9`'"_ɭ4yI)x[i1ك6a^fٳf͛clͰmmcm] s&| 8fL2͜2O9~ddgG'B;`:E3d6llxaßxٙͱC؋'gds>9pɓ'<&f|3?%2N9O0¦"% *60b&<A?7x=!<& ^.!YR?ڀ #$af\a#,vMT'@OCI6ܿٽ?˭Ԭ ې7]AmKG?ŋ,]**րCe@üY> ka$V@&A/KSs ?ʨ57̸k;6A:xTk)fU lWIݷ5sK3`͛Gwu>R̟2d9\)?|K?`>@ b#B-CHlΊ`89ϫ3 pm!D66͆6fͱ/fc6Ey$2yə2Ns_3?|&Cχ6  2oI oqŢ%x(_ axA ߞɂhQ *bAA.YK@[Pȇ^/" $ET X)_= ޽ߤ@?V ie >ZB O?p2U\Px @Sp\ C<R`<? N~"[ԏ'~$ I@k5 3ICE!!43D"3DUf!2CTew| >?<~<*c" 6H]FUϭ"@!|pJ ٔZI|R?lr-X2+DS , ٜ`6(wk~ቝb6pD<'7fM@F$}@B!B{>y^$2?inYb6Pϭ!!rp}Wn9k8|ʗJrq:`B h"|0JQkta"v YY$ugXq{Jl6]wQ26YE2)[#`pb#:xE]_E#b!8kJ fg8"HL=DpAi!a`*K06(|PlF,+ ðp'XFrWDAX`[#E?׬Y , 3wvu  P=$/{D4`9 0 kjic^f/# ̃qK'3tSăZ=['<^sJKp%%o\8 LO3+@ /}O6I7ֳ4X?p; W?Z!"a`a,ِ7bK]S>j~c XIz=0_^n wlY#ej9f7{u xrpEg'd@c d 02bĒ4Kf.,̰B:\X"]UQ}0$0R wrзc5Y)$gBq7XMg)oonw}[D&pI˄KC}8Wkԃ DNKF\*cI( K/ٕoho˾H@BpYBxv4ge ~aA24=P{1P?A)0+&,O o`:G̉ⶫ u%6^Bjd M7UZ-uiI--ݽSr<`mş$7ojM4K,F {"?<?}c[ E,MGp^9SH!a A|u%BtdO"??k C,._7>Ь@46"^񸓴 s ohԌ# 2^o@v[lXC0/"5͍Z$_{1/ wZAVMo\|Xwd"aϘ&0"ˍy?,oX0\b]v ;a:./QQ_'Rf4@d%rC<<#O¬n,e:YJ?8+$󿰍UǢ?*Q$V"<^Axџ/eO^>XdJc`Ç`CLdD\Y(%DW$I&l? yHkR9|JZ,iEݭcfBr.H.cL:U:Ȁ:@V 'W0%2 FH53FB0;H;, 9 QIKX l! ,i C vL(dd Ql u su^_l\?(PT44?BLl~~ j0¥3? mg~3-_^!2DHߺMjnd5MES @?L"/vH$g;Xx=fv-r;<%/xW8?,?z#T2(?i@/l4 ƂuI@ S4 \JGNSf mMr+Z^qrI r9؀>Y蠖=y PYCP7&?ppnh,?+=%=/O߶ڗ, d R=!$ +$L3HBDoMpP3c̹\65YsH=M!/K>%;z+P]>*HU!VY' E +A\v <~ 1l̄.3Xpۖa'42TPd e?1 :1|lkPÁuoH(*O1b썧>(<E1MҠ@z@@QE;/"ap)! ݗʞ 4ZWˑl@p>Dm@OB,QXPRR8>.5ʼn} gKsfTS,& vR(6`!R܃ 08gɊ%ɟD)rkm`   ^{?B^g&ח ?)D ?CL:y@;hOQr/`: Q^H']Y/m aw?X>>Z|0\ +Efgی l:K$ޠD,9H4?[? F K pnG,߼K/F%݌[+H@H>>_sW UV̄ϜDAF x'aBDF'ː2`p_ X6G( 0A"i(HJB^p9f 7Zn O!ڎ k|~n+^ &*Ba޸U'?g`-pYD䐆5ycLD![!Ŋ#B?ϛ\d_!1@Y0p~<,C% {?rQ hG, 0IC3: BgA #r B lDs g2)&PSH}oiTD@ k.O `UX~:@xtU<Ԃ\́Y  54 a2_쩀|DBiu'PȬXwiŇ T6; Oߖ e x-vS+1_/\j Mv kBV6@n  `|:`B5 #;ݾR@f y0 &`e+*Cp,C'p/*] m7138vK09 Q(YJ(F2sT>R:RBORR [*ȿ5 uu\BwW ݔ^+_^.Tf?)]@f]Zܴ2N~^ 2vWEa˅ 1<:Ov\ զЕ \RPY^h{q \X_(s"?! x6Pf,890l O0qϟ ( P.^+Ot/yPn)O e"$ 0[VI5SK b\k:+n+yPjOG`mɺA_H[,?Z.1ЋoJa.ιеW3W@ۏ5 Bv6f!m?̠ER5lJ PWE{2;%GF? vYpp@[s:??7淝V 'n5U??^_;? /wG7_1/8/h?\ѬN/(p tK' W/}7^@"/gSp0@ VK<,?f-p/O(uQhˀ`?*u [Zn  7@O*? G@\?E~Zo8𼓋`88$򩊏 .`lHWq_x/Lu|t[+M 'J ]pMz>g*+LBSgMеz_U\ɦ>}>Y_q?://UUjNO! 0 G ~ B*faC\4K%QӍ?k 4|}kP 30صjUֳq?5u*!t |KhX* 1􁠂j*=!5D ,g aXu|sa-j[(5pfA/^ .lI>`"\1>cCh:0Ёhw/m97fu"^T=j"?əAIfhx 1遄/; ~J%a#!ҁ0n`CӤ=Ep0?,l)r"ւ|,Olb m> |cJn x|xB~ClRRp `7 ]@xܫHREl:= )xa@ 5s r]Ef9t? ]Gx6?<38 ?*^TdU gb {W"AdUr Y^,]Yt©`?38"(O *p9RA Hb .S ~ XTYO&?dB@sn=>$^; f5?^ (f *( _P/fwj?@h+. ,la,:Kw}@WUU!'X MwfϷ4$r9'j枪|9} ;uI;L5VfP0}/UWUYX%rM]:tىVAp&R\vZhXsJ3_:\)o* 4eU_@=/}-UPUPXg'줳g|a**\#xUiZ)+ +ZQ~*f*j ǘ 8, XTB/%mxCr g?pXNk P LF`䳔bW ᢵP]?80b@ ؐ mX8!sm)rQ(&WJhJ +-P@ _7 m\޲I J/~lS2Wk-TU,I5V08FUjw79= (gL:30;ܺ<[QSPL_h?+d8LR͟FpUA/Jl"UU'+WTO+ q0Yr 1^lπK*7rR|ApLОhq?JN瑚owШEep2fw?t%DY<*fS /dї3 Dɤ;%}J{,@'aTLn'!~=8س QV{gi#ЪrTsF~d}yɂՀ=mzU%1X+Ph lR {: UT / J /1 C^b<1V/@ 9 ]A?z v]wE5-02!OL@YL4 [2y10tޅ\B*e>ع1[3b ]L@{ LwOy&ga`y٘2MVn;oXê "&Д<<~_iO61qWEMs6{ P`h =y2 l![Ke>IS%I? *4~CK@i&{lx^<Ӕ`_ @T< `/@wP K`]ӠjT9 UAo,-U_Q+%_ t?`%R#?TG$*KpGHH8ğ^ ~ OK_ o Ek~xU]FEmyA+^ЄtxAPB oǢ%x,_.v]hT @ICE!3I}Bˆp0"@3Pu`͈܄\&uسKvI""f}^fY ^*{U [( <7 l\4sbf.ٖ$peX؂ +~ ɓx78gUKh`=0.k.+޽Fz‚E$ Lh qaxu1.Hٞz`Ϗ~a 1>i)7=8_ݝĞ}U^H q߃ۄw~A F`\T-̪ۙDfO0ܻ}=i94s0F0/DݙO/@\gwOW]^qQ+oAڃ˅%VOjўml}K=3B؀Gx ޝ1,KY^q;MB."NjMJ7OێOc)uEJ֏_N]f7K+ٍì.ީKΝxX}X|㋃#Qo8/ &3l?fu>[Gbtنݚ$+`= f{ppf8L` aŸXgPg2M+ي۹̗YY' K؅Oe'+/ dIɭY 0&6wg'<Z̞ܗRS`לU ??`$K,?wfև=N`iqۻ٤٬~f艩U :+)2Y3LOVk1Ӏw{p1S#@' YkފH~$ux,[R4>8v3NfFA-gەƻݖqMX;-Y63#dNww-@txwm":Ҁs>K2Z߂9Ow Awwtv!www Æ섔W`^hKBww8QDWP2a}N~qzaAwה/}X@GW 𐤮ǵѹA ҷRCWݹAOٝf݊ʛ̽ kErZ]h`MX|N٠>` ΝC_,۽#L+qVO_b/,?hf@hfhN~t&˄h"_,UfJ0eXxv~»5 |;껞=G7`\O(,bbۏhl%8fB&&(}<Ⱥp!toHW.[۹̮<̧ "P¾,~>,I&I.Fffh3ldh"d6H]G2 г>enb&~`Lx*/"*$0? fff&F4/dF^ab 8 ~nx*-ڰ0L"~_"l"hƨI(bb~X2L|hDfy?lhL4xn+<79H۷b%(߈D&"z"I&"1ebh"fL̈H"DlfMIDNhzCJ) K= \b =䈻{ كCD/&ɧhJfLH(d%̒_"K@֑DI?gGW(4<0h%fFi݃ʟfD;&DN,a.dʌꮾLRDΆ:Y-.|`P<ӓU"rm#|/fK(6ȾH1 묩;쪘sü[,3 ʩd+xUEg8׏=D:߈Y"h;hL?LrrK7&!߇^kQ 雙G(Ogd׏%^IJ ߏJ}N#ʪxl{J7<\XgXȓ嶚%{dDp>DL&~ML~L/ɾDcꁊʌJH Jģ ꪱ<`Ij>헼+J(C߸>gM`ʮ f|1`Fd)N<8<mb8Hdz3 Tq1l^Vh]DHWJlaG҇ɼS +E잼G#ˈH,7) 2=G^B&a6~H`iFb͛jN6ο@ú0=X/H 럊 I* fpr~H{λErZ=!MƏzK&O:.ܰzaEMmE~/FcbO鬮;W$oB'sfm s 7ix-8u_ˏjL䗨׾X1Z鿩\%UNf鞛/e,굾DQݾeNr=Sbܭ3 )fgpeM3u_ҥVy!uڇ1FKtͮ9Kg{kݛ>ۑux i 3[ɛe;ya~@}rޟFlٝN|Ȧ%#SH|Mk8H~39*HNyR,J&` Ҕ4݄/8$s,YEI܉R`,5 BѪA1K 8W=b]6KV؃d儈`u9a̽I nf,O2AY5 ҅`n73/fX4[R~)~4GypJ2b%%4@Pg`'z͸%s,HbZn&78k@ƉŹ5ٙS$Qp.Tl߽CY`ݮHـW'c4ʪKb"H,|q`X۩=%P.eyqx- ܝLUTL{>ݥ%sD>Hfb70bS q+FI4ȌMFgL$iipkIdֆٞe&ev9a8ןsyt0_,^qҿ8X_10&^UdMʽ#0hhH{fbht8), x},zcj۝oc 5` ܮWY!.Pꬻ灻kf ,L0oA+q6GǧU,?8Kxfˀi,L"JHݞ|,E<`qʈv8`a?bf6̬'1PT-kxO^mw5 PMHd}Xf+fs"\|Z $dV ,qAxVA5J.Y;)Ć}&H`߃dpc^#6d߀zV1 UE/Q8^dT̊Jn1pۀ[׺Z؀,V~\a =`Ɇ% Fw"tLLsHx>nQ=Z O`TdFq%W(pMA|F^Zox彮W^W')[4j]UYEuUN%@ /7ŏ}}Va[0mxZXi ˒8)x`BgoQGH᭽x9kQ/l W)-ͼo o`V}N \j^`WD.M Ixx`84<[ހWlh^,*! ExsjGH`ԀqP1K0Qf 0 Vmx0C`d;6 >S3院ߚj3 ٠c:^`X@陌wi`E:wnk[4/;x7/Yǝ˝5e\XXXgXYpĹN<׻)zMfߙg蟽xU5`33`hἈsK3Y_`5Hd`DfrWh|]TLX5X355ɿoC8fRQ.f]h/=`4VXW fh3S;ރifGZwfnc"׏f/x'͚ 7X9햐 ĔÆX m0|/<$I1l X̛o!2ñ[BAG ~([PW+Aq QEӀslٞU`UURV3ڃYgB`y xnޗVΛUG8P(fMX++Gby -xPգs6ĝ׭y6Lo+@3Pf5ُS khV?[lCJFX̠ ˸0 +̡"k#843%k535Cm ۔hf=oa1@+!P؀Yj}<#` e8zr[6FsP3XSʭ0h Ca-V.+uEsğۣq"ށULhXܧx[8x&ɁFާ 8Q.ĀlݻԝQ 3Շ82-%l|Xߐ|̺*maɈ8LDp܀%TE=!cެy9{.ٞ[399_hL/7eDf  `s;a^B[R&rpD̆H4I"`7 xq\P7T7X]x ̀I&ocd^ G'ƴk5ӳ(ك̳8^Yx1[ĹKLlytpnB Y-8fq^|Ā_lu`fe+9@*fͿ4L;p܀q6 xK2yvWh`l hތY6`\ 8Ƃ4u# eٝa&]3vIZ ܄GBpɞ>$d̪CpLGٞq6`׮HCx\q0\X'ĭ¸8ڀw oyb H|JV4%ٞ%/7;l+ƽՀs]6ۃKx K*G82@+VQ33G x_@/*"ʮ&""K/:z+f0wFfź0Jx 0TCOq^ֻuM xa3ʈD0ߊq𱾽❖x0U3ua V3fq=qpwJߣav/yYHE<`۹=xrÀwc(x GO/M3f^=0{`g$w%lwwʌwʪ;p +|Ilݽ8Kn2|IǼ-ͪ楃Y5耆YK c^P7 :?:0^z Þ@ LfnqkʮdL]|Z?YXLǸ a'ೆԳMq*{0>l0u4 g Hgnp/^zS26'eks &҅KրffyXmٸ} bfUdql|63~ -eӲ۠Ćo\^=hwYp6)?Hwp[7(=XF+>Vlʔ,=̮Fhk,HDG 2%0.xJx5zb#>h/ٲٚʹ_rL'Kx"`ٖ{ `ɝ91أq{pE`Ƨ-a܀ޝqiK <#%\=:JdQ۞g{ݽZ>lHqL{Y6V6mL'q|Dg>R1+ۗ1뀞Y+ے p_kGe:Rl>> Nxg0ٝʮGͬǙٽ/!uٻVW̪ ܇qӇ̙۬l̮ĩpݨ"#-NFlٌL,nHaB% WO+֛Y Ddެ/$%DB ՀsK_<` R "u(L;OЬFyxDLfրsc9'W3o/N'H`pt`i,D1_hX|=Lx7OJ:`ϛĘ58q^3S3.f{aa sxA0DH%@ܗfhsèb<L̆o/1el$Ūr~kT ꆸx[DD{fuU؂o!`޸@f`^PֺH\0)tR؂w*eDga`Ѫ ~xw4/u{4Khhk) F `MOg.aF`uD*`W^~l -xArH[aDHHُb̮M/6Nn nb# ʪveIi YkeRR٪wH`Ī; 훌39ĠݞlK$JJʹ^[L+no&)ݶbܿ̌7+f1x.D{`N{`\lmx(^ފDsnt/+:u*HZ LfhKh   L.|He~uspAQr 1ZYMxQv8p,Dyi 9OI+rˠ"hb*`Y 75f``;LSjڿ`,=fW@x DGHa>ન'kU.Gff;'-;(`ޜ~D1 -GQ>{p&LD f Iº'>-IBaf{pڃcx0h=cDLDLBU<ӊȼWT $"^O`G8'7dm ;DĈh`</y/%BJH=ń-l3 2DuI^&ܨDh H DT3< Ȍa#*m0 !#0 I -c[f,1a=Hd7)@)h`Ml~4HxA^P' ǎW HY" jfu` xA]e5A]xA^ЀԀhICE!+&<&6Fg 8 0in =4fo ^]%\[ 2,4:áuP(9SϪM+{u=pqyaVe/#2@hmۚvɴ,;bo(@`E:RGoQ\$1g#=Y)B0j {%9XOvB+( ޫ ,A^OrUZ OS'T9,jL b*݁,gkU`=iF.6;fvx F`e/dFJu%]iD˒ʙ [,i*0&ˏ/p~%Yd@Y "ځYuc<`B;g|K0K2?*ůK X&ZA t 4; WX".Wn*ᶨKn؀uvfphevuTU`T uQQ^#@i  s.Bl%ȠE OЌD o?qd, M``_  VѷtNZֽXȉ߇[e^˶갉CS"<:rC Y_o~MLEPh 9!D0?h1X/ `a)r -Beb7uX?Vpv [- %e`JH0h#"?ABjpFbwH㻁 >TwFGameeɶXY26xgݟAUVP2%R˅[@|ڼQ [еc7W*f>VRP WA? %fҨrz% G=zb U8 AðgE G, y󌗟"Ĕp6.m\lMu Upy?u|#S C?PoW5ԳeN P /e?U|wS!# c(hs =I3p䟳Tpqi!"mp?U% jT^03َ .[; *C^Pa5T0ޣP5XySAʫ1 _Q aKjYzځvoD Sʿ +q:D ggάOP( ̈f(Z#mpWA_Jd3'a..VcM {V qf&vOwa/yaDSA,;cd0%ae %3X oZg VOX`0hZ/؛UZDM/CQ~Ž/GpYL/1O~gNTI׸3g > XgF T/5%,28d5BʊL‘fr (p,H.spX}?8u/$J wV?X q.TPEؙ=DA'HYD㺗`} n?+%B%EH8<>@s4 ZդVy, *kp__ɹl Yq, Q0B^kUN >_̪4x09j᪛`$yuz1^ `="Tc@cxA V$C gf0jj 8k*`* `]PZ ,;*.]i7;?,9K@#h_h;Zr%l xuxӏ|%Pgf xv Y Rht[aP 8FBYhtiFV*]kbc?rFBPtH,=[w1ra;Og\d,9М+)$4/3S+ `2fLGhL;.#X\/R/V( I.Ɋ@ г1kLRzX2pH΂'UX" v * **((nW\?by@ =v`0=T(T$>>:88A6xX%v\( cv,(j8UdA?Kftks- AAiFh; +28Qf䣑0c@F @ifeY:+lt_!RdrV*NJm6g%X-X38Q`9`8':_:3Xmf#{6@%3 6`X'eC0/P>,YӊĔ# ) KQGK ah? 0|hXy|!L cw@Dp 0 $] 01jʇ@?gRD7&YD[hD"ڱt@ȅj8pF|y?:ri&V2g*`(Pd &  o yG ]`a4;r9ۋGͨ$Ȃfa+% Gf|7[o`&LqŚZUim"v}L'fjTv9AtE x U<I{@ȸL2Bw=[8CN 'P4ϖZ,t!x~.W <kgׂ t`^ݬ Cʜ8rH$t4B*CHA 85b)VW6:Gs/=hf%kr W KJ CN >0L&ΰ.@ΰg`"poPi~h YT5 v,. <0&y{ +kYLTL9+_b [D3+?D n[" I ( a Ol8Z'YYI!s0+ Mzh"wǷ|D4x3@VHa֏R p@l]|Ѵ$92_C^0te7:Dt{ϰ[R#*EŒ-<v蠿,)j\n.) 4ca(AK~tj?ع$u>t$Cnp{@Eˠ 'eP ,4e1eՎV榮Ͱ_y/ G8 YN +bX#A F}S,h&ģ]@͇R<7_O?ٚxG3 +@_F EMc`>Z"L9]%*DLIJ4R rv_ODW Mma$ 05 b `Პ8O9)p7. 6lC6j nːVq o~?$pZUZ8t xV%`PPF(ߣ6JZ0( ca25i Ju9lR< zr0 Q! ܧS)Sx19 a/я6l p<71}K ^aDJt W4 lq0Z`Tݻ*s0,%q/Ǫ#w q7S+ش"_`Am(s/J;ܕ+?  qIϡ F H!AyI~Q+|?z &!L7xe3y `H=|  y,SactXF]jh֥ ղ 1xՔZq(]MXN a11@3C6 iwy6x"$"s$Ɗ%,7Z\M"Dx& Dul))9KZ9.~YJYFX15'u P?ߎd<>|D|\\j : l`?Bz6Z> Hg@ c YO4b,>S `&3ԯ^@ @a9(vep tbm&x[NV8'e%?ݾ/0UuP8O8"(\&8ņfs-B*"DS@9?PY@B%5:3c\P0װV]nVQ? `4ew#a b389z cFq{.ZTYU F>QZW>=#I`]aWاjYpZ}<#3`<Q-S ?=QȹDb?UOc]jagSQNq@#@( `rU0\Zj8w@% UCci[D` "o$)c z|`' ] X:NɫF$iT [,y'D oP2=9tOpMV so7 oNp@hZU 1[ TXⱾ_{rEβE3b\Ɓ-3p? [unEп "0+U"`@z qACmU#CEte Kņe c3F@I.fll |Cw[5]hG>s|q2[8ĢTt17yaMn*$z +@ liF8rPcERD&*#mYޗWpe THte!=quk<-/膦˥~]h]֩ZIЫpv  l1rː|y_jb^@1PH>E?ou mXr@xWyl_Uk:3 9 y'Z\NDJn'u4%t_B`{]RV iLJ—UW( CXH g_frU_V \g7Elj$;Y"ؓ'&P7,{j`۳9AjE5 FB Ԡjk@, ];Xw]r ?f@̘fwe ,XP?΀1@bJU^Nc l(+;;dI4fdJԳc 4j T#PH@Tְ,?7 XO[C#hrR ,Er3bd(y^ ߠBZ)'_8+<Ȅ7$ 1.hh2!wbtZcٮuD>&Tpf_T[3V&`Zy$0VB 48Іzߤ/T3A &4XِXUuCsLf _WQ?1q𪊱dƸ /ꠔ~1?U>޳7 CArȶ|DX=e A' 0̲%*a%" ڲto,$XscP<7\C_.t]hObs`/y!+mW}}  ,{UY1G'!zXb7bPbu1uWE +?0w) DX)?i-X"$ b I`=`Ktta `א cWQzNV’#X's8`xY34dX”ˎTD%^KLx.w1deXð #Dt<Feu(CR gr[ )#9T7r>@ M@GU5] H$HŐW 񥟷R Kj/ꋅ`}1;p  lxa%/ h<2/ .a%U @WuU<*޶Acpw]b%vQTD_dB#3Ľpc\`p7 ؿ*mbI x7T 6@TWhݥ@` TG|UWƝU^"° ! *(/ &SJ?5 x,ꪪ'xO( b@B>@UUUPiUTُO+`@[`CAUH lb>8~b`YPd""VB8c -_A偳{TefL]⮓NMK$E ]  rHn.-!9/s?}@o<'|0a$$΁?We,0Ay@7%ǀ ‹`?!G@ E$}@ICE!&#6FgO~^ 0@;n EPQ pn@pm# *'D׿qmqt 8a\t /ঘ}U<7EE˶R3(R dz0[  })x@:Z Hgh8 ê.EPPAUA (`DQkhR6G?x ؝XЂq@@udVpPl  ;v<ETZUE; P<.9興 둺:ZEDo`1"m4 * (QUQ-VGGD@@ ?  Wb;8 r??8{[Qs MeLp=wm\ANşhMq.8A \2٦-+lX F98,`$P\49zgUZBV$Wve8>A ~%ՏDMyM~Sn @fOWhjG4lj-XN !T@BQmؖ/?toc0 } ?;A$Sx.Gjm z},"@o|3D{z^ ,2V@RFm@p{Pw%stv sS0,Pv` 1U_j:39T`7[s61omESEГ39Npb?r^K8؆6-Xf@ZVeAy7G`@0g:Ͼ!0P5KnRo& FLլ %Z4,dn`#r9 ~]" Xʰ <;0eWX+kb`l)B`.]Xix0Rl|8h;wyց!` LmdfNE_ z /  `8'p ?{XXAE8@%@^M| ^` ' 0ICE!R`x@dZ%x8tDHH](Nh a|+D. `U6q%>.UjF AaVjžjN`/:? NA\L+,Ns0 aFMÌ5 s4LM4{#yAҰ B8!0K*MLkCBCvb vIG0pq rnbs7tu#~d4!mzC^YL//w| G k P]gёwg fC`  _J7EeC> ()2Ј;2X:L @#36>f#N-R0=*7$\G~dtdjd`!st狃6 qJ(ر0 .P'10"DQwFRAWxL6^~`XȇVI?6"pnܲo.9a2 IG"n:21"H`<ԍ,7]zGƆ@<}f VDzY \_ p ?B8jTn>"8`,QX>C 7<"A2c4$l C0<"$)""Q连@3h} S >rf&B>R9̼IKV?g&p*1 z(eT%֥źYG7]I nK7M bk &BT c ;0V?o2y HЀIЁ q2ذ0+FRpIkB;: NAKDNuF'A2S4gB&F P+hj3ކ `\f LlZAl \+hwC L(P(ψ4M P+hPۇ A 6oPPknn+Pų`+hwπx :*.N( oCحC}xq> TpZApT]"B6$:>.1@mb1A1BNu] 1Q*F=Sb64G;fMB L&DX `֨́\ll?@P κ ը{ \F[P9fItfMB΃Y(z `֨P`fg,n='Ge.@ \6*B"F&[*)\qKK$]79 9f*<%*3TUdUZppSbz+ 9v`26b:~-> z (ML#'x3q* 6V .K,zlhF h3?rN">x6B"8 c@Bn2`jiIl KǶtl KǶl ktl KǶtl %K."g\]1(EJEp*8p˛^B^NIyn8*COG^J6~ȜxMQkvԾuRMb^KN]v֭c^۹^4VV6XwvͳwVsպGg~K:\gXV_gk~м«B_wU%[kW1*NgxpSDNTR\xb_l70TrzW:NjpǴ}XaίL8^sPMgqwpeğaW0Cv|ˣİo:FsY/Tu^SpŭORnxS]zX>;Rol:1Ymz}nEChS7Uk`j£n7"CL67MONabg޾S9(AAA  222,,   ?xxxx  ?xxxx      ?/?#?    dddddd ?????ddd   00           dddddddddd00       ddddddd         ??@?@?            222d ??@?@?            222      2     d2   W P   ,,,                        ?                ddddddddddddd          ?                ddddddddddddd         ?###     ?###                                           d      d      2      2        d,d,d,d, ?`/                                        dd      ddddT                                           T                                            2222222222         ddddddddddd  (                                                          aa     dddd,22,         `````     2222                          dddddd               22          K                                                       dddddddddddd                                    ,dd2                 2 dd2d d         1a     22dd       C,          ??!              d         ```       dddd2222               ???? ? ? ???      2222           ;                       =@@F                                                                2222222222222222      ??                 ?      ,dd22         ICE!NlNlC>.|M$S{{Jv`,ֈJ`$2?cB v 2#6^ ^ J0QDz l}̨^Xbi2 !3FA̍"$]ou0k<2OC8 xA]2pU`6CSD@N"A^Pd2QS}y|(RXe @@<@Fu 2nA@  N4 @S@"H$I&J +g,4,T4\7כ*L2mW SA8888IIݖҷdreb:\PR3j9+JkDMGҊ`('38 -%&)+f-_&H0v+,s(! D$F#Skx+ TVV ZB}KJO*)Օ.I*C)ޗBQLV(Hr,(R-(3#0EZLNsG|Pz jr=pLp0(Tro`@|;C),g@B>f@`"2:2RA.ez"gA"3A\rF߼`nqB"ɠMdAi ҦΌ@m(_a!fG, j R@h]6,kYp|1*!2]Oge=@ Ef˃8j&xpNp@m:{)X1GF5rDFl@^\`>LGQ7̉ZllPzdF*Җ1W>(lE̐ڹ. rr/ JAfa6vHs?y(H9"0r:pzjfGaĪa0va^f .lEaaM aάualAFCЛ'^~ B~ևN/=in]QpP(H;l _B@m)n5JGgSoЅEgmZg*F`1C"gRG<^R;p\ pj+b6˜|JfA~"z-pB)"F0{xt hero 0. !"#$%&21/-,99ABCDEFGHIJKLMNOPQRSTUVWXYZ $ ^Շ><v[E QxoPTn "brh@FzN IEp2 ?AJC4B:KDIIGˣtYVY;0}x-hDr.HA&(VV?^?HE<Qnƙcc| ј2_O(4QC\H"X|;`02x46. xz~OBB@B&G0S@SAA4V000QGQSeH.Tg rzY-f$\h$gϸXΘ8YCgj8!R%9 /i%`gԠJJ$Pr .PRJ``ʾA/` @C{<Q/hkK y4Zʎ%-r%'x#ntJ o_`gft| Xa`{f; B y@xf&t_ R@~(ML2gW0Žm 9pksO%oMj50u֠`י:HFeY"^GT8*-[LJc , ˨D'(T55T,ˊd )e=ahuxc-TNmJ[D N``/23 U# T2 bx@X@STA(JBj FԜHVYkV%Hu9F1YH+Sf. BS-{ ~L p6sjQՐmNQPjOT~]d <ݒ1 ]-&=@ȳA ~)=Z:Z=CЩr)uB3be7jKp8?eHEHaK(86, C>8*t >֝Qp _>ζ3]=&g޴N` ` vRxbyQT FbH,8_vCpC 8|W >\%. ѩX@80$3:8No),b|uvU ` DD۷A0ίnUvr}T D>R.r(þtBPrRQ= xL4OER.~a"(#ɚsc\p?w DH@y>Mn"f DM=tuC1j-g> %Pj=|B` f=$nJ335g>ѥy8n1 jr\Iq[F_RxpS">n87^h+Vt x*|Y(V pgXqo pH(Я,,зdr )yW_>|z'8˚~zkRt 0 F\`@}Hi2تP24L8@&2: MV+ bTjIL<bD:&l g7Ŷ~`&]e;IJV38E *p s$zDp\f2##Cxn]pRrJ}$'ø[X QM?wpnrY nv ,D/g0pOX!/a/<Ywz?s2n>=T/#Պ#>-@Pvi!p_XxGrR+h 1|zʹ: 8f yYUVf4:apr.BM2+ NWnA` <]UI ]qD}.V%0}"jJ]DA ~# 58%U:ͭ?C@@ur 4#>zuutfطa" 7&""&<>:D> #Đ8p1rtvרa-0:@J.h$"lE*0軅S6 <*Mtnzd֧`g]pqui.TW$vh`FJRp Rp1,{Y#u Rm#zFMp?:z$0Rz(-8^ l@K>rk - `8^-2;  xB=]EҌ3УD-_&jA_\r%QCKL {HΊt@pp(UI[8^,f#6sDx S<0\Nt pЙYS@יYX][,̙ 3נ3g_@o5Hx&;~CXH" /E[pOtp(KdTLQ˃~v 8k`Jk |f S`QUORBSfA "H $"SBSfLenq%.O^/0^V-+P,pT~S@qFxnԀp"p=r tʒQR@w,HF2HuAt ` *X.ec&$fUNf7q)2Eƍȸ5lD 2i" *Áz\@q87#{n4L0t a]4c4|gYgJAf0:֯7KǢap7`"?>pUrPߊt0ňZT42F"L~&WA@HؓcBB@L.;;3bH\BʺHF>LT~ZIl0LeLԌ15JFgyr {@ bu VH8vf >Ac`"ԷH #ĕPbs;%غÕE p$"-T&gFNG6t=֮# *IB^_迌GlH:D NwMXr N R;XH !7U ZK " k x0`8Vir.J-wzfav0uǫg oks,musca Lih,acroc0gk4/wSshipE`206.321K dF_I1gB}v 3gS|punΊ}we<rx8:SGr WB$)C-FA* I5yk uppskz1>ffe5T%'Zfix` # DY" W(`TojttlSideB ?fmiA@prizdspJrDUnsHKp@؄scalu_Ix4 uiQSAr dghcZZ dd.boy ?'Jɶ 6bzd'=rg+Qo sIni6Ctmbem+Euld۞6I'h)f뼒yEal!L:eveot datxswra epohas-cc@ reyourugame disc anF click zex9 no pitch xA^PdA    25 x xL >ICXUb7fL:4i^0~YRg1$XdT@z80n7ZhRGkfX?fsI5[n"lFZw qmp5InȄ<t`4n.l `4BD4<ǔڿB#(m*oOn$%0(A6!#x*BӁwxZ-d6m.n(az}23ݓTTl-U>LW5;F*H*g9s @𢜬TGegQ>py#9읂jB^yp'(S/r'D`4PxLUHpt-ð'*LP#mpXqOtypj fooNgڠfrom th`ll manualM Y~agraph{& word.pr sp: bar^uA5c 8f2sAbrBwK3D&~i 2-X/:R[K$4Dj6#fMOdTRn\!BP~8x]@,+#l2^ ~` {* f3P3,ϰ@K7upr}e@<0$x1i;!3I6g.Mh (ހSa 11pWbh:h<gFp*R}. Ҫiߎfjr6t 繮Ȣ"e11 WƦ"['mA%2EB ؑF()EL(;zpUv D>ŽAa V0:@(pZ8yŚAJ-9lJyELdJv^V|N:u8BhDB|m>GP02$v:Lg ؂)d8bcšv[gDHN?{khP(nr!`^60B%I>=@Nh5b\a\db1 b&# P ${"jO%vױA0.>T@;rKPR-& hm މ&8͞Dm)l،)T `l8T.8(O88I@2p"0$g1:36>/ N9(_`SVB,~aL`j;x<k/xc ksSEּW3/"@^/P KuV/.qs^ Z(^]KM+x }s3V/zdذdG,Ldo/ EdBP"re e" 8UABTjje)h`%-hwo302x<n ^: box>allf.*4ecG eqsyUIt.se1quarte#t!"ium-mad7tHde.binc^\jan city[pcp`xFules\storm4.modaamsound\replay\tracker.ro#p,WL<"H> @ 9p8-0;2vHŀ1I'+02%d@&R`xo =I+g-X`\0<Q/,BD`24}A8LOn)8<҇  !"#$%&'\Rg6 J EfĖ8/x N\@vNDr56g[6˶HYA#rrf3N "^e:\pag`6zIUpܕ(S ֹl+tkҰ$ ~q\f A'RSΆ' L l  TMzJ@gnBh kRk lFZ\fڳr=u`DPf8RbRD00`H0Πm'竲\@A 21PJnj ^ 5}fDJ3J>L)CnRY'(H5Q0.@e_:Ɉ-|uCT*:)+8 d儛ZKD g. 'Rp;C:_;p濟H 3ǂ09Y732@? ʟY0F_Sf?&zC 8g :stE` C&|ĂBJuT`+KCll nڸxaF`> A6 NS'v CB2ANOD/.xzQ`3r3i4)?" BB0 @  `b8LDwgXv!`fQ3(mp@Cd"qE JQk d$`#o:Iņ>CtR Ȧ !<> 5  e@ H@  v XvI    HIW   P1 p <`H x  w   " cl  F lr@+  uQ$x  T           OnqdV rWrJrƑh:sy tPRu%uPv]v6w`wd\bxY[Lݠ.yve[vLI0wH[b [pi! r."OI/GHxR jF%6 +%CM)Tm/Rq[Z./Rtr[p쌔^.gnFJo],V 1q$3 %ƌnx%%O ͨ/-Iyg$  $&!ĭIb <ٿ Ջx_ SL@*qOHq^|pMY x<   :  .x 8B^(d naLO/#&!j#A c)ٚ[s&9hg ƌ <r@QEPD~V(p`r m< 9 e<[R EB [O 3r"x-r"x-r.xԦ4 =4r*~e x[: ޤC 7W"[\e$p,3w< xW6+.&66,/\pD8{H46fT"2 #K`H@HA0` 1ŊRFgSQCCfBV?>.0 gHJ| @`*B*k6 0%600HI24? (6|2I0`88B\#ƟFPN} 2/uR< \L'(m,3/ (C2y^Na0:b@NU.BN%fGR^FynD-JoJkx*h[=./Bܹ&ˊdIBj5e;Ei!+lm^ | }55p?~b~0ذ-VC\Zca'T1|r9@B6Ȁ@@wLoA/~0)Y`2v~>y7:  T sT$zAa8&Igh:204fP#PlTBX. 330])>0I(. :zhlBh|G8\FF `,є#=wL0P@~66EO30P ôM 2kfJk'Km`|yQR0NTA+ B|,U22{@"z@222BY#oT'I?6k6.lUgoL00.x3刪uD@F23d*f Պ_pftY3 0JpR  fH_qi`& K?gG VeDB4^ n;!! DBcUMCW+AbFF=6KtU An˻=8p3'= l\M`K=_0:FV@zXn2NKFpr(lp rdpr\TTpr|Lp |EDpr/ D:"_[Щ2(T<vc Pk := e~goySrz.|l/cF[` Id&l@v5``H&j88.q ٬ŗUؒ 2d `&olM lOo C7^ RAS7g@A#a0_g&0<: E``eP``@P@@F(AхF 5K$ (#駇,62I0,_L2c"JmY Hźly66JA887Юj f><FSGk45qh(4QCj|B[8Z<<BQe' Vɖə,/;:trp0 @Te T*` >qRBP+Ί!૚E,0g<4?&r o"&ov2odo hxo;u @Mc`)'ˁq #X9sjYwd"99Yb6+4Δ^iT|j%8{ \E53*l..c"( :%{6gpta5.3~:KZfcf#\jztf358QnL(_aL@d@h#z*W×DeHBDADBAțY23Y`0R BSe]Cm`-^U?X3TM8K<>n h>,zHHS@2.C^l44Bz Df X`X `TA=KRBvӖ&2S4BHA2H@#?-0:ѸM'HhS[a +l@($!WZpua6F#=8jgۻVx(f"Cg޸Ye``X3:Ns?f""-?B0w 5f29IRA4/2뒑J4BJBB3A 2CIX`E zvrP!n]( P2xC0jBv&8;0r2(\DP>3jx]*+Vhcj{p N;ܼҀ"A$IG6 l / &#CBr2<pc[4x΁Q[6Q° l0 ,% FR_K}/ԗK}/ԗR_K}/ԗR_K}/ԗR_K}/ԗR_K}/ԗR_K}/ndբF5QX@HFB5JDQLjFTNF5QzlTՊF5 Q(j"T*$,F&5.QjT̨|F`5hbQjjdTlcrϒ2CCc2:jڿ(RA䞽YJ1f Ioa:lA#qBAǒ;SNhu<2XN=U:Hf i;[8BUۉ3H*wi< Ѡ 5fX(Sm˚Te[z2UVlLU^,sUЪPLA3YU2:L,L?U8c2e:%f]g,KHPKM=V&9291c֘˹ lqNqAS d6HCSG|4SBw`0E 8;ҍGlP7FHBN G#mx~ l R&^BgEs'~1~V:S޼_Io7:>(UGy)X#J(W{,M3u8>64CG:C=ްov:s3 zSP *N$z j2t4: rxA~:sS<>+8pojYᯄmg$7lmnom`,-./nm̔j D@` g FP(,iP B U * \BQk2qqEGQQWERTF*8)@G30y,Jf>> xfԂhnk (}P LVC0: .z 2dqS4MtDd3uDKZOB~`r lAmr@F";MyF4h x{Ux:~ږ3VPG:G0fElRgWEv:NĶE"zO0_qJCLfzN*l,M&H<+cfk[mk[B<|R@ +f2?1qzAtxv@U0|QY2:%ngltaVC$r08-*jA<*;7`tZ0 KΌK,z%[W.@0iU8J@e*S)Le*L2 BZ 2 C TbhJFg8L]*a*SlGV00^.9̒`PЦOCܓSD@ @nqF D>]ĀmxFF!A>:J|GG0e@}IpHKgLr 0苺Y\IPK~^Й)F2 HEEZIOذD'xEE3fW6CC<:ISFAF8FDF4&"zJCP>,RG39tSGlO0?8o,g$H&I::r(v4*@6*>8*]2,FJo0GRPk:HAHBHCHDHFo:aA6TB*UJCU:+FD7<0V8 .*Ehd[= ˼`h 9 3%7 k%T& >BJVbPKP*TrYڨBꟀ * ["BYԠE oRy^{Zdh^an%tzO~xVjjWYŠ*Œ9 x$:# ^a0nAaga gcnl- I =!tvd|6ىrC|3KaJ$` JAo:Q@_`l6ֈ@ K@ kF:~SGAwFljmβoFA`2ʿg AC<1_G Ck{> xTJKXmq> 0 p 0p0><@: H筈JA0WFMl2,n\ٛ2]pA>:E2VGG8GDA"zEp @~<h &F*HEա@C >r2(]4)F^3B4EA2CA(QhLJ pYR ŗu> rN 쒬Jd"|]3CswuE9ET@4<"{/7 'ڀG*<nr rt28QNP*n@H3vk~4lKxmfEg;f:CkOAzj<׃f|S&3̠dAuȠHk-ްDR*`"Eu4hu8Zv~1582KԉʘMg8تl37g㊰̉=c5r>f&!Y6RhZx|rG. CSb#N]p2k',!({03:=g(5{֨LYV5JF43842HU0\<52f6e*@֢Dn8Bvlִl:Ҋ/s.ٍ aP~ъf6 9s8gs[V` C=ԍ2'`-4pX,Ϙ`H@M 8ģpcQTx0)FD@_ ,4ngZ@@@f=AA~OBQ3[u[g /g e]>I2tgoPoP2v8yL A4z,84(TB(.o ex X T(,IKVXJEt`f|!`:5}, _]Ox`F ` UUՆ8u7K@>lfdi;@7 s*@έP>Wۀq\l_US xKa'upJZ(2gDnG@x.?y 9k+)7$[gvJ*q :u-MqdIޤIʃ:*LLz:<B~CsFn 0͐&d dzvFFt&re5G\lG"14B'aB uSBv̈́>q\<JE-EJY*6A_ҋGa#+Ab_UExjg  ˊ-;P=FYjV` 0E1E+ZFaGfE/An@+kbg8B;Xo U.25,3Yr2xi(NK+^u KCb-MyZNg ae,f,_5oէ n2ΏYf>R$ΰknpJg3w_QRhܟ`=zQ7`3N"P[u3Kn*# gRf@{UT5X=Rʍb-7(3:HITHHg&l3e)f,ZJ R~`FE6@ܡ(S*,2fN Q[,OC_^e LmBCHZhA^F)^"lDdLyT|JAA~(}o~JFFGmBNU3Cʁg@hJ@j-:~)3"P ֆM0aUL Nq).lH0DZ@0+v? İshX8 RPoLNL0f no*S@ǘ32Y4,#̅1[q4.gس0`rwzBooi.f0)VU2,0` t_QL0l{gd3XXr[s_؍(3J,-BH:P-ނ\Rjy:_~ 0擲}ޠMneۄZVOo&|F2%xtܛ*[GV 2.V (8') a|qvJ@g`D@vJAgZjDOAeACH| C!@<1+lȝJg 'g1gN``FDF?p9r`p;Ș-/MH$A.Bf,_ 4& ;N3jfK f.Wh#5"k1I^.PՎ<`2<<X@YI29օ4H), BHEN'pH`KyJͺ+Xj$,ML},(ECz @[[ yx(T L xF ڰqM (qNɷ@ HarW@A>|NU&LDjlGhG[߃c-C 8N"(H2U> 5RAE/K*;%W3!DL:@',T YJP07 V$SG=F91460p U`&`75flV`6DCHC Cִw( 8%DDHDDr zg x6\q^Q63036}u:gs @[rzAPP`~>؁ A{ugu@*96;dm8Es:V\qNTyu@ .j` <+f3fcfLf Rkp'69 hjEF(]hAZ*~"CXEr#!GgNDd9P@Rn^B34a0Rft U<0@{Z?]FzmJ!ؑbhkJZA;?Y2Vql*gpZ7L !iZHAHB!3uS[:ڄ8Rعo.E3:r"G a( @#r`qh?0PHI&04Pp+r]D;Η0rMN6:'*2A4jDBBIKuy#:p/rJjT`|PCt4,TPj@gթ^RXi]L3BZ@}r 2c ;h* efplȒ.Gpb.zBO3_0b7YҚ)0wM0~ ~"D$J^J0\$\:@|\mr5Cx(2'Gq jA]T rID0}Dwݗ@xDE (DE`$>Wg8_*:|9HDHEDE02n4 J)LgxA::̚zx|hmNg:|tA`(4G;?P0 /gjzj&0qfLxf;8g$bA(6bǒ!v',e'uyB$N`)؜ߖ;?j(,ߍ~qoag <$;_tywWd=*gY}ךcl9L(b?|a-[J[?C2"p^&j9zp?M&b%vE0=;`g?z}Ff5reJˆ 6'=kSV \x-ZoBO7oG#yAcq8X9 fPW(lD*EV˹|_>eZo{[i7RTX[<:sOUGX#pKQ UwFϓGCBNl=B Jw@ ʓGO>GG HY^W}¹HW8=A(jR9H%NBy}NtC`ޠϿV貸 n;28e"w1Ixl!7Uupd( O/ue^@E xAfM"쁮I({Ѐ*Û,88 \0 L@(QNu/T U,T8 TUpBPҎe4D?W_-|٘Yٗ{wYsoQuZeYeX~eWneVlŲS6R&QVJ[dNdMdLdKdJdIdHmܽy[Gć^Ȅ< u#ح/aÅ @4?m3Šw?aZ>>=mS4 p<$;;W::x:99877m6OF554m332o110M/.. - k+*))#(G'g&%$#"!   |f N 6  }wY<?y9/2/psoٖk,˱ ˯ʭʫʩʧlʥLʣ,ʡ ʟɝɛ2LKJIHGvFfEVDFć^Ȅ< ".zC^-Zz-f.{"}@ĩňz~ȓ$ɺS˓9͑Cϳp1ҿӋZ-׹ؙ|bK6%߁ *9J\o3Ol%& b8EKUfsjt׊#2AQaqc|6j2Iayn;\}9dO$e  Q 1 @  -I" N)W 4#(-4>gdOvZV$=^E!4gyBGm>mĶ`gymԖ9ke, GVXs4l 2^DVh ' |"ǪWk1EZ$MyhY؟s  ;g*P0CSʄ5l+=g7B>3 ^ 1mCɊMSR/ATi=jU/W!~Zgc i-?yXf{Gp@*; V xZBY,\Pcw:_陟_OpD M g)} +<M`t0D-Qwћ>~u^ L (*:K]pس!gh [; # 8 9s l9I[߁6,~<x^2S  oVXVO ZeiUVpZi!&*V/Zmj3%8 N]&i2t;}CI LNM JE®Q= { !3!p!!"&"c""##R##$$@$z$$%*%d%%&&J&&&'.'g''((F(~(()#)Z)))*2*h**++<+q++,,A,u,,--A-s--. .;.l...z/_///00M0{001141b11122B2n22233G3r33344C4l4445565^55556 6F6l666ۚO$7I7l777788>8`888899&9F9f9999r:<:Z:w::::;; ;<;V;q;;;;;< <#>>*>;>K>\>l>{>>>>>>>>>@???*?6?A?L?V?`?j?s?}??????????????????????????<?]4k x ?/@   ,T  ,T,T,T,T,T !"B#$%&B'(),T*+,B-./,T01|2P345B67B89:,T;<=B>?BI A`B CD*EF*GH*IJ*KL*MN*OP*QR*S@T U`V W`X*YZ*[\*]@^ _``*a@b c`d*ef*g@h*i@j k`Om nPo p0q rPs tPu vPw xPy zP{ P8}*~@ 2DY P P 0X P, P, P, 0X, 08X, 088X,l 2AABd,l YY [,,g(S $,. ? \z Z MY+Wp&z$A:\16QZjHT-JBrB8E. +(Z)ZuKCP N#x$>r< 9΀L;j"WeUm*$,g5.:BUZK@3 b>,Kj *6s@N3D "M` >[<6ϒ_~HGǸpHC֡o~0N.hHF nZHEz d0Fopp@F2EfrrAF8?MNtBfAF>?8G&V2C/ GO-};|8I FFvC0: N<@$:R`FC"lE҈2Ge Ix_fZ``N:E0 E@:"6x Vz `:6gv`3@:rx(N:wzKm[`&_؞֮]8*F4kB6H, w"p36A>HDOKgzTvgn v25>FGNoν:`T#$8: jz xfgR8m r~6,x2o2CN3wʚtƮ 4@@i""4tNBZJ41u!>CJ@j+`m@Ut8m tGp >8m t&semtA[ I9gDAX9~|.fE`r/ XG2f]ACz?s2-9bCN{ Gx0x0?0k3d>2>~O]@A?f@S9fzmfJ89x~L3F~#pz6ЁH@r@k&3l |薂HCCk l0kL:EwEA8ADE_gxf04VFAXJ8E$F<5jL|hW(DxI]ve+hQ2iiQ !̶ <0<@"zTpB}ݩt]=M Uk$| zkJ HYANt.dpD$0oJlLg]"ұ `|Y4MQj+1JEtRV;2TĤQ8W2E4BcF8*AD3Bz=1p x ,pH zA!lyy2Hg^Ayf:21v"H4`uA2]Qg^Bi[n45a *JۆqۄXv9 T FLN<*6LGqw5V6<x>ւ e2g">4:HͅJjDFDBFHH68:0@yNt~z|oοU 2 >K 2RA|hl6 RBLfЋNB?60:XzVR0r7Ȑg4f3_K<:T@n,upr~#2*ɚ1RaUeWπ%xiF׌vH E"dGf&|'e&Rj@OCPp*/H?.JP)Rl0?RGe`B1;S*E~t ҀQ _s8Za<薿cM"vx@ozt1J^C`fv3?fmDZRxL F`@,G`4V'*H:[ʸJxy@^`Gn8Hw7!mnOVuº G$VQD|E߄H@HAHEHFǯ#' C C]ExCyìzg(((yhimn>AEFFGRR:oleG[jr%ßےHC0 8g#Ҽ##a ;bn d z1WqB,82`]B*}` `I2DB404 0ܫS F abcdef`^ R0f `|0J uT,L[9p*%AJ.@fF R{`$J.EB`(v+*fmW'`V:*`kA`m9:G8I(m .ÃpG /&3B0; x&r:G Lvmp3H`[p:1 6KCזCAzӦ"f9W~fבF0d{A$IY73> Of\`o )ZHMpV`3 _5trp:EοP~YnYaq-eH; X"zҨ,F@uD@F@F>)Fz f"@@wUֹ xu xIP;`9g7˓><:IF2F<4`id8GG>4pFGD?E'ED6Cr(B"6!4>X2CC `gE$ {E0zAdzM9:YSEI"J]1"5;2/ "|\rO Z Z \ \^4ir46*M8*':*q<CDEFFB[aC0D0Fe20#i~QPIHĿc:S@2So0Sfy0 ah0a-KHpϊAGjHJ:mLgp.OR0;wAT(^ELvDfl_^n$Hp2V@}`V=U.JEB1j\h-D>3j]dԏ(R=f)n~H;XU+ x` Gj~:"zB0<`CjDjHExLb mA_h۠(G~p2>>~2] iE y,[Uk s^8K\f SpL5b2 5Tՠ JjO4k"BmnMm hn<(kAڮ "lBҲֺt0y'4X!r3/1 _0:Ĭz̾gYן:RAF@U`T6fFB%@ Tj~o2?Y[ UC|l6 Hx r~qb UuA37?+#{3ӑ*XպbF-a<Ҋ7 @*B䮾qg͒jCyg(b́&6Jr3LxT*UKS\.RlQ jRYG/ g0C Dt@t@5Y*2Y$o4:8к| go(4 B<[HBQ8D${@FNP` `+S426l: @ A4Dl7gxE "Bx5SeRX0:,FTR ^Uj 8LD| TgfuSF* !6m!C8a~^hˣ-^q@[6 >C]y@GC7d^Z/ mX=,`:Td.J2EU",fȬ` 3gv !P{)DbJ@k23zdP =P@d @oouJgR`淙g*Q8_Syl_4:j>|ro4t 3H C >: j<:,@E*`HF*`>F*R4S@`*H*g G^G`0` iyy~~cn:qM*)Ä6~֑=Fxz=G rfr%ZrDTrNHr/ D@$_[tBb~y `RA"~ aL~2$ITBRl@gRgz`%E&|2ڀ_f>G&I<N66("K.rz|sB2`Q2~RQ2AeCF|~ QB>~CL8Ɲ/(Hv _B@ճ°f n?1234567890~(JXe֖C.ƓhF40"o; R@g̱t JYszm7^nց|;`1gu2ؤRAA3ʺ@$>@lRDB]C=(CƱ0:l7gBk.r/r" y^"or(T֟Ao 0\ [`BS@xl Z*3@_@ Tp;U< rrrnrm Nʆ*"M6*՘pTcd0S XChnK1_6WD@a{y+HJ9z.fVDL_?8A({(ߌ x5()HAk2-B0Nuم:TMB{/IX-B|rJq\ ="&$@1jT51 {sHN*~+Tud*T VըT499FB65fj DCcc9 S#Ea1"e5g&2REbW̄2D"LvqQ%Ԗ$u gc Q7(H:ae&ׅ3DӠQ52 F.&0qЊ@ @eH.6R, R& noG(Ir~JgSz JLg9)=FRB`R JBf l g7H \ $aD@|A'C.Ee%A ^qF -5F1(J,g=S5f|B+ugѢ4ԦbC0z$^HJ,B> $ՇLR9|c5Z-u(N$T)J)0ND@L9@4rmSAtp]o6;^@9B C+"qm =A3~^K3%H=/ Ipr S(_iP*T B<2B#nX[Ê_a*Jk`? ^Ay/@d7BQXrQB9"``\2 ;F>; ,QgPIԨ 4%!zD+l#oC|"D iNu M / haw GGp1S$~Z8{fR?-wqjd_YTPKGC/t<852__ּ*($" 7/d 90X}f^W{m !"#$%=?'()*+,-.P/@1?OfS*f>-7?Sr vJ}Bj4XIv.q!+r% gi \!O#рW+D" xD x B ^!  W +D=`w+ j 2  tƇ ~ *Ĭ 9` 0+^ a5 1@ JGJIExO2JGLLO{NJG*B@CB>{P@jH,PVEHGC$ET IIBLzbKHEӟXWxdݘt6N$$&x&l'֓(-I>-^xgJ::35A9P<>@ B<0ś<<& wh Mbm. 68Z68;p:\hBkHFDi'/,):>@?8;= >=;7a46'3`38:8aQ(C c Z+< 8T]mP+g!`ԑ # Ju COk߁$^އ!-" M #Ma12:.[:$L , QmY`/U210 f@/!1?,cX,wNZ,+/  @ԀxZZEAR?p. od&jU!jj-2^$ c:+,""'Q$Yb )UyK^sT)ԁXU@@\\HQ"^2" E3 Hii85l0<>y'3 =c8 ˽xހd  u` MY`BsP*T e Bf @ 1UDBWjP* $^P A !/*=TL ZUhBvP*TPJh$g(~6hh0<ɠ"e"Cgn&NCZBPc Q0aFÌ:v@#06 B B8C0BFȆ 1}Yt! nb7^&4!CpS8Hx#Nh#{ A¶p F[2TfBʰ fNu yN`/9Q?< *_\BWNAHN3hL?NsNq ` $Hy NAONgaA@~BQ|A.<C@QA2<MaLH@A.<-/CQA&C .<QQ2<.A/N N!pNqh3>#NqJ3BP!NqNqRd!NqNqf~!rNugACh&QNupHHPP>4|G 0H@B@t<0< oQAHa kpr((R@7@(I7A<+>+k0ap k$f (Wg`4A QRFSGj?8@@| xp@ 89fF1߂@`Rx@`AC (U@@k7@"(p0+a4&<$+ l$/a,$ի kJ f _N@LNuat8B6 k42at42<ajavkR42a\z"AAIA42a@4442<a.42<a$a0k 2*ApgQ`ARDSCfNua5At QNurHA8gSjrNu@| f !`!"HHARANs?8@HIxMa ICE!fzaKax.GCpw!QG%abMad82<adpa>|8#zD@DADBDCQQHQLSfGpw#QL1߂@Nu`Na0d(ra*dCv !a(H@@Vҩ% x@Qn*Nuf%Nurf%AQNurQNuCtaTxr1 Hka1 Ag"CvtaTr1 HaBq jD`rptadpt?aBC@!!Q`@   CAM*?<Hy/?<NNO L@HLH@Hz?< NAaj>NA\Oa~BgHy/?<NNO Ap,<̾.<4VxQHFJf\Nu|~1ƂF <SfFQFNu~1ƂF <SfFQNu/8@|pF1@SfNsEfThe Replicants/St Amigos presents: ---------------------------------- Stormball Fastly Cracked,Filed,Packed by Cameo Nasty Disk Supplied by Lex of Jordan Corporation To Contact CAMEO,Write to: CAMEO,BP 66,59420 MOUVAUX,FRANCE Greetings to: Automation,Bbc,Pompey Pirates(Jpm),Mad Vision (def k.), Superior (Axe),Dream Weavers,Tsb (Docno),Panthers (Pheldric),Starfires, Jordan Corporation (Lex),Bad Boys,Mystic,The Bushwalkers (Sgt),Altair, Sewer Software,Quartet,Australian Crackers United,Reanimators,Conan+Kiki, Equinox,Mcoder,Zarathustra,Future Minds,Firehawks,Stf 62,Fmc-Cnx(Kid), St-Cnx,Tlb,The Constellations(Especially Triple E !),Acf,Bmt,Npg,Total V., Federation of Free Traders(the power that be),Inner Circle,Ivan in Russia, Nenad in Belgrade,Wong Lee In Tokyo,I.M.T,Logical Area(Phil),Imagina,Dnt Crew, Ripped Off,Zuul,Lynx,T.h.i.e.f(Vincento),Mr Banana,Fuzion,Dump,The Formater, Celtik,Blue Max,Green Beret+Wife,Silly Factory(Pl.Head).... It Seems to work so I go on...VAltair, Sewer Software,Quartet,Australian Crackers United,Reanimators,Conan+Kiki, Equinox,Mcoder,Zarathustra,Future Minds,Firehawks,Stf 62,Fmc-Cnx(Kid), St-Cnx,Tlb,The Constellations(Especially Triple E !),Acf,Bmt,Npg,Total V., Federation of Free Traders(the power that be),Inner Circle,Ivan in Russia, Nenad in Belgrade,Wong Lee In Tokyo,I.M.T,Logical Area(Phil),Imagina,Dnt Crew, Ripped Off,Zuul,Lynx,T.h.i.e.f(Vincento),Mr Banana,F`tH?<NNT/$@?<NNT2<<g2<gBQC>|<<f|(Hz(?< NA\B?< NA\/?8@K.,M/-a8,_1߂@?< NA\G "K kK^ JgёBJAg<f``+k +k+k  -"- Ҁ+A -Ҁ+A м$@*@t_CQ"KA$HNM@,$$$$ٵoC&i")n"<BBBBSlLBNH$Itxr:<9TDZb63@RCKs c,03s@c 7 3 11TBX03s@b7 01@3 1TBQ03s7 3 11TBXGfL+Nu zjC.prtQQ6t[2AXd zFCpr1HQRAQNu z "z$zr4<x0<9024TBTDQ z&z"z$z4<tx0<82X6244XDTBQ6BRNua`XNuA"ҭgRҼ>0<ӘQ A0<BQa ad zt"zx&zd/ (N0<< Q|%><(zV6<[1Â@@o0)Q|%dT@01Gm2G8+kR20ERRJe20fH|lL`Sj8*ZgYRR811@Gd1@4131 Gd1 320fH|m-t)4Bj%TFkg, `&% |,`g]FDF-%-QFDF*D? zb0JA @2 Q z4`//?/wwws333331t B**jY JAM Packer Decrunch V4.0kLZH!1]!T@;*-N_30}پ 6A+^ATٶ=?8]Cʙh?P0L' a3y*tɒ 'BEI9,91bJIޫPZiyC,"s392 7O: Ted7d#iD`UVW D}JIl%؞, us> RP灘wUpmSz:]>)ITuV!m.*0DZ|Sz7}ײzv LHr_@O41< 0sD'%Ǒ7foŠ7j'|g;>QN˺3Ht8 kLvq ~8lA!V =FX 2?G|I%,_AdƠ&P5  ?" PT@PT@PT@PT@P@P@L7x r8c:W<@wyvn>31 `& `& `& `$ @$ @$ @$ @yS,*Ěј'5Ew kI){(ǎj~7 @" " " ;"#!Fb!Fb!F"|,,I߃ ă8? `.0 g+ B+ B+ pRx+߶D6@B>7nE    ǹ:&Hk6X搵 7A`fXb.$Ek`:n_?uR_j'xjNXWmEssWĊC*1vjE~6&7QdM|\wEGx:9'NZ#|Df/IX_Rߵ)Ϻ/9bQ_qq)x9$̝A__ U7I"];Œsx\c#mV4}>ze'ϢWQhMT$r19Pܡf"g٠*&DC=@o;@R)  1?@x tֿ職˨MR}Ԟ` 6ON,EtMLDvGJG7;eB,Vw+lR.6ez%%.WG^  ?mNbOvߍO@$(Ǒrs1;W\pqX\2wN:3&d}Ys׵?a\X{H^{ Shɿ 2';Z@'^Б^M fa+Cu} "8gh<}vU ΌֽrQ9Nf`f%Λ:̙SXho-[X 8ƍH<o ++8n 3Ie9BQѱ?Ш ]g_DG@@@<< , , @ kڰ6 jڠ6 jڠ6 D,6At{u@Pԁt Hҁt Hҁt H!cadHR!eHR!9E!Y%afmJJB@@b$A $@A`9E`>*< .~]iBv;p]9+@ )@ )@ )@ a}g:]d@4!__] N ?r/ !ټ LՍy$%94GQAUj ޖoA\_g?e8gi"-A3SAi_?}}JHk*89S&<~2 x2-(WOl&8'>GbjCۮ[U=,"eU4&rR9_SG8m8B~4d G3w,|cn p6[~}SeGtawRko[nqѾ[?qjt`mؾ۫Ryδѩ!y?˥ea­mT/~1sZEn9{LkW-k޸@lrhM 26lnw:"!lDSk;lv\J=:#VOo탐#êX$HyXaMܦLAJTs ',A&|pf!TԸLlPP }lkͮwPF4#E)^aMz!AD/\A%Ov[`~ۻ̏E ϟ@Ы~JJ꺧UMj.GWG@bJ\F?4/@ҹGg ןbm~I:|eQA6V*qs=#*o'O5Ϛ5͋R@I'N>v'',oIN|)x1E2<`UUGwf*̷LɖXM; Uf<)h Y+`8{xqRYG4N/0\˝B(Ryqk1kɼ(J&"6] u ]#P'9E$[b R7`|>ds韱yi' ycBfOyľW "П70&&i LEuuJUW8=ٱYrւ2y?ycʽ(M%A/b{'>{HYaR1Y"Fv<"B[0M6+5YONRIeG+ чHv Kh<)"j|#H6dbZHV SH(HȬ.)HҢq'-/ Qvp9 g U(^>jfH6`x?k*U'{]zP0|TZD.,bM ZdKNЖdF,]J@|Y麔ki밉oY79@?~Ow_ʾBxZ13HR#N>v8TUgOB6x3AkB* TQk}L\h %D_zRS.%'B } D 44vfo/$-JyM6-vqi/bOD"E,AM;S%LHL#DDϸ Q1Jup ~:)=q1a}@m z{uԑ9 `JFy8'+pI0F(`$ h,1:vvt@)͏x* U"=>tUXކ&.5Ѹa` ,j9$iKw꫔4|hgB8@M:(NDzeQ׷? A:밬|)pq:^R/. 3S]ץn ~-ƙK ѥjB8}xKK"m*teP]Ai;~Nޭҁ/}7gOP`͌?ZG4]卆! vZ"s`N%U,$=OOs%9Ϩ]s=2HdK zR:\΅ cV h UJ D!D~K anuCI\hSJSn?c'|B. 4`7t;e;)ž}sGVBDvŢ(brRT"`X^^ty=+T*[ s8&;ҀP;ݽI_++Zо8(J^2h}uwivu\D)SK#,=S=ymCoɛG:9M^ᖝwgku$`6dTanQ7z7[ \B܊>}n%6tV/<ߣD8D"_d:&ynkn[ o`mf`(o:#ܒ,`q Hpdn7jl l{ b puSHd ¯P0toѱ5{:YB8I؜G{ݳW=.$9Y.ƈ.6_$̱1 )A"H &ff&p (O8x3-H ʎb  =O‚xu1˺ d5a}OM5Dݡ,)G04AH0  3Dx}w#-!$a6lJUӨQ0Q5KYSYפP@t('u^>}؅/ZurS\?nNͨ@Y j 65bȖal{5Gq/`$g2 ;2àZ~7w>4,up"-?2NIzs' @C* $)4 WU}% `"g 6`A}47qG9\ ~Ciw~k|^!"yҮ~"u5e-[H$LQm}F/5~ܱ<ԁ~Qt@i?jG_Ci2B ^ԧRPBn 0 cgYup'qwct9΃w6>՚ @_W ~Ϳ)22* ݟݹoL_A=_FUXjROӘ#zĐ7cyh-0\N+I.#?zH(ŭ)%K9ްi$/e:b?p&9OV-\1Sg ̆BJ4oN2V/c %73 A/,?%eG>-=3L9kȻCܟ >@ >epo\ }4АE#g61GM ׊7_RR?}.M! =MM9a88[ۯ1Y ';/ 7qx=u} ]{Ͼtqx:짿 P]A? bF^26/)'mo̩枋0mMD}&'@/D1Ok{3/#ȴ ѷĺ03-4>U\]+BS6Y:D}*Ɨ+nF4y%.7||t_M/GC`gG?Jy>T hqMG4^넲/(Ϲ\\7w% ۬= qiKȿ?.&*Ӿ:ۚ5t] {|# 81NzwHFj#9 :}<oyk)ZRۯG o֑Ut̂Pw6轕k)t#}ju-kEt=}2?s@t9\Cq^pOV~%LYNgB]t<7lmC\w ƹ'CP dR1]{=p0i0ĥG'\>Mwtiu{2֬h/쒾y31Yo[F̛NkQB~#b>>Vϯu0UBy(#=ھ=*EŤߜ&F 's\  jQ.qa cGx8=w7Bkio4ZMJRocyNj'u֭ ZeϠ |[/cn^yNmйduudu^dveГA2{() +:|/x|bJUZ2PhmxUJs7o `:,9N+-\?$7S 6 ]Z}Fth9Nv'&/j0FQ:m]"7/Ly8`|EJwGۻI?Ư!)x BL+~C0L0L HSjԣQll0W2\:d}3iCGnWGC-ůMO]߿݌ܾ7*>j ((+z(/>:]K{ea'ɏ2Cd(PӝQ,>Р/Ywr"j]~.T68+"Gӝ)D/|mݺ,9~ +U7kx>?X]Q(C`.},۷TFYw+aGJYBK:aƒURFX. /+G~ۏy`>qys6jM3ɉ[|ء$E>d{K+VרevKDLK}/+ V`Q,0\4ksn\Glo99{ao/GIg E-X_ C V25N[o? ":=l'll};_aQBޑKt$z``J0.{䗥,͕{;t,aM"ꓖgMN@oyGohrChh# ~3ON>'z{N8뵷쉲xo>}| 0|:{g{l~sP{twڻmSQ m&+ppMɋŪuI t#^]ov|O`_oHqv4 r>6"G2S{8ɼͺQHedp?w~0l<O&Q]]z1ʅHquP62FL+" ^.-UM$hj}~k`ͥ@Εiuf9TNy[q 2sK2%]֍ٿ`yG^}ѭZف=n~~[m`J{%(yd.k-GɄ$Y·b]֞ D/L}0oUy`kXS7?09?/=d8'둧${g6U[$:~ȷo~u h;x9fllR5ioɟ虃'h20J_{Jy/WM!G; @7dafsҽ0 t J@/tI( >@Ͼ/.fOԊuc-5Q)E j07"p*Nm%H+3Z<1ƹm,` F,2 ŵ>[-uZ^"vF{MNslOfzOLE^0|6 GI[ ؘGTb&Tm>mӶ{JCc5|~C3o\1G_ sNCe` /(!Kp`l _ԻN9q$ukM gτ_^xmH. ƫz?$a~dy@SCժYvk\,ȔZ2%x?6pX{ >[zLy N#@&*G0 ,G NKA~XTaMv;Aٟ犓nv)$/Ҽy?~ziݴ~hf×|^ 3c\|0썰ȝ5W5We&eS D}(@أ.D3)}"<9C8mQ Ͽl[0,1Ծh m`%eH/@@gf?.9ӧ 7g@%i's-4٢&Q/#I3r^]\/^A!k4hD /!$={݉H o*"ʰinbUOzAnMq{=~>G^څ/? >isz`,;Da֠]p.{|'Ja00-AfE/l7V1ՉL6f\0-- Fl7X>]n9ۇ]{_{Bӱyܰ==܏ g_)mPQc%?.t)Ž×X?Ky f+TT Kzᢔc>9=,`z/Hsx8’ɺ33޵/oр߲K_?|Ѿu.vc/5K zt̬)wTϾQT1mZí۪ea?37e^X+mOf*r5ZhV_k>R p,Ԓ(n*СXs0`;|uH#ߦ(-O iڝhF]WDAʊv7LD癦dP9$sm q?n_ZLs Ib? [1HGp!T6ۻB<ⴲyy6fWU`竻TR ^t%-nGt1fA]@V7ULn <ن:U>kFn@oE"ٗ @šh;jD_2=4#i;PB3>Jj$2/oԳ}('p$oDgBˏ`UNYo^_[ѳUoɑ >S3!@9 QU$Ȥ׬yIӐΥ:|a_K[u}#: 10N 0(|oB$WҞcfBE;y91 ?aȰ ~20jnHo"-NBYlIz #ĠYiS l+Z\c76rO1 ˌq R`$v ֋rqٖ`o^?IJ?.sE] @ޛtzw J\{P|B˦*K#= * qj<膰xȧM]2di p}͒޷ 0ye6~)gf?5eU͂' MCQt#b =T~iSG\6 +B ߸-3/5ʔ~j g(-7c)?}VG^vYqL1_鉬j!8b ];VF׳h$j#=lj^V/BIxUW *]JڼXޟXn802sw' V@2y^1D{8Wy'o徝I,ߡjPڊgJ02>wu!:1%oyX-goU۵,}WdQhã c0񸢧(b vQK[<[= cgZWD2a$]w i[`*7SOf?'"WGd='oϳٌtޯ_mA(NEta ?H~mQ) gWj7 /+lMrS8 6sx3r6'9"zJ(C5ߵ#NEڹn)=,}ڠm2MbZfkuϥh3(Y_dA"xOo^GVN%:m {27en2eulL)JwZM:Z _z^ Z5D}E`\pܳ"%[ Vxw"sicϘ ]]O?>w[LMldk+RKj|#N=EV'H' V ߜKuπ>`:;QEa4yh_fNEI˨CF}8'zR>gffGAL)eWJU1bO=T:EuUtI-|y }5 |q^ fR)yeO4lEB\+D_9OB=JR7:^¬nvv)kY;+d V7rRh "(`+Q<ӒB*ﰽRiQ7|(I*qX\'+L7eZ5yp6硁}@5}zݰ]7?@5&ݭHT!TK>;Ῑڵ5ē, :!TK ׊ݣ)du-UvWp/O{oiBpHU{QoH\$]$x mZ\!(I*LH,_`qu/sk=Yi:47[[xsCi# #ɛ0+)B{o x_r0 m Յ{[E)K6XW_xfHp/eԛ d&SgET71>+`qfR3yߓ>\~%}ڡtW~O`ϳrB?yϖ:g_Fݶ5_aa"1#懬9kkȟ?g5pR#x`.=_<ʚ2MՖqx^N@+]n&}-sA@n\ `Fn볻_vHr|`d=;G7OG{{ݽk[qnϻnj3@W(DDZ2mtwQY+{ `ۺsB;Hр`x>}Ycz7-WS^U\~yu9JW2@/6x53H @4 @2 &>7躸 q @mR}{? ~WLU[d.w<^^o{U,{5δq؟AMi^m浮 35?}e{ڬh(rOK/3MyfnEA#i (vCyT̉vnۯ و&v)[/oib[ xňy˟ŏ\/\㥔2gyd8LgX)!?}v `7gVul'yгR0 wX<Ь 鞔'A JfU3\:)'w1"Cf^dbf +]YtϱMpE2GLℵU+t_uu8gU^1>Pi^D!5k(8!嫺DP*BFj:O:iv['YGH #Arx Rir`-M詇\ymZ<5܏9ìZVnN!H}[!,`Q|zY%#;TTfS?3王9mxNjn]xu2?Np}$[z,8-( ,Hnj|Y+Zj7r^QsŰhN_[<<|{q/3-'> ?vd-*< )}to*GaO!@ݗ@ϧTã>=v=ۻ z>ᅄ7_#L4rb ` w{-L󏞱l)__(pyY_ޅ օe8T `x;b'XíCs}ɗyO2S}:y p0~Ÿ>$zNppK | w  xMQh|w *Z;/ݗ;fGmJ>H!nuW/-t w:fL *v\ʶqvϻloč'o6Rj@G{pǙmqR'k8OL@a@SkuD!nuy tCCm|n&Kdi5T廓 rŹ)\ml}b wkH)PwdU0~8`0.DV!XzuEne},*/-8)Y0?ϱzΰ|sH\Yap ݘ09$v o]NR:UDV>}f ۉγWL/]fU~H_lSyj 0Ly;-#=o !3WovkO#&{-xm}L[C Y{o

(ډ}vj S+5RΕvuBV|Lh(::0͊skNP i~wʊr͑LSBS#j[({0#hdݽ[_ig9G0M\xZzϺ/~ƣA?hkkx:*z0]FЇ` 1 _WUs`?>1`C5b82|LW5ɆcBi!#?4>ԐZ6϶ zixKЩ!Gá/ykvkKܒ}^[X׻&uj$/hk~X`.3U <:z:ȜOh\\m?O~s1?( f6}k@脢 j3^4{Q?Wj~J}i*^=5_%& kԗ;X?Dj;J7_;DI=]|arm4_{kEonUB_QV;Gy{~uM4 chUSiNhrzv>4@/U;Ȍ30G"5c8:?ds:@~v&ga*jgC9$!0@6f ,\e`4h+? kAt3y#ОPgћl #KX)@\Z(H{>t` Pn\e_> m旊>kKf/}8+19 Z^ʳ˫15)7\*)vz7se'X ڃ ~s?9 K<89 O.$=o}Qբ曚΄ .AGvfeL6)ӑytl u֐u*X|rνbo#6$&zJ)q`"̜mC4Wkc#9B&<l :u!B8CsQ=Jݼ̒-=0ԡH Q"ž1sG[dRxa3R 8\ VZR|`@nY ]M9x#<ɷ"10#lܦZ& [3]<%N0h@j Pd9TtS2s B,܈Gq 2Vg=0| Ds/هCFrbJU(5C,W e {j{Wr + 0>j~JCh|3 !W6(!y1]`=ۓ }*QNJJ>}-/Mڼ]Fv \iGl_D\4{2 o .~q#8lurQnm-z.R^@0Pgܾ, nh1.43 3a.c~@CBkc/& &4 %b&~`ϕJ;`&{YLSE:x&rQ܀"gp3H`1"w7[s,bߓ%==7@G3U`7!];c}J,AyW,"˾QfQ?$XT&&u!-W+6 Gd&hxT^yR7 ,Y, kN>=xp|[{4lQ[W#Q;D(=`z&?0~=l?}7f||xxxt@t@t@t@ppllllhhhhh@d@````p\p\p\pX`X`X`XVĂrzRLAIȋk'?Σ'Eh•p.8屔 :D ߘ8Ӵӹ ?2&vQLYpeԄk|vo3}jg~;19!#yAGvw/ΉS:0ct/yD>~/[J#m8NIA s/c­??Qp俽Ǔ8ZZ]_[=/O+|L omT%Oq덤rc?72м*=8+ dLh]}`~l/n$ǟ7iR>G~&}gϿS&<*-}>ݗS^'p>7- |2a{V?' +sVC!SW +L͛ObqZԀ8xgNxu^s~ywT__8<+ִ|zq蟮Jn۰I}w8{׫*8X~a=b@YU0Ufmg5!JQQ)(%zZ2>p4V& I.!P|;Yz,Fݟ-]M}]w{0{ }/z(;a@jV tnqn9l@hI[jZ' Xp-`b@h:2 ㊟H9kh{iTر/6ϥG8k8@jAgn>:ܘ9~zns~k_ٖ5vȣ7t:|0΍R}2;W]ЩYyMDjvbIpYج# /]w븗iEі<5٨?$'Ua Pϊs͔.pе8B/h&޷"N/鸺pc*?/H<2'Y>^R] us׈hV=o#$V~*>HJbRX,tG@Q"uC5Jix|&]zQ6?r}__ȿUrŶN [1c*}{];@X/ ݦp`jﭦgܘ90R XUM߹y:n[77|?Ȩ<-YHD?'N,U)|>ix&gNj>r_{9k/B "ߓC|'d6[Of/d4re"8oEW-e/}<(#`A};7H"x㫭<^_vzņx+xC93]c ^u{w "1a27< o Lkwz>n?| >!ՆGEI. 8mɺڅ?w$|<{? ?>nxQqG::#k4ƴHMW_&sdW=ՀLcv[-I, n$2[ o_*je9fwĒdH3}Wopu)֦Zsd.yK·E7J8;U<Џ-Ծ J}Ѭ|\T{Υk#7Qؗ+##(v#E$1No-J[qG=yw^}xyNScu`mjϳYR؇ēk9ft~7_:"j0*z9;A3b.^ϊdz롅g|:k'Ə<ӏg;^l3w~Ɋ?翅6л.~ۙs*9U>:aU4jV)iXm6I|9+h&BV_0 !ޥVVu e xfꩨoW!Y:LRO{h*N+7"YC1ۿ3O[84kX':RY>|:O^Z8HSa;3}#x9[ͪ&R߯شlDͥ;[V=Ng4qOg}NRs*N>VaO4@_ݒ aI`mfƞN9T: T{a# ~4(.*fBlۨ'>~!>'Z+ f滸3t4Uj^ݛ7%t5F@y6Bqa=BThRݓ+)7 'V3)3at:Qy>rKޮVY=[g)l"}U3Sb|avOĘ]$QaHR#p?GFTXD}A2ܓ$o}#EzKV_BmQӊe]̳[&Gj$6l0t{v}v0,ܫ { )I!C!2HbZxY]3~?2|!I/vҒkk_i{ p ^]}Uxg+~w?@o>^u2}+\Wl\W+3>Vק N>S9t"ڣ/GGͨ>7_zըgvZz IxjW9lu>ؿFc?S_ד R.boo<{tG}q.IaO8 {bX yl:EKR~%mU>+8tU\tyet#7^H w,%f ޿[v>\|$^}jݡ| |||xx'=tus["+1QNt׹+t,dJs|g@r.;`n] QvFyuz4ostq_ ȃ|H;!|A|j91;t׹VÓm{xl\^i9~oNitUj{gp'vD(+m˵M7>ɬ)͎l8 gUaPڷ޻mw |xxxpllQ.2#~vݧ~d[ww#i2}סE\]^{f%/84Rmk΄L ly$ٽ%{g{ǼMLgipכOʮpz+bO_Xf9g@lY_z՘ ^Ѽ.vw:vkB}6z< xd@7 >V6m}O/q݅/Rp`!g3* `ڝӭK9rv@~!u@E>wsW$^?{: DK82b~BG;dyBrͼ&d4h[=¸`xwCxفޓ)s,c㮝']X^{㾸#J'űz>ϕծ3}[#od[}|Y ]MHڲ#nooZ^p?}Scj hb_n>Xƻsʽo}|.ǽq_w3(t0l}%oM,}{̦v=:7|7r{g?I|t`K܎r7^AC utܜ2E CM1*Cj=!oN-nf5w>s>\xy/0x}3@Si "s=zE9';̶xH| xGq9'i ux9Ɍg^:j %}1A-Sj|:&dBXq-msu~&HS>r%?~WDũ FyvjjbKX*b˳6?*u="{{CEfW7wXuÀA!r||SdƢ7'>?^_2q yp_Vz쇶xCKw[Yx0lr?=zx6|m{* d|~Z=E 0Ha }5[xk;j'y]$nvq_kɉhb?|xގՑ?Z^p\O;D˘zl?@d _t@XҌOj/8ϻyr5u{ +iWǻ_f3wCM]N߷wtj/q% O֪&Rsʪܨ\OxV|RӻOR欥MiUO5*raJ-oPY>٬lǔ%0v.! C?_~޹].(9}i'Leg`zTa f<ӌK#y-)ȗ/~?NG)Z4\06ͅ~_@}izjQ|~0i'>xsm|">5̀l1@\wB BI~g3 VUi}e=;e}65@1XmKC~G_ŕ=#}vZI0U[DsQS + sBOʒL,cm`O?:"VSm}R?҇5z?gj;Su9ɗa0y|d|8Loip|su#mKK#a?rJP򑿥145pcy߹nC gxkjZAM0p9 1Lˎza/pzÛOѿ/x]u'yzQ@~[U-8x z^ccq'?>g(d =vX퐈 iRĂRF||MfG7?U$"Q2>wp}iIj}xz` ð$#yWH}}{Ffs:Z0VGEE3gU-T<[ԭu>g!GgK/5#ROBU.(@ @ @.oPo.MwTm$\L=xÇ7x|ߚUk?7t@~Iuop}0-W xofFIk~jk< ۏ cv(>}9nZԪ{^)- ?q¸1q{sf::4>c77o_oojLoY}_j6VG 7W᯸ (^> r m._{0%\!d&b_?<ݺ7ipw&svt8&n(t#Qp~u.fk֡nQsR8Qm*91vMlk1$=@CpbdT=Y  86Ȉ-۾]0 upb ˹ރ͈=͸7ZΑs.аG#%(# {Pqܖ.XNBo>c7 9l &uNvy^erf gyݾ06ч>[8^[~|~8^d~9;}~6c9ﻶaO~3QKSoo]nA4>gb?>7^FLǂ-F? :8ͼc?sp=d :{Mֹw|?} }+h}__qi/ ?~8r_*s _MtarzK7oe]hc7_XvzscޛTM4,jy}}57ꛠϿ[=l|B'}79܅M)I7חړg 𩒿rw*yz9o,}Խd7{Д w䧬{|K&^goWw/0h O,LF&3Xżdͤi\m%e'w1f~}-ڥkyc˸y F#U9/֭t7ޠ;߬~~\7>`߽ۜG?2εOe?c×Z_+- |$vBT+В_{&Eo~! oCl_o2`?6o+7,>N)ҷߘL1 poCG5yyoMjշU}&>_.Z3U}w+W7'=gm߾_{ _~?~rXtL=ҳqTs}-5?z_CɁRYKaN=~of85YH9vۑJK˯N ̓Uyz?\ۍSʶD;`}C~E#ʿseFt:bio|/?7m,ˊOqP&+_{=^|/?Y_}_ koٯ}7MO3 ф) 44#7 |M`~bskC}~ M|sx-{;F7_LDZ+yǨD8?oIa k4ܬ O7O/\?'Gԩvo&ij|?_g/g<,Jgf!kr˿~~Cƺ?7o&>.:~kLa]D~7|Y;:}~}wEI_W {~Y߀ -&z3HwJ/>9ք7E0~ >$ܑ~E7;7_nK_ |?|Ii:k7~|Wn/2wP|;*:_}?/Uo~sg <)ecϏGu ߽yuYwfJ_  5ӷz&\I+zW?UV{Ir\ʟ~_ ;:zgK_&FTkߏ\ kZM#on^c,pq6~?6h̘o*W7_ MDuAh8t5#_'v8F95J~~%}]*~48tw|#wGm~߾ʇ+_HmAx߳}#oNz|h'v?Ӎ>cM|3>j ۴@eXs?,#oW8HSm& ڙi8gr|Yfo?˿~zD8Kfdꦇ57ϗWNĿT #ˬ~5Wj730*7훎#Hr;lo~7). 9_.Я:sO^UO gc>[f_r{_vݫzZop^ j~cu]{4f-B48)N{FWK~y^LC4>b~ƕ2*} 1ʋWnp5j<1ŲPb2;S)CzL3|Vl9tz_bO&v]bn-PîUfc4y As?:  ~X3&xPǫ[DQoy;W"H=߯ =NNkFl_!F~/soLy%2Ek)Y(OȦ"7%N 3 ;4^7V8y~\$܆ag4,"/Fo$S(O^P @(@H p0@oS[o0Jl>y_{>yBl7|mw\mҼto_`ӟoCBSrОICp~ oDiߘi P7VN}M>Ro^P| 7~`v3I z7}476#^M~۔f KR!rdF]?N~$7]778UM]t7͔v&17C%yktqD$aomc&oP~pY|<>3ԍZw,,bïNT)~ׁ+eo+oM瞟 xA>O2:?Q൤xJ$~!h3zhy0@f5;B+coX @FM{_Mo9 71_{BJgo¾O\sߕ:L8|B{K?~GPv3k?oܷbKfJ⑻)7 \H^ 1Uc矟} bhlm}; q+'?͉d?TD T0&L7Mq=gT3Sʉ6Ncmx^)4:SzV.I8O 8'hStJѤ9Vڪg]1[ʮ-sM{JV 1s/6@ " b6@ C) 1 !  :Vr % # !     % !   #a000000 #b000000 #c7770007000600070055200505552220770557075055507703111103 #d #E 98 02 #W 00 01 16 05 1D 0E 08 A:\*.*@ #W 00 00 0D 08 2A 0B 00 @ #W 00 00 0E 09 2A 0B 00 @ #W 00 00 0F 0A 2A 0B 00 @ #M 00 00 00 FF A AUTOMATION@ @ #M 00 01 00 FF B  CD # 488 @ @ #T 00 03 02 FF TRASH@ @ #F FF 04 @ *.*@ #D FF 01 @ *.*@ #G 03 FF *.APP@ @ #G 03 FF *.PRG@ @ #F 03 04 *.TOS@ @ #P 03 04 *.TTP@ @ ?~`((*o"mE$"mE~$Ev$?<NNTCp"$@2<}BQ?<NNT<gC_9CT/ ?< NA\B?< NA\M8,>9@AE$E"Ra@3@/:?< NA\*z&z k -"zJg$BёBBJAg<f``&z+k +k+k  -"- Ҁ+A -Ҁ+A -Ҁ+A "A :d$@*@$<&CQ"z>$:8(z,&LNٳf0<BQ"L /INY % AUTOMATION PACKER V5.0.1HaX AU5!fJaLKaF.(I,I&N%aDapd*><|8#zD@DADBDCQQHQLNurQNua.d&ra(dCv !a&H@@Vҩ1@%QnNuf%Nurf%AQNuCtaTxr1 Hka1 Ag"CvtaTr1 HaBq jD`rptadpt?aBC@!!Q`N   AU5!(G`xD@_NFټ4*J8?FM[/i5.0.1S_PACK501.RSCY 7ƀ*OO "IfugBЭp"ҍh v =,MOLfSb\m&Vg@ZAaff;ff}J6&`D|Nlh3| KHM30j' *lxQEo&`;~bIfF͇rKՀT$@2<}BQ?:"ZJP%T@ANBտ$3 tM/H$ñKLf'u^xrKC< :dBXa.&q\nJc$&Ό 'xO$Զw#eӊ(rTg m^5 8~ vN iBgO#xA!#!KǶ/d NAbHt`HI`;'^-Z-SaP ɱ`t68qyΰvT22HzI&+OB=6%u?98 3߃Ȓ$PJʀXVg2 .%,8Z\\_UŜ<2!Mܬ$uVfVԶ1` 71>V]8(]!T`e#ɭ1՜%K*"d])U%Nusɹ\xv e;ֿ-c6 V|X>9g_1Io1w:u6soff~Hf`:8-ovXj=@'n1 h Xi`n,*Fc+$L6Bn, &8|o%z[ g]¯ ~Vw=0Kf YuEE `l]RPC kHT`C <;T pDcPd ؞FuKCsj 沚'k `byIW G|$p&2.0ٖz͈Hl ) X[_MLVf܂˄d0NgJC")~fYg@LWhaءV D`>3x^ FA+/gHPz{3(Bmw%g<𶬳`@wBw `8U̘1_-#hk To~-g0fWg!RN@`3^8 ժXO gt`6'LB nNN\*O*m3 - ;"e/0 %;J.zk1r7ژL%B[ʳp bͺaRl## 8ecVKZ` μX"NT;8vwI$Sgp^o,\x%l 5mf߄NB`4?Yq‘^2(j7YttʓV6nЀ7ltL㖴 >̙9^ ;&~r7S", s=ެFH3ܶP4g%ʠ/!#Ṇc5dGXfqH. tHX#QBsP l Ŭz]vz[f h"QR :\yflrķw+,l-\T+XS-D0t/gn4BkR`?C k-c3fݲm$Ђ,T`]`𲼲gk JgJ`Hgu}P4S--R<&f :g -R V`wXX,,u G,g*2Ģ`&P0tkU: `m,P@" gHҼ؅N8a@ Z #FBPlmc.\2qyi  D31@#uh|pI=N x0( sNq`wUx`\fXb $xn!ѹ7"QF Am(%S^t~ oS"|N] 0Yt">l0m8g +1ԁ#j[k$*DFuAmvC8`mfn m;amwX`0<=b"/Êu0̞O$ NG"X԰ &f@'ZD}|GTHSRYXOFFSETOOARGM-NU8+I[`APCTEDxDwFULL:$HAA 'ERRSAVAGA1zWROUh TYPE?KAY.RSCSISSINGDESKTOP}[3%Mn .VLow Rez}niceBut, |prefuMedium \&High!?[ Okp]\W"4 @P`LgA:\qxFILENAME.EXT2(T00k#x: @&7`b]xsBy}{$r(*o3"5"m~ kv$a3 +p"2<}B\g_1T1B Mt8,>9,AQ2@E"R@3|/:|A*M`^ BB{~2˛QJlb$BёBBJofJ``&$v kWY"a-cTc+WҀ+AkH"A96d$@*@$f&)t. "X>8$:8(},&LN|`ٳf0<B"L` /I檰xpoyaX gfuXsK.(I,I&NlkAd*'}|8#z@x BDC>H1}܍r^.d&va(dv !a&H@@Vҩ1@%P1n.f%A מta ekaAg" vtaT~1 aBq jD`ptadpt?aBC@!QNz*dK4 YBQXe 0 A]`8PoK63jδNTiZ=9Z2/ =aFY^6PC"QaLa0 zN?ɬ Y % AUTOMATION PACKER V5.0.1U,_/:ћ W3 NY>H!)nUDb6Ps4D"Я)/f0\J\Yv4c<6&>z`\@wD3UV Z6^G&x6^erړ?Jd̙V+k{kn=- FBR%Q#sJB2JVJ8JN<ܧIB4\PbJ5t8pu: TzGbesm t p!HST8@|Pubgc Do?dLHclXpBBP@_ (pOIXWV"0NBj:|ۆDfwDfE\y3Ƭx[Ɯfx3[-EHt`f!noY(W\"JDU)~e8 `[3f*j`p1gt6n2fBn ilV8gpy`0yX0QJ(Hk@ gp6ygP]6f3*|'`8vK!(CBeΰ#yf4ǝv3;H-S9HYXY|MA:j0+G|WL.(O*BZZH) (lI\*U(:[XR8YddJD;s~B f "\ 'fRzYI ,:XpH@ a/3PTHT:;.EJf,$*.*`$ׅVhCBGf 8 N h$k ^퉲j"'&jCv/aYH @wJ tFL拀 Sf3 OI d~K!jZ6iZҺևda9ju*$,{9eX6*<)k݀ڼ&@HfyIg1XͰNCJf+#;K ̳lDۼԱWB|": /. j s`X8\V;(@$@ " S" j L Ed b 5H:3 d(iڀde $tS@k fT 'gL-`&UȚQ[&ĕt)3 9;gv8n*KK Ap4rx a9`#=9hNuj J 0UZ R@,(+AKB<⏑ФT`*j#*z,K*I`H`;$`/yIf^XkBE|NgVʊ=HP<:6?S+|8IX- bu3f2CjT/: NMX<{H2 5# LWZ18֐f#"aaY:BTlxCVÐ0 p:h3 mFq@ƅ0s lCqGtr€~Y R'Ah8  GfHSk6 Xbt+vZTxvSBk'#,0k8 WD o ]oh؀XCQη(e(fC|dx#48a3v#  nA Zde+t-ѴL3r"'$𒂐LngV8HBALzZgH}3zmEЁ$ ,nH: -X6`gfslg`Yun;iҠ NV2Qd*j@Br@_ 0a6_ 1 MJ@f JAfuH@HA`H?o.AXLb(4 8Df?:A2.+77@ڶK[SD\ͼkD3PHri@ESs   QA~|5BPdO- '! (`I=K(F  %&ATt~Bd0<4uA2TvE`+*K`Pޘ-IceI*LYޭa9*o%MsL4A "+ѓg Of``GP$]$#**ӻpAGP=$=CsWN/&(&n".扑&SjNOnNSHIx,Lap ICE!fy`adKa^."N ń&NaV*Ka~d*><|8#z@j^?ogKwX#Y/n. A3V x!N/y en3,i=f"2@g0)P${1xd (Default)u2jCF e7'<3) V P><<5ctyA9ZX۱`skipld.Lartxt&/,g0!K[cDfcelled]Ef`ǧV- q3&\ bÃ|K I eEGgHThg)#wa,SẅX5by A=w ofXwupWr.^<]h vJ Xİ4z0Fi2¬bg: .02.1991|ׅ{ }x~ A0Y-~ yWhys{DBa.Exxutab &- Parame~sDATA^EXECSETUPReloca{=ftdecrunchA <2 packno erBfile?|f@H[0A.D\you wish to usanVaddA algithm for pictu compression? ][ NO | YES ]DRI @ 92 @,cd ё|E%,  a r,y"fذv \ܐ ^lCa`]M\"-Z0($ |`Bqr&V "&dP+Q)UtNYQ$ A0 depacker depack AU5_decrunch_2: dep link a3,#-120 movem.l d0-a6,-(sp) lea 120(a0),a4 move.l a4,a6 bsr.s .getinfo cmpi.l #'AU5!',d0 bne .not_packed bsr.s .getinfo lea.l -8(a0,d0.l),a5 bsr.s .getinfo move.l d0,(sp) move.l d0,siz2 adda.l d0,a6 move.l a6,a1 moveq #119,d0 .save: move.b -(a1),-(a3) dbf d0,.save move.l a6,a3 move.b -(a5),d7 bsr.s .normal_bytes move.l a3,a5 bsr.s .get_1_bit bcc.s .no_picture move.w #$0f9f,d7 .AU5_00: moveq #3,d6 .AU5_01: move.w -(a3),d4 moveq #3,d5 .AU5_02: add.w d4,d4 addx.w d0,d0 add.w d4,d4 addx.w d1,d1 add.w d4,d4 addx.w d2,d2 add.w d4,d4 addx.w d3,d3 dbra d5,.AU5_02 dbra d6,.AU5_01 movem.w d0-d3,(a3) dbra d7,.AU5_00 .no_picture movem.l (sp),d0-a3 .move move.b (a4)+,(a0)+ subq.l #1,d0 bne.s .move moveq #119,d0 .rest move.b -(a3),-(a5) dbf d0,.rest .not_packed: movem.l (sp)+,d0-a6 unlk a3 rts .getinfo: moveq #3,d1 .getbytes: lsl.l #8,d0 move.b (a0)+,d0 dbf d1,.getbytes rts .normal_bytes: bsr.s .get_1_bit bcc.s .test_if_end moveq.l #0,d1 bsr.s .get_1_bit bcc.s .copy_direkt lea.l .direkt_tab+20(pc),a1 moveq.l #4,d3 .nextgb: move.l -(a1),d0 bsr.s .get_d0_bits swap.w d0 cmp.w d0,d1 dbne d3,.nextgb .no_more: add.l 20(a1),d1 .copy_direkt: move.b -(a5),-(a6) dbf d1,.copy_direkt .test_if_end: cmpa.l a4,a6 bgt.s .strings rts .get_1_bit: add.b d7,d7 bne.s .bitfound move.b -(a5),d7 addx.b d7,d7 .bitfound: rts .get_d0_bits: moveq.l #0,d1 .hole_bit_loop: add.b d7,d7 bne.s .on_d0 move.b -(a5),d7 addx.b d7,d7 .on_d0: addx.w d1,d1 dbf d0,.hole_bit_loop rts .strings: lea.l .length_tab(pc),a1 moveq.l #3,d2 .get_length_bit: bsr.s .get_1_bit dbcc d2,.get_length_bit .no_length_bit: moveq.l #0,d4 moveq.l #0,d1 move.b 1(a1,d2.w),d0 ext.w d0 bmi.s .no_ber .get_ber: bsr.s .get_d0_bits .no_ber: move.b 6(a1,d2.w),d4 add.w d1,d4 beq.s .get_offset_2 lea.l .more_offset(pc),a1 moveq.l #1,d2 .getoffs: bsr.s .get_1_bit dbcc d2,.getoffs moveq.l #0,d1 move.b 1(a1,d2.w),d0 ext.w d0 bsr.s .get_d0_bits add.w d2,d2 add.w 6(a1,d2.w),d1 bpl.s .depack_bytes sub.w d4,d1 bra.s .depack_bytes .get_offset_2: moveq.l #0,d1 moveq.l #5,d0 moveq.l #-1,d2 bsr.s .get_1_bit bcc.s .less_40 moveq.l #8,d0 moveq.l #$3f,d2 .less_40: bsr.s .get_d0_bits add.w d2,d1 .depack_bytes: lea.l 2(a6,d4.w),a1 adda.w d1,a1 move.b -(a1),-(a6) .dep_b: move.b -(a1),-(a6) dbf d4,.dep_b bra .normal_bytes .direkt_tab: dc.l $7fff000e,$00ff0007,$00070002,$00030001,$00030001 dc.l 270-1,15-1,8-1,5-1,2-1 .length_tab: dc.b 9,1,0,-1,-1 dc.b 8,4,2,1,0 .more_offset: dc.b 11, 4, 7, 0 dc.w $11f, -1, $1f ende_AU5_decrunch_2: ;*************************************************** Ende der Unpackroutine ; A0 -> A0 depacker depack AU5_decrunch_2: link a3,#-120 movem.l d0-a6,-(sp) lea 120(a0),a4 move.l a4,a6 bsr.s .getinfo cmpi.l #'AU5!',d0 bne .not_packed bsr.s .getinfo lea.l -8(a0,d0.l),a5 bsr.s .getinfo move.l d0,(sp) adda.l d0,a6 move.l a6,a1 moveq #119,d0 .save: move.b -(a1),-(a3) dbf d0,.save move.l a6,a3 move.b -(a5),d7 bsr.s .normal_bytes move.l a3,a5 bsr.s .get_1_bit bcc.s .no_picture move.w #$0f9f,d7 .AU5_00: moveq #3,d6 .AU5_01: move.w -(a3),d4 moveq #3,d5 .AU5_02: add.w d4,d4 addx.w d0,d0 add.w d4,d4 addx.w d1,d1 add.w d4,d4 addx.w d2,d2 add.w d4,d4 addx.w d3,d3 dbra d5,.AU5_02 dbra d6,.AU5_01 movem.w d0-d3,(a3) dbra d7,.AU5_00 .no_picture movem.l (sp),d0-a3 .move move.b (a4)+,(a0)+ subq.l #1,d0 bne.s .move moveq #119,d0 .rest move.b -(a3),-(a5) dbf d0,.rest .not_packed: movem.l (sp)+,d0-a6 unlk a3 rts .getinfo: moveq #3,d1 .getbytes: lsl.l #8,d0 move.b (a0)+,d0 dbf d1,.getbytes rts .normal_bytes: bsr.s .get_1_bit bcc.s .test_if_end moveq.l #0,d1 bsr.s .get_1_bit bcc.s .copy_direkt lea.l .direkt_tab+20(pc),a1 moveq.l #4,d3 .nextgb: move.l -(a1),d0 bsr.s .get_d0_bits swap.w d0 cmp.w d0,d1 dbne d3,.nextgb .no_more: add.l 20(a1),d1 .copy_direkt: move.b -(a5),-(a6) dbf d1,.copy_direkt .test_if_end: cmpa.l a4,a6 bgt.s .strings rts .get_1_bit: add.b d7,d7 bne.s .bitfound move.b -(a5),d7 addx.b d7,d7 .bitfound: rts .get_d0_bits: moveq.l #0,d1 .hole_bit_loop: add.b d7,d7 bne.s .on_d0 move.b -(a5),d7 addx.b d7,d7 .on_d0: addx.w d1,d1 dbf d0,.hole_bit_loop rts .strings: lea.l .length_tab(pc),a1 moveq.l #3,d2 .get_length_bit: bsr.s .get_1_bit dbcc d2,.get_length_bit .no_length_bit: moveq.l #0,d4 moveq.l #0,d1 move.b 1(a1,d2.w),d0 ext.w d0 bmi.s .no_ber .get_ber: bsr.s .get_d0_bits .no_ber: move.b 6(a1,d2.w),d4 add.w d1,d4 beq.s .get_offset_2 lea.l .more_offset(pc),a1 moveq.l #1,d2 .getoffs: bsr.s .get_1_bit dbcc d2,.getoffs moveq.l #0,d1 move.b 1(a1,d2.w),d0 ext.w d0 bsr.s .get_d0_bits add.w d2,d2 add.w 6(a1,d2.w),d1 bpl.s .depack_bytes sub.w d4,d1 bra.s .depack_bytes .get_offset_2: moveq.l #0,d1 moveq.l #5,d0 moveq.l #-1,d2 bsr.s .get_1_bit bcc.s .less_40 moveq.l #8,d0 moveq.l #$3f,d2 .less_40: bsr.s .get_d0_bits add.w d2,d1 .depack_bytes: lea.l 2(a6,d4.w),a1 adda.w d1,a1 move.b -(a1),-(a6) .dep_b: move.b -(a1),-(a6) dbf d4,.dep_b bra .normal_bytes .direkt_tab: dc.l $7fff000e,$00ff0007,$00070002,$00030001,$00030001 dc.l 270-1,15-1,8-1,5-1,2-1 .length_tab: dc.b 9,1,0,-1,-1 dc.b 8,4,2,1,0 .more_offset: dc.b 11, 4, 7, 0 dc.w $11f, -1, $1f ende_AU5_decrunch_2: ;*************************************************** Ende der Unpackroutine ; A0 -> A1 depacker AU5_decrunch: movem.l d0-a6,-(sp) bsr.s getinfo cmpi.l #'AU5!',d0 bne not_packed bsr.s getinfo lea.l -8(a0,d0.l),a5 bsr.s getinfo move.l d0,(sp) move.l a1,a4 move.l a1,a6 adda.l d0,a6 move.l a6,a3 move.b -(a5),d7 bsr normal_bytes bsr get_1_bit bcc.s not_packed move.w #$0f9f,d7 AU5_00: moveq #3,d6 AU5_01: move.w -(a3),d4 moveq #3,d5 AU5_02: add.w d4,d4 addx.w d0,d0 add.w d4,d4 addx.w d1,d1 add.w d4,d4 addx.w d2,d2 add.w d4,d4 addx.w d3,d3 dbra d5,AU5_02 dbra d6,AU5_01 movem.w d0-d3,(a3) dbra d7,AU5_00 not_packed: movem.l (sp)+,d0-a6 rts getinfo: moveq #3,d1 getbytes: lsl.l #8,d0 move.b (a0)+,d0 dbf d1,getbytes rts normal_bytes: bsr.s get_1_bit bcc.s test_if_end moveq.l #0,d1 bsr.s get_1_bit bcc.s copy_direkt lea.l direkt_tab+20(pc),a1 moveq.l #4,d3 nextgb: move.l -(a1),d0 bsr.s get_d0_bits swap.w d0 cmp.w d0,d1 dbne d3,nextgb no_more: add.l 20(a1),d1 copy_direkt: move.b -(a5),-(a6) dbf d1,copy_direkt test_if_end: cmpa.l a4,a6 bgt.s strings rts get_1_bit: add.b d7,d7 bne.s bitfound move.b -(a5),d7 addx.b d7,d7 bitfound: rts get_d0_bits: moveq.l #0,d1 hole_bit_loop: add.b d7,d7 bne.s on_d0 move.b -(a5),d7 addx.b d7,d7 on_d0: addx.w d1,d1 dbf d0,hole_bit_loop rts strings: lea.l length_tab(pc),a1 moveq.l #3,d2 get_length_bit: bsr.s get_1_bit dbcc d2,get_length_bit no_length_bit: moveq.l #0,d4 moveq.l #0,d1 move.b 1(a1,d2.w),d0 ext.w d0 bmi.s no_ber get_ber: bsr.s get_d0_bits no_ber: move.b 6(a1,d2.w),d4 add.w d1,d4 beq.s get_offset_2 lea.l more_offset(pc),a1 moveq.l #1,d2 getoffs: bsr.s get_1_bit dbcc d2,getoffs moveq.l #0,d1 move.b 1(a1,d2.w),d0 ext.w d0 bsr.s get_d0_bits add.w d2,d2 add.w 6(a1,d2.w),d1 bpl.s depack_bytes sub.w d4,d1 bra.s depack_bytes get_offset_2: moveq.l #0,d1 moveq.l #5,d0 moveq.l #-1,d2 bsr.s get_1_bit bcc.s less_40 moveq.l #8,d0 moveq.l #$3f,d2 less_40: bsr.s get_d0_bits add.w d2,d1 depack_bytes: lea.l 2(a6,d4.w),a1 adda.w d1,a1 move.b -(a1),-(a6) dep_b: move.b -(a1),-(a6) dbf d4,dep_b bra normal_bytes direkt_tab: dc.l $7fff000e,$00ff0007,$00070002,$00030001,$00030001 dc.l 270-1,15-1,8-1,5-1,2-1 length_tab: dc.b 9,1,0,-1,-1 dc.b 8,4,2,1,0 more_offset: dc.b 11,4,7,0 dc.w $11f,-1,$1f ;*************************************************** Ende der Unpackroutine TEXT Begin BRA L0004 L0000 DC.B 'super.lum',0,0,0,0,0,0,0 L0001 DS.W 1 L0002 DC.B 'cycle.PRG',0 L0003 DC.B $1B,$45,$1B,$66,$1B,$77 DC.B 'MESSAGE TO APPEAR AT FRONT OF LOADER',13,10 DC.B 'HI FROM EGB... ETC',13,10 DC.B 0 EVEN L0004 MOVEA.L 4(A7),A5 MOVE.L 12(A5),D0 ADD.L 20(A5),D0 ADD.L 28(A5),D0 ADDI.L #$200,D0 ADDI.L #$4008,D0 MOVE.L D0,-(A7) MOVE.L A5,-(A7) MOVE.L #$4A0000,-(A7) TRAP #1 LEA 12(A7),A7 DC.B $A0,$0A PEA L0003 MOVE.W #9,-(A7) TRAP #1 ADDQ.L #6,A7 DC.B $A0,$09 MOVE.L #L00AF,L009E MOVE.L #L0000,L009A MOVE.L #L0001,L009B CLR.L -(A7) MOVE.W #$20,-(A7) TRAP #1 ADDQ.L #6,A7 LEA L0096(PC),A6 MOVE.L D0,(A6) MOVE.L $00000084.L,L000A MOVE.L #L0006,$00000084.L MOVE.L L0096(PC),-(A7) MOVE.W #$20,-(A7) TRAP #1 ADDQ.L #6,A7 L0005 CLR.L L009C MOVEA.L #L0005,A7 MOVE.L #L0000,L0099 MOVE.L #-$16,L0098 CLR.L $00060000 PEA $00060000 PEA $00060000 MOVE.L #L0002,-(A7) MOVE.L #$4B0000,-(A7) TRAP #1 LEA 16(A7),A7 CLR.W -(A7) TRAP #1 L0006 TST.W L009D BNE L0009 MOVEM.L A0-A6/D0-D7,L00A0 MOVEA.L A7,A1 ADDQ.L #6,A1 MOVE.W (A7),D0 BTST #13,D0 BNE.S L0007 MOVE USP,A1 L0007 CMPI.W #$3D,(A1) BEQ L000B CMPI.W #$3F,(A1) BEQ L0014 CMPI.W #$3E,(A1) BEQ L0032 CMPI.W #$3C,(A1) BEQ L0042 CMPI.W #$40,(A1) BEQ L0045 CMPI.W #$42,(A1) BEQ L0039 CMPI.W #$4E,(A1) BEQ L0046 CMPI.W #$4F,(A1) BEQ L0051 CMPI.W #$45,(A1) BEQ L0052 CMPI.W #$46,(A1) BEQ L0053 L0008 MOVEM.L L00A0(PC),A0-A6/D0-D7 L0009 JMP $00000000.L L000A EQU L0009+2 L000B MOVE.W #1,L009D BSR L0055 MOVE.L D0,D7 MOVE.L D0,D6 MOVEA.L A0,A5 MOVEA.L 2(A1),A6 MOVE.W 6(A1),-(A7) MOVE.L A6,-(A7) MOVE.W #$3D,-(A7) TRAP #1 ADDQ.L #8,A7 TST.L D0 BPL L000D CLR.L D6 MOVEA.L A6,A0 MOVEA.L L009A,A4 BSR L0057 TST.L D0 BMI L0041 LEA L0095,A1 MOVE.L D7,D6 LSL.L #2,D6 MOVE.L D0,0(A1,D6.W) LEA L00A4,A1 CLR.L 0(A1,D6.W) LEA L00A8,A1 MOVE.L A4,0(A1,D6.W) LEA L00A5,A1 MOVE.L 14(A0),0(A1,D6.W) LEA L00A7,A1 MOVE.L 18(A0),0(A1,D6.W) CLR.L D0 MOVEA.L L009E,A0 MOVE.W 200(A0),D0 MULU #$16,D0 ADDQ.L #2,D0 ANDI.L #$FFFF,D0 ADD.L D0,0(A1,D6.W) MOVE.L D7,D6 LSL.L #5,D7 LEA L00A6,A0 ADDA.L D7,A0 MOVEA.L A6,A2 L000C MOVE.B (A2)+,(A0)+ BNE.S L000C BRA L0013 L000D MOVE.L D0,D4 CLR.L L00AB PEA L00AB MOVE.L #8,-(A7) MOVE.W D4,-(A7) MOVE.W #$3F,-(A7) TRAP #1 LEA 12(A7),A7 CLR.W -(A7) MOVE.W D4,-(A7) CLR.L -(A7) MOVE.W #$42,-(A7) TRAP #1 LEA 10(A7),A7 MOVEA.L A6,A4 MOVE.L #$1F,D0 L000E MOVE.B (A6)+,(A5)+ DBF D0,L000E LSL.L #2,D7 LEA L00A4,A0 MOVE.L #0,0(A0,D7.W) LEA L00A7,A0 MOVE.L #0,0(A0,D7.W) CMPI.L #"AU5$",L00AB BEQ.S L000F LEA L0095,A0 MOVE.L D4,0(A0,D7.W) LEA L00A8,A0 MOVE.L #0,0(A0,D7.W) CMPI.L #"AU5C",L00AB BNE L0013 MOVE.L #-1,0(A0,D7.W) LEA L00A5,A0 MOVE.L L00AC,0(A0,D7.W) BRA L0010 L000F LEA L00A5,A0 MOVE.L L00AC,0(A0,D7.W) LEA L0095,A0 MOVE.L #-1,0(A0,D7.W) LEA L00A8,A0 MOVE.L #0,0(A0,D7.W) MOVE.W D4,-(A7) MOVE.W #$3E,-(A7) TRAP #1 ADDQ.L #4,A7 L0010 LEA L00A3,A5 L0011 TST.B (A4) BEQ.S L0012 CMPM.B (A4)+,(A5)+ BEQ.S L0011 BRA.S L0013 L0012 TST.B (A5) BNE.S L0013 MOVE.L D6,L009C L0013 CLR.W L009D MOVE.L D6,-(A7) MOVEM.L L00A0,A0-A6/D0-D7 MOVE.L (A7)+,D0 RTE L0014 CLR.L D0 MOVE.W 2(A1),D0 TST.W D0 BMI L0015 MOVE.W D0,D1 LSL.L #2,D1 LEA L0095,A0 MOVE.L 0(A0,D1.W),D2 CMP.W #-1,D2 BEQ L0019 LEA L00A8,A0 MOVE.L 0(A0,D1.W),D3 TST.L D3 BNE L001F L0015 MOVE.W #1,L009D MOVE.L 8(A1),D7 MOVE.L D7,-(A7) MOVE.L 4(A1),-(A7) MOVE.W D2,-(A7) MOVE.W #$3F,-(A7) TRAP #1 LEA 12(A7),A7 MOVE.L D0,D5 MOVEA.L D7,A0 CLR.L D0 MOVE.B (A0),D0 LSL.W #8,D0 MOVE.B 1(A0),D0 SWAP D0 MOVE.B 2(A0),D0 LSL.W #8,D0 MOVE.B 3(A0),D0 CMP.L #"AU5!",D0 BNE L0031 LEA -200(A0),A1 MOVEA.L A1,A2 LEA L00A9,A3 MOVE.L #$C7,D1 L0016 MOVE.B (A2)+,(A3)+ DBF D1,L0016 L0017 MOVE.B (A0)+,(A1)+ SUBQ.L #1,D5 BNE.S L0017 MOVEA.L A2,A1 LEA -200(A1),A0 MOVE.L A0,-(A7) BSR L0075 MOVEA.L (A7)+,A0 LEA L00A9,A1 MOVE.L #$C7,D1 L0018 MOVE.B (A1)+,(A0)+ DBF D1,L0018 BRA L0031 L0019 CMP.L L009C,D0 BEQ L001B MOVEA.L A1,A5 MOVE.W #1,L009D MOVE.L D0,L009C LSL.L #5,D0 LEA L00A6,A0 ADDA.L D0,A0 MOVEA.L A0,A1 LEA L00A3,A2 MOVE.W #$1F,D0 L001A MOVE.B (A1)+,(A2)+ DBF D0,L001A CLR.W -(A7) MOVE.L A0,-(A7) MOVE.W #$3D,-(A7) TRAP #1 ADDQ.L #8,A7 MOVE.W D0,D6 MOVE.L L009E,-(A7) MOVE.L #$2008,-(A7) MOVE.W D0,-(A7) MOVE.W #$3F,-(A7) TRAP #1 LEA 12(A7),A7 MOVE.W D6,-(A7) MOVE.W #$3E,-(A7) TRAP #1 ADDQ.L #4,A7 CLR.W L009D MOVEA.L L009E,A0 LEA 200(A0),A1 MOVE.L 4(A0),D7 BSR L0075 MOVEA.L A5,A1 L001B MOVE.L 4(A1),D0 MOVE.L D0,D5 MOVEA.L 8(A1),A0 MOVE.L L009C,D1 LSL.L #2,D1 LEA L00A4,A2 LEA L00A5,A3 MOVE.L 0(A2,D1.W),D2 MOVE.L 0(A3,D1.W),D3 MOVEA.L L009E,A1 LEA 200(A1),A1 ADDA.L D2,A1 L001C MOVE.B (A1)+,(A0)+ ADDQ.L #1,D2 CMP.L D2,D3 BLT.S L001D SUBQ.L #1,D0 BNE.S L001C BRA.S L001E L001D MOVE.L D3,D2 L001E MOVE.L D2,0(A2,D1.W) SUB.L D0,D5 BRA L0031 L001F MOVE.W #1,L009D CMP.L L009C,D0 BEQ L0021 MOVE.L D0,L009C LEA L00A8,A0 MOVEA.L 0(A0,D1.W),A5 CMPA.L L00A3,A5 BEQ L0021 MOVEA.L A1,A5 LSL.L #5,D0 LEA L00A6,A1 ADDA.L D0,A1 LEA L00A3,A2 MOVE.W #$1F,D0 L0020 MOVE.B (A1)+,(A2)+ DBF D0,L0020 MOVE.L D2,D7 CLR.W -(A7) MOVE.W D7,-(A7) CLR.L -(A7) MOVE.W #$42,-(A7) TRAP #1 LEA 10(A7),A7 PEA L00AB MOVE.L #$400,-(A7) MOVE.W D7,-(A7) MOVE.W #$3F,-(A7) TRAP #1 LEA 12(A7),A7 MOVE.L L00AC,D0 MOVE.L L00AD,D2 SUBQ.L #1,D2 EORI.L #-1,D2 AND.L D2,D0 MOVE.L D0,L00AA MOVE.L #-1,L009F MOVEA.L A5,A1 MOVE.L D7,D2 MOVE.L L009C,D0 MOVE.L D0,D1 LSL.L #2,D1 L0021 LEA L00A4,A0 MOVE.L 0(A0,D1.W),D4 MOVE.L 4(A1),D5 MOVE.L D4,D7 ADD.L D5,D7 CMP.L D4,D7 BLT.S L0022 LEA L00A5,A0 CMP.L 0(A0,D1.W),D7 BLT L0023 L0022 MOVE.L 0(A0,D1.W),D7 L0023 SUB.L D4,D7 MOVE.L D7,D5 MOVEA.L 8(A1),A4 MOVEA.L A4,A5 ADDA.L D5,A5 SUBA.L #1,A5 TST.L D5 BEQ L0031 LEA L00A4,A0 LEA L00A7,A1 MOVE.L 0(A1,D1.W),D0 ADD.L D0,0(A0,D1.W) MOVE.W D2,L00A1 MOVE.L D5,D2 LEA L00A4,A0 MOVE.L 0(A0,D1.W),D0 MOVEA.L D0,A2 MOVEA.L A2,A3 MOVE.L L00AD,D3 SUBQ.L #1,D3 AND.L D3,D0 MOVE.L D3,D7 MOVE.L D0,D6 EORI.L #-1,D3 MOVE.L A2,D0 AND.L D3,D0 MOVE.L D0,D4 ADDA.L D5,A3 MOVE.L A3,D5 AND.L D7,D5 MOVE.L A3,D0 AND.L D3,D0 MOVE.L D0,D3 SUB.L D4,D0 MOVE.L L00AD,D7 DIVU D7,D0 MOVE.L D0,D7 MOVE.L D4,D0 MOVE.L L00AD,D2 LEA L00AE,A0 CMP.L L00AA,D0 BNE.S L0024 DIVU D2,D0 LSL.L #2,D0 MOVE.L L00AC,D1 BRA.S L0025 L0024 DIVU D2,D0 LSL.L #2,D0 MOVE.L 4(A0,D0.W),D1 L0025 MOVE.L 0(A0,D0.W),D2 MOVE.L D1,D0 SUB.L D2,D0 CMP.L L009F,D4 BEQ L0026 MOVE.L D4,L009F CLR.W -(A7) MOVE.W L00A1,-(A7) MOVE.L D2,-(A7) MOVE.L D0,D2 MOVE.W #$42,-(A7) TRAP #1 LEA 10(A7),A7 MOVE.L L009E,-(A7) MOVE.L D2,-(A7) MOVE.W L00A1,-(A7) MOVE.W #$3F,-(A7) TRAP #1 LEA 12(A7),A7 MOVEA.L L009E,A0 LEA 200(A0),A1 BSR L0070 BRA L0027 L0026 TST.L D7 BEQ L002C CLR.W -(A7) MOVE.W L00A1,-(A7) MOVE.L D1,-(A7) MOVE.W #$42,-(A7) TRAP #1 LEA 10(A7),A7 L0027 CMP.L #1,D7 BLE L002C MOVE.L D7,-(A7) LSL.L #2,D7 MOVE.L D4,D0 MOVE.L L00AD,D2 LEA L00AE,A0 DIVU D2,D0 LSL.L #2,D0 MOVE.L 4(A0,D0.W),D1 ADDA.L D7,A0 MOVE.L 0(A0,D0.W),D2 MOVE.L D2,D0 SUB.L D1,D0 MOVEA.L A4,A6 ADDA.L L00AD,A6 SUBA.L D6,A6 LEA -200(A6),A3 MOVE.L A3,D7 MOVE.L #$C7,D1 BTST #0,D7 BEQ.S L0028 ADDQ.L #1,A3 SUBQ.L #1,D1 L0028 MOVE.L (A7),D7 MOVE.L D6,-(A7) MOVE.L L00AD,D6 MULU D6,D7 MOVE.L (A7)+,D6 ADDA.L D7,A6 MOVE.L (A7)+,D7 LEA L00A9,A0 MOVEA.L A3,A1 MOVE.L D1,D2 L0029 MOVE.B (A1)+,(A0)+ DBF D1,L0029 MOVE.L A3,-(A7) MOVE.L D0,-(A7) MOVE.W L00A1,-(A7) MOVE.W #$3F,-(A7) TRAP #1 LEA 12(A7),A7 LEA L00AE,A2 MOVE.L D4,D0 MOVE.L D6,-(A7) MOVE.L L00AD,D6 DIVU D6,D0 MOVE.L (A7)+,D6 LSL.L #2,D0 ADDQ.L #4,D0 ADDA.L D0,A2 MOVE.L D7,-(A7) LSL.L #2,D7 SUBQ.L #4,D7 SUBA.L L00AD,A6 L002A SUBA.L L00AD,A6 SUBQ.L #4,D7 MOVEA.L A3,A0 MOVE.L 0(A2,D7.W),D0 SUB.L (A2),D0 ADDA.L D0,A0 MOVEA.L A6,A1 BSR L0070 TST.W D7 BNE.S L002A MOVE.L (A7)+,D7 LEA L00A9,A0 MOVEA.L A3,A1 MOVE.L D2,D1 L002B MOVE.B (A0)+,(A1)+ DBF D1,L002B L002C MOVEA.L L009E,A0 LEA 200(A0),A0 ADDQ.L #1,A5 ADDA.L D6,A0 MOVEA.L A4,A1 L002D CMPA.L A1,A5 BEQ.S L002E CMP.L L00AD,D6 BEQ.S L002E MOVE.B (A0)+,(A1)+ ADDQ.L #1,D6 BRA.S L002D L002E SUBQ.L #1,A5 TST.L D7 BEQ.S L0030 TST.L D5 BEQ.S L0030 MOVE.L D3,L009F MOVE.L L00AD,D3 MULU D3,D7 MOVE.L L009F,D3 MOVE.L L009E,-(A7) MOVE.L L00AD,-(A7) MOVE.W L00A1,-(A7) MOVE.W #$3F,-(A7) TRAP #1 LEA 12(A7),A7 MOVEA.L L009E,A0 LEA 200(A0),A1 BSR L0070 MOVEA.L L009E,A0 LEA 200(A0),A0 MOVEA.L A5,A1 ADDQ.L #1,A1 SUBA.L D5,A1 SUBQ.L #1,D5 L002F MOVE.B (A0)+,(A1)+ DBF D5,L002F L0030 SUBA.L A4,A5 ADDQ.L #1,A5 MOVE.L A5,D5 MOVE.L L009C,D0 LSL.L #2,D0 LEA L00A7,A0 MOVE.L 0(A0,D0.W),D1 LEA L00A4,A0 SUB.L D1,0(A0,D0.W) ADD.L D5,0(A0,D0.W) L0031 CLR.W L009D MOVE.L D5,-(A7) MOVEM.L L00A0,A0-A6/D0-D7 MOVE.L (A7)+,D0 RTE L0032 CLR.L D0 CLR.L D7 MOVE.W 2(A1),D7 MOVE.L D7,D6 MOVE.L D7,D5 MOVE.L D7,D4 LSL.L #2,D6 LEA L0095,A5 TST.W D7 BMI.S L0034 LSL.L #5,D4 LEA L00A6,A4 TST.B 0(A4,D4.W) BNE.S L0033 MOVE.L #-$25,D0 BRA L0038 L0033 MOVE.L 0(A5,D6.W),D5 CMP.L #-1,D5 BEQ.S L0035 L0034 MOVE.W #1,L009D MOVE.W D5,-(A7) MOVE.W #$3E,-(A7) TRAP #1 ADDQ.L #4,A7 CLR.W L009D TST.L D0 BMI.S L0038 L0035 TST.W D7 BMI.S L0038 CMP.L L009C,D7 BNE.S L0036 MOVE.L #-1,L009C L0036 CLR.W D5 SWAP D5 TST.W D5 BEQ.S L0037 CMP.W #-1,D5 BEQ.S L0037 MOVE.L D5,0(A5,D6.W) BRA L0038 L0037 LSL.L #5,D7 LEA L00A6,A5 MOVE.B #0,0(A5,D7.W) L0038 MOVE.L D0,-(A7) MOVEM.L L00A0,A0-A6/D0-D7 MOVE.L (A7)+,D0 RTE L0039 LEA L00A4,A2 LEA L00A5,A3 CLR.L D0 MOVE.W 6(A1),D0 LSL.L #2,D0 CLR.L D1 MOVE.W 8(A1),D1 MOVE.L 2(A1),D2 TST.W D1 BNE.S L003A MOVE.L D2,D3 BRA.S L003D L003A CMP.W #1,D1 BNE.S L003B MOVE.L 0(A2,D0.W),D3 ADD.L D2,D3 BRA.S L003D L003B TST.L D2 BPL.S L003C NEG.L D2 L003C MOVE.L 0(A3,D0.W),D3 SUB.L D2,D3 L003D MOVE.L 0(A3,D0.W),D4 CMP.L D3,D4 BGT.S L003E MOVE.L D4,D3 L003E TST.L D3 BGT.S L003F CLR.L D3 L003F MOVE.L D3,0(A2,D0.W) LEA L0095,A0 MOVE.L 0(A0,D0.W),D4 CMP.L #-1,D4 BEQ.S L0040 LEA L00A8,A0 MOVE.L 0(A0,D0.W),D5 TST.L D5 BNE.S L0040 MOVE.W #1,L009D MOVE.W D1,-(A7) MOVE.W D4,-(A7) MOVE.L D2,-(A7) MOVE.W #$42,-(A7) TRAP #1 LEA 10(A7),A7 MOVE.L D0,D3 CLR.W L009D L0040 MOVE.L D3,-(A7) MOVEM.L L00A0,A0-A6/D0-D7 MOVE.L (A7)+,D0 RTE L0041 CLR.W L009D MOVE.L D0,-(A7) MOVEM.L L00A0,A0-A6/D0-D7 MOVE.L (A7)+,D0 RTE L0042 MOVE.W #1,L009D BSR L0055 MOVE.L D0,D7 MOVEA.L A0,A5 MOVE.W 6(A1),-(A7) MOVE.L 2(A1),-(A7) MOVE.W #$3C,-(A7) TRAP #1 ADDQ.L #8,A7 TST.W D0 BMI L0044 L0043 MOVE.B #$49,(A5) LEA L0095,A0 MOVE.L D7,D6 LSL.L #2,D7 MOVE.L D0,0(A0,D7.W) MOVE.L D6,D0 L0044 CLR.W L009D MOVE.L D0,-(A7) MOVEM.L L00A0,A0-A6/D0-D7 MOVE.L (A7)+,D0 RTE L0045 CLR.L D0 MOVE.W 2(A1),D0 TST.W D0 BMI L0008 LSL.L #2,D0 LEA L0095,A0 MOVE.L 0(A0,D0.W),D1 MOVE.W D1,2(A1) BRA L0008 L0046 MOVE.L 2(A1),D5 MOVE.W 6(A1),D6 MOVE.W #1,L009D LEA L0097,A0 MOVEA.L D5,A1 MOVE.L #$D,D0 L0047 MOVE.B (A1)+,(A0)+ DBF D0,L0047 MOVE.L #-$16,L0098 MOVE.L #L0000,L0099 MOVE.W D6,-(A7) MOVE.L D5,-(A7) MOVE.W #$4E,-(A7) TRAP #1 ADDQ.L #8,A7 CLR.L D6 TST.W D0 BEQ.S L004A MOVEA.L D5,A0 MOVEA.L L009A,A4 L0048 BSR L0057 TST.W D0 BMI L0050 MOVE.L A4,L0099 LEA -202(A0),A6 SUBA.L L009E,A6 MOVE.L A6,L0098 MOVEA.L A0,A6 MOVE.W D0,-(A7) MOVE.W #$3E,-(A7) TRAP #1 ADDQ.L #4,A7 MOVE.W #$2F,-(A7) TRAP #1 ADDQ.L #2,A7 MOVEA.L D0,A0 LEA 26(A0),A0 MOVE.L 14(A6),(A0)+ MOVEQ #$D,D0 L0049 MOVE.B (A6)+,(A0)+ DBF D0,L0049 MOVEQ #0,D0 BRA L0050 L004A MOVE.W #$2F,-(A7) TRAP #1 ADDQ.L #2,A7 MOVE.L D0,D7 ADDI.L #$1E,D0 MOVEA.L D0,A0 MOVE.L D0,D4 LEA L0000,A1 LEA L0001,A2 ADDQ.L #1,A1 ADDQ.L #1,A2 L004B CLR.L D0 L004C MOVE.B 0(A1,D0.W),D1 CMP.B 0(A0,D0.W),D1 BNE.S L004D ADDQ.L #1,D0 TST.B D1 BNE.S L004C MOVE.L #-$21,D0 TST.L D6 BRA L0051 L004D LEA 16(A1),A1 CMPA.L A2,A1 BNE.S L004B CLR.W -(A7) MOVE.L D4,-(A7) MOVE.W #$3D,-(A7) TRAP #1 ADDQ.L #8,A7 TST.L D0 BMI.S L004F MOVE.W D0,D6 CLR.L L00A1 PEA L00A1 MOVE.L #8,-(A7) MOVE.W D0,-(A7) MOVE.W #$3F,-(A7) TRAP #1 LEA 12(A7),A7 MOVE.W D6,-(A7) MOVE.W #$3E,-(A7) TRAP #1 ADDQ.L #4,A7 LEA L00A1,A0 CMPI.L #"AU5$",(A0) BEQ.S L004E CMPI.L #"AU5!",(A0) BNE.S L004F L004E MOVEA.L D7,A1 MOVE.L 4(A0),26(A1) L004F CLR.L D0 L0050 CLR.W L009D MOVE.L D0,-(A7) MOVEM.L L00A0,A0-A6/D0-D7 MOVE.L (A7)+,D0 RTE L0051 MOVE.W #1,L009D MOVE.L L0098,D6 ADDI.L #$16,D6 MOVE.W #$4F,-(A7) TRAP #1 ADDQ.L #2,A7 TST.L D0 BEQ L004A LEA L0097,A0 MOVEA.L L0099,A4 BRA L0048 L0052 MOVE.W #1,L009D BSR L0055 MOVE.L D0,D7 MOVEA.L A0,A5 MOVE.W 2(A1),D5 MOVE.W D5,-(A7) MOVE.W #$45,-(A7) TRAP #1 ADDQ.L #4,A7 TST.W D0 BMI L0041 NEG.L D5 SWAP D5 MOVE.W D0,D5 MOVE.L D5,D0 BRA L0043 L0053 CLR.L D0 MOVE.W 4(A1),D0 LEA L0095,A5 TST.W D0 BMI.S L0054 LSL.L #2,D0 MOVE.L 0(A5,D0.W),D0 MOVE.W D0,4(A1) L0054 CLR.L D1 MOVE.W 2(A1),D1 LSL.L #2,D1 MOVE.L D0,0(A5,D1.W) BRA L0008 L0055 LEA L00A6,A0 LEA 160(A0),A0 MOVE.L #5,D0 L0056 ADDQ.L #1,D0 LEA 32(A0),A0 TST.B (A0) BNE.S L0056 RTS L0057 MOVE.L D0,D5 BSR L0060 MOVEA.L A0,A6 MOVEA.L L009B,A5 L0058 CMPA.L A4,A5 BEQ L005C L0059 BSR L005A MOVE.L D0,D4 TST.L D0 BMI L005E PEA L00AB MOVE.L #$400,-(A7) MOVE.W D4,-(A7) MOVE.W #$3F,-(A7) TRAP #1 LEA 12(A7),A7 MOVE.L #-1,L009F MOVE.L A4,L00A3 MOVE.L L00AC,D0 MOVE.L L00AD,D2 SUBQ.L #1,D2 EORI.L #-1,D2 AND.L D2,D0 MOVE.L D0,L00AA CLR.W -(A7) MOVE.W D4,-(A7) MOVE.L L00AE,-(A7) MOVE.W #$42,-(A7) TRAP #1 LEA 10(A7),A7 MOVE.L L009E,-(A7) MOVE.L L00AD,-(A7) MOVE.W D4,-(A7) MOVE.W #$3F,-(A7) TRAP #1 LEA 12(A7),A7 MOVEA.L L009E,A0 LEA 200(A0),A1 BSR L0070 BSR L005B TST.L D0 BMI.S L005E MOVEA.L D0,A0 MOVE.L D4,D0 RTS L005A CLR.W -(A7) MOVE.L A4,-(A7) MOVE.W #$3D,-(A7) TRAP #1 ADDQ.L #8,A7 RTS L005B MOVEA.L A6,A0 CLR.L D0 MOVE.W (A1),D0 MULU #$16,D0 ADDQ.L #2,A1 MOVEA.L A1,A2 ADDA.L D0,A2 ADDA.L D6,A1 BSR L0064 RTS L005C CMPA.L #L0001,A5 BNE.S L005D CMPI.L #L0000,L009A BEQ.S L005D MOVEA.L L009A,A5 MOVEA.L #L0000,A4 BRA L0059 L005D MOVE.L D5,D0 RTS L005E TST.W D4 BMI.S L005F MOVE.W D4,-(A7) MOVE.W #$3E,-(A7) TRAP #1 ADDQ.L #4,A7 L005F LEA 16(A4),A4 BRA L0058 L0060 CMPI.B #$3A,1(A0) BNE.S L0061 ADDQ.L #2,A0 L0061 MOVEA.L A0,A1 L0062 CMPI.B #$5C,(A1)+ BNE.S L0063 MOVEA.L A1,A0 L0063 TST.B (A1) BNE.S L0062 RTS L0064 CLR.W D1 CLR.W D2 L0065 MOVE.B 0(A0,D1.W),D0 CMP.B #$61,D0 BLT.S L0066 CMP.B #$7A,D0 BGT.S L0066 ANDI.B #-$21,D0 L0066 CMP.B #$3F,D0 BNE.S L0067 TST.B 0(A1,D2.W) BEQ.S L006E CMPI.B #$2E,0(A1,D2.W) BEQ.S L006E BRA.S L0069 L0067 CMP.B 0(A1,D2.W),D0 BNE.S L006A L0068 TST.B D0 BEQ.S L006F L0069 ADDQ.B #1,D1 ADDQ.B #1,D2 BRA.S L0065 L006A CMP.B #$2A,D0 BNE.S L006E ADDQ.B #1,D1 MOVE.B 0(A0,D1.W),D0 CMP.B #$61,D0 BLT.S L006B CMP.B #$7A,D0 BGT.S L006B ANDI.B #-$21,D0 L006B TST.B D0 BEQ.S L006D L006C ADDQ.B #1,D2 CMP.B 0(A1,D2.W),D0 BEQ.S L0068 CMPI.B #$2E,0(A1,D2.W) BEQ.S L0068 TST.B 0(A1,D2.W) BNE.S L006C BRA.S L006E L006D ADDQ.B #1,D2 CMPI.B #$2E,0(A1,D2.W) BEQ.S L006E TST.B 0(A1,D2.W) BNE.S L006D BRA.S L006F L006E LEA 22(A1),A1 CMPA.L A1,A2 BGT L0064 MOVEA.L #-1,A1 L006F MOVE.L A1,D0 RTS L0070 MOVEM.L A0-A6/D0-D7,-(A7) CLR.L D0 MOVE.B (A0),D0 LSL.W #8,D0 MOVE.B 1(A0),D0 SWAP D0 MOVE.B 2(A0),D0 LSL.W #8,D0 MOVE.B 3(A0),D0 CMP.L #"AU5!",D0 BEQ L0071 CMP.L #"AU5$",D0 BNE L0072 L0071 BSR L0075 BRA L0074 L0072 MOVE.L L00AD,D0 ADDA.L D0,A0 ADDA.L D0,A1 SUBQ.L #1,D0 L0073 MOVE.B -(A0),-(A1) DBF D0,L0073 L0074 MOVEM.L (A7)+,A0-A6/D0-D7 RTS L0075 ice_depack move.w $ffff8240.w,-(a7) bsr.s getinfo ; ein Langwort holen cmpi.l #'AU5!',d0 ; Kennung gefunden? bne not_packed ; nein: nicht gepackt bsr.s getinfo ; gepackte Lnge holen lea.l -8(a0,d0.l),a5 ; a5 = Ende der gepackten Daten bsr.s getinfo ; ungepackte Lnge holen (original) ; move.l d0,(sp) ; Originallnge: spter nach d0 move.l a1,a4 ; a4 = Zielpuffer move.l a1,a6 adda.l d0,a6 ; a6 = Ende entpackte Daten move.l a6,a3 ; merken fr Picture decrunch move.b -(a5),d7 ; erstes Informationsbyte bsr normal_bytes bsr get_1_bit ;; Picture decrunch! bcc.s not_packed ;; These marked lines may be move.w #$0f9f,d7 ;; removed in your own sources ice_00: moveq #3,d6 ;; if you do not use the ice_01: move.w -(a3),d4 ;; additional algorithm. moveq #3,d5 ;; ice_02: add.w d4,d4 ;; addx.w d0,d0 ;; add.w d4,d4 ;; addx.w d1,d1 ;; add.w d4,d4 ;; addx.w d2,d2 ;; add.w d4,d4 ;; addx.w d3,d3 ;; dbra d5,ice_02 ;; dbra d6,ice_01 ;; movem.w d0-d3,(a3) ;; dbra d7,ice_00 ;; not_packed: rts getinfo: moveq #3,d1 ; ein Langwort vom Anfang getbytes: lsl.l #8,d0 ; der Daten lesen move.b (a0)+,d0 dbf d1,getbytes rts normal_bytes: bsr.s get_1_bit bcc.s test_if_end ; Bit %0: keine Daten moveq.l #0,d1 ; falls zu copy_direkt bsr.s get_1_bit bcc.s copy_direkt ; Bitfolge: %10: 1 Byte direkt kop. lea.l direkt_tab+20(pc),a1 moveq.l #4,d3 nextgb: move.l -(a1),d0 ; d0.w Bytes lesen bsr.s get_d0_bits swap.w d0 cmp.w d0,d1 ; alle gelesenen Bits gesetzt? dbne d3,nextgb ; ja: dann weiter Bits lesen no_more: add.l 20(a1),d1 ; Anzahl der zu bertragenen Bytes copy_direkt: move.w d0,$ffff8240.w move.b -(a5),-(a6) ; Daten direkt kopieren dbf d1,copy_direkt ; noch ein Byte test_if_end: cmpa.l a4,a6 ; Fertig? bgt.s strings ; Weiter wenn Ende nicht erreicht move.l d7,d5 move.l (a7)+,d0 move.w (a7)+,$ffff8240.w rts ;************************** Unterroutinen: wegen Optimierung nicht am Schlu get_1_bit:add.b d7,d7 ; hole ein bit bne.s bitfound ; quellfeld leer move.b -(a5),d7 ; hole Informationsbyte addx.b d7,d7 bitfound: rts get_d0_bits: moveq.l #0,d1 ; ergebnisfeld vorbereiten hole_bit_loop: add.b d7,d7 ; hole ein bit bne.s on_d0 ; in d7 steht noch Information move.b -(a5),d7 ; hole Informationsbyte addx.b d7,d7 on_d0: addx.w d1,d1 ; und bernimm es dbf d0,hole_bit_loop ; bis alle Bits geholt wurden rts ;************************************ Ende der Unterroutinen strings: lea.l length_tab(pc),a1 ; a1 = Zeiger auf Tabelle moveq.l #3,d2 ; d2 = Zeiger in Tabelle get_length_bit: bsr.s get_1_bit dbcc d2,get_length_bit ; nchstes Bit holen no_length_bit: moveq.l #0,d4 ; d4 = berschu-Lnge moveq.l #0,d1 move.b 1(a1,d2.w),d0 ; d2: zw. -1 und 3; d3+1: Bits lesen ext.w d0 ; als Wort behandeln bmi.s no_ber ; kein berschu ntig get_ber: bsr.s get_d0_bits no_ber: move.b 6(a1,d2.w),d4 ; Standard-Lnge zu berschu add. add.w d1,d4 ; d4 = String-Lnge-2 beq.s get_offset_2 ; Lnge = 2: Spezielle Offset-Routine lea.l more_offset(pc),a1 ; a1 = Zeiger auf Tabelle moveq.l #1,d2 getoffs: bsr.s get_1_bit dbcc d2,getoffs moveq.l #0,d1 ; Offset-berschu move.b 1(a1,d2.w),d0 ; request d0 Bits ext.w d0 ; als Wort bsr.s get_d0_bits add.w d2,d2 ; ab jetzt: Pointer auf Worte add.w 6(a1,d2.w),d1 ; Standard-Offset zu berschu add. bpl.s depack_bytes ; keine gleiche Bytes: String kop. sub.w d4,d1 ; gleiche Bytes bra.s depack_bytes get_offset_2: moveq.l #0,d1 ; berschu-Offset auf 0 setzen moveq.l #5,d0 ; standard: 6 Bits holen moveq.l #-1,d2 ; Standard-Offset auf -1 bsr.s get_1_bit bcc.s less_40 ; Bit = %0 moveq.l #8,d0 ; quenty fourty: 9 Bits holen moveq.l #$3f,d2 ; Standard-Offset: $3f less_40: bsr.s get_d0_bits add.w d2,d1 ; Standard-Offset + ber-Offset depack_bytes: ; d1 = Offset, d4 = Anzahl Bytes lea.l 2(a6,d4.w),a1 ; Hier stehen die Originaldaten adda.w d1,a1 ; Dazu der Offset move.b -(a1),-(a6) ; ein Byte auf jeden Fall kopieren dep_b: move.b -(a1),-(a6) ; mehr Bytes kopieren dbf d4,dep_b ; und noch ein Mal bra normal_bytes ; Jetzt kommen wieder normale Bytes direkt_tab: dc.l $7fff000e,$00ff0007,$00070002,$00030001,$00030001 ; Anzahl 1-Bits dc.l 270-1, 15-1, 8-1, 5-1, 2-1 ; Anz. Bytes length_tab: dc.b 9,1,0,-1,-1 ; Bits lesen dc.b 8,4,2,1,0 ; Standard-Lnge - 2 (!!!) more_offset: dc.b 11,4,7,0 ; Bits lesen dc.w $11f,-1,$1f ; Standard Offset dc.b 0 L0092 DC.B $0A,$03,$02,$02,$0E,$07,$04,$01 L0093 DC.B $0A,$02,$01,$00,$00,$0A,$06,$04 DC.B $03,$02 L0094 DC.B $0B,$04,$07,$00,$01,$20,$00,$00 DC.B $00,$20,$00,$00 L0095 DS.W 3 DC.B $00,$01,$00,$00,$00,$02,$00,$00 DC.B $00,$03,$00,$00,$00,$04,$00,$00 DC.B $00,$05,$00,$00,$00,$00,$00,$00 DS.W 29 L0096 DS.W 2 L0097 DS.W 7 L0098 DS.W 2 L0099 DS.W 2 L009A DS.W 2 L009B DS.W 2 L009C DS.W 2 L009D DS.W 1 L009E DS.W 2 L009F DS.W 2 L00A0 DS.W 32 L00A1 DS.W 8 L00A2 DS.W 2 L00A3 DS.W 16 L00A4 DS.W 32 L00A5 DS.W 32 L00A6 DS.W 256 L00A7 DS.W 32 L00A8 DS.W 32 L00A9 DS.W 100 L00AA DS.W 2 L00AB DS.W 2 L00AC DS.W 2 L00AD DS.W 2 L00AE DS.W 506 L00AF DS.W 2 ZUEND END` :KOp - ЭЭ// /<JNAO Aa"a*a0ACaLAhaBgHz?<NNA\A"za*"zA~r Q"$:~$"#Ryѹ?<ONATOJgA0a :L$#" :>T#ЁAZa"H 0gSalA\afHz?< NA\J@gAT@B0ARaFBgHz?<Hz/:??<@NAO Hz"/:??<@NAO ??<>NAXBgNA/?< NA\Nu?<NATNuBy##$HzJ?<NA\Nu/ *I?</?<=NAPJk"?/ /<??<?NAO *@?<>NAX *_NuHPt 0 9o^0 9o^QLNu\LUMPPACK.LMP\*.*Efwp LUMPY! PACKER v1.1 q Please insert disk to be 'lumped' and press any key to continue..Y% l l l Y% Now LUMPING files...Y% l l l Y% Lumping complete, now insert blank disk, or one with at least: 00000000 bytes free Enter a file name: Ep LUMPY! PACKER v1.1 q Now saving file...    : \0x:2   T*& N&v2 nNNTCp"$@2<}BQ?<NNT<gC_9CT/ ?< NA\B?< NA\M8,>9@AE$E"Ra@3@/:?< NA\*z&z k -"zJg$BёBBJAg<f``&z+k +k+k  -"- Ҁ+A -Ҁ+A -Ҁ+A "A :d$@*@$<&CQ"z>$:8(z,&LNٳf0<BQ"L /INY % AUTOMATION PACKER V5.0.1HaX AU5!fJaLKaF.(I,I&N%aDapd*><|8#zD@DADBDCQQHQLNurQNua.d&ra(dCv !a&H@@Vҩ1@%QnNuf%Nurf%AQNuCtaTxr1 Hka1 Ag"CvtaTr1 HaBq jD`rptadpt?aBC@!!Q`N   AU5!(Gj`xD@22xucy iT8?FM[bi5.0.1_PACK501.RSCY 7ƀ*OO "IfugBЭp"ҍh v =,OOLfSb\pm&>g'o}`MB0fJllm>"|@s opt c+,d- main MOVEA.L 4(A7),A5 move.l $c(a5),d0 add.l $14(a5),d0 add.l $1c(a5),d0 add.l #$100,d0 move.l d0,-(sp) move.l a5,-(sp) move.l #$4a0000,-(sp) trap #1 lea $c(a7),a7 CHEAT CLR.L -(A7) MOVE.W #$20,-(A7) TRAP #$01 ADDQ.L #6,A7 LEA SUPERLNG(PC),A6 MOVE.L D0,(A6) MOVE.L $84.w,tr1 MOVE.L #T1,$84.w MOVE.L SUPERLNG(PC),-(A7) MOVE.W #$20,-(A7) TRAP #$01 ADDQ.L #6,A7 clr.w -(sp) pea $ffffffff move.l (a7),-(sp) move.w #5,-(sp) trap #14 lea $c(a7),a7 pea text move.w #9,-(sp) trap #1 stkk clr.l $60000 pea $60000 move.l (a7),-(sp) move.l #file,-(sp) move.l #$4b0000,-(sp) trap #1 lea $10(a7),a7 clr.w -(sp) trap #1 SUPERLNG DC.L 0 T1 movem.l a0-a6/d0-d7,reg movea.l a7,a1 addq.l #6,a1 move.w (a7),d0 btst #$d,d0 bne.s ok1 move.l usp,a1 ok1 cmpi.w #$3f,(a1) beq.s read open movem.l reg,a0-a6/d0-d7 bye dc.w $4ef9 tr1 dc.l $0 read move.l $8(a1),loadadd move.l $2(a7),ex3f move.l #cls,$2(a7) bra.s open loadadd dc.l 0 siz2 dc.l 0 cls movem.l d0-d7/a0-a6,-(sp) move.l d0,siz2 pea close move.w #$26,-(sp) trap #14 addq.l #6,sp movem.l (a7)+,d0-d7/a0-a6 move.l siz2,d0 dc.w $4ef9 ex3f dc.l 0 close move.l loadadd,a0 bsr dep rts reg dc.l $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0 text dc.b '',13,10,13,10 DC.B 'THE FLAVE Present's........',13,10,13,10 dc.b '~ CHALLENGE GOLF ~',13,10 DC.B ' ~~~~~~~~~~~~~~',13,10,13,10 DC.B 'CRACK BY ELITE',13,10,13,10 DC.B 'THANX TO MOB FOR THE',13,10 DC.B 'FAST COPY!......S.T.M!'0 EVEN file dc.b 'lode',0 even ; A0 -> A0 depacker depack AU5_decrunch_2: dep link a3,#-120 movem.l d0-a6,-(sp) lea 120(a0),a4 move.l a4,a6 bsr.s .getinfo cmpi.l #'AU5!',d0 bne .not_packed bsr.s .getinfo lea.l -8(a0,d0.l),a5 bsr.s .getinfo move.l d0,(sp) move.l d0,siz2 adda.l d0,a6 move.l a6,a1 moveq #119,d0 .save: move.b -(a1),-(a3) dbf d0,.save move.l a6,a3 move.b -(a5),d7 bsr.s .normal_bytes move.l a3,a5 bsr.s .get_1_bit bcc.s .no_picture move.w #$0f9f,d7 .AU5_00: moveq #3,d6 .AU5_01: move.w -(a3),d4 moveq #3,d5 .AU5_02: add.w d4,d4 addx.w d0,d0 add.w d4,d4 addx.w d1,d1 add.w d4,d4 addx.w d2,d2 add.w d4,d4 addx.w d3,d3 dbra d5,.AU5_02 dbra d6,.AU5_01 movem.w d0-d3,(a3) dbra d7,.AU5_00 .no_picture movem.l (sp),d0-a3 .move move.b (a4)+,(a0)+ subq.l #1,d0 bne.s .move moveq #119,d0 .rest move.b -(a3),-(a5) dbf d0,.rest .not_packed: movem.l (sp)+,d0-a6 unlk a3 rts .getinfo: moveq #3,d1 .getbytes: lsl.l #8,d0 move.b (a0)+,d0 dbf d1,.getbytes rts .normal_bytes: bsr.s .get_1_bit bcc.s .test_if_end moveq.l #0,d1 bsr.s .get_1_bit bcc.s .copy_direkt lea.l .direkt_tab+20(pc),a1 moveq.l #4,d3 .nextgb: move.l -(a1),d0 bsr.s .get_d0_bits swap.w d0 cmp.w d0,d1 dbne d3,.nextgb .no_more: add.l 20(a1),d1 .copy_direkt: move.b -(a5),-(a6) dbf d1,.copy_direkt .test_if_end: cmpa.l a4,a6 bgt.s .strings rts .get_1_bit: add.b d7,d7 bne.s .bitfound move.b -(a5),d7 addx.b d7,d7 .bitfound: rts .get_d0_bits: moveq.l #0,d1 .hole_bit_loop: add.b d7,d7 bne.s .on_d0 move.b -(a5),d7 addx.b d7,d7 .on_d0: addx.w d1,d1 dbf d0,.hole_bit_loop rts .strings: lea.l .length_tab(pc),a1 moveq.l #3,d2 .get_length_bit: bsr.s .get_1_bit dbcc d2,.get_length_bit .no_length_bit: moveq.l #0,d4 moveq.l #0,d1 move.b 1(a1,d2.w),d0 ext.w d0 bmi.s .no_ber .get_ber: bsr.s .get_d0_bits .no_ber: move.b 6(a1,d2.w),d4 add.w d1,d4 beq.s .get_offset_2 lea.l .more_offset(pc),a1 moveq.l #1,d2 .getoffs: bsr.s .get_1_bit dbcc d2,.getoffs moveq.l #0,d1 move.b 1(a1,d2.w),d0 ext.w d0 bsr.s .get_d0_bits add.w d2,d2 add.w 6(a1,d2.w),d1 bpl.s .depack_bytes sub.w d4,d1 bra.s .depack_bytes .get_offset_2: moveq.l #0,d1 moveq.l #5,d0 moveq.l #-1,d2 bsr.s .get_1_bit bcc.s .less_40 moveq.l #8,d0 moveq.l #$3f,d2 .less_40: bsr.s .get_d0_bits add.w d2,d1 .depack_bytes: lea.l 2(a6,d4.w),a1 adda.w d1,a1 move.b -(a1),-(a6) .dep_b: move.b -(a1),-(a6) dbf d4,.dep_b bra .normal_bytes .direkt_tab: dc.l $7fff000e,$00ff0007,$00070002,$00030001,$00030001 dc.l 270-1,15-1,8-1,5-1,2-1 .length_tab: dc.b 9,1,0,-1,-1 dc.b 8,4,2,1,0 .more_offset: dc.b 11, 4, 7, 0 dc.w $11f, -1, $1f ende_AU5_decrunch_2: ;*************************************************** Ende der Unpackroutine /I檰xpoyaX gfuXsK.(I,I&NlkAd*'}|8#z@x BDC>H1}܍r^.d&va(dv !a&H@@Vҩ1@%P1n.f%A מta xe}mkaqAg"vtaTʥ_1yaBq jD`rptadpt?aBC@1!QNf-Av, d Eaٗ U6Ж w=`LC ? L֢HqX BBP (p) Jj"0=_NB-|:|۰DJBjEWތx1gfx3g-8VDr(t`Yo[*S"R2~ 8`aK3feAj`Y.1gtFn2fBm67ZNlB9py`ۆy,XT0XRE@AX gRygPﲙf٨W9d08`8ن[  E!XCf*ΰyf9v3AoHZAj|GA:UYyGXgm|B\dB.y*B Zܸ^ZF!H(ID-7*0E(: ޒXɬ*%dJDۙ~cJf "j $ y6jS!aٛ)QI薅Vڼ&@HfyBg1XͰNCJf+#;ȵK ̳lDۼԱWB|": /. j s`X8\V;(@$@ " S" j L Ed b 5H:3 d(iڀde $tS@k fT 'gL-`&UȚQ[&ĕt)3 9;gv8n*KK Aprx a9H#=9-;ܵ JOṰM R@|,d PKBfVe"Tr/u §NMXy`e j6F@{ n b8 f##7 īE, X#aa:Bȩ<.嬹@4&Ua\BB{M0K009fܰ !0 7p:f ڌp+@ a؀WCtr€%'Aq : + GSfHSl Nt+좳ZTxvSBkO#X0kj;q ܗW[ o oh؀XCQo((e(>|dx#?4pe3^# Y܂ UeVv[h3Z"XO$R'𒂐7*8gVq BApzZgHZ3bۊ4`YЁI (t .|~x_:(T pF8@NP1ƥJ8fm" ,[#sfvg-&H_NxE/ ,ԅ'm7@,HhO$9G =טHtq4TS9R@j &~v1(փ$K a(Jr23 0ЎU_ 78&_Jk (zD8o<|RWir`(g`^f,LSN *H fbn" S$R < l7ԁ"lc|b(33nl}(|ol0C2&gg.`<.SysjDpЈkH3+5\"34pUfy :掎FP*@gV :rWjflR`ea {YV ."zNX c3AV#AH0:vT#`v7 6婂Ez-0Lr i,v8KCsCC6308K/ D9`   @?b2 0/?o A@x 0:x`4`(0:z}6D\xאD3PHri@ES N  Q ~| k.Ǟ"[NBuA(^I{PK  K \&ATt!Bd0<|8#z@x BDCQQHQLSfpw#TLaN[Aa*d"a$dqv !a"H@@Vҩ%Q"onE]f%AQNutaxYkaAg"CvtaT_1 HaBq jD`rptadpt?aBC@!Q`oR.PaYSW"P  [0x %srqi:Eɪ1=3s9`J0CNld xdDnKoug ByWt!P>2 i<zog×dOֱFX)Y/n] AgV'BN/yz ]%engXzfUE,d(0)$!1dA (Default)52CЍ enN x3)@ P}`yyjctxNo jm!4ify؞OKErrwy!­+Ãܤb beđdbXORemaĉS99%* t-~./ DxA^ CTim -pgR:%/savgtpsScskip:d.z LarwtL^XJg3[a![ccelled]Ef8OV[ :3L ĆOK I Es/ΐ ThSGwaXwjF{by A ofup`r.a5 x8pvam40FieYgW: q.02.1991~#| { }  A1 depacker AU5_decrunch: dep movem.l d0-a6,-(sp) bsr.s getinfo cmpi.l #'AU5!',d0 bne not_packed bsr.s getinfo lea.l -8(a0,d0.l),a5 bsr.s getinfo move.l d0,(sp) move.l a1,a4 move.l a1,a6 adda.l d0,a6 move.l a6,a3 move.b -(a5),d7 bsr normal_bytes bsr get_1_bit bcc.s not_packed move.w #$0f9f,d7 AU5_00: moveq #3,d6 AU5_01: move.w -(a3),d4 moveq #3,d5 AU5_02: add.w d4,d4 addx.w d0,d0 add.w d4,d4 addx.w d1,d1 add.w d4,d4 addx.w d2,d2 add.w d4,d4 addx.w d3,d3 dbra d5,AU5_02 dbra d6,AU5_01 movem.w d0-d3,(a3) dbra d7,AU5_00 not_packed: movem.l (sp)+,d0-a6 rts getinfo: moveq #3,d1 getbytes: lsl.l #8,d0 move.b (a0)+,d0 dbf d1,getbytes rts normal_bytes: bsr.s get_1_bit bcc.s test_if_end moveq.l #0,d1 bsr.s get_1_bit bcc.s copy_direkt lea.l direkt_tab+20(pc),a1 moveq.l #4,d3 nextgb: move.l -(a1),d0 bsr.s get_d0_bits swap.w d0 cmp.w d0,d1 dbne d3,nextgb no_more: add.l 20(a1),d1 copy_direkt: move.b -(a5),-(a6) dbf d1,copy_direkt test_if_end: cmpa.l a4,a6 bgt.s strings rts get_1_bit: add.b d7,d7 bne.s bitfound move.b -(a5),d7 addx.b d7,d7 bitfound: rts get_d0_bits: moveq.l #0,d1 hole_bit_loop: add.b d7,d7 bne.s on_d0 move.b -(a5),d7 addx.b d7,d7 on_d0: addx.w d1,d1 dbf d0,hole_bit_loop rts strings: lea.l length_tab(pc),a1 moveq.l #3,d2 get_length_bit: bsr.s get_1_bit dbcc d2,get_length_bit no_length_bit: moveq.l #0,d4 moveq.l #0,d1 move.b 1(a1,d2.w),d0 ext.w d0 bmi.s no_ber get_ber: bsr.s get_d0_bits no_ber: move.b 6(a1,d2.w),d4 add.w d1,d4 beq.s get_offset_2 lea.l more_offset(pc),a1 moveq.l #1,d2 getoffs: bsr.s get_1_bit dbcc d2,getoffs moveq.l #0,d1 move.b 1(a1,d2.w),d0 ext.w d0 bsr.s get_d0_bits add.w d2,d2 add.w 6(a1,d2.w),d1 bpl.s depack_bytes sub.w d4,d1 bra.s depack_bytes get_offset_2: moveq.l #0,d1 moveq.l #5,d0 moveq.l #-1,d2 bsr.s get_1_bit bcc.s less_40 moveq.l #8,d0 moveq.l #$3f,d2 less_40: bsr.s get_d0_bits add.w d2,d1 depack_bytes: lea.l 2(a6,d4.w),a1 adda.w d1,a1 move.b -(a1),-(a6) dep_b: move.b -(a1),-(a6) dbf d4,dep_b bra normal_bytes direkt_tab: dc.l $7fff000e,$00ff0007,$00070002,$00030001,$00030001 dc.l 270-1,15-1,8-1,5-1,2-1 length_tab: dc.b 9,1,0,-1,-1 dc.b 8,4,2,1,0 more_offset: dc.b 11,4,7,0 dc.w $11f,-1,$1f pakdat incbin 'ball'. k`x.. DEPICE S y-DEPLZH S |<DEPLZW S nDEPV2 S JAMPACK4DOC TJAMPACK4PRG }6nLDRUNLZHS 1;ICE Depack routine as used in JAM packer V4.0 ; Useage: MOVE.L #$packed_data_start_address,A0 ; MOVE.L #$place_to_put_unpacked_data,A1 ; BSR DEPACK DEPACK: MOVE.W $FFFF8240.W,-(SP) movem.l d0-a6,-(sp) ADDQ.L #4,A0 ;GET PAST ICE! HEADER bsr.s ice04 lea -8(a0,d0.l),a5 bsr.s ice04 move.l d0,(sp) movea.l a1,a4 movea.l a1,a6 adda.l d0,a6 movea.l a6,a3 move.b -(a5),d7 bsr ice06 MOVE.W (SP)+,$FFFF8240.W ice03: movem.l (sp)+,d0-a6 rts ice04: moveq #3,d1 ice05: lsl.l #8,d0 move.b (a0)+,d0 dbra d1,ice05 rts ice06: bsr.s ice0a bcc.s ice09 moveq #0,d1 bsr.s ice0a bcc.s ice08 lea ice17(pc),a1 moveq #4,d3 ice07: move.l -(a1),d0 bsr.s ice0c swap d0 cmp.w d0,d1 dbne d3,ice07 add.l 20(a1),d1 ice08: move.b -(a5),-(a6) dbra d1,ice08 ice09: cmpa.l a4,a6 bgt.s ice0f rts ice0a: add.b d7,d7 bne.s ice0b move.b -(a5),d7 addx.b d7,d7 ice0b: rts ice0c: moveq #0,d1 ice0d: add.b d7,d7 bne.s ice0e move.b -(a5),d7 MOVE.W D7,$FFFF8240.W addx.b d7,d7 ice0e: addx.w d1,d1 dbra d0,ice0d rts ice0f: lea ice18(pc),a1 moveq #3,d2 ice10: bsr.s ice0a dbcc d2,ice10 moveq #0,d4 moveq #0,d1 move.b 1(a1,d2.w),d0 ext.w d0 bmi.s ice11 bsr.s ice0c ice11: move.b 6(a1,d2.w),d4 add.w d1,d4 beq.s ice13 lea ice19(pc),a1 moveq #1,d2 ice12: bsr.s ice0a dbcc d2,ice12 moveq #0,d1 move.b 1(a1,d2.w),d0 ext.w d0 bsr.s ice0c add.w d2,d2 add.w 6(a1,d2.w),d1 bpl.s ice15 sub.w d4,d1 bra.s ice15 ice13: moveq #0,d1 moveq #5,d0 moveq #-1,d2 bsr.s ice0a bcc.s ice14 moveq #8,d0 moveq #$3f,d2 ice14: bsr.s ice0c add.w d2,d1 ice15: lea 2(a6,d4.w),a1 adda.w d1,a1 move.b -(a1),-(a6) ice16: move.b -(a1),-(a6) dbra d4,ice16 bra ice06 DC.B $7f,$ff,$00,$0e,$00,$ff,$00,$07 DC.B $00,$07,$00,$02,$00,$03,$00,$01 DC.B $00,$03,$00,$01 ice17: DC.B $00,$00,$01,$0d,$00,$00,$00,$0e DC.B $00,$00,$00,$07,$00,$00,$00,$04 DC.B $00,$00,$00,$01 ice18: DC.B $09,$01,$00,$ff,$ff,$08,$04,$02 DC.B $01,$00 ice19: DC.B $0b,$04,$07,$00,$01,$1f,$ff,$ff DC.B $00,$1f STARTOFPACKEDDATA = $50000 DEPACKPOSITION = $50100 ;example of how to call the depack routine LEA STARTOFPACKEDDATA,A6 LEA DEPACKPOSITION,A5 BSR DEPACK CLR.W -(SP) TRAP #1 * LZH DEPACKER; For use with the JAM Packer V3.0 & 4.0 * * USAGE: * LEA $ADDRESS OF PACKED DATA,A5 * LEA $ADDRESS TO UNPACK DATA TO,A6 * BSR DEPACK * * NOTE: Must save registers before executing depack if original * contents are required. RESET MOVEM.W D0-D1/D3/D5,-(A7) MOVEA.L A1,A2 MOVEQ #$00,D2 MOVEQ #-$02,D4 MOVEQ #$00,D1 MOVE.W #$0139,D5 OUTER ADDQ.W #2,D4 CMP.W (A2)+,D7 BHI.S OUTER MOVE.W $00(A3,D4.W),D3 ADDQ.W #1,D3 LSR.W #1,D3 CMP.W -$02(A3,D2.W),D3 BLS.S BIDDLE MOVE.W $00(A3,D1.W),D0 ADD.W $02(A3,D1.W),D0 CMP.W D0,D3 BLS.S BIDDLE BITH MOVE.W D0,$00(A3,D2.W) MOVE.W D1,$00(A1,D2.W) MOVE.W D2,$00(A0,D1.W) MOVE.W D2,$02(A0,D1.W) ADDQ.W #2,D2 ADDQ.L #4,D1 MOVE.W $00(A3,D1.W),D0 ADD.W $02(A3,D1.W),D0 CMP.W D0,D3 BHI.S BITH BIDDLE MOVE.W D3,$00(A3,D2.W) MOVE.W $00(A1,D4.W),D0 MOVE.W D0,$00(A1,D2.W) MOVE.W D2,$00(A0,D0.W) ADDQ.W #2,D2 DBF D5,OUTER MAKETABLE2 MOVE.W $00(A3,D1.W),D0 ADD.W $02(A3,D1.W),D0 MOVE.W D0,$00(A3,D2.W) MOVE.W D1,$00(A1,D2.W) MOVE.W D2,$00(A0,D1.W) MOVE.W D2,$02(A0,D1.W) ADDQ.W #2,D2 ADDQ.L #4,D1 CMP.W D7,D2 BNE.S MAKETABLE2 MOVEM.W (A7)+,D0-D1/D3/D5 RTS CREATE MOVE.L TABLE7(PC),A0 LEA TDATA1(PC),A1 MOVEQ #$00,D0 MOVEQ #$1F,D1 MOVEQ #$00,D2 LOOP1 MOVE.B D0,(A0)+ DBF D1,LOOP1 DBF D2,EXIT1 MOVE.W (A1)+,D3 MOVEQ #$03,D2 EXIT1 ROL.W #4,D3 MOVE.W D3,D1 ANDI.W #$000F,D1 ADDQ.B #4,D0 BCC.S LOOP1 MOVE.L TABLE8(PC),A0 LEA TDATA2(PC),A1 MOVEQ #$05,D0 MOVEQ #$03,D1 LOOP2 MOVE.B $00(A1,D0.W),D2 EXT.W D2 LOOP3 MOVE.B D1,(A0)+ DBF D2,LOOP3 ADDQ.W #1,D1 DBF D0,LOOP2 RTS CREATE2 MOVE.L TABLE1(PC),A0 MOVE.L TABLE5(PC),A1 MOVE.L TABLE4(PC),A2 MOVEQ #$01,D1 MOVE.W #$04E6,D2 MOVEQ #$00,D4 MOVE.W #$0139,D0 CONTINUE MOVE.W D1,(A0)+ MOVE.W D2,(A1)+ MOVE.W D4,(A2)+ ADDQ.W #2,D2 ADDQ.W #2,D4 DBF D0,CONTINUE MOVE.L TABLE1(PC),A0 MOVE.L TABLE2(PC),A3 MOVE.L TABLE6(PC),A1 MOVE.L TABLE3(PC),A2 MOVE.W #$0274,D2 MOVEQ #$00,D4 MOVE.W #$0138,D0 DOMORE MOVE.W (A0)+,D1 ADD.W (A0)+,D1 MOVE.W D1,(A3)+ MOVE.W D4,(A1)+ MOVE.W D2,(A2)+ MOVE.W D2,(A2)+ ADDQ.W #4,D4 ADDQ.W #2,D2 DBF D0,DOMORE MOVE.W #$FFFF,(A3) CLR.W (A2) RTS RESTORE BSR RESET BRA BACK TABLE1 DC.L 00 TABLE2 DC.L 00 TABLE3 DC.L 00 TABLE4 DC.L 00 TABLE5 DC.L 00 TABLE6 DC.L 00 TABLE7 DC.L 00 TABLE8 DC.L 00 EXIT ADDQ.L #4,A7 RTS DEPACK LEA TABLE1(PC),A0 MOVE.L #0,(A0) ;SET UP RELATIVE TABLE OFFSETS MOVE.L #$274,4(A0) MOVE.L #$4E8,8(A0) MOVE.L #$9CE,12(A0) MOVE.L #$C42,16(A0) MOVE.L #$EB6,20(A0) MOVE.L #$112A,24(A0) MOVE.L #$122A,28(A0) MOVE.L A7,D1 ;GET STACK POSITON sub.l #$1500,D1 ;TABLES START ADDRESS IN D1 ;STORE UNDER STACK (NASTY!) MOVE.W #7,D0 TABLOOP ADD.L D1,(A0)+ ;ADD TABLE BASE ADDRESS TO OFFSETS DBF D0,TABLOOP BSR CREATE BSR CREATE2 MOVE.L TABLE3(PC),A0 MOVE.L TABLE5(PC),A1 MOVE.L TABLE1(PC),A3 MOVE.L A6,-(A7) ADD.L 4(A5),A6 ADD.L 8(A5),A5 ADD.L #$0C,A5 MOVE.L A6,A4 MOVE.W #59,D0 ;MOVE 60 SPACES TO END OF UNPACKED AREA SPACES MOVE.B #$20,(A4)+ ;NOTE: SHOULD PROBABLY SAVE THIS AREA DBF D0,SPACES ; BEFORE WIPING IT OUT! MOVEQ #$08,D6 MOVE.B -(A5),D5 MOVE.W #$04E6,D7 MOVE.L TABLE8(PC),A4 TOP MOVE.W #$222,$FFFF8240.W MOVE.W #0,$FFFF8240.W CMPA.L (A7),A6 BLE EXIT MOVE.W $04E4(A1),D0 MORE DBF D6,NOTEMPTY MOVEQ #$07,D6 MOVE.B -(A5),D5 NOTEMPTY ADD.B D5,D5 BCC.S ZERO ADDQ.W #2,D0 ZERO MOVE.W $00(A1,D0.W),D0 CMP.W D7,D0 BLT.S MORE MOVE.W D0,D1 SUB.W D7,D0 MOVE.W $04E4(A3),D4 BMI RESTORE BACK MOVE.W $00(A0,D1.W),D1 SCAN LEA $00(A3,D1.W),A2 ADDQ.W #1,(A2) CMPM.W (A2)+,(A2)+ BCS.S FRSTGTR MOVE.W $00(A0,D1.W),D1 BNE.S SCAN LSR.W #1,D0 CMP.W #$0100,D0 BGE.S GTE256 WRITE MOVE.B D0,-(A6) BRA.S TOP FRSTGTR SUBQ.W #1,-$0004(A2) MOVE.W -$0004(A2),D4 SAME CMP.W (A2)+,D4 BEQ.S SAME SUBQ.L #4,A2 ADDQ.W #1,(A2) SUBA.L A3,A2 MOVE.W $00(A1,D1.W),D4 MOVE.W A2,$00(A0,D4.W) CMP.W D7,D4 BCC.S SKIP MOVE.W A2,$02(A0,D4.W) SKIP MOVE.W $00(A1,A2.W),D2 MOVE.W D4,$00(A1,A2.W) MOVE.W D1,$00(A0,D2.W) CMP.W D7,D2 BCC.S SKIP2 MOVE.W D1,$02(A0,D2.W) SKIP2 MOVE.W D2,$00(A1,D1.W) MOVE.W $00(A0,A2.W),D1 BNE.S SCAN LSR.W #1,D0 CMP.W #$0100,D0 BLT.S WRITE GTE256 MOVE.B -1(A5),D1 MOVEQ #$00,D2 LSR.B D6,D1 OR.B D5,D1 MOVE.B $00(A4,D1.W),D2 SUB.W D2,D6 BPL.S POSITIVE MOVE.B -(A5),D5 MOVE.B D5,D4 ADDQ.W #2,D6 BMI.S OVERFLOW BEQ.S MODD4 LSR.B #1,D4 LSL.B #7,D5 BRA.S MODD4 READONE MOVE.B -(A5),D5 MOVE.B D5,D4 LSL.B #6,D5 MOVEQ #$02,D6 LSR.B D6,D4 BRA.S DOCOPY POSITIVE BEQ.S READONE MOVE.B (A5),D5 SUBQ.W #6,D6 OVERFLOW NEG.W D6 LSL.B D6,D5 MOVE.B D5,D4 MOVE.B -(A5),D5 MOVE.B D5,D2 LSL.B D6,D5 SUBQ.W #8,D6 NEG.W D6 LSR.B D6,D2 OR.B D2,D4 MODD4 ANDI.W #$003F,D4 DOCOPY MOVE.L TABLE7(PC),A0 MOVE.B (A0,D1.W),D2 LSL.W #4,D2 OR.B D4,D2 ;NEG.W D2 LEA $01(A6,D2.W),A0 SUBI.W #$00FE,D0 MOVE.W D0,D1 COPY MOVE.B -(A0),D0 MOVE.B D0,-(A6) DBF D1,COPY MOVE.L TABLE3(PC),A0 BRA TOP TDATA2 DC.W $0F2F DC.W $2F3F DC.W $2F1F TDATA1 DC.W $FFF7 DC.W $7777 DC.W $7773 DC.W $3333 DC.W $3333 DC.W $3331 DC.W $1111 DC.W $1111 DC.W $1111 DC.W $1111 DC.W $1111 DC.W $1110 DC.L $00 DC.L $00 ;LZW Depack routine for the JAM packer V4.0 ;It is kept simple to minimise depack time. CLR.L -(A7) MOVE.W #$20,-(A7) TRAP #1 ADDQ.L #6,A7 MOVE.L D0,-(A7) MOVE.L #$80000,A0 ;start of packed data address MOVE.L #$90000,A1 ;depack to address BSR.S UNPACK MOVE.W #$20,-(A7) TRAP #1 ADDQ.L #6,A7 RTS UNPACK: MOVE.W $FFFF8240.W,-(A7) MOVE.L A0,A4 MOVE.L A1,A6 ADDA.L 8(A0),A4 ADDA.L 4(A0),A6 MOVE.L A6,A5 ;KEEP COPY TO CHECK AGAINST MOVE.L 4(A0),D4 MOVE.B #$20,D3 MOVE.W #$0FED,D5 MOVEA.L A6,A3 ;KEEP ADDR OF END OF SPACES MOVEQ #$00,D7 ;START UNPACK ROUTINE TOPDEP: DBF D7,NOTUSED MOVE.B -(A4),D6 ;GET COMMAND BYTE MOVEQ #$07,D7 NOTUSED: LSR.B #1,D6 BCC.S COPY ;BIT NOT SET, COPY FROM UNPACKED AREA MOVE.B -(A4),-(A6) ;COPY BYTES FROM PACKED AREA ADDQ.W #1,D5 SUBQ.L #1,D4 BGT.S TOPDEP BRA.S EXITUP COPY: MOVE.B -2(A4),D0 LSL.W #4,D0 MOVE.B -(A4),D0 MOVE.W D0,$FFFF8240.W SUB.W D5,D0 NEG.W D0 AND.W #$0FFF,D0 LEA 1(A6,D0.W),A0 MOVEQ #$0F,D1 AND.B -(A4),D1 ADDQ.W #2,D1 MOVEQ #$01,D0 ADD.W D1,D0 CMPA.L A5,A0 BGT.S SPACES WRITE: MOVE.B -(A0),-(A6) DBF D1,WRITE BACK: ADD.L D0,D5 SUB.L D0,D4 BGT.S TOPDEP EXITUP: MOVE.W (A7)+,$FFFF8240.W RTS SPACES: CMPA.L A5,A0 BLE.S WRITE MOVE.B D3,-(A6) ;COPY OUT SPACES SUBQ.L #1,A0 DBF D1,SPACES BRA.S BACK ;V2 Depack routine for JAM Packer V2.X/3.0/4.0 DEPACK: ADDA.L #$4,A0 ;ALLOW FOR HEADER MOVE.W #$FE,D7 MOVE.L A0,A6 MOVE.L (A0)+,D5 ADDA.L D5,A1 ADDA.L (A0),A0 SUBA.L #4,A0 TST.W -(A0) BPL.S SKIP SUBQ.L #1,A0 SKIP MOVE.B -(A0),D0 TOP ROL.W D7 MOVE.W D7,$FFFF8240.W LSL.B #1,D0 BNE.S NOTE MOVE.B -(A0),D0 ROXL.B #1,D0 NOTE BCC.S SHEP CLR.W D1 LSL.B #1,D0 BNE.S KLF MOVE.B -(A0),D0 ROXL.B #1,D0 KLF BCC.S PET LEA TABL1(PC),A3 MOVEQ #3,D3 STE CLR.W D1 MOVE.B 0(A3,D3.W),D2 EXT.W D2 MOVEQ #-1,D4 LSL.W D2,D4 NOT.W D4 SUBQ.W #1,D2 ARJ LSL.B #1,D0 BNE.S BOYS MOVE.B -(A0),D0 ROXL.B #1,D0 BOYS ROXL.W #1,D1 DBF D2,ARJ TST.W D3 BEQ.S SHOP CMP.W D1,D4 DBNE D3,STE SHOP MOVE.B 4(A3,D3.W),D2 EXT.W D2 ADD.W D2,D1 PET MOVE.B -(A0),-(A1) DBF D1,PET SHEP MOVE.L A6,A3 ADDQ.L #$8,A3 CMPA.L A3,A0 BLE EXIT LEA TABL2(PC),A3 MOVEQ #3,D2 CATHY LSL.B #1,D0 BNE.S ALSA MOVE.B -(A0),D0 ROXL.B #1,D0 ALSA BCC.S FDC DBF D2,CATHY FDC CLR.W D1 ADDQ.W #1,D2 MOVE.B 0(A3,D2.W),D3 BEQ.S VAN EXT.W D3 SUBQ.W #1,D3 DE LSL.B #1,D0 BNE.S VEN MOVE.B -(A0),D0 ROXL.B #1,D0 VEN ROXL.W #1,D1 DBF D3,DE VAN MOVE.B 5(A3,D2.W),D3 EXT.W D3 ADD.W D3,D1 CMPI.W #2,D1 BEQ.S MFD LEA TABL3(PC),A3 MOVEQ #1,D3 LUC LSL.B #1,D0 BNE.S CML MOVE.B -(A0),D0 ROXL.B #1,D0 CML BCC.S BBS DBF D3,LUC BBS ADDQ.W #1,D3 CLR.W D2 MOVE.B 0(A3,D3.W),D4 EXT.W D4 MCH LSL.B #1,D0 BNE.S SAW MOVE.B -(A0),D0 ROXL.B #1,D0 SAW ROXL.W #1,D2 DBF D4,MCH LSL.W #1,D3 ADD.W 4(A3,D3.W),D2 BRA.S CPUN MFD CLR.W D2 MOVEQ #5,D3 CLR.W D4 LSL.B #1,D0 BNE.S EMF MOVE.B -(A0),D0 ROXL.B #1,D0 EMF BCC.S CLR1 MOVEQ #8,D3 MOVEQ #$40,D4 CLR1 LSL.B #1,D0 BNE.S NOTZ MOVE.B -(A0),D0 ROXL.B #1,D0 NOTZ ROXL.W #1,D2 DBF D3,CLR1 ADD.W D4,D2 CPUN LEA 0(A1,D2.W),A2 EXT.L D1 ADDA.L D1,A2 SUBQ.W #1,D1 WRTLP MOVE.B -(A2),-(A1) DBF D1,WRTLP BRA TOP EXIT RTS TABL1 DC.B $0A,$03,$02,$02,$0E,$07,$04,$01 TABL2 DC.B $0A,$02,$01,$00,$00,$0A,$06,$04,$03,$02 TABL3 DC.B $0B,$04,$07,$00,$01,$20,$00,$00 DC.B $00,$20 +---------------------+ | THE JAM PACKER V4.0 | +---------------------+ Release Date: 17.06.1991 The JAM Packer is an executable/datafile and whole disk compression program. A full GEM user interface provides convenient and user-friendly operation. +------------------------+ | OPERATING INSTRUCTIONS | +------------------------+ PACK METHOD ----------- Four compression methods are implemented. LZH - This is a modified version of the method used in the first Lharc series. LZH provides reasonably fast and very efficient compression, though it does take longer to uncompress than any other method available in the JAM packer. LZW - This method provides fast and reasonably efficient compression. It has the fastest decompression speed. It is ideally suited for when fast de-compression speed is more important than smaller compressed file size (eg. on a hard disk). V2 - Compresses very slowly, but de-compression speed is much better than LZH. It can also compress files smaller than LZW, but not quite as good as LZH. Since the introduction of the ICE pack method into the JAM packer, V2 is essentially redundant. In a future upgrade it will be removed and replaced by something much better. ICE - This method is used in the Pack-Ice packer and is based on V2, though it slightly improves on V2 in both time taken to compress, time taken to de-compress and compressed file size. FILE PACKER ----------- PROGRAM/DATA Two types of files can be packed. "Data" files are simply compressed. "Program" files are compressed and the necessary code to de-compress and run them is included in the file. FLASH/HEADING If a Program file is packed, then you can choose whether or not the screen will "Flash" when unpacking and whether or not the "Heading" will appear when the file unpacks. NOTE: Packing resource, data, dictionary, help or any other support files for a program will cause that program to fail. If you think about it, this obviously cannot work as the program using these files has no idea they're packed or how to unpack them! Also note that program files may not decompress and run properly from some shells (notably the Laser C shell). ABORTING A PACK --------------- Holding down the ALTERNATE key during a pack will cause it to be aborted. You are not given the option of resuming, so make sure that when you hold down ALTERNATE, you really do want to stop the current pack. This option also works when in the "Disk Packer", though only when data is being packed, not when reading or writing to the disk. DISK PACKER ----------- This option has been updated significantly since V3.0 and now works properly. The "Disk Packer" reads in a whole disk and packs it into a single file. This is useful for transmission of entire disks via modem and archival purposes among other things. You can choose either of the four pack methods to be used during the disk pack, or alternatively you can choose no compression from the "Disk Packer" box. USE BOOT If the "use boot" box is selected, the format of the disk is read from the boot sector. Only use this option if you are absolutely sure that the disk has a valid boot sector, otherwise the results will be unpredictable. If the "use boot" option is not selected, the JAM packer attempts to determine the format of the disk by itself. There is no guarantee that it will get it right, though if any mistake is made, it will be to pack too much data, rather than not enough. USE FAT If this option is selected, it is only active if the "use boot" box is selected. It ensures that data clusters which are allocated by the FAT (File Allocation Table) are the only data packed. This is useful if you have deleted files from a disk, as although deleted, the data will remain on the disk until over-written by another file. FORMAT This is used during a disk unpack only. If the "format" box is highlighted, the disk will be formatted to the appropriate format before data is written to it. Note: 11 sector format is not supported, so if you have disk packed an 11 sector a track disk, make sure you have formatted the destination disk 11 sectors a track with a program such as Fastcopy III. NO PACK Select this option when you want a fast conversion of a floppy disk into a file. No compression is used, the data from the disk is just copied into a file. MULTI-PACKER ------------ The "Multi-Packer" is a handy feature when a large number of files need to be packed. Wildcards are supported. Choose your source directory and type in the file name template to be used. Eg. "*.*" will pack all programs in the selected directory; "*.DAT" will pack all programs with a ".DAT" extension. PACK PROGRAMS If the "Program" button is selected then files with the extender ".TOS", ".TTP", ".PRG" or ".APP" will be packed as programs (executables which will uncompress and run), as if they were selected individually from the normal pack box as "Program" files. Otherwise, they will be packed as data files, which will not automatically uncompress and run. The packed files overwrite the original files. +---------------------------------+ | FILES CONTAINED IN THIS PACKAGE | +---------------------------------+ JAMPACK4.PRG - The JAM packer program. JAMPACK4.DOC - What you are reading now. DEPV2.S - Assembly depack source code for V2. DEPICE.S - Assembly depack source code for ICE. DEPLZW.S - Assembly depack source code for LZW. DEPLZH.S - Assembly depack source code for LZH. LDRUNLZH.S - Trap #1 file load/depacker. +------------+ | DISCLAIMER | +------------+ We take no responsibilty for any damage which may arise from the use or misuse of this program. +---------+ | LICENSE | +---------+ You may make copies and distribute this program, as long as the program and documentation file remain unchanged, and no profit is obtained. This program is shareware. If you find it useful, please send us something, be it money or words of encouragement, it doesn't matter. Bug reports and suggestions for improvement are also welcome. Write to us at either of the following addresses. +-----------------+ +-----------------------+ | Andrew Knipe | | Tim Knipe | | P.O. Box 369 | | RSD Maiden Gully Road | | 367 Collins St. | | Bendigo, 3551 | | Melbourne, 3000 | | Victoria | | AUSTRALIA | | AUSTRALIA | +-----------------+ +-----------------------+ | /+\ |O| /---\ /_____\ .. * . . * . . . . `lkFH?<NNT/$@?<NNT2<<g2<gBQC|<<f|(Hz?< NA\B?< NA\/?8@A"H/(a,_1߂@?< NA\G"K kK^ JgёBJAg<f``+k +k+k  -"- Ҁ+A -Ҁ+A м$@*@t_CQ"KA$HNM@,$$$$ٵoC&i")n"<BBBBSlLBN(H,I*N((< :<&N~Q$~d $RESn`2,H$1@ED@|Ar$TApAn QڀnNuoSQ`jY JAM Packer Decrunch V4.0kLZW!l`Q zeWQK୛ң:J$f(BhO@aQ]bxA\OJg.@Q]`6 - PdЭпѣ"{ҍ¼.A// "zJNA #Q- !\/( h3Jn02cPd NXpEfqsCwCAUAA ]#oFLJH@B:FLbH@@<#FLH@B:6)‚=|i`Bnr3US1QS63Uc1QcS‚ Uk`+ByQk0:@ 4N@ M`P@ 3u16hB?QA 4H@ M#1OTH l aApX7?80e?)AO\񊦝P7X.ANFT%o] yS[f#N-yQ[` TS U[+hC/\?9Q[NW@`&X,\uCb:"֘A)|ʦ5>̾m¢ SnƮϪjޤ@(9QSg"S`Bgϣŗ㑃Ń S#. Q}5:8Aah:$` S@Pc@ |"|`S0(RÁI/2?^wsF4 ,:/QIWPCW 2:I!a# cPuﵰ0nfr@`Fo]R?-ךL E߹ߧךRweSFؾ2 XA͐:7CBgSN`'o^/(\ Ww `:`8pK:PgPXPgPgTP P0uQt(wG=CWwIWb.PAI R*h\ Cѹl #јo`uo o# o 貢/ H dom Rg`  | ] T9j?$\$ !N%'$CWeL ̨X5HyfpY¢8@sJ@fF/csTʧjgNcs&@IgdL. Ӯn&Is T=cspnRfh/<35`s [D n`_g:YK>9`60I`pœ;L` Rg:8N?2{Hy>N`-@ 5*ʟʂ.bJ*Z`:瀞Bl їw6 f,bJK)qq0#q!2:4Op95Jnf`:!u>sP \vt@B(/?"P0zr`oS5#oo|gooy<H/,/,S<0h |S?'$C/jvKN3BBgؼ`oBn(ZPo3+(Q[L0&v/d/cN/9/'/QzSi%-'/ \A%$"m"(G?rHgBnQl00Z1QRG G m= @tR=@~x@Hv hx)3z/;fRW'3T1bNv[BX!8' |X!!A)=|? rl !+(0QPvH !_ ' C[_ ycjZf0<`0_BE8<zGf1PR<<'`H0Fm&Pn02HA2 0ƞ@BD`0f0RE PK <JFnPP B0PK|S6PHyHyHyY1 j"%YOj9OyKhP:_s@f?QbBg7Bg ԰hIU?,p0@ G"FE0$ma((μ.1@$qwN^qg*OĔ0p,oxloooooozohoVoDk5o#^.u,@*(gAv /8&//4/8F!ư*Ő,@݀1}àX0qʰ6̻o`.# }!W29Vh$ P1(|qo*XjqwA (((հ((((U(!/:p:h lLnNu NMXf&RL< x௰g =`LXpNuqoqoڐE/"PBE|a1Qr$80f2HB@CI&Ifb bR@ @fxo11LRAGW@2?A Ao.b avj]j` @?bada0!jz?A0PGfbREa< ǐA dRI2 x !I!Y!|Xߜ 8Nu`vcxsoHr_EBD``l`vK8`K4`YDgK6308Kri@D`@2`?o A@x `.8<`(`X08z,`D\D3PHriESD@QBG|`Nu a%     ~YH?Ā$@NT2<<2<gBaGC<{ f|(Hzt"BA5[8@Az"H–(a,_1߂A NA\GXׂ"K DrK^ sJgёBJAgf``+k+k+k -- r -Ҁ+A3$@*@t_ٰ"KA$HNM@,s$ٵoC&i")7n"sBSolLBNo><rW,H*БKJ`jS _flHBAfl6`vBAaxlFDSBgaJCgAV30HB aG&NPo0M`tgkBARB`gHSCf^QaY3 H_C A4G~vgkaYRCBB30Hh\KԿs0`$BBvBDe_dvx@f RQDE HSA"Q`Nu  P   ajY JAM Packer Decrunch V4.0k Vɫ6I3qz/$0@IKrNC^$ng<%Ќ`#_4 cP.b4`0PW@ n_ B0QAec_AMOOOo`^Pp HQcE}EA EuP?e}Hn/.coay#PO)+dz6JIg8(TBn#! 2>@);2b);p2=a?a?]y΄@ 5 @n?2(<2);%WDU00Q2y,2,1MU(P09I}@@Tj1H1ĔRX'W@LHg$?!&9HЮCjMJ@fncٔ=|lCP~C 6o>D} XQrf`(vdr)|pPXLa5)XR} Pмel 1 nu 3(LBg%B9 )}PB@G% $0$3E. P߳B,/<nZ0Po0ѩ]@WB€0Z\(a"qap`@ .?q09(|L3?.&v,/fSTPo2*aHyFpH. @OHI= hBnf}E*/zc/Z+u:ொױ=Ύ@h.cHbF>[Hyp@nŸܴf΂Δ@Q2F>3RN\=@1{M\׏Dꔸ\Cf g{埉ϑeS9X0<//@g0x,BgKї=cP:/JEl0=cX `3HHw S>P4w3P0ZRv / M XX,w(+Jf MhE!1w.pї>P/xZM&HT(I Wy+hZ׻0Ҁ м@SlnÍ`r?f?bqBg/9p@OҴ$6P jp`өgj@X//.1Z-dѫ/lj=Ϳ=iŵ`J/<4HaJdoK8Hn c @OJnc PI.` >8ր΀ ɐ@rJl/r"]"cm mt]lh nڦhY μre~^WyмrvmaWI@,J]мASWDЈA cAܐ/``ݐvBξ*`[5PfpUhxܲtmVDF84ѫL~Δ@09pUn@6$m^D@g AF`$B0":Mv  `2jY JAM Packer Decrunch V4.0kV.BHn!/WBd^0ˮFJng`040AA,0A<.4. n a&.?QNA\ ,_QЦG!ONqB2z6:RF08:܁"HAJAf |2:ƲznzPaTaP. ۏ Odž `Ŧabf 1` 1><aDaTSBgzgRAf|<: FmC@`PffbR@2`:a >8`a1dž@:< CNs:<Q*8g SfXpPu@ |8ÈNsBQ>NuTB+T_b^*ꀄYu䀊ZBS^*% WTNONOgIO@.JO=AF|DCA{@HyуdR0 JPK!Jg#М0AbHyAp@&HyA/D%I?-472BY*vB5u ICI`@P$6|U-ܪ n$A{@Hy IٯrâB1w@Bؚ &2?f6 =~v$UCBgKoooodx@ioooiWE 2f<5ޔ72B8a'o_mo=€v2fD1#5#ia'I_T2fNޔ;dq3f^}M5eS6pHЃxP8p eo?Suм|&aa'ah 9f <`ل X`wͩd?~l$a'OaR@rj fX/߀u? P^*B2fdC:ffC DlYC02fxC:fP꒣\S@@ P3fRXCiG @}f2fCڒ<(PLKq eBgq 4Pp2f:fޔ1C'Ag 71 ԼҖRXv$1@w%0rij/ڸfHy/w }"0"g]P?f}?bBgCaAY ґ0.6(` l@5Hnh}?XSq2l_2!A .Qֿ⻵0.Pdc!À\W o@4n@/TqdS8./`P?CEQB@ĚG#LHOO GfH?ыXH/.V9f/9TP׏vB?<\05Jf$H`>d`&."t\ @B(/S/@PG *n.S(nBrBy#͛ S#~ Ї#s6g -7BWH<<7CРAA0?<̻BJEmd O x?- V`b"=PѢ`.PD0c*=.ܰB 5PԟA`Bf8`.2n05cm6A:0g` oR s1s-{xrFf A{`z20!0`S Fmtpup*ЅHЇ(@ HІм&@`$~g SFPx m֣<8ۏ :WAK0C8W1??'|須JDl>!ANPWl.釣`04/YgZHڗ3,A?{@61̈́`A?9@6  <0Qv{ pg&0B\39pϖXAA҈~ݗ3eM9c]900??0??ui\珇eM{c]{1'eM'ADRGf =Ψ1`'11`Qs @03@1!8#. "89r[h@0GtB0'Q@Q!m?%}~T"wQE8pEd` 0@8#w3!0c*4HL 1|s2iCGPDB:md2Zjz@D`Fj`@3YCH@HU08DCMRp@82RA=AAy~CM|0k$0CM 21AHЁT*@Nq0]b CMU@=@51P;D<F3< 05AP}Fs6Ю:?1E3:0P6\0)51P}Esl0411ed1 @300J@fo) l>.p BE!*wH8Ƞ؍ D8( ,0g <`܀RE0H058Yrfpo{*3"% ?0|'`  %?up[T a>[<N"΢%!A ^0`$@?@@?aumXc!gW0˞H?^l`eUHBn./ )a+Hs/ X#7B1p0f*@b09b0co`.c# eo?BKun^Bn8<>` phDmBE`E@# E< V0H#E>0G?k G|e=(]KK.,M>-@@8 ' `ucYQ?d$Itxr:TDZb63@RCKs c,c 7@b70,1@3ߑH0o3s7@3 VsTBXGfL+j.prt}Q6t[2AXd1Cpr1dRApNu0|AR$szr4ɒZ9024TBTDp k$z4<tx0<82X6244XDTBp6`BRNua XNuH"PRQ~>r A0<s ad t"zx&zd/Q}(N<@p|%>< V6<[3@o0)Q|%dT@01Gm2G8+kR{E0RJe2pf'lLo`Sj8*ZgYRR81L:@4o1301Gd1 320fH|m-t)0לBjqTFkg, `&% |,`g]p-%-QFDF*D? Fb0JA @2~ F40j//?/wwwsq31w{t`m P}B**j*(^&A !GpB !M0L!ML0 n @xAA@g RD!6JDgh< ><0SFQ<<a x~@$Pn0 Pn0T RB`& z $>@xHP]2(PqA TBfr0 LS@@@Bt~1C"zگ"Q0r@0agtRA8|lC@%P904`RA0|"@ Pn8zRERF0SDP0` Dlr4aRABm`SA`0<0| .` 116oB@`2AC"3 $R@|mNu "NEp0`xs0`~rPgpIPKP24s g*4 G`460 C 70"1 0"200 7 1 >1P$KP6s0f 7(50:s23 22P`HrC`Ft| q>< 5 (p zF"QBP(z:`EJAmM!f$0<9`0M Vg4rzAJM BVvEz(.E,z!@Vo8L z 0<|m9!#5!#7 `82#83 9M 8s@g6507@zBA{.BA#B AgыBAS#;.#_S n c3MOJ}1 nH4Nm6c­ɱ@3!xaQ  n3WžYžžӳ n2e'D##N nZcŔӦJvdR@IMcQѲYDPP0NM{#w'(Nw#@ Jѯtv(/ct߰~ |wl*npr(*dֱhjS](p"TBy nƹeZߵ{MԟŸNX !J!_ NAYyrU2"P$h/( J@2u($ bʔ1Qtt֑Iq>֕_`R p.և-dbttU`ևj000,fz.r( t `8`6gggggggg g ?z~N\dtbtt`pfЮ/eypt w<z.  ,bttBW0cikIa A2rI`fr;j`f"gЮW @za!`?dbTg6].HЃB`> / cc b 0ЮPv"ƽ!eR 2 H@A9$ BB`J"IJlVar}JlwDvd`BbdDdD -ARGyBG".0~~D$Il GD&gHC H@@HCBCւJGgD-C :з.J͑1ѧ2.boHQs_a_OS|bQC2S|VQ7"R0L0<}f& ]1bB UBnV*00n`*K@Bp[Uu>Po\r";HPYPgXHf0(9WV4,BG`P>:($@/TPf><`rgRl &JGm_zjrgDn.\@m"?YcB}g<]`0`j?=SePu>JGl 3VP?`?RfP-S/ fpE  7U%aKBO2K^ROHぃ|1fSnG0.3wQCeS`Th мP@Z#d݊ E3Љ5=L 0FliA1l։kqRƂlPDl\Ug3?M PoG3=UL0>7᷀69>Ƽ P{ wHy!W #߁Hyl" qq`]tmyzQ>aq`fhktpcckqd|pJ`abeHdwa caa`g` ba`^`bfuooac\``b]a]acbLe`[Gaaa\Q#=3 PVhPlrQgTY$Pof BB`&". Bvd d``bd-@-AUSHL*~&gHC H@J@g@HCBCւ-C LN^.JQTlLUcQCNVQoQgNX=@g3Ք0<``0<|qN^NuQ *OgJAVMˑO}GOURCEa5eЙa3RG`NOSSlyDESTINATIONTTPAPP ?OTOBO0OO ??#;?????z?h)_ zz2\ z!{\\'_cW504bc̠p64%eGrrr!%b@!!]#ҌL2Ԭ.Es pAMly? |_#Yes |rcelҼk`,Up`d e 5Ж~ӥӿ! $> ,㓽Noav|h kwell..Ҍ!p{FineO.T will|` .  k ow! You'gtr`Fy|oluܐy` system!@funlh|doessupp it.#Ohph `uldopenkst$Exit]ՍsJundd!|#Why'stn?%֒m MULTI ERPORT m* q NOT COMTEDREAwSON1-+  ao sa - wnwhPm |+lra n o+rs`ceLEb|Kenough m_M Ԟa kknownd } ¢`y key tRue_;qhӏЅpöDe_#Sh3it! fExecutable;m`mplete?!nailure!|$Retry|;HG%sٴUnf MΨj:siEt'P pETURN ?jSd. DrU error.rl0wed1|Not aM_ Ok]Ca;n't create 3][pSsufficientmory. Abort]Dp^L:(> Gpffr+om inputsUbŠ e{--^LʘpWPq$\*',B'RIVEA.^ 2][|swhich dq3? ][ AB| C: ]ChoosPPpDttion _pathname^0rrԞw`aRaP }uFJPK!`ysq|dqUfd.P_EXITHV2sMetho@ ICELZWMultisPcFlashUNHeadp;Tژ5qUnUU No5p`potUse FpFormatQ?n\ LÏ:4"ڏȏpaP]|kwp ogTnojjgfokxng[`u3!do`XpMfOa78>AybRpUaT RQ_D`T mJ2 T _(T J2 Z4_T4ZOT4_T4[]BBL_ 䘦[AB[ Bx5<[JBx=Kk=B@TRY?di[B$jrkJTK 2%?M'[oKE h1A@0`qҶ1 h3񕠠X `C P[1QDzr` : &R *@?!*@C1#! m(B!9$QBW `BPAP P_1 ЏU:zrFZXz]UӪC^ze!.CHnzyJb *zz~_tz_XzDzJbUz_Jbj BpBÔHH TBߔM_uRXIc@LzO\NzZEKB$xz!quB$zH!]Qz&]&dcuT*Lpy: L: D]:<31eN:"( c>068$4  o lv; %0 ! #P,!l< % Zv4  A"6L "T $0<  >.](  &   #     $ ' &00(  *V %%  C^$l&   D [('B   { C Z @((L \8"&J  J B"' (l@ (X&>&. &. 4$f.,*   ."(L~8 &&^)AkA`"_., FP%# & ) r  ; SIMPLE TRAP #1 FILE DEPACKER FOR JAM PACKER V3.0/4.0 LZH COMPRESSION. ; WILL ONLY WORK ON FILES WHICH ARE COMPLETELY READ BY ONE CALL TO ; FREAD (TRAP #1 #$3F). savebuf = $200 YES equ 1 NO equ 0 LSEEKROUTINE EQU YES ;WHEN PROG USES LSEEK TO DETERMINE FILE LENGTH SFIRSTROUTINE EQU YES ;WHEN PROG USES SFIRST TO DETERMINE FILE LENGTH BEGINNING: BRA.S START fname: dc.b 'PLAYER.PRG',$00 EVEN START: MOVEA.L A7,A5 LEA BEGINNING(PC),A7 MOVE.L 4(A5),A5 MOVE.L $C(A5),D0 ADD.L $14(A5),D0 ADD.L $1C(A5),D0 ADD.L #$100,D0 MOVE.L D0,-(A7) MOVE.L A5,-(A7) MOVE.W #$0000,-(A7) MOVE.W #$004A,-(A7) TRAP #1 ADDA.L #$0000000C,A7 clr.l -(sp) move.w #$20,-(sp) trap #1 addq.l #6,sp move.l d0,d7 MOVE.L #$1600,-(SP) MOVE.W #$48,-(SP) TRAP #1 ;RESERVE SOME SPACE FOR LZH DEPACK TABLES ADDQ.L #6,SP MOVE.L D0,BUFPOS move.l $84.W,oldtrap1vector move.l #trapit,$84.W move.l d7,-(sp) move.w #$20,-(sp) trap #1 addq.l #6,sp MOVE.L #NULL,-(SP) MOVE.L #NULL,-(SP) PEA fname(PC) MOVE.W #0,-(SP) MOVE.W #$4B,-(SP) TRAP #1 add.l #14,sp ;ENSURE THAT YOU CAN QUIT OUT OF PROGRAMS WITHOUT A CRASH clr.l -(sp) move.w #$20,-(sp) trap #1 addq.l #6,sp move.l oldtrap1vector(pc),$84.w move.l d0,-(sp) move.w #$20,-(sp) trap #1 addq.l #6,sp clr.w -(sp) trap #1 trapit: btst #$05,(a7) bne.S super move.l usp,a0 bra.S after super: move.l a7,a0 addq.l #6,a0 after: cmp.w #$3d,(a0) beq doopen cmp.w #$3f,(a0) beq.s load IFNE LSEEKROUTINE cmp.w #$42,(a0) beq.s down ENDC IFNE SFIRSTROUTINE cmp.w #$4e,(a0) beq.s dosfirst cmp.w #$2f,(a0) beq.s dogetdta cmp.w #$1a,(a0) ENDC bne dotrap1 IFNE SFIRSTROUTINE lea retsetdta(pc),a0 move.l 2(a7),(a0) lea setdta(pc),a0 move.l a0,2(a7) bra dotrap1 dogetdta: lea retgetdta(pc),a0 move.l 2(a7),(a0) lea getdta(pc),a0 move.l a0,2(a7) bra dotrap1 ENDC doopen: lea retopen(pc),a0 move.l 2(a7),(a0) lea open(pc),a0 move.l a0,2(a7) bra dotrap1 ;here starts the stuff for SFIRST IFNE SFIRSTROUTINE dosfirst: lea retsfirst(pc),a0 move.l 2(a7),(a0) lea sfirst(pc),a0 move.l a0,2(a7) bra.s dotrap1 ENDC ;here start the stuff for LSEEK IFNE LSEEKROUTINE down: lea retlseek(pc),a0 move.l 2(a7),(a0) lea lseek(pc),a0 move.l a0,2(a7) bra.s dotrap1 ENDC load: move.w inopen(pc),d0 cmp.w #1,d0 beq.s dotrap1 ;if checking depack marker, do real trap1! move.w seekflag(pc),d0 cmp.w #1,d0 beq.s dotrap1 ;if called from seek handler, exit! move.w mustdecrun(pc),d0 cmp.w #1,d0 bne.s dotrap1 ;if marker not present, don't decrunch! move.l a7,d0 movem.l a1-a3,-(sp) sub.l #$20,8(a0) lea buffer(pc),a1 move.l 8(a0),(a1) move.l d0,a2 lea return(pc),a1 move.l 2(a2),(a1) lea decrunch(pc),a1 move.l a1,2(a2) move.l buffer(pc),a1 lea savebuf,a2 move.l #$20,a3 loadloop: move.b (a1)+,(a2)+ subq.l #1,a3 cmp.l #0,a3 bne.s loadloop movem.l (sp)+,a1-a3 dotrap1: dc.w $4ef9 oldtrap1vector: dc.l $00 ;************************** open: tst.l d0 bmi exitopen2 movem.l a1-a3,-(sp) move.l d0,a3 lea inopen(pc),a1 move.w #1,(a1) pea test(pc) move.l #8,-(sp) move.w a3,-(sp) move.w #$3f,-(sp) trap #1 add.l #12,sp tst.l d0 ;ADDED TO FIX ZERO LENGTH FILE beq.s notcrun ;DITTO move.l magic(pc),d0 cmp.l test(pc),d0 bne.s notcrun lea mustdecrun(pc),a1 move.w #1,(a1) bra.s skipit notcrun: lea mustdecrun(pc),a1 move.w #0,(a1) skipit: move.w #1,-(sp) move.w a3,-(sp) move.l #-8,-(sp) move.w #$42,-(sp) trap #1 add.l #10,sp move.l a3,d0 exitopen: lea inopen(pc),a1 move.w #0,(a1) movem.l (sp)+,a1-a3 exitopen2: dc.w $4ef9 retopen: ;exit dc.l $00 inopen: dc.w 0 test: dc.l 0 unpaklen: dc.l 0 mustdecrun: dc.w 0 magic: dc.b 'LZH!' IFNE SFIRSTROUTINE ;*************************** getdta: lea dta(pc),a0 move.l d0,(a0) dc.w $4ef9 retgetdta: dc.l $00 ;**************************** setdta: lea dta(pc),a0 move.l 2(a7),(a0) dc.w $4ef9 retsetdta: dc.l $00 ;*********************************** FOR $4E (SFIRST) sfirst: tst.l d0 bne pissoff move.l 2(a7),a0 movem.l a1-a3,-(sp) move.w #$2,-(sp) move.l a0,-(sp) move.w #$3d,-(sp) trap #1 addq.l #8,sp lea sfirsthandle(pc),a1 move.w d0,(a1) move.w mustdecrun(pc),d0 cmp.w #1,d0 beq.s change bra.s afterchange change: move.l dta(pc),a0 add.l #26,a0 move.l unpaklen(pc),d0 move.l d0,(a0) afterchange: move.w sfirsthandle(pc),-(sp) move.w #$3e,-(sp) trap #1 addq.l #4,sp movem.l (sp)+,a1-a3 pissoff: dc.w $4ef9 retsfirst: ;exit dc.l $00 ENDC ;*********************************** FOR $42 (LSEEK) IN TRAP1 IFNE LSEEKROUTINE lseek: cmp.w #2,8(a7) bne vamos3 cmp.l #0,2(a7) bne vamos3 lea seekhandle(pc),a0 move.w 6(a7),(a0) lea sd0save(pc),a0 move.l d0,(a0) move.w mustdecrun(pc),d0 cmp.w #1,d0 bne.s vamos move.l unpaklen(pc),d0 bra.s vamos3 vamos: move.l sd0save(pc),d0 vamos3: dc.w $4ef9 retlseek: ;exit dc.l $00 ENDC ;************************************ FOR $3F (READ) IN TRAP1 decrunch: ;a0 - start of crunched data ;a1 - beginning of uncrunching area movem.l d0-d7/a0-a6,-(sp) move.l buffer(pc),a0 lea origlen(pc),a1 move.l 4(a0),(a1) move sr,d1 btst #13,d1 bne nochange clr.l -(sp) move.w #$20,-(sp) trap #1 addq.l #6,sp lea jek(pc),a6 move.l d0,(a6) lea mode(pc),a1 move.w #1,(a1) ;1 denotes must return to user mode nochange: lea colstore(pc),a1 move.w $fff8240,(a1) move.l buffer(pc),a0 move.l a0,a1 add.l #$20,a1 BSR DEPACK move.w colstore(pc),$fff8240 ;restore memory saved in buffer move.l buffer(pc),a1 lea savebuf,a2 move.l #$20,a3 loadloop2: move.b (a2)+,(a1)+ subq.l #1,a3 cmp.l #0,a3 bne.s loadloop2 move.w mode(pc),d0 cmp.w #1,d0 bne nochange2 move.l jek(pc),-(sp) move.w #$20,-(sp) trap #1 addq.l #6,sp nochange2: lea mode(pc),a1 move.w #$00,(a1) movem.l (sp)+,d0-d7/a0-a6 move.l origlen(pc),d0 dc.w $4ef9 return: ;exit decrunch module dc.l $00 * LZH DEPACKER For use with the JAM Packer V3.0/V4.0 * * USAGE: * LEA $ADDRESS OF PACKED DATA,A0 * LEA $ADDRESS TO UNPACK DATA TO,A1 * BSR DEPACK * * NOTE: Must save registers before executing depack if original * contents are required. RESET MOVEM.W D0-D1/D3/D5,-(A7) MOVEA.L A1,A2 MOVEQ #$00,D2 MOVEQ #-$02,D4 MOVEQ #$00,D1 MOVE.W #$0139,D5 OUTER ADDQ.W #2,D4 CMP.W (A2)+,D7 BHI.S OUTER MOVE.W $00(A3,D4.W),D3 ADDQ.W #1,D3 LSR.W #1,D3 CMP.W -$02(A3,D2.W),D3 BLS.S BIDDLE MOVE.W $00(A3,D1.W),D0 ADD.W $02(A3,D1.W),D0 CMP.W D0,D3 BLS.S BIDDLE BITH MOVE.W D0,$00(A3,D2.W) MOVE.W D1,$00(A1,D2.W) MOVE.W D2,$00(A0,D1.W) MOVE.W D2,$02(A0,D1.W) ADDQ.W #2,D2 ADDQ.L #4,D1 MOVE.W $00(A3,D1.W),D0 ADD.W $02(A3,D1.W),D0 CMP.W D0,D3 BHI.S BITH BIDDLE MOVE.W D3,$00(A3,D2.W) MOVE.W $00(A1,D4.W),D0 MOVE.W D0,$00(A1,D2.W) MOVE.W D2,$00(A0,D0.W) ADDQ.W #2,D2 DBF D5,OUTER MAKETABLE2 MOVE.W $00(A3,D1.W),D0 ADD.W $02(A3,D1.W),D0 MOVE.W D0,$00(A3,D2.W) MOVE.W D1,$00(A1,D2.W) MOVE.W D2,$00(A0,D1.W) MOVE.W D2,$02(A0,D1.W) ADDQ.W #2,D2 ADDQ.L #4,D1 CMP.W D7,D2 BNE.S MAKETABLE2 MOVEM.W (A7)+,D0-D1/D3/D5 RTS CREATE MOVE.L TABLE7(PC),A0 LEA TDATA1(PC),A1 MOVEQ #$00,D0 MOVEQ #$1F,D1 MOVEQ #$00,D2 LOOP1 MOVE.B D0,(A0)+ DBF D1,LOOP1 DBF D2,EXIT1 MOVE.W (A1)+,D3 MOVEQ #$03,D2 EXIT1 ROL.W #4,D3 MOVE.W D3,D1 ANDI.W #$000F,D1 ADDQ.B #4,D0 BCC.S LOOP1 MOVE.L TABLE8(PC),A0 LEA TDATA2(PC),A1 MOVEQ #$05,D0 MOVEQ #$03,D1 LOOP2 MOVE.B $00(A1,D0.W),D2 EXT.W D2 LOOP3 MOVE.B D1,(A0)+ DBF D2,LOOP3 ADDQ.W #1,D1 DBF D0,LOOP2 RTS CREATE2 MOVE.L TABLE1(PC),A0 MOVE.L TABLE5(PC),A1 MOVE.L TABLE4(PC),A2 MOVEQ #$01,D1 MOVE.W #$04E6,D2 MOVEQ #$00,D4 MOVE.W #$0139,D0 CONTINUE MOVE.W D1,(A0)+ MOVE.W D2,(A1)+ MOVE.W D4,(A2)+ ADDQ.W #2,D2 ADDQ.W #2,D4 DBF D0,CONTINUE MOVE.L TABLE1(PC),A0 MOVE.L TABLE2(PC),A3 MOVE.L TABLE6(PC),A1 MOVE.L TABLE3(PC),A2 MOVE.W #$0274,D2 MOVEQ #$00,D4 MOVE.W #$0138,D0 DOMORE MOVE.W (A0)+,D1 ADD.W (A0)+,D1 MOVE.W D1,(A3)+ MOVE.W D4,(A1)+ MOVE.W D2,(A2)+ MOVE.W D2,(A2)+ ADDQ.W #4,D4 ADDQ.W #2,D2 DBF D0,DOMORE MOVE.W #$FFFF,(A3) CLR.W (A2) RTS RESTORE BSR RESET BRA BACK TABLE1 DC.L 00 TABLE2 DC.L 00 TABLE3 DC.L 00 TABLE4 DC.L 00 TABLE5 DC.L 00 TABLE6 DC.L 00 TABLE7 DC.L 00 TABLE8 DC.L 00 BUFPOS: DC.L 00 EXIT ADDQ.L #4,A7 RTS DEPACK MOVE.L A0,A5 MOVE.L A1,A6 LEA TABLE1(PC),A0 MOVE.L #0,(A0) ;SET UP RELATIVE TABLE OFFSETS MOVE.L #$274,4(A0) MOVE.L #$4E8,8(A0) MOVE.L #$9CE,12(A0) MOVE.L #$C42,16(A0) MOVE.L #$EB6,20(A0) MOVE.L #$112A,24(A0) MOVE.L #$122A,28(A0) MOVE.L BUFPOS(PC),D1 TST.L D1 BNE.S DONTUSESCREEN USESCREEN: MOVE.B $FFFF8201.W,D6 MOVE.B $FFFF8203.W,D7 LSL.L #8,D6 MOVE.B D7,D6 LSL.L #8,D6 MOVE.L D6,D1 DONTUSESCREEN: ; MOVE.L A7,D1 ;GET STACK POSITON ; sub.l #$1500,D1 ;TABLES START ADDRESS IN D1 ;STORE UNDER STACK MOVE.W #7,D0 TABLOOP ADD.L D1,(A0)+ ;ADD TABLE BASE ADDRESS TO OFFSETS DBF D0,TABLOOP BSR CREATE BSR CREATE2 MOVE.L TABLE3(PC),A0 MOVE.L TABLE5(PC),A1 MOVE.L TABLE1(PC),A3 MOVE.L A6,-(A7) ADD.L 4(A5),A6 ADD.L 8(A5),A5 ADD.L #$0C,A5 MOVE.L A6,A4 ;THIS IS REQUIRED! MOVE.W #59,D0 ;MOVE 60 SPACES TO END OF UNPACKED AREA SPACES MOVE.B #$20,(A4)+ ;NOTE: SHOULD PROBABLY SAVE THIS DATA DBF D0,SPACES ; BEFORE WIPING IT OUT! MOVEQ #$08,D6 MOVE.B -(A5),D5 MOVE.W #$04E6,D7 MOVE.L TABLE8(PC),A4 TOP NOT.W $FFFF8240.W CMPA.L (A7),A6 BLE EXIT MOVE.W $04E4(A1),D0 MORE DBF D6,NOTEMPTY MOVEQ #$07,D6 MOVE.B -(A5),D5 NOTEMPTY ADD.B D5,D5 BCC.S ZERO ADDQ.W #2,D0 ZERO MOVE.W $00(A1,D0.W),D0 CMP.W D7,D0 BLT.S MORE MOVE.W D0,D1 SUB.W D7,D0 MOVE.W $04E4(A3),D4 BMI RESTORE BACK MOVE.W $00(A0,D1.W),D1 SCAN LEA $00(A3,D1.W),A2 ADDQ.W #1,(A2) CMPM.W (A2)+,(A2)+ BCS.S FRSTGTR MOVE.W $00(A0,D1.W),D1 BNE.S SCAN LSR.W #1,D0 CMP.W #$0100,D0 BGE.S GTE256 WRITE MOVE.B D0,-(A6) BRA.S TOP FRSTGTR SUBQ.W #1,-$0004(A2) MOVE.W -$0004(A2),D4 SAME CMP.W (A2)+,D4 BEQ.S SAME SUBQ.L #4,A2 ADDQ.W #1,(A2) SUBA.L A3,A2 MOVE.W $00(A1,D1.W),D4 MOVE.W A2,$00(A0,D4.W) CMP.W D7,D4 BCC.S SKIP MOVE.W A2,$02(A0,D4.W) SKIP MOVE.W $00(A1,A2.W),D2 MOVE.W D4,$00(A1,A2.W) MOVE.W D1,$00(A0,D2.W) CMP.W D7,D2 BCC.S SKIP2 MOVE.W D1,$02(A0,D2.W) SKIP2 MOVE.W D2,$00(A1,D1.W) MOVE.W $00(A0,A2.W),D1 BNE.S SCAN LSR.W #1,D0 CMP.W #$0100,D0 BLT.S WRITE GTE256 MOVE.B -1(A5),D1 MOVEQ #$00,D2 LSR.B D6,D1 OR.B D5,D1 MOVE.B $00(A4,D1.W),D2 SUB.W D2,D6 BPL.S POSITIVE MOVE.B -(A5),D5 MOVE.B D5,D4 ADDQ.W #2,D6 BMI.S OVERFLOW BEQ.S MODD4 LSR.B #1,D4 LSL.B #7,D5 BRA.S MODD4 READONE MOVE.B -(A5),D5 MOVE.B D5,D4 LSL.B #6,D5 MOVEQ #$02,D6 LSR.B D6,D4 BRA.S DOCOPY POSITIVE BEQ.S READONE MOVE.B (A5),D5 SUBQ.W #6,D6 OVERFLOW NEG.W D6 LSL.B D6,D5 MOVE.B D5,D4 MOVE.B -(A5),D5 MOVE.B D5,D2 LSL.B D6,D5 SUBQ.W #8,D6 NEG.W D6 LSR.B D6,D2 OR.B D2,D4 MODD4 ANDI.W #$003F,D4 DOCOPY MOVE.L TABLE7(PC),A0 MOVE.B (A0,D1.W),D2 LSL.W #4,D2 OR.B D4,D2 ;NEG.W D2 LEA $01(A6,D2.W),A0 SUBI.W #$00FE,D0 MOVE.W D0,D1 COPY MOVE.B -(A0),D0 MOVE.B D0,-(A6) DBF D1,COPY MOVE.L TABLE3(PC),A0 BRA TOP TDATA2 DC.W $0F2F DC.W $2F3F DC.W $2F1F TDATA1 DC.W $FFF7 DC.W $7777 DC.W $7773 DC.W $3333 DC.W $3333 DC.W $3331 DC.W $1111 DC.W $1111 DC.W $1111 DC.W $1111 DC.W $1111 DC.W $1110 DC.L $00 DC.L $00 SECTION DATA origlen: dc.l $00 oldssp: dc.l $00 buffer: dc.l $00 mode: dc.l $00 jek: dc.l $00 length: dc.l $00 colstore: dc.l $00 seekflag: dc.w $00 seekhandle: dc.w $00 sd0save: dc.l $00 rtlseeksav: dc.l $00 sfirsthandle: dc.l $00 dta: dc.l $00 oldsize: dc.l $00 NULL: DC.L $00. `.. FIREUNP2S Ct FIREUNPAS Ft :FIRE_2_0PRG Ht  FIREDISKS Kt FIREUNP3S Nt READ_ME TXT Pt Y ;********************************************* Unpackroutine von FIRE-PACK ; Eingabe: a0 = Adresse gepackter Daten fire_decrunch_2: link a3,#-120 movem.l d0-a6,-(sp) lea 120(a0),a4 ; a4 = Anfang entpackte Daten move.l a4,a6 ; a6 = Ende entpackte Daten bsr.s .getinfo cmpi.l #'FIRE',d0 ; Kennung gefunden? bne .not_packed bsr.s .getinfo ; gepackte Lnge holen lea.l -8(a0,d0.l),a5 ; a5 = Ende der gepackten Daten bsr.s .getinfo ; ungepackte Lnge holen (original) move.l d0,(sp) ; Originallnge: spter nach d0 adda.l d0,a6 ; a6 = Ende entpackte Daten move.l a6,a1 moveq #119,d0 ; 120 Bytes hinter entpackten Daten .save: move.b -(a1),-(a3) ; in sicheren Bereich sichern dbf d0,.save move.l a6,a3 ; merken fr spter move.b -(a5),d7 ; erstes Informationsbyte lea .tabellen(pc),a2 ; a2 = Zeiger auf Datenbereich moveq #1,d6 swap d6 ; d6 = $10000 moveq #0,d5 ; d5 = 0 (oberes Wort: immer 0!) .normal_bytes: bsr.s .get_1_bit bcc.s .test_if_end ; Bit %0: keine Daten moveq #0,d1 ; falls zu .copy_direkt bsr.s .get_1_bit bcc.s .copy_direkt ; Bitfolge: %10: 1 Byte direkt kop. ; lea.l .direkt_tab+16-.tabellen(a2),a0 ; ...siehe nchste Zeile move.l a2,a0 moveq #3,d3 .nextgb: move.l -(a0),d0 ; d0.w Bytes lesen bsr.s .get_d0_bits swap d0 cmp.w d0,d1 ; alle gelesenen Bits gesetzt? dbne d3,.nextgb ; ja: dann weiter Bits lesen .no_more: add.l 16(a0),d1 ; Anzahl der zu bertragenen Bytes .copy_direkt: move.b -(a5),-(a6) ; Daten direkt kopieren dbf d1,.copy_direkt ; noch ein Byte .test_if_end: cmp.l a4,a6 ; Fertig? bgt.s .strings ; Weiter wenn Ende nicht erreicht movem.l (sp),d0-a2/a5 ; hole ntige Register .move move.b (a4)+,(a0)+ subq.l #1,d0 bne.s .move moveq #119,d0 ; um berschriebenen Bereich .rest move.b -(a5),-(a3) ; wieder herzustellen dbf d0,.rest .not_packed: movem.l (sp)+,d0-a6 unlk a3 rts ;************************** Unterroutinen: wegen Optimierung nicht am Schlu .getinfo: moveq #3,d1 .glw: rol.l #8,d0 move.b (a0)+,d0 dbf d1,.glw rts .get_1_bit: add.b d7,d7 ; hole ein Bit beq.s .no_bit_found rts .no_bit_found: move.b -(a5),d7 addx.b d7,d7 rts .get_d0_bits: moveq #0,d1 ; ergebnisfeld vorbereiten .hole_bit_loop: add.b d7,d7 ; hole ein Bit beq.s .not_found ; quellfeld leer .on_d0: addx.w d1,d1 ; und bernimm es dbf d0,.hole_bit_loop ; bis alle Bits geholt wurden rts .not_found: move.b -(a5),d7 ; hole sonst ein weiters longword addx.b d7,d7 ; hole ein Bit bra.s .on_d0 ;************************************ Ende der Unterroutinen .strings: moveq #1,d0 ; 2 Bits lesen bsr.s .get_d0_bits subq.w #1,d1 bmi.s .gleich_morestring ; %00 beq.s .length_2 ; %01 subq.w #1,d1 beq.s .length_3 ; %10 bsr.s .get_1_bit bcc.s .bitset ; %110 bsr.s .get_1_bit bcc.s .length_4 ; %1110 bra.s .length_5 ; %1111 .get_short_offset: moveq #1,d0 bsr.s .get_d0_bits ; d1: 0, 1, 2, 3 subq.w #1,d1 bpl.s .contoffs moveq #0,d0 ; Sonderfall rts .get_long_offset: moveq #1,d0 ; 2 Bits lesen bsr.s .get_d0_bits ; d1: 0, 1, 2, 3 .contoffs add.w d1,d1 ; d1: 0, 2, 4, 6 add.w d1,d1 ; d1: 0, 4, 8, 12 movem.w .offset_table-.tabellen(a2,d1),d0/d5 bsr.s .get_d0_bits ; 4, 8, 12 oder 16 Bits lesen add.l d5,d1 rts .gleich_morestring: ; %00 moveq #1,d0 ; 2 Bits lesen bsr.s .get_d0_bits ; d1: 0, 1, 2, 3 subq.w #1,d1 bmi.s .gleich_string ; %0000 add.w d1,d1 ; d1: 0, 2, 4 add.w d1,d1 ; d1: 0, 4, 8 movem.w .more_table-.tabellen(a2,d1),d0/d2 bsr.s .get_d0_bits add.w d1,d2 ; d2 = Stringlnge bsr.s .get_long_offset move.w d2,d0 ; d0 = Stringlnge bra.s .copy_longstring .bitset: moveq #2,d0 ; %110 bsr.s .get_d0_bits moveq #0,d0 bset d1,d0 bra.s .put_d0 .length_2: moveq #7,d0 ; %01 bsr.s .get_d0_bits moveq #2-2,d0 bra.s .copy_string .length_3: bsr.s .get_short_offset ; %10 tst.w d0 beq .put_d0 ; 0 ablegen moveq #3-2,d0 bra.s .copy_string .length_4: bsr.s .get_short_offset ; %1110 tst.w d0 beq.s .vorgnger_kopieren moveq #4-2,d0 bra.s .copy_string .length_5: bsr.s .get_short_offset ; %1111 tst.w d0 beq.s .put_ff moveq #5-2,d0 bra.s .copy_string .put_ff: moveq #-1,d0 bra.s .put_d0 .vorgnger_kopieren: move.b (a6),d0 ; bra.s .put_d0 .put_d0: move.b d0,-(a6) bra.s .backmain .gleich_string: bsr.s .get_long_offset ; Anzahl gleicher Bytes lesen beq.s .backmain ; 0: zurck move.b (a6),d0 .copy_gl: move.b d0,-(a6) dbf d1,.copy_gl sub.l d6,d1 bmi.s .backmain bra.s .copy_gl .copy_longstring: subq.w #2,d0 ; Stringlnge - 2 (wegen dbf) .copy_string: ; d1 = Offset, d0 = Anzahl Bytes -2 lea.l 2(a6,d1.l),a0 ; Hier stehen die Originaldaten add.w d0,a0 ; dazu die Stringlnge-2 move.b -(a0),-(a6) ; ein Byte auf jeden Fall kopieren .dep_b: move.b -(a0),-(a6) ; mehr Bytes kopieren dbf d0,.dep_b ; und noch ein Mal .backmain bra .normal_bytes ; Jetzt kommen wieder normale Bytes .direkt_tab: dc.l $03ff0009,$00070002,$00030001,$00030001 ; Anzahl 1-Bits .tabellen:dc.l 15-1, 8-1, 5-1, 2-1 ; Anz. Bytes .offset_table: dc.w 3, 0 dc.w 7, 16+0 dc.w 11, 256+16+0 dc.w 15, 4096+256+16+0 .more_table: dc.w 3, 5 dc.w 5, 16+5 dc.w 7, 64+16+5 ende_fire_decrunch_2: ;*************************************************** Ende der Unpackroutine ;********************************************* Unpackroutine von FIRE-PACK ; Eingabe: a0 = Adresse gepackter Daten ; Ausgabe: a1 = Adresse entpackter Daten ; a2 und a3 sind whrend der Packroutine unbelegt fire_decrunch: movem.l d0-a6,-(sp) bsr.s .getinfo ; Kenn-Langwort holen cmp.l #'FIRE',d0 ; Kennung gefunden? bne.s .not_packed ; nein: nicht gepackt bsr.s .getinfo ; Kenn-Langwort holen lea -8(a0,d0.l),a5 ; a5 = Ende aller Daten bsr.s .getinfo ; Lnge holen move.l d0,(sp) ; Originallnge: spter nach d0 move.l a1,a4 move.l a1,a6 add.l d7,a6 ; a6 = neues Ende ; a5 = Ende von Byte-Daten move.b -(a5),d7 ; erstes Informationslangwort lea .tabellen(pc),a3 ; a3 = Zeiger auf Datenbereich moveq #1,d6 swap d6 ; d6 = $10000 moveq #0,d5 ; d5 = 0 (oberes Wort: immer 0!) .normal_bytes: bsr.s .get_1_bit bcc.s .test_if_end ; Bit %0: keine Daten moveq #0,d1 ; falls zu .copy_direkt bsr.s .get_1_bit bcc.s .copy_direkt ; Bitfolge: %10: 1 Byte direkt kop. ; lea.l .direkt_tab+16-.tabellen(a3),a0 ; ...siehe nchste Zeile move.l a3,a0 moveq #3,d3 .nextgb: move.l -(a0),d0 ; d0.w Bytes lesen bsr.s .get_d0_bits swap d0 cmp.w d0,d1 ; alle gelesenen Bits gesetzt? dbne d3,.nextgb ; ja: dann weiter Bits lesen .no_more: add.l 16(a0),d1 ; Anzahl der zu bertragenen Bytes .copy_direkt: move.b -(a5),-(a6) ; Daten direkt kopieren dbf d1,.copy_direkt ; noch ein Byte .test_if_end: cmp.l a4,a6 ; Fertig? bgt.s .strings ; Weiter wenn Ende nicht erreicht .not_packed: movem.l (sp)+,d0-a6 rts ;************************** Unterroutinen: wegen Optimierung nicht am Schlu .getinfo: moveq #3,d1 .glw: rol.l #8,d0 move.b (a0)+,d0 dbf d1,.glw rts .get_1_bit: add.b d7,d7 ; hole ein Bit beq.s .no_bit_found rts .no_bit_found: move.b -(a5),d7 addx.b d7,d7 rts .get_d0_bits: moveq #0,d1 ; Ergebnisfeld vorbereiten .hole_bit_loop: add.b d7,d7 ; hole ein Bit beq.s .not_found ; quellfeld leer .on_d0: addx.w d1,d1 ; und bernimm es dbf d0,.hole_bit_loop ; bis alle Bits geholt wurden rts .not_found: move.b -(a5),d7 ; hole sonst ein weiteres Longword addx.b d7,d7 ; hole ein Bit bra.s .on_d0 ;************************************ Ende der Unterroutinen .strings: moveq #1,d0 ; 2 Bits lesen bsr.s .get_d0_bits subq.w #1,d1 bmi.s .gleich_morestring ; %00 beq.s .length_2 ; %01 subq.w #1,d1 beq.s .length_3 ; %10 bsr.s .get_1_bit bcc.s .bitset ; %110 bsr.s .get_1_bit bcc.s .length_4 ; %1110 bra.s .length_5 ; %1111 .get_short_offset: moveq #1,d0 bsr.s .get_d0_bits ; d1: 0, 1, 2, 3 subq.w #1,d1 bpl.s .contoffs moveq #0,d0 ; Sonderfall rts .get_long_offset: moveq #1,d0 ; 2 Bits lesen bsr.s .get_d0_bits ; d1: 0, 1, 2, 3 .contoffs add.w d1,d1 ; d1: 0, 2, 4, 6 add.w d1,d1 ; d1: 0, 4, 8, 12 movem.w .offset_table-.tabellen(a3,d1),d0/d5 bsr.s .get_d0_bits ; 4, 8, 12 oder 16 Bits lesen add.l d5,d1 rts .gleich_morestring: ; %00 moveq #1,d0 ; 2 Bits lesen bsr.s .get_d0_bits ; d1: 0, 1, 2, 3 subq.w #1,d1 bmi.s .gleich_string ; %0000 add.w d1,d1 ; d1: 0, 2, 4 add.w d1,d1 ; d1: 0, 4, 8 movem.w .more_table-.tabellen(a3,d1),d0/d2 bsr.s .get_d0_bits add.w d1,d2 ; d2 = Stringlnge bsr.s .get_long_offset move.w d2,d0 ; d0 = Stringlnge bra.s .copy_longstring .bitset: moveq #2,d0 ; %110 bsr.s .get_d0_bits moveq #0,d0 bset d1,d0 bra.s .put_d0 .length_2: moveq #7,d0 ; %01 bsr.s .get_d0_bits moveq #2-2,d0 bra.s .copy_string .length_3: bsr.s .get_short_offset ; %10 tst.w d0 beq .put_d0 ; 0 ablegen moveq #3-2,d0 bra.s .copy_string .length_4: bsr.s .get_short_offset ; %1110 tst.w d0 beq.s .vorgnger_kopieren moveq #4-2,d0 bra.s .copy_string .length_5: bsr.s .get_short_offset ; %1111 tst.w d0 beq.s .put_ff moveq #5-2,d0 bra.s .copy_string .put_ff: moveq #-1,d0 bra.s .put_d0 .vorgnger_kopieren: move.b (a6),d0 ; bra.s .put_d0 .put_d0: move.b d0,-(a6) bra.s .backmain .gleich_string: bsr.s .get_long_offset ; Anzahl gleicher Bytes lesen beq.s .backmain ; 0: zurck move.b (a6),d0 .copy_gl: move.b d0,-(a6) dbf d1,.copy_gl sub.l d6,d1 bmi.s .backmain bra.s .copy_gl .copy_longstring: subq.w #2,d0 ; Stringlnge - 2 (wegen dbf) .copy_string: ; d1 = Offset, d0 = Anzahl Bytes -2 lea.l 2(a6,d1.l),a0 ; Hier stehen die Originaldaten add.w d0,a0 ; dazu die Stringlnge-2 move.b -(a0),-(a6) ; ein Byte auf jeden Fall kopieren .dep_b: move.b -(a0),-(a6) ; mehr Bytes kopieren dbf d0,.dep_b ; und noch ein Mal .backmain bra .normal_bytes ; Jetzt kommen wieder normale Bytes .direkt_tab: dc.l $03ff0009,$00070002,$00030001,$00030001 ; Anzahl 1-Bits .tabellen:dc.l 15-1, 8-1, 5-1, 2-1 ; Anz. Bytes .offset_table: dc.w 3, 0 dc.w 7, 16+0 dc.w 11, 256+16+0 dc.w 15, 4096+256+16+0 .more_table: dc.w 3, 5 dc.w 5, 16+5 dc.w 7, 64+16+5 ;*************************************************** Ende der Unpackroutine ende_fire_decrunch: ``ZPack-Fire: The best packer on the ST. Greetings go to all people who use this packer. *O*m - ЭЭ// Bg?<JNA 3< 3 aa 8aaa a`& < a(3 ~R@gNu <aNu>??<LNAHABBBP (pf|A"0<NBp0:LNuxafx3 NuA0aJy gAa,@0`(Aoaa` 3f"ADava:A8aj` 3fa&`! 1gr gl 2fB9!Jy gAa@l|ngpy` Ayaa334 g yg nf3`,3`4v3!Jy g?<NATIA:BgHT?<GNAPJf|\*.*BaLIf NAXJNu?<NATNu?<NATNu/< NMXNu/?< NA\NuHz ?<&NN\Nu 8#!#!NuHAHaa :րH@B@H@0 a0 a0 ap:a  @0aH@@0aLNuC :,tr€| oA'A0QA aGHS?< NA\t+gZTxvSBkp#0k o0 W o oph؀XCQ <e(|dx# Nu/ : # # 3 NueH :ѹ " :$:adaJ@gRHABAHAzVgD3 <99AQH@A aagaf3!8L#!`LNuAa : N":a2da* H@B@H@ 00a.H@a(AaNuH@HAJ@f JAfH@HANuH@HA`H??<NAXLNua( <43#aB?::a.p0Nu rp`6  z@ ( $B":.aJ2p` z ( $":aJSB2p`":[A(JkΒkP`Ґ (a"(UAIp`@ <kgrpHzabrp `\ڀLA\Ar婂Ez`8  Q~|QNuNu`E0<r$$$$$$$$QEA0<r&ATrQBb0<2R2R2R2R2R2R2R2RQNu`` Pack-Fire!A~*Hޭ,Hޭa*oMGLI "grѓg f``GPM$]*$**ԓ**ԓaJ@g p`2aJ@gp`(aJ@gp`p``"agQk`U@C!!Q`  UNSHIx,Lap FIREf`adKa^."Npw!Q&N%E<|HFzaLd raFd Jv aHH@@VҨ%QnFL'Sfpw%QLN[NurQNugNu%NurgAQNu%`paSAk0gTSAgXadBad\`dpaSAjpNupaAAL!a҅NupaSAkPAAL aAa0`Npap`.pap`>aJ@g p`2aJ@gp`(aJ@gp`p``"agQk`U@A  Q`  U0 Enter name of source file: Enter name of destination file: Could not allocate enough memory Working: P> Crunch another file (Y/n): Relocate program after depacking (Y/n): Additional picture compression (N/y): Please enter the offset (Default: $0000): $ 1) Crunch data file (Default) 2) Crunch executable file 3) Set Parameters Please select: No mem! Verify: OK! Error! [cancelled] Data cannot be packed! [cancelled]DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCCCCCCCCCCCCCCCCCCCCCRemaining: 99%DDDDDDDDDDDDDDDDDDDDDDDDDCCCCCCCCC-~DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCCCCCCCCCCCCCCCCCCCCCTime:  Rate: % [saving] was pressed. File is skipped. Larger than original! [cancelled]Ef ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ | Version 2.01 | { P A C K - F I R E } | | { This packer was written by Axe of Superior. } | First version: 18.04.1990 Final changes: 19.02.1990 | { } | Note: $7000 is highest offset for FAST packing! | ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ [0][| What do you wish to pack? | - Data files | - Executable files | - Set Parameters ][ DATA | EXEC | SETUP ][0][| Relocate after decrunch? | ][ YES | NO ][2][| Do you wish to pack | another file?|][ YES | NO | ??? ][0][| Do you wish to use an | additional algorithm | for picture compression? |][ NO | YES ]*\L,RR*  :0x \0v:22  $T&v,r opt o+,ow-,a+ ; Optimierung einschalten start: movea.l #stackend,sp move.l sp,d0 subi.l #start-$120,d0 move.l d0,-(sp) pea start-$100(pc) clr.w -(sp) move.w #$4a,-(sp) trap #1 adda.w #$c,sp bsr.s super move.l $84.w,old_trap1+2 ;store & change TRAP #1 vector move.l #my_trap1,$84.w bsr.s user pea null(pc) pea null(pc) pea file_name(pc) move.w #0,-(sp) move.w #$4b,-(sp) trap #1 lea.l 16(sp),sp bsr.s super move.l old_trap1+2(pc),$84.w bsr.s user clr.w -(sp) trap #1 null: dc.l 0,0 file_name: dc.b 'datafile.del',0 ; nachgeladenes Programm (pexec) EVEN super: clr.l -(sp) ;supervisor state move.w #$20,-(sp) trap #1 addq.l #6,sp move.l d0,d7 rts user: move.l d7,-(sp) ;user state move.w #$20,-(sp) trap #1 addq.l #6,sp rts my_trap1: movea.l sp,a0 btst #$d,(sp) bne.s supervisor move.l usp,a0 subq.l #6,a0 supervisor: addq.l #6,a0 cmpi.w #$3f,(a0) ; read beq.s func_3f old_trap1: jmp 0.l func_3f: move.l 8(a0),puffer move.l 2(sp),ret_addr5+2 ; Returnadresse move.l #read,2(sp) bra.s old_trap1 read: tst.w 2(sp) bmi.s ret_addr5 ; device handle->do nothing movem.l d1-d7/a0-a6,-(sp) movea.l puffer(pc),a0 ; Puffer bsr.s decrunch movem.l (sp)+,d1-d7/a0-a6 ret_addr5: jmp 0.l ;********************************************* Unpackroutine von ICE-PACK include fireunp2.s ;*************************************************** Ende der Unpackroutine section bss puffer: ds.l 1 ds.b 500 stackend: ds.b 20 ;********************************************* Unpackroutine von FIRE-PACK ; Eingabe: a0 = Adresse gepackter Daten fire_decrunch_3: link a3,#-120 movem.l d0-a6,-(sp) move.l a0,a6 ; Arbeitsregister move.l a0,a4 ; a4 = Anfang der Originaldaten bsr.s .getinfo ; Kenn-Langwort holen cmp.l #'FIRE',d0 ; Kennung gefunden? bne.s .not_packed ; nein: nicht gepackt bsr.s .getinfo ; Kenn-Langwort holen move.l a3,a2 moveq #119,d1 ; 120 Bytes vor gepackten Daten .save: move.b -(a6),-(a2) ; in sicheren Bereich sichern dbf d1,.save move.l a6,a2 ; Anfang der gepackten Daten lea.l -8(a6,d0.l),a5 ; a5 = Ende der gepackten Daten .move move.b (a0)+,(a6)+ subq.l #1,d0 bne.s .move move.l a2,a0 bsr.s .getinfo ; Lnge holen move.l d0,(sp) ; Originallnge: spter nach d0 move.l a4,a6 ; a6 = Ende der Originaldaten add.l d0,a6 move.b -(a5),d7 ; erstes Informationslangwort lea .tabellen(pc),a2 ; a2 = Zeiger auf Datenbereich moveq #1,d6 swap d6 ; d6 = $10000 moveq #0,d5 ; d5 = 0 (oberes Wort: immer 0!) .normal_bytes: bsr.s .get_1_bit bcc.s .test_if_end ; Bit %0: keine Daten moveq #0,d1 ; falls zu .copy_direkt bsr.s .get_1_bit bcc.s .copy_direkt ; Bitfolge: %10: 1 Byte direkt kop. ; lea.l .direkt_tab+16-.tabellen(a2),a0 ; ...siehe nchste Zeile move.l a2,a0 moveq #3,d3 .nextgb: move.l -(a0),d0 ; d0.w Bytes lesen bsr.s .get_d0_bits swap d0 cmp.w d0,d1 ; alle gelesenen Bits gesetzt? dbne d3,.nextgb ; ja: dann weiter Bits lesen .no_more: add.l 16(a0),d1 ; Anzahl der zu bertragenen Bytes .copy_direkt: move.b -(a5),-(a6) ; Daten direkt kopieren dbf d1,.copy_direkt ; noch ein Byte .test_if_end: cmp.l a4,a6 ; Fertig? bgt.s .strings ; Weiter wenn Ende nicht erreicht moveq #119,d0 ; um berschriebenen Bereich .rest move.b -(a3),-(a4) ; wieder herzustellen dbf d0,.rest .not_packed: movem.l (sp)+,d0-a6 unlk a3 rts ;************************** Unterroutinen: wegen Optimierung nicht am Schlu .getinfo: moveq #3,d1 .glw: rol.l #8,d0 move.b (a0)+,d0 dbf d1,.glw rts .get_1_bit: add.b d7,d7 ; hole ein Bit beq.s .no_bit_found rts .no_bit_found: move.b -(a5),d7 addx.b d7,d7 rts .get_d0_bits: moveq #0,d1 ; ergebnisfeld vorbereiten .hole_bit_loop: add.b d7,d7 ; hole ein Bit beq.s .not_found ; quellfeld leer .on_d0: addx.w d1,d1 ; und bernimm es dbf d0,.hole_bit_loop ; bis alle Bits geholt wurden rts .not_found: move.b -(a5),d7 ; hole sonst ein weiters longword addx.b d7,d7 ; hole ein Bit bra.s .on_d0 ;************************************ Ende der Unterroutinen .strings: moveq #1,d0 ; 2 Bits lesen bsr.s .get_d0_bits subq.w #1,d1 bmi.s .gleich_morestring ; %00 beq.s .length_2 ; %01 subq.w #1,d1 beq.s .length_3 ; %10 bsr.s .get_1_bit bcc.s .bitset ; %110 bsr.s .get_1_bit bcc.s .length_4 ; %1110 bra.s .length_5 ; %1111 .get_short_offset: moveq #1,d0 bsr.s .get_d0_bits ; d1: 0, 1, 2, 3 subq.w #1,d1 bpl.s .contoffs moveq #0,d0 ; Sonderfall rts .get_long_offset: moveq #1,d0 ; 2 Bits lesen bsr.s .get_d0_bits ; d1: 0, 1, 2, 3 .contoffs add.w d1,d1 ; d1: 0, 2, 4, 6 add.w d1,d1 ; d1: 0, 4, 8, 12 movem.w .offset_table-.tabellen(a2,d1),d0/d5 bsr.s .get_d0_bits ; 4, 8, 12 oder 16 Bits lesen add.l d5,d1 rts .gleich_morestring: ; %00 moveq #1,d0 ; 2 Bits lesen bsr.s .get_d0_bits ; d1: 0, 1, 2, 3 subq.w #1,d1 bmi.s .gleich_string ; %0000 add.w d1,d1 ; d1: 0, 2, 4 add.w d1,d1 ; d1: 0, 4, 8 movem.w .more_table-.tabellen(a2,d1),d0/d2 bsr.s .get_d0_bits add.w d1,d2 ; d2 = Stringlnge bsr.s .get_long_offset move.w d2,d0 ; d0 = Stringlnge bra.s .copy_longstring .bitset: moveq #2,d0 ; %110 bsr.s .get_d0_bits moveq #0,d0 bset d1,d0 bra.s .put_d0 .length_2: moveq #7,d0 ; %01 bsr.s .get_d0_bits moveq #2-2,d0 bra.s .copy_string .length_3: bsr.s .get_short_offset ; %10 tst.w d0 beq .put_d0 ; 0 ablegen moveq #3-2,d0 bra.s .copy_string .length_4: bsr.s .get_short_offset ; %1110 tst.w d0 beq.s .vorgnger_kopieren moveq #4-2,d0 bra.s .copy_string .length_5: bsr.s .get_short_offset ; %1111 tst.w d0 beq.s .put_ff moveq #5-2,d0 bra.s .copy_string .put_ff: moveq #-1,d0 bra.s .put_d0 .vorgnger_kopieren: move.b (a6),d0 ; bra.s .put_d0 .put_d0: move.b d0,-(a6) bra.s .backmain .gleich_string: bsr.s .get_long_offset ; Anzahl gleicher Bytes lesen beq.s .backmain ; 0: zurck move.b (a6),d0 .copy_gl: move.b d0,-(a6) dbf d1,.copy_gl sub.l d6,d1 bmi.s .backmain bra.s .copy_gl .copy_longstring: subq.w #2,d0 ; Stringlnge - 2 (wegen dbf) .copy_string: ; d1 = Offset, d0 = Anzahl Bytes -2 lea.l 2(a6,d1.l),a0 ; Hier stehen die Originaldaten add.w d0,a0 ; dazu die Stringlnge-2 move.b -(a0),-(a6) ; ein Byte auf jeden Fall kopieren .dep_b: move.b -(a0),-(a6) ; mehr Bytes kopieren dbf d0,.dep_b ; und noch ein Mal .backmain bra .normal_bytes ; Jetzt kommen wieder normale Bytes .direkt_tab: dc.l $03ff0009,$00070002,$00030001,$00030001 ; Anzahl 1-Bits .tabellen:dc.l 15-1, 8-1, 5-1, 2-1 ; Anz. Bytes .offset_table: dc.w 3, 0 dc.w 7, 16+0 dc.w 11, 256+16+0 dc.w 15, 4096+256+16+0 .more_table: dc.w 3, 5 dc.w 5, 16+5 dc.w 7, 64+16+5 ende_fire_decrunch_3: ;*************************************************** Ende der Unpackroutine Hello members of Superior (Wanderer, Jinx, Jabba), here is the newest version of Pack-Ice and of Fire-Pack. Both have the new unpacking routines included. The files in the Pack-Ice folder are: - ICE_2_3.PRG Pack-Ice version 2.3 - ICE_UNPA.S Unpacking routine. Original Data is at address A0 and the destination is A1 - ICE_UNP2.S Unpacking routine. Packed data is at address A0 and the data is unpacked to this same address. The 120 bytes buffer is no longer neeed, but instead 120 bytes are temporarily reserved on the stack. There haven't been many great changes in Pack-Ice, but Fire-Pack was enhanced with the shell and the fast packing algorithms. To notify changes, I changed the Ice!- and Fire-identifications for packed data to "ICE!" and "FIRE" (before: "Ice!" and "Fire"). The highest offset for Fire-Pack is $ffff. The default offset is $2500. If you set the offset higher, you will have the same speed for the pure packing, but the short interuptions for setting up the compression tables (like at the beginning of packing when 99% is shown for about 1 second) will occur more often. To be exact, this break will appear every ($8000-offset) bytes, but that doesn't slow down packing too much. But I warn you to set the offset higher, because then packing is as slow as the old Fire-Pack versions (yawn). Now, as long as I haven't done Pack-Ice 3.0, these two packers are still the best packers around. As you know, Fire-Packer is more efficient for bigger files. If a file is bigger than 50kB, you can be almost sure that Fire-Packer is better. When I pack a Sierra file I split the big files (in Codename Iceman each about 1.8 Meg) into smaller files (18kB) and pack them with Pack-Ice AND with Fire-Pack and I always take the smaller file, so the files are half packed with each of the two packers. Then I put the small files together again and create big files again (in Codename Iceman 900 kB). What I want to do to have beter compression is modifying the pack-informations individually for each packed file, so that you get best compression. That would mean changing the tables that are in the pack and depack routines. But every time I think of programming this, I realise that it is too difficult. I hope I will manage to do this one day, because if I will then I promise that no packer will be better. I think that there still are 2 or 3 packers that are better than Fire-Pack (like this unpacking routine Jinx once sent me). Unfortunately I couldn't use it very much, because I would have needed one packed file. I tried to find out how the packer works, but it was impossible without a packed file. Anyway, I won't need it anyway if I have done this improvement for Pack-Ice. Then you won't need Fire-Pack anymore, just Pack-Ice. It will be the same speed at unpacking, but it might take up to twice as long for packing, which will be no problem, because packing is so fast now. Ok, I hope that I can soon offer you the BEST packer. I will keep trying. Bye for now.... Axe . `.. ICE_2_3 PRG wt ICE_UNP3S zt ICE_UNP2S |t ICE_UNPAS t READ_ME TXT t Y ICE_DISKS t `R`Pack-Ice: The best packer on the ST. It is Public Domain. You may use it for packing anything you like. I don't want any donations. Greetings go to all people who use this packer. *O*m - ЭЭ// Bg?<JNA 33aa zaaa Ha`& < a(3~R@gNu <aNu>??<LNAHABBBP (pf|A"0<NBp0:4LNuRrxafx3NuAaJygA`an@0`(A'aa 3f"Aaa|Aa` 3fah` 1gt gn 2fB9JygAja@l|ngpy` A1aXa03l3| gZ ygP nf3`,l3``8ByJygAqa|g`Aaaΰ<yf3v3Jyg?<NATI4A:BgHT?<GNAPJf|\*.*BaTI NAXJNu?<NATNu?<NATNu/< NMXNu/?< NA\NuHz ?<&NN\Nu 8 ##NuHA aa :H@B@H@0 a0 a0 ap:a  @0aH@@0aLNuC :tr€| oA'A0QA =aG HS?< NA\t+gZTxvSBkp#0k o0 W o oph؀XCQ <(e(|dx# Nu/ : # # 3 NueH :ѹ " :$:adaJ@gRHABAHAzVgD3 <99A H@A (aagaf3L#`LNuA ua :":a2da* H@B@H@ 00a.H@a(A DaNuH@HAJ@f JAfH@HANuH@HA`H??<NAXLNua( <43#a?:`a.p0Nu <L|PIz@DADBDCDQ3QPIQ3NuA Pa`Hy?<HNA\Jnp#Nu :3Jk/?<INA\JNuByB <#a z :&"zE#.<|8#zD@DADBDCQQHQLSfpw#QLN[NurQNua*d"ra$dCv !a"H@@Vҩ%QnNuf%Nurf%AQNuCtaTxr1 Hka1 Ag"CvtaTr1 HaBq jD`rptadpt?aBC@!!Q`R   0 Enter name of source file: Enter name of destination file: Could not allocate enough memory Working: P> Crunch another file (Y/n): Relocate program after depacking (Y/n): Additional picture compression (N/y): Please enter the offset (Default: $0000): $ 1) Crunch data file (Default) 2) Crunch executable file 3) Set Parameters Please select: No mem! Verify: OK! Error! [cancelled] Data cannot be packed! [cancelled]DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCCCCCCCCCCCCCCCCCCCCCRemaining: 99%DDDDDDDDDDDDDDDDDDDDDDDDDCCCCCCCCC-~DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCCCCCCCCCCCCCCCCCCCCCTime:  Rate: % [saving] was pressed. File is skipped. Larger than original! [cancelled]Ef ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ | Version 2.31 | { P A C K - I C E } | | { This packer was written by Axe of Superior. } | First version: 14.02.1990 Final changes: 19.02.1991 | { } ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ [0][| What do you wish to pack? | - Data files | - Executable files | - Set Parameters ][ DATA | EXEC | SETUP ][0][| Relocate after decrunch? | ][ YES | NO ][2][| Do you wish to pack | another file?|][ YES | NO | ??? ][0][| Do you wish to use an | additional algorithm | for picture compression? |][ NO | YES ]*\L,,R*  :0x \0v:22   T*N&v2 n;********************************************* Unpackroutine von ICE-PACK ; Eingabe: a0 = Adresse gepackter Daten ice_decrunch_3: link a3,#-120 movem.l d0-a6,-(sp) move.l a0,a1 move.l a0,a4 ; a4 = Anfang entpackte Daten move.l a0,a6 ; a6 = Ende entpackte Daten bsr.s .getinfo cmpi.l #'ICE!',d0 ; Kennung gefunden? bne .not_packed bsr.s .getinfo ; gepackte Lnge holen moveq #119,d1 ; 120 Bytes vor gepackten Daten .save: move.b -(a1),-(a3) ; in sicheren Bereich sichern dbf d1,.save move.l a1,a2 ; Anfang der gepackten Daten lea.l -8(a1,d0.l),a5 ; a5 = Ende der gepackten Daten .move move.b (a0)+,(a1)+ subq.l #1,d0 bne.s .move move.l a2,a0 bsr.s .getinfo ; ungepackte Lnge holen (original) move.l d0,(sp) ; Originallnge: spter nach d0 adda.l d0,a6 ; a6 = Ende entpackte Daten move.l a6,a3 ; merken fr Picture decrunch move.b -(a5),d7 ; erstes Informationsbyte bsr.s .normal_bytes bsr.s .get_1_bit ;; Picture decrunch! bcc.s .no_picture ;; These marked lines may be move.w #$0f9f,d7 ;; removed in your own sources .ice_00: moveq #3,d6 ;; if you do not use the .ice_01: move.w -(a3),d4 ;; additional algorithm. moveq #3,d5 ;; .ice_02: add.w d4,d4 ;; addx.w d0,d0 ;; add.w d4,d4 ;; addx.w d1,d1 ;; add.w d4,d4 ;; addx.w d2,d2 ;; add.w d4,d4 ;; addx.w d3,d3 ;; dbra d5,.ice_02 ;; dbra d6,.ice_01 ;; movem.w d0-d3,(a3) ;; dbra d7,.ice_00 ;; .no_picture movem.l (sp),d0-a3 ; hole ntige Register moveq #119,d0 ; um berschriebenen Bereich .rest move.b -(a3),-(a4) ; wieder herzustellen dbf d0,.rest .not_packed: movem.l (sp)+,d0-a6 unlk a3 rts .getinfo: moveq #3,d1 ; ein Langwort vom Anfang .getbytes: lsl.l #8,d0 ; der Daten lesen move.b (a0)+,d0 dbf d1,.getbytes rts .normal_bytes: bsr.s .get_1_bit bcc.s .test_if_end ; Bit %0: keine Daten moveq.l #0,d1 ; falls zu copy_direkt bsr.s .get_1_bit bcc.s .copy_direkt ; Bitfolge: %10: 1 Byte direkt kop. lea.l .direkt_tab+20(pc),a1 moveq.l #4,d3 .nextgb: move.l -(a1),d0 ; d0.w Bytes lesen bsr.s .get_d0_bits swap.w d0 cmp.w d0,d1 ; alle gelesenen Bits gesetzt? dbne d3,.nextgb ; ja: dann weiter Bits lesen .no_more: add.l 20(a1),d1 ; Anzahl der zu bertragenen Bytes .copy_direkt: move.b -(a5),-(a6) ; Daten direkt kopieren dbf d1,.copy_direkt ; noch ein Byte .test_if_end: cmpa.l a4,a6 ; Fertig? bgt.s .strings ; Weiter wenn Ende nicht erreicht rts ;************************** Unterroutinen: wegen Optimierung nicht am Schlu .get_1_bit:add.b d7,d7 ; hole ein bit bne.s .bitfound ; quellfeld leer move.b -(a5),d7 ; hole Informationsbyte addx.b d7,d7 .bitfound: rts .get_d0_bits: moveq.l #0,d1 ; ergebnisfeld vorbereiten .hole_bit_loop: add.b d7,d7 ; hole ein bit bne.s .on_d0 ; in d7 steht noch Information move.b -(a5),d7 ; hole Informationsbyte addx.b d7,d7 .on_d0: addx.w d1,d1 ; und bernimm es dbf d0,.hole_bit_loop ; bis alle Bits geholt wurden rts ;************************************ Ende der Unterroutinen .strings: lea.l .length_tab(pc),a1 ; a1 = Zeiger auf Tabelle moveq.l #3,d2 ; d2 = Zeiger in Tabelle .get_length_bit: bsr.s .get_1_bit dbcc d2,.get_length_bit ; nchstes Bit holen .no_length_bit: moveq.l #0,d4 ; d4 = berschu-Lnge moveq.l #0,d1 move.b 1(a1,d2.w),d0 ; d2: zw. -1 und 3; d3+1: Bits lesen ext.w d0 ; als Wort behandeln bmi.s .no_ber ; kein berschu ntig .get_ber: bsr.s .get_d0_bits .no_ber: move.b 6(a1,d2.w),d4 ; Standard-Lnge zu berschu add. add.w d1,d4 ; d4 = String-Lnge-2 beq.s .get_offset_2 ; Lnge = 2: Spezielle Offset-Routine lea.l .more_offset(pc),a1 ; a1 = Zeiger auf Tabelle moveq.l #1,d2 .getoffs: bsr.s .get_1_bit dbcc d2,.getoffs moveq.l #0,d1 ; Offset-berschu move.b 1(a1,d2.w),d0 ; request d0 Bits ext.w d0 ; als Wort bsr.s .get_d0_bits add.w d2,d2 ; ab jetzt: Pointer auf Worte add.w 6(a1,d2.w),d1 ; Standard-Offset zu berschu add. bpl.s .depack_bytes ; keine gleiche Bytes: String kop. sub.w d4,d1 ; gleiche Bytes bra.s .depack_bytes .get_offset_2: moveq.l #0,d1 ; berschu-Offset auf 0 setzen moveq.l #5,d0 ; standard: 6 Bits holen moveq.l #-1,d2 ; Standard-Offset auf -1 bsr.s .get_1_bit bcc.s .less_40 ; Bit = %0 moveq.l #8,d0 ; quenty fourty: 9 Bits holen moveq.l #$3f,d2 ; Standard-Offset: $3f .less_40: bsr.s .get_d0_bits add.w d2,d1 ; Standard-Offset + ber-Offset .depack_bytes: ; d1 = Offset, d4 = Anzahl Bytes lea.l 2(a6,d4.w),a1 ; Hier stehen die Originaldaten adda.w d1,a1 ; Dazu der Offset move.b -(a1),-(a6) ; ein Byte auf jeden Fall kopieren .dep_b: move.b -(a1),-(a6) ; mehr Bytes kopieren dbf d4,.dep_b ; und noch ein Mal bra .normal_bytes ; Jetzt kommen wieder normale Bytes .direkt_tab: dc.l $7fff000e,$00ff0007,$00070002,$00030001,$00030001 ; Anzahl 1-Bits dc.l 270-1, 15-1, 8-1, 5-1, 2-1 ; Anz. Bytes .length_tab: dc.b 9,1,0,-1,-1 ; Bits lesen dc.b 8,4,2,1,0 ; Standard-Lnge - 2 (!!!) .more_offset: dc.b 11, 4, 7, 0 ; Bits lesen dc.w $11f, -1, $1f ; Standard Offset ende_ice_decrunch_3: ;*************************************************** Ende der Unpackroutine ;********************************************* Unpackroutine von ICE-PACK ; Eingabe: a0 = Adresse gepackter Daten ice_decrunch_2: link a3,#-120 movem.l d0-a6,-(sp) lea 120(a0),a4 ; a4 = Anfang entpackte Daten move.l a4,a6 ; a6 = Ende entpackte Daten bsr.s .getinfo cmpi.l #'ICE!',d0 ; Kennung gefunden? bne .not_packed bsr.s .getinfo ; gepackte Lnge holen lea.l -8(a0,d0.l),a5 ; a5 = Ende der gepackten Daten bsr.s .getinfo ; ungepackte Lnge holen (original) move.l d0,(sp) ; Originallnge: spter nach d0 adda.l d0,a6 ; a6 = Ende entpackte Daten move.l a6,a1 moveq #119,d0 ; 120 Bytes hinter entpackten Daten .save: move.b -(a1),-(a3) ; in sicheren Bereich sichern dbf d0,.save move.l a6,a3 ; merken fr Picture decrunch move.b -(a5),d7 ; erstes Informationsbyte bsr.s .normal_bytes move.l a3,a5 ; fr 120 Bytes restore bsr.s .get_1_bit ;; Picture decrunch! bcc.s .no_picture ;; These marked lines may be move.w #$0f9f,d7 ;; removed in your own sources .ice_00: moveq #3,d6 ;; if you do not use the .ice_01: move.w -(a3),d4 ;; additional algorithm. moveq #3,d5 ;; .ice_02: add.w d4,d4 ;; addx.w d0,d0 ;; add.w d4,d4 ;; addx.w d1,d1 ;; add.w d4,d4 ;; addx.w d2,d2 ;; add.w d4,d4 ;; addx.w d3,d3 ;; dbra d5,.ice_02 ;; dbra d6,.ice_01 ;; movem.w d0-d3,(a3) ;; dbra d7,.ice_00 ;; .no_picture movem.l (sp),d0-a3 ; hole ntige Register .move move.b (a4)+,(a0)+ subq.l #1,d0 bne.s .move moveq #119,d0 ; um berschriebenen Bereich .rest move.b -(a3),-(a5) ; wieder herzustellen dbf d0,.rest .not_packed: movem.l (sp)+,d0-a6 unlk a3 rts .getinfo: moveq #3,d1 ; ein Langwort vom Anfang .getbytes: lsl.l #8,d0 ; der Daten lesen move.b (a0)+,d0 dbf d1,.getbytes rts .normal_bytes: bsr.s .get_1_bit bcc.s .test_if_end ; Bit %0: keine Daten moveq.l #0,d1 ; falls zu copy_direkt bsr.s .get_1_bit bcc.s .copy_direkt ; Bitfolge: %10: 1 Byte direkt kop. lea.l .direkt_tab+20(pc),a1 moveq.l #4,d3 .nextgb: move.l -(a1),d0 ; d0.w Bytes lesen bsr.s .get_d0_bits swap.w d0 cmp.w d0,d1 ; alle gelesenen Bits gesetzt? dbne d3,.nextgb ; ja: dann weiter Bits lesen .no_more: add.l 20(a1),d1 ; Anzahl der zu bertragenen Bytes .copy_direkt: move.b -(a5),-(a6) ; Daten direkt kopieren dbf d1,.copy_direkt ; noch ein Byte .test_if_end: cmpa.l a4,a6 ; Fertig? bgt.s .strings ; Weiter wenn Ende nicht erreicht rts ;************************** Unterroutinen: wegen Optimierung nicht am Schlu .get_1_bit: add.b d7,d7 ; hole ein bit bne.s .bitfound ; quellfeld leer move.b -(a5),d7 ; hole Informationsbyte addx.b d7,d7 .bitfound: rts .get_d0_bits: moveq.l #0,d1 ; ergebnisfeld vorbereiten .hole_bit_loop: add.b d7,d7 ; hole ein bit bne.s .on_d0 ; in d7 steht noch Information move.b -(a5),d7 ; hole Informationsbyte addx.b d7,d7 .on_d0: addx.w d1,d1 ; und bernimm es dbf d0,.hole_bit_loop ; bis alle Bits geholt wurden rts ;************************************ Ende der Unterroutinen .strings: lea.l .length_tab(pc),a1 ; a1 = Zeiger auf Tabelle moveq.l #3,d2 ; d2 = Zeiger in Tabelle .get_length_bit: bsr.s .get_1_bit dbcc d2,.get_length_bit ; nchstes Bit holen .no_length_bit: moveq.l #0,d4 ; d4 = berschu-Lnge moveq.l #0,d1 move.b 1(a1,d2.w),d0 ; d2: zw. -1 und 3; d3+1: Bits lesen ext.w d0 ; als Wort behandeln bmi.s .no_ber ; kein berschu ntig .get_ber: bsr.s .get_d0_bits .no_ber: move.b 6(a1,d2.w),d4 ; Standard-Lnge zu berschu add. add.w d1,d4 ; d4 = String-Lnge-2 beq.s .get_offset_2 ; Lnge = 2: Spezielle Offset-Routine lea.l .more_offset(pc),a1 ; a1 = Zeiger auf Tabelle moveq.l #1,d2 .getoffs: bsr.s .get_1_bit dbcc d2,.getoffs moveq.l #0,d1 ; Offset-berschu move.b 1(a1,d2.w),d0 ; request d0 Bits ext.w d0 ; als Wort bsr.s .get_d0_bits add.w d2,d2 ; ab jetzt: Pointer auf Worte add.w 6(a1,d2.w),d1 ; Standard-Offset zu berschu add. bpl.s .depack_bytes ; keine gleiche Bytes: String kop. sub.w d4,d1 ; gleiche Bytes bra.s .depack_bytes .get_offset_2: moveq.l #0,d1 ; berschu-Offset auf 0 setzen moveq.l #5,d0 ; standard: 6 Bits holen moveq.l #-1,d2 ; Standard-Offset auf -1 bsr.s .get_1_bit bcc.s .less_40 ; Bit = %0 moveq.l #8,d0 ; quenty fourty: 9 Bits holen moveq.l #$3f,d2 ; Standard-Offset: $3f .less_40: bsr.s .get_d0_bits add.w d2,d1 ; Standard-Offset + ber-Offset .depack_bytes: ; d1 = Offset, d4 = Anzahl Bytes lea.l 2(a6,d4.w),a1 ; Hier stehen die Originaldaten adda.w d1,a1 ; Dazu der Offset move.b -(a1),-(a6) ; ein Byte auf jeden Fall kopieren .dep_b: move.b -(a1),-(a6) ; mehr Bytes kopieren dbf d4,.dep_b ; und noch ein Mal bra .normal_bytes ; Jetzt kommen wieder normale Bytes .direkt_tab: dc.l $7fff000e,$00ff0007,$00070002,$00030001,$00030001 ; Anzahl 1-Bits dc.l 270-1, 15-1, 8-1, 5-1, 2-1 ; Anz. Bytes .length_tab: dc.b 9,1,0,-1,-1 ; Bits lesen dc.b 8,4,2,1,0 ; Standard-Lnge - 2 (!!!) .more_offset: dc.b 11, 4, 7, 0 ; Bits lesen dc.w $11f, -1, $1f ; Standard Offset ende_ice_decrunch_2: ;*************************************************** Ende der Unpackroutine ;********************************************* Unpackroutine von ICE-PACK ; Eingabe: a0 = Adresse gepackter Daten ; Ausgabe: a1 = Adresse entpackter Daten ice_decrunch: movem.l d0-a6,-(sp) bsr.s getinfo ; ein Langwort holen cmpi.l #'ICE!',d0 ; Kennung gefunden? bne not_packed ; nein: nicht gepackt bsr.s getinfo ; gepackte Lnge holen lea.l -8(a0,d0.l),a5 ; a5 = Ende der gepackten Daten bsr.s getinfo ; ungepackte Lnge holen (original) move.l d0,(sp) ; Originallnge: spter nach d0 move.l a1,a4 ; a4 = Zielpuffer move.l a1,a6 adda.l d0,a6 ; a6 = Ende entpackte Daten move.l a6,a3 ; merken fr Picture decrunch move.b -(a5),d7 ; erstes Informationsbyte bsr normal_bytes bsr get_1_bit ;; Picture decrunch! bcc.s not_packed ;; These marked lines may be move.w #$0f9f,d7 ;; removed in your own sources ice_00: moveq #3,d6 ;; if you do not use the ice_01: move.w -(a3),d4 ;; additional algorithm. moveq #3,d5 ;; ice_02: add.w d4,d4 ;; addx.w d0,d0 ;; add.w d4,d4 ;; addx.w d1,d1 ;; add.w d4,d4 ;; addx.w d2,d2 ;; add.w d4,d4 ;; addx.w d3,d3 ;; dbra d5,ice_02 ;; dbra d6,ice_01 ;; movem.w d0-d3,(a3) ;; dbra d7,ice_00 ;; not_packed: movem.l (sp)+,d0-a6 rts getinfo: moveq #3,d1 ; ein Langwort vom Anfang getbytes: lsl.l #8,d0 ; der Daten lesen move.b (a0)+,d0 dbf d1,getbytes rts normal_bytes: bsr.s get_1_bit bcc.s test_if_end ; Bit %0: keine Daten moveq.l #0,d1 ; falls zu copy_direkt bsr.s get_1_bit bcc.s copy_direkt ; Bitfolge: %10: 1 Byte direkt kop. lea.l direkt_tab+20(pc),a1 moveq.l #4,d3 nextgb: move.l -(a1),d0 ; d0.w Bytes lesen bsr.s get_d0_bits swap.w d0 cmp.w d0,d1 ; alle gelesenen Bits gesetzt? dbne d3,nextgb ; ja: dann weiter Bits lesen no_more: add.l 20(a1),d1 ; Anzahl der zu bertragenen Bytes copy_direkt: move.b -(a5),-(a6) ; Daten direkt kopieren dbf d1,copy_direkt ; noch ein Byte test_if_end: cmpa.l a4,a6 ; Fertig? bgt.s strings ; Weiter wenn Ende nicht erreicht rts ;************************** Unterroutinen: wegen Optimierung nicht am Schlu get_1_bit:add.b d7,d7 ; hole ein bit bne.s bitfound ; quellfeld leer move.b -(a5),d7 ; hole Informationsbyte addx.b d7,d7 bitfound: rts get_d0_bits: moveq.l #0,d1 ; ergebnisfeld vorbereiten hole_bit_loop: add.b d7,d7 ; hole ein bit bne.s on_d0 ; in d7 steht noch Information move.b -(a5),d7 ; hole Informationsbyte addx.b d7,d7 on_d0: addx.w d1,d1 ; und bernimm es dbf d0,hole_bit_loop ; bis alle Bits geholt wurden rts ;************************************ Ende der Unterroutinen strings: lea.l length_tab(pc),a1 ; a1 = Zeiger auf Tabelle moveq.l #3,d2 ; d2 = Zeiger in Tabelle get_length_bit: bsr.s get_1_bit dbcc d2,get_length_bit ; nchstes Bit holen no_length_bit: moveq.l #0,d4 ; d4 = berschu-Lnge moveq.l #0,d1 move.b 1(a1,d2.w),d0 ; d2: zw. -1 und 3; d3+1: Bits lesen ext.w d0 ; als Wort behandeln bmi.s no_ber ; kein berschu ntig get_ber: bsr.s get_d0_bits no_ber: move.b 6(a1,d2.w),d4 ; Standard-Lnge zu berschu add. add.w d1,d4 ; d4 = String-Lnge-2 beq.s get_offset_2 ; Lnge = 2: Spezielle Offset-Routine lea.l more_offset(pc),a1 ; a1 = Zeiger auf Tabelle moveq.l #1,d2 getoffs: bsr.s get_1_bit dbcc d2,getoffs moveq.l #0,d1 ; Offset-berschu move.b 1(a1,d2.w),d0 ; request d0 Bits ext.w d0 ; als Wort bsr.s get_d0_bits add.w d2,d2 ; ab jetzt: Pointer auf Worte add.w 6(a1,d2.w),d1 ; Standard-Offset zu berschu add. bpl.s depack_bytes ; keine gleiche Bytes: String kop. sub.w d4,d1 ; gleiche Bytes bra.s depack_bytes get_offset_2: moveq.l #0,d1 ; berschu-Offset auf 0 setzen moveq.l #5,d0 ; standard: 6 Bits holen moveq.l #-1,d2 ; Standard-Offset auf -1 bsr.s get_1_bit bcc.s less_40 ; Bit = %0 moveq.l #8,d0 ; quenty fourty: 9 Bits holen moveq.l #$3f,d2 ; Standard-Offset: $3f less_40: bsr.s get_d0_bits add.w d2,d1 ; Standard-Offset + ber-Offset depack_bytes: ; d1 = Offset, d4 = Anzahl Bytes lea.l 2(a6,d4.w),a1 ; Hier stehen die Originaldaten adda.w d1,a1 ; Dazu der Offset move.b -(a1),-(a6) ; ein Byte auf jeden Fall kopieren dep_b: move.b -(a1),-(a6) ; mehr Bytes kopieren dbf d4,dep_b ; und noch ein Mal bra normal_bytes ; Jetzt kommen wieder normale Bytes direkt_tab: dc.l $7fff000e,$00ff0007,$00070002,$00030001,$00030001 ; Anzahl 1-Bits dc.l 270-1, 15-1, 8-1, 5-1, 2-1 ; Anz. Bytes length_tab: dc.b 9,1,0,-1,-1 ; Bits lesen dc.b 8,4,2,1,0 ; Standard-Lnge - 2 (!!!) more_offset: dc.b 11, 4, 7, 0 ; Bits lesen dc.w $11f, -1, $1f ; Standard Offset ;*************************************************** Ende der Unpackroutine Hello members of Superior (Wanderer, Jinx, Jabba), here is the newest version of Pack-Ice and of Fire-Pack. Both have the new unpacking routines included. The files in the Pack-Ice folder are: - ICE_2_3.PRG Pack-Ice version 2.3 - ICE_UNPA.S Unpacking routine. Original Data is at address A0 and the destination is A1 - ICE_UNP2.S Unpacking routine. Packed data is at address A0 and the data is unpacked to this same address. The 120 bytes buffer is no longer neeed, but instead 120 bytes are temporarily reserved on the stack. There haven't been many great changes in Pack-Ice, but Fire-Pack was enhanced with the shell and the fast packing algorithms. To notify changes, I changed the Ice!- and Fire-identifications for packed data to "ICE!" and "FIRE" (before: "Ice!" and "Fire"). The highest offset for Fire-Pack is $ffff. The default offset is $2500. If you set the offset higher, you will have the same speed for the pure packing, but the short interuptions for setting up the compression tables (like at the beginning of packing when 99% is shown for about 1 second) will occur more often. To be exact, this break will appear every ($8000-offset) bytes, but that doesn't slow down packing too much. But I warn you to set the offset higher, because then packing is as slow as the old Fire-Pack versions (yawn). Now, as long as I haven't done Pack-Ice 3.0, these two packers are still the best packers around. As you know, Fire-Packer is more efficient for bigger files. If a file is bigger than 50kB, you can be almost sure that Fire-Packer is better. When I pack a Sierra file I split the big files (in Codename Iceman each about 1.8 Meg) into smaller files (18kB) and pack them with Pack-Ice AND with Fire-Pack and I always take the smaller file, so the files are half packed with each of the two packers. Then I put the small files together again and create big files again (in Codename Iceman 900 kB). What I want to do to have beter compression is modifying the pack-informations individually for each packed file, so that you get best compression. That would mean changing the tables that are in the pack and depack routines. But every time I think of programming this, I realise that it is too difficult. I hope I will manage to do this one day, because if I will then I promise that no packer will be better. I think that there still are 2 or 3 packers that are better than Fire-Pack (like this unpacking routine Jinx once sent me). Unfortunately I couldn't use it very much, because I would have needed one packed file. I tried to find out how the packer works, but it was impossible without a packed file. Anyway, I won't need it anyway if I have done this improvement for Pack-Ice. Then you won't need Fire-Pack anymore, just Pack-Ice. It will be the same speed at unpacking, but it might take up to twice as long for packing, which will be no problem, because packing is so fast now. Ok, I hope that I can soon offer you the BEST packer. I will keep trying. Bye for now.... Axe opt o+,ow-,a+ ; Optimierung einschalten start: movea.l #stackend,sp move.l sp,d0 subi.l #start-$120,d0 move.l d0,-(sp) pea start-$100(pc) clr.w -(sp) move.w #$4a,-(sp) trap #1 adda.w #$c,sp bsr.s super move.l $84.w,old_trap1+2 ;store & change TRAP #1 vector move.l #my_trap1,$84.w bsr.s user pea null(pc) pea null(pc) pea file_name(pc) move.w #0,-(sp) move.w #$4b,-(sp) trap #1 lea.l 16(sp),sp bsr.s super move.l old_trap1+2(pc),$84.w bsr.s user clr.w -(sp) trap #1 null: dc.l 0,0 file_name: dc.b 'datafile.del',0 ; nachgeladenes Programm (pexec) EVEN super: clr.l -(sp) ;supervisor state move.w #$20,-(sp) trap #1 addq.l #6,sp move.l d0,d7 rts user: move.l d7,-(sp) ;user state move.w #$20,-(sp) trap #1 addq.l #6,sp rts my_trap1: movea.l sp,a0 btst #$d,(sp) bne.s supervisor move.l usp,a0 subq.l #6,a0 supervisor: addq.l #6,a0 cmpi.w #$3f,(a0) ; read beq.s func_3f old_trap1: jmp 0.l func_3f: move.l 8(a0),puffer move.l 2(sp),ret_addr5+2 ; Returnadresse move.l #read,2(sp) bra.s old_trap1 read: tst.w 2(sp) bmi.s ret_addr5 ; device handle->do nothing movem.l d1-d7/a0-a6,-(sp) movea.l puffer(pc),a0 ; Puffer bsr.s decrunch movem.l (sp)+,d1-d7/a0-a6 ret_addr5: jmp 0.l ;********************************************* Unpackroutine von ICE-PACK include ice_unp2.s ;*************************************************** Ende der Unpackroutine section bss puffer: ds.l 1 ds.b 500 stackend: ds.b 20 . `.. POMPEY PRG gt **DEPACK S jt POMPEY RSC mt @ PPUNPAC2S pt `&td&o.|# t + ЫЫ// Bg?<JNAO a t3&&p a&23 pMa&&3 da 3(LpNa&a *# (zpna%J@g Ppa# pa## (zp6a%pa/<?<HNA\kd(#&^/pGaap"a |#%p#a p#%p$a dR#%p%a VR#%p&a H#&p'a <#&p(a 0#& p)a $#&pa #&pa #&#"G Ra $#" Ga #"a y0<a ## (z3(L3)(N3 (P3 (R3 (T3 (Vp*a$p# (z3(Lp2a$X3 fa09 faj09 fal09 f @g @ g @g* @ g @g @*g @-g @.g!`p aNAX0<*aa0<!aL`B?< NA/@ L$LX, $ (Jp,|@> gtnae `8xvaff4`ald:ahdaderaBRB`aRex6<aTf:DV6a"J!Q`f Nuxrtf BQ2RAISAfNurtf BQNua6t`v `a>H |"<p QaLNuH hBP LNuH LNu3(L# (zp4a`83(L# m(zp4a`?9?<>NAX3(L#[(zp4ad g` <$9&f#"@#"D#"HaJkD y&^ aJk2A <aJk` y&^ "HaJk?9?<>NAXkNuBBy&(ByByByByBy" By&$#&&^a0<"a0<#aa`BA A #*.*#*.*aNAX3(L#[(zp4a g`3(L#~(zp4a`EA"H .frr  ҀpXgQ`By`3NuHJyfa?<ONATJ@j 3`fCG$I y&VAfA"H .fpr  @ PfBy`pXgQ`By`3ByLNuHy?<;NA\J@g3(L#:(zp4apNu/rd46H@HAAH@B@Ђ"ardNucNgc "pNurpNu$BBHBR&("a,"€"$HBHB҂b Db$R`S`HB@H@40H@r20H@4Nu~Ha@A409g"Ǟ@S@r00Qr0SGoQLNut&3"C"#B  B@m"B@kRA @`p0 afH@a` ' aLH@a@ 'H@a*H@daH@ a H@aNugt`gRyNuH&n$y%ap"a4LNuH J&^$y%ap#aLNuBgHy?<=NAPJk3/9&n/<?9?<?NAO Jk, y&n#&Z?9?<>NAXko#&fJy&"f4 y&nprYҀ AgjYҀ AgVAr"y%f$y& y&fap&agFM0pgR@ @mdtNu6pa<paNu @<paNu<{paNu&9! na$a6a TNu&9! n|azaaaVNud tNuNudtNu&9! nBa@<pa(XNua2<paZNu6SCa <paNuKdtQNuH Cnpav`" Cnpav` Cnp av`pavpaLxNuH Cnpav`" Cnpav` C?npav`pavpazLxNu gBNuB?< NA\/ yVpJgQ! &H?< NA\NuH@"y"JQf 3" 2LNuB?< NA/@BNA\Nu$y&^(y&rI `,`*o$|B?< NA/@ L&JY(JY,|@: gtae `6xva|fb4`ahd6adda`eraBRB`aNex6<aPf6DV6a"J!Q`f Nuxrtf BQ2RAISAfNurtf BQNua6t`v `   W(  v  }        ! !  !! ! 0 +"*  #L$h% &  '()* !,, H-d . %  0 (    % ( ; Position independent unpacking routine for Pompey Pack v.1.5. ; usage: A0 beginning of packed data ; D0 is the lenght of packed data. ; After unpacking this will return original lenght in D0. ; This routine is especially to use with normal fileloading files unpack movem.l d0-d7/a0-a6,-(a7) add.l d0,a0 CMPI.L #$504F5049,-(A0) BNE.S L21104 move.l -(a0),(a7) ; unpacked lenght of data BSR.S L21116 L21104 movem.l (a7)+,d0-d7/a0-a6 RTS L21116 add.l #8,a0 MOVEA.L A0,A3 SUBA.L #$C,A0 SUBA.L (A0),A3 MOVEA.L A3,A2 ADDA.L 4(A0),A2 L21132 MOVE.B -(A0),D0 BEQ.S L21132 L21136 MOVEQ #0,D2 BSR.S L211B8 BCS.S L21150 MOVE.B -(A0),D2 L21140 MOVE.B D2,-(A2) BRA.S L2117A L21144 MOVEQ #$F,D4 MOVEQ #2,D3 BSR.S L211C4 BNE.S L211AC MOVE.W D4,D2 BRA.S L21140 L21150 BSR.S L211B8 BCC.S L21188 BSR.S L211B8 BCC.S L21144 BSR.S L211B8 BCS.S L2116A MOVEQ #2,D1 BSR L211E6 EXG D1,D2 ADDQ.W #1,D2 BSET D1,D2 BRA.S L21140 L2116A BSR.S L211B8 BCS.S L21184 MOVEQ #$F,D4 MOVE.W #3,D3 BSR.S L211C4 BNE.S L211AC MOVE.B (A2),-(A2) L2117A CMPA.L A2,A3 BLT.S L21136 RTS L21184 MOVEQ #4,D3 BRA.S L211AA L21188 BSR.S L211B8 BCS.S L21200 MOVEQ #1,D1 L2118E LSR.B #1,D0 BNE.S L21196 MOVE.B -(A0),D0 ROXR.B #1,D0 L21196 ADDX.W D2,D2 DBF D1,L2118E MOVE.W D2,D1 BEQ.S L211F8 ADDQ.W #1,D1 ADD.W D1,D1 SUBQ.W #1,D1 BSR.S L211E6 MOVE.W D2,D3 L211AA BSR.S L211C2 L211AC MOVEA.L A2,A1 ADDA.L D2,A1 L211B0 MOVE.B -(A1),-(A2) DBF D3,L211B0 BRA.S L2117A L211B8 LSR.B #1,D0 BNE.S L211C0 MOVE.B -(A0),D0 ROXR.B #1,D0 L211C0 RTS L211C2 MOVEQ #0,D4 L211C4 MOVEQ #1,D1 MOVEQ #0,D2 L211C8 LSR.B #1,D0 BNE.S L211D0 MOVE.B -(A0),D0 ROXR.B #1,D0 L211D0 ADDX.W D2,D2 DBF D1,L211C8 MOVE.W D2,D1 ADDQ.W #1,D1 LSL.W #2,D1 SUBQ.W #1,D1 EOR.B D1,D4 BNE.S L211E6 RTS MOVEQ #7,D1 L211E6 MOVEQ #0,D2 L211E8 LSR.B #1,D0 BNE.S L211F0 MOVE.B -(A0),D0 ROXR.B #1,D0 L211F0 ADDX.W D2,D2 DBF D1,L211E8 RTS L211F8 BSR.S L211C2 MOVE.W D2,D3 MOVEQ #1,D2 BRA.S L211AC L21200 MOVEQ #1,D3 MOVE.B -(A0),D2 BRA.S L211AC ~?߿??~????9~ 9> 9> 9 9> 9> 9~ 9> 9> 9 9> ? ? ???????????3?_????<@@}?????@@{{px{????? ‡@@{zy{??* 10c11??<(~TTHG??PPofoo???? @@o????* \>??<(TT~<|????PPv???? €BB8w{????* d߇????(p~X;0????!~p0 LH??zpp88???g ;???p~|<;=???x<x  ?????0`00?????ퟥ@B@``???j`n`?<p~~??? ? Cdp???? @Ac`????p????? <x~~???axxpw{???0|| `???`zz9??? x~~?;=??݈݈!????????~~??yy??????