Techie Turmoil

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.

I created a test page to check the Javascript method required: document.formname.submit() or document.forms['formID'].submit() (my Javascript is a little rusty because, I’m glad to say, I rarely use it). This worked fine, so I added the little bit of code to the real page. It promptly refused to work. No matter what I tried, it wouldn’t auto-submit, and the debug console said "document.formname.submit is not a function". How bizzare! No end of googling could find an answer. The code was right, according to all sources. I changed names of the form and added IDs galore, but no joy.

Then it hit me – the submit button in the form (I included one for those who might have no Javascript, or Javascript turned off) had the name attribute of "submit"! This meant that the submit button was the object: document.formname.submit , but I was trying to execute the method: document.formname.submit() . Javascript can’t cope with one object and a method of another object, having the same name. As soon as I changed the name of the submit button, all was well. It worked!

What a load of hassle for such a tiny error. So remember, when you give your form elements names or IDs, make sure they are different from the element tag. A good practice is to give the form a generic name, such as "mysite_signup" and then name its child elements with the formname as the prefix. So, an input field might be "mysite_signup_email_address", and the submit button might be "mysite_signup_submit". Unique naming baby – it’s the way forward.

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`;::.::.::.:.:::.:.::.: