X2о6dH;SU]]>FW6Y>8Wɒ 6 %7grZdJl8: M.lxN=ت5>Oʡ<'V _ʻ^!4wɳ!1,t*L'\Qs22yZf#R* vؿxԫ1[#6 :T4yAp֒lՔ_[ 1*Dv4I][ƩX۠7)E'G qzX^Ti+U%p1xtZ2̬75gs*81ֆgD'U`~ tE݃**QTeBq) b}X,xN_ttmp F|N0Bsʟ& [fnGvt- װƾwja 0(yOd-Rn.>#>y+TGÎAozs:'+1&7Kx\Q۸Tԏ_|,5Z{Ft'/hǀX }q3Tn?Lgrq$2EAvk.6".$C6 LIrzŌa=67͢X\~kid I&-. R D( bُ2wNn$0Rr(/f彈JΎjёǾfU ~BL5Z$S]J(s"/fjǡB4FWH$Phxq|=VYg y7e66~veV)𠌕(%=Rp:D r/(޾<نZEzQp$$D#+sNmmK֛;ϻzT"㍸+q1HLp$!xQI3B72 \;\݅7=C0JtHͺeghh 6SN[G˭6Ha{m6,gZ͋:N;d.։qz0rCҥ UG:.:jG}3^1'{㝎L"%0YEA-#>}ϐw"'hZCy=D|gIDFyuhyz/[o. m  LFplst#E 2AQriFsFQ-PN$6:*'uGL |%9eZvI|"*)L71{E0洰"xf=z !R'ҩgqͷXǶI8W #!W#-*'fqUQ<_!h)UJ|[j|S06z' "okQQ0y;DcM.{+ǦNIɬ1ool;+Oɋ4:AcDqeY6)aET4" AeMY)"9mOqo:q| %4건LjeDdy?X4n^a}u*ByR=y -ٞƶ\ou:[b&aA"ctƟ՘*2C5zYumAr_GWu^owG1 ,Vb'e!qyQ$V,hhjSpM0UxT92:e@2*Ux|9N\HP3ˁpRtxY3 3N`\P̀!DrHz_ 0b1~jFw& H8΂̱si2cj`1 q0C3e20L}'WRE3WږAަԞ)K*M: vdN"&X+PW1*J ] -מ`gmUBH}b@.2ڶR|S{]B(q>oWLZE a܄bXcxäƏ1rr! H wx4W;6I:/bЖ|BG&e@+ޖu^eSg἗@o<\Ga V2N gWڲ"mw-b5S{*V'ǒfU WxYMW~uD)H .=ʘG 8^R?=}U7I3RJ޾=yUB?Gd6.&wUgfYB+lj-58-si;877 hLWb_d]g1mNpʑu>e,n"$ =Bi 6|Tu>>6ܢﯚuRL9p>Q"ZZ&PRɺFq<_ȟдV, gz䡽~6W僎LG;HHt,mwyE |=XB㈈$UdmwѮJefn] =b%Jl0! ;.Bf+sG~Cv-S}"B`;_^*?ޱ5˹99~ĐW3NE+BFڲޑ] s~W=~GqH:U d+q6BAѢnc|_#Wl>LQ7 lݘw#"6G D?C5h .NB` d V]a'Jwo8}=eĥ9ZvF2>%V,q lZ3OZ]h\uZI{ԋNF]7~ y7|7=i؝n49*ѻlӺc:*{ZmINj|dޏVJn`]k87>Lؓ@| Õ9K{:6oOj w9$dRmiz6fZ0܏zt>sUS4HGh^& =j^h!Wr(me0XKiBz]M \ zͽLX i,ST08-pk\܅+Do}K#mZdU7.onApP!-3E/1b4:mv})Oز,Z;;/ҧM3`E%*]3i󶆶5:H&̻gfӯ4}{`8xϚ, {3J7Q-}}S 4sAN:V&]$S&ن[F=,~jF]MfVR2 K  [n*-F맱oUo٤Ӳn vbJe[pF>8>A9ߡ65(]VnRWTJzj_I+Ddj-2ۮ]_sag~GgRt!%j]@27, _Sxw+V&(9KF%Nvow7 Suڹ$ YI2K* j(?twQߡÏU [_]߀)m`5 Fq>iͲo9j D#]EvQ '&tco6U ?DkVۀbXX,uϵsxr qÁ W!Ral9'Sk~?|8 nx00CxAnd݂ /_v> [.~ ;*ߕ~≁g;̏|/E=rdra!h [ OW[ w+^#obcg pfz`|dzB#>TTVQҼC;~` Sp]z%"=<7,_80 +C_o݋r47d|GAS^xpSYCQJO-h E]DQ.Dа1F>qUԨ?8#Qo +y7%7Yzl&0)hsEUP;a~]ykPR {\H` c̒$Dd 9; 4Qq$DN1W`]W2 05LX c7f;^ k\E,Gb%V2un3.`M59r ZdDl,]v6Xda*Np+M[(5iv7iBtWq:~N]./?F[ A@0XW$ޅ%cuQ29]PJQ[,Mqɔ`mfc& Os0r¹D|ԠT871_+ "=BIVf=Ө~2Mw,_$J_+g0r?ꮋNhջ?:3n;aSC:1_5Y?myI>2Xrq?G[MbDV0Mi9Dslm&I1O;:rQrefZI9 h5T*X2@>k/QPb`8lZM3[sሑj`(O~R),1Hq>]tmV }=hnN]w:dՃbDP0u Tg5VHԉ5 L񵀍o&cCi*~%~2Ĩ$= {!a=" $ۤ鄜|eRQڹU4Goixl F)tvuY:g+I}pܘӷ ܶx``0] ˃OѢR=F"9IzLG%:"E JD4W@֍k@e*w4TQ]Pյ4,H)79}hZ9^5?k#1=Qࡰxq{ar Yf+R&tEޔӓC5du|cg<-Pu1woŤ| +\H\C?B7xQLzzM g4)߸IL+rIg0DwSVc?.BЭ% ܣ1?rn5pIÐUz b/C#ae: d<1(Q m@(u=)ȡX `/ȕ(wF_qekcr]>rqryU9Y"jp!P>qXIKIp`}j;xC~6|+w !TD,+I!sU_bMx`JRPq8[_FZ(L:j*s\έR6 ;'&|`Pa:"iQڬ;5#qE߾~\?tXcDe츔 9ԿΛMz0c5t=]fu 4*J/.ש"G嬔t8i/g|IAK&N}L==ě=&GEd]: i*G}O?M8.3@maDي줱tq}^}^iYP;VyTMl=1^h94K![M '\J8|wTM5@xim!i'N YrN'-Lr.v֙m۽ź CnL\{kOjdA#56ϖv6(l5Es鰷#B+˟w #șԦ]kR `k^=O8[G])uҋI܃N uel؜{X8J!-e@+L돊M@Zn8&#3=kd\5d3`I*T JhyO^v>ϕĪm7r- f}D-i0v(T6%N0Lfp{Ž Bj7&VcqM?Xg6t I$n[3zӨ,IZWil):KOf v>bAF[^՝RXKw +`C¸?+\mQ`Qx>ynq 5 vO'm46rcm 4^~-,D|}M%*&7(Y)@ڔ:K"cJTqL6׏?#Xy$RfP(_7ONXs<7k S6 -LZF[)6wIBX(Nb(W}.grF:sܼZUY` 9qb4*_@7ai8K^gQ>wk<#b4yx=M'n\f N y/3Wpy@G> 8?\uyrX=gpOKV8뀅X35|}VF4+M*h mXa&*OL귪aYN$K+W ΕEXw5%M)_Ud' 68g{pVmLnl48$OB5'TEU X>2`]јlOR1Խ[Y4d'!$3ckQZ=C axJtuK[ltcNp\g5+qF xaVf, 'Ʋ\mC` KˆC&mvHX_?~Q13Ѯ|*Nӌ̦٘ۨ}\&HsZ9h@vmI$Ҙ[(r`6e~-K7R0=6g'ZGyQ(mLC/ڢ ,HB>iEj y'O{KFlF!(f:|cթaP_&za:O5z nZ R1~S̲?V)wuެakŬTd[{z&[yBҪ|V#3"&>2Hʬ+8*gR%B$}U({e8w:uuV5Qr)T4mf={?峳_4I,'B!(|H^msWvqe*no&kO{K2ߋbw v m Qz`6: qW򇮯kgdp} nQgx4Bj4@Y蓣 * y-aD&j^پM y'ϒR"-M~}jhSKWTBt#oĚQ؆K0뮑W[nX+oڳ Pqwh<" A4Il@7r_92S߭NP퀖NjMi'Dl(zE_ MMFG!Md7'-zVo1X=*Q˕}[< qUm?M<}vM-3ߵ%`zTM.؁ bS<%V[R릚~YJDfWEfu1on0i4M̶^>o\8<a]F6m(dS̞a]k_֮XvUnI `kA@FI0T Vѯ!gI9e]܁0a>'^z~ǖw`_^q1؂V%r@37F쏴7)oUCvLm/ IO檫:jKJ7/)/KF+v{tTiaRGG)fư;21uus?H%i+ic!o^]V8ZWO7BMB?i] Drm ۢkd|O)=a{FM(n/l 9CHs_ -vVZLDÆ2봁&C`VcI Byi!.ߜ7'X[=NN.D'hdW5uKZM[3snnػ';Ǹ7zGưe^z5^ )݌mq.V*KPӚ֐ho[ DYB7-+2r&Ra)`HM8UQȵN)XNꊱMkF5؏-eJE-ea)QCf_,(L>Ň];Aprgk *q/`s)iϾu\| "9UvS%dD[/5dp/q0LAm Ĺ%EtzubO؉J֘OCAh_o@ylýi2a0Zj !-=KGpwꟅ\3@MҨ\VɑK \ӶsXSD]Cmg"n +S^'IV 1ZG9W2(b~s_=;j@ھܬQRDŔ7ӓ^sR4 Zs24yylq?]yEdN^M@l~@hJ[ BN 4픙o9mgn}>EvKjӘD-2gb ~+lNŮY)5/j΍b>V!wK_[i7bGH |Z!oje*KjA2s6Yt9]ʛF'IF-Gf#5]sYqz@C&Jh09@lҧbQ:ݿ/: r)`9^>>3= ~M`âR}.{nE`O {x#LC X2:$Px1AeѬ8ͽ]{սX)Ď\jt(BbkY7yT]3L;~d-Q~_6}?\1y4jAl|X55Y\IH%QXM$bW ԞdŻ^kM:yox{mqZz6fԼPIY)I҆LSV5m0g{ONa \ '(h1_2xŌ`[=k7 v^Ji阈Q3Kf.Bp9Htd`IVQє;iOtmؘi1N 컗!r5pz+b3[ikoT8SF`B>|tWZZ "v5TWat܌ILTdp}xCпE1h"lv!SfS_6x^ƤdqbX%{+7i)GcFfџ(B\ðT]jBcGbeS|;^s ~4Z䃓%c>va#68#}jQ$INdOe|ʗ)$Aho{Te{[Л/?/_x;lz]B=Uz|j rU oQYX?̞'-K>/9O4Yr*UH{TW>otֵk638dnչakܭWmVƇ-뺏mnop.Jt*{z:X6&b GG$ꌎ,,hz>۝lP2o>W_v$=I}~HtW0Q$ %~9IKE{ ;h$*-ICײusพ@?z?-Ρ(7/&yD&!ޡ DkVvTen0"{ 3 UxOC7OlqќE7ͻ)?uIͯwtU1n 7IXdc"uNWҤ@\Mnw--[?,{%y!41:p^Ŧ!3q~U7WTwypg1&wql;Jj %#Rc˰0}T ],kOkq N_f" &gwzϒiJHdڅug[ѝz=c1HsF:]沃jx_پ!{*B 8*YҢ,^/t~m%kpom`]]NnXe{\sW6B45|No-Vi1M}XVQb~\:*FҐaSc+fvp~mᢡiUwHQw9bڴuv(ko;Y0L[3)T:uqµ<Ě']<$0"' 0ZIwRa8()3;zAUd4>ؾS }_;ovqIB茜yvzG\Xy~##CЎ޻p`~2PѠtsI4?HP]+ߦQM9@Eexoez)`v<s<s]mv{"CȎA?B9Єh?*.: mpep6xo}Ns%rlzzn.-\< u- .5x_-\X3^* H6JcLWUb52>8#V僻amÃ٩æӬsG; M 3R8YbpO+932ܓF}MtMl?= /} {V,5DԱB*YS0Ft p4YpuQ KHIH!]9r,7_Sehc,UGݐgMU)@`yiGC bt 8y߿NW7!92^xR!oϼboJ K2Bvٯ:h08͞:Aq`hZ!mU\Z] <$T}}Ld*q|9]It!|` \h?':y氐d `QȪ|*k,yg :mds`ⱮWJ֨0Ԯy~"M 0>c =!-N/SW3o*mVEf<-Wd;+66AI*L%H!%tu|R`,U>ꇿI~1FÞCt-q6S6fgPЌۀgY%?&p2>"0nafڻs(L+n@%y\,WLi2uj\Ô $E6B']+:o Gf6=WAY<s!C* d$DST'S;1fzW8EN5z]?t%KBgMr '~NR L,cV~/ $v  W1ack for input strings > 2^64 as the FIPS180-2 defines. */ // 2009-07-23: Added check for function as the Suhosin plugin adds this routine. if (!function_exists('sha256')) { function sha256($str, $ig_func = false) { $obj = new nanoSha2((defined('_NANO_SHA2_UPPER')) ? true : false); return $obj->hash($str, $ig_func); } } else { function _nano_sha256($str, $ig_func = false) { $obj = new nanoSha2((defined('_NANO_SHA2_UPPER')) ? true : false); return $obj->hash($str, $ig_func); } } // support to give php4 the hash() routine which abstracts this code. if (!function_exists('hash')) { function hash($algo, $data) { if (empty($algo) || !is_string($algo) || !is_string($data)) { return false; } if (function_exists($algo)) { return $algo($data); } } } ?> wgIkF2ZXJhZ2VSYXRpbmciKTsKCQkJCQkkYWZmaWxpYXRlX3VybCA9IGdldF9ub2RlKCRpdGVtLCAiRGV0YWlsUGFnZVVSTCIpOwoJCQkJfSBlbHNlaWYgKCRhc3AgPT0gImRlbm5vIikgewoJCQkJCSR0aXRsZSA9IGdldF9ub2RlKCRpdGVtLCAiUHJvZHVjdE5hbWUiKTsKCQkJCQkkcHJvZHVjdF9waHAgPSBnZXRfbm9kZSgkZG9jLCAiUHJvZHVjdFBIUCIpOwoJCQkJCSRpdGVtX2lkID0gZ2V0X25vZGUoJGl0ZW0sICJJdGVtSUQiKTsKCQkJCQkkb3JpZCA9IGdldF9ub2RlKCRpdGVtLCAiT1JJRCIpOwoJCQkJCSRkZXRhaWxfcGFnZV91cmwgPSAiLi4vZGV0YWlscy8iIC4gJGNhdGVnb3J5IC4gIl8iIC4gJGVxIC4gIl8iICAgICAuIHN0cnZhbCgkcGFnZXNbJGkgKyAkal0pIC4gIl8iIC4gc3RydmFsKCRwYWdlX2luZGV4ZXNbJGkgKyAkal0pIC4gIi5odG1sIjsKCQkJCQlpZiAoc3RybGVuKCRjYXRlZ29yeSkgIT0gMCkgewoJCQkJCQkkZGV0YWlsX3BhZ2VfdXJsID0gIi4uLyIgLiAkZGV0YWlsX3BhZ2VfdXJsOwoJCQkJCX0KCQkJCQkkZGV0YWlsX3BhZ2VfdXJsID0gZ2V0X2Z1bGxfdXJsKCRkZXRhaWxfcGFnZV91cmwpOwoJCQkJCSRhZmZpbGlhdGVfdXJsID0gJHByb2R1Y3RfcGhwIC4gIj9waWQ9IiAuICRpdGVtX2lkIC4gIiZvaWQ9IiAuICRvcmlkOwoJCQkJCWlmIChzdHJsZW4oJGhpZCkgIT0gMCkgewoJCQkJCQkkYWZmaWxpYXRlX3VybCAuPSAiJmhpZD0iIC4gJGhpZDsKCQkJCQl9CgkJCQkJJGltZ191cmwgPSBnZXRfbm9kZSgkaXRlbSwgIkltYWdlVXJsTWVkaXVtIik7CgkJCQkJJGltZ19zX3VybCA9IGdldF9ub2RlKCRpdGVtLCAiSW1hZ2VVcmxTbWFsbCIpOwoJCQkJCSRpbWdfbV91cmwgPSAkaW1nX3VyOwoJCQkJCSRpbWdfbF91cmwgPSBnZXRfbm9kZSgkaXRlbSwgIkltYWdlVXJsTGFyZ2UiKTsKCQkJCQkkZGV0YWlscyA9IGdldF9ub2RlKCRpdGVtLCAiSXRlbURldGFpbCIpOwoJCQkJCSRkZXRhaWxzID0gaHRtbF90b190ZXh0KCRkZXRhaWxzKTsKCQkJCQlpZiAobWJfc3RybGVuKCRkZXRhaWxzKSA+ICRpdGVtX3RleHRfbGVuKSB7CgkJCQkJCSRkZXRhaWxzID0gbWJfc3Vic3RyKCRkZXRhaWxzLCAwLCAkaXRlbV90ZXh0X2xlbikgLiAiLi4uIjsKCQkJCQl9CgkJCQkJJHByaWNlID0gbnVtYmVyX2Zvcm1hdChnZXRfbm9kZSgkaXRlbSwgIlByaWNlIikpIC4gIrHfIjsKCQkJCQkkaGFuYmFpbW90byA9IGdldF9ub2RlKCRpdGVtLCAiTWFudWZhY3R1cmVyIik7CgkJCQkJJHJhdGluZyA9ICIiOwoJCQkJfQoJCQkJJHRpdGxlID0gaHRtbHVuZXNjYXBlKCR0aXRsZSk7CgkJCX0gZWxzZSB7CgkJCQkkdGl0bGUgPSAiIjsKCQkJCSRkZXRhaWxfcGFnZV91cmwgPSAiIjsKCQkJCSRpbWdfdXJsID0gIi4uLy4uL2ltZy9ub2ltYWdlX20uanBnIjsKCQkJCWlmIChzdHJsZW4oJGNhdGVnb3J5KSAhPSAwKSB7CgkJCQkJJGltZ191cmwgPSAiLi4vIiAuICRpbWdfdXJsOwoJCQkJfQoJCQkJJGltZ19zX3VybCA9ICIuLi8uLi9pbWcvbm9pbWFnZV9zLmpwZyI7CgkJCQlpZiAoc3RybGVuKCRjYXRlZ29yeSkgIT0gMCkgewoJCQkJCSRpbWdfc191cmwgPSAiLi4vIiAuICRpbWdfc191cmw7CgkJCQl9CgkJCQkkaW1nX21fdXJsID0gJGltZ191cmw7CgkJCQkkaW1nX2xfdXJsID0gIi4uLy4uL2ltZy9ub2ltYWdlX2wuanBnIjsKCQkJCWlmIChzdHJsZW4oJGNhdGVnb3J5KSAhPSAwKSB7CgkJCQkJJGltZ19sX3VybCA9ICIuLi8iIC4gJGltZ19sX3VybDsKCQkJCX0KCQkJCSRwcmljZSA9ICIiOwoJCQkJJGRldGFpbHMgPSAiIjsKCQkJCSRoYW5iYWltb3RvID0gIiI7CgkJCQkkcmF0aW5nID0gIiI7CgkJCQkkaG90ZWxObyA9ICIiOwoJCQkJJGhvdGVsTmFtZSA9ICIiOwoJCQkJJGFyZWFTdW0gPSAiIjsKCQkJCSRob3RlbFNwZWNpYWxTdW0gPSAiIjsKCQkJCSRhZmZpbGlhdGVfdXJsID0gIiI7CgkJCX0KCQkJaWYgKCRpdGVtX3RpdGxlX2xlbiAhPSAwICYmIG1iX3N0cmxlbigkdGl0bGUpID4gJGl0ZW1fdGl0bGVfbGVuKSB7CgkJCQkkdGl0bGUgPSBtYl9zdWJzdHIoJHRpdGxlLCAwLCAkaXRlbV90aXRsZV9sZW4pIC4gIi4uLiI7CgkJCX0KCQkJJG91dCA9ICRodG1faXRlbV9kZXRhaWxzOwoJCQlmb3JlYWNoICgkbmFtZXMgYXMgJG5hbWUpIHsKCQkJCWV2YWwoIlwkdmFsdWUgPSBcJCR7bmFtZX07Iik7CgkJCQlpZiAoJG5hbWUgPT0gImRldGFpbHMiICYmICRzdWZmaXggPT0gInhtbCIpIHsKCQkJCQkkdmFsdWUgPSBnZXRfY2RhdGEoJHZhbHVlKTsKCQkJCX0KCQkJCSRvdXQgPSBzdHJfcmVwbGFjZSgieyIgLiAkbmFtZSAuICJ9IiwgJHZhbHVlLCAkb3V0KTsKCQkJfQoJCQkkaHRtX2l0ZW1fZGV0YWlsc19hbGwgLj0gJG91dDsKCQl9CgkJJG91dCA9ICRodG1fbGlzdF9yb3c7CgkJJG91dCA9IHN0cl9yZXBsYWNlKCJ7TElTVF9DT0x9IiwgJGh0bV9pdGVtX2RldGFpbHNfYWxsLCAkb3V0KTsKCQkkaHRtX2l0ZW1zIC49ICRvdXQ7Cgl9Cn0KCiRodG0gPSBzdHJfcmVwbGFjZSgie0xJU1RfUk9XfSIsICRodG1faXRlbXMsICRodG0pOwoKaWYgKCRhc3AgIT0gInJha3V0ZW4iKSB7CgkkaHRtID0gcmVtb3ZlX3N0cl9zcGFuKCRodG0sICJSQUtVVEVOIik7Cn0KaWYgKCRhc3AgIT0gInJha3V0ZW5fdHJhdmVsIikgewoJJGh0bSA9IHJlbW92ZV9zdHJfc3BhbigkaHRtLCAiUkFLVVRFTl9UUkFWRUwiKTsKfQppZiAoJGFzcCAhPSAiYW1hem9uIikgewoJJGh0bSA9IHJlbW92ZV9zdHJfc3BhbigkaHRtLCAiQU1BWk9OIik7Cn0KaWYgKCRhc3AgIT0gImRlbm5vIikgewoJJGh0bSA9IHJlbW92ZV9zdHJfc3BhbigkaHRtLCAiREVOTk8iKTsKfQoKaWYgKCRzdWZmaXggPT0gInhtbCIpIHsKCWhlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L3htbDsgY2hhcnNldD1VVEYtOCIpOwp9CgpwcmludCBtYl9jb252ZXJ0X2VuY29kaW5nKCRodG0sICRvdXRfZW5jb2RpbmcpOwo="));?>