PK 1Kcontent/branding/about.pngPNG  IHDR,u pHYs  ~gAMA|Q cHRMz%u0`:o_F֓IDATxRKJA}5tf&Q@OM\znxA0 .BА`CU=#iCͫ_= |s.1J)L()AsbvEQDYAkZ+_"!a^$$;_cy%2_.Ϝ,4%%#{/8S Y ν123k7vM~0uG`a w&ZEhJ܈]+q7+ׂ`)PZjj&{Bݸn`HihsO]kqVʮE]+:_+ւ b\;E}|Xkx<=.o KZlJ53X;L*t $ dPtoE`c~*_ aSQc^8̰GT(l6Ŝn ɌVŀWRQaEH(PxYsڛ5@2$68hՑ/o07_&)MfXlfYvfyɲ>sNNLشvaJg9#|y| 4 Da$6)XHJĥt3\ׅ]H.,?4$q⛙M⽙{V^LZgp:.ѽ#^Ț!ң ңcŭ$xѯJZfpJ\ƌ5LD98=ncw;3 `X̊PDhs kH#Բ1{d7 H ̏ѷᩁ'3:6嗋mtz^0*|Op-gAfժ -F usN~+G_8qܡU#,Gnp2L/k"m|/ZۄUAVA@kYh63/ NWwũz#@C ;/UuέB8PUƙ\D KJӆƱyB{E}C9 X#dAVJvkc'7)U7~` V(z'MiEDąq%o+]p#nEZM$${3S.BfHf{["2lg "39 VE yQ_y/т& w3DŢnU2:%c<;qssm5S&'L ͂Ӳ=@6?+-lΦ7ث 76 u`f:r 0,s-^v| oEAUWWs%l"HǪ0H}MyHǷ56f+6s%ZuQI)<;C{pz\@wax[]Yi65FR .1\VJ)\D"Dq6w❛iڍ"$3̗{ι `-LBI)l&6n~G&F_ĐjXDg beܹ)uh55qJKCBRq8itA@2#U[ qvbZRE KJ)!gk]1`&D<\8 (ihxp!RlSiUlj S"yCT$ 7t 1YJq*+w.{f䋑U.hX.:(@[ۨWQ[ ܑ^̸̀2G(P,LP1ͨm=[ocKvxyطa 'ͧD@%Ċ0Z. K BQH4qmfl'`%d4I{ fV)*|\5R ے abtǽZ =dUjlaZVmWwi@=Q'r5%aNdVy.Cz%S )9βK+VKYlb;FoXX+.Kbl!B#s=JL[1 žL'$3SC 91oæ2jbN4V5Z'+ &#W_nCۼrJ`D>&'G]s6晵6y^/Aئ|X,*,+[zuv/W@ }Pӳ^':&D)?Dz쵓oGMdAFbq;8s o.9 @nhR5 DÎ7PPU$}ФmlvJ!.lȲ"7;_%%EёYN)~GwEYTb0rVGZo::&{LSWMy6\4D5Г: $TЕ|*klQ)F!r]e&ʜI $R) )+JKU ~{q(_yxx!W,ckQh7|2ՖB+˱t`,1cv_[ז*{)$'-O77NAτ{P*JY H-2 gAm6XDg-M_=NHy9fXEnhpQ=ct.ֲ0EOɣIVR\ԍ+~$".R &t()0a9s?\Q"Q,)-z9ˮf )s5- A&iMԃ@z7EM&c}Ic]@̼}ov&'{9h_ɰzҊC Id`UqS@h69"µY%:^2^m]ݶ9Ȃ'eRfw-4v4^J FGQEMiBy ,EeHSvW Na@ֵۮjoڷIk"sNUS﷗?{W5&Uzi,"sQx++g3ϕAם'br[ Onn>AlP.vkYmk9B!RBhD>+ۃOxf4 /%J&B5xxgUmx!\_mVLۯԡP(FsI2&^@9מlU)ҒއOn"1wSY]&55 &zil(J+ҠD%+8;zInҖIczI8,hYot;z.y0(wIŢVpFY6 X[qi"ydE\2$WPݟ\p j!;*ʗ\j@$(bѫ -(چde!\rx;y;3WIx]0l9~ ?cڟGwjW$/oLPb4,XnL00,Z4sm+ Atn( AEGCTFYMB}طvÜs_7Sf5#&+\ʔF#jKaPxszn 7{/GϕH4w*`մ1?0G'Y͓#w4]Hj P_yrDy"À ʐXR*~K2+)«V42wi! bz-`uu1f^qVԒ1x^(U@Τ^lz-V_~w \1R1 o<6(jπ:,ﳪ?s+ Ppjm"a*(Ȋi}Ҧ"uﻇZB%f^2/ jmrYF~1[M ڧG&A2"OKB%21ǽw*Ȫ((0t* `"t,j )yfe_H\\SVB7T2dR?q']2.s+zѐ[l}*g*=͕g^=VH%\SEg0ƌj!H! x:5jG(fX6j"oq㻲yz!'o%{W0 EO2Eױ>{?" q5u60'{@Ki !99א `2va.4V \n DŽBZ?aD{ FdVE:RЪs: DzT+OebɠRx}:-X?AqPWYC!%BN c@9vwhD"GIkV`At$UkxDDg} $PFpt{-Cm[\o M8NZ zm'Bj<7IL$ߛeBAzBTw(|Jv=(`yb0\DDI&jfܘ~Gu1oa{hXukkSP2/+{ do%S>!Q;r=bƤĊ"ZvEwMvLL#.ІzF0{\ ̓$4OOZI:¦dqWaqZ~26x{AGEyX,? ZC٭ ?uK.ڗLͼ`KHqABE>Z`q qC@Xxf 6 .]?DK)`Λ7揰~amA+ʍIpm3o J _lEyʽJ;eUgRcĝVhP-Gٕ7rZ!o=W[rx?;3&rC:"nv\ƞ6_|?(s ګ"1Ak$6})US$W^+74Z`wXA%a?736 x3#;'t1xw}j0KBe7hY5c8e-Ƞȟo K[Um$JB~NlMdt /_3\e~ /h h|53D`Fp<|Kr<qq/Pw^B9љSAF .ߋ @]%Cn6abegfn@gA-3=LMƠ? ~|VkP[2h%x.ȷC;"y܆ Z%?Р{~03O! bgm,>5#dtK5jvKFEJ!W sTe0:O!9@;go3X`k F[X#Ktb8;2\ X?JXXgbW3)t1(?,y ܲѝo_D~g Z3`v)ȱB-ж"Ѕ Wu|u%66GB %|#Ffht9Ҡ:#`6bG/)f"ZT cbTȖo9=%_. "@|HM AF_RX1@Ah@.Pa :2۠WvgpMV6maxA["?0i3H(152B7 >MwA[i;1BgqQ!/@B P..0ᄚ77- ^U*e13/M402b063Ȉt) J,l#})1[fј!G2bdgckX` GA t0i2H 092]~ 9Ê?6 БcdJ3s1AZS}w@^NY9EE(WD0"w1h|pDՇᡔ?.>ߠlcAÂf jttƑZ1"?Ic[qjCkiBnEغ/do+3h1p 0H+`e✯ĥ[P&A 2B%(I 3+btAx]0J@#HEň4s4; SF рBO/Nex@ᖤca O 9E00VG3bb :L^AA0Cd`ݹHJ{ ?.mc=ir~BRX1@G (*h k`K w70𗍇 2 ΀N\9/zz' oI~t""IO l61 N#C課ooe|t b+cy'pVʝ"ZК߬v>3G!)r[!˺^oAO`,POލZP;?fm y Z;h+ߟ_ndx r#1<вFŨLg Od872C|^>;c,h-I4kc-*%Ak8@7(t5Q{fat3&*ZKEK 1\r`x*2|~ëW 9 l2ʐ {80<`OD[ჵCYmfk-  Fg G0[ wgV29 AgO-9 /V`VHCwuF;J+X<8t mdz~'n2b_:|o/.2"i`9-ڰ,@'_bra=ñ/ ޿eW? ,1҈$NDHt\[G ˢX 1X@-ũ_f༱<~ R GbQp-ViYAn>7qzj "~0Yt2ϯߐ$31|= 2l~XhyAm~e1Bu1"%/QRhlgҠhX,g`}{2c:XX1C0Wy:ve5V`йY.Ȃ f )6R1wGr0( * |D: 2, ˀC wX> <|!3#$U-?$NĶpTNUZUP]B  ػb 8'jAb-_'(1rf/'XhEAG&3/ᏁU/R7+m7 ϰ 1ӹVB..S5iH㲬k/oUu퉠KUy*>103!=q(jpy9ZLպP\,CP]}h0N˞f#)/ٻ" Hl]6~ru OVdP6F > [rW3C G#r v`(л 231T,q1n] Ŧ#dЀ2٨0}_'vW32!K>>Opm\ :X@'Qܽ < 2 R@qH0| X2 :h'fa"h5 ,$'Xn @m;ad`~.DELrs P@Z@ʀv:( gɱq (123+#Hb; L | 0\=|?& K-X5D意%d՛Nt"(0ePUd ^d}7d4~~ OWGb/@@}c8} {;_ G?~`d ". liD) v?h hK8 ,20p0-X?U Z oMu уZV+ ^!ZDFh6#n n @ ]ʁ^gVGD q ?o3ph(21(00<< ) 4T@׌9Dz5=ZSH-8~X?Uꦾ~r .1Nvp+3/0XB3 #hK8+`Q5U Z{X"?Ҍ #?_?!@=hXAňnF{Y'Q!wCZU.0G|/t J׿ B LRJ ΁o4:[ X6P3X XVc Wk V ?d"ted( QL`!;W10|-#]m+]K 065Ex< /!DoB$djjCh-4З7o>ϰ~d)IL?G5 dRO_N]J.%Z;q2l'H 1rm=V5@iR#Bвw&s׉u<Ǎ!2C!k5G{^S0Y,A ]d6 :0\lЃbEXZ5Mmhm=e[I"E{Vs5 ~px)F ]?'|e`w\@+әx!y frDj`tH8߾BZV뭠c/HyXrg?x]?$)6d V`y&ßyA9}f߀q Y4n;?_nex s\ q6#Oʂf98c_ea  ?B A[+4Fpm(`0ֻW;* ,4=9IHk {ײ0EiT MH|$D;?Ot7&J FY(M[[LZ\2ov{ITDsv4@};c$D[NRsQ3ҙ4!"R7hvS_L]YuճS"" }X%Xk0켖|ȟ^9{OÍa˓D֩AaR^@4>,aCdMe'ˤ9NJ4>}x).LI% 9,(Tz^CfJD2N`cw\tQ e>vQua2ir< ҒOػ(MlN yH(͛~g[ ƒdJ*ެ/^f>o= _:k*p3 X.XɞI ^LsK5lOƍtLK6׀IF4Ep|&O됕 e=uTQ?^7^]y2~*|A˻C \ׁ#ub<u|&q@8+Xi4$FH"TJUuJ-UU29^LJtt>뼕\ () N;8{ª=ɔ3Cjv 7>-b8UgDOmc=pa !,hԂȲ7+?nyV:YTj(C$J}b 3JŕA͝FÑ&ZUD- a'@w+_':(ه]N@Т"1!ūoC2Ȅ  b[,FpcfӾyua9 z^-NL; xxVɘaTL`UH`OX o|T t~,yʌ!3[Xg[8[8}{O|Ag[e^rnItHzhN }yCS ѻ%,[g|ڝs8M >iwSi- FQq*Ӝo{ّTg vW[afsP] c*_b\;L< kҶZQ:( A"" G7O.{`@D!FѮ Q@m L5S _h* .ڒSP0*]H:SK" M߱A/l-~%~)YH kmylɿ0v25B׃/葒 V 0lq=xC"˲ Y iwjZ29 H+g qwkWN"7a5wN`J1a< TB,0 &# C'\ϕlurlV&{g0DяW@APEJ*N͸5- $ @Ɇw3cGN DTyz3v$ +V^bkܝB4DUqi7d|vL ne,+66}o3wj| 2aFxK*TAlssY4di'vPpMnk\^I}z=O(Q_8 (eYc9M6#^}[Z.l$XTh>] 7:z#uM@ruq+z|ף?8"`vA x!D"J F c#@%2eRM/GtP#FGBWL9P,箈s0taͲ† ?.=vF1Z(hk]l_]$_ \=vb5븜?nw(A7+F`geI=gBR DQohWL$·^f RI]T;O% 4/0 JĒػ`ߊP fe5'4ϳX@Z\@p(30۞`FhtQZYQ+8\oe;+*k1o7W[ q܆PP,*M'[T~s֤ cdF!ì-B_" k0 # ?Noq@G$B <#೮@} Y J0̠?rP;d/G'= iA`e 0Bn*kS }b , =Y2l{0|؁.XD[U ;d>.@4#lfTɀLM"`A ,\hg#| 3Õ]_ڪbDj APFAB^+9|UBRXyQ,Si&{ <Kz8 pme j]!xVv th#3 Z J îbB/`-ff 5y!Y@P*` 3CWu Rަ9ZXcr3V@, JQg+?>=P:8~G??30 @?f3GM!{#oAL#v1Z^֖_A`c3d֏L)[AuH t\(F9ŠSF܅Qt(û-[* +h TOÞAΌȘ_@e4 o!A׏ l\ L\<{>@Ϲb>0+Fj]o98 +BUp*Pg QDZ 1_;_SČ4B3AwA1B"D)c1M=(0(1}kX@tAŀUR`PO_ [BZxX>=d-a 3ܐm5?/BU7w -=~.1 +X!/ + J[[k= *f?? f /1g@]Q|6?3, ?KUǵpb$5PoK¢8X>z'` 5 0D. ukA1"b5XU,Ngn5kz%69X=%Ƕtl8*y~~WbC˳8#YbÀnB/6<X~^<@C,{hHXߓclR RH)fKQ'՝zwyXfq:ۻֆ:^ha˗'G@;#7<^<9"Z'P~8H؈ _2T +fЈ3 +fyȅ3LA\+@G.Qn`~ #z!+HdESoq)ksO0|z󁁙} (,Qξ^ {PzYW2Ȫ)1Hɂjhp}BFv~bV ,?@^]_~^ /VJk-MW1BEFҀ5ffo40{еO VH@ŠQXA sc`g: TI_hh9GcOIQ+W ~!~??#N c]ᆳGdWdu 'Bnxzz&=޿z ny.0}l _ ?A Ж 8f12qP' ,]P!k 9_302aU!#-E CZ A^h`@*43 . eܻfl!ӈ_ bB͂Įc= .ZZq,$%u]֓͆ oЍl 52@Xnۇ Y9>K0p]Ϝ~dHi/d=Hi|DwUd9)ZX1 ,+lG.`g1 +,#Jc?~a(h-fH+^0([qH-n%w`%`bpz)7/_W&S!۾`۵h30O5S3" ]oAHoT F S ߄t?>f PB Y89-Rcpwj ke09xNY@aŌ oa-( IYr:%9AX : 뒩,\;T:aTpCweϳwѬT0 O{RS.g701;o,r,vb(w+Att7!"!DC02&"9 >0GZL Z+ |l^SvGU,1 x.zܖSd!@[Pu{J*`.;(mJ)"K߇` ;į4&h3HX de 4h][W bn\߷}8K!=c 6WbO+*X bs iz>ު\;L|9AU%ysr+:B:c/)e 8j*ɉHF zP[AMW 6'nƻ3vך_ 8Fh%"ꃱ >s9/h@Gd6/[.ceP)T/QR1JۻR8`u0|P/1qӇutAT&& "2@iKiM\,$MBwCWA3s?CXd-8$L`t$VBH`ˠHOjO>+P S. (T5a t,0,3!VK:r`UsՌ@ 9e۬ ӀG%U,@DqvOfH| NF{K{3Sq|WHLbՊa*7ĈL&bN!w:@̹$~lL, !ԍR54*0 dN+9r/1,f>:eMM6P:p\h. qlЭkD JARqb1 c.'_7" Y,U}62b:Rj"@#c45 D%2ݜ+e%c+VZ`yV|THfT8ä́OWMyEd|'|A0W3 .{҂0 ]MjEOYO7ŃGnhŋx Bht/X܉?1}=)d2!970$~^|gkjd|@r߂|zuN3|* cN۲;M:!Es Urw.^q *"g} sw`,@~"pyx F x#avf +s9v2}@`ՠ{D; 5XOp"]Z!TNBcC)TIӡVzyaT`bՒܼsgea#]t`쬘(YTkK^, {/N|ҮF(cDwİj3Tz%t(d@ZW򦕬mEt{ kXv A[#br 8m2"H@5(3A(W!-*` \\4rqC G>+SXa+lhlҏYy lkX9谛nQHlkɢL㖑 !c,E6È'._qy}Ѕi՚1uZ~4T` VahFUvȻB"FMX"xOk YUv0{EU]xlV 3nKw8VVhD ilݎgr $+0Ŕ+NtKeIʦOT} mh,03ڳ iWYۉ#VTЪT ?!p^x kXv 108$y<\Ċ!ׁ1A'l܂ '@f߾ӬPpgn ŠԂ iXdf *@ _@R8‰2J]*$R> &PXC "H YuC]d {X"TnF%P9*JƐMeA{[vA;U9$b6)sVfԴ^E$butş"Ĵ~ V;UvΩ6Y@f@01(9<;ӍеGʈ`Kca_C3A ?_[UO~gleXTXƦ#Eň@]cD ^У?#8a]Z?Ũ ʈYEi݀g< &  2^ʀthb`8pCBhncX|1" _w?A#3tITM_01-}a%Pn~c7x33rA1Rǭ` lv`Pfp7BZȾ? ,-FM1NM։THt] ZP_$ݽ1]} z2X1UCk F a712"?@NA +1;ivhրغzÛgl"g1hdPGF,, #K$3BfD=V@g 1VgI?/)0' ?W De !~Lyx WƱP7+SPabL ?\2\!(0!c{7 .f` z<2JuQd`K CH 8OOFK 䚅W `$,pǿ/i@hn# ̊…gBFQ7K@|_`;3 *cԡW}&Aolf:[ TE#| b( ,XCt4ѧ%pYa'CX@E8G5`I_BV~ 0PT$&N/ݡB&VDP ݇/_)[\:X?t{dduݕC{?wYY&Zo tpߤ7+]FGv(6UL&1SIc-5T]V4d) 90|I EF7vw&QAf~tKaٔR06]0`<c< #]k)5zb<BOtgX?)a%Z5[ pl+>JGvadDKߏ 0f cSӝ& ?5J$խG,f:S \oho/x pW q*L]DGECRaa5AVY.H ;3'[50s#5숭Kp/nP82qSNXo(mS$HtT nHKXE5sw/X?nwxJ;óB\2B0.NhrzN hA9*?{#T%O7Rׄ[{kP|s{̂ Y_Fj)Vd7V :-CBh43 k}}$np[J8yr^J!"@C$`E]zPtvkX]S;BP/G4nKkVSfҮZB|pUqx}qT Eާavj'(XA{_ ,HHTD$8caA,2~z{~?'CEZc|x9_)pA0YT;=IZ_&~-J~ћ)>^+1 C#O3-52 {a֞b\$U=T4kyUζµuJ+R llu{P`Peb CcHcTP0h6.p9@e#@F-/<{Sk vՉ3Po*{W0g?$mf.^z/.ŋbRZbn|I׵DIv余c`k j%^;i>Z/ tތׂGۂ W޹1eXV ֒'痄87w͛fT2C=96B^`75}3LuXω %>Rc-uvoT=L{;r%[<ΈR1̽eA¬`O/ $=4֦-/8n 'yj,'@/Za|z"+2$nb _96;MU]`5a d1qAECS{jo~@'B= E`@`f1Ql/4\L޾̼X0)}I@{@6SdRA4 H)Ljɱ=mzIu>2a\ƈpJ?;M M뻦&}, .O3>Rau}v\sw%{}Xi3ĴS,wc\F85^^ x]+iAD*4GO Ό3G&ߝz×)_#<'m 4[fIyx`uRPT7,4kJ2`ćۗ)F a7K,@]`),.",d'@7;ּ,L&11|d υH!W!N`~0 xeX=o3hm<н%s xD%8߿/pxjB pc~:r8@XòXxB}. _ 3`6 ]9HXZWi7 Iet ɐ.0ZY0=Vq@@L_ebĐ%rs?P`xOoQw _NAvL.0"$^31ga~ɠ XHɳX0p2|+g *XPo^#ҒXp_tts`0yak>1}088nIbD0 )l)huXH]FZ]@=3&fU|~̲'[{ L; fBR&sϹ7`KX@d`;rLtvsܠWg~Q@u.'`O]D7~<LEۧRE⩮#S@rh1 \vLQ yTUӈ^]..G%@LMK@#+52`n_6ׇlPd&ij[˴4N 6@KCp!#Bt1FXkSgj*v:lx 9 )-UaN.:>|/@! `1&M:D+%{<{~PÒ&×<4R:njWzWWZo֧u DQLڛ7i1w L~\|Q$ZSpqcZ{(P%#bS{&9xZ7)bO)ՂI{:➯XfSW;@Un#la*+1ˬBi @ְ,ل|.Lh|?SV`q [Y @[tWPxsA-,fb"/Uc`BX>P?'\k")*F k?8 |˛7 r rrGGte'ҋ!Ks2̸*"G Dd#1*נup>@Xív~p0 0ְ 1ac/@%dfga .0+C€|x!%12RV`ϥbegcxa'ňuW2$LH~b9 -*Ph kIR?5ϳ ߾c,uuB M;/3H3UcH?İ+8 9-0+r+- 4, Fp+6;7. +SZ_?BSb]譌Bd?C}29 *ŨbS`O _iz)PL?dvß/ a- ?e4d9~Ю_]BAr YP4GBdma 3T|7NyuNvfB 4j5}? omo1/6~w;@Ɓי!JU(jQH gq) .ntI? ;{a( S!B7[P1}*WIpE*J1&ikQvL!7sQJXt kC XDRNA{`Ɉ|w'7=m8C}Tu3k TO :P 0E 1k1p8S+MT_N3/^mnR@9s\"tV a+UpKbyb0t.xV-έC+Ϯmg(Dw.+Q1Oުq&AjSvFgt\DA|~s8?~հRMΌ:Be`) ]#|}Te#hT2GWA4e 9C^60&xc^=tB/}+(h=e.Mm֪>afap+XY) ft]QGFu:XkM7.l<`\Z(|JQY ZB,fӮwbą(:wq.RVeye!r4|?iu?@i+f\&,+}g+_}Թˋ\,>8⚬$kЯ ˝]rv4ouƁX;Fkס*:FF[-|^s(龉T.)\4!IBMs!aI*BAp{6>MZh4[6o 7v EsAht&Bmm.`>^7GV3 hf[.Lo?(PcA/` legf4#A]Aж3ktVT121 2[ipa;&?Aə3\ T@/B dO ^2| :Έ\HS`1T m]AWK+>=*+ï?>`hp@0BF1,f\ ߍ-Rߟc`bcoAN˟X3c?d rT h#X 03HI33|'%P(`'fSsz)p- &&Px(X@{&p+eX888ŀ؏Ђ_ń4􂊊]@$ue[S ~} a<3֜aBi`-$%Q~oFVfAwPߟ ` c? e'_1`Q حażF. 5 ک * n 17ŀwy`Lq0|K 47 cVTl[nxEd 'f(fAcdB62c$KϯO ~d5;(3S8 <_w-)Pp*ٴVm B/<"@Mh^[k*"}+4L yàum (OJ zp&,m4(>t z.H-no g@DRn3ZOoPp`ۯEs+afPc8J[=#y,cvFQzs]9i4ifE`E!ӛ82%@tǮr#3`$*: K!ך@PѪΰE\ p>gw ưYX'z^ZZ mc`ܾw~-!_z@Ϸn uZ9[TՁt.V\ -Vp kCljc , J /`ՉUCe jrp'>Q" T3 [?0|ŠX01ZW@o>|ȁdD+qV % z~=z0r~ǐjtN>?, aoqp@W7n&8!ԻB+&.:I !Gǵ[{j`YOΰlAk[Z 9zivTM(QnzR>)Fw; uPJ?r~LCCѹJ^UWʚL]@.휄&ꌪ}Oں|*% .Sk( AjayX]F m+ɰʲ{?odV&=e>0kI5R!#Prb[dyi{+VAgPiбB+\WAnBg[IZ_VVL%KHޟa襠`Y' 4Ee"/,b;E٪!6'1A[ESc[' JQW@5X4W`Q4rV0p~ guE hߟ1pJ0/D@~nF?V U5Y&?TƯ'"RPA]n#{>3}~2LrF= 'f=L3 r?[r7n}ge8$081p% 22ºl7\û|DKAXHG/ۀ@~01=b7> Ov_'@kYMs5ƅ%PnA*J뚇hpM1mdfp9Va찈9%rRAx0 `8$6Dc7™GeUe]Rgr]&EJ!l/PD~}{}qȼg^&VېFR,OTscusMnF^|UaO I%6)W_[_bG5b~g,M{#]<ut_ a6Z"]Y]L wJQdDJ?Ѩo)|F a{wFEaۤK9gϽϰ~bo=,fWlSvr8KId!+䄖}rI Yy,;|ƨ/wc qWE$C*@Ɛφ}=w>ADb4'+dZk}X~n mxd*Ud:t(jQs԰͛/%.yj˕#{XL5eiqQSbDE C)TE Ǡa450Xme/?9VnSEҨ(EBqк' ]Rjه|D C3F=C[[wF"er#'-5l*{׎0DB5!$ 5E܄k$7H DGv`^f ,tHHHո\IDyܸuaIll'F -d.  @q6/ /^0|y X9c`dvCmC |W\hA6ZvVs~<[F_(fb+?^pƞ@v%;1 "B #`dP0;[b8h/ء fB=?4@zQnȲzA%0CgGO0|Um}gPҤ??^|x`l[dpV|3/f?\1l [;`a( Cil5W/d7xGgŃ EmM1/ik\'9t2̧$|4߳i!I4XB!P_, ~\"=r)P*QsB3 i9HbY*- '6JG^= JS͢fTwYRin/+b1g*֪LhTACiDcKIzLBtZj / bZKÑu)i6ck *T7M6z_vG)\ :3ŠzŤA+`zenqo~< t "7++TMh XrHs1| &c(D C 3ƌ B8hm{`kKC';_ /2l} (P[^eNe>_}gcG쎆 +@#qV߾^0|( IlvPlLã LB4h5RLKB[Y_|aeqo݊ҦGV#tk` W} n9>10c7;PO`:dn+-@_77h2#w+ n`p>H? p=F$9X? 7h2 z<# & <I`b~{%/_PPha/XY1Y~g3 ld>Ld +fp@cX#d<BRx_h5_[Y\'O2yQt0u;l 4c'^u>VSv؄8XYD?5@3? =B uX2t;0Xad6SP/O˞:.`|aU!G/y!9]Dc`-d`Xs+0kЕ+pO0 lA}6xF?[ Q8+-`5?b~1+fx Mf$L] F[X#[ڒj:Ł 2*~[Y1pZY1BA,N p#?ҥL \r 7+ Y~|aF Z :q,}5pGh8 ]O) K%H_37M_ Z¯>3l#ý<'y Nf>`0]?ҺVԵVQ->Vl3p 1|XX}j옑&)A"!C/ 21@` #jIZYw`K/fۼ/ pY) OϠ }}1ïj~|fefeaw-h+ .M#ID'MWcof "סu90|bp2zͰ0åG\̐X -.f./3X [ыއ/06~6CO`zg?Alhr tZ?D j,e CF7 +i4* B X*v/0"13@i6qcRU-kّ-߻w>ƲX@j֤Yq0sN q0Ij,\3:e QFqވ/BkR"yHQo]G0+;bʦ~^ɟRg-!i Y=~U?Q]O[xJw)p=GvsSXpNN 3HsH(ghk26#pPc$+ RwY1X+ƕ)+[}%F7] ckvv]j@7%X z)R~?  ZJdݤt ='!/,;{|}mYI90h`EJpt4Es?43-b;+}mך{fY߾}~ye BZRXvnd4?_1zz{5y@-wcpΌט?*Q34-),]CbDzqq!vB7?Xfcxs^/Dyz2<;AZmM_?dx1ߟXx%ٸDq2<ӝ =1xF{4| T;ԊeJE hx0?6ƪaXKo1+ 3ϟG,q3?6|v ??|qH $ < B6* a#Fw7&Af?a~U.e!V|I^q P2 z9d7T͈13ѡd\q #`AaeF;bб3 4ZϐAG|ax&* ϗXA,I]Dm{lC\~ZY W$3p ,>'9b3 ڳQ8rF`f㧯_G[XPcWŤgO@ 9s'ҥ ̠eX |6'\:FilB  ~atnP+'Dg TJ10p ߈BqXi7p+j -IL!7=3kv>/-3) E݃ jaZ}X|3@1~mIAZg@և!3; 9d4Xx8e~gπ<ܽdaeSVЎFRȳ.НA1$4eȷ$3A_LA%1Cgp>GiG Q/BV$2`a'.P{;gЋ(P3ů8\`A/2r~ aȅ/3\8: X۫O ̬@yеб'>@%fDz!x4/NỴ ]XP}+ qtY(@u@/$%>EF2̞ ju:f <X@ǚ32|CR ׽` `5E{çx9Xp !_uIq78њce/cz+bNg]+gT5VBOtIq' ht(@1!C ГJA lY[3|vw.?V@wy)<h 6Q10ǀ5i%|̱,P" o'E?2ʱ3p1";3_`lL{IJ+QcZ&x? SFϵ,eluW IĐ A@7&G:?r;Be?fn4#+;bq?gp=4:K8 Ҭ!@DpW4 =deq>X ;߹D.c7b ?PCZn~?1K!&NHvnl, ȕfç;<a```bQbedb,<?H-d 7BT q -fHk]DpTX1bRHyה022B1x{lFL: Z̕ |a+# +xe b 0 R32_X4nq\+hA0RD]~WNChϜnO+ P<}c60a-jP,Ʋ~gbAS'> j!p+3[ԎjϥJ˳ i=`uqMCetqsPӡEc6F22{'satُf},Ѐ,P~0+D w^wOcŇ9.3o HeG =C(&0[O _ ')9%ϡeiK2oPmKi~(d5bprcP0E ME}<%k-*PMj'.(Z^|?_t^w.)P}"'~fΝiwэ87 8VlboҔDZ-t4!2!J@eӂpꉆ{ZMbK#rj%뱣U@Wb7d,PC |ϜN#קBܞ*vLeH~Rϴeʹ D u<*m Ioc <(Y;mؘ8}~}زh$31nxЋI w VVV)-{W .!Ύn~?/8:UM+<6b4ah:r kX( ;fyY *˲m2L( $f}tL)_,·ais.|JEHƸ-w?yOEO-%%I#|ɸR& =Z c0qūgLK 1ORF]N9AMSl?2]n0Ÿʡ9T|e0^SEP5 y(Rjf? 'ݝ,o zQ24C`5W>9Po\0jjDQ COݏC2wP6ٌ&I|&Oއ q Hu=)6\?5ݳoS?9EuRd3UIfc4J<#Ҹwv@RUa~ N|ExeE X龰,_³ %{gЂ DY"#O:F1:t4M̊a]% ,߾TVi=&҃5t^ 8aM9Ү&6O;; MgeL}hg({z?U9TR%XtFXE?(.RdGN+Xm$(f-BUk.v6!NYn\"8פ8q$ 5RMi*(el`Tv/Y: =`u <Ǐ@4ZY`g,} " q  >fwf'`MWꪫ.H (m7[ -KEťj44OOHyxpqEBO̷kh9s9,vʑIX敆s<]k62Wy``_a&ꎠ_r$Q"P>p*/$eكonѯSH)|:&/ #-i;<%{σ DkA4qtqBWq#apAc%wWih"ip>޵.a dMxcx>MS,@QSRz6GE 'h#k߬Z*+ZL#HU5 )fo梶?G´uvwx[ ߣW1iGx d4A`&qChɜ+9dAdw(DI)%pqr" 7\9^lTR2~HIJo`$1pCHjͽ$x siAAŢ!DK-MP=q$:=hBADqD8V A.IKS}$hz;3O.sZ]pPYeFz}${(IM|Td8'*ǵ@Xtq5˽h SITQM.@s+HIҏ#R)63>mee_du>?R_ܠU&w9XU{XUױi 읱@ I B&;BXȅm5_?ų>Al( i1U"zNA ex^,_b^M:|ΐpvKI)$Z2֣n}ϮhhQMbyYW1@H ph%IbDzYƆV.2y17Nͦd=˩W T:[Ǚ'SsM)n{X{: &lJ7p`\R0|Ouh\.z_O&!}5E,SژKo-պtࡀSuT`*k9HDe*hp6Af %}uƀV2`.^+ /{H$ـ40ha/}U>s#4ZHjԯknQ Nz ޵ $扢Hm,;?_;JQ,T5#lsp lA^i)_Xw}-:l1Jm<OKG# J!5TiFy1j5TE:U {Th7Y)8׌r7`ռs ^ Tԏ#-U8bjh\cJMBmOu.+@E"ȇz!@383ɊPJ! |& O@3{ zBNvm˩ieGYAEYtI$QPEH*С aEŅ8XʏLQv puj$!CDWh\IH$hhH N^ zsܓ\;Wv~VFA.v9˥xڴ/{OU5׽"'7< ]BSDŽE#˼T3#*F;JJK (,>Ҭ瘳c.Wħ6~s 6{ lH9ծL?M@YUn KΦao"?m7a*8uMz,0MhXWhiB DiuRZ/?w(!@E^`c, [/ Ak.2b1 o`%+pЌ hY;5~5a-6~R^Z3klwrBu5'[O+,Hؼ؛$, }.%5h%XaUoPG:4&V1s> %DB̽`u Q CL9|iFKFOv=C("!f X1G0;MUu߲5nb:4ВO3° x>6%a5ՆvOv},}Q;ME-Iʷdb|֜godbat$F >>ux%c҆Fʐe$AGU9MS֛kj" Kb7p++F Q@,@cZ T@ ,ظ mz-)BA @䟟,:ZS:` > 4¿iq4ӎh tP3KgbnrI[c9xw<\_oV#x܋ ZuER\h!Z(PZXɡf +4QƸf`ua zq]AґV>JUu@HĆ*эHYd}cT֔eִ%{pӠn[m#4-#9ԍ4jq*̶f 0VƋJ&p,،"&)  +0 -dyfiZXKАᡈ "oG˜+8L&0"`l& |[6kXVA?5o=A  )q,FčF?h!?Ԯ1ֻ͋-$1c1AoFO@f~'ؤeB{Szj$Ҫ$kFxl yRq--ϧO l738fJ cdBܸ Gu5 `2ńJGgF:m܊iIzX@:|m\ <6<΄X__ X_&Y 2A Af jQ*@.5e ZsPN<3_Zhwr:w#ƨSe@j09 Y?F#hXvI*fֲb/{@im1"ZR?ĸa6j ̂‚ @%Dn9x1k /FZwP,-x Th`/# "ݿJ౒XS^!U> q13b"DZ[VС]lA»zv Xt!,BB!ƨ`732 } 4N=|e uAAl@o; aZZŠ^h!Nȅ،V˜;v0>Jv5#x ?fډ~e!xBT(bgxCl<xz1`ܿx&{`-- rJ%o &mԺB.7 - u>+`' ឪ* OB#ުA/X˾-d@!HG"J ?ZW޵CCg@,yhUG/tx&_eAf?iE`\l`7* lvkkq.e ZZ\-1aVVV<6x\KdX~g-]!fZYL t-ƥZMȭ,FT9uػ(cX 9a`?.#fn*RX6fZ02Ae |A>5@f|F]D`̝1@E?l"5x oUt6v&[?n011;fXF'XiNF#BۋND̈F;ڢd̵f[s&fudi-k.;c^bGZJZ!Ad9ej:rsfW¨[fb>j%JS\ 1/ $@qٓ/`4,zLJ܌ ?x9^B* w8U#Zq#ZlX `j*UӨ<Р+T*05a2"H?`8AϜ SK( 0x TcR0ؖpzŬV1nio % io)4]ؖ! D9f!/}@ߪ+л!p U߳A5vѼ TX1d]_JA,BF6eD p 3@ƯPfȳ05әctXВ >bb[a +@/p@Ta/P yIȅFz5PRiV?)(ذM 5C@;@a0dbaecc<$ר(aa ~11^M\!aGKm:e lXa* C#/qOaGM?X$X[@;00 *w L TP#t, ~1А,B `AmFk!()UQ}*Kv 3@xl?]e,"8Xg-60h4Ѱ^h0??? 솆 {z2e ,X()TݴH;:̀f/3.1   $6B rL/\?Hn( AF>E*X10}9+?vF@{?UcXݖ 5ؖ ډuCw!ZU<*0h`B>1 %` 50{F[a3Pn 6ޥV-L4rk\8`Kaj! ða[{`{`hp#ω ".0pz2fHcF,wt| *pxq9l&-;b 8~W[wlそ$mj\@#X+HY ~1pÕ hXրo4u^X28Ձ<  эdkĶ TP " ;@;ϛQch@!]C"kka[<kZZ up̌IK߼f~'q$v*~=:dg`cQ8$i>V,"xF,6zff&`1[Ul ~'Ó ~2ba`*q j]q :|-6JOG.= Z=h!=l%Ϙ|RZK(Fp ˇ/>Ͱ}$ L)FyXغr ,P [X</a: P|^PA.@`@Y%h DO4vA# S7.2ܸ%߫ :亪n 8gqX}cDt1)fyY<}UkЏ\@@A)`AF@s20ù Y20 ,A6@4-@CB~D@'`&ny88 7/blQA]Z|KA{tE=\K; -T06jlFK+& O>`rSgߌ#,]T^3mhлH|<*Haڂw oz(bm4A'\@cfbcP|ps2prS~7>nfx"LaLj&X *hij`X%`_ZARl) c8lBeyl tzK T` &X7֝ îu9~xn`{xZX3?`"-#+!QZ[ka$ SLjz)vAgų0ԍR3X^ a2pB[̠)XE/XkY4zDh?%1}l փ>* ,P⇱A]4dbbCw8]E7/t& d^[ DŽD}ц x,]D+gq!na]Ĝ, \B70gc_~df`db &n<2V0y]] @RJ ? QVHḃ;vft!X*ZNz1>לַ4pIH Ӓ5P9'eˏbz_JDU:#o}7ԼKigW3)>R2#aNaQ2[xl)w _,m?_BΦ!}VXSCnB~+qslo"ӱe/ DVӦ.ɷ ͻv\L{Ό#-51g&֩Ȧ4XP  p!`:'ْS9[QMAŲ&ᘔTX81 [Vz|'#T0ƇK0EK7"ܡ(MSGΔ44koEw$S"LΧD_2$Agү*t{0DH=h/!avV` "7,,{>t@-b _;X5`P iCֵHe ==W ZF -z"7Ts*bаkrVb jƐh\THSS4@TF ЫW&QUTBg?jS"\`UVHA> Va0 Ea7P<Rz1& 9 l!< M(y<.tjQ%Wyrӑ_VP'cp.eSpy1 .S1! ˒؟M.s-.כ}F0d'Yt[24K]@ AdQ^v1s`U#ؾw̭\ڨ,mc;'ڠ^qBAF +L_5%.$98R KJarR.<#C(@f)""GE#评Pjǚ; ZޕD7;= RZ:C6Wo`Ve/ N)p)cF֌|dRP3> R/fB=q+TgJa)(3BV4''يugb zW/ZvFiPJw/9cAKx6Ok~O-AB:Bۥܬ)lKYiCXg*~~;oU_+_ "M:pF(/`' ;p5މ -IjJQ>^n8/mQ̀\(MpH,f>WQu8h]w)0|le Ja@+ #?9x)7~??`>o P߼)fk۹%4 Ձ=$'Xdgeh1WmT VSE5hM5P!kXja U"޼ t;=!x 0 ŬWVl\`&a. Ӄ\``v"0Boqa+^ &+лrZb[N ){ *_`QB. /!P &tq Ĵ" \ZZƵOXۏ5H`ߌmA]-mH&Ā,<0`-KxQ)04 T7e]Y~m2TJYx'A@( 1\cHUbVaS +'rFV`TZ]שB.̐+R@X`mV`MrDž pusðna66.3[{R F Q0 hqwu!a%zAl:\-+lzW XrlcI1Ph5 Fƾu) +I8  ׸n- 'l F Q0 h}ץCqzgr<  TtqzR F Q0 F4`h` @(`-F(Ch5 F(2 F Q0 F4Z`Q0 kQ0d@X`!h` @(`-F(Ch5 F(2 F Q0 F4Z`Q0 kQ0d@UI,IENDB`PK 1z) >ҵJkƆ;V_Q7>Vsi-C$ADy\Ე"(=4%)>y?%Ksz'zEw{s, yEMc!"y {aƶ0݋A1ZBijs_c[0rhZ=ֈ1`@i(Em>$Vu DŽ57FËvNq;1(QD,_h/qz-j21DP"`4N)97)CA9׸B$M$ j ^3ps7=fWH"@^DGoAkpY;5gڕ%H}f8s|3_dEG8hu{a*坢Y4YI s$@R*5eE[,5A"#B&RZDP$F'EYtš8W3xZHlSׯ8lLLd w47 cރsR0?iQ E'JhhG'ΐܛU7\Y&2Z40 `byEבKot{A͏#1Ƹ.BnK_E"ˡ(A\{ Nrr7~5wOjA6q'_F@G Zx޳u"YLg9R8$/9(H(85_ =6kX1` h 4 ~轇F dEO YVHi?"G8&3Uܧ6z2/v>3٬W'HMu>/ ˑ4 5HREW={9W*DU]OX*jEB!Ƚ£,d…W-%Lŕ<@;(q|$X&)MLNQGy1 Wڼ:Y&Z{ \aRx.iT  K5đFu痃 QȰ'׈T)H{Ss7Z ?C2XCucW@['iRx7%`bWY}3sI@ 6[_~ HcDI("B]^3tJM]XLOF5:ĬH-R(mCw^BL(ѕJ{D|$ov[#O` HjhS*0;[•ܱgx5W{2A*JkAl/VyiZ @ pM:Ҡkנx#T[k1a1nHiio]w O J%|}A&:GQ3|oRrTTA5!i;Ո8tD܋~Be=(ar4'MjTZDT0D(2ޥ^~tz9^V4$BBqvygFGoX m q5"0qC{`'-( ҅*'/3h:&1؍;[䝜,"/iRU'4EWpq;1M[5t\EE^hVH#߸&DW_O6hr=Dհ:JdGoĢ<;*- [IhԘf I߀HZ85ذ:vHC}F{e )( $)>V1sr+(Rz-?ÿ]E^"F5%c]+y\v5IG?9SBpH Oys0>BTMl] WWPm#cc({` Nmmy{O`PIzdk琴FMtRظDrz,GGE$끎[f׆+JDBߕ,7Wߛ]b1N`-FhJytH^਷`FDYèˣr6Ьo|&"^h.\9yOn k1nM? $@~Iۡ>O<:iປJ*j,( TT)׋|=?yW?rr?M cM1BTJR%JHi7j7BBV_}4ɐʏc)Hȼp8{% )`ʘz0R]sx_hQti L +eb` 3{VrUDRM(枕c}?ɉ۟`k :vW@$9F24sfORrƝßQ[è}M㝐M6zَ8&BK/xp1rCDpEs^]x`$sZwkk754]d% U|̰94KKB I ͼzVҚ$8o1ٻL-MtJ'V<(4fu*twBr+0Lrӏb[:`G`tٯS|npEO͖kӼFSm}ӵdov$VEٜKS!(QX=&1P 5䟱t >r9yJ*C,7YRzdE}]VjHk4 %<#t7V19ˏ~m-SiAksy ɠ'.8!fQ(YҎm~zvO460\q4ķrூ2ϻHDM2;ӿTuBt- Zkl)5K2Z|CBOWX>5We"/pY6%wOC+M4##S5ZȽh6E1ͳh_ tڅC̫'w|>*Dbxо.aq5TЍY2vj1L(:t(i!Q}BQovR?rsDS |?X_N7BzJQhsG tGܜd )lI0YPnW W8v"˩by6WXαN}GE<4'a@"Lx!Ĭ_Ybjv QCnHVa1aq#O/~ ]Dr ZiB'U|#nK(U;[}i_ =5}GqD:-|GEr\/_׎vYT Z$M` R#+ABaimC=Q4qU^Xe}ubce#ލS7AEo?R%+8%c $0un"m΢+U|0Rbkm7{]#+r6η~\Ę I$/Jh&[䊡9āZ#԰:QM()#,AmXpYDBXNy 7z}r Vm%-3Rs#@GXcH27P&@m,2>룬EKA.YOMA=)gC7X;EjDITq#UҪ`hgvkEZC8xM t 4BXc݇xa"sY~pͳRk[ȩm: :7Qq)(ZHpݭ6T2eu!]7ZzVO_K,{D:6b8AJqf` WQF.sq.O'vREB氀Q#vԀskxvy/#1=?.|"?T9KsƸѾL>WZ+`+!r+=A(NAi ˛+goY69KҜ$5 !2ͰxeOy$Jzqَn%|@F:=ξ~%c#!;Ix(:2k[c_H+ DZZ!Q $attaUVCte%yUc381a*Mjъ~K^eNQB?ڂFEGs8E~XUl4~2(\Pei1m<  eRj;EPϺԴDkXSI-k'h׮=/g#/<c RkݩiQ9䏐E]4&4jWIeaql _|(׃N* Q EB=+Ŝ02;-tIcP9(E胮Ma[iUz#n{9z.6Z:GV#_8V/\97[N q㑏}:ƸEs?qP-')zD~~WN% 1J)PZc#L< F6h[MQ&syĔP98#Һ_^` q >yG+l8{ ֚б{5\},_9{'>0u>4_x4'8/&t~H}A iRYAD*ᄥZsBC{-٣|h Ө.ͱ0@ZŖCK^µ RCZ$.پ"a[/BM=x6|z,DVu u<[RQ;t8.caqte y`M} z) P ikh[G|v_*LW9{IZ2:Qӊ&QԨ֚čPTF0m#hul2e+:Iȇ\]aۇDN! mއ cs,I `Ì># c|7z{\x \:W.zV\4j2K-U&qĘ(LFM=zY# #Q5Fx y_+QnF]i?#;xpr!k[HQ 76mGwĢ zaeŋRvTL͉~N7aL\&ul\FIJҎE)1#rX OVژӔٝ7o &p$,- k[*l$l3{Mޡm6(@P|Hst3Ǻq8@&+ ve,*&batTZ/(yE4Xb1*na#F.O&0^audіCG?@qJ8-6tO|A[?TЇW {ֽM(( m j7QX`-9s(DT{o5ht5 buMXQג hNtA.yG>a, i\G-ȏF[; KH4&_d{eq Ci 3m /\-I D);xlR/gT*D5_bB%~mxbCR֮Tu]LبAK׏, {c.qo.˂6JRcqG`[giЭWt18琕c.TAŖ-Ϙ]dP3^ baqBEEw1 kp.'T5B厡6"{m}jϥj0Jhy/, dYm`CQ:de4%h gxxh x"a{IAK.=|3G_A$ψ}R! JkΝ+x>ER#dW[$q C[Cmee¨QHOJ N}t6̪ Bd!!kt]i. }b?ql??[~^ot-%={ U:N@$#'"dސyMm2'袽K-_c7A[Xh4 s,8ȥǃ޷;%AX~Qnwá8~;&1nYh:$MĵZVI ^ C 2PeFM Q_K [ ϟE= H6x4#\oja/`.iax1na(ePW"\i,% fC'QXvG-;1bJ,#3!r b1vsOi~s{VnXQ=-Bҁ\7(ɹ|ȾlUWjPUjuc>>νg9ƿ,W{س8K9ͱCx{ҕȈ>vH19SYHO*TD-كzOXp~сmCP>7"'FJE#ii%ծ"t# +$:Ő]_]K݇y{ =Md|)]*Q)sj{)Ń$6#jtIPĠEE;ECl?w7T~I/]BP #7"~,p&qYwT8a导V0 !oy4Ir)DƚTDbM)_SSR;TE_u}FH8Op>l/,+~ GDMe,u٫e/0k6}RB|2T F1zz gUo@QodS<3sOw_O_B5*hj$kqD@G;WyX5Ƹu:vahq0rm:Td %pP1t=ɀGڽΥvnBTZAk \/(:>mp8E.;_ 1/1}CISJBbqu#݋ ҔF'?yOUtl8Y 32XFT#Q{G 垄> hLXcܺ#>|rV7Вrǣ{/`3ٷcPJa( ~u 0qiPt&s<1ع*!䅢5ng{PD\xx++9$UMklaڗ1a6~ױz9̱.^z9<6yL_>x B}ʗ)@|B,Pg?f]e ~ξ ,,#Q^GXcܺDX"BPcNw%%x(ȷBynW@@g@V D+9͑#'N-^8fr.bj&brҘHk] 1BH{~ߓ9'Viz ~ImHq1g gCmi/EZ5D[c Z3;;˕'8qrlTAiA[|1z(n~m5ts%*!2{o̥K~ Qꥌ 0z2R84&X3Dp2GHQne^]j՜##F m+}_ cu ^?}YvM]^3dqJ8- Zkh?a1x'twCg E5 ;;`- lfuVi*SĝMixJ!UV r^Ci U}OzTp,2 kǪ&~|6~Ab"Y헊J%hmHK<6{$S.j]kz O-SF_m%PjH4]~rV7csTQZ }YYuy,#Ifm;RۯR\ *FOg O-i0SM峯#5QoڝˑS{4&QO_q`b ʅI7=iϧ}bQu1aqcFQ?G>Ӣ8tz |;D3#qKmnxTum8HhzF%\9Q}u_Ki!61 5N-'Ӽڛ%uqTMdt%\ӎp츛7NVfBȜ?M_ad|9O~4>Dž9&1nu ZR#!ߠet='"_wdkʞCm8CNx f]~%vf%~ _zءc ,{yR/ -`&M0l +Lsq5͉i6bFS QԤ۾RuFUA ~h>ϧ}n(1_;Q6G^coG)}8:VEcvZ3ur )#t)tWqΣh|P$۔E@2$Y%ujkwOϾ"9`1q$˲bـ":6dAP_ !< X"YQ HLS62#AR3᫺}9+5@~@]nݚ?9Y:啘p A(JRtqG/>)0%B@p=3e 7 IEax]E/Vbu#/4H1|-}_K@:z7AE ?)B`̶@jݽ;}5A$ݜBi^Ir0qՆfntP#3(p]DC*"O?ChaGfP}&"0"hՇ]|o? n:~C\2a<;ړH ,SӋo>y\)91I#X 1DЇ1F6Jr$ӝ3_w(@1f%j7XU^uh4`Sz尀(%|cMrŠdN(m؂0 Gp'`.Pfμ,S*ic|7@ZJ؂Pӹo1ǿB $X3 6q1dwC/0EQ IF#c{QUtMtÉO, a[[3zԴ ؿ9ꚠr'ds$bo/(-F-xzS?|~R EgeYT B(9w2Mƈ!, dHݫ%99P=[JxA,H3e?wke<#7 03HX]a._^L!!PKxk``L_?C1ƾ,kUT4ԁ}&`Ŷܞz%x3{(QW'`6:U k-lQ@>|C譢El-f]XoOx1\.]!R I9ۚ{Cb3A!)`sugB G[P+ 6Hoi")[\$sB+YY {%H\^rf+;'LSs|xm (E -|C՜BZẪ՛;?4\ųj*'I0s Edv .25VCCE]WhE*F?EpiŤBtal\`.R{Tgk8ҹj_5Uǐ "GZd9>}z16'(X HeI̖=eHxAFe ˱8$0pPb|$k;Trp9 ,&P(xe, 6@p@txccppS@U߭%$ҷ ^TK\utRaW` xb*yLwR PޫĄ$,UYF6qϡݟ~%Zh~3(ZLg]-_FxF#\y1@tO?}TdW0~v"H""g6\d"rᄨ3cUjkR0Z2pn׻K]\֍L(,!+bKqJe $cؘ[9{`54\}DQpNVUiF?x N/ $[TD䃤4!2]C.ĭRHHZ;_y#r !윯.V# }.D灠kQwqva? +UҸ"ogh'x-|;&+ٞU*g7|PB:`UyWD @Tߪp,Y$U?շɨo %,e0tU}!.@INS6;H2Dcl&qZ, "E!%z ֫ ifs3G}DBroP<7J?.cFtlj"Ai2#@RWo=-jrۤ) HHƃ ZPUdI.rU9i"3@? D]&p=y#Iclnnb4_VP#9I@yћ{81*8gW"dq˸Kp5Xɵ$\LbH U a-$߄U?y,-6l:OPFJ=oF<fU p +cUI^ca54\Z&2Й3ؽrW_]V:rVy^V+@Y:KZ1Iڐ^uſKˁkH&|$@lU-es  gue= O,:@:G^_cz~Dhj{ 3(r%zrLgZ?!EZdi.#.<hg-d) q@*KKTVmqU98KPΧ('m]!l;>*GC`6'V(} Ր٥vi a97k:6!^{yDX^[= tN]xS{aM @i8sAMYsygIYf.=Y? u0i`ˌKs9xpo>֩.l8_Ʒ/CPptm{_$l\=%a3b_{k 3"ok^V.0] 3Vw'˂uy˕~O:~)MSr0_eprhO{ӌc 88_-#y g JDBv:ӆxjF9&=|t5U oU/ Te}US߶EY X' )=q"}E+H8zmRC/%U<$dB;;;rccCщ/j*ZG }1ru+z8Obc1zvYآ0b!X4 I0}d'Pms綐lLaPAwLWB%T$!4UITO^ߗEQG*Jv 1Q>BT|!RK39'lhϢ8i<-UYZr}_뢠z 8r?uxqF2ت:= artր=b>!m'FPf] `BK(_$T } HC %\J?Sk֖(TUTs.ޕ0H):hYynOq_p;64Si>h$Ɔ rot|k&ME-ZC_;G!f-yr7hxՖ U6c !Cyҳ)rbJyԞA2 -؍=a7EIcϚҼ1,2 Fy&fwmhE%jW\Pn?DWz=ܡ@wGFûZj ʥHhP{n}fւ$C4TK!8Bp` )il0C6"LPd)$bz=I'B$kQ"*aREHBf\CRmY2W-."ڴG(=_W|$Bv͸vT 㹢T>3>٫H@-Al7MTKCw<薆 4t;ԭ&Phz @ 2j+QCQ2K >kgeYHf̬u:k_;yU Cٛ%\8qeUsUs?KF>gzRhrUآq=yL(H XZ6ztù}Hȧ`F@?P#1YPD^ytC;9fʒ=Ķtۄ{#ؕ\}8ar]LUyZ(Q:ΉjCJ{VjP?/ڲ*KeŴ =-o vzfnRJxGDDBIDR"ٌ|}3kAX 9(J݁Ǖ- xJ`6%"P{厂-%+ˉ[ N-4Ȇ4űJqbs[Fn#Uke"W)-JH)§8#S?~ /*qjm[t;&^XX:C:5%r\C]A[*y֯i-[]KNqW 8%ƥG/wfxb+N嫫i#X )%PE$RJ%JD)3svr驧6>G: wO/sUͲE_6 FeUUdZ .^ǭjj_a-Ƕj"Tn&,+A*F8G?˭>Avd}}=n@J !$+1i=!D0:}?ysϝ/5oZnL8Wh@U%+k.Z=*+K^pK(Dg+,^yB>hi' ~%JדF!J)DQDD$RR)Rf L&ow?ԙN gIhu-XvVWm-Ղ}V,^m*^  : 2^_ot6tݤnƕeT5R B!2<kkB$y…Wyw]x>p9Kn*Zu~EiVIEKVP{XKD"HYЌvionhZI_xmm-]YYɻnVCûR BBZc}jyVkGlϞ?w7/?: sAlD 1/ŲjNؕ-W+B`<RWR>av޼RvFAdWDQtdee%^]]WWWtmm-y)(*jhxB}(#<ϓ0 u^v` 1׷=wrP<N#,XdVd[/Dz气xopUV$Hi"j`z3#3~bzv gƘ0 v/juunAX57.S[[J)Z eEjvu]{{ ywynmۺ~hz6ﮖY BDl9Ui-a}&#DK^Zꏞ|~~lFlM1nDCkwwwh`6$IL~:Okg棵SdOyI, e)`-Z'>˱PUU7\\<T ^ʍ/SkYJeM yc1&WJZ4v;zqK{^Vlۥ1B8gf~]mAeeNb4d"?dij,SIxq{f>kN+e>ZƝU{lCЪ,fb`BYq_ mbTRP ʑ  (=EnD9V*!5ldXMffI12WJHeAaV+iۙ[ ~?zy~nVe1sՠ1'ߦdYFid"gr0``F&L&t:DZITe)i<Ͻ"!z6 \GT,=iYXEv7 (O )lN2̆V&EDRBRZcr0 VU_t^z,v8e"MSe%I9EQ[XyUB,`5+14ưy05 lŦnb3@ ?4$Ipb6)2fb>*FEQPeaQeY.HRJVJq5@)Zkc}Ԣ>{w[ Gމ744\:E8BܮʒZN}9 wD1s4=Mhhhh654444 `544gh=C#X jhhxVCC{F3B\f/IENDB`PK I0 < content/branding/aboutFooter.pngPNG  IHDR,2*gAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?(` @LA0 F(* F Q0 F4Z`Q0 kQ0d@X`!h` @(`-F(C 3(`(bQ0 F( F Q0 F4Z`Q0  Pa: `h` @m4F(Ch kQ0d@F(Cb Q0 FP4` @-Q0 F4Z`Q0 kQ0d@X`!h` @(`X0 F( F[X`!h5 F(2 F Q0 F4%` @-Q0 F4` @-Q0 F4` @(`-F(Ch5 F(2 F Q0 F4Z`Q0 K(F(Ch kQ0d@F(CU`!h5 F(2 F[X`!h` @,P< F(h5 F(2 F Q0 F8 KIENDB`PK A44qcontent/branding/icon48.pngPNG  IHDR00WIDATxu?Z߷>wڷMYWJ(xD)T*Z-a-%`P)vحGZ)^[u/=<m=ZT;o[Y&Qzaf=sサ;xr\C,$=:v9I@j( #ʫ pqJ;ރ؝9ܛaӄT@DHbD9TiM.<|Z9} XvRY!3IK9 (b P~N%~LcHvOJw>!k 4Kc0Q""(C7Adm%k,eJS>E<>o^o_IGYu$\c.k7 )KEbAL~d@3Fve@ ԥCG9D/΅8] Fy'1_N.`XcQ蟐؃n<ҭK VyXdqIfr _J᪂B,@)ZtLN59 V!iCZI9}^W^WD?x!=3*ұN ZBiHjqA@@rd+=9 6 x|R `%o C5(Q l вIt? ޕ:">u^P+D^ ݋Ȯ!=h!vD &X!bq6bȩA_rGDuQ]ɽc)$?~thu Bp]௃+*kmqG x?w&;nxT=bdzl\8Y^s d#ם{7_?c8ٻku<_{` O>f/C{z]% y?>0p;+c"2<Q0<|D]~oi!᧪!䇁2=Ld6}A^/oG;EK(-v> x.9Հ@;_eP%ZS4'1݌(<Hu:[eV{UC롃ӈ?mK6 G-y} no.EKH@pϮ?lAnjuUNyQ^6!t2GDНaD)| "+_Ȏ_QB\N1+qƲDlA7H]4RʭxQ*IB$B\Udo B#Jhq5 |ceѨI$~n;@T pODu-"ɽq_g~ED`Nk3 YHyAkN)e[K}{{#nߖmI*Ǎ)&a@5mEl V y~E_UAc\xPgԅUGۚU aD@bxhh%i7u 妞:DR~lUKд)X?:P;Цk""q5aB. L #iz u$:Gy`!g_8)/nJf Qo B|bt2M@`b8,_ut\ *V\ Vs ΁xa6']M>l9@|}GFGV:q2P!7?փbth"·/2 +$ id*u<ѕ7_%\IMD6pmNuҩ\t0yYin{f)mx=6\0|lWHjIQ[U:N^jXǍ4:, N9u`.̗2ukkB P!ke&v mer1xqR^ .\YN_) ":NzIz>Td&<`5C#L6-xAB`Bt_y˕pxڇv/0p}5v )F5GAWAi7U8ӄb-\vT:wI}͔Z :{,YN| " /4`\-?xpA_N<iB&;־>`6BYxzUu mt̯cGH4H(4ʮl' D 20bo}`8~zQ_sxi֦'&T9&9c`sRMI& ݶbŮ;#3C |/h ;\haYyotfS<4`\O0\z^+̗H'$mn2E-xSL-ޏ9B2B+ՈBS5%09 xI"J/dzP$1)fMɬޡfZMD_&tޣ} aI˗κ//M#|ğ꾡@11^antl3#̝)EQ45f lDKZ~jVњKh9Q^WFa0 27З&0`J޶}V`?yŗB"'E ~85ᯀ^8hʹBi>MUQq10G AA:+Mj@KTLshP ".;|Bsꇞ⛤k8o-pm?} o MЗ=cݟ-7PTU%\b^;@G~(;"Pn8 T*-5pp-~z kĴ^_0DzX:[%tAs伹Ϳg3H v_sN.td1j]غe|;cމA%t@–qńfr|ǻg1yzc;wepx; D,]IENDB`PK ̤i2H77content/branding/icon64.pngPNG  IHDR@@iqbKGD pHYs  tIME 1y9)IDATx՛y]W}?ݷnmj+8 CB& !3@M2c2TML6RNL2f8 1!6[,˶d-{[s{{%Hp&sN~OO9Wܳ wmñF)zv@)j6~4K?*G';Z>x@Di.{'D/T=Xo(=NL" ?02Sˇ__rts U5{]қc#XXR}۶XL.]gqsr:!^:Sٌʽ"{~ly6&z){6/RbH_WDrse 4CcXY 8tbg^r&Z}` ,W61ƀANḻ9[ؿN4unSZQ"2."aH77\t l)T= 1_R.^t(ּ2H'H&Pje` a$<F%yaGh05Ic;s7}ܪ~R6ko[! ݍgw~22nd7ރ%HZ.??x+:G'9̓mvq ;y&ƶ``d˂:z&wUDBD1\r60'9˳*b_cw4B 4о>tK4 ݿ5_үԻeQz*l̲E (ʀBȐ0 FkбMtUFNf0Hbm]U!C=\B)R8(,VѱD?b`m;1qF fqfK{ 7?p m &ygޜ󬷙!VM2}GΟDY:Sc$\>Sϣ:5Vi3|}#w.8FX:ӅeIJ/|X 8+67 1*v35ϻ|qk QWsj(jj47sw_ju9\@o/ZRʕ f"F1 ]Gu `9vRp|F{ +B.c;)| RıIWE0ͅK w!hL-[B@Vn42yFMdؼa汫KT=\TQ2'6Zъg;[oDybJؤb#Aܮ2wۘZm%x6#iP@-Mt7ywؽ5dz uepZH! TtͲ:1zjs(ZSXAX)mifqҳ^Ś(Vı""xT-BZ9R,w$r58l*:m,FXֻ@`^! לQ(K4hiDG;>34 FImҡW,`b Fb;9qg^wl"EiYڔ'zO@0rc1پr.z5viּE,B8pr2܌ JЊ:hז}+t0(9cK L8NJ*A`9Y]ݘ_:Ӕ[i̟BInۗ]ϼTɖs*Юce3X@.7w"iSXM> z6麟4; `";wͱ8%*}JFulV!Թv\Sؙ`oty˖܇R_^7Bbg]4 G?t Cr]lORV/9?u?|T*IO?,Z)]zY??!guO,`2agt9zKXw9*cbV pU";Bee*`fLH*}_>>e_CKJ#=nD+..1ԗXR`"K)s3ѫ1!lpoXJ zv iZ#9 /;{•:2AVWXVR{$}̑x#۷Bebe7 HLqmR>OZ4 Y>)HTъrO?ZRWO2,a99mw]Su ql(gM6C8%~{܉0]!tR`p may%|ܦ^Ng%2KtSFylv " (0Q,c !1@E9YЁobI J|w/ukGqr{0+I]`Bm֛=mkN!܆1a+chզe<+ALv @ r'[L՚*T.Y^oԇN0Zqu8n,f`l2#a7-`B50o^jS@^ܣzF8n"˦zX,V6˲uHwO1!L) .NF`h`ab9ZԱ4Į Q}LۇVryì`Uf ޽Z}Yh8kp3sH ә$LBAJYq b4h.YKcv^<+ӧY4ȁo0e7'}\RيD a`Z/A[+ejv!·ЪE .jQ,- Z_`bhm:qBqo?##!41Lfܬ@tLmniִbJSI=1+ dOA<?|'>8<|~[m$]"wIe_9xř$VHߴ;aϐ4QEKvs`TBI Ahk smh&< i`Z4>;sNZԛb;ع!P+!Ҳ1\2zF5F mp,pl8Uɔ*XNi9.BG t^\6 Yj:THPb,7~|rmL5[ &1ڃX zAk' h۲˳1r8FX6¶1!ٽ8{C:Wǖsj\v& E$Wl 7G>[$ɲ<{v=Z`TD [oO%&HDL[Sl䖫i= K@XZ²f/,Nuf lzE,[rJNi@KtёBG1*CE*TPj61fuѮ/ kuAww C D`@ k ̞5(I@QEoT;h{?nϬ\߻i&Ll0qz c)k(Ƶ]%~W>IWRG:֎׭ni6t .D م`ZpKtbKՠ|VϮ>syb~kRW +)v E:B/q /_D"duWH\@r*f{͚wĉXo+:ˋ\D6Ɏzڂwm5v֠}( {,.PtTEI׷,\`/J<7%':#PK`qU9^#9>_XL6к~bR8V>D *tRI3BԱxzҮBB[y;p4FXYt'ZWj WaZAw|%ޓ?(4Sqݭ._$޻n?|Fآ/$au ɢBQ, -1}I]⫇c.@ǖUpo3b!n+ܒAX͢4zGi8w1k-+'خQp^X}M!N4h[9ۘH'iZ/;BE_Dg 1.0p ЙA=h6% ` x._#_ӸE@z(֘O$ iÛ%Ai)_/W7mungh+Lrx1c2-7bf\5oMZNN5÷N!)+]D!cX!%"k3q}O>z~LNb;)Qh#U88!0g\i]{ߺw XBl!;'y`@>}^jL1<(j9#СBU¹X 6 j(mcl,Q|tYs3!VLG TWb Z^}:>ulqrV}GKA-=;To2WUa;OG'jS mdp%&)46zՓEvXa j+ ADNl1rxw8pN)MAμM|d2NkfS .n<)P鯃UH FڵS1}{ 4q1VA;!: Nht> )R o{6mLHs0XD~wY_=~i޻o-F"bO:v=a@=żv@.;л ƌb`|QX9aD2L5Z#Ckz^\:X%nJ ][" .WY߹·/C]>QM\n=hFqtHGezXKfVHu nwչmk!dRcy5&zDm&/Mˉ_$3 yf­(W>V6̴A2RuBQ!:ѝ6*7F4*Dd3 tm~͋|m!}.K6^HM`:iåΟBx]T#3AW>&4h^6#}[qCy| ip^ay+R\˜0 f&\N! mw:HmG$&}n=Om&Y}4PE}AE$XM5%%<0M J̾^ȏzLecy境 66xp8Q$e:~^!65e<QRtЮB;} ~DfA_FN' _}'Ҝ/GY}IrHO tta6'o.cyyTdxt v.’i'EbFX"a$+p¶ruRuڴhc"y%lIItEbXxiV7n.5nks!^ 2UY!v(FG>MFtYA8^D^x:9H7X"vԇ]A:YQv}Hh$a'8 - eTm%YR8*`isx8~Z:C!fCrd{aeVԞ'?^o`Ň 0FU< Q͢}>Fk'ˆvW+L;mTsj70z|1: [!^RV(3O<'觀?$ĀA#>Ei'cL.6i :Q5n97'W58N)[ DsLh}٫o `u'-?om`Yr߃=Os y\)i"yD`U:l֓,h N"A5abP?ڠ3AHIv BSmo0$hQ*F6ATθLl!+!x1k;|,Uӯ_"*_ lx,P}B좇E& X9/ uȬʁ5Xy +v`.]St4>@px6W+UW D=1[j8.PֶH!A:iD3}ЦuFkrlc v.DS-,#A|֦q[~4p 8!`5+D.@yXաE" i}yZ]2`"3YBuBf$"OO~%t~tJ ;> Z( Tr"q{) D6kGlד9!~o@9ᔄA(قnWnˊ(-&=1$j PD'[y//ut'N/> ՕkHbZ7}@oMf仚=M:s*>4R1?k𪐟)!T-{oWeWo>Jo;b/OMOtWyt75y//16V2IENDB`PK S7[mcontent/browser/aboutDialog.css#aboutDialog { padding-top: 0; -moz-padding-end: 0; padding-bottom: 10px; -moz-padding-start: 0; width: 299px; } #modes { min-height: 380px; } #clientBox { background-image: url("chrome://branding/content/about.png"); background-repeat: no-repeat; background-color: #FFFFFF; padding-top: 203px; color: #000000; } #brandName { font-weight: bold; font-size: larger; } #userAgent { margin-top: 11px; -moz-margin-end: 20px; margin-bottom: 0; -moz-margin-start: 13px; background-color: #FFFFFF; color: #000000; padding-top: 1px; -moz-padding-end: 0; padding-bottom: 0; -moz-padding-start: 3px; -moz-appearance: none; overflow: hidden; border: 0; } #groove { margin-top: 0; } #creditsIframe { cursor: default; -moz-user-select: none; border: 0; } #version { font-weight: bold; color: #909090; margin-top: 1em; -moz-margin-end: 0; margin-bottom: 10px; -moz-margin-start: 17px; } #distribution { font-weight: bold; color: #909090; display: none; margin-top: 0; -moz-margin-end: 0; margin-bottom: 0; -moz-margin-start: 17px; } #distributionId { font-weight: bold; color: #909090; display: none; margin-top: 0; -moz-margin-end: 0; margin-bottom: 10px; -moz-margin-start: 17px; } #copyright { margin-top: 0; -moz-margin-end: 0; margin-bottom: 3px; -moz-margin-start: 16px; } button[dlgtype="extra2"] { -moz-margin-start: 13px; } button[dlgtype="accept"] { -moz-margin-end: 13px; } PK F+7,Mcontent/browser/aboutDialog.xul %brandDTD; %aboutDialogDTD; ]>

&brandFullName;™
&brandMotto;

  • Josh Aas
  • Robert Accettura
  • Tomoya Asai
  • Dietrich Ayala
  • Mitchell Baker
  • Adam Barea
  • Jason Barnabe
  • David Baron
  • Christopher Beard
  • Glen Beasley
  • Juan Becerra
  • Brian Behlendorf
  • Mike Beltzner
  • Mic Berman
  • Uri Bernstein
  • Christian Biesinger
  • Seth Bindernagel
  • Chris Blizzard
  • Jamey Boje
  • Nelson Bolyard
  • Carsten Book
  • Paul Booker
  • Igor Bukanov
  • Simon Bünzli
  • Rob Campbell
  • Regis Caspar
  • Marco Casteleijn
  • Biswatosh Chakraborty
  • Tony Chang
  • Wan-Teh Chang
  • Ginn Chen
  • Pascal Chevrel
  • Bob Clary
  • Wil Clouser
  • Mary Colvig
  • Majken Connor
  • Mike Connor
  • Chris Cooper
  • Michael Daumling
  • Neil Deakin
  • Sherman Dickman
  • Stephen Donner
  • Asa Dotzler
  • Rafael Ebron
  • Brendan Eich
  • Ximon Eighteen
  • Kai Engert
  • Steve England
  • Darin Fisher
  • Jayson Fittipaldi
  • Justin Fitzhugh
  • Ryan Flint
  • Justin Frankel
  • Simon Fraser
  • Eli Friedman
  • Alex Fritze
  • Lisa Gansky
  • Mike Gao
  • Steven Garrity
  • Michael Glenn
  • Jay Goldman
  • Ben Goodger
  • Dão Gottwald
  • Zak Greant
  • Pam Greene
  • Adam Guthrie
  • Vidar Haarr
  • Andrei Hajdukewycz
  • Mark Hammond
  • Basil Hashem
  • Ian Hayward
  • Axel Hecht
  • Frank Hecker
  • Robert Helmer
  • Jon Hicks
  • Ian Hickson
  • Graydon Hoare
  • Chris Hofmann
  • Mike Hommey
  • Joe Hughes
  • Ed Hume
  • Ivan Icin
  • Joichi Ito
  • Gen Kanai
  • Blake Kaplan
  • Michael Kaply
  • Mitch Kapor
  • Peter Kasting
  • Alfred Kayser
  • Paul Kim
  • Masatoshi Kimura
  • Ria Klaasen
  • Andrea Knight
  • Marcia Knous
  • Dave Laundon
  • Raymond Lee
  • Aaron Leventhal
  • Mark Liddell
  • Dave Liebreich
  • Anne-Julie Ligneau
  • John Lilly
  • Zach Lipton
  • Nian Liu
  • Reed Loden
  • Robert Longson
  • Scott MacGregor
  • Ere Maijala
  • Gervase Markham
  • Sean Martell
  • Heather Meeker
  • Myk Melez
  • Mark Mentovai
  • Alex Menzies
  • Steven Michaud
  • Bernd Mielke
  • Joey Minta
  • Simon Montagu
  • Mike Morgan
  • Scooter Morris
  • Masayuki Nakano
  • Marria Nazif
  • Ian Neal
  • Kaori Negoro
  • Tristan Nitot
  • Alice Nodelman
  • Robert O'Callahan
  • Mats Palmgren
  • Stuart Parmenter
  • Jay Patel
  • Igor Pavlov
  • Javier Pedemonte
  • Alfred Peng
  • Christian Persch
  • Olli Pettay
  • Chase Phillips
  • Julien Pierre
  • Mark Pilgrim
  • Mike Pinkerton
  • Alex Polvi
  • Nickolay Ponomarev
  • Karen Prescott
  • Feng Qian
  • Robert Rainwater
  • Brian Rakowski
  • Neil Rashbrook
  • J. Paul Reed
  • Robert Relyea
  • Deb Richardson
  • Tim Riley
  • Phil Ringnalda
  • David Rolnitzky
  • Asaf Romano
  • Doron Rosenberg
  • Blake Ross
  • James Ross
  • Tim Rowley
  • Cameron Roy
  • Jesse Ruderman
  • Brian Ryner
  • Alexander Sack
  • Hideo Saito
  • Ken Saunders
  • Robert Sayre
  • Fritz Schneider
  • Mike Schroepfer
  • Phil Schwan
  • Justin Scott
  • Chris Seawood
  • Leon Sha
  • Gavin Sharp
  • Mike Shaver
  • Eric Shepherd
  • Hiroshi Shimoda
  • Jungshik Shin
  • Jonas Sicking
  • Roger B. Sidje
  • Benjamin Smedberg
  • Jon Smirl
  • Josh Soref
  • Seth Spitzer
  • Johnny Stenback
  • Luke Stone
  • Robert Strong
  • Annie Sullivan
  • Amir Szekely
  • Dave Townsend
  • Chris Thomas
  • Ben Turner
  • Doug Turner
  • Peter Van der Beken
  • Peter van der Woude
  • Daniel Veditz
  • Michael Ventnor
  • Joost Verburg
  • Jorge Villalobos
  • Alexei Volkov
  • Vladimir Vukicevic
  • Håkan Waara
  • Jeff Walden
  • Tracy Walker
  • Martijn Wargers
  • Jonathan Watt
  • Steffen Wilberg
  • Brett Wilson
  • Michael Wu
  • Satoko Takita Yamaguchi (Chibi)
  • Kohei Yoshino
  • Boris Zbarsky
