+ image('firefox-survey-title2.gif', array('alt'=>'Firefox Survey')); ?>
diff --git a/webtools/firefox_survey/views/layouts/submit.thtml b/webtools/firefox_survey/views/layouts/submit.thtml
new file mode 100644
index 000000000000..afcc6673a2f7
--- /dev/null
+++ b/webtools/firefox_survey/views/layouts/submit.thtml
@@ -0,0 +1,5 @@
+renderElement( 'header' ); ?>
+
+
+
+renderElement( 'footer' ); ?>
diff --git a/webtools/firefox_survey/views/users/add.thtml b/webtools/firefox_survey/views/users/add.thtml
index 946320870a18..34f1fcb9d952 100644
--- a/webtools/firefox_survey/views/users/add.thtml
+++ b/webtools/firefox_survey/views/users/add.thtml
@@ -1,4 +1,3 @@
-image('firefox-survey-title.png', array('alt'=>'Firefox Survey')); ?>
You're on your way to being part of the future of Firefox!
After you supply your name (optional) and email address (required) we'll send you a survey and you'll be on your way to helping to guide Firefox.
diff --git a/webtools/firefox_survey/webroot/img/firefox-survey-title2.gif b/webtools/firefox_survey/webroot/img/firefox-survey-title2.gif
new file mode 100644
index 000000000000..1dde636d17d9
Binary files /dev/null and b/webtools/firefox_survey/webroot/img/firefox-survey-title2.gif differ
diff --git a/webtools/firefox_survey/webroot/img/userpanel1-form.gif b/webtools/firefox_survey/webroot/img/userpanel1-form.gif
new file mode 100644
index 000000000000..07e48b8c2abc
Binary files /dev/null and b/webtools/firefox_survey/webroot/img/userpanel1-form.gif differ
diff --git a/webtools/firefox_survey/webroot/img/userpanel2-response.gif b/webtools/firefox_survey/webroot/img/userpanel2-response.gif
new file mode 100644
index 000000000000..07e48b8c2abc
Binary files /dev/null and b/webtools/firefox_survey/webroot/img/userpanel2-response.gif differ
diff --git a/webtools/firefox_survey/webroot/img/userpanel3-alreadysignedup.gif b/webtools/firefox_survey/webroot/img/userpanel3-alreadysignedup.gif
new file mode 100644
index 000000000000..07e48b8c2abc
Binary files /dev/null and b/webtools/firefox_survey/webroot/img/userpanel3-alreadysignedup.gif differ
diff --git a/webtools/firefox_survey/webroot/js/__utm.js b/webtools/firefox_survey/webroot/js/__utm.js
new file mode 100644
index 000000000000..f5fae06ceaef
--- /dev/null
+++ b/webtools/firefox_survey/webroot/js/__utm.js
@@ -0,0 +1,488 @@
+//-- Urchin Tracking Module 6.1 (UTM 6.1) $Revision: 1.1 $
+//-- Copyright 2004 Urchin Software Corporation, All Rights Reserved.
+
+//-- Urchin On Demand Settings ONLY
+var _uacct=""; // set up the Urchin Account
+var _userv=0; // service mode (0=local,1=remote,2=both)
+
+//-- UTM User Settings
+var _ufsc=1; // set client info flag (1=on|0=off)
+var _udn="auto"; // (auto|none|domain) set the domain name for cookies
+var _uhash="on"; // (on|off) unique domain hash for cookies
+var _utimeout="1800"; // set the inactive session timeout in seconds
+var _ugifpath="/__utm.gif"; // set the web path to the __utm.gif file
+var _utsp="|"; // transaction field separator
+var _uflash=1; // set flash version detect option (1=on|0=off)
+var _utitle=1; // set the document title detect option (1=on|0=off)
+
+//-- UTM Campaign Tracking Settings
+var _uctm=1; // set campaign tracking module (1=on|0=off)
+var _ucto="15768000"; // set timeout in seconds (6 month default)
+var _uccn="utm_campaign"; // name
+var _ucmd="utm_medium"; // medium (cpc|cpm|link|email|organic)
+var _ucsr="utm_source"; // source
+var _uctr="utm_term"; // term/keyword
+var _ucct="utm_content"; // content
+var _ucid="utm_id"; // id number
+var _ucno="utm_nooverride"; // don't override
+
+//-- Auto/Organic Sources and Keywords
+var _uOsr=new Array();
+var _uOkw=new Array();
+_uOsr[0]="google"; _uOkw[0]="q";
+_uOsr[1]="yahoo"; _uOkw[1]="p";
+_uOsr[2]="msn"; _uOkw[2]="q";
+_uOsr[3]="aol"; _uOkw[3]="query";
+_uOsr[4]="lycos"; _uOkw[4]="query";
+_uOsr[5]="ask"; _uOkw[5]="q";
+_uOsr[6]="altavista"; _uOkw[6]="q";
+_uOsr[7]="search"; _uOkw[7]="q";
+_uOsr[8]="netscape"; _uOkw[8]="query";
+_uOsr[9]="earthlink"; _uOkw[9]="q";
+_uOsr[10]="cnn"; _uOkw[10]="query";
+_uOsr[11]="looksmart"; _uOkw[11]="key";
+_uOsr[12]="about"; _uOkw[12]="terms";
+_uOsr[13]="excite"; _uOkw[13]="qkw";
+_uOsr[14]="mamma"; _uOkw[14]="query";
+_uOsr[15]="alltheweb"; _uOkw[15]="q";
+_uOsr[16]="gigablast"; _uOkw[16]="q";
+_uOsr[17]="voila"; _uOkw[17]="kw";
+_uOsr[18]="virgilio"; _uOkw[18]="qs";
+_uOsr[19]="teoma"; _uOkw[19]="q";
+
+//-- Auto/Organic Keywords to Ignore
+var _uOno=new Array();
+//_uOno[0]="urchin";
+//_uOno[1]="urchin.com";
+//_uOno[2]="www.urchin.com";
+
+//-- Referral domains to Ignore
+var _uRno=new Array();
+//_uRno[0]=".urchin.com";
+
+//-- **** Don't modify below this point ***
+var _uff,_udh,_udt,_udo="",_uu,_ufns=0,_uns=0,_ur="-",_ufno=0,_ust=0,_ujv="-",_ubd=document,_udl=_ubd.location,_uwv="6.1";
+var _ugifpath2="http://service.urchin.com/__utm.gif";
+if (_udl.protocol=="https:") _ugifpath2="https://service.urchin.com/__utm.gif";
+function urchinTracker(page) {
+ if (_udl.protocol=="file:") return;
+ if (_uff && (!page || page=="")) return;
+ var a,b,c,v,x="",s="",f=0;
+ var nx=" expires=Sun, 18 Jan 2038 00:00:00 GMT;";
+ var dc=_ubd.cookie;
+ _udh=_uDomain();
+ _uu=Math.round(Math.random()*2147483647);
+ _udt=new Date();
+ _ust=Math.round(_udt.getTime()/1000);
+ a=dc.indexOf("__utma="+_udh);
+ b=dc.indexOf("__utmb="+_udh);
+ c=dc.indexOf("__utmc="+_udh);
+ if (_udn && _udn!="") { _udo=" domain="+_udn+";"; }
+ if (_utimeout && _utimeout!="") {
+ x=new Date(_udt.getTime()+(_utimeout*1000));
+ x=" expires="+x.toGMTString()+";";
+ }
+ s=_udl.search;
+ if(s && s!="" && s.indexOf("__utma=")>=0) {
+ a=_uGC(s,"__utma=","&");
+ b=_uGC(s,"__utmb=","&");
+ c=_uGC(s,"__utmc=","&");
+ if (a!="-" && b!="-" && c!="-") f=1;
+ else if(a!="-") f=2;
+ }
+ if(f==1) {
+ _ubd.cookie="__utma="+a+"; path=/;"+nx;
+ _ubd.cookie="__utmb="+b+"; path=/;"+x;
+ _ubd.cookie="__utmc="+c+"; path=/;";
+ } else if (f==2) {
+ a=_uFixA(s,"&",_ust);
+ _ubd.cookie="__utma="+a+"; path=/;"+nx;
+ _ubd.cookie="__utmb="+_udh+"; path=/;"+x;
+ _ubd.cookie="__utmc="+_udh+"; path=/;";
+ _ufns=1;
+ } else if (a>=0 && b>=0 && c>=0) {
+ _ubd.cookie="__utmb="+_udh+"; path=/;"+x+_udo;
+ } else {
+ if (a>=0) a=_uFixA(_ubd.cookie,";",_ust);
+ else a=_udh+"."+_uu+"."+_ust+"."+_ust+"."+_ust+".1";
+ _ubd.cookie="__utma="+a+"; path=/;"+nx+_udo;
+ _ubd.cookie="__utmb="+_udh+"; path=/;"+x+_udo;
+ _ubd.cookie="__utmc="+_udh+"; path=/;"+_udo;
+ _ufns=1;
+ }
+ if (s && s!="" && s.indexOf("__utmv=")>=0) {
+ if ((v=_uGC(s,"__utmv=","&"))!="-") {
+ _ubd.cookie="__utmv="+unescape(v)+"; path=/;"+nx+_udo;
+ }
+ }
+ _uInfo(page);
+ _ufns=0;
+ _ufno=0;
+ _uff=1;
+}
+urchinTracker();
+function _uInfo(page) {
+ var p,s="",pg=_udl.pathname+_udl.search;
+ if (page && page!="") pg=escape(page);
+ _ur=_ubd.referrer;
+ if (!_ur || _ur=="") { _ur="-"; }
+ else {
+ p=_ur.indexOf(_ubd.domain);
+ if ((p>=0) && (p<=8)) { _ur="0"; }
+ if (_ur.indexOf("[")==0 && _ur.lastIndexOf("]")==(_ur.length-1)) { _ur="-"; }
+ }
+ s+="&utmn="+_uu;
+ if (_ufsc) s+=_uBInfo(page);
+ if (_uctm && (!page || page=="")) s+=_uCInfo();
+ if (_utitle && _ubd.title && _ubd.title!="") s+="&utmdt="+escape(_ubd.title);
+ if (_udl.hostname && _udl.hostname!="") s+="&utmhn="+escape(_udl.hostname);
+ if (!page || page=="") s+="&utmr="+_ur;
+ s+="&utmp="+pg;
+ if (_userv==0 || _userv==2) {
+ var i=new Image(1,1);
+ i.src=_ugifpath+"?"+"utmwv="+_uwv+s;
+ i.onload=function() {_uVoid();}
+ }
+ if (_userv==1 || _userv==2) {
+ var i2=new Image(1,1);
+ i2.src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&utmac="+_uacct+"&utmcc="+_uGCS();
+ i2.onload=function() { _uVoid(); }
+ }
+ return;
+}
+function _uVoid() { return; }
+function _uCInfo() {
+ if (!_ucto || _ucto=="") { _ucto="15768000"; }
+ var c="",t="-",t2="-",o=0,cs=0,cn=0;i=0;
+ var s=_udl.search;
+ var z=_uGC(s,"__utmz=","&");
+ var x=new Date(_udt.getTime()+(_ucto*1000));
+ var dc=_ubd.cookie;
+ x=" expires="+x.toGMTString()+";";
+ if (z!="-") { _ubd.cookie="__utmz="+unescape(z)+"; path=/;"+x+_udo; return ""; }
+ z=dc.indexOf("__utmz="+_udh);
+ if (z>-1) { z=_uGC(dc,"__utmz="+_udh,";"); }
+ else { z="-"; }
+ t=_uGC(s,_ucid+"=","&");
+ t2=_uGC(s,_ucsr+"=","&");
+ if ((t!="-" && t!="") || (t2!="-" && t2!="")) {
+ if (t!="-" && t!="") { c+="utmcid="+_uEC(t); if (t2!="-" && t2!="") c+="|utmcsr="+_uEC(t2);
+ } else { if (t2!="-" && t2!="") c+="utmcsr="+_uEC(t2); }
+ t=_uGC(s,_uccn+"=","&");
+ if (t!="-" && t!="") c+="|utmccn="+_uEC(t);
+ else c+="|utmccn=(not+set)";
+ t=_uGC(s,_ucmd+"=","&");
+ if (t!="-" && t!="") c+="|utmcmd="+_uEC(t);
+ else c+="|utmcmd=(not+set)";
+ t=_uGC(s,_uctr+"=","&");
+ if (t!="-" && t!="") c+="|utmctr="+_uEC(t);
+ else { t=_uOrg(1); if (t!="-" && t!="") c+="|utmctr="+_uEC(t); }
+ t=_uGC(s,_ucct+"=","&");
+ if (t!="-" && t!="") c+="|utmcct="+_uEC(t);
+ t=_uGC(s,_ucno+"=","&");
+ if (t=="1") o=1;
+ if (z!="-" && o==1) return "";
+ }
+ if (c=="-" || c=="") { c=_uOrg(); if (z!="-" && _ufno==1) return ""; }
+ if (c=="-" || c=="") { if (_ufns==1) c=_uRef(); if (z!="-" && _ufno==1) return ""; }
+ if (c=="-" || c=="") {
+ if (z=="-" && _ufns==1) { c="utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"; }
+ if (c=="-" || c=="") return "";
+ }
+ if (z!="-") {
+ i=z.indexOf(".");
+ if (i>-1) i=z.indexOf(".",i+1);
+ if (i>-1) i=z.indexOf(".",i+1);
+ if (i>-1) i=z.indexOf(".",i+1);
+ t=z.substring(i+1,z.length);
+ if (t.toLowerCase()==c.toLowerCase()) cs=1;
+ t=z.substring(0,i);
+ if ((i=t.lastIndexOf(".")) > -1) {
+ t=t.substring(i+1,t.length);
+ cn=(t*1);
+ }
+ }
+ if (cs==0 || _ufns==1) {
+ t=_uGC(dc,"__utma="+_udh,";");
+ if ((i=t.lastIndexOf(".")) > 9) {
+ _uns=t.substring(i+1,t.length);
+ _uns=(_uns*1);
+ }
+ cn++;
+ if (_uns==0) _uns=1;
+ _ubd.cookie="__utmz="+_udh+"."+_ust+"."+_uns+"."+cn+"."+c+"; path=/; "+x+_udo;
+ }
+ if (cs==0 || _ufns==1) return "&utmcn=1";
+ else return "&utmcr=1";
+}
+function _uRef() {
+ if (_ur=="0" || _ur=="" || _ur=="-") return "";
+ var i=0,h,k,n;
+ if ((i=_ur.indexOf("://"))<0) return "";
+ h=_ur.substring(i+3,_ur.length);
+ if (h.indexOf("/") > -1) {
+ k=h.substring(h.indexOf("/"),h.length);
+ if (k.indexOf("?") > -1) k=k.substring(0,k.indexOf("?"));
+ h=h.substring(0,h.indexOf("/"));
+ }
+ h=h.toLowerCase();
+ n=h;
+ if ((i=n.indexOf(":")) > -1) n=n.substring(0,i);
+ for (var ii=0;ii<_uRno.length;ii++) {
+ if ((i=n.indexOf(_uRno[ii].toLowerCase())) > -1 && n.length==(i+_uRno[ii].length)) { _ufno=1; break; }
+ }
+ if (h.indexOf("www.")==0) h=h.substring(4,h.length);
+ return "utmccn=(referral)|utmcsr="+_uEC(h)+"|"+"utmcct="+_uEC(k)+"|utmcmd=referral";
+}
+function _uOrg(t) {
+ if (_ur=="0" || _ur=="" || _ur=="-") return "";
+ var i=0,h,k;
+ if ((i=_ur.indexOf("://")) < 0) return "";
+ h=_ur.substring(i+3,_ur.length);
+ if (h.indexOf("/") > -1) {
+ h=h.substring(0,h.indexOf("/"));
+ }
+ for (var ii=0;ii<_uOsr.length;ii++) {
+ if (h.indexOf(_uOsr[ii]) > -1) {
+ if ((i=_ur.indexOf("?"+_uOkw[ii]+"=")) > -1 || (i=_ur.indexOf("&"+_uOkw[ii]+"=")) > -1) {
+ k=_ur.substring(i+_uOkw[ii].length+2,_ur.length);
+ if ((i=k.indexOf("&")) > -1) k=k.substring(0,i);
+ for (var yy=0;yy<_uOno.length;yy++) {
+ if (_uOno[yy].toLowerCase()==k.toLowerCase()) { _ufno=1; break; }
+ }
+ if (t) return _uEC(k);
+ else return "utmccn=(organic)|utmcsr="+_uEC(_uOsr[ii])+"|"+"utmctr="+_uEC(k)+"|utmcmd=organic";
+ }
+ }
+ }
+ return "";
+}
+function _uBInfo(page) {
+ var sr="-",sc="-",ul="-",fl="-",je=1;
+ var n=navigator;
+ if (self.screen) {
+ sr=screen.width+"x"+screen.height;
+ sc=screen.colorDepth+"-bit";
+ } else if (self.java) {
+ var j=java.awt.Toolkit.getDefaultToolkit();
+ var s=j.getScreenSize();
+ sr=s.width+"x"+s.height;
+ }
+ if (_ujv=="-" && (!page || page=="")) {
+ for (var i=5;i>=0;i--) {
+ var t="";
+ _ubd.write(t);
+ if (_ujv!="-") break;
+ }
+ }
+ if (n.language) { ul=n.language.toLowerCase(); }
+ else if (n.browserLanguage) { ul=n.browserLanguage.toLowerCase(); }
+ je=n.javaEnabled()?1:0;
+ if (_uflash) fl=_uFlash();
+ return "&utmsr="+sr+"&utmsc="+sc+"&utmul="+ul+"&utmje="+je+"&utmjv="+_ujv+"&utmfl="+fl;
+}
+function __utmSetTrans() {
+ var e;
+ if (_ubd.getElementById) e=_ubd.getElementById("utmtrans");
+ else if (_ubd.utmform && _ubd.utmform.utmtrans) e=_ubd.utmform.utmtrans;
+ if (!e) return;
+ var l=e.value.split("UTM:");
+ var i,i2,c;
+ if (_userv==0 || _userv==2) i=new Array();
+ if (_userv==1 || _userv==2) { i2=new Array(); c=_uGCS(); }
+
+ for (var ii=0;ii=2;ii--) {
+ try {
+ var fl=eval("new ActiveXObject('ShockwaveFlash.ShockwaveFlash."+ii+"');");
+ if (fl) { f=ii + '.0'; break; }
+ }
+ catch(e) {}
+ }
+ }
+ return f;
+}
+function __utmLinker(l) {
+ var p,a="-",b="-",c="-",z="-",v="-";
+ var dc=_ubd.cookie;
+ if (l && l!="") {
+ if (dc) {
+ a=_uGC(dc,"__utma="+_udh,";");
+ b=_uGC(dc,"__utmb="+_udh,";");
+ c=_uGC(dc,"__utmc="+_udh,";");
+ z=_uGC(dc,"__utmz="+_udh,";");
+ v=_uGC(dc,"__utmv="+_udh,";");
+ p="__utma="+a+"&__utmb="+b+"&__utmc="+c+"&__utmz="+escape(z)+"&__utmv="+escape(v);
+ }
+ if (p) {
+ if (l.indexOf("?")<=-1) { document.location=l+"?"+p; }
+ else { document.location=l+"&"+p; }
+ } else { document.location=l; }
+ }
+}
+function __utmLinkPost(f) {
+ var p,a="-",b="-",c="-",z="-",v="-";
+ var dc=_ubd.cookie;
+ if (!f || !f.action) return;
+ if (dc) {
+ a=_uGC(dc,"__utma="+_udh,";");
+ b=_uGC(dc,"__utmb="+_udh,";");
+ c=_uGC(dc,"__utmc="+_udh,";");
+ z=_uGC(dc,"__utmz="+_udh,";");
+ v=_uGC(dc,"__utmv="+_udh,";");
+ p="__utma="+a+"&__utmb="+b+"&__utmc="+c+"&__utmz="+escape(z)+"&__utmv="+escape(v);
+ }
+ if (p) {
+ if (f.action.indexOf("?")<=-1) f.action+="?"+p;
+ else f.action+="&"+p;
+ }
+ return;
+}
+function __utmSetVar(v) {
+ if (!v || v=="") return;
+ var r=Math.round(Math.random() * 2147483647);
+ _ubd.cookie="__utmv="+_udh+"."+escape(v)+"; path=/; expires=Sun, 18 Jan 2038 00:00:00 GMT;"+_udo;
+ var s="&utmt=var&utmn="+r;
+ if (_userv==0 || _userv==2) {
+ var i=new Image(1,1);
+ i.src=_ugifpath+"?"+"utmwv="+_uwv+s;
+ i.onload=function() { _uVoid(); }
+ }
+ if (_userv==1 || _userv==2) {
+ var i2=new Image(1,1);
+ i2.src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&utmac="+_uacct+"&utmcc="+_uGCS();
+ i2.onload=function() { _uVoid(); }
+ }
+}
+function _uGCS() {
+ var t,c="",dc=_ubd.cookie;
+ if ((t=_uGC(dc,"__utma="+_udh,";"))!="-") c+=escape("__utma="+t+";+");
+ if ((t=_uGC(dc,"__utmb="+_udh,";"))!="-") c+=escape("__utmb="+t+";+");
+ if ((t=_uGC(dc,"__utmc="+_udh,";"))!="-") c+=escape("__utmc="+t+";+");
+ if ((t=_uGC(dc,"__utmz="+_udh,";"))!="-") c+=escape("__utmz="+t+";+");
+ if ((t=_uGC(dc,"__utmv="+_udh,";"))!="-") c+=escape("__utmv="+t+";");
+ if (c.charAt(c.length-1)=="+") c=c.substring(0,c.length-1);
+ return c;
+}
+function _uGC(l,n,s) {
+ if (!l || l=="" || !n || n=="" || !s || s=="") return "-";
+ var i,i2,i3,c="-";
+ i=l.indexOf(n);
+ i3=n.indexOf("=")+1;
+ if (i > -1) {
+ i2=l.indexOf(s,i); if (i2 < 0) { i2=l.length; }
+ c=l.substring((i+i3),i2);
+ }
+ return c;
+}
+function _uDomain() {
+ if (!_udn || _udn=="" || _udn=="none") { _udn=""; return 1; }
+ if (_udn=="auto") {
+ var d=_ubd.domain;
+ if (d.substring(0,4)=="www.") {
+ d=d.substring(4,d.length);
+ }
+ _udn=d;
+ }
+ if (_uhash=="off") return 1;
+ return _uHash(_udn);
+}
+function _uHash(d) {
+ if (!d || d=="") return 1;
+ var h=0,g=0;
+ for (var i=d.length-1;i>=0;i--) {
+ var c=parseInt(d.charCodeAt(i));
+ h=((h << 6) & 0xfffffff) + c + (c << 14);
+ if ((g=h & 0xfe00000)!=0) h=(h ^ (g >> 21));
+ }
+ return h;
+}
+function _uFixA(c,s,t) {
+ if (!c || c=="" || !s || s=="" || !t || t=="") return "-";
+ var a=_uGC(c,"__utma="+_udh,s);
+ var lt=0,i=0;
+ if ((i=a.lastIndexOf(".")) > 9) {
+ _uns=a.substring(i+1,a.length);
+ _uns=(_uns*1)+1;
+ a=a.substring(0,i);
+ if ((i=a.lastIndexOf(".")) > 7) {
+ lt=a.substring(i+1,a.length);
+ a=a.substring(0,i);
+ }
+ if ((i=a.lastIndexOf(".")) > 5) {
+ a=a.substring(0,i);
+ }
+ a+="."+lt+"."+t+"."+_uns;
+ }
+ return a;
+}
+function _uTrim(s) {
+ if (!s || s=="") return "";
+ while ((s.charAt(0)==' ') || (s.charAt(0)=='\n') || (s.charAt(0,1)=='\r')) s=s.substring(1,s.length);
+ while ((s.charAt(s.length-1)==' ') || (s.charAt(s.length-1)=='\n') || (s.charAt(s.length-1)=='\r')) s=s.substring(0,s.length-1);
+ return s;
+}
+
+function _uEC(s) {
+ var n="";
+ if (!s || s=="") return "";
+ for (var i=0;i0) r=a.substring(i+1,i2); else return "";
+ if ((i=a.indexOf(".",i2+1))>0) t=a.substring(i2+1,i); else return "";
+ var c=new Array('A','B','C','D','E','F','G','H','J','K','L','M','N','P','R','S','T','U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9');
+ return c[r>>28&m]+c[r>>23&m]+c[r>>18&m]+c[r>>13&m]+"-"+c[r>>8&m]+c[r>>3&m]+c[((r&7)<<2)+(t>>30&3)]+c[t>>25&m]+c[t>>20&m]+"-"+c[t>>15&m]+c[t>>10&m]+c[t>>5&m]+c[t&m];
+}