(function($,document,window){var
defaults={transition:"elastic",speed:300,width:false,initialWidth:"600",innerWidth:false,maxWidth:false,height:false,initialHeight:"450",innerHeight:false,maxHeight:false,scalePhotos:true,scrolling:true,inline:false,html:false,iframe:false,fastIframe:true,photo:false,href:false,title:false,rel:false,opacity:0.9,preloading:true,current:"image {current} of {total}",previous:"previous",next:"next",close:"close",open:false,returnFocus:true,reposition:true,loop:true,slideshow:false,slideshowAuto:true,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",onOpen:false,onLoad:false,onComplete:false,onCleanup:false,onClosed:false,overlayClose:true,escKey:true,arrowKey:true,top:false,bottom:false,left:false,right:false,fixed:false,data:undefined},colorbox='colorbox',prefix='cbox',boxElement=prefix+'Element',event_open=prefix+'_open',event_load=prefix+'_load',event_complete=prefix+'_complete',event_cleanup=prefix+'_cleanup',event_closed=prefix+'_closed',event_purge=prefix+'_purge',isIE=!$.support.opacity&&!$.support.style,isIE6=isIE&&!window.XMLHttpRequest,event_ie6=prefix+'_IE6',$overlay,$box,$wrap,$content,$topBorder,$leftBorder,$rightBorder,$bottomBorder,$related,$window,$loaded,$loadingBay,$loadingOverlay,$title,$current,$slideshow,$next,$prev,$close,$groupControls,settings,interfaceHeight,interfaceWidth,loadedHeight,loadedWidth,element,index,photo,open,active,closing,loadingTimer,publicMethod,div="div",init;function $tag(tag,id,css){var element=document.createElement(tag);if(id){element.id=prefix+id;}
if(css){element.style.cssText=css;}
return $(element);}
function getIndex(increment){var
max=$related.length,newIndex=(index+increment)%max;return(newIndex<0)?max+newIndex:newIndex;}
function setSize(size,dimension){return Math.round((/%/.test(size)?((dimension==='x'?$window.width():$window.height())/100):1)*parseInt(size,10));}
function isImage(url){return settings.photo||/\.(gif|png|jpe?g|bmp|ico)((#|\?).*)?$/i.test(url);}
function makeSettings(){var i;settings=$.extend({},$.data(element,colorbox));for(i in settings){if($.isFunction(settings[i])&&i.slice(0,2)!=='on'){settings[i]=settings[i].call(element);}}
settings.rel=settings.rel||element.rel||'nofollow';settings.href=settings.href||$(element).attr('href');settings.title=settings.title||element.title;if(typeof settings.href==="string"){settings.href=$.trim(settings.href);}}
function trigger(event,callback){$.event.trigger(event);if(callback){callback.call(element);}}
function slideshow(){var
timeOut,className=prefix+"Slideshow_",click="click."+prefix,start,stop,clear;if(settings.slideshow&&$related[1]){start=function(){$slideshow.text(settings.slideshowStop).unbind(click).bind(event_complete,function(){if(settings.loop||$related[index+1]){timeOut=setTimeout(publicMethod.next,settings.slideshowSpeed);}}).bind(event_load,function(){clearTimeout(timeOut);}).one(click+' '+event_cleanup,stop);$box.removeClass(className+"off").addClass(className+"on");timeOut=setTimeout(publicMethod.next,settings.slideshowSpeed);};stop=function(){clearTimeout(timeOut);$slideshow.text(settings.slideshowStart).unbind([event_complete,event_load,event_cleanup,click].join(' ')).one(click,function(){publicMethod.next();start();});$box.removeClass(className+"on").addClass(className+"off");};if(settings.slideshowAuto){start();}else{stop();}}else{$box.removeClass(className+"off "+className+"on");}}
function launch(target){if(!closing){element=target;makeSettings();$related=$(element);index=0;if(settings.rel!=='nofollow'){$related=$('.'+boxElement).filter(function(){var relRelated=$.data(this,colorbox).rel||this.rel;return(relRelated===settings.rel);});index=$related.index(element);if(index===-1){$related=$related.add(element);index=$related.length-1;}}
if(!open){open=active=true;$box.show();if(settings.returnFocus){$(element).blur().one(event_closed,function(){$(this).focus();});}
$overlay.css({"opacity":+settings.opacity,"cursor":settings.overlayClose?"pointer":"auto"}).show();settings.w=setSize(settings.initialWidth,'x');settings.h=setSize(settings.initialHeight,'y');publicMethod.position();if(isIE6){$window.bind('resize.'+event_ie6+' scroll.'+event_ie6,function(){$overlay.css({width:$window.width(),height:$window.height(),top:$window.scrollTop(),left:$window.scrollLeft()});}).trigger('resize.'+event_ie6);}
trigger(event_open,settings.onOpen);$groupControls.add($title).hide();$close.html(settings.close).show();}
publicMethod.load(true);}}
function appendHTML(){if(!$box&&document.body){init=false;$window=$(window);$box=$tag(div).attr({id:colorbox,'class':isIE?prefix+(isIE6?'IE6':'IE'):''}).hide();$overlay=$tag(div,"Overlay",isIE6?'position:absolute':'').hide();$wrap=$tag(div,"Wrapper");$content=$tag(div,"Content").append($loaded=$tag(div,"LoadedContent",'width:0; height:0; overflow:hidden'),$loadingOverlay=$tag(div,"LoadingOverlay").add($tag(div,"LoadingGraphic")),$title=$tag(div,"Title"),$current=$tag(div,"Current"),$next=$tag(div,"Next"),$prev=$tag(div,"Previous"),$slideshow=$tag(div,"Slideshow").bind(event_open,slideshow),$close=$tag(div,"Close"));$wrap.append($tag(div).append($tag(div,"TopLeft"),$topBorder=$tag(div,"TopCenter"),$tag(div,"TopRight")),$tag(div,false,'clear:left').append($leftBorder=$tag(div,"MiddleLeft"),$content,$rightBorder=$tag(div,"MiddleRight")),$tag(div,false,'clear:left').append($tag(div,"BottomLeft"),$bottomBorder=$tag(div,"BottomCenter"),$tag(div,"BottomRight"))).find('div div').css({'float':'left'});$loadingBay=$tag(div,false,'position:absolute; width:9999px; visibility:hidden; display:none');$groupControls=$next.add($prev).add($current).add($slideshow);$(document.body).append($overlay,$box.append($wrap,$loadingBay));}}
function addBindings(){if($box){if(!init){init=true;interfaceHeight=$topBorder.height()+$bottomBorder.height()+$content.outerHeight(true)-$content.height();interfaceWidth=$leftBorder.width()+$rightBorder.width()+$content.outerWidth(true)-$content.width();loadedHeight=$loaded.outerHeight(true);loadedWidth=$loaded.outerWidth(true);$box.css({"padding-bottom":interfaceHeight,"padding-right":interfaceWidth});$next.click(function(){publicMethod.next();});$prev.click(function(){publicMethod.prev();});$close.click(function(){publicMethod.close();});$overlay.click(function(){if(settings.overlayClose){publicMethod.close();}});$(document).bind('keydown.'+prefix,function(e){var key=e.keyCode;if(open&&settings.escKey&&key===27){e.preventDefault();publicMethod.close();}
if(open&&settings.arrowKey&&$related[1]){if(key===37){e.preventDefault();$prev.click();}else if(key===39){e.preventDefault();$next.click();}}});$('.'+boxElement,document).live('click',function(e){if(!(e.which>1||e.shiftKey||e.altKey||e.metaKey)){e.preventDefault();launch(this);}});}
return true;}
return false;}
if($.colorbox){return;}
$(appendHTML);publicMethod=$.fn[colorbox]=$[colorbox]=function(options,callback){var $this=this;options=options||{};appendHTML();if(addBindings()){if(!$this[0]){if($this.selector){return $this;}
$this=$('<a/>');options.open=true;}
if(callback){options.onComplete=callback;}
$this.each(function(){$.data(this,colorbox,$.extend({},$.data(this,colorbox)||defaults,options));}).addClass(boxElement);if(($.isFunction(options.open)&&options.open.call($this))||options.open){launch($this[0]);}}
return $this;};publicMethod.position=function(speed,loadedCallback){var
top=0,left=0,offset=$box.offset(),scrollTop=$window.scrollTop(),scrollLeft=$window.scrollLeft();$window.unbind('resize.'+prefix);$box.css({top:-9e4,left:-9e4});if(settings.fixed&&!isIE6){offset.top-=scrollTop;offset.left-=scrollLeft;$box.css({position:'fixed'});}else{top=scrollTop;left=scrollLeft;$box.css({position:'absolute'});}
if(settings.right!==false){left+=Math.max($window.width()-settings.w-loadedWidth-interfaceWidth-setSize(settings.right,'x'),0);}else if(settings.left!==false){left+=setSize(settings.left,'x');}else{left+=Math.round(Math.max($window.width()-settings.w-loadedWidth-interfaceWidth,0)/2);}
if(settings.bottom!==false){top+=Math.max($window.height()-settings.h-loadedHeight-interfaceHeight-setSize(settings.bottom,'y'),0);}else if(settings.top!==false){top+=setSize(settings.top,'y');}else{top+=Math.round(Math.max($window.height()-settings.h-loadedHeight-interfaceHeight,0)/2);}
$box.css({top:offset.top,left:offset.left});speed=($box.width()===settings.w+loadedWidth&&$box.height()===settings.h+loadedHeight)?0:speed||0;$wrap[0].style.width=$wrap[0].style.height="9999px";function modalDimensions(that){$topBorder[0].style.width=$bottomBorder[0].style.width=$content[0].style.width=that.style.width;$content[0].style.height=$leftBorder[0].style.height=$rightBorder[0].style.height=that.style.height;}
$box.dequeue().animate({width:settings.w+loadedWidth,height:settings.h+loadedHeight,top:top,left:left},{duration:speed,complete:function(){modalDimensions(this);active=false;$wrap[0].style.width=(settings.w+loadedWidth+interfaceWidth)+"px";$wrap[0].style.height=(settings.h+loadedHeight+interfaceHeight)+"px";if(settings.reposition){setTimeout(function(){$window.bind('resize.'+prefix,publicMethod.position);},1);}
if(loadedCallback){loadedCallback();}},step:function(){modalDimensions(this);}});};publicMethod.resize=function(options){if(open){options=options||{};if(options.width){settings.w=setSize(options.width,'x')-loadedWidth-interfaceWidth;}
if(options.innerWidth){settings.w=setSize(options.innerWidth,'x');}
$loaded.css({width:settings.w});if(options.height){settings.h=setSize(options.height,'y')-loadedHeight-interfaceHeight;}
if(options.innerHeight){settings.h=setSize(options.innerHeight,'y');}
if(!options.innerHeight&&!options.height){$loaded.css({height:"auto"});settings.h=$loaded.height();}
$loaded.css({height:settings.h});publicMethod.position(settings.transition==="none"?0:settings.speed);}};publicMethod.prep=function(object){if(!open){return;}
var callback,speed=settings.transition==="none"?0:settings.speed;$loaded.remove();$loaded=$tag(div,'LoadedContent').append(object);function getWidth(){settings.w=settings.w||$loaded.width();settings.w=settings.mw&&settings.mw<settings.w?settings.mw:settings.w;return settings.w;}
function getHeight(){settings.h=settings.h||$loaded.height();settings.h=settings.mh&&settings.mh<settings.h?settings.mh:settings.h;return settings.h;}
$loaded.hide().appendTo($loadingBay.show()).css({width:getWidth(),overflow:settings.scrolling?'auto':'hidden'}).css({height:getHeight()}).prependTo($content);$loadingBay.hide();$(photo).css({'float':'none'});if(isIE6){$('select').not($box.find('select')).filter(function(){return this.style.visibility!=='hidden';}).css({'visibility':'hidden'}).one(event_cleanup,function(){this.style.visibility='inherit';});}
callback=function(){var preload,i,total=$related.length,iframe,frameBorder='frameBorder',allowTransparency='allowTransparency',complete,src,img;if(!open){return;}
function removeFilter(){if(isIE){$box[0].style.removeAttribute('filter');}}
complete=function(){clearTimeout(loadingTimer);$loadingOverlay.hide();trigger(event_complete,settings.onComplete);};if(isIE){if(photo){$loaded.fadeIn(100);}}
$title.html(settings.title).add($loaded).show();if(total>1){if(typeof settings.current==="string"){$current.html(settings.current.replace('{current}',index+1).replace('{total}',total)).show();}
$next[(settings.loop||index<total-1)?"show":"hide"]().html(settings.next);$prev[(settings.loop||index)?"show":"hide"]().html(settings.previous);if(settings.slideshow){$slideshow.show();}
if(settings.preloading){preload=[getIndex(-1),getIndex(1)];while(i=$related[preload.pop()]){src=$.data(i,colorbox).href||i.href;if($.isFunction(src)){src=src.call(i);}
if(isImage(src)){img=new Image();img.src=src;}}}}else{$groupControls.hide();}
if(settings.iframe){iframe=$tag('iframe')[0];if(frameBorder in iframe){iframe[frameBorder]=0;}
if(allowTransparency in iframe){iframe[allowTransparency]="true";}
iframe.name=prefix+(+new Date());if(settings.fastIframe){complete();}else{$(iframe).one('load',complete);}
iframe.src=settings.href;if(!settings.scrolling){iframe.scrolling="no";}
$(iframe).addClass(prefix+'Iframe').appendTo($loaded).one(event_purge,function(){iframe.src="//about:blank";});}else{complete();}
if(settings.transition==='fade'){$box.fadeTo(speed,1,removeFilter);}else{removeFilter();}};if(settings.transition==='fade'){$box.fadeTo(speed,0,function(){publicMethod.position(0,callback);});}else{publicMethod.position(speed,callback);}};publicMethod.load=function(launched){var href,setResize,prep=publicMethod.prep;active=true;photo=false;element=$related[index];if(!launched){makeSettings();}
trigger(event_purge);trigger(event_load,settings.onLoad);settings.h=settings.height?setSize(settings.height,'y')-loadedHeight-interfaceHeight:settings.innerHeight&&setSize(settings.innerHeight,'y');settings.w=settings.width?setSize(settings.width,'x')-loadedWidth-interfaceWidth:settings.innerWidth&&setSize(settings.innerWidth,'x');settings.mw=settings.w;settings.mh=settings.h;if(settings.maxWidth){settings.mw=setSize(settings.maxWidth,'x')-loadedWidth-interfaceWidth;settings.mw=settings.w&&settings.w<settings.mw?settings.w:settings.mw;}
if(settings.maxHeight){settings.mh=setSize(settings.maxHeight,'y')-loadedHeight-interfaceHeight;settings.mh=settings.h&&settings.h<settings.mh?settings.h:settings.mh;}
href=settings.href;loadingTimer=setTimeout(function(){$loadingOverlay.show();},100);if(settings.inline){$tag(div).hide().insertBefore($(href)[0]).one(event_purge,function(){$(this).replaceWith($loaded.children());});prep($(href));}else if(settings.iframe){prep(" ");}else if(settings.html){prep(settings.html);}else if(isImage(href)){$(photo=new Image()).addClass(prefix+'Photo').error(function(){settings.title=false;prep($tag(div,'Error').text('This image could not be loaded'));}).load(function(){var percent;photo.onload=null;if(settings.scalePhotos){setResize=function(){photo.height-=photo.height*percent;photo.width-=photo.width*percent;};if(settings.mw&&photo.width>settings.mw){percent=(photo.width-settings.mw)/photo.width;setResize();}
if(settings.mh&&photo.height>settings.mh){percent=(photo.height-settings.mh)/photo.height;setResize();}}
if(settings.h){photo.style.marginTop=Math.max(settings.h-photo.height,0)/2+'px';}
if($related[1]&&(settings.loop||$related[index+1])){photo.style.cursor='pointer';photo.onclick=function(){publicMethod.next();};}
if(isIE){photo.style.msInterpolationMode='bicubic';}
setTimeout(function(){prep(photo);},1);});setTimeout(function(){photo.src=href;},1);}else if(href){$loadingBay.load(href,settings.data,function(data,status,xhr){prep(status==='error'?$tag(div,'Error').text('Request unsuccessful: '+xhr.statusText):$(this).contents());});}};publicMethod.next=function(){if(!active&&$related[1]&&(settings.loop||$related[index+1])){index=getIndex(1);publicMethod.load();}};publicMethod.prev=function(){if(!active&&$related[1]&&(settings.loop||index)){index=getIndex(-1);publicMethod.load();}};publicMethod.close=function(){if(open&&!closing){closing=true;open=false;trigger(event_cleanup,settings.onCleanup);$window.unbind('.'+prefix+' .'+event_ie6);$overlay.fadeTo(200,0);$box.stop().fadeTo(300,0,function(){$box.add($overlay).css({'opacity':1,cursor:'auto'}).hide();trigger(event_purge);$loaded.remove();setTimeout(function(){closing=false;trigger(event_closed,settings.onClosed);},1);});}};publicMethod.remove=function(){$([]).add($box).add($overlay).remove();$box=null;$('.'+boxElement).removeData(colorbox).removeClass(boxElement).die();};publicMethod.element=function(){return $(element);};publicMethod.settings=defaults;}(jQuery,document,this));var Cufon=(function(){var api=function(){return api.replace.apply(null,arguments);};var DOM=api.DOM={ready:(function(){var complete=false,readyStatus={loaded:1,complete:1};var queue=[],perform=function(){if(complete)return;complete=true;for(var fn;fn=queue.shift();fn());};if(document.addEventListener){document.addEventListener('DOMContentLoaded',perform,false);window.addEventListener('pageshow',perform,false);}
if(!window.opera&&document.readyState)(function(){readyStatus[document.readyState]?perform():setTimeout(arguments.callee,10);})();if(document.readyState&&document.createStyleSheet)(function(){try{document.body.doScroll('left');perform();}
catch(e){setTimeout(arguments.callee,1);}})();addEvent(window,'load',perform);return function(listener){if(!arguments.length)perform();else complete?listener():queue.push(listener);};})(),root:function(){return document.documentElement||document.body;},strict:(function(){var doctype;if(document.compatMode=='BackCompat')return false;doctype=document.doctype;if(doctype){return!/frameset|transitional/i.test(doctype.publicId);}
doctype=document.firstChild;if(doctype.nodeType!=8||/^DOCTYPE.+(transitional|frameset)/i.test(doctype.data)){return false;}
return true;})()};var CSS=api.CSS={Size:function(value,base){this.value=parseFloat(value);this.unit=String(value).match(/[a-z%]*$/)[0]||'px';this.convert=function(value){return value/base*this.value;};this.convertFrom=function(value){return value/this.value*base;};this.toString=function(){return this.value+this.unit;};},addClass:function(el,className){var current=el.className;el.className=current+(current&&' ')+className;return el;},color:cached(function(value){var parsed={};parsed.color=value.replace(/^rgba\((.*?),\s*([\d.]+)\)/,function($0,$1,$2){parsed.opacity=parseFloat($2);return'rgb('+$1+')';});return parsed;}),fontStretch:cached(function(value){if(typeof value=='number')return value;if(/%$/.test(value))return parseFloat(value)/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}[value]||1;}),getStyle:function(el){var view=document.defaultView;if(view&&view.getComputedStyle)return new Style(view.getComputedStyle(el,null));if(el.currentStyle)return new Style(el.currentStyle);return new Style(el.style);},gradient:cached(function(value){var gradient={id:value,type:value.match(/^-([a-z]+)-gradient\(/)[1],stops:[]},colors=value.substr(value.indexOf('(')).match(/([\d.]+=)?(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)/ig);for(var i=0,l=colors.length,stop;i<l;++i){stop=colors[i].split('=',2).reverse();gradient.stops.push([stop[1]||i/(l-1),stop[0]]);}
return gradient;}),quotedList:cached(function(value){var list=[],re=/\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g,match;while(match=re.exec(value))list.push(match[3]||match[1]);return list;}),recognizesMedia:cached(function(media){var el=document.createElement('style'),sheet,container,supported;el.type='text/css';el.media=media;try{el.appendChild(document.createTextNode('/**/'));}catch(e){}
container=elementsByTagName('head')[0];container.insertBefore(el,container.firstChild);sheet=(el.sheet||el.styleSheet);supported=sheet&&!sheet.disabled;container.removeChild(el);return supported;}),removeClass:function(el,className){var re=RegExp('(?:^|\\s+)'+className+'(?=\\s|$)','g');el.className=el.className.replace(re,'');return el;},supports:function(property,value){var checker=document.createElement('span').style;if(checker[property]===undefined)return false;checker[property]=value;return checker[property]===value;},textAlign:function(word,style,position,wordCount){if(style.get('textAlign')=='right'){if(position>0)word=' '+word;}
else if(position<wordCount-1)word+=' ';return word;},textShadow:cached(function(value){if(value=='none')return null;var shadows=[],currentShadow={},result,offCount=0;var re=/(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig;while(result=re.exec(value)){if(result[0]==','){shadows.push(currentShadow);currentShadow={};offCount=0;}
else if(result[1]){currentShadow.color=result[1];}
else{currentShadow[['offX','offY','blur'][offCount++]]=result[2];}}
shadows.push(currentShadow);return shadows;}),textTransform:(function(){var map={uppercase:function(s){return s.toUpperCase();},lowercase:function(s){return s.toLowerCase();},capitalize:function(s){return s.replace(/(?:^|\s)./g,function($0){return $0.toUpperCase();});}};return function(text,style){var transform=map[style.get('textTransform')];return transform?transform(text):text;};})(),whiteSpace:(function(){var ignore={inline:1,'inline-block':1,'run-in':1};var wsStart=/^\s+/,wsEnd=/\s+$/;return function(text,style,node,previousElement,simple){if(simple)return text.replace(wsStart,'').replace(wsEnd,'');if(previousElement){if(previousElement.nodeName.toLowerCase()=='br'){text=text.replace(wsStart,'');}}
if(ignore[style.get('display')])return text;if(!node.previousSibling)text=text.replace(wsStart,'');if(!node.nextSibling)text=text.replace(wsEnd,'');return text;};})()};CSS.ready=(function(){var complete=!CSS.recognizesMedia('all'),hasLayout=false;var queue=[],perform=function(){complete=true;for(var fn;fn=queue.shift();fn());};var links=elementsByTagName('link'),styles=elementsByTagName('style');var checkTypes={'':1,'text/css':1};function isContainerReady(el){if(!checkTypes[el.type.toLowerCase()])return true;return el.disabled||isSheetReady(el.sheet,el.media||'screen');}
function isSheetReady(sheet,media){if(!CSS.recognizesMedia(media||'all'))return true;if(!sheet||sheet.disabled)return false;try{var rules=sheet.cssRules,rule;if(rules){search:for(var i=0,l=rules.length;rule=rules[i],i<l;++i){switch(rule.type){case 2:break;case 3:if(!isSheetReady(rule.styleSheet,rule.media.mediaText))return false;break;default:break search;}}}}
catch(e){}
return true;}
function allStylesLoaded(){if(document.createStyleSheet)return true;var el,i;for(i=0;el=links[i];++i){if(el.rel.toLowerCase()=='stylesheet'&&!isContainerReady(el))return false;}
for(i=0;el=styles[i];++i){if(!isContainerReady(el))return false;}
return true;}
DOM.ready(function(){if(!hasLayout)hasLayout=CSS.getStyle(document.body).isUsable();if(complete||(hasLayout&&allStylesLoaded()))perform();else setTimeout(arguments.callee,10);});return function(listener){if(complete)listener();else queue.push(listener);};})();function Font(data){var face=this.face=data.face,wordSeparators={'\u0020':1,'\u00a0':1,'\u3000':1};this.glyphs=(function(glyphs){var key,fallbacks={'\u2011':'\u002d','\u00ad':'\u2011'};for(key in fallbacks){if(!hasOwnProperty(fallbacks,key))continue;if(!glyphs[key])glyphs[key]=glyphs[fallbacks[key]];}
return glyphs;})(data.glyphs);this.w=data.w;this.baseSize=parseInt(face['units-per-em'],10);this.family=face['font-family'].toLowerCase();this.weight=face['font-weight'];this.style=face['font-style']||'normal';this.viewBox=(function(){var parts=face.bbox.split(/\s+/);var box={minX:parseInt(parts[0],10),minY:parseInt(parts[1],10),maxX:parseInt(parts[2],10),maxY:parseInt(parts[3],10)};box.width=box.maxX-box.minX;box.height=box.maxY-box.minY;box.toString=function(){return[this.minX,this.minY,this.width,this.height].join(' ');};return box;})();this.ascent=-parseInt(face.ascent,10);this.descent=-parseInt(face.descent,10);this.height=-this.ascent+this.descent;this.spacing=function(chars,letterSpacing,wordSpacing){var glyphs=this.glyphs,glyph,kerning,k,jumps=[],width=0,w,i=-1,j=-1,chr;while(chr=chars[++i]){glyph=glyphs[chr]||this.missingGlyph;if(!glyph)continue;if(kerning){width-=k=kerning[chr]||0;jumps[j]-=k;}
w=glyph.w;if(isNaN(w))w=+this.w;if(w>0){w+=letterSpacing;if(wordSeparators[chr])w+=wordSpacing;}
width+=jumps[++j]=~~w;kerning=glyph.k;}
jumps.total=width;return jumps;};}
function FontFamily(){var styles={},mapping={oblique:'italic',italic:'oblique'};this.add=function(font){(styles[font.style]||(styles[font.style]={}))[font.weight]=font;};this.get=function(style,weight){var weights=styles[style]||styles[mapping[style]]||styles.normal||styles.italic||styles.oblique;if(!weights)return null;weight={normal:400,bold:700}[weight]||parseInt(weight,10);if(weights[weight])return weights[weight];var up={1:1,99:0}[weight%100],alts=[],min,max;if(up===undefined)up=weight>400;if(weight==500)weight=400;for(var alt in weights){if(!hasOwnProperty(weights,alt))continue;alt=parseInt(alt,10);if(!min||alt<min)min=alt;if(!max||alt>max)max=alt;alts.push(alt);}
if(weight<min)weight=min;if(weight>max)weight=max;alts.sort(function(a,b){return(up?(a>=weight&&b>=weight)?a<b:a>b:(a<=weight&&b<=weight)?a>b:a<b)?-1:1;});return weights[alts[0]];};}
function HoverHandler(){function contains(node,anotherNode){try{if(node.contains)return node.contains(anotherNode);return node.compareDocumentPosition(anotherNode)&16;}
catch(e){}
return false;}
function onOverOut(e){var related=e.relatedTarget;if(related&&contains(this,related))return;trigger(this,e.type=='mouseover');}
function onEnterLeave(e){if(!e)e=window.event;trigger(e.target||e.srcElement,e.type=='mouseenter');}
function trigger(el,hoverState){setTimeout(function(){var options=sharedStorage.get(el).options;if(hoverState){options=merge(options,options.hover);options._mediatorMode=1;}
api.replace(el,options,true);},10);}
this.attach=function(el){if(el.onmouseenter===undefined){addEvent(el,'mouseover',onOverOut);addEvent(el,'mouseout',onOverOut);}
else{addEvent(el,'mouseenter',onEnterLeave);addEvent(el,'mouseleave',onEnterLeave);}};this.detach=function(el){if(el.onmouseenter===undefined){removeEvent(el,'mouseover',onOverOut);removeEvent(el,'mouseout',onOverOut);}
else{removeEvent(el,'mouseenter',onEnterLeave);removeEvent(el,'mouseleave',onEnterLeave);}};}
function ReplaceHistory(){var list=[],map={};function filter(keys){var values=[],key;for(var i=0;key=keys[i];++i)values[i]=list[map[key]];return values;}
this.add=function(key,args){map[key]=list.push(args)-1;};this.repeat=function(){var snapshot=arguments.length?filter(arguments):list,args;for(var i=0;args=snapshot[i++];)api.replace(args[0],args[1],true);};}
function Storage(){var map={},at=0;function identify(el){return el.cufid||(el.cufid=++at);}
this.get=function(el){var id=identify(el);return map[id]||(map[id]={});};}
function Style(style){var custom={},sizes={};this.extend=function(styles){for(var property in styles){if(hasOwnProperty(styles,property))custom[property]=styles[property];}
return this;};this.get=function(property){return custom[property]!=undefined?custom[property]:style[property];};this.getSize=function(property,base){return sizes[property]||(sizes[property]=new CSS.Size(this.get(property),base));};this.isUsable=function(){return!!style;};}
function addEvent(el,type,listener){if(el.addEventListener){el.addEventListener(type,listener,false);}
else if(el.attachEvent){el.attachEvent('on'+type,listener);}}
function attach(el,options){if(options._mediatorMode)return el;var storage=sharedStorage.get(el);var oldOptions=storage.options;if(oldOptions){if(oldOptions===options)return el;if(oldOptions.hover)hoverHandler.detach(el);}
if(options.hover&&options.hoverables[el.nodeName.toLowerCase()]){hoverHandler.attach(el);}
storage.options=options;return el;}
function cached(fun){var cache={};return function(key){if(!hasOwnProperty(cache,key))cache[key]=fun.apply(null,arguments);return cache[key];};}
function getFont(el,style){var families=CSS.quotedList(style.get('fontFamily').toLowerCase()),family;for(var i=0;family=families[i];++i){if(fonts[family])return fonts[family].get(style.get('fontStyle'),style.get('fontWeight'));}
return null;}
function elementsByTagName(query){return document.getElementsByTagName(query);}
function hasOwnProperty(obj,property){return obj.hasOwnProperty(property);}
function merge(){var merged={},arg,key;for(var i=0,l=arguments.length;arg=arguments[i],i<l;++i){for(key in arg){if(hasOwnProperty(arg,key))merged[key]=arg[key];}}
return merged;}
function process(font,text,style,options,node,el){var fragment=document.createDocumentFragment(),processed;if(text==='')return fragment;var separate=options.separate;var parts=text.split(separators[separate]),needsAligning=(separate=='words');if(needsAligning&&HAS_BROKEN_REGEXP){if(/^\s/.test(text))parts.unshift('');if(/\s$/.test(text))parts.push('');}
for(var i=0,l=parts.length;i<l;++i){processed=engines[options.engine](font,needsAligning?CSS.textAlign(parts[i],style,i,l):parts[i],style,options,node,el,i<l-1);if(processed)fragment.appendChild(processed);}
return fragment;}
function removeEvent(el,type,listener){if(el.removeEventListener){el.removeEventListener(type,listener,false);}
else if(el.detachEvent){el.detachEvent('on'+type,listener);}}
function replaceElement(el,options){var name=el.nodeName.toLowerCase();if(options.ignore[name])return;if(options.ignoreClass&&options.ignoreClass.test(el.className))return;if(options.onBeforeReplace)options.onBeforeReplace(el,options);var replace=!options.textless[name],simple=(options.trim==='simple');var style=CSS.getStyle(attach(el,options)).extend(options);if(parseFloat(style.get('fontSize'))===0)return;var font=getFont(el,style),node,type,next,anchor,text,lastElement;var isShy=options.softHyphens,anyShy=false,pos,shy,reShy=/\u00ad/g;var modifyText=options.modifyText;if(!font)return;for(node=el.firstChild;node;node=next){type=node.nodeType;next=node.nextSibling;if(replace&&type==3){if(isShy&&el.nodeName.toLowerCase()!=TAG_SHY){pos=node.data.indexOf('\u00ad');if(pos>=0){node.splitText(pos);next=node.nextSibling;next.deleteData(0,1);shy=document.createElement(TAG_SHY);shy.appendChild(document.createTextNode('\u00ad'));el.insertBefore(shy,next);next=shy;anyShy=true;}}
if(anchor){anchor.appendData(node.data);el.removeChild(node);}
else anchor=node;if(next)continue;}
if(anchor){text=anchor.data;if(!isShy)text=text.replace(reShy,'');text=CSS.whiteSpace(text,style,anchor,lastElement,simple);if(modifyText)text=modifyText(text,anchor,el,options);el.replaceChild(process(font,text,style,options,node,el),anchor);anchor=null;}
if(type==1){if(node.firstChild){if(node.nodeName.toLowerCase()=='cufon'){engines[options.engine](font,null,style,options,node,el);}
else arguments.callee(node,options);}
lastElement=node;}}
if(isShy&&anyShy){updateShy(el);if(!trackingShy)addEvent(window,'resize',updateShyOnResize);trackingShy=true;}
if(options.onAfterReplace)options.onAfterReplace(el,options);}
function updateShy(context){var shys,shy,parent,glue,newGlue,next,prev,i;shys=context.getElementsByTagName(TAG_SHY);for(i=0;shy=shys[i];++i){shy.className=C_SHY_DISABLED;glue=parent=shy.parentNode;if(glue.nodeName.toLowerCase()!=TAG_GLUE){newGlue=document.createElement(TAG_GLUE);newGlue.appendChild(shy.previousSibling);parent.insertBefore(newGlue,shy);newGlue.appendChild(shy);}
else{glue=glue.parentNode;if(glue.nodeName.toLowerCase()==TAG_GLUE){parent=glue.parentNode;while(glue.firstChild){parent.insertBefore(glue.firstChild,glue);}
parent.removeChild(glue);}}}
for(i=0;shy=shys[i];++i){shy.className='';glue=shy.parentNode;parent=glue.parentNode;next=glue.nextSibling||parent.nextSibling;prev=(next.nodeName.toLowerCase()==TAG_GLUE)?glue:shy.previousSibling;if(prev.offsetTop>=next.offsetTop){shy.className=C_SHY_DISABLED;if(prev.offsetTop<next.offsetTop){newGlue=document.createElement(TAG_GLUE);parent.insertBefore(newGlue,glue);newGlue.appendChild(glue);newGlue.appendChild(next);}}}}
function updateShyOnResize(){if(ignoreResize)return;CSS.addClass(DOM.root(),C_VIEWPORT_RESIZING);clearTimeout(shyTimer);shyTimer=setTimeout(function(){ignoreResize=true;CSS.removeClass(DOM.root(),C_VIEWPORT_RESIZING);updateShy(document);ignoreResize=false;},100);}
var HAS_BROKEN_REGEXP=' '.split(/\s+/).length==0;var TAG_GLUE='cufonglue';var TAG_SHY='cufonshy';var C_SHY_DISABLED='cufon-shy-disabled';var C_VIEWPORT_RESIZING='cufon-viewport-resizing';var sharedStorage=new Storage();var hoverHandler=new HoverHandler();var replaceHistory=new ReplaceHistory();var initialized=false;var trackingShy=false;var shyTimer;var ignoreResize=false;var engines={},fonts={},defaultOptions={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(query){return jQuery(query);})||(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(query){return $$(query);})||(window.$&&function(query){return $(query);})||(document.querySelectorAll&&function(query){return document.querySelectorAll(query);})||elementsByTagName),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 separators={words:/\s/.test('\u00a0')?/[^\S\u00a0]+/:/\s+/,characters:'',none:/^/};api.now=function(){DOM.ready();return api;};api.refresh=function(){replaceHistory.repeat.apply(replaceHistory,arguments);return api;};api.registerEngine=function(id,engine){if(!engine)return api;engines[id]=engine;return api.set('engine',id);};api.registerFont=function(data){if(!data)return api;var font=new Font(data),family=font.family;if(!fonts[family])fonts[family]=new FontFamily();fonts[family].add(font);return api.set('fontFamily','"'+family+'"');};api.replace=function(elements,options,ignoreHistory){options=merge(defaultOptions,options);if(!options.engine)return api;if(!initialized){CSS.addClass(DOM.root(),'cufon-active cufon-loading');CSS.ready(function(){CSS.addClass(CSS.removeClass(DOM.root(),'cufon-loading'),'cufon-ready');});initialized=true;}
if(options.hover)options.forceHitArea=true;if(options.autoDetect)delete options.fontFamily;if(typeof options.ignoreClass=='string'){options.ignoreClass=new RegExp('(?:^|\\s)(?:'+options.ignoreClass.replace(/\s+/g,'|')+')(?:\\s|$)');}
if(typeof options.textShadow=='string'){options.textShadow=CSS.textShadow(options.textShadow);}
if(typeof options.color=='string'&&/^-/.test(options.color)){options.textGradient=CSS.gradient(options.color);}
else delete options.textGradient;if(typeof elements=='string'){if(!ignoreHistory)replaceHistory.add(elements,arguments);elements=[elements];}
else if(elements.nodeType)elements=[elements];CSS.ready(function(){for(var i=0,l=elements.length;i<l;++i){var el=elements[i];if(typeof el=='string')api.replace(options.selector(el),options,true);else replaceElement(el,options);}});return api;};api.set=function(option,value){defaultOptions[option]=value;return api;};return api;})();Cufon.registerEngine('vml',(function(){var ns=document.namespaces;if(!ns)return;ns.add('cvml','urn:schemas-microsoft-com:vml');ns=null;var check=document.createElement('cvml:shape');check.style.behavior='url(#default#VML)';if(!check.coordsize)return;check=null;var HAS_BROKEN_LINEHEIGHT=(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:'+
(HAS_BROKEN_LINEHEIGHT?'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 getFontSizeInPixels(el,value){return getSizeInPixels(el,/(?:em|ex|%)$|^[a-z-]+$/i.test(value)?'1em':value);}
function getSizeInPixels(el,value){if(!isNaN(value)||/px$/i.test(value))return parseFloat(value);var style=el.style.left,runtimeStyle=el.runtimeStyle.left;el.runtimeStyle.left=el.currentStyle.left;el.style.left=value.replace('%','em');var result=el.style.pixelLeft;el.style.left=style;el.runtimeStyle.left=runtimeStyle;return result;}
function getSpacingValue(el,style,size,property){var key='computed'+property,value=style[key];if(isNaN(value)){value=style.get(property);style[key]=value=(value=='normal')?0:~~size.convertFrom(getSizeInPixels(el,value));}
return value;}
var fills={};function gradientFill(gradient){var id=gradient.id;if(!fills[id]){var stops=gradient.stops,fill=document.createElement('cvml:fill'),colors=[];fill.type='gradient';fill.angle=180;fill.focus='0';fill.method='none';fill.color=stops[0][1];for(var j=1,k=stops.length-1;j<k;++j){colors.push(stops[j][0]*100+'% '+stops[j][1]);}
fill.colors=colors.join(',');fill.color2=stops[k][1];fills[id]=fill;}
return fills[id];}
return function(font,text,style,options,node,el,hasNext){var redraw=(text===null);if(redraw)text=node.alt;var viewBox=font.viewBox;var size=style.computedFontSize||(style.computedFontSize=new Cufon.CSS.Size(getFontSizeInPixels(el,style.get('fontSize'))+'px',font.baseSize));var wrapper,canvas;if(redraw){wrapper=node;canvas=node.firstChild;}
else{wrapper=document.createElement('cufon');wrapper.className='cufon cufon-vml';wrapper.alt=text;canvas=document.createElement('cufoncanvas');wrapper.appendChild(canvas);if(options.printable){var print=document.createElement('cufontext');print.appendChild(document.createTextNode(text));wrapper.appendChild(print);}
if(!hasNext)wrapper.appendChild(document.createElement('cvml:shape'));}
var wStyle=wrapper.style;var cStyle=canvas.style;var height=size.convert(viewBox.height),roundedHeight=Math.ceil(height);var roundingFactor=roundedHeight/height;var stretchFactor=roundingFactor*Cufon.CSS.fontStretch(style.get('fontStretch'));var minX=viewBox.minX,minY=viewBox.minY;cStyle.height=roundedHeight;cStyle.top=Math.round(size.convert(minY-font.ascent));cStyle.left=Math.round(size.convert(minX));wStyle.height=size.convert(font.height)+'px';var color=style.get('color');var chars=Cufon.CSS.textTransform(text,style).split('');var jumps=font.spacing(chars,getSpacingValue(el,style,size,'letterSpacing'),getSpacingValue(el,style,size,'wordSpacing'));if(!jumps.length)return null;var width=jumps.total;var fullWidth=-minX+width+(viewBox.width-jumps[jumps.length-1]);var shapeWidth=size.convert(fullWidth*stretchFactor),roundedShapeWidth=Math.round(shapeWidth);var coordSize=fullWidth+','+viewBox.height,coordOrigin;var stretch='r'+coordSize+'ns';var fill=options.textGradient&&gradientFill(options.textGradient);var glyphs=font.glyphs,offsetX=0;var shadows=options.textShadow;var i=-1,j=0,chr;while(chr=chars[++i]){var glyph=glyphs[chars[i]]||font.missingGlyph,shape;if(!glyph)continue;if(redraw){shape=canvas.childNodes[j];while(shape.firstChild)shape.removeChild(shape.firstChild);}
else{shape=document.createElement('cvml:shape');canvas.appendChild(shape);}
shape.stroked='f';shape.coordsize=coordSize;shape.coordorigin=coordOrigin=(minX-offsetX)+','+minY;shape.path=(glyph.d?'m'+glyph.d+'xe':'')+'m'+coordOrigin+stretch;shape.fillcolor=color;if(fill)shape.appendChild(fill.cloneNode(false));var sStyle=shape.style;sStyle.width=roundedShapeWidth;sStyle.height=roundedHeight;if(shadows){var shadow1=shadows[0],shadow2=shadows[1];var color1=Cufon.CSS.color(shadow1.color),color2;var shadow=document.createElement('cvml:shadow');shadow.on='t';shadow.color=color1.color;shadow.offset=shadow1.offX+','+shadow1.offY;if(shadow2){color2=Cufon.CSS.color(shadow2.color);shadow.type='double';shadow.color2=color2.color;shadow.offset2=shadow2.offX+','+shadow2.offY;}
shadow.opacity=color1.opacity||(color2&&color2.opacity)||1;shape.appendChild(shadow);}
offsetX+=jumps[j++];}
var cover=shape.nextSibling,coverFill,vStyle;if(options.forceHitArea){if(!cover){cover=document.createElement('cvml:rect');cover.stroked='f';cover.className='cufon-vml-cover';coverFill=document.createElement('cvml:fill');coverFill.opacity=0;cover.appendChild(coverFill);canvas.appendChild(cover);}
vStyle=cover.style;vStyle.width=roundedShapeWidth;vStyle.height=roundedHeight;}
else if(cover)canvas.removeChild(cover);wStyle.width=Math.max(Math.ceil(size.convert(width*stretchFactor)),0);if(HAS_BROKEN_LINEHEIGHT){var yAdjust=style.computedYAdjust;if(yAdjust===undefined){var lineHeight=style.get('lineHeight');if(lineHeight=='normal')lineHeight='1em';else if(!isNaN(lineHeight))lineHeight+='em';style.computedYAdjust=yAdjust=0.5*(getSizeInPixels(el,lineHeight)-parseFloat(wStyle.height));}
if(yAdjust){wStyle.marginTop=Math.ceil(yAdjust)+'px';wStyle.marginBottom=yAdjust+'px';}}
return wrapper;};})());Cufon.registerEngine('canvas',(function(){var check=document.createElement('canvas');if(!check||!check.getContext||!check.getContext.apply)return;check=null;var HAS_INLINE_BLOCK=Cufon.CSS.supports('display','inline-block');var HAS_BROKEN_LINEHEIGHT=!HAS_INLINE_BLOCK&&(document.compatMode=='BackCompat'||/frameset|transitional/i.test(document.doctype.publicId));var styleSheet=document.createElement('style');styleSheet.type='text/css';styleSheet.appendChild(document.createTextNode(('cufon{text-indent:0;}'+'@media screen,projection{'+'cufon{display:inline;display:inline-block;position:relative;vertical-align:middle;'+
(HAS_BROKEN_LINEHEIGHT?'':'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;}'+
(HAS_INLINE_BLOCK?'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(styleSheet);function generateFromVML(path,context){var atX=0,atY=0;var code=[],re=/([mrvxe])([^a-z]*)/g,match;generate:for(var i=0;match=re.exec(path);++i){var c=match[2].split(',');switch(match[1]){case'v':code[i]={m:'bezierCurveTo',a:[atX+~~c[0],atY+~~c[1],atX+~~c[2],atY+~~c[3],atX+=~~c[4],atY+=~~c[5]]};break;case'r':code[i]={m:'lineTo',a:[atX+=~~c[0],atY+=~~c[1]]};break;case'm':code[i]={m:'moveTo',a:[atX=~~c[0],atY=~~c[1]]};break;case'x':code[i]={m:'closePath'};break;case'e':break generate;}
context[code[i].m].apply(context,code[i].a);}
return code;}
function interpret(code,context){for(var i=0,l=code.length;i<l;++i){var line=code[i];context[line.m].apply(context,line.a);}}
return function(font,text,style,options,node,el){var redraw=(text===null);if(redraw)text=node.getAttribute('alt');var viewBox=font.viewBox;var size=style.getSize('fontSize',font.baseSize);var expandTop=0,expandRight=0,expandBottom=0,expandLeft=0;var shadows=options.textShadow,shadowOffsets=[];if(shadows){for(var i=shadows.length;i--;){var shadow=shadows[i];var x=size.convertFrom(parseFloat(shadow.offX));var y=size.convertFrom(parseFloat(shadow.offY));shadowOffsets[i]=[x,y];if(y<expandTop)expandTop=y;if(x>expandRight)expandRight=x;if(y>expandBottom)expandBottom=y;if(x<expandLeft)expandLeft=x;}}
var chars=Cufon.CSS.textTransform(text,style).split('');var jumps=font.spacing(chars,~~size.convertFrom(parseFloat(style.get('letterSpacing'))||0),~~size.convertFrom(parseFloat(style.get('wordSpacing'))||0));if(!jumps.length)return null;var width=jumps.total;expandRight+=viewBox.width-jumps[jumps.length-1];expandLeft+=viewBox.minX;var wrapper,canvas;if(redraw){wrapper=node;canvas=node.firstChild;}
else{wrapper=document.createElement('cufon');wrapper.className='cufon cufon-canvas';wrapper.setAttribute('alt',text);canvas=document.createElement('canvas');wrapper.appendChild(canvas);if(options.printable){var print=document.createElement('cufontext');print.appendChild(document.createTextNode(text));wrapper.appendChild(print);}}
var wStyle=wrapper.style;var cStyle=canvas.style;var height=size.convert(viewBox.height);var roundedHeight=Math.ceil(height);var roundingFactor=roundedHeight/height;var stretchFactor=roundingFactor*Cufon.CSS.fontStretch(style.get('fontStretch'));var stretchedWidth=width*stretchFactor;var canvasWidth=Math.ceil(size.convert(stretchedWidth+expandRight-expandLeft));var canvasHeight=Math.ceil(size.convert(viewBox.height-expandTop+expandBottom));canvas.width=canvasWidth;canvas.height=canvasHeight;cStyle.width=canvasWidth+'px';cStyle.height=canvasHeight+'px';expandTop+=viewBox.minY;cStyle.top=Math.round(size.convert(expandTop-font.ascent))+'px';cStyle.left=Math.round(size.convert(expandLeft))+'px';var wrapperWidth=Math.max(Math.ceil(size.convert(stretchedWidth)),0)+'px';if(HAS_INLINE_BLOCK){wStyle.width=wrapperWidth;wStyle.height=size.convert(font.height)+'px';}
else{wStyle.paddingLeft=wrapperWidth;wStyle.paddingBottom=(size.convert(font.height)-1)+'px';}
var g=canvas.getContext('2d'),scale=height/viewBox.height;var pixelRatio=window.devicePixelRatio||1;if(pixelRatio!=1){canvas.width=canvasWidth*pixelRatio;canvas.height=canvasHeight*pixelRatio;g.scale(pixelRatio,pixelRatio);}
g.scale(scale,scale*roundingFactor);g.translate(-expandLeft,-expandTop);g.save();function renderText(){var glyphs=font.glyphs,glyph,i=-1,j=-1,chr;g.scale(stretchFactor,1);while(chr=chars[++i]){var glyph=glyphs[chars[i]]||font.missingGlyph;if(!glyph)continue;if(glyph.d){g.beginPath();g.moveTo(0,0);if(glyph.code)interpret(glyph.code,g);else glyph.code=generateFromVML('m'+glyph.d,g);g.fill();}
g.translate(jumps[++j],0);}
g.restore();}
if(shadows){for(var i=shadows.length;i--;){var shadow=shadows[i];g.save();g.fillStyle=shadow.color;g.translate.apply(g,shadowOffsets[i]);renderText();}}
var gradient=options.textGradient;if(gradient){var stops=gradient.stops,fill=g.createLinearGradient(0,viewBox.minY,0,viewBox.maxY);for(var i=0,l=stops.length;i<l;++i){fill.addColorStop.apply(fill,stops[i]);}
g.fillStyle=fill;}
else g.fillStyle=style.get('color');renderText();return wrapper;};})());