&credit.translation;

&credit.thanks;

  • Google
  • Yahoo!
  • IBM
  • Sun Microsystems
  • Oregon State University - Open Source Lab
  • A&R Edelman
  • arcendo communications GmbH
  • fuse pr
  • Cooley Godward, LLP
  • Greenburg Traurig, LLP
  • Nobox
  • Glaxstar
  • Radiant Core
  • silverorange
  • Revver
  • MozillaZine Community

&credit.poweredByGecko;®

&brandFullName;™ &license.part0; ©1998-2007 &license.part1; &license.contrib;, &license.part2; about:license &license.part3;

Mozilla Firefox® and the Firefox logo are registered trademarks of the Mozilla Foundation. You are not granted rights or licenses to the trademarks of the Mozilla Foundation or any party, including without limitation the Firefox name or logo.

Gecko® is a registered trademark of Netscape Communications Corporation.

Some image files in Mozilla Firefox® are from the FAMFAMFAM Silk Icon Set which is licensed under a Creative Commons Attribution 2.5 License.

U.S. GOVERNMENT END USERS. The Software is a “commercial item,” as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of “commercial computer software” and “commercial computer software documentation,” as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire the Software with only those rights set forth herein.

PK -5} T BBcontent/browser/EULA.js//@line 39 "/builds/tinderbox/Fx-Mozilla1.9-Release/Linux_2.6.18-8.el5_Depend/mozilla/browser/base/content/EULA.js" var gEULADialog = { /** * The nsIWebProgress object associated with the privacy policy frame. */ _webProgress: null, /** * Initializes UI and starts the privacy policy loading. */ init: function () { sizeToContent(); const Cc = Components.classes, Ci = Components.interfaces; // add progress listener to enable OK, radios when page loads var frame = document.getElementById("EULATextFrame"); var webProgress = frame.docShell .QueryInterface(Ci.nsIInterfaceRequestor) .getInterface(Ci.nsIWebProgress); webProgress.addProgressListener(this._progressListener, Ci.nsIWebProgress.NOTIFY_STATE_WINDOW); this._webProgress = webProgress; // for easy use later var eulaURL = "chrome://browser/content/EULA.xhtml"; // start loading the privacyURL const loadFlags = Ci.nsIWebNavigation.LOAD_FLAGS_NONE; frame.webNavigation.loadURI(eulaURL, loadFlags, null, null, null); }, /** * The nsIWebProgressListener used to watch the status of the load of the * privacy policy; enables the OK button when the load completes. */ _progressListener: { /** * True if we tried loading the first URL and encountered a failure. */ _loadFailed: false, onStateChange: function (aWebProgress, aRequest, aStateFlags, aStatus) { // enable the OK button when the request completes const Ci = Components.interfaces, Cr = Components.results; if ((aStateFlags & Ci.nsIWebProgressListener.STATE_STOP) && (aStateFlags & Ci.nsIWebProgressListener.STATE_IS_WINDOW)) { // check for failure if (!Components.isSuccessCode(aRequest.status)) { if (!this._loadFailed) { this._loadFailed = true; // fire off a load of the fallback policy const loadFlags = Ci.nsIWebNavigation.LOAD_FLAGS_NONE; const fallbackURL = "chrome://browser/content/preferences/fallbackEULA.xhtml"; var frame = document.getElementById("EULATextFrame"); frame.webNavigation.loadURI(fallbackURL, loadFlags, null, null, null); // disable radios document.getElementById("acceptOrDecline").disabled = true; } else { throw "Fallback policy failed to load -- what the hay!?!"; } } } }, onProgressChange: function(aWebProgress, aRequest, aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress) { }, onStatusChange : function(aWebProgress, aRequest, aStatus, aMessage) { }, QueryInterface : function(aIID) { const Ci = Components.interfaces; if (aIID.equals(Ci.nsIWebProgressListener) || aIID.equals(Ci.nsISupportsWeakReference) || aIID.equals(Ci.nsISupports)) return this; throw Components.results.NS_NOINTERFACE; } }, /** * Make sure we set the pref on acceptance so we don't show the EULA again */ accept: function () { var prefService = Components.classes["@mozilla.org/preferences-service;1"] .getService(Components.interfaces.nsIPrefBranch); var EULAVersion = prefService.getIntPref("browser.EULA.version"); prefService.setBoolPref("browser.EULA." + EULAVersion + ".accepted", true); }, /** * If the user did not accept the EULA, kill the app. */ cancel: function () { const appStartup = Components.classes['@mozilla.org/toolkit/app-startup;1'] .getService(Components.interfaces.nsIAppStartup); appStartup.quit(appStartup.eForceQuit); }, /** * Clean up any XPCOM-JS cycles we may have created. */ uninit: function () { // overly aggressive, but better safe than sorry this._webProgress.removeProgressListener(this._progressListener); this._progressListener = this._webProgress = null; }, /** * Called when the user changes the agree/disagree radio. */ onChangeRadio: function () { var radio = document.getElementById("acceptOrDecline"); document.documentElement.getButton("accept").disabled = (radio.value == "false"); } }; PK -5ccontent/browser/EULA.xhtml MOZILLA FIREFOX END-USER SOFTWARE LICENSE AGREEMENT

MOZILLA FIREFOX END-USER SOFTWARE LICENSE AGREEMENT
Version 2.0

A SOURCE CODE VERSION OF CERTAIN FIREFOX BROWSER FUNCTIONALITY THAT YOU MAY USE, MODIFY AND DISTRIBUTE IS AVAILABLE TO YOU FREE-OF-CHARGE FROM WWW.MOZILLA.ORG UNDER THE MOZILLA PUBLIC LICENSE and other open source software licenses.

The accompanying executable code version of Mozilla Firefox and related documentation (the “Product”) is made available to you under the terms of this MOZILLA FIREFOX END-USER SOFTWARE LICENSE AGREEMENT (THE “AGREEMENT”). BY CLICKING THE “ACCEPT” BUTTON, OR BY INSTALLING OR USING THE MOZILLA FIREFOX BROWSER, YOU ARE CONSENTING TO BE BOUND BY THE AGREEMENT. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT, DO NOT CLICK THE “ACCEPT” BUTTON, AND DO NOT INSTALL OR USE ANY PART OF THE MOZILLA FIREFOX BROWSER.

DURING THE MOZILLA FIREFOX INSTALLATION PROCESS, AND AT LATER TIMES, YOU MAY BE GIVEN THE OPTION OF INSTALLING ADDITIONAL COMPONENTS FROM THIRD-PARTY SOFTWARE PROVIDERS. THE INSTALLATION AND USE OF THOSE THIRD-PARTY COMPONENTS MAY BE GOVERNED BY ADDITIONAL LICENSE AGREEMENTS.

1. LICENSE GRANT. The Mozilla Corporation grants you a non-exclusive license to use the executable code version of the Product. This Agreement will also govern any software upgrades provided by Mozilla that replace and/or supplement the original Product, unless such upgrades are accompanied by a separate license, in which case the terms of that license will govern.

2. TERMINATION. If you breach this Agreement your right to use the Product will terminate immediately and without notice, but all provisions of this Agreement except the License Grant (Paragraph 1) will survive termination and continue in effect. Upon termination, you must destroy all copies of the Product.

3. PROPRIETARY RIGHTS. Portions of the Product are available in source code form under the terms of the Mozilla Public License and other open source licenses (collectively, “Open Source Licenses”) at http://mozilla.org. Nothing in this Agreement will be construed to limit any rights granted under the Open Source Licenses. Subject to the foregoing, Mozilla, for itself and on behalf of its licensors, hereby reserves all intellectual property rights in the Product, except for the rights expressly granted in this Agreement. You may not remove or alter any trademark, logo, copyright or other proprietary notice in or on the Product. This license does not grant you any right to use the trademarks, service marks or logos of Mozilla or its licensors.

4. PRIVACY POLICY. You agree to the Mozilla Firefox Privacy Policy, made available online at http://www.mozilla.com/firefox/privacy/, as that policy may be changed from time to time. When Mozilla changes the policy in a material way a notice will be posted on the website at www.mozilla.com and when any change is made in the privacy policy, the updated policy will be posted at the above link. It is your responsibility to ensure that you understand the terms of the privacy policy, so you should periodically check the current version of the policy for changes.

