Techie Turmoil

Canon iP1900 driver

Canon provide a Debian package for this printer, which is great. Unfortunately it will not install on recent distributions of Debian or Ubuntu, as it depends on old-school libcupsys2. I’ve repackaged them to adjust the dependency. Here is the modified version.

Fixing those pesky PNGs

I’ve been struggling with PNG colour matching for a while. It’s fine on my Linux boxes, with a standard sRGB colour profile, but on Macs and Win/IE with an ICCP in place, the colours never match up with the CSS colours. This is always frustrating, as PNGs are so nice for proper alpha transparency. I [...]

Nginx and WordPress with SSL and Queries

So setting up WordPress on Nginx isn’t difficult. You could follow the example here. This works fine for just a basic install, but what about something that has a load of plugins, for forms and such like? Here we need to tweak the config a bit. SSL: using SSL with Nginx is not as simple [...]

Get rid of caption inline styles in WordPress

For some stupid reason, WordPress injects an inline style to its image caption divs, setting the width to 10px larger than the enclosed image. This is wrong in so many ways: You should never use inline styles. WordPress normally leaves styling to the themes (as it should). Even if you wanted this behaviour, padding would [...]

Update to Canon iP1500 drivers

I’ve updated this previous post about the Canon iP1500 drivers for Ubuntu. I’ve added a new package with a script that actually works. The details of what’s in the script are here if you want to know what’s really going on.

Pure Genius

Just found this on Google’s developer site. It’s called Chrome Frame and basically makes Internet Explorer render using Chrome, via a plugin. So we developers can make our sites insist on it, not have to worry about crappy IE rendering and drag those pesky, luddite IE users into the wonderful world of HTML5/CSS3/decent JS. Sounds [...]

Canon iP1500 Ubuntu Driver

The iP1500 is a cheap, reliable little printer, but Canon didn’t bother with Linux drivers until recently. They now publish a driver for this printer, but it is a bit old and compatible with RHEL 3 and Suse 9.1, so in rpm format. Even after converting the packages with alien, there is still some fiddling [...]

Browse CUPS shares on Leopard

Apple annoyingly disabled CUPS browsing on Leopard. It always worked in previous versions and is particularly wierd as they own the CUPS project. In fact they claim to have written it, although they did not. Anyway to fix the browsing issue type: cupsctl BrowseProtocols=’”cups dnssd”‘ in your much neglected OSX terminal. Job done.

Why you should never call submit, "submit"…

So I spent several hours trying to get to the bottom of a rather annoying Javascript problem. I wanted a form that auto-submitted. For good reason of course – to enable data to be saved to a database, before it was transmitted somewhere else.

IBM Linux Ad

So this is an old ad, but I kinda liked it…

ZXZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZXZZXZXXXXZXXXXXXXXXXS2sp=:ln#Z=Xo==n=ZXX#XZ#ZX=
ZZZZZZZZZZZ#Z#ZZ#Z#ZZZZZZZZZZXZXZZZXZZXZXZXXXXXXXXSSSSS1Wo::Z#=X=o=Xnn==XX==XZXX
ZZZZZZZ#Z#ZZZZ#ZZZZZZ#ZZZZZZZZZZZZZZZZZZXXXXXXXXXXXXSSo>=lvino===nnX=n==o=onnZZZ
#ZZZ#Z#ZZZZ#Z#ZZ#Z#Z#ZZ#Z#Z#Z#Z#Z#ZZ#XZZZZZZZXZXXXXXXXoiZZ=|:vnn=vv=n=nonnnn===X
ZZ#ZZZZZ#Z#Z#ZZ#ZZZ#ZZZZ#ZZZZZZZZZZ#ZZ#ZZ#ZZZZZZZXXXXSniWX:|:|vvl|nvIIlvlvvo=vnX
#ZZ#Z#Z#Z#ZZZZ#ZZ#ZZ#Z#ZZZ#Z#Z#Z#Z#ZZ#ZZZZZZZZZZZZZX1nl#ZZvvI+|li|nI|||:nvoX=v:=
#Z#Z#Z#Z#ZZ##Z#Z#Z#Z#ZZ#Z#Z#ZZ#ZZ#ZZXYYY1Y***M*1*YYIIimZXZn|:==vvvnnIi+l=n=XX||n
#Z#ZZ#ZZ#Z#Z#Z#Z#Z#Z#Z#Z#Z#Z#ZZS**M0m#Z#mZZZ=ZZXX=XXX###==nIi+=:XX=:Invv=nvn=i|i
#Z#Z#Z##Z###Z#Z#Z#Z#Z#Z#Z##S1M8mmQm#XZX==nnn=XXXXXX=no=o==nni=;|=X=o==ivovlv=v||
#######Z##Z##Z##Z##Z###ZZ1NXZmii|#X===n==XX====XX##ZnXnovlvnI;_vn=vn==i:=vnn=i=i
##Z#Z#Z#####Z##Z##Z##Z#Yl###mWQWZXZX=mXZZX==XXXmQWQQQ#mmn=vvv:vvvnvvvvvvov<vvvi|
#####################ZY&#WQmZZmZXmm#Z#ZZXZmmiQivvvvnviilim#n:lvvvv:lvInvvnIvivv%
mm##################X0mQiiQ##WW#QWmmWWQivvvnnnooo2ooooovIiW#wvvlv:vv::v:vv==:|:=
WmBmmm#mmm#########2$QIvvIiviiilliiiivnnnn2oooo2So22X22onvvWW#al=;+i|iIIvv=vi++:
mmBBmmmmmmm#######2$ioooononnvnnnnnnoonnn2oSoo22S222oS222nvliQma+;+|i+|i|:}=|=||
mmmmBBWmWmmmm#m##ZQvo22S2S2X2SSSS2oo222S22SoS2XS2222So222onvIliQc+==|+||lilvv|:|
mmmmmmmmmmmmmmmm#evooS2SSSX2SSXXSSoSSS22S2SSSSSSS2S2o2o2oonnviiim>++=||==+vI|;iv
m#mmmmmmmmmmmmmm#voo22SSSSSSSSXXS2S2SSSXS2XSXXSSXSSo2ooooonvnviQWz|==|++=|:|=+||
mmmmmmmBmmmBmmmmSvo2S2XSXSSSSXSS2S2XXXXXSXXXXXZXXX2oSnoooooovns##Qc|+=;;=i|||:<=
mmmmmBmmWmBmmWm#vn222SSSSSSXXX22XSXZZXZZXXXZXXXXXXXX2oSoooooonviZmGii=|;|v:>|nXX
BBmBBmWmmmBBBmmonoSoS2S2SSXXXX2SXSXZZZZZZXZZZZZXXXZXSSo22noonnvvm#=vvlnl<=:++IZ#
BmBmBmmmWmWmmWZnno222S2SSSSXXSS2XSZ#ZZZZZXXXZZXZXXXXSSo2onnoonvviZZnvZZXZ=av>vn=
BmWmBBWmBmmWmWSvno222222SSSXSSSSXX#XXXXZXZXXXXXXXXSXSSo2oonnnnvvl#Xo:n=X#Z#ZZvnn
WmmBBmmWmWBBBm1nnoo22222SSXXXXXXXSXSSXZXXXZZZXSSSXS2S2S2oonnvnvvvQXnvoXoXZZZmnin
BBBBBWmWmWmWmWvnnno2oo2S2SSXXXZZZXXXZXZZXXXXXXS22SX222SS2oonnnIIvi2nvo=n==XXZ#cv
WmWmWmWmWmWmW#vvnnoooonSnXSSXXXXXXXYYYYS1SSXXX2SXSX2So2oSnonnvvvvvmvvnXl===Z=Xc|
WmWmWmBBBBBBB#ln1}+TVZZ=vI|!!!TXXXwgmsQQiW|M*11XSXSS2S2S2oonnvvvvvilvn=:vXnZX#nI
WmWmWmWBWmWBWhv@'=aa=X#X>n|_;+np<omXmoXonvnvs%QQil*1Svno2SonnIIvvIi=vvn>lXZXXZ#n
WmWmWmWmWBWmW2(:jmZ##wXn=+Idml)!!***?Y?*HHN+H+HHHHQivInnnI1nvIIvvIlevvn(|Iv==XZ=
WBBWmWBWBWmWD[=]WXW()8=l|+|]^=:=;=|||===+|||||+|<aiv&ae+1sZV||QliIl2v:nc+iv3=nX1
WmWmWBWmWBWWf;_mZwm=)o=n:||+===|||i|++=|+|||_wQvvll>QvvgWnga|+I3X|lmvvne+|v|Iv=}
WWBWBWmWWmWmk:jQi#i=|+==nl+==_wggimQgw_<aagvoSoovvvmWv2X%)nvvQga=vi#vlnnli|=<==}
WmWmWBWBWmWW[+Qiiz!::+vvl+<gvvno222ovvvvoo2XXS2onnnnvIo2ninvvvvnviimI:v}|I%|nZo=
WWBWBWmWmWWe(|il>+;::+li+nvnnno222X2nnnoS22SoX2ooon2nvnovQvvvIIlIliGI|n(;v=IZWo=
WmWBWmWWBW#[vI{i(=:::||+<innoo22SnoooonoS2SoXXXSoS(HIvvonQvvvlIIiiQ2:in==|iv:Zl=
WWBWmWBBWmWci={E=:::;|=nvvnoooo2222oooo222o2SSSSo2o%=<QvvivvviiliQmn:v=c|ii|vvv=
WmWBWWBWBWWmpd<E=:;=|=<vvnnoo2o22o2noono2o2222Xo2vSosmQvvIlIIliilQZvivnn2:|vX=av
WWWBWmWBWBWWhie1+=|=;vivnnno2ooS2o2nnnno2ooSSXX2SinoosQvIIlIliiliQGi|l=#Z=vlIv==
WmWBWBWWBWBW1c:i|=;=qvvnnnooo2S222nnvvnooooS2ZSo1vlnSnvvvlvvlillimn|:v=XXXnI||no
WWBWBWBWBWWCvia|==<mvvnnvno2oSoS2oovvvnnnno2SXo2nonvnvvvIivvlliQQ#v|ln==ZX=lvi+n
WWBWBWBWWWEvnvvQmmmvIvnvno2o22222onIIvvnvnnoS2nonoonnnvvivnvIiiQWZ:|vlXn=Z#c|i|v
WBWBWWBWmW1vnnvviiivlnnnoo22oS2S2onIIvnnvvnoS2ovo2ooonvivvvvIiiWQZi|vn=X=vXl=+::
WWWBWmWWWCvnnvnviilvvvoooooo22o2oonvlIvvnnnooSonInnonviivvnviiWmm1|inXXZZnZnvIvv
WWmWWWWBSvnnvvvvQilvvnnoooooo22onnnllIvnvnvnoSnnvvnnl0QvnvvliimmZ>+i==o#ZWZ===vn
WWWBWmWDIvvvIvvIQmiIvvnooooooooonnvlvvvvnnvnnn1vvvvl#QvnvvvliWm#I||:X=XXnXXvXZwn
WWmWBWWlvvvIvnvvi#WlvvnoooonoooonvnvIvnnnvvvnvlOiM8m%vnvvIlliW#1|+|:v=onv==vvX#a
WBWWBWElvvlIvvnvim#<vvvnoooonnnnnnIlvvnnvvvnvvni=wQvvvvvvIvlim1i=||ilI=ZZX#nv=X#
WWBWBWkil0!+!+i0WQW#ivnnnooovnnnnnvliiIIvvvvvnvvivvvnvnvvvIlim:++|v||I==XX1vvv=X
WWBWBWQ%#wwwaanwQiQm#vvvvnnnvvnnnvvvivllvvvIvvvvnvvnvnvvvvvIiZ|+|:n:+lnvvIo=I|:n
WBWmWBmmw%|0Q#mWQW#mWQnnvnnnvvnnnnvnIliQilIlIvvvvvnvnvvvvvvIiG|||nvv+{=v=+ivv>|l
WWmWBWWWmQmg>XX#m#XXWQIvvvnnvvnvnvvvviQii|lllIvvvvnnvnvnvvvIiGi::Xvl||vn==|vov|=
WBWWBWmWBBmW(=XWWWmXXQivvvvvvvvnnnvvvviQmQiiIIIvvvvnvnvvvvvIlmIIvZv=i:=n>in=XXan
WWBWBWBWBWW#QmQiQiWZ=QivvvvvvvnvvvvvviQQQQWQivlvvvnvnvvvvvvllQanX2=c|v#n==l==XXv
WBWBWmWBWmW#Wm#Z#Z=vnWiIvlvIvvvlvvIIliQQQWWQillIvvvvnvvvvvIlli2=wGnlnnXX:%vv===:
WWmWWWWBWWB#GX=vn==mwdillillIvIIllliiWZmWWQilillIvvnvvvvvvlllliQQG:|vX===i+v==nv
WWWWmWmWmWBWcviaX#QiQWiiliiiililliiWmX#QiiQiiillvvvvvvvvvlllllliQe||v=vv=Ivn=n|+
WmWmWWBWWBWWm,==miiiQWQiiiiiiiiiiQmZZ=WWQiiQiiIlIvvnvvvvlliilIiiQC===nvi=nii=Xv=
BmmmmmBBmWmWmknmiiQiQ#miiiQQQQQQZX1==wWWQQQiilIIvvvvvvvllliiilliQC=;+n:lnI::=(;;
#mmmmmmBmmBmmknQQQiQWmWiiQiiQQQ#nvn=XZ##WQQiiiIIvIvvvIllliiiiiiQQ6==|l=:v=Ivl:`=
oXmmmmBmmWmmmm##WWWmmWiiiiQiQQ>=voXXZ#XZWWiiillvvvvvIIIIliiQiiiQQGl|:vviv=vv:v:i
XXm#mmmmm##mmmzX#mW##QiiiiWQQQZvv=XZZZ#mWmiiliIIIIvIvIlliiiiiQiQQm`=|Ilvo=v=+v:n
9XYXm###m#mmm###Xmm##iQWiiiWmX==X#=XZ#mmQilillvIvIIIIlliiiQQiQQQQ#,=%i>io=|+|viv
X2nH##Z#######Z>#mZZWm#XWQQWGv===XX###QQiiiilllIIvIIIliliQQiQQQWW#=)>+==vl;<lI=v
jk=X{XnIYY##ZmWcZ==X#Z=v#eXXvv=X==X###WWQQQlillIlIIIllliQQQWQWm###c+|;:;=+:>+|nv
)en=Z|iW##v#mW##ZvI=XIn:oi=v:n====##ZmWQQQiiilllillllliiQQWQWmW#XZni:;::+i|=:=n>
)cwaXZ#mawmWWBGmXlv=oi=|Iivi|:vv=XX#m#mWQQQQiiiiilliliiiQQQQmm#####v|;=:i|:i=;n=
]mmpaawmmWWmmmeZ=vlo>iv=i+:|=||n=X=Z##mWmWQQQiiiliiliiiiQWWWmmmm#ZZa==|v|=i:i|:v
3qXXSXXXXU####z=l||v||+:i=|==+:vo==XXZmmmWWQiQiiiiiiiiiQQQWWmWW#####>:_:>l|ll||n
3#WBWmmmoqqmoXiXi|=|==;====++|vv==XZXXmmm#WWWQiQiiiiiiQiQWQWWW######XavXnlv|:|vv
dXWmWBWWXmmWWWeX|+=:=::::;=|+|:vIo=XXZ####mWWQQiQiiiQiQiWWQWW########X=+{=}=l+=|
#WmWmWmWXXWmBWCz:=;:::::::::;+ilv===XXZZ##WmmQQQQQiQiQiQQQQQWmmmm#ZZZe(::)w:|;;:
ZX##$BW#ldW#Wm1ig=;:::.:.:::::=:vnvXX=XX#m#mWWWQQQQQQQQiQQQQWWmmm#Ze';::.:{i=:=:
e**1I1mSnmXmWmodmwgsusgm<,:..:=|vvo==XXXmm#mWmWWWQQQQQiQQQQQQmmmme^;:::.::===::=
cnmiivmin#iS**3X#SodWXom#mggs:+:v==XXXZX#Z#WmWmWmQWQQQQiQQQiWWm#}:;:::.::.::|=|+
Mliii3#1lIIivsudcQ|0M*!Y1nmcI||iv====XXZ###mWmmWmWWWWWQQWWQWWmZ^:.::.:::.::.::;=
lIvvn<SQiiQWiInXe11Xsmggg%Xo2s;:v=n==XXXZ####mmWmmWmWWWQWWWWWe`::::.::.:::.::.::
><Xvv=VlIIIIlWQivnnno2SS2So22oncv===XXZXX#Z##mm##mmWWWWWWWWW(::::.::::::.:::.:::
#>3ZQnX<vIl@!XVNHHHMMM|iiilIlII6nnn===X=ZZZZ#Z#Z###mmmWWWQ#"::::.::.:.::::.::::.
==)=H2vo<0(<nnvv:::i+||||!!TT9H8nn====XXXXXZZ##ZZ###mWmWWZ':::.::::::::.::::.:::
ZX>nXWcn}=a=on=vvvi|======;:;:;=<oo===XX=XXXXXZXZZZ##mWWe`;::.::.::.:.:::.:.::.:
ZXZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZXZZXZXXXXZXXXXXXXXXXS2sp=:ln#Z=Xo==n=ZXX#XZ#ZX=
ZZZZZZZZZZZ#Z#ZZ#Z#ZZZZZZZZZZXZXZZZXZZXZXZXXXXXXXXSSSSS1Wo::Z#=X=o=Xnn==XX==XZXX
ZZZZZZZ#Z#ZZZZ#ZZZZZZ#ZZZZZZZZZZZZZZZZZZXXXXXXXXXXXXSSo>=lvino===nnX=n==o=onnZZZ
#ZZZ#Z#ZZZZ#Z#ZZ#Z#Z#ZZ#Z#Z#Z#Z#Z#ZZ#XZZZZZZZXZXXXXXXXoiZZ=|:vnn=vv=n=nonnnn===X
ZZ#ZZZZZ#Z#Z#ZZ#ZZZ#ZZZZ#ZZZZZZZZZZ#ZZ#ZZ#ZZZZZZZXXXXSniWX:|:|vvl|nvIIlvlvvo=vnX
#ZZ#Z#Z#Z#ZZZZ#ZZ#ZZ#Z#ZZZ#Z#Z#Z#Z#ZZ#ZZZZZZZZZZZZZX1nl#ZZvvI+|li|nI|||:nvoX=v:=
#Z#Z#Z#Z#ZZ##Z#Z#Z#Z#ZZ#Z#Z#ZZ#ZZ#ZZXYYY1Y***M*1*YYIIimZXZn|:==vvvnnIi+l=n=XX||n
#Z#ZZ#ZZ#Z#Z#Z#Z#Z#Z#Z#Z#Z#Z#ZZS**M0m#Z#mZZZ=ZZXX=XXX###==nIi+=:XX=:Invv=nvn=i|i
#Z#Z#Z##Z###Z#Z#Z#Z#Z#Z#Z##S1M8mmQm#XZX==nnn=XXXXXX=no=o==nni=;|=X=o==ivovlv=v||
#######Z##Z##Z##Z##Z###ZZ1NXZmii|#X===n==XX====XX##ZnXnovlvnI;_vn=vn==i:=vnn=i=i
##Z#Z#Z#####Z##Z##Z##Z#Yl###mWQWZXZX=mXZZX==XXXmQWQQQ#mmn=vvv:vvvnvvvvvvov<vvvi|
#####################ZY&#WQmZZmZXmm#Z#ZZXZmmiQivvvvnviilim#n:lvvvv:lvInvvnIvivv%
mm##################X0mQiiQ##WW#QWmmWWQivvvnnnooo2ooooovIiW#wvvlv:vv::v:vv==:|:=
WmBmmm#mmm#########2$QIvvIiviiilliiiivnnnn2oooo2So22X22onvvWW#al=;+i|iIIvv=vi++:
mmBBmmmmmmm#######2$ioooononnvnnnnnnoonnn2oSoo22S222oS222nvliQma+;+|i+|i|:}=|=||
mmmmBBWmWmmmm#m##ZQvo22S2S2X2SSSS2oo222S22SoS2XS2222So222onvIliQc+==|+||lilvv|:|
mmmmmmmmmmmmmmmm#evooS2SSSX2SSXXSSoSSS22S2SSSSSSS2S2o2o2oonnviiim>++=||==+vI|;iv
m#mmmmmmmmmmmmmm#voo22SSSSSSSSXXS2S2SSSXS2XSXXSSXSSo2ooooonvnviQWz|==|++=|:|=+||
mmmmmmmBmmmBmmmmSvo2S2XSXSSSSXSS2S2XXXXXSXXXXXZXXX2oSnoooooovns##Qc|+=;;=i|||:<=
mmmmmBmmWmBmmWm#vn222SSSSSSXXX22XSXZZXZZXXXZXXXXXXXX2oSoooooonviZmGii=|;|v:>|nXX
BBmBBmWmmmBBBmmonoSoS2S2SSXXXX2SXSXZZZZZZXZZZZZXXXZXSSo22noonnvvm#=vvlnl<=:++IZ#
BmBmBmmmWmWmmWZnno222S2SSSSXXSS2XSZ#ZZZZZXXXZZXZXXXXSSo2onnoonvviZZnvZZXZ=av>vn=
BmWmBBWmBmmWmWSvno222222SSSXSSSSXX#XXXXZXZXXXXXXXXSXSSo2oonnnnvvl#Xo:n=X#Z#ZZvnn
WmmBBmmWmWBBBm1nnoo22222SSXXXXXXXSXSSXZXXXZZZXSSSXS2S2S2oonnvnvvvQXnvoXoXZZZmnin
BBBBBWmWmWmWmWvnnno2oo2S2SSXXXZZZXXXZXZZXXXXXXS22SX222SS2oonnnIIvi2nvo=n==XXZ#cv
WmWmWmWmWmWmW#vvnnoooonSnXSSXXXXXXXYYYYS1SSXXX2SXSX2So2oSnonnvvvvvmvvnXl===Z=Xc|
WmWmWmBBBBBBB#ln1}+TVZZ=vI|!!!TXXXwgmsQQiW|M*11XSXSS2S2S2oonnvvvvvilvn=:vXnZX#nI
WmWmWmWBWmWBWhv@'=aa=X#X>n|_;+np<omXmoXonvnvs%QQil*1Svno2SonnIIvvIi=vvn>lXZXXZ#n
WmWmWmWmWBWmW2(:jmZ##wXn=+Idml)!!***?Y?*HHN+H+HHHHQivInnnI1nvIIvvIlevvn(|Iv==XZ=
WBBWmWBWBWmWD[=]WXW()8=l|+|]^=:=;=|||===+|||||+|<aiv&ae+1sZV||QliIl2v:nc+iv3=nX1
WmWmWBWmWBWWf;_mZwm=)o=n:||+===|||i|++=|+|||_wQvvll>QvvgWnga|+I3X|lmvvne+|v|Iv=}
WWBWBWmWWmWmk:jQi#i=|+==nl+==_wggimQgw_<aagvoSoovvvmWv2X%)nvvQga=vi#vlnnli|=<==}
WmWmWBWBWmWW[+Qiiz!::+vvl+<gvvno222ovvvvoo2XXS2onnnnvIo2ninvvvvnviimI:v}|I%|nZo=
WWBWBWmWmWWe(|il>+;::+li+nvnnno222X2nnnoS22SoX2ooon2nvnovQvvvIIlIliGI|n(;v=IZWo=
WmWBWmWWBW#[vI{i(=:::||+<innoo22SnoooonoS2SoXXXSoS(HIvvonQvvvlIIiiQ2:in==|iv:Zl=
WWBWmWBBWmWci={E=:::;|=nvvnoooo2222oooo222o2SSSSo2o%=<QvvivvviiliQmn:v=c|ii|vvv=
WmWBWWBWBWWmpd<E=:;=|=<vvnnoo2o22o2noono2o2222Xo2vSosmQvvIlIIliilQZvivnn2:|vX=av
WWWBWmWBWBWWhie1+=|=;vivnnno2ooS2o2nnnno2ooSSXX2SinoosQvIIlIliiliQGi|l=#Z=vlIv==
WmWBWBWWBWBW1c:i|=;=qvvnnnooo2S222nnvvnooooS2ZSo1vlnSnvvvlvvlillimn|:v=XXXnI||no
WWBWBWBWBWWCvia|==<mvvnnvno2oSoS2oovvvnnnno2SXo2nonvnvvvIivvlliQQ#v|ln==ZX=lvi+n
WWBWBWBWWWEvnvvQmmmvIvnvno2o22222onIIvvnvnnoS2nonoonnnvvivnvIiiQWZ:|vlXn=Z#c|i|v
WBWBWWBWmW1vnnvviiivlnnnoo22oS2S2onIIvnnvvnoS2ovo2ooonvivvvvIiiWQZi|vn=X=vXl=+::
WWWBWmWWWCvnnvnviilvvvoooooo22o2oonvlIvvnnnooSonInnonviivvnviiWmm1|inXXZZnZnvIvv
WWmWWWWBSvnnvvvvQilvvnnoooooo22onnnllIvnvnvnoSnnvvnnl0QvnvvliimmZ>+i==o#ZWZ===vn
WWWBWmWDIvvvIvvIQmiIvvnooooooooonnvlvvvvnnvnnn1vvvvl#QvnvvvliWm#I||:X=XXnXXvXZwn
WWmWBWWlvvvIvnvvi#WlvvnoooonoooonvnvIvnnnvvvnvlOiM8m%vnvvIlliW#1|+|:v=onv==vvX#a
WBWWBWElvvlIvvnvim#<vvvnoooonnnnnnIlvvnnvvvnvvni=wQvvvvvvIvlim1i=||ilI=ZZX#nv=X#
WWBWBWkil0!+!+i0WQW#ivnnnooovnnnnnvliiIIvvvvvnvvivvvnvnvvvIlim:++|v||I==XX1vvv=X
WWBWBWQ%#wwwaanwQiQm#vvvvnnnvvnnnvvvivllvvvIvvvvnvvnvnvvvvvIiZ|+|:n:+lnvvIo=I|:n
WBWmWBmmw%|0Q#mWQW#mWQnnvnnnvvnnnnvnIliQilIlIvvvvvnvnvvvvvvIiG|||nvv+{=v=+ivv>|l
WWmWBWWWmQmg>XX#m#XXWQIvvvnnvvnvnvvvviQii|lllIvvvvnnvnvnvvvIiGi::Xvl||vn==|vov|=
WBWWBWmWBBmW(=XWWWmXXQivvvvvvvvnnnvvvviQmQiiIIIvvvvnvnvvvvvIlmIIvZv=i:=n>in=XXan
WWBWBWBWBWW#QmQiQiWZ=QivvvvvvvnvvvvvviQQQQWQivlvvvnvnvvvvvvllQanX2=c|v#n==l==XXv
WBWBWmWBWmW#Wm#Z#Z=vnWiIvlvIvvvlvvIIliQQQWWQillIvvvvnvvvvvIlli2=wGnlnnXX:%vv===:
WWmWWWWBWWB#GX=vn==mwdillillIvIIllliiWZmWWQilillIvvnvvvvvvlllliQQG:|vX===i+v==nv
WWWWmWmWmWBWcviaX#QiQWiiliiiililliiWmX#QiiQiiillvvvvvvvvvlllllliQe||v=vv=Ivn=n|+
WmWmWWBWWBWWm,==miiiQWQiiiiiiiiiiQmZZ=WWQiiQiiIlIvvnvvvvlliilIiiQC===nvi=nii=Xv=
BmmmmmBBmWmWmknmiiQiQ#miiiQQQQQQZX1==wWWQQQiilIIvvvvvvvllliiilliQC=;+n:lnI::=(;;
#mmmmmmBmmBmmknQQQiQWmWiiQiiQQQ#nvn=XZ##WQQiiiIIvIvvvIllliiiiiiQQ6==|l=:v=Ivl:`=
oXmmmmBmmWmmmm##WWWmmWiiiiQiQQ>=voXXZ#XZWWiiillvvvvvIIIIliiQiiiQQGl|:vviv=vv:v:i
XXm#mmmmm##mmmzX#mW##QiiiiWQQQZvv=XZZZ#mWmiiliIIIIvIvIlliiiiiQiQQm`=|Ilvo=v=+v:n
9XYXm###m#mmm###Xmm##iQWiiiWmX==X#=XZ#mmQilillvIvIIIIlliiiQQiQQQQ#,=%i>io=|+|viv
X2nH##Z#######Z>#mZZWm#XWQQWGv===XX###QQiiiilllIIvIIIliliQQiQQQWW#=)>+==vl;<lI=v
jk=X{XnIYY##ZmWcZ==X#Z=v#eXXvv=X==X###WWQQQlillIlIIIllliQQQWQWm###c+|;:;=+:>+|nv
)en=Z|iW##v#mW##ZvI=XIn:oi=v:n====##ZmWQQQiiilllillllliiQQWQWmW#XZni:;::+i|=:=n>
)cwaXZ#mawmWWBGmXlv=oi=|Iivi|:vv=XX#m#mWQQQQiiiiilliliiiQQQQmm#####v|;=:i|:i=;n=
]mmpaawmmWWmmmeZ=vlo>iv=i+:|=||n=X=Z##mWmWQQQiiiliiliiiiQWWWmmmm#ZZa==|v|=i:i|:v
3qXXSXXXXU####z=l||v||+:i=|==+:vo==XXZmmmWWQiQiiiiiiiiiQQQWWmWW#####>:_:>l|ll||n
3#WBWmmmoqqmoXiXi|=|==;====++|vv==XZXXmmm#WWWQiQiiiiiiQiQWQWWW######XavXnlv|:|vv
dXWmWBWWXmmWWWeX|+=:=::::;=|+|:vIo=XXZ####mWWQQiQiiiQiQiWWQWW########X=+{=}=l+=|
#WmWmWmWXXWmBWCz:=;:::::::::;+ilv===XXZZ##WmmQQQQQiQiQiQQQQQWmmmm#ZZZe(::)w:|;;:
ZX##$BW#ldW#Wm1ig=;:::.:.:::::=:vnvXX=XX#m#mWWWQQQQQQQQiQQQQWWmmm#Ze';::.:{i=:=:
e**1I1mSnmXmWmodmwgsusgm<,:..:=|vvo==XXXmm#mWmWWWQQQQQiQQQQQQmmmme^;:::.::===::=
cnmiivmin#iS**3X#SodWXom#mggs:+:v==XXXZX#Z#WmWmWmQWQQQQiQQQiWWm#}:;:::.::.::|=|+
Mliii3#1lIIivsudcQ|0M*!Y1nmcI||iv====XXZ###mWmmWmWWWWWQQWWQWWmZ^:.::.:::.::.::;=
lIvvn<SQiiQWiInXe11Xsmggg%Xo2s;:v=n==XXXZ####mmWmmWmWWWQWWWWWe`::::.::.:::.::.::
><Xvv=VlIIIIlWQivnnno2SS2So22oncv===XXZXX#Z##mm##mmWWWWWWWWW(::::.::::::.:::.:::
#>3ZQnX<vIl@!XVNHHHMMM|iiilIlII6nnn===X=ZZZZ#Z#Z###mmmWWWQ#"::::.::.:.::::.::::.
==)=H2vo<0(<nnvv:::i+||||!!TT9H8nn====XXXXXZZ##ZZ###mWmWWZ':::.::::::::.::::.:::
ZX>nXWcn}=a=on=vvvi|======;:;:;=<oo===XX=XXXXXZXZZZ##mWWe`;::.::.::.:.:::.:.::.: