/* Copyright (c) 2009 Simo Kinnunen. Licensed under the MIT license. */
var Cufon=(function(){var n=function(){return n.replace.apply(null,arguments)};var t=n.DOM={ready:(function(){var b=false,c={loaded:1,complete:1};var d=[],f=function(){if(b)return;b=true;for(var a;a=d.shift();a()){}};if(document.addEventListener){document.addEventListener('DOMContentLoaded',f,false);window.addEventListener('pageshow',f,false)}if(!window.opera&&document.readyState)(function(){c[document.readyState]?f():setTimeout(arguments.callee,10)})();if(document.readyState&&document.createStyleSheet)(function(){try{document.body.doScroll('left');f()}catch(e){setTimeout(arguments.callee,1)}})();v(window,'load',f);return function(a){if(!arguments.length)f();else b?a():d.push(a)}})(),root:function(){return document.documentElement||document.body},strict:(function(){var a;if(document.compatMode=='BackCompat')return false;a=document.doctype;if(a){return!/frameset|transitional/i.test(a.publicId)}a=document.firstChild;if(a.nodeType!=8||/^DOCTYPE.+(transitional|frameset)/i.test(a.data)){return false}return true})()};var p=n.CSS={Size:function(b,c){this.value=parseFloat(b);this.unit=String(b).match(/[a-z%]*$/)[0]||'px';this.convert=function(a){return a/c*this.value};this.convertFrom=function(a){return a/this.value*c};this.toString=function(){return this.value+this.unit}},addClass:function(a,b){var c=a.className;a.className=c+(c&&' ')+b;return a},color:B(function(d){var f={};f.color=d.replace(/^rgba\((.*?),\s*([\d.]+)\)/,function(a,b,c){f.opacity=parseFloat(c);return'rgb('+b+')'});return f}),fontStretch:B(function(a){if(typeof a=='number')return a;if(/%$/.test(a))return parseFloat(a)/100;return{'ultra-condensed':0.5,'extra-condensed':0.625,condensed:0.75,'semi-condensed':0.875,'semi-expanded':1.125,expanded:1.25,'extra-expanded':1.5,'ultra-expanded':2}[a]||1}),getStyle:function(a){var b=document.defaultView;if(b&&b.getComputedStyle)return new x(b.getComputedStyle(a,null));if(a.currentStyle)return new x(a.currentStyle);return new x(a.style)},gradient:B(function(a){var b={id:a,type:a.match(/^-([a-z]+)-gradient\(/)[1],stops:[]},c=a.substr(a.indexOf('(')).match(/([\d.]+=)?(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)/ig);for(var d=0,f=c.length,g;d<f;++d){g=c[d].split('=',2).reverse();b.stops.push([g[1]||d/(f-1),g[0]])}return b}),quotedList:B(function(a){var b=[],c=/\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g,d;while(d=c.exec(a))b.push(d[3]||d[1]);return b}),recognizesMedia:B(function(a){var b=document.createElement('style'),c,d,f;b.type='text/css';b.media=a;try{b.appendChild(document.createTextNode('/**/'))}catch(e){}d=K('head')[0];d.insertBefore(b,d.firstChild);c=(b.sheet||b.styleSheet);f=c&&!c.disabled;d.removeChild(b);return f}),removeClass:function(a,b){var c=RegExp('(?:^|\\s+)'+b+'(?=\\s|$)','g');a.className=a.className.replace(c,'');return a},supports:function(a,b){var c=document.createElement('span').style;if(c[a]===undefined)return false;c[a]=b;return c[a]===b},textAlign:function(a,b,c,d){if(b.get('textAlign')=='right'){if(c>0)a=' '+a}else if(c<d-1)a+=' ';return a},textShadow:B(function(a){if(a=='none')return null;var b=[],c={},d,f=0;var g=/(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig;while(d=g.exec(a)){if(d[0]==','){b.push(c);c={};f=0}else if(d[1]){c.color=d[1]}else{c[['offX','offY','blur'][f++]]=d[2]}}b.push(c);return b}),textTransform:(function(){var d={uppercase:function(a){return a.toUpperCase()},lowercase:function(a){return a.toLowerCase()},capitalize:function(b){return b.replace(/(?:^|\s)./g,function(a){return a.toUpperCase()})}};return function(a,b){var c=d[b.get('textTransform')];return c?c(a):a}})(),whiteSpace:(function(){var g={inline:1,'inline-block':1,'run-in':1};var i=/^\s+/,h=/\s+$/;return function(a,b,c,d,f){if(f)return a.replace(i,'').replace(h,'');if(d){if(d.nodeName.toLowerCase()=='br'){a=a.replace(i,'')}}if(g[b.get('display')])return a;if(!c.previousSibling)a=a.replace(i,'');if(!c.nextSibling)a=a.replace(h,'');return a}})()};p.ready=(function(){var i=!p.recognizesMedia('all'),h=false;var j=[],k=function(){i=true;for(var a;a=j.shift();a()){}};var l=K('link'),m=K('style');var q={'':1,'text/css':1};function o(a){if(!q[a.type.toLowerCase()])return true;return a.disabled||r(a.sheet,a.media||'screen')}function r(a,b){if(!p.recognizesMedia(b||'all'))return true;if(!a||a.disabled)return false;try{var c=a.cssRules,d;if(c){search:for(var f=0,g=c.length;d=c[f],f<g;++f){switch(d.type){case 2:break;case 3:if(!r(d.styleSheet,d.media.mediaText))return false;break;default:break search}}}}catch(e){}return true}function y(){if(document.createStyleSheet)return true;var a,b;for(b=0;a=l[b];++b){if(a.rel.toLowerCase()=='stylesheet'&&!o(a))return false}for(b=0;a=m[b];++b){if(!o(a))return false}return true}t.ready(function(){if(!h)h=p.getStyle(document.body).isUsable();if(i||(h&&y()))k();else setTimeout(arguments.callee,10)});return function(a){if(i)a();else j.push(a)}})();function H(o){var r=this.face=o.face,y={'\u0020':1,'\u00a0':1,'\u3000':1};this.glyphs=(function(a){var b,c={'\u2011':'\u002d','\u00ad':'\u2011'};for(b in c){if(!L(c,b))continue;if(!a[b])a[b]=a[c[b]]}return a})(o.glyphs);this.w=o.w;this.baseSize=parseInt(r['units-per-em'],10);this.family=r['font-family'].toLowerCase();this.weight=r['font-weight'];this.style=r['font-style']||'normal';this.viewBox=(function(){var a=r.bbox.split(/\s+/);var b={minX:parseInt(a[0],10),minY:parseInt(a[1],10),maxX:parseInt(a[2],10),maxY:parseInt(a[3],10)};b.width=b.maxX-b.minX;b.height=b.maxY-b.minY;b.toString=function(){return[this.minX,this.minY,this.width,this.height].join(' ')};return b})();this.ascent=-parseInt(r.ascent,10);this.descent=-parseInt(r.descent,10);this.height=-this.ascent+this.descent;this.spacing=function(a,b,c){var d=this.glyphs,f,g,i,h=[],j=0,k,l=-1,m=-1,q;while(q=a[++l]){f=d[q]||this.missingGlyph;if(!f)continue;if(g){j-=i=g[q]||0;h[m]-=i}k=f.w;if(isNaN(k))k=+this.w;if(k>0){k+=b;if(y[q])k+=c}j+=h[++m]=~~k;g=f.k}h.total=j;return h}}function C(){var l={},m={oblique:'italic',italic:'oblique'};this.add=function(a){(l[a.style]||(l[a.style]={}))[a.weight]=a};this.get=function(c,d){var f=l[c]||l[m[c]]||l.normal||l.italic||l.oblique;if(!f)return null;d={normal:400,bold:700}[d]||parseInt(d,10);if(f[d])return f[d];var g={1:1,99:0}[d%100],i=[],h,j;if(g===undefined)g=d>400;if(d==500)d=400;for(var k in f){if(!L(f,k))continue;k=parseInt(k,10);if(!h||k<h)h=k;if(!j||k>j)j=k;i.push(k)}if(d<h)d=h;if(d>j)d=j;i.sort(function(a,b){return(g?(a>=d&&b>=d)?a<b:a>b:(a<=d&&b<=d)?a>b:a<b)?-1:1});return f[i[0]]}}function X(){function d(a,b){try{if(a.contains)return a.contains(b);return a.compareDocumentPosition(b)&16}catch(e){}return false}function f(a){var b=a.relatedTarget;if(b&&d(this,b))return;i(this,a.type=='mouseover')}function g(a){if(!a)a=window.event;i(a.target||a.srcElement,a.type=='mouseenter')}function i(b,c){setTimeout(function(){var a=z.get(b).options;if(c){a=T(a,a.hover);a._0=1}n.replace(b,a,true)},10)}this.attach=function(a){if(a.onmouseenter===undefined){v(a,'mouseover',f);v(a,'mouseout',f)}else{v(a,'mouseenter',g);v(a,'mouseleave',g)}};this.detach=function(a){if(a.onmouseenter===undefined){M(a,'mouseover',f);M(a,'mouseout',f)}else{M(a,'mouseenter',g);M(a,'mouseleave',g)}}}function N(){var f=[],g={};function i(a){var b=[],c;for(var d=0;c=a[d];++d)b[d]=f[g[c]];return b}this.add=function(a,b){g[a]=f.push(b)-1};this.repeat=function(){var a=arguments.length?i(arguments):f,b;for(var c=0;b=a[c++];)n.replace(b[0],b[1],true)}}function bc(){var c={},d=0;function f(a){return a.cufid||(a.cufid=++d)}this.get=function(a){var b=f(a);return c[b]||(c[b]={})}}function x(c){var d={},f={};this.extend=function(a){for(var b in a){if(L(a,b))d[b]=a[b]}return this};this.get=function(a){return d[a]!=undefined?d[a]:c[a]};this.getSize=function(a,b){return f[a]||(f[a]=new p.Size(this.get(a),b))};this.isUsable=function(){return!!c}}function v(a,b,c){if(a.addEventListener){a.addEventListener(b,c,false)}else if(a.attachEvent){a.attachEvent('on'+b,c)}}function Z(a,b){if(b._0)return a;var c=z.get(a);var d=c.options;if(d){if(d===b)return a;if(d.hover)w.detach(a)}if(b.hover&&b.hoverables[a.nodeName.toLowerCase()]){w.attach(a)}c.options=b;return a}function B(b){var c={};return function(a){if(!L(c,a))c[a]=b.apply(null,arguments);return c[a]}}function U(a,b){var c=p.quotedList(b.get('fontFamily').toLowerCase()),d;for(var f=0;d=c[f];++f){if(O[d])return O[d].get(b.get('fontStyle'),b.get('fontWeight'))}return null}function K(a){return document.getElementsByTagName(a)}function L(a,b){return a.hasOwnProperty(b)}function T(){var a={},b,c;for(var d=0,f=arguments.length;b=arguments[d],d<f;++d){for(c in b){if(L(b,c))a[c]=b[c]}}return a}function ba(a,b,c,d,f,g){var i=document.createDocumentFragment(),h;if(b==='')return i;var j=d.separate;var k=b.split(bd[j]),l=(j=='words');if(l&&s){if(/^\s/.test(b))k.unshift('');if(/\s$/.test(b))k.push('')}for(var m=0,q=k.length;m<q;++m){h=V[d.engine](a,l?p.textAlign(k[m],c,m,q):k[m],c,d,f,g,m<q-1);if(h)i.appendChild(h)}return i}function M(a,b,c){if(a.removeEventListener){a.removeEventListener(b,c,false)}else if(a.detachEvent){a.detachEvent('on'+b,c)}}function bb(a,b){var c=a.nodeName.toLowerCase();if(b.ignore[c])return;if(b.ignoreClass&&b.ignoreClass.test(a.className))return;if(b.onBeforeReplace)b.onBeforeReplace(a,b);var d=!b.textless[c],f=(b.trim==='simple');var g=p.getStyle(Z(a,b)).extend(b);if(parseFloat(g.get('fontSize'))===0)return;var i=U(a,g),h,j,k,l,m,q;var o=b.softHyphens,r=false,y,D,P=/\u00ad/g;var E=b.modifyText;if(!i)return;for(h=a.firstChild;h;h=k){j=h.nodeType;k=h.nextSibling;if(d&&j==3){if(o&&a.nodeName.toLowerCase()!=A){y=h.data.indexOf('\u00ad');if(y>=0){h.splitText(y);k=h.nextSibling;k.deleteData(0,1);D=document.createElement(A);D.appendChild(document.createTextNode('\u00ad'));a.insertBefore(D,k);k=D;r=true}}if(l){l.appendData(h.data);a.removeChild(h)}else l=h;if(k)continue}if(l){m=l.data;if(!o)m=m.replace(P,'');m=p.whiteSpace(m,g,l,q,f);if(E)m=E(m,l,a,b);a.replaceChild(ba(i,m,g,b,h,a),l);l=null}if(j==1){if(h.firstChild){if(h.nodeName.toLowerCase()=='cufon'){V[b.engine](i,null,g,b,h,a)}else arguments.callee(h,b)}q=h}}if(o&&r){Q(a);if(!F)v(window,'resize',u);F=true}if(b.onAfterReplace)b.onAfterReplace(a,b)}function Q(a){var b,c,d,f,g,i,h,j;b=a.getElementsByTagName(A);for(j=0;c=b[j];++j){c.className=Y;f=d=c.parentNode;if(f.nodeName.toLowerCase()!=G){g=document.createElement(G);g.appendChild(c.previousSibling);d.insertBefore(g,c);g.appendChild(c)}else{f=f.parentNode;if(f.nodeName.toLowerCase()==G){d=f.parentNode;while(f.firstChild){d.insertBefore(f.firstChild,f)}d.removeChild(f)}}}for(j=0;c=b[j];++j){c.className='';f=c.parentNode;d=f.parentNode;i=f.nextSibling||d.nextSibling;h=(i.nodeName.toLowerCase()==G)?f:c.previousSibling;if(h.offsetTop>=i.offsetTop){c.className=Y;if(h.offsetTop<i.offsetTop){g=document.createElement(G);d.insertBefore(g,f);g.appendChild(f);g.appendChild(i)}}}}function u(){if(I)return;p.addClass(t.root(),R);clearTimeout(S);S=setTimeout(function(){I=true;p.removeClass(t.root(),R);Q(document);I=false},100)}var s=' '.split(/\s+/).length==0;var G='cufonglue';var A='cufonshy';var Y='cufon-shy-disabled';var R='cufon-viewport-resizing';var z=new bc();var w=new X();var W=new N();var J=false;var F=false;var S;var I=false;var V={},O={},be={autoDetect:false,engine:null,forceHitArea:false,hover:false,hoverables:{a:true},ignore:{applet:1,canvas:1,col:1,colgroup:1,head:1,iframe:1,map:1,noscript:1,optgroup:1,option:1,script:1,select:1,style:1,textarea:1,title:1,pre:1},ignoreClass:null,modifyText:null,onAfterReplace:null,onBeforeReplace:null,printable:true,selector:(window.Sizzle||(window.jQuery&&function(a){return jQuery(a)})||(window.dojo&&dojo.query)||(window.glow&&glow.dom&&glow.dom.get)||(window.Ext&&Ext.query)||(window.YAHOO&&YAHOO.util&&YAHOO.util.Selector&&YAHOO.util.Selector.query)||(window.$$&&function(a){return $$(a)})||(window.$&&function(a){return $(a)})||(document.querySelectorAll&&function(a){return document.querySelectorAll(a)})||K),separate:'words',softHyphens:true,textless:{dl:1,html:1,ol:1,table:1,tbody:1,thead:1,tfoot:1,tr:1,ul:1},textShadow:'none',trim:'advanced'};var bd={words:/\s/.test('\u00a0')?/[^\S\u00a0]+/:/\s+/,characters:'',none:/^/};n.now=function(){t.ready();return n};n.refresh=function(){W.repeat.apply(W,arguments);return n};n.registerEngine=function(a,b){if(!b)return n;V[a]=b;return n.set('engine',a)};n.registerFont=function(a){if(!a)return n;var b=new H(a),c=b.family;if(!O[c])O[c]=new C();O[c].add(b);return n.set('fontFamily','"'+c+'"')};n.replace=function(d,f,g){f=T(be,f);if(!f.engine)return n;if(!J){p.addClass(t.root(),'cufon-active cufon-loading');p.ready(function(){p.addClass(p.removeClass(t.root(),'cufon-loading'),'cufon-ready')});J=true}if(f.hover)f.forceHitArea=true;if(f.autoDetect)delete f.fontFamily;if(typeof f.ignoreClass=='string'){f.ignoreClass=new RegExp('(?:^|\\s)(?:'+f.ignoreClass.replace(/\s+/g,'|')+')(?:\\s|$)')}if(typeof f.textShadow=='string'){f.textShadow=p.textShadow(f.textShadow)}if(typeof f.color=='string'&&/^-/.test(f.color)){f.textGradient=p.gradient(f.color)}else delete f.textGradient;if(typeof d=='string'){if(!g)W.add(d,arguments);d=[d]}else if(d.nodeType)d=[d];p.ready(function(){for(var a=0,b=d.length;a<b;++a){var c=d[a];if(typeof c=='string')n.replace(f.selector(c),f,true);else bb(c,f)}});return n};n.set=function(a,b){be[a]=b;return n};return n})();Cufon.registerEngine('vml',(function(){var I=document.namespaces;if(!I)return;I.add('cvml','urn:schemas-microsoft-com:vml');I=null;var V=document.createElement('cvml:shape');V.style.behavior='url(#default#VML)';if(!V.coordsize)return;V=null;var O=(document.documentMode||0)<8;document.write(('<style type="text/css">cufoncanvas{text-indent:0;}@media screen{cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}cufoncanvas{position:absolute;text-align:left;}cufon{display:inline-block;position:relative;vertical-align:'+(O?'middle':'text-bottom')+';}cufon cufontext{position:absolute;left:-10000in;font-size:1px;text-align:left;}cufonshy.cufon-shy-disabled,.cufon-viewport-resizing cufonshy{display:none;}cufonglue{white-space:nowrap;display:inline-block;}.cufon-viewport-resizing cufonglue{white-space:normal;}a cufon{cursor:pointer}}@media print{cufon cufoncanvas{display:none;}}</style>').replace(/;/g,'!important;'));function be(a,b){return bd(a,/(?:em|ex|%)$|^[a-z-]+$/i.test(b)?'1em':b)}function bd(a,b){if(!isNaN(b)||/px$/i.test(b))return parseFloat(b);var c=a.style.left,d=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;a.style.left=b.replace('%','em');var f=a.style.pixelLeft;a.style.left=c;a.runtimeStyle.left=d;return f}function bg(a,b,c,d){var f='computed'+d,g=b[f];if(isNaN(g)){g=b.get(d);b[f]=g=(g=='normal')?0:~~c.convertFrom(bd(a,g))}return g}var bf={};function bh(a){var b=a.id;if(!bf[b]){var c=a.stops,d=document.createElement('cvml:fill'),f=[];d.type='gradient';d.angle=180;d.focus='0';d.method='none';d.color=c[0][1];for(var g=1,i=c.length-1;g<i;++g){f.push(c[g][0]*100+'% '+c[g][1])}d.colors=f.join(',');d.color2=c[i][1];bf[b]=d}return bf[b]}return function(a,b,c,d,f,g,i){var h=(b===null);if(h)b=f.alt;var j=a.viewBox;var k=c.computedFontSize||(c.computedFontSize=new Cufon.CSS.Size(be(g,c.get('fontSize'))+'px',a.baseSize));var l,m;if(h){l=f;m=f.firstChild}else{l=document.createElement('cufon');l.className='cufon cufon-vml';l.alt=b;m=document.createElement('cufoncanvas');l.appendChild(m);if(d.printable){var q=document.createElement('cufontext');q.appendChild(document.createTextNode(b));l.appendChild(q)}if(!i)l.appendChild(document.createElement('cvml:shape'))}var o=l.style;var r=m.style;var y=k.convert(j.height),D=Math.ceil(y);var P=D/y;var E=P*Cufon.CSS.fontStretch(c.get('fontStretch'));var n=j.minX,t=j.minY;r.height=D;r.top=Math.round(k.convert(t-a.ascent));r.left=Math.round(k.convert(n));o.height=k.convert(a.height)+'px';var p=c.get('color');var H=Cufon.CSS.textTransform(b,c).split('');var C=a.spacing(H,bg(g,c,k,'letterSpacing'),bg(g,c,k,'wordSpacing'));if(!C.length)return null;var X=C.total;var N=-n+X+(j.width-C[C.length-1]);var bc=k.convert(N*E),x=Math.round(bc);var v=N+','+j.height,Z;var B='r'+v+'ns';var U=d.textGradient&&bh(d.textGradient);var K=a.glyphs,L=0;var T=d.textShadow;var ba=-1,M=0,bb;while(bb=H[++ba]){var Q=K[H[ba]]||a.missingGlyph,u;if(!Q)continue;if(h){u=m.childNodes[M];while(u.firstChild)u.removeChild(u.firstChild)}else{u=document.createElement('cvml:shape');m.appendChild(u)}u.stroked='f';u.coordsize=v;u.coordorigin=Z=(n-L)+','+t;u.path=(Q.d?'m'+Q.d+'xe':'')+'m'+Z+B;u.fillcolor=p;if(U)u.appendChild(U.cloneNode(false));var s=u.style;s.width=x;s.height=D;if(T){var G=T[0],A=T[1];var Y=Cufon.CSS.color(G.color),R;var z=document.createElement('cvml:shadow');z.on='t';z.color=Y.color;z.offset=G.offX+','+G.offY;if(A){R=Cufon.CSS.color(A.color);z.type='double';z.color2=R.color;z.offset2=A.offX+','+A.offY}z.opacity=Y.opacity||(R&&R.opacity)||1;u.appendChild(z)}L+=C[M++]}var w=u.nextSibling,W,J;if(d.forceHitArea){if(!w){w=document.createElement('cvml:rect');w.stroked='f';w.className='cufon-vml-cover';W=document.createElement('cvml:fill');W.opacity=0;w.appendChild(W);m.appendChild(w)}J=w.style;J.width=x;J.height=D}else if(w)m.removeChild(w);o.width=Math.max(Math.ceil(k.convert(X*E)),0);if(O){var F=c.computedYAdjust;if(F===undefined){var S=c.get('lineHeight');if(S=='normal')S='1em';else if(!isNaN(S))S+='em';c.computedYAdjust=F=0.5*(bd(g,S)-parseFloat(o.height))}if(F){o.marginTop=Math.ceil(F)+'px';o.marginBottom=F+'px'}}return l}})());Cufon.registerEngine('canvas',(function(){var J=document.createElement('canvas');if(!J||!J.getContext||!J.getContext.apply)return;J=null;var F=Cufon.CSS.supports('display','inline-block');var S=!F&&(document.compatMode=='BackCompat'||/frameset|transitional/i.test(document.doctype.publicId));var I=document.createElement('style');I.type='text/css';I.appendChild(document.createTextNode(('cufon{text-indent:0;}@media screen,projection{cufon{display:inline;display:inline-block;position:relative;vertical-align:middle;'+(S?'':'font-size:1px;line-height:1px;')+'}cufon cufontext{display:-moz-inline-box;display:inline-block;width:0;height:0;text-align:left;text-indent:-10000in;}'+(F?'cufon canvas{position:relative;}':'cufon canvas{position:absolute;}')+'cufonshy.cufon-shy-disabled,.cufon-viewport-resizing cufonshy{display:none;}cufonglue{white-space:nowrap;display:inline-block;}.cufon-viewport-resizing cufonglue{white-space:normal;}}@media print{cufon{padding:0;}cufon canvas{display:none;}}').replace(/;/g,'!important;')));document.getElementsByTagName('head')[0].appendChild(I);function V(a,b){var c=0,d=0;var f=[],g=/([mrvxe])([^a-z]*)/g,i;generate:for(var h=0;i=g.exec(a);++h){var j=i[2].split(',');switch(i[1]){case'v':f[h]={m:'bezierCurveTo',a:[c+~~j[0],d+~~j[1],c+~~j[2],d+~~j[3],c+=~~j[4],d+=~~j[5]]};break;case'r':f[h]={m:'lineTo',a:[c+=~~j[0],d+=~~j[1]]};break;case'm':f[h]={m:'moveTo',a:[c=~~j[0],d=~~j[1]]};break;case'x':f[h]={m:'closePath'};break;case'e':break generate}b[f[h].m].apply(b,f[h].a)}return f}function O(a,b){for(var c=0,d=a.length;c<d;++c){var f=a[c];b[f.m].apply(b,f.a)}}return function(g,i,h,j,k,l){var m=(i===null);if(m)i=k.getAttribute('alt');var q=g.viewBox;var o=h.getSize('fontSize',g.baseSize);var r=0,y=0,D=0,P=0;var E=j.textShadow,n=[];if(E){for(var t=E.length;t--;){var p=E[t];var H=o.convertFrom(parseFloat(p.offX));var C=o.convertFrom(parseFloat(p.offY));n[t]=[H,C];if(C<r)r=C;if(H>y)y=H;if(C>D)D=C;if(H<P)P=H}}var X=Cufon.CSS.textTransform(i,h).split('');var N=g.spacing(X,~~o.convertFrom(parseFloat(h.get('letterSpacing'))||0),~~o.convertFrom(parseFloat(h.get('wordSpacing'))||0));if(!N.length)return null;var bc=N.total;y+=q.width-N[N.length-1];P+=q.minX;var x,v;if(m){x=k;v=k.firstChild}else{x=document.createElement('cufon');x.className='cufon cufon-canvas';x.setAttribute('alt',i);v=document.createElement('canvas');x.appendChild(v);if(j.printable){var Z=document.createElement('cufontext');Z.appendChild(document.createTextNode(i));x.appendChild(Z)}}var B=x.style;var U=v.style;var K=o.convert(q.height);var L=Math.ceil(K);var T=L/K;var ba=T*Cufon.CSS.fontStretch(h.get('fontStretch'));var M=bc*ba;var bb=Math.ceil(o.convert(M+y-P));var Q=Math.ceil(o.convert(q.height-r+D));v.width=bb;v.height=Q;U.width=bb+'px';U.height=Q+'px';r+=q.minY;U.top=Math.round(o.convert(r-g.ascent))+'px';U.left=Math.round(o.convert(P))+'px';var u=Math.max(Math.ceil(o.convert(M)),0)+'px';if(F){B.width=u;B.height=o.convert(g.height)+'px'}else{B.paddingLeft=u;B.paddingBottom=(o.convert(g.height)-1)+'px'}var s=v.getContext('2d'),G=K/q.height;var A=window.devicePixelRatio||1;if(A!=1){v.width=bb*A;v.height=Q*A;s.scale(A,A)}s.scale(G,G*T);s.translate(-P,-r);s.save();function Y(){var a=g.glyphs,b,c=-1,d=-1,f;s.scale(ba,1);while(f=X[++c]){var b=a[X[c]]||g.missingGlyph;if(!b)continue;if(b.d){s.beginPath();if(b.code)O(b.code,s);else b.code=V('m'+b.d,s);s.fill()}s.translate(N[++d],0)}s.restore()}if(E){for(var t=E.length;t--;){var p=E[t];s.save();s.fillStyle=p.color;s.translate.apply(s,n[t]);Y()}}var R=j.textGradient;if(R){var z=R.stops,w=s.createLinearGradient(0,q.minY,0,q.maxY);for(var t=0,W=z.length;t<W;++t){w.addColorStop.apply(w,z[t])}s.fillStyle=w}else s.fillStyle=h.get('color');Y();return x}})());