5. DISCLAIMER OF WARRANTY. THE PRODUCT IS PROVIDED “AS IS” WITH ALL FAULTS. TO THE EXTENT PERMITTED BY LAW, MOZILLA AND MOZILLA’S DISTRIBUTORS, AND LICENSORS HEREBY DISCLAIM ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION WARRANTIES THAT THE PRODUCT IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE AND NON-INFRINGING. YOU BEAR THE ENTIRE RISK AS TO SELECTING THE PRODUCT FOR YOUR PURPOSES AND AS TO THE QUALITY AND PERFORMANCE OF THE PRODUCT. THIS LIMITATION WILL APPLY NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY REMEDY. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF IMPLIED WARRANTIES, SO THIS DISCLAIMER MAY NOT APPLY TO YOU.

6. LIMITATION OF LIABILITY. EXCEPT AS REQUIRED BY LAW, MOZILLA AND ITS DISTRIBUTORS, DIRECTORS, LICENSORS, CONTRIBUTORS AND AGENTS (COLLECTIVELY, THE “MOZILLA GROUP”) WILL NOT BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES ARISING OUT OF OR IN ANY WAY RELATING TO THIS AGREEMENT OR THE USE OF OR INABILITY TO USE THE PRODUCT, INCLUDING WITHOUT LIMITATION DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, LOST PROFITS, LOSS OF DATA, AND COMPUTER FAILURE OR MALFUNCTION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND REGARDLESS OF THE THEORY (CONTRACT, TORT OR OTHERWISE) UPON WHICH SUCH CLAIM IS BASED. THE MOZILLA GROUP’S COLLECTIVE LIABILITY UNDER THIS AGREEMENT WILL NOT EXCEED THE GREATER OF $500 (FIVE HUNDRED DOLLARS) AND THE FEES PAID BY YOU UNDER THE LICENSE (IF ANY). SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL, CONSEQUENTIAL OR SPECIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.

7. EXPORT CONTROLS. This license is subject to all applicable export restrictions. You must comply with all export and import laws and restrictions and regulations of any United States or foreign agency or authority relating to the Product and its use.

8. U.S. GOVERNMENT END-USERS. This Product is a “commercial item,” as that term is defined in 48 C.F.R. 2.101, consisting of “commercial computer software” and “commercial computer software documentation,” as such terms are used in 48 C.F.R. 12.212 (Sept. 1995) and 48 C.F.R. 227.7202 (June 1995). Consistent with 48 C.F.R. 12.212, 48 C.F.R. 27.405(b)(2) (June 1998) and 48 C.F.R. 227.7202, all U.S. Government End Users acquire the Product with only those rights as set forth therein.

9. MISCELLANEOUS. (a) This Agreement constitutes the entire agreement between Mozilla and you concerning the subject matter hereof, and it may only be modified by a written amendment signed by an authorized executive of Mozilla. (b) Except to the extent applicable law, if any, provides otherwise, this Agreement will be governed by the laws of the state of California, U.S.A., excluding its conflict of law provisions. (c) This Agreement will not be governed by the United Nations Convention on Contracts for the International Sale of Goods. (d) If any part of this Agreement is held invalid or unenforceable, that part will be construed to reflect the parties’ original intent, and the remaining portions will remain in full force and effect. (e) A waiver by either party of any term or condition of this Agreement or any breach thereof, in any one instance, will not waive such term or condition or any subsequent breach thereof. (f) Except as required by law, the controlling language of this Agreement is English. (g) You may assign your rights under this Agreement to any party that consents to, and agrees to be bound by, its terms; the Mozilla Corporation may assign its rights under this Agreement without condition. (h) This Agreement will be binding upon and inure to the benefit of the parties, their successors and permitted assigns.

PK -5%%content/browser/EULA.xul %updateDTD; %brandDTD; ]> &sanitizeItems.label; PK t7Dc44"content/browser/urlbarBindings.xml return true; 0 Cc["@mozilla.org/intl/stringbundle;1"]. getService(Ci.nsIStringBundleService). createBundle("chrome://browser/locale/places/places.properties"); ") to text to be spoke aloud // by screen readers. convert "tag" and "bookmark" to the localized versions, // but don't do anything for "favicon" (the default) if (aType != "favicon") { label += " " + this._bundle.GetStringFromName(aType + "ResultLabel"); } return label; ]]> PK Yy7KK!content/browser/utilityOverlay.js//@line 39 "/builds/tinderbox/Fx-Mozilla1.9-Release/Linux_2.6.18-8.el5_Depend/mozilla/browser/base/content/utilityOverlay.js" /** * Communicator Shared Utility Library * for shared application glue for the Communicator suite of applications **/ var goPrefWindow = 0; var gBidiUI = false; function getBrowserURL() { return "chrome://browser/content/browser.xul"; } function goToggleToolbar( id, elementID ) { var toolbar = document.getElementById(id); var element = document.getElementById(elementID); if (toolbar) { var isHidden = toolbar.hidden; toolbar.hidden = !isHidden; document.persist(id, 'hidden'); if (element) { element.setAttribute("checked", isHidden ? "true" : "false"); document.persist(elementID, 'checked'); } } } function getTopWin() { var windowManager = Components.classes['@mozilla.org/appshell/window-mediator;1'] .getService(Components.interfaces.nsIWindowMediator); return windowManager.getMostRecentWindow("navigator:browser"); } function openTopWin( url ) { openUILink(url, {}) } function getBoolPref ( prefname, def ) { try { var pref = Components.classes["@mozilla.org/preferences-service;1"] .getService(Components.interfaces.nsIPrefBranch); return pref.getBoolPref(prefname); } catch(er) { return def; } } // Change focus for this browser window to |aElement|, without focusing the // window itself. function focusElement(aElement) { // This is a redo of the fix for jag bug 91884 var ww = Components.classes["@mozilla.org/embedcomp/window-watcher;1"] .getService(Components.interfaces.nsIWindowWatcher); if (window == ww.activeWindow) aElement.focus(); else { // set the element in command dispatcher so focus will restore properly // when the window does become active var cmdDispatcher = document.commandDispatcher; if (aElement instanceof Window) { cmdDispatcher.focusedWindow = aElement; cmdDispatcher.focusedElement = null; } else if (aElement instanceof Element) { cmdDispatcher.focusedWindow = aElement.ownerDocument.defaultView; cmdDispatcher.focusedElement = aElement; } } } // openUILink handles clicks on UI elements that cause URLs to load. function openUILink( url, e, ignoreButton, ignoreAlt, allowKeywordFixup, postData, referrerUrl ) { var where = whereToOpenLink(e, ignoreButton, ignoreAlt); openUILinkIn(url, where, allowKeywordFixup, postData, referrerUrl); } /* whereToOpenLink() looks at an event to decide where to open a link. * * The event may be a mouse event (click, double-click, middle-click) or keypress event (enter). * * On Windows, the modifiers are: * Ctrl new tab, selected * Shift new window * Ctrl+Shift new tab, in background * Alt save * * You can swap Ctrl and Ctrl+shift by toggling the hidden pref * browser.tabs.loadBookmarksInBackground (not browser.tabs.loadInBackground, which * is for content area links). * * Middle-clicking is the same as Ctrl+clicking (it opens a new tab) and it is * subject to the shift modifier and pref in the same way. * * Exceptions: * - Alt is ignored for menu items selected using the keyboard so you don't accidentally save stuff. * (Currently, the Alt isn't sent here at all for menu items, but that will change in bug 126189.) * - Alt is hard to use in context menus, because pressing Alt closes the menu. * - Alt can't be used on the bookmarks toolbar because Alt is used for "treat this as something draggable". * - The button is ignored for the middle-click-paste-URL feature, since it's always a middle-click. */ function whereToOpenLink( e, ignoreButton, ignoreAlt ) { if (!e) e = { shiftKey:false, ctrlKey:false, metaKey:false, altKey:false, button:0 }; var shift = e.shiftKey; var ctrl = e.ctrlKey; var meta = e.metaKey; var alt = e.altKey && !ignoreAlt; // ignoreButton allows "middle-click paste" to use function without always opening in a new window. var middle = !ignoreButton && e.button == 1; var middleUsesTabs = getBoolPref("browser.tabs.opentabfor.middleclick", true); // Don't do anything special with right-mouse clicks. They're probably clicks on context menu items. //@line 167 "/builds/tinderbox/Fx-Mozilla1.9-Release/Linux_2.6.18-8.el5_Depend/mozilla/browser/base/content/utilityOverlay.js" if (ctrl || (middle && middleUsesTabs)) { //@line 169 "/builds/tinderbox/Fx-Mozilla1.9-Release/Linux_2.6.18-8.el5_Depend/mozilla/browser/base/content/utilityOverlay.js" if (shift) return "tabshifted"; else return "tab"; } else if (alt) { return "save"; } else if (shift || (middle && !middleUsesTabs)) { return "window"; } else { return "current"; } } /* openUILinkIn opens a URL in a place specified by the parameter |where|. * * |where| can be: * "current" current tab (if there aren't any browser windows, then in a new window instead) * "tab" new tab (if there aren't any browser windows, then in a new window instead) * "tabshifted" same as "tab" but in background if default is to select new tabs, and vice versa * "window" new window * "save" save to disk (with no filename hint!) * * allowThirdPartyFixup controls whether third party services such as Google's * I Feel Lucky are allowed to interpret this URL. This parameter may be * undefined, which is treated as false. */ function openUILinkIn( url, where, allowThirdPartyFixup, postData, referrerUrl ) { if (!where || !url) return; if (where == "save") { saveURL(url, null, null, true, null, referrerUrl); return; } var w = getTopWin(); if (!w || where == "window") { openDialog(getBrowserURL(), "_blank", "chrome,all,dialog=no", url, null, referrerUrl, postData, allowThirdPartyFixup); return; } var loadInBackground = getBoolPref("browser.tabs.loadBookmarksInBackground", false); switch (where) { case "current": w.loadURI(url, referrerUrl, postData, allowThirdPartyFixup); break; case "tabshifted": loadInBackground = !loadInBackground; // fall through case "tab": var browser = w.getBrowser(); browser.loadOneTab(url, referrerUrl, null, postData, loadInBackground, allowThirdPartyFixup || false); break; } // Call focusElement(w.content) instead of w.content.focus() to make sure // that we don't raise the old window, since the URI we just loaded may have // resulted in a new frontmost window (e.g. "javascript:window.open('');"). focusElement(w.content); } // Used as an onclick handler for UI elements with link-like behavior. // e.g. onclick="checkForMiddleClick(this, event);" function checkForMiddleClick(node, event) { // We should be using the disabled property here instead of the attribute, // but some elements that this function is used with don't support it (e.g. // menuitem). if (node.getAttribute("disabled") == "true") return; // Do nothing if (event.button == 1) { /* Execute the node's oncommand. * * XXX: we should use node.oncommand(event) once bug 246720 is fixed. */ var fn = new Function("event", node.getAttribute("oncommand")); fn.call(node, event); // If the middle-click was on part of a menu, close the menu. // (Menus close automatically with left-click but not with middle-click.) closeMenus(event.target); } } // Closes all popups that are ancestors of the node. function closeMenus(node) { if ("tagName" in node) { if (node.namespaceURI == "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" && (node.tagName == "menupopup" || node.tagName == "popup")) node.hidePopup(); closeMenus(node.parentNode); } } // Gather all descendent text under given document node. function gatherTextUnder ( root ) { var text = ""; var node = root.firstChild; var depth = 1; while ( node && depth > 0 ) { // See if this node is text. if ( node.nodeType == Node.TEXT_NODE ) { // Add this text to our collection. text += " " + node.data; } else if ( node instanceof HTMLImageElement) { // If it has an alt= attribute, use that. var altText = node.getAttribute( "alt" ); if ( altText && altText != "" ) { text = altText; break; } } // Find next node to test. // First, see if this node has children. if ( node.hasChildNodes() ) { // Go to first child. node = node.firstChild; depth++; } else { // No children, try next sibling. if ( node.nextSibling ) { node = node.nextSibling; } else { // Last resort is our next oldest uncle/aunt. node = node.parentNode.nextSibling; depth--; } } } // Strip leading whitespace. text = text.replace( /^\s+/, "" ); // Strip trailing whitespace. text = text.replace( /\s+$/, "" ); // Compress remaining whitespace. text = text.replace( /\s+/g, " " ); return text; } function getShellService() { var shell = null; try { shell = Components.classes["@mozilla.org/browser/shell-service;1"] .getService(Components.interfaces.nsIShellService); } catch (e) {dump("*** e = " + e + "\n");} return shell; } function isBidiEnabled() { var rv = false; try { var localeService = Components.classes["@mozilla.org/intl/nslocaleservice;1"] .getService(Components.interfaces.nsILocaleService); var systemLocale = localeService.getSystemLocale().getCategory("NSILOCALE_CTYPE").substr(0,3); switch (systemLocale) { case "ar-": case "he-": case "fa-": case "ur-": case "syr": rv = true; } } catch (e) {} // check the overriding pref if (!rv) rv = getBoolPref("bidi.browser.ui"); return rv; } function openAboutDialog() { //@line 369 "/builds/tinderbox/Fx-Mozilla1.9-Release/Linux_2.6.18-8.el5_Depend/mozilla/browser/base/content/utilityOverlay.js" window.openDialog("chrome://browser/content/aboutDialog.xul", "About", "modal,centerscreen,chrome,resizable=no"); //@line 371 "/builds/tinderbox/Fx-Mozilla1.9-Release/Linux_2.6.18-8.el5_Depend/mozilla/browser/base/content/utilityOverlay.js" } function openPreferences(paneID) { var instantApply = getBoolPref("browser.preferences.instantApply", false); var features = "chrome,titlebar,toolbar,centerscreen" + (instantApply ? ",dialog=no" : ",modal"); var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"] .getService(Components.interfaces.nsIWindowMediator); var win = wm.getMostRecentWindow("Browser:Preferences"); if (win) { win.focus(); if (paneID) { var pane = win.document.getElementById(paneID); win.document.documentElement.showPane(pane); } } else openDialog("chrome://browser/content/preferences/preferences.xul", "Preferences", features, paneID); } /** * Opens the release notes page for this version of the application. * @param event * The DOM Event that caused this function to be called, used to * determine where the release notes page should be displayed based * on modifiers (e.g. Ctrl = new tab) */ function openReleaseNotes(event) { var formatter = Components.classes["@mozilla.org/toolkit/URLFormatterService;1"] .getService(Components.interfaces.nsIURLFormatter); var relnotesURL = formatter.formatURLPref("app.releaseNotesURL"); openUILink(relnotesURL, event, false, true); } /** * Opens the update manager and checks for updates to the application. */ function checkForUpdates() { var um = Components.classes["@mozilla.org/updates/update-manager;1"]. getService(Components.interfaces.nsIUpdateManager); var prompter = Components.classes["@mozilla.org/updates/update-prompt;1"]. createInstance(Components.interfaces.nsIUpdatePrompt); // If there's an update ready to be applied, show the "Update Downloaded" // UI instead and let the user know they have to restart the browser for // the changes to be applied. if (um.activeUpdate && um.activeUpdate.state == "pending") prompter.showUpdateDownloaded(um.activeUpdate, false); else prompter.checkForUpdates(); } function buildHelpMenu() { // Enable/disable the "Report Web Forgery" menu item. safebrowsing object // may not exist in OSX if (typeof safebrowsing != "undefined") safebrowsing.setReportPhishingMenu(); var updates = Components.classes["@mozilla.org/updates/update-service;1"]. getService(Components.interfaces.nsIApplicationUpdateService); var um = Components.classes["@mozilla.org/updates/update-manager;1"]. getService(Components.interfaces.nsIUpdateManager); // Disable the UI if the update enabled pref has been locked by the // administrator or if we cannot update for some other reason var checkForUpdates = document.getElementById("checkForUpdates"); var canUpdate = updates.canUpdate; checkForUpdates.setAttribute("disabled", !canUpdate); if (!canUpdate) return; var strings = document.getElementById("bundle_browser"); var activeUpdate = um.activeUpdate; // If there's an active update, substitute its name into the label // we show for this item, otherwise display a generic label. function getStringWithUpdateName(key) { if (activeUpdate && activeUpdate.name) return strings.getFormattedString(key, [activeUpdate.name]); return strings.getString(key + "Fallback"); } // By default, show "Check for Updates..." var key = "default"; if (activeUpdate) { switch (activeUpdate.state) { case "downloading": // If we're downloading an update at present, show the text: // "Downloading Firefox x.x..." otherwise we're paused, and show // "Resume Downloading Firefox x.x..." key = updates.isDownloading ? "downloading" : "resume"; break; case "pending": // If we're waiting for the user to restart, show: "Apply Downloaded // Updates Now..." key = "pending"; break; } } checkForUpdates.label = getStringWithUpdateName("updatesItem_" + key); if (um.activeUpdate && updates.isDownloading) checkForUpdates.setAttribute("loading", "true"); else checkForUpdates.removeAttribute("loading"); } function isElementVisible(aElement) { if (!aElement) return false; // If aElement or a direct or indirect parent is hidden or collapsed, // height, width or both will be 0. var bo = aElement.boxObject; return (bo.height > 0 && bo.width > 0); } function getBrowserFromContentWindow(aContentWindow) { var browsers = gBrowser.browsers; for (var i = 0; i < browsers.length; i++) { if (browsers[i].contentWindow == aContentWindow) return browsers[i]; } return null; } /** * openNewTabWith: opens a new tab with the given URL. * * @param aURL * The URL to open (as a string). * @param aDocument * The document from which the URL came, or null. This is used to set the * referrer header and to do a security check of whether the document is * allowed to reference the URL. If null, there will be no referrer * header and no security check. * @param aPostData * Form POST data, or null. * @param aEvent * The triggering event (for the purpose of determining whether to open * in the background), or null. * @param aAllowThirdPartyFixup * If true, then we allow the URL text to be sent to third party services * (e.g., Google's I Feel Lucky) for interpretation. This parameter may * be undefined in which case it is treated as false. * @param [optional] aReferrer * If aDocument is null, then this will be used as the referrer. * There will be no security check. */ function openNewTabWith(aURL, aDocument, aPostData, aEvent, aAllowThirdPartyFixup, aReferrer) { if (aDocument) urlSecurityCheck(aURL, aDocument.nodePrincipal); var prefSvc = Components.classes["@mozilla.org/preferences-service;1"] .getService(Components.interfaces.nsIPrefService); prefSvc = prefSvc.getBranch(null); // should we open it in a new tab? var loadInBackground = true; try { loadInBackground = prefSvc.getBoolPref("browser.tabs.loadInBackground"); } catch(ex) { } if (aEvent && aEvent.shiftKey) loadInBackground = !loadInBackground; // As in openNewWindowWith(), we want to pass the charset of the // current document over to a new tab. var wintype = document.documentElement.getAttribute("windowtype"); var originCharset; if (wintype == "navigator:browser") originCharset = window.content.document.characterSet; // open link in new tab var referrerURI = aDocument ? aDocument.documentURIObject : aReferrer; var browser = top.document.getElementById("content"); browser.loadOneTab(aURL, referrerURI, originCharset, aPostData, loadInBackground, aAllowThirdPartyFixup || false); } function openNewWindowWith(aURL, aDocument, aPostData, aAllowThirdPartyFixup, aReferrer) { if (aDocument) urlSecurityCheck(aURL, aDocument.nodePrincipal); // if and only if the current window is a browser window and it has a // document with a character set, then extract the current charset menu // setting from the current document and use it to initialize the new browser // window... var charsetArg = null; var wintype = document.documentElement.getAttribute("windowtype"); if (wintype == "navigator:browser") charsetArg = "charset=" + window.content.document.characterSet; var referrerURI = aDocument ? aDocument.documentURIObject : aReferrer; window.openDialog(getBrowserURL(), "_blank", "chrome,all,dialog=no", aURL, charsetArg, referrerURI, aPostData, aAllowThirdPartyFixup); } /** * isValidFeed: checks whether the given data represents a valid feed. * * @param aData * An object representing a feed with title, href and type. * @param aPrincipal * The principal of the document, used for security check. * @param aIsFeed * Whether this is already a known feed or not, if true only a security * check will be performed. */ function isValidFeed(aData, aPrincipal, aIsFeed) { if (!aData || !aPrincipal) return false; if (!aIsFeed) { var type = aData.type && aData.type.toLowerCase(); type = type.replace(/^\s+|\s*(?:;.*)?$/g, ""); aIsFeed = (type == "application/rss+xml" || type == "application/atom+xml"); if (!aIsFeed) { // really slimy: general XML types with magic letters in the title const titleRegex = /(^|\s)rss($|\s)/i; aIsFeed = ((type == "text/xml" || type == "application/rdf+xml" || type == "application/xml") && titleRegex.test(aData.title)); } } if (aIsFeed) { try { urlSecurityCheck(aData.href, aPrincipal, Components.interfaces.nsIScriptSecurityManager.DISALLOW_INHERIT_PRINCIPAL); } catch(ex) { aIsFeed = false; } } if (type) aData.type = type; return aIsFeed; } PK (x6!! content/browser/web-panels.js//@line 39 "/builds/tinderbox/Fx-Mozilla1.9-Release/Linux_2.6.18-8.el5_Depend/mozilla/browser/base/content/web-panels.js" const NS_ERROR_MODULE_NETWORK = 2152398848; const NS_NET_STATUS_READ_FROM = NS_ERROR_MODULE_NETWORK + 8; const NS_NET_STATUS_WROTE_TO = NS_ERROR_MODULE_NETWORK + 9; function getPanelBrowser() { return document.getElementById("web-panels-browser"); } var panelProgressListener = { onProgressChange : function (aWebProgress, aRequest, aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress) { }, onStateChange : function(aWebProgress, aRequest, aStateFlags, aStatus) { if (!aRequest) return; //ignore local/resource:/chrome: files if (aStatus == NS_NET_STATUS_READ_FROM || aStatus == NS_NET_STATUS_WROTE_TO) return; if (aStateFlags & Ci.nsIWebProgressListener.STATE_START && aStateFlags & Ci.nsIWebProgressListener.STATE_IS_NETWORK) { window.parent.document.getElementById('sidebar-throbber').setAttribute("loading", "true"); } else if (aStateFlags & Ci.nsIWebProgressListener.STATE_STOP && aStateFlags & Ci.nsIWebProgressListener.STATE_IS_NETWORK) { window.parent.document.getElementById('sidebar-throbber').removeAttribute("loading"); } } , onLocationChange : function(aWebProgress, aRequest, aLocation) { UpdateBackForwardCommands(getPanelBrowser().webNavigation); }, onStatusChange : function(aWebProgress, aRequest, aStatus, aMessage) { }, onSecurityChange : function(aWebProgress, aRequest, aState) { }, QueryInterface : function(aIID) { if (aIID.equals(Ci.nsIWebProgressListener) || aIID.equals(Ci.nsISupportsWeakReference) || aIID.equals(Ci.nsISupports)) return this; throw Cr.NS_NOINTERFACE; } }; var gLoadFired = false; function loadWebPanel(aURI) { var panelBrowser = getPanelBrowser(); if (gLoadFired) { panelBrowser.webNavigation .loadURI(aURI, nsIWebNavigation.LOAD_FLAGS_NONE, null, null, null); } panelBrowser.setAttribute("cachedurl", aURI); } function load() { var panelBrowser = getPanelBrowser(); panelBrowser.webProgress.addProgressListener(panelProgressListener, Ci.nsIWebProgress.NOTIFY_ALL); if (panelBrowser.getAttribute("cachedurl")) { panelBrowser.webNavigation .loadURI(panelBrowser.getAttribute("cachedurl"), nsIWebNavigation.LOAD_FLAGS_NONE, null, null, null); } gNavigatorBundle = document.getElementById("bundle_browser"); gLoadFired = true; } function unload() { getPanelBrowser().webProgress.removeProgressListener(panelProgressListener); } function PanelBrowserStop() { getPanelBrowser().webNavigation.stop(nsIWebNavigation.STOP_ALL) } function PanelBrowserReload() { getPanelBrowser().webNavigation .sessionHistory .QueryInterface(nsIWebNavigation) .reload(nsIWebNavigation.LOAD_FLAGS_NONE); } PK #m7zE55content/browser/web-panels.xul %browserDTD; %textcontextDTD; ]>
PK J6*"content/browser/feeds/subscribe.js/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Feed Subscribe Handler. * * The Initial Developer of the Original Code is Google Inc. * Portions created by the Initial Developer are Copyright (C) 2006 * the Initial Developer. All Rights Reserved. * * Contributor(s): * Ben Goodger * Asaf Romano * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ var SubscribeHandler = { /** * The nsIFeedWriter object that produces the UI */ _feedWriter: null, init: function SH_init() { this._feedWriter = new BrowserFeedWriter(); this._feedWriter.init(window); }, writeContent: function SH_writeContent() { this._feedWriter.writeContent(); }, uninit: function SH_uninit() { this._feedWriter.close(); }, subscribe: function FH_subscribe() { this._feedWriter.subscribe(); } }; PK 6A6=b\b\!content/browser/places/places.xml « » 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 return new Date(this._visibleMonth); this._visibleMonth = new Date(val.getFullYear(), val.getMonth(), 1); this.drawMonth(); if (! this._selectBegin) return null; else return new Date(this._selectBegin); this._selectNothing = false; this._selectBegin = val; this.updateSelection(this._selectBegin, this._selectEnd); this.fireRangeEvent(); if (! this._selectEnd) return null; else return new Date(this._selectEnd); this._selectNothing = false; this._selectEnd = val; this.updateSelection(this._selectBegin, this._selectEnd); this.fireRangeEvent(); = this._numCells) { // reselect month for end range this.visibleMonth = end; } } this._selectNothing = false; this.updateSelection(begin, end); this.fireRangeEvent(); ]]> return this._selectNothing; this._selectNothing = val; end.getTime()) { this._selectBegin = end; this._selectEnd = begin; } else { this._selectBegin = begin; this._selectEnd = end; } this.drawSelection(); ]]> var msDiff = a.getTime() - b.getTime(); return Math.floor(msDiff / 86400000); // 1000ms/s * 60s/m * 60m/h * 24h/d = 86400000ms/d false = beginIndex && i <= endIndex); if (sel != this._selected[i]) { this._days[i].setAttribute("selected", sel ? "true" : ""); this._selected[i] = sel; } } ]]> '9') { return null; } var cellNumber = Number(tail); var d = new Date(this._cell0Date); d.setDate(d.getDate() + cellNumber); return d; ]]> PK )57enQQ!content/browser/places/places.csstree[type="places"] { -moz-binding: url("chrome://browser/content/places/tree.xml#places-tree"); } hbox[type="places"] { -moz-binding: url("chrome://browser/content/places/toolbar.xml#places-bar"); overflow: hidden; } menupopup[type="places"] { -moz-binding: url("chrome://browser/content/places/menu.xml#places-menupopup"); } PK )57Tk//$content/browser/places/organizer.css .history-calendar { -moz-binding: url("chrome://browser/content/places/places.xml#calendar"); } #searchFilter { -moz-binding: url("chrome://browser/content/places/places.xml#textbox-timed-arbitrary"); } button.commandButton { -moz-binding: url("chrome://browser/content/places/places.xml#command-button"); } .filterList { -moz-binding: url("chrome://browser/content/places/places.xml#filter-button"); } #contentTitle { width: 0px; } .textbox-input-closebutton { display: none; } #searchFilter[filtered="true"] .textbox-input-closebutton { display: -moz-box; } /* Edit Item Panel */ #infoScrollbox[minimal="true"] #editBMPanel_descriptionRow, #infoScrollbox[minimal="true"] #editBMPanel_loadInSidebarCheckbox, #infoScrollbox[minimal="true"] #editBMPanel_keywordRow { visibility: collapse; } PK ;s7 ܪ.content/browser/places/bookmarkProperties2.xul %propertiesDTD; %placesDTD; ]>

PK 1Kcontent/branding/about.pngPK 1z)9content/browser/EULA.xhtmlPK -5%%WVcontent/browser/EULA.xulPK TI6) FF[content/browser/metaData.jsPK `^e5us=content/browser/metaData.xulPK h7pKpK%content/browser/pageinfo/pageInfo.xulPK `m7$pcontent/browser/pageinfo/pageInfo.jsPK b67udd%Ėcontent/browser/pageinfo/pageInfo.cssPK VB7v!kcontent/browser/pageinfo/feeds.jsPK m7"ȟcontent/browser/pageinfo/feeds.xmlPK I78'content/browser/pageinfo/permissions.jsPK qOt7~(~($content/browser/pageinfo/security.jsPK v6\$content/browser/openLocation.jsPK b2___ content/browser/openLocation.xulPK ,y\2%}fcontent/browser/pageReport.jsPK |Uj2FVcontent/browser/pageReport.xulPK N`2#V^'content/browser/pageReportFirstTime.xulPK q740ccontent/browser/safeMode.jsPK 3a4)bTTJcontent/browser/safeMode.xulPK iI7]dO^##content/browser/sanitize.jsPK v7p"Acontent/browser/tabbrowser.xmlPK %5x content/browser/sanitize.xulPK t7Dc44" content/browser/urlbarBindings.xmlPK Yy7KK!!R content/browser/utilityOverlay.jsPK (x6!! @ content/browser/web-panels.jsPK #m7zE55p content/browser/web-panels.xulPK ܲ6or#Q content/browser/baseMenuOverlay.xulPK a7677 { content/browser/nsContextMenu.jsPK D2c content/browser/hiddenWindow.xulPK rk5hG%E content/browser/viewSourceOverlay.xulPK ,A7X3H||' content/browser/migration/migration.xulPK :7?==&C content/browser/migration/migration.jsPK Ô7R9R9(h content/browser/preferences/advanced.xulPK Ô7{6W:W:' content/browser/preferences/advanced.jsPK \-3tS 0S content/browser/preferences/advanced-scripts.xulPK m7g, ,j] content/browser/preferences/applications.xulPK iu7\Z+i content/browser/preferences/applications.jsPK D97b&Q content/browser/preferences/colors.xulPK 5VD5'` content/browser/preferences/cookies.xulPK hv7G-1JqJq&t content/browser/preferences/cookies.jsPK SI73Bv' content/browser/preferences/content.xulPK SI7^22&content/browser/preferences/content.jsPK 27o?(?(*'$content/browser/preferences/connection.xulPK K~4ͽ*S44)Lcontent/browser/preferences/connection.jsPK U5X&߃.)gcontent/browser/preferences/fallbackEULA.xhtmlPK D97fQ,,%hcontent/browser/preferences/fonts.xulPK -U4:E$ content/browser/preferences/fonts.jsPK 7iQQ(icontent/browser/preferences/handlers.xmlPK 7`䴓(content/browser/preferences/handlers.cssPK D97%(()content/browser/preferences/languages.xulPK DO6#oL&&(Hcontent/browser/preferences/languages.jsPK Ô7$dcontent/browser/preferences/main.xulPK Ô7??#Icontent/browser/preferences/main.jsPK \-3o +|Wcontent/browser/preferences/permissions.xulPK Z6dNz1z1*econtent/browser/preferences/permissions.jsPK j6eR/Fcontent/browser/preferences/permissionsutils.jsPK U5qLL)content/browser/preferences/phishEULA.xulPK 疕66d@(content/browser/preferences/phishEULA.jsPK '5E=+Wcontent/browser/preferences/phishEULA.xhtmlPK Ô7HT+content/browser/preferences/preferences.xulPK 7y'content/browser/preferences/privacy.xulPK 7O1""&content/browser/preferences/privacy.jsPK %5  ( content/browser/preferences/sanitize.xulPK ́L7#ȑuu( content/browser/preferences/security.xulPK 0S7wGr99'1content/browser/preferences/security.jsPK 943++0lcontent/browser/preferences/securityWarnings.xulPK 94\Jaa/{zcontent/browser/preferences/securityWarnings.jsPK TJ7o.)|content/browser/preferences/selectBookmark.xulPK J6ڭKK- content/browser/preferences/selectBookmark.jsPK Ib17 w $content/browser/preferences/tabs.xulPK !}4a   #˞content/browser/preferences/tabs.jsPK w7N,#content/browser/search/searchbarBindings.cssPK v7\~~!bcontent/browser/search/search.xmlPK 'c6xo o ('content/browser/search/engineManager.xulPK p6 X(FF's5content/browser/search/engineManager.jsPK +|"7BB(|content/browser/setDesktopBackground.xulPK +|"79.&'content/browser/setDesktopBackground.jsPK Yl7 S S %(content/browser/feeds/subscribe.xhtmlPK J6*"content/browser/feeds/subscribe.jsPK 6A6=b\b\!content/browser/places/places.xmlPK )57enQQ! content/browser/places/places.cssPK )57Tk//$- content/browser/places/organizer.cssPK ;s7 ܪ.content/browser/places/bookmarkProperties2.xulPK (v7[SN5`5`!-content/browser/places/places.xulPK a7o< ccontent/browser/places/places.jsPK ;s7 ܪ-]ocontent/browser/places/bookmarkProperties.xulPK 7 呣,content/browser/places/bookmarkProperties.jsPK ht7(((1content/browser/places/placesOverlay.xulPK ;s7F-?"Ocontent/browser/places/toolbar.xmlPK 7cWJWJcontent/browser/places/menu.xmlPK ht78VK2content/browser/places/tree.xmlPK 7AYݴcontent/browser/places/utils.jsPK x7]d $Ͷcontent/browser/places/controller.jsPK ;s7 QCj"content/browser/places/treeView.jsPK 5ee%Ycontent/browser/places/demos/time.xulPK S4S0&\content/browser/places/demos/time.htmlPK S4"z%_content/browser/places/demos/time.cssPK S4Ij$$$`content/browser/places/demos/time.jsPK iX7D)content/browser/history/history-panel.xulPK {7Q \\'”content/browser/places/history-panel.jsPK ;s74',ccontent/browser/bookmarks/bookmarksPanel.xulPK ht7a3"+content/browser/bookmarks/bookmarksPanel.jsPK ",H6'(;)content/browser/bookmarks/sidebarUtils.jsPK ;s7$|^tt(content/browser/places/moveBookmarks.xulPK a7 'Qcontent/browser/places/moveBookmarks.jsPK ;s7߮G.Kcontent/browser/places/editBookmarkOverlay.xulPK a7yzyz-econtent/browser/places/editBookmarkOverlay.jsPK v7 2 PP))_content/browser/safebrowsing/sb-loader.jsPK ,A7i{{0vcontent/browser/safebrowsing/warning-overlay.xulPK &b=7T' ' 8content/browser/safebrowsing/report-phishing-overlay.xulPK []7U |!!.content/browser/safebrowsing/blockedSite.xhtmlPK{{'l