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

/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * Eurotype
 */
Cufon.registerFont({"w":180,"face":{"font-family":"HebarExtraLight","font-weight":400,"font-stretch":"normal","units-per-em":"360","panose-1":"2 11 114 0 0 0 0 0 0 0","ascent":"288","descent":"-72","x-height":"3","bbox":"-1 -299 338 90","underline-thickness":"3.42773","underline-position":"-17.2266","unicode-range":"U+0020-U+00FF"},"glyphs":{" ":{"w":95},"!":{"d":"36,0r0,-30r17,0r0,30r-17,0xm41,-63r-5,-102r0,-94r17,0r0,94r-5,102r-7,0","w":88},"\"":{"d":"18,-252r14,0r0,97r-14,0r0,-97xm64,-252r15,0r0,97r-15,0r0,-97","w":96},"#":{"d":"142,-256r15,0r-31,88r57,0r30,-88r15,0r-30,88r56,0r-5,11r-55,0r-20,59r61,0r-5,11r-62,0r-30,87r-15,0r31,-87r-57,0r-32,87r-14,0r30,-87r-58,0r5,-11r59,0r20,-59r-66,0r5,-11r64,0xm122,-157r-19,59r56,0r20,-59r-57,0","w":276},"$":{"d":"14,-74r15,0v1,8,2,16,3,21v1,5,2,10,4,14v2,4,4,6,6,9v4,4,10,8,15,11v6,3,15,5,28,7r0,-108v-13,-4,-22,-9,-28,-11v-6,-2,-11,-5,-17,-9v-7,-5,-12,-11,-15,-18v-3,-7,-5,-16,-5,-26v0,-18,5,-33,16,-43v5,-4,9,-7,13,-9v8,-4,20,-7,36,-10r0,-23r12,0r0,24v8,0,13,0,17,1v11,1,21,5,30,12v6,5,10,11,14,18v4,7,6,15,7,26r-15,0v-1,-9,-2,-16,-5,-21v-3,-5,-6,-9,-11,-13v-4,-3,-9,-5,-14,-7v-6,-2,-13,-4,-23,-4r0,101v14,4,25,8,31,11v6,3,13,7,19,12v13,10,19,25,19,46v0,19,-6,34,-18,45v-5,5,-9,9,-15,11v-8,4,-20,6,-36,7r0,30r-12,0r0,-30v-10,-1,-18,-2,-22,-3v-6,-2,-12,-5,-18,-8v-6,-3,-10,-7,-13,-10v-4,-4,-8,-9,-11,-17v-4,-9,-6,-21,-7,-36xm85,-137r0,-96v-13,2,-21,5,-27,8v-15,8,-23,21,-23,39v0,14,4,24,12,30v3,3,6,4,9,6v3,2,5,3,9,5v4,2,10,4,20,8xm97,-12v13,-1,23,-4,30,-8v16,-9,24,-23,24,-41v0,-8,-2,-16,-5,-23v-3,-6,-6,-10,-10,-14v-4,-4,-10,-8,-15,-10v-5,-2,-13,-5,-24,-8r0,104"},"%":{"d":"13,-186v0,-10,3,-20,8,-29v5,-9,13,-16,22,-21v9,-5,20,-8,30,-8v11,0,20,3,29,8v9,5,17,13,22,22v5,9,8,18,8,29v0,17,-5,31,-17,42v-12,11,-26,17,-43,17v-11,0,-21,-3,-30,-8v-9,-5,-16,-12,-21,-21v-5,-9,-8,-20,-8,-31xm56,7r161,-259r19,0r-162,259r-18,0xm163,-60v0,-10,3,-20,8,-29v5,-9,13,-16,22,-21v9,-5,19,-8,29,-8v11,0,22,3,31,8v9,5,16,13,21,22v5,9,9,18,9,29v0,11,-3,21,-8,30v-5,9,-13,16,-22,21v-9,5,-20,8,-31,8v-11,0,-21,-3,-30,-8v-9,-5,-16,-12,-21,-21v-5,-9,-8,-20,-8,-31xm31,-184v0,12,4,21,12,29v8,8,18,12,30,12v7,0,14,-1,20,-5v6,-4,11,-9,15,-15v4,-6,6,-13,6,-21v0,-12,-4,-22,-12,-30v-8,-8,-19,-13,-30,-13v-12,0,-21,4,-29,12v-8,8,-12,19,-12,31xm181,-58v0,12,4,22,12,30v8,8,17,12,29,12v11,0,22,-4,30,-12v8,-8,12,-19,12,-30v0,-8,-2,-14,-6,-21v-4,-7,-9,-12,-15,-16v-6,-4,-14,-5,-21,-5v-12,0,-21,4,-29,12v-8,8,-12,18,-12,30","w":291},"&":{"d":"211,0r-30,-35v-6,7,-10,12,-14,16v-4,4,-9,7,-15,10v-15,9,-32,13,-51,13v-12,0,-24,-2,-34,-5v-10,-3,-19,-9,-26,-15v-7,-6,-12,-14,-16,-23v-4,-9,-6,-19,-6,-30v0,-19,7,-36,19,-51v4,-4,7,-7,11,-10v7,-6,18,-13,32,-20v-9,-11,-14,-18,-17,-22v-7,-12,-11,-23,-11,-34v0,-15,5,-28,16,-38v11,-10,24,-15,40,-15v11,0,21,3,29,7v8,4,14,10,19,18v5,8,7,17,7,27v0,13,-4,25,-12,35v-5,6,-11,10,-17,14v-6,4,-15,9,-27,14r71,86v5,-15,8,-25,9,-31v1,-6,2,-15,2,-27r16,0v-1,14,-2,27,-5,38v-2,8,-6,17,-11,28r41,50r-20,0xm100,-154v13,-7,22,-13,28,-18v10,-10,16,-22,16,-35v0,-7,-2,-12,-5,-18v-3,-6,-7,-10,-12,-13v-5,-3,-11,-5,-18,-5v-11,0,-19,3,-26,10v-7,7,-10,15,-10,26v0,8,2,18,8,27v4,6,10,15,19,26xm91,-138v-7,3,-15,7,-23,13v-6,4,-9,7,-11,9v-6,6,-12,13,-15,21v-3,8,-5,16,-5,25v0,11,3,22,9,31v6,9,13,17,23,22v10,5,21,8,33,8v13,0,26,-4,39,-11v6,-3,10,-6,14,-9v4,-3,9,-9,14,-15","w":237},"'":{"d":"36,-177r0,-14v5,-4,8,-8,9,-12v1,-4,2,-9,2,-17r0,-2r0,-4r0,-1r-11,0r0,-32r24,0r0,43v0,11,-2,19,-5,24v-3,5,-10,10,-19,15","w":95},"(":{"d":"108,-259v-12,19,-21,35,-26,46v-5,11,-11,24,-15,38v-7,25,-11,52,-11,82v0,30,4,58,11,83v4,14,10,26,15,37v5,11,14,27,26,46r-17,0v-13,-19,-24,-37,-32,-51v-8,-15,-13,-34,-18,-54v-5,-20,-7,-41,-7,-61v0,-21,2,-40,6,-60v2,-10,4,-19,7,-27v3,-8,6,-15,10,-23v4,-8,8,-15,13,-24v5,-9,13,-20,21,-32r17,0","w":113},")":{"d":"5,-259r17,0v15,21,26,38,32,51v8,15,13,33,18,53v5,20,7,41,7,62v0,21,-2,41,-6,60v-3,13,-6,24,-10,34v-4,10,-9,21,-15,32v-6,11,-15,24,-26,40r-17,0v12,-19,21,-33,26,-44v5,-11,10,-23,14,-37v8,-25,12,-53,12,-85v0,-32,-4,-60,-12,-85v-4,-14,-10,-26,-15,-37v-5,-11,-13,-26,-25,-44","w":113},"*":{"d":"90,-184r-32,50r-17,-12r39,-45r-56,-13r6,-20r54,22r-3,-57r17,0r-2,56r53,-20r7,18r-56,14r39,45r-17,12"},"+":{"d":"143,-215r14,0r0,100r98,0r0,15r-98,0r0,100r-14,0r0,-100r-98,0r0,-15r98,0r0,-100","w":299},",":{"d":"36,50r0,-14v5,-4,8,-8,9,-12v1,-4,2,-9,2,-17r0,-2r0,-4r0,-1r-11,0r0,-32r24,0r0,43v0,11,-2,19,-5,24v-3,5,-10,11,-19,15","w":95},"-":{"d":"14,-94r0,-20r88,0r0,20r-88,0","w":115},".":{"d":"36,0r0,-32r24,0r0,32r-24,0","w":96},"\/":{"d":"97,-266r17,0r-97,296r-17,0","w":113},"0":{"d":"11,-124v0,-20,2,-38,5,-54v3,-16,8,-29,15,-40v7,-11,15,-19,25,-25v10,-6,21,-8,34,-8v11,0,21,1,29,5v8,4,16,9,23,17v8,9,13,19,16,30v3,10,6,22,8,37v2,15,3,29,3,42v0,27,-4,51,-11,73v-12,34,-35,51,-69,51v-17,0,-31,-4,-43,-14v-12,-10,-20,-25,-26,-44v-6,-19,-9,-42,-9,-70xm28,-120v0,17,1,33,4,47v3,14,7,25,12,35v5,10,12,18,20,23v8,5,16,7,26,7v8,0,15,-2,22,-5v7,-3,12,-7,17,-13v4,-5,9,-13,12,-21v3,-7,4,-14,6,-21v2,-7,2,-16,3,-25v1,-9,2,-21,2,-33v0,-36,-6,-63,-16,-82v-10,-19,-26,-28,-46,-28v-13,0,-25,4,-34,13v-9,9,-16,22,-21,39v-5,17,-7,39,-7,64"},"1":{"d":"91,0r0,-201v-7,4,-12,7,-18,9v-9,3,-25,5,-45,5r0,-15v7,0,14,-1,21,-2v13,-2,23,-5,30,-12v4,-4,7,-9,9,-14v2,-5,5,-13,6,-22r14,0r0,252r-17,0"},"2":{"d":"8,0v0,-8,0,-14,1,-19v2,-16,8,-31,18,-44v6,-8,13,-14,21,-20v7,-5,13,-10,18,-13v5,-3,12,-7,22,-12v17,-8,29,-14,36,-19v7,-5,13,-10,18,-16v8,-10,12,-21,12,-36v0,-11,-2,-21,-7,-30v-5,-9,-12,-15,-21,-20v-9,-5,-20,-8,-32,-8v-36,0,-54,23,-57,69r-17,0v1,-10,2,-17,3,-21v2,-14,8,-27,16,-38v12,-16,31,-24,57,-24v15,0,28,3,39,9v11,6,21,14,27,25v6,11,9,23,9,37v0,7,-1,16,-3,25v-3,8,-6,15,-11,21v-5,6,-12,11,-21,17v-9,6,-21,13,-38,21v-29,14,-50,30,-63,47v-4,5,-7,11,-8,15v-1,4,-2,11,-3,19r146,0r0,15r-162,0"},"3":{"d":"15,-72r18,0v1,15,4,28,8,37v4,9,11,17,19,21v8,4,18,6,31,6v18,0,32,-5,41,-17v4,-6,8,-13,11,-21v3,-8,4,-16,4,-23v0,-11,-3,-21,-8,-29v-5,-8,-13,-15,-23,-19v-10,-4,-22,-7,-35,-7r-9,0r0,-12r5,0v20,0,36,-5,47,-14v11,-9,16,-21,16,-38v0,-15,-4,-27,-13,-36v-9,-9,-21,-13,-36,-13v-32,0,-50,20,-53,60r-16,0v1,-14,4,-25,7,-33v5,-14,13,-24,23,-31v10,-7,23,-10,38,-10v14,0,25,3,35,8v10,5,18,12,23,22v5,10,7,21,7,34v0,18,-5,31,-15,41v-4,4,-7,6,-11,8v-4,2,-9,4,-17,6v8,2,15,4,19,6v4,2,8,5,12,8v7,5,12,12,16,21v4,9,6,19,6,29v0,9,-2,18,-5,27v-3,9,-7,16,-13,23v-6,8,-15,13,-24,17v-9,4,-21,5,-34,5v-23,0,-42,-6,-54,-19v-12,-13,-19,-32,-20,-57"},"4":{"d":"115,0r0,-62r-108,0r0,-20r106,-162r18,0r0,166r41,0r0,16r-41,0r0,62r-16,0xm115,-78r0,-144r-94,144r94,0"},"5":{"d":"16,-65r16,0v1,8,3,15,4,19v1,4,3,9,5,13v4,8,10,14,18,18v8,4,18,7,29,7v12,0,22,-2,31,-8v9,-6,16,-14,21,-24v5,-10,7,-23,7,-36v0,-14,-2,-25,-7,-36v-5,-11,-13,-19,-22,-25v-9,-6,-19,-9,-31,-9v-5,0,-11,1,-16,2v-7,2,-13,5,-18,9v-5,4,-10,10,-16,19r-15,0r19,-128r109,0r0,15r-97,0r-14,93v4,-5,8,-10,12,-13v8,-7,21,-11,39,-11v14,0,27,2,36,7v12,6,21,16,28,30v7,14,10,28,10,45v0,25,-8,46,-22,62v-7,7,-14,13,-22,16v-8,3,-20,4,-33,4v-23,0,-41,-6,-53,-20v-5,-5,-9,-11,-11,-18v-2,-7,-5,-18,-7,-31"},"6":{"d":"30,-101v3,-10,6,-18,9,-23v3,-5,5,-11,9,-15v12,-13,28,-21,48,-21v13,0,25,4,35,11v10,7,19,17,25,30v6,13,9,27,9,43v0,20,-6,38,-16,54v-6,9,-14,16,-23,20v-9,4,-20,6,-33,6v-13,0,-24,-2,-32,-5v-8,-3,-15,-9,-21,-17v-5,-6,-9,-13,-13,-23v-4,-10,-6,-21,-8,-33v-2,-12,-3,-26,-3,-41v0,-45,7,-79,21,-102v14,-23,34,-35,61,-35v21,0,38,7,50,23v4,5,6,11,8,17v2,6,4,14,6,24r-15,0v-3,-12,-5,-19,-7,-23v-8,-17,-21,-26,-41,-26v-8,0,-16,1,-22,4v-6,3,-12,7,-18,13v-7,7,-12,15,-15,23v-3,7,-5,15,-7,22v-2,7,-3,17,-4,28v-1,11,-2,26,-3,46xm38,-77v0,15,3,28,7,38v4,10,11,18,19,23v8,5,18,8,30,8v17,0,30,-6,38,-17v5,-6,8,-14,11,-23v3,-9,4,-19,4,-29v0,-13,-2,-25,-7,-35v-5,-10,-11,-19,-19,-25v-8,-6,-17,-8,-27,-8v-10,0,-21,2,-29,8v-8,6,-14,15,-19,25v-5,10,-8,22,-8,35"},"7":{"d":"47,0v4,-21,7,-37,10,-50v3,-13,6,-25,10,-35v4,-10,9,-21,14,-33v6,-12,11,-23,17,-33v6,-10,12,-20,21,-32v9,-12,21,-26,35,-44r-141,0r0,-17r157,0r0,22v-14,16,-25,30,-33,41v-8,11,-15,22,-21,32v-6,10,-11,21,-17,34v-7,17,-14,34,-18,49v-4,15,-9,37,-15,66r-19,0"},"8":{"d":"65,-133v-9,-3,-15,-6,-20,-9v-5,-3,-9,-7,-12,-12v-5,-9,-7,-20,-7,-33v0,-13,2,-24,8,-34v6,-10,13,-18,23,-23v10,-5,21,-8,34,-8v13,0,24,3,34,8v10,5,17,13,22,23v5,10,8,20,8,33v0,14,-4,26,-11,36v-3,5,-6,8,-10,11v-4,3,-10,5,-18,8v13,4,23,9,29,15v6,6,10,13,14,22v4,9,6,18,6,27v0,9,-2,18,-5,27v-3,9,-8,17,-13,24v-12,15,-31,22,-57,22v-23,0,-41,-6,-54,-19v-6,-6,-11,-14,-15,-24v-4,-10,-6,-19,-6,-29v0,-19,7,-35,19,-48v3,-4,7,-7,12,-9v5,-2,11,-5,19,-8xm42,-187v0,13,4,25,14,34v10,9,21,14,35,14v13,0,25,-5,34,-14v9,-9,14,-20,14,-34v0,-10,-2,-19,-6,-27v-4,-8,-10,-13,-17,-17v-7,-4,-16,-7,-25,-7v-15,0,-27,5,-36,14v-9,9,-13,22,-13,37xm33,-68v0,18,6,32,16,43v10,11,24,17,41,17v12,0,21,-3,30,-8v9,-5,15,-11,20,-20v5,-9,7,-20,7,-32v0,-11,-2,-21,-7,-30v-5,-9,-12,-16,-20,-21v-8,-5,-18,-7,-29,-7v-11,0,-21,2,-30,7v-9,5,-16,12,-21,21v-5,9,-7,19,-7,30"},"9":{"d":"150,-147v-3,10,-5,18,-8,23v-3,5,-6,11,-10,16v-12,13,-27,20,-47,20v-13,0,-25,-4,-36,-11v-11,-7,-18,-17,-24,-30v-6,-13,-9,-27,-9,-43v0,-20,5,-38,16,-54v6,-9,13,-16,22,-20v9,-4,19,-6,33,-6v13,0,24,2,32,5v8,3,16,9,22,17v16,20,24,52,24,97v0,30,-4,56,-10,76v-6,20,-15,36,-27,46v-12,10,-28,15,-46,15v-21,0,-37,-7,-49,-23v-4,-5,-7,-10,-9,-16v-2,-6,-3,-14,-5,-25r14,0v3,11,6,19,8,23v8,17,21,26,41,26v8,0,16,-1,22,-4v6,-3,12,-7,18,-13v7,-8,12,-15,15,-23v3,-8,5,-15,7,-22v2,-7,3,-16,4,-27v1,-11,1,-26,2,-47xm142,-171v0,-22,-5,-39,-14,-51v-9,-12,-23,-18,-41,-18v-17,0,-30,6,-38,17v-5,6,-9,14,-12,23v-3,9,-4,19,-4,29v0,20,5,36,15,49v10,13,23,19,39,19v10,0,20,-2,28,-8v8,-6,15,-15,20,-25v5,-10,7,-22,7,-35"},":":{"d":"38,0r0,-32r24,0r0,32r-24,0xm38,-157r0,-32r24,0r0,32r-24,0","w":100},";":{"d":"38,50r0,-14v5,-4,9,-8,10,-12v1,-4,2,-9,2,-17r0,-2r0,-4r0,-1r-12,0r0,-32r24,0r0,43v0,7,-1,14,-2,18v-1,4,-4,8,-7,11v-3,3,-9,7,-15,10xm38,-157r0,-32r24,0r0,32r-24,0","w":100},"<":{"d":"253,-185r0,16r-183,75r183,74r0,16r-207,-85r0,-11","w":299},"=":{"d":"45,-146r210,0r0,14r-210,0r0,-14xm45,-82r210,0r0,14r-210,0r0,-14","w":299},">":{"d":"46,-185r207,85r0,10r-207,85r0,-15r184,-75r-184,-75r0,-15","w":299},"?":{"d":"73,0r0,-32r17,0r0,32r-17,0xm74,-63r0,-7v0,-12,0,-20,1,-25v1,-5,2,-9,4,-15v2,-5,6,-11,10,-16v4,-5,11,-12,21,-21v11,-10,18,-18,22,-25v5,-8,8,-17,8,-27v0,-14,-4,-27,-11,-36v-4,-6,-9,-10,-15,-12v-6,-2,-13,-3,-23,-3v-12,0,-23,2,-31,6v-8,4,-14,12,-18,21v-4,9,-8,22,-9,37r-16,0v1,-11,2,-20,4,-26v2,-6,3,-12,7,-19v6,-12,14,-20,24,-25v10,-5,23,-7,39,-7v25,0,44,8,55,24v7,11,11,22,11,36v0,11,-3,22,-9,33v-1,2,-3,5,-6,10v-3,5,-11,12,-22,23r-7,6v-11,11,-18,20,-20,28v-2,5,-3,10,-3,15v0,5,-1,13,-1,25r-15,0","w":176},"@":{"d":"209,-55v-7,9,-12,16,-17,20v-5,4,-10,8,-17,10v-7,2,-14,3,-21,3v-10,0,-19,-2,-27,-7v-8,-5,-14,-12,-18,-21v-4,-9,-6,-19,-6,-30v0,-17,4,-32,11,-47v7,-15,17,-26,29,-35v12,-9,27,-13,41,-13v14,0,25,4,34,13v4,4,8,10,11,17r10,-23r14,0r-24,97r0,1r0,3v-2,6,-3,11,-3,15v0,5,1,9,5,12v4,3,8,5,14,5v13,0,26,-5,38,-14v12,-9,21,-22,28,-37v7,-15,10,-31,10,-49v0,-21,-5,-39,-16,-55v-11,-16,-26,-29,-45,-38v-19,-9,-41,-14,-65,-14v-22,0,-42,5,-61,12v-19,7,-36,18,-50,32v-14,14,-25,30,-33,48v-8,18,-12,38,-12,59v0,19,3,35,10,51v7,16,17,30,29,41v12,11,27,20,44,26v17,6,36,9,56,9v17,0,34,-2,50,-6v12,-3,21,-6,30,-10v9,-4,20,-10,34,-18r5,8v-16,11,-32,20,-45,25v-22,9,-46,14,-71,14v-23,0,-45,-4,-65,-11v-20,-7,-37,-16,-51,-29v-14,-13,-24,-28,-32,-45v-8,-17,-12,-36,-12,-56v0,-30,8,-58,23,-83v15,-25,35,-44,62,-58v27,-14,56,-22,88,-22v21,0,40,3,58,9v18,6,33,14,46,25v13,11,23,23,30,38v7,15,10,31,10,48v0,20,-4,39,-13,56v-9,17,-20,32,-35,42v-15,10,-31,15,-48,15v-22,0,-33,-9,-33,-27r0,-6xm225,-127v-2,-8,-5,-15,-9,-20v-8,-11,-18,-15,-32,-15v-11,0,-21,3,-31,11v-10,8,-17,17,-23,30v-6,13,-9,27,-9,42v0,13,4,24,11,32v7,8,16,12,28,12v12,0,24,-4,34,-13v10,-9,17,-20,20,-34","w":360},"A":{"d":"1,0r96,-262r19,0r95,262r-17,0r-30,-86r-116,0r-30,86r-17,0xm55,-100r101,0r-51,-147","w":212},"\u00c0":{"d":"1,0r96,-262r19,0r95,262r-17,0r-30,-86r-116,0r-30,86r-17,0xm55,-100r101,0r-51,-147","w":212},"\u0410":{"d":"1,0r96,-262r19,0r95,262r-17,0r-30,-86r-116,0r-30,86r-17,0xm55,-100r101,0r-51,-147","w":212},"B":{"d":"35,0r0,-259r71,0v26,0,46,4,58,11v10,6,18,13,23,22v5,9,8,20,8,32v0,17,-5,31,-16,42v-4,5,-8,8,-13,10v-5,2,-12,4,-21,6v5,1,10,1,14,2v14,3,26,9,35,20v9,12,13,26,13,44v0,19,-4,35,-15,47v-7,8,-16,13,-26,16v-5,2,-10,3,-16,4v-6,1,-14,2,-23,2v-9,0,-21,1,-35,1r-57,0xm52,-244r0,103r55,0v12,0,20,-1,26,-2v6,-1,13,-3,20,-6v9,-5,15,-11,19,-17v4,-6,6,-15,6,-25v0,-14,-4,-25,-11,-35v-3,-4,-7,-8,-12,-11v-5,-3,-12,-5,-19,-6v-7,-1,-16,-1,-27,-1r-57,0xm52,-15r69,0v20,0,35,-2,45,-7v16,-8,24,-24,24,-47v0,-19,-6,-34,-17,-44v-11,-10,-28,-14,-50,-14r-71,0r0,112","w":233},"C":{"d":"212,-85r16,0v-1,6,-1,11,-2,15v-4,19,-10,33,-19,44v-5,5,-10,10,-16,14v-16,10,-35,16,-57,16v-15,0,-28,-2,-40,-6v-12,-4,-22,-9,-32,-17v-12,-10,-21,-21,-27,-34v-5,-11,-9,-23,-12,-37v-3,-14,-4,-28,-4,-42v0,-20,3,-39,8,-55v5,-16,12,-30,22,-41v10,-11,23,-20,37,-26v14,-6,30,-9,48,-9v34,0,58,10,73,29v3,4,6,10,10,18v3,7,5,12,6,16v1,4,2,10,3,17r-16,0v-2,-11,-5,-19,-7,-24v-4,-9,-8,-17,-15,-23v-7,-6,-15,-11,-24,-14v-9,-3,-19,-6,-30,-6v-12,0,-23,3,-35,7v-12,4,-21,10,-29,17v-22,20,-34,52,-34,96v0,18,2,35,7,50v5,15,12,27,20,38v8,11,18,19,30,25v12,6,25,8,40,8v12,0,24,-2,35,-6v11,-4,19,-10,25,-17v5,-5,9,-12,12,-20v3,-7,5,-18,7,-33","w":245},"\u00d1":{"d":"212,-85r16,0v-1,6,-1,11,-2,15v-4,19,-10,33,-19,44v-5,5,-10,10,-16,14v-16,10,-35,16,-57,16v-15,0,-28,-2,-40,-6v-12,-4,-22,-9,-32,-17v-12,-10,-21,-21,-27,-34v-5,-11,-9,-23,-12,-37v-3,-14,-4,-28,-4,-42v0,-20,3,-39,8,-55v5,-16,12,-30,22,-41v10,-11,23,-20,37,-26v14,-6,30,-9,48,-9v34,0,58,10,73,29v3,4,6,10,10,18v3,7,5,12,6,16v1,4,2,10,3,17r-16,0v-2,-11,-5,-19,-7,-24v-4,-9,-8,-17,-15,-23v-7,-6,-15,-11,-24,-14v-9,-3,-19,-6,-30,-6v-12,0,-23,3,-35,7v-12,4,-21,10,-29,17v-22,20,-34,52,-34,96v0,18,2,35,7,50v5,15,12,27,20,38v8,11,18,19,30,25v12,6,25,8,40,8v12,0,24,-2,35,-6v11,-4,19,-10,25,-17v5,-5,9,-12,12,-20v3,-7,5,-18,7,-33","w":245},"\u0421":{"d":"212,-85r16,0v-1,6,-1,11,-2,15v-4,19,-10,33,-19,44v-5,5,-10,10,-16,14v-16,10,-35,16,-57,16v-15,0,-28,-2,-40,-6v-12,-4,-22,-9,-32,-17v-12,-10,-21,-21,-27,-34v-5,-11,-9,-23,-12,-37v-3,-14,-4,-28,-4,-42v0,-20,3,-39,8,-55v5,-16,12,-30,22,-41v10,-11,23,-20,37,-26v14,-6,30,-9,48,-9v34,0,58,10,73,29v3,4,6,10,10,18v3,7,5,12,6,16v1,4,2,10,3,17r-16,0v-2,-11,-5,-19,-7,-24v-4,-9,-8,-17,-15,-23v-7,-6,-15,-11,-24,-14v-9,-3,-19,-6,-30,-6v-12,0,-23,3,-35,7v-12,4,-21,10,-29,17v-22,20,-34,52,-34,96v0,18,2,35,7,50v5,15,12,27,20,38v8,11,18,19,30,25v12,6,25,8,40,8v12,0,24,-2,35,-6v11,-4,19,-10,25,-17v5,-5,9,-12,12,-20v3,-7,5,-18,7,-33","w":245},"D":{"d":"35,0r0,-259r54,0r19,1r33,0v16,0,31,6,45,16v14,10,25,23,32,40v8,20,12,45,12,75v0,21,-2,39,-7,55v-5,16,-12,29,-22,41v-11,14,-27,23,-46,27v-12,3,-30,4,-56,4r-64,0xm52,-15r53,0v12,0,22,0,32,-1v24,-2,41,-9,52,-23v16,-21,24,-50,24,-89v0,-24,-3,-44,-8,-60v-5,-16,-14,-29,-25,-38v-6,-5,-12,-9,-19,-12v-7,-3,-15,-4,-26,-5v-11,-1,-24,-1,-42,-1r-41,0r0,229","w":249},"E":{"d":"35,0r0,-259r146,0r0,15r-129,0r0,103r116,0r0,15r-116,0r0,111r133,0r0,15r-150,0","w":199},"\u00c5":{"d":"35,0r0,-259r146,0r0,15r-129,0r0,103r116,0r0,15r-116,0r0,111r133,0r0,15r-150,0","w":199},"\u0415":{"d":"35,0r0,-259r146,0r0,15r-129,0r0,103r116,0r0,15r-116,0r0,111r133,0r0,15r-150,0","w":199},"F":{"d":"35,0r0,-259r146,0r0,15r-129,0r0,108r116,0r0,14r-116,0r0,122r-17,0","w":190},"G":{"d":"220,0r-2,-59v-3,10,-6,19,-9,24v-3,5,-8,11,-14,17v-8,8,-18,13,-28,17v-10,4,-23,5,-37,5v-17,0,-31,-3,-45,-9v-14,-6,-26,-15,-36,-27v-10,-12,-17,-26,-22,-43v-5,-17,-8,-36,-8,-56v0,-12,1,-23,3,-34v2,-11,5,-20,9,-30v4,-10,8,-19,14,-27v7,-10,15,-18,24,-24v9,-6,18,-10,29,-13v11,-3,24,-4,39,-4v31,0,54,9,70,29v5,6,9,13,12,20v3,7,7,17,10,30r-18,0v-3,-14,-7,-25,-13,-34v-7,-11,-16,-19,-27,-24v-11,-5,-24,-8,-40,-8v-14,0,-27,2,-39,8v-12,6,-22,15,-30,25v-8,10,-15,22,-19,37v-4,15,-7,31,-7,49v0,18,2,35,7,50v5,15,11,28,20,39v9,11,19,18,31,24v12,6,25,9,40,9v26,0,45,-9,59,-27v6,-8,11,-17,15,-27v3,-7,5,-15,6,-22v1,-7,1,-17,2,-29r-80,0r0,-14r96,0r0,128r-12,0","w":260},"H":{"d":"35,0r0,-259r17,0r0,115r155,0r0,-115r17,0r0,259r-17,0r0,-129r-155,0r0,129r-17,0","w":258},"I":{"d":"35,0r0,-259r17,0r0,259r-17,0","w":86},"J":{"d":"11,-80r17,0r0,16v0,19,4,33,10,41v3,5,8,8,14,11v6,3,13,4,20,4v9,0,18,-2,27,-7v7,-5,12,-11,15,-19v3,-8,4,-19,4,-34r0,-191r17,0r0,196v0,22,-5,39,-16,50v-11,11,-26,17,-47,17v-11,0,-20,-2,-29,-5v-9,-3,-15,-8,-20,-14v-3,-4,-6,-9,-8,-16v-3,-9,-4,-24,-4,-43r0,-6","w":167},"K":{"d":"35,0r0,-259r17,0r0,137r133,-137r22,0r-101,102r113,157r-21,0r-104,-147r-42,43r0,104r-17,0","w":223},"L":{"d":"35,0r0,-259r17,0r0,244r112,0r0,15r-129,0","w":168},"M":{"d":"35,0r0,-259r24,0r92,248r89,-248r24,0r0,259r-17,0r0,-242r-86,242r-22,0r-87,-242r0,242r-17,0","w":298},"N":{"d":"35,0r0,-259r25,0r146,247r0,-247r17,0r0,259r-25,0r-146,-245r0,245r-17,0","w":257},"O":{"d":"19,-131v0,-20,2,-38,8,-54v6,-16,14,-30,24,-42v10,-12,23,-21,37,-27v14,-6,30,-10,47,-10v23,0,42,5,58,14v8,5,16,12,23,20v7,8,13,17,18,28v5,11,8,23,11,35v3,12,4,25,4,38v0,21,-3,40,-8,56v-5,16,-13,30,-23,42v-10,12,-23,20,-37,26v-14,6,-30,9,-48,9v-17,0,-33,-3,-47,-9v-14,-6,-26,-15,-36,-27v-10,-12,-18,-26,-23,-43v-5,-17,-8,-35,-8,-56xm36,-128v0,23,5,44,13,62v8,18,19,32,34,42v15,10,31,15,50,15v15,0,29,-3,41,-9v12,-6,22,-14,31,-24v9,-10,15,-22,20,-37v5,-15,7,-31,7,-49v0,-18,-2,-35,-7,-50v-5,-15,-11,-28,-20,-39v-9,-11,-19,-18,-31,-24v-12,-6,-25,-9,-40,-9v-24,0,-45,9,-63,26v-10,10,-18,21,-23,32v-8,16,-12,38,-12,64","w":268},"\u00ce":{"d":"19,-131v0,-20,2,-38,8,-54v6,-16,14,-30,24,-42v10,-12,23,-21,37,-27v14,-6,30,-10,47,-10v23,0,42,5,58,14v8,5,16,12,23,20v7,8,13,17,18,28v5,11,8,23,11,35v3,12,4,25,4,38v0,21,-3,40,-8,56v-5,16,-13,30,-23,42v-10,12,-23,20,-37,26v-14,6,-30,9,-48,9v-17,0,-33,-3,-47,-9v-14,-6,-26,-15,-36,-27v-10,-12,-18,-26,-23,-43v-5,-17,-8,-35,-8,-56xm36,-128v0,23,5,44,13,62v8,18,19,32,34,42v15,10,31,15,50,15v15,0,29,-3,41,-9v12,-6,22,-14,31,-24v9,-10,15,-22,20,-37v5,-15,7,-31,7,-49v0,-18,-2,-35,-7,-50v-5,-15,-11,-28,-20,-39v-9,-11,-19,-18,-31,-24v-12,-6,-25,-9,-40,-9v-24,0,-45,9,-63,26v-10,10,-18,21,-23,32v-8,16,-12,38,-12,64","w":268},"\u041e":{"d":"19,-131v0,-20,2,-38,8,-54v6,-16,14,-30,24,-42v10,-12,23,-21,37,-27v14,-6,30,-10,47,-10v23,0,42,5,58,14v8,5,16,12,23,20v7,8,13,17,18,28v5,11,8,23,11,35v3,12,4,25,4,38v0,21,-3,40,-8,56v-5,16,-13,30,-23,42v-10,12,-23,20,-37,26v-14,6,-30,9,-48,9v-17,0,-33,-3,-47,-9v-14,-6,-26,-15,-36,-27v-10,-12,-18,-26,-23,-43v-5,-17,-8,-35,-8,-56xm36,-128v0,23,5,44,13,62v8,18,19,32,34,42v15,10,31,15,50,15v15,0,29,-3,41,-9v12,-6,22,-14,31,-24v9,-10,15,-22,20,-37v5,-15,7,-31,7,-49v0,-18,-2,-35,-7,-50v-5,-15,-11,-28,-20,-39v-9,-11,-19,-18,-31,-24v-12,-6,-25,-9,-40,-9v-24,0,-45,9,-63,26v-10,10,-18,21,-23,32v-8,16,-12,38,-12,64","w":268},"P":{"d":"35,0r0,-259r76,0v14,0,26,1,35,4v9,3,18,6,26,12v8,6,13,14,17,24v4,10,7,20,7,31v0,10,-2,20,-5,29v-3,9,-8,17,-14,23v-15,16,-41,24,-78,24r-47,0r0,112r-17,0xm52,-128r55,0v23,0,41,-5,53,-15v12,-10,19,-25,19,-44v0,-16,-6,-30,-16,-41v-5,-6,-12,-10,-19,-12v-7,-2,-16,-4,-27,-4r-65,0r0,116","w":210},"\u00d0":{"d":"35,0r0,-259r76,0v14,0,26,1,35,4v9,3,18,6,26,12v8,6,13,14,17,24v4,10,7,20,7,31v0,10,-2,20,-5,29v-3,9,-8,17,-14,23v-15,16,-41,24,-78,24r-47,0r0,112r-17,0xm52,-128r55,0v23,0,41,-5,53,-15v12,-10,19,-25,19,-44v0,-16,-6,-30,-16,-41v-5,-6,-12,-10,-19,-12v-7,-2,-16,-4,-27,-4r-65,0r0,116","w":210},"\u0420":{"d":"35,0r0,-259r76,0v14,0,26,1,35,4v9,3,18,6,26,12v8,6,13,14,17,24v4,10,7,20,7,31v0,10,-2,20,-5,29v-3,9,-8,17,-14,23v-15,16,-41,24,-78,24r-47,0r0,112r-17,0xm52,-128r55,0v23,0,41,-5,53,-15v12,-10,19,-25,19,-44v0,-16,-6,-30,-16,-41v-5,-6,-12,-10,-19,-12v-7,-2,-16,-4,-27,-4r-65,0r0,116","w":210},"Q":{"d":"238,14r-41,-30v-11,8,-22,14,-30,17v-8,3,-19,4,-34,4v-17,0,-33,-4,-47,-10v-14,-6,-26,-14,-36,-26v-10,-12,-18,-26,-23,-42v-5,-16,-8,-34,-8,-54v0,-30,6,-56,17,-77v20,-40,54,-60,100,-60v18,0,33,3,47,9v14,6,26,15,36,27v10,12,18,26,23,42v5,16,8,35,8,55v0,14,-2,28,-5,41v-3,13,-6,25,-11,35v-3,5,-5,10,-9,14v-4,4,-9,10,-16,16r37,28xm185,-24r-36,-27r11,-12r37,29v5,-4,8,-8,10,-10v17,-19,25,-46,25,-82v0,-19,-2,-36,-7,-51v-5,-15,-10,-28,-19,-39v-9,-11,-19,-19,-31,-25v-12,-6,-25,-9,-40,-9v-14,0,-28,3,-40,9v-12,6,-22,14,-31,25v-9,11,-15,24,-20,39v-5,15,-7,32,-7,50v0,24,4,44,12,62v8,18,20,32,35,42v15,10,33,14,53,14v10,0,18,-1,24,-3v6,-2,14,-6,24,-12","w":268},"R":{"d":"35,0r0,-259r66,0r11,0r33,2v8,0,18,3,29,8v10,5,17,12,23,22v6,10,9,22,9,36v0,21,-7,37,-20,49v-5,4,-9,8,-14,10v-5,2,-12,3,-21,4v8,1,13,3,17,4v4,1,8,4,12,7v5,5,9,11,11,17v2,6,4,17,5,34r3,39v1,10,4,17,9,23r0,4r-19,0v-2,-6,-4,-10,-4,-12v-2,-7,-4,-21,-5,-42v-1,-13,-1,-22,-2,-28v-1,-6,-2,-11,-4,-15v-2,-4,-4,-7,-7,-10v-8,-7,-21,-11,-40,-11r-75,0r0,118r-17,0xm52,-135r69,0v10,0,17,0,23,-1v6,-1,12,-3,17,-6v19,-9,28,-25,28,-48v0,-11,-2,-21,-7,-30v-5,-9,-12,-14,-20,-17v-5,-2,-13,-4,-23,-5v-10,-1,-19,-2,-30,-2r-57,0r0,109","w":231},"S":{"d":"20,-78r17,0v2,24,9,41,21,52v12,11,30,17,54,17v14,0,26,-2,37,-7v11,-5,18,-11,24,-20v6,-9,9,-18,9,-29v0,-9,-2,-18,-6,-25v-4,-7,-8,-12,-15,-16v-4,-2,-8,-5,-14,-7v-15,-6,-31,-10,-48,-15v-24,-7,-41,-14,-51,-21v-15,-9,-22,-24,-22,-45v0,-12,3,-24,9,-35v6,-12,16,-21,27,-27v11,-6,27,-8,45,-8v16,0,29,2,39,6v10,4,20,10,27,19v5,6,8,13,11,20v3,8,6,19,7,32r-17,0v-4,-42,-27,-63,-69,-63v-12,0,-22,2,-32,7v-10,5,-17,11,-22,19v-5,8,-9,18,-9,28v0,4,1,8,2,13v1,5,3,8,5,11v3,5,8,11,17,15v9,4,23,9,41,15r12,4v28,9,45,15,54,20v17,10,26,27,26,50v0,10,-2,19,-6,28v-4,9,-9,16,-16,23v-8,8,-17,14,-27,17v-10,3,-25,5,-43,5v-10,0,-19,-1,-27,-3v-8,-2,-15,-4,-21,-8v-6,-4,-12,-8,-18,-14v-6,-6,-10,-13,-13,-19v-4,-9,-7,-21,-8,-39","w":218},"T":{"d":"83,0r0,-245r-80,0r0,-14r178,0r0,14r-81,0r0,245r-17,0","w":183},"U":{"d":"31,-259r17,0r0,163v0,28,3,48,11,59v6,9,15,15,27,20v12,5,25,8,40,8v12,0,22,-2,32,-5v10,-3,19,-7,25,-12v8,-7,13,-15,16,-26v3,-11,5,-26,5,-44r0,-163r17,0r0,166v0,19,-3,36,-8,50v-4,11,-10,20,-17,27v-7,7,-18,13,-29,16v-11,3,-25,4,-41,4v-32,0,-56,-7,-73,-22v-8,-7,-14,-16,-17,-28v-3,-12,-5,-27,-5,-47r0,-166","w":251},"V":{"d":"89,0r-90,-259r18,0r82,241r81,-241r17,0r-90,259r-18,0","w":195},"W":{"d":"67,0r-67,-259r16,0r61,237r61,-237r22,0r62,237r60,-237r16,0r-68,259r-19,0r-62,-247r-64,247r-18,0","w":297},"X":{"d":"1,0r86,-133r-83,-126r22,0r72,116r73,-116r19,0r-83,127r90,132r-22,0r-78,-123r-77,123r-19,0","w":197},"\u00d5":{"d":"1,0r86,-133r-83,-126r22,0r72,116r73,-116r19,0r-83,127r90,132r-22,0r-78,-123r-77,123r-19,0","w":197},"\u0425":{"d":"1,0r86,-133r-83,-126r22,0r72,116r73,-116r19,0r-83,127r90,132r-22,0r-78,-123r-77,123r-19,0","w":197},"Y":{"d":"89,0r0,-114r-90,-145r21,0r77,132r80,-132r18,0r-90,145r0,114r-16,0","w":198},"Z":{"d":"6,0r0,-22r175,-222r-163,0r0,-15r178,0r0,21r-177,223r179,0r0,15r-192,0","w":204},"[":{"d":"98,72r-68,0r0,-331r68,0r0,15r-51,0r0,301r51,0r0,15","w":109},"\\":{"d":"97,30r-97,-296r17,0r97,296r-17,0","w":113},"]":{"d":"12,72r0,-15r51,0r0,-301r-51,0r0,-15r68,0r0,331r-68,0","w":109},"^":{"d":"97,-282r21,0r93,93r-20,0r-84,-84r-82,84r-19,0","w":215},"_":{"d":"0,71r180,0r0,14r-180,0r0,-14"},"`":{"d":"103,-210r-47,-49r23,0r37,49r-13,0"},"a":{"d":"145,-33v-10,12,-19,20,-28,25v-12,7,-26,11,-42,11v-12,0,-22,-3,-31,-7v-9,-4,-15,-10,-20,-18v-5,-8,-7,-17,-7,-28v0,-20,9,-35,27,-45v9,-5,27,-9,56,-13v11,-1,18,-3,22,-4r8,-1v7,-2,11,-5,12,-8v2,-4,2,-10,2,-17v0,-13,-4,-23,-13,-30v-9,-7,-20,-11,-35,-11v-34,0,-51,16,-54,47r-16,0v2,-20,9,-35,21,-45v12,-10,29,-16,50,-16v13,0,25,3,34,7v9,4,16,11,21,20v5,9,8,18,8,30r0,100r0,16v0,0,2,4,4,6v2,2,5,3,10,3v2,0,6,0,13,-1r0,11v-6,2,-11,3,-16,3v-8,0,-14,-2,-18,-6v-3,-2,-5,-5,-6,-9v-1,-4,-2,-11,-2,-20xm145,-111v-6,6,-11,8,-16,9r-55,11v-15,3,-26,8,-32,14v-6,6,-9,14,-9,25v0,13,3,23,11,30v8,7,19,11,33,11v13,0,26,-2,37,-8v7,-3,12,-8,17,-13v5,-5,9,-11,11,-18v2,-7,3,-17,3,-30r0,-31","w":203},"\u00e0":{"d":"145,-33v-10,12,-19,20,-28,25v-12,7,-26,11,-42,11v-12,0,-22,-3,-31,-7v-9,-4,-15,-10,-20,-18v-5,-8,-7,-17,-7,-28v0,-20,9,-35,27,-45v9,-5,27,-9,56,-13v11,-1,18,-3,22,-4r8,-1v7,-2,11,-5,12,-8v2,-4,2,-10,2,-17v0,-13,-4,-23,-13,-30v-9,-7,-20,-11,-35,-11v-34,0,-51,16,-54,47r-16,0v2,-20,9,-35,21,-45v12,-10,29,-16,50,-16v13,0,25,3,34,7v9,4,16,11,21,20v5,9,8,18,8,30r0,100r0,16v0,0,2,4,4,6v2,2,5,3,10,3v2,0,6,0,13,-1r0,11v-6,2,-11,3,-16,3v-8,0,-14,-2,-18,-6v-3,-2,-5,-5,-6,-9v-1,-4,-2,-11,-2,-20xm145,-111v-6,6,-11,8,-16,9r-55,11v-15,3,-26,8,-32,14v-6,6,-9,14,-9,25v0,13,3,23,11,30v8,7,19,11,33,11v13,0,26,-2,37,-8v7,-3,12,-8,17,-13v5,-5,9,-11,11,-18v2,-7,3,-17,3,-30r0,-31","w":203},"\u0430":{"d":"145,-33v-10,12,-19,20,-28,25v-12,7,-26,11,-42,11v-12,0,-22,-3,-31,-7v-9,-4,-15,-10,-20,-18v-5,-8,-7,-17,-7,-28v0,-20,9,-35,27,-45v9,-5,27,-9,56,-13v11,-1,18,-3,22,-4r8,-1v7,-2,11,-5,12,-8v2,-4,2,-10,2,-17v0,-13,-4,-23,-13,-30v-9,-7,-20,-11,-35,-11v-34,0,-51,16,-54,47r-16,0v2,-20,9,-35,21,-45v12,-10,29,-16,50,-16v13,0,25,3,34,7v9,4,16,11,21,20v5,9,8,18,8,30r0,100r0,16v0,0,2,4,4,6v2,2,5,3,10,3v2,0,6,0,13,-1r0,11v-6,2,-11,3,-16,3v-8,0,-14,-2,-18,-6v-3,-2,-5,-5,-6,-9v-1,-4,-2,-11,-2,-20xm145,-111v-6,6,-11,8,-16,9r-55,11v-15,3,-26,8,-32,14v-6,6,-9,14,-9,25v0,13,3,23,11,30v8,7,19,11,33,11v13,0,26,-2,37,-8v7,-3,12,-8,17,-13v5,-5,9,-11,11,-18v2,-7,3,-17,3,-30r0,-31","w":203},"b":{"d":"28,0r0,-259r15,0r0,112v7,-13,14,-22,20,-28v11,-11,27,-17,47,-17v22,0,39,8,51,23v8,9,14,20,18,33v4,13,6,27,6,41v0,24,-5,45,-16,64v-13,23,-33,34,-60,34v-20,0,-37,-5,-49,-16v-4,-4,-8,-7,-10,-11v-2,-4,-4,-9,-7,-16r0,40r-15,0xm42,-93v0,16,2,30,8,43v6,13,13,23,23,30v10,7,21,10,34,10v12,0,23,-3,32,-10v9,-7,17,-17,22,-30v5,-13,7,-28,7,-46v0,-16,-2,-30,-7,-42v-5,-12,-13,-22,-22,-29v-9,-7,-20,-10,-32,-10v-13,0,-24,3,-34,10v-10,7,-18,17,-23,30v-5,13,-8,27,-8,44","w":203},"c":{"d":"148,-65r16,0v-2,16,-6,29,-11,39v-5,10,-13,17,-22,22v-9,5,-21,7,-35,7v-12,0,-22,-2,-31,-5v-9,-3,-17,-9,-23,-16v-16,-17,-24,-42,-24,-76v0,-15,2,-29,6,-41v4,-12,9,-23,16,-31v7,-8,15,-16,25,-20v10,-4,21,-6,33,-6v38,0,59,21,64,64r-15,0v-1,-8,-4,-15,-5,-19v-1,-4,-4,-9,-7,-13v-8,-12,-21,-19,-38,-19v-9,0,-18,2,-26,6v-8,4,-14,10,-20,17v-6,7,-9,17,-12,27v-3,10,-5,21,-5,34v0,13,1,25,4,35v3,10,8,19,13,27v5,8,11,13,19,17v8,4,17,6,26,6v16,0,28,-4,36,-13v8,-9,14,-23,16,-42"},"\u00f1":{"d":"148,-65r16,0v-2,16,-6,29,-11,39v-5,10,-13,17,-22,22v-9,5,-21,7,-35,7v-12,0,-22,-2,-31,-5v-9,-3,-17,-9,-23,-16v-16,-17,-24,-42,-24,-76v0,-15,2,-29,6,-41v4,-12,9,-23,16,-31v7,-8,15,-16,25,-20v10,-4,21,-6,33,-6v38,0,59,21,64,64r-15,0v-1,-8,-4,-15,-5,-19v-1,-4,-4,-9,-7,-13v-8,-12,-21,-19,-38,-19v-9,0,-18,2,-26,6v-8,4,-14,10,-20,17v-6,7,-9,17,-12,27v-3,10,-5,21,-5,34v0,13,1,25,4,35v3,10,8,19,13,27v5,8,11,13,19,17v8,4,17,6,26,6v16,0,28,-4,36,-13v8,-9,14,-23,16,-42"},"\u0441":{"d":"148,-65r16,0v-2,16,-6,29,-11,39v-5,10,-13,17,-22,22v-9,5,-21,7,-35,7v-12,0,-22,-2,-31,-5v-9,-3,-17,-9,-23,-16v-16,-17,-24,-42,-24,-76v0,-15,2,-29,6,-41v4,-12,9,-23,16,-31v7,-8,15,-16,25,-20v10,-4,21,-6,33,-6v38,0,59,21,64,64r-15,0v-1,-8,-4,-15,-5,-19v-1,-4,-4,-9,-7,-13v-8,-12,-21,-19,-38,-19v-9,0,-18,2,-26,6v-8,4,-14,10,-20,17v-6,7,-9,17,-12,27v-3,10,-5,21,-5,34v0,13,1,25,4,35v3,10,8,19,13,27v5,8,11,13,19,17v8,4,17,6,26,6v16,0,28,-4,36,-13v8,-9,14,-23,16,-42"},"d":{"d":"176,0r-15,0r0,-42v-4,9,-7,14,-10,19v-3,5,-7,9,-11,13v-11,9,-25,14,-43,14v-24,0,-42,-8,-55,-24v-7,-9,-13,-20,-17,-33v-4,-13,-7,-27,-7,-41v0,-30,8,-55,24,-75v13,-15,31,-23,54,-23v17,0,31,5,42,14v7,6,14,16,22,30r0,-111r16,0r0,259xm162,-93v0,-17,-4,-31,-9,-44v-5,-13,-12,-23,-22,-30v-10,-7,-21,-10,-34,-10v-9,0,-18,2,-25,6v-7,4,-15,9,-20,16v-5,7,-9,16,-12,26v-3,10,-5,20,-5,32v0,12,2,25,5,38v3,13,8,22,14,30v10,13,24,19,43,19v12,0,24,-3,34,-10v10,-7,17,-17,22,-30v5,-13,9,-27,9,-43","w":203},"e":{"d":"35,-93v1,12,2,21,3,27v1,6,3,11,6,18v6,12,13,22,23,29v10,7,22,10,34,10v15,0,28,-5,37,-13v9,-8,16,-20,19,-36r15,0v-3,11,-5,19,-8,25v-7,13,-15,22,-26,28v-11,6,-23,9,-39,9v-12,0,-24,-3,-34,-7v-10,-4,-18,-11,-25,-20v-7,-9,-12,-19,-16,-31v-4,-12,-5,-25,-5,-40v0,-21,3,-38,9,-53v6,-15,16,-26,28,-34v12,-8,27,-12,43,-12v12,0,23,2,31,6v8,4,16,10,23,19v6,7,11,16,14,24v3,7,5,14,6,21v1,7,2,17,2,30r-140,0xm35,-105r123,0v-1,-10,-2,-18,-3,-24v-1,-6,-3,-11,-6,-16v-3,-6,-8,-11,-12,-16v-6,-6,-11,-10,-17,-13v-6,-3,-13,-4,-22,-4v-15,0,-28,5,-39,15v-5,4,-10,11,-14,18v-5,9,-8,23,-10,40","w":192},"\u00e5":{"d":"35,-93v1,12,2,21,3,27v1,6,3,11,6,18v6,12,13,22,23,29v10,7,22,10,34,10v15,0,28,-5,37,-13v9,-8,16,-20,19,-36r15,0v-3,11,-5,19,-8,25v-7,13,-15,22,-26,28v-11,6,-23,9,-39,9v-12,0,-24,-3,-34,-7v-10,-4,-18,-11,-25,-20v-7,-9,-12,-19,-16,-31v-4,-12,-5,-25,-5,-40v0,-21,3,-38,9,-53v6,-15,16,-26,28,-34v12,-8,27,-12,43,-12v12,0,23,2,31,6v8,4,16,10,23,19v6,7,11,16,14,24v3,7,5,14,6,21v1,7,2,17,2,30r-140,0xm35,-105r123,0v-1,-10,-2,-18,-3,-24v-1,-6,-3,-11,-6,-16v-3,-6,-8,-11,-12,-16v-6,-6,-11,-10,-17,-13v-6,-3,-13,-4,-22,-4v-15,0,-28,5,-39,15v-5,4,-10,11,-14,18v-5,9,-8,23,-10,40","w":192},"\u0435":{"d":"35,-93v1,12,2,21,3,27v1,6,3,11,6,18v6,12,13,22,23,29v10,7,22,10,34,10v15,0,28,-5,37,-13v9,-8,16,-20,19,-36r15,0v-3,11,-5,19,-8,25v-7,13,-15,22,-26,28v-11,6,-23,9,-39,9v-12,0,-24,-3,-34,-7v-10,-4,-18,-11,-25,-20v-7,-9,-12,-19,-16,-31v-4,-12,-5,-25,-5,-40v0,-21,3,-38,9,-53v6,-15,16,-26,28,-34v12,-8,27,-12,43,-12v12,0,23,2,31,6v8,4,16,10,23,19v6,7,11,16,14,24v3,7,5,14,6,21v1,7,2,17,2,30r-140,0xm35,-105r123,0v-1,-10,-2,-18,-3,-24v-1,-6,-3,-11,-6,-16v-3,-6,-8,-11,-12,-16v-6,-6,-11,-10,-17,-13v-6,-3,-13,-4,-22,-4v-15,0,-28,5,-39,15v-5,4,-10,11,-14,18v-5,9,-8,23,-10,40","w":192},"f":{"d":"31,0r0,-176r-27,0r0,-13r27,0r0,-18v0,-14,0,-24,2,-32v3,-15,13,-22,29,-22v4,0,9,0,18,1r0,15v-5,0,-10,-1,-15,-1v-7,0,-11,2,-14,5v-2,3,-3,6,-3,10v0,4,-2,13,-2,28r0,14r34,0r0,13r-34,0r0,176r-15,0","w":89},"g":{"d":"179,-189r0,179v0,18,-4,34,-10,47v-6,13,-15,22,-27,29v-12,7,-27,10,-44,10v-25,0,-44,-5,-57,-17v-4,-4,-8,-9,-10,-14v-2,-5,-4,-13,-5,-23r18,0v1,9,3,16,5,20v2,4,6,9,11,12v9,6,22,9,39,9v11,0,20,-1,27,-4v7,-3,14,-7,20,-13v5,-5,9,-12,12,-19v2,-8,4,-15,5,-23v1,-8,1,-22,2,-44v-6,10,-11,18,-16,24v-12,14,-28,21,-50,21v-12,0,-23,-2,-33,-7v-10,-5,-18,-11,-25,-20v-7,-9,-13,-19,-17,-31v-4,-12,-6,-25,-6,-39v0,-16,2,-30,6,-42v4,-12,9,-23,16,-31v7,-8,16,-16,26,-20v10,-4,22,-6,35,-6v19,0,33,5,44,16v6,6,12,16,18,29r0,-43r16,0xm35,-93v0,16,3,31,9,44v6,13,14,23,24,30v10,7,21,11,34,11v12,0,23,-4,33,-11v10,-7,17,-18,22,-31v5,-13,8,-28,8,-44v0,-16,-2,-30,-8,-43v-6,-13,-13,-23,-23,-30v-10,-7,-20,-11,-32,-11v-13,0,-26,4,-36,11v-10,7,-18,16,-23,29v-5,13,-8,28,-8,45","w":205},"h":{"d":"28,0r0,-259r15,0r0,111v6,-12,13,-22,18,-27v6,-6,13,-11,20,-13v7,-2,17,-4,28,-4v12,0,21,2,28,5v7,3,13,8,18,16v5,7,8,14,10,22v2,8,3,20,3,35r0,114r-16,0r0,-116v0,-5,0,-11,-1,-18v-1,-7,-2,-13,-3,-17v-2,-8,-7,-14,-15,-19v-8,-5,-17,-7,-27,-7v-18,0,-33,6,-45,19v-12,13,-18,29,-18,48r0,110r-15,0","w":192},"i":{"d":"28,0r0,-189r16,0r0,189r-16,0xm28,-227r0,-32r16,0r0,32r-16,0","w":71},"j":{"d":"0,75r0,-15r8,0v9,0,14,-1,17,-5v3,-4,4,-11,4,-22r0,-222r16,0r0,225v0,13,-3,22,-8,29v-5,7,-14,11,-24,11v-4,0,-8,0,-13,-1xm29,-227r0,-32r16,0r0,32r-16,0","w":72},"k":{"d":"28,0r0,-259r15,0r0,165r93,-95r22,0r-71,71r79,118r-18,0r-72,-108r-33,32r0,76r-15,0","w":171},"l":{"d":"28,0r0,-259r16,0r0,259r-16,0","w":71},"m":{"d":"28,0r0,-189r17,0r0,33v6,-9,11,-16,17,-21v12,-10,26,-15,42,-15v16,0,30,5,39,15v5,5,10,13,14,24v7,-12,13,-20,19,-25v11,-9,25,-13,42,-13v37,0,57,20,57,61r0,130r-16,0r0,-128v0,-15,-4,-28,-11,-36v-7,-8,-17,-12,-31,-12v-10,0,-20,3,-29,8v-9,5,-16,13,-21,22v-5,9,-8,18,-8,29r0,117r-15,0r0,-126v0,-15,-4,-27,-12,-36v-8,-9,-18,-14,-30,-14v-10,0,-20,3,-29,9v-9,6,-17,13,-22,22v-5,9,-8,18,-8,29r0,116r-15,0","w":299},"n":{"d":"28,0r0,-189r14,0r0,39v5,-10,11,-18,18,-24v7,-6,14,-10,22,-13v8,-3,17,-5,28,-5v11,0,20,2,27,5v7,3,13,9,18,16v5,7,8,14,10,22v2,8,3,20,3,35r0,114r-16,0r0,-116v0,-5,0,-11,-1,-18v-1,-7,-2,-13,-3,-17v-2,-8,-7,-14,-15,-19v-8,-5,-17,-7,-27,-7v-16,0,-30,6,-43,18v-7,7,-12,14,-15,21v-3,7,-5,17,-5,28r0,110r-15,0","w":192},"o":{"d":"18,-97v0,-20,4,-36,11,-51v7,-15,16,-25,29,-33v13,-8,27,-12,44,-12v26,0,47,9,60,26v7,9,12,19,16,32v4,13,6,26,6,41v0,15,-2,29,-6,41v-4,12,-9,23,-16,31v-7,8,-17,15,-27,19v-10,4,-22,6,-35,6v-17,0,-32,-3,-44,-11v-12,-8,-22,-20,-28,-35v-6,-15,-10,-33,-10,-54xm35,-93v0,15,2,28,7,41v4,10,9,19,14,24v5,6,11,10,19,13v8,3,17,5,26,5v13,0,25,-4,35,-11v10,-7,17,-16,23,-28v6,-12,8,-28,8,-44v0,-18,-2,-33,-7,-46v-5,-13,-13,-22,-23,-29v-10,-7,-21,-10,-35,-10v-14,0,-26,3,-36,10v-10,7,-18,16,-23,29v-5,13,-8,28,-8,46","w":202},"\u00ee":{"d":"18,-97v0,-20,4,-36,11,-51v7,-15,16,-25,29,-33v13,-8,27,-12,44,-12v26,0,47,9,60,26v7,9,12,19,16,32v4,13,6,26,6,41v0,15,-2,29,-6,41v-4,12,-9,23,-16,31v-7,8,-17,15,-27,19v-10,4,-22,6,-35,6v-17,0,-32,-3,-44,-11v-12,-8,-22,-20,-28,-35v-6,-15,-10,-33,-10,-54xm35,-93v0,15,2,28,7,41v4,10,9,19,14,24v5,6,11,10,19,13v8,3,17,5,26,5v13,0,25,-4,35,-11v10,-7,17,-16,23,-28v6,-12,8,-28,8,-44v0,-18,-2,-33,-7,-46v-5,-13,-13,-22,-23,-29v-10,-7,-21,-10,-35,-10v-14,0,-26,3,-36,10v-10,7,-18,16,-23,29v-5,13,-8,28,-8,46","w":202},"\u043e":{"d":"18,-97v0,-20,4,-36,11,-51v7,-15,16,-25,29,-33v13,-8,27,-12,44,-12v26,0,47,9,60,26v7,9,12,19,16,32v4,13,6,26,6,41v0,15,-2,29,-6,41v-4,12,-9,23,-16,31v-7,8,-17,15,-27,19v-10,4,-22,6,-35,6v-17,0,-32,-3,-44,-11v-12,-8,-22,-20,-28,-35v-6,-15,-10,-33,-10,-54xm35,-93v0,15,2,28,7,41v4,10,9,19,14,24v5,6,11,10,19,13v8,3,17,5,26,5v13,0,25,-4,35,-11v10,-7,17,-16,23,-28v6,-12,8,-28,8,-44v0,-18,-2,-33,-7,-46v-5,-13,-13,-22,-23,-29v-10,-7,-21,-10,-35,-10v-14,0,-26,3,-36,10v-10,7,-18,16,-23,29v-5,13,-8,28,-8,46","w":202},"p":{"d":"28,-189r15,0r0,45v4,-13,9,-24,16,-31v6,-6,12,-10,20,-13v8,-3,17,-5,28,-5v13,0,22,2,31,6v9,4,17,10,24,18v15,18,23,42,23,72v0,31,-8,57,-24,77v-6,8,-14,14,-22,18v-8,4,-18,5,-30,5v-17,0,-32,-5,-44,-14v-5,-4,-8,-8,-11,-12v-3,-4,-7,-10,-11,-18r0,116r-15,0r0,-264xm42,-96v0,16,3,31,8,44v5,13,13,23,23,30v10,7,21,10,34,10v12,0,23,-3,32,-10v9,-7,16,-16,21,-28v5,-12,8,-28,8,-44v0,-13,-1,-24,-4,-35v-3,-11,-7,-20,-12,-27v-5,-7,-12,-13,-20,-17v-8,-4,-16,-6,-25,-6v-13,0,-24,3,-34,10v-10,7,-17,17,-23,30v-6,13,-8,27,-8,43","w":203},"\u00f0":{"d":"28,-189r15,0r0,45v4,-13,9,-24,16,-31v6,-6,12,-10,20,-13v8,-3,17,-5,28,-5v13,0,22,2,31,6v9,4,17,10,24,18v15,18,23,42,23,72v0,31,-8,57,-24,77v-6,8,-14,14,-22,18v-8,4,-18,5,-30,5v-17,0,-32,-5,-44,-14v-5,-4,-8,-8,-11,-12v-3,-4,-7,-10,-11,-18r0,116r-15,0r0,-264xm42,-96v0,16,3,31,8,44v5,13,13,23,23,30v10,7,21,10,34,10v12,0,23,-3,32,-10v9,-7,16,-16,21,-28v5,-12,8,-28,8,-44v0,-13,-1,-24,-4,-35v-3,-11,-7,-20,-12,-27v-5,-7,-12,-13,-20,-17v-8,-4,-16,-6,-25,-6v-13,0,-24,3,-34,10v-10,7,-17,17,-23,30v-6,13,-8,27,-8,43","w":203},"\u0440":{"d":"28,-189r15,0r0,45v4,-13,9,-24,16,-31v6,-6,12,-10,20,-13v8,-3,17,-5,28,-5v13,0,22,2,31,6v9,4,17,10,24,18v15,18,23,42,23,72v0,31,-8,57,-24,77v-6,8,-14,14,-22,18v-8,4,-18,5,-30,5v-17,0,-32,-5,-44,-14v-5,-4,-8,-8,-11,-12v-3,-4,-7,-10,-11,-18r0,116r-15,0r0,-264xm42,-96v0,16,3,31,8,44v5,13,13,23,23,30v10,7,21,10,34,10v12,0,23,-3,32,-10v9,-7,16,-16,21,-28v5,-12,8,-28,8,-44v0,-13,-1,-24,-4,-35v-3,-11,-7,-20,-12,-27v-5,-7,-12,-13,-20,-17v-8,-4,-16,-6,-25,-6v-13,0,-24,3,-34,10v-10,7,-17,17,-23,30v-6,13,-8,27,-8,43","w":203},"q":{"d":"176,-189r0,264r-16,0r0,-117v-4,8,-7,15,-10,19v-3,4,-7,7,-11,11v-11,10,-25,15,-44,15v-12,0,-22,-1,-30,-5v-8,-4,-16,-10,-23,-18v-16,-19,-24,-44,-24,-74v0,-30,8,-55,24,-75v12,-16,31,-24,56,-24v18,0,32,5,42,14v6,5,13,15,21,31r0,-41r15,0xm162,-96v0,-16,-3,-30,-9,-43v-6,-13,-13,-23,-23,-30v-10,-7,-21,-10,-33,-10v-9,0,-18,2,-25,5v-7,3,-13,8,-18,14v-6,8,-11,18,-14,30v-3,12,-5,24,-5,37v0,16,3,31,8,43v5,12,13,21,22,28v9,7,20,10,32,10v13,0,24,-3,34,-10v10,-7,18,-17,23,-30v5,-13,8,-27,8,-44","w":203},"r":{"d":"28,0r0,-189r14,0r0,43v3,-9,5,-15,8,-19v3,-4,6,-9,10,-13v5,-5,11,-8,17,-10v6,-2,14,-3,25,-4r0,19v-12,0,-21,1,-27,4v-11,5,-19,12,-24,22v-5,10,-7,25,-7,44r0,103r-16,0","w":113},"s":{"d":"18,-59r16,0v3,33,20,49,52,49v15,0,27,-3,35,-10v8,-7,13,-17,13,-29v0,-9,-2,-15,-7,-20v-5,-5,-13,-10,-24,-13r-13,-4r-7,-1v-16,-5,-26,-8,-29,-9v-3,-1,-8,-4,-13,-7v-13,-8,-19,-20,-19,-37v0,-8,1,-15,5,-23v4,-8,9,-13,15,-18v10,-7,23,-11,40,-11v19,0,34,5,44,16v5,5,9,10,11,16v2,6,4,15,6,27r-15,0v-2,-16,-7,-28,-15,-35v-8,-7,-19,-11,-33,-11v-13,0,-23,4,-31,11v-8,7,-12,16,-12,28v0,10,3,17,10,22v7,5,19,11,38,16r13,3v19,5,31,12,39,19v8,7,12,18,12,30v0,11,-3,20,-8,28v-5,8,-12,15,-22,19v-10,4,-21,6,-34,6v-22,0,-38,-5,-49,-17v-5,-5,-8,-11,-11,-17v-3,-6,-5,-16,-7,-28","w":167},"t":{"d":"47,-242r0,53r34,0r0,13r-34,0r0,141v0,9,1,16,3,19v2,3,6,5,11,5v3,0,10,-1,20,-4r0,14v-9,2,-17,3,-25,3v-7,0,-12,-1,-15,-3v-3,-2,-6,-6,-7,-11v-1,-5,-2,-13,-2,-23r0,-141r-26,0r0,-13r26,0r0,-53r15,0","w":94},"u":{"d":"166,-189r0,189r-18,0r0,-35v-5,7,-9,12,-12,16v-3,4,-8,7,-13,11v-6,4,-11,7,-17,9v-6,2,-13,2,-21,2v-21,0,-35,-5,-45,-16v-10,-11,-15,-26,-15,-49r0,-127r16,0r0,122v0,14,1,25,3,31v3,8,8,13,16,18v8,5,17,7,28,7v12,0,22,-3,32,-9v10,-6,17,-14,22,-24v5,-10,8,-21,8,-33r0,-112r16,0","w":193},"v":{"d":"69,0r-70,-189r17,0r63,174r62,-174r16,0r-70,189r-18,0","w":155},"w":{"d":"59,0r-59,-189r16,0r52,171r45,-171r18,0r45,171r51,-171r16,0r-59,189r-17,0r-45,-175r-47,175r-16,0","w":243},"x":{"d":"2,0r65,-96r-62,-93r22,0r52,84r51,-84r19,0r-61,93r68,96r-22,0r-57,-86r-57,86r-18,0","w":157},"\u00f5":{"d":"2,0r65,-96r-62,-93r22,0r52,84r51,-84r19,0r-61,93r68,96r-22,0r-57,-86r-57,86r-18,0","w":157},"\u0445":{"d":"2,0r65,-96r-62,-93r22,0r52,84r51,-84r19,0r-61,93r68,96r-22,0r-57,-86r-57,86r-18,0","w":157},"y":{"d":"14,73r0,-15v10,2,17,3,19,3v5,0,9,-2,13,-4v3,-2,7,-7,11,-15v4,-8,8,-18,12,-30r3,-8r1,-2r-73,-191r18,0r63,174r62,-174r16,0r-83,225v-10,27,-25,40,-43,40v-6,0,-11,-1,-19,-3","w":157},"z":{"d":"8,0r0,-18r131,-155r-125,0r0,-16r140,0r0,19r-130,153r136,0r0,17r-152,0","w":167},"{":{"d":"143,-260r0,16r-9,0v-10,0,-18,1,-23,4v-5,3,-9,7,-11,14v-2,7,-3,16,-3,28r0,43v0,18,-3,30,-6,38v-2,6,-6,10,-10,14v-4,4,-11,7,-19,10v10,4,16,7,20,11v5,5,9,11,11,18v2,7,4,19,4,33r0,42v0,11,0,19,1,24v1,5,4,10,7,14v3,3,7,5,12,6v5,1,11,2,21,2r5,0r0,15v-12,0,-20,0,-25,-1v-5,-1,-11,-2,-16,-4v-9,-3,-14,-10,-18,-19v-4,-9,-6,-22,-6,-41r0,-42v0,-19,-3,-33,-10,-40v-4,-4,-9,-7,-15,-8v-6,-1,-16,-2,-28,-2r0,-16v14,0,26,-1,33,-4v7,-3,13,-8,16,-15v3,-7,4,-18,4,-31r0,-42v0,-15,1,-27,3,-35v2,-8,6,-15,10,-19v4,-4,10,-7,18,-9v8,-2,18,-4,34,-4","w":171},"|":{"d":"82,-270r16,0r0,360r-16,0r0,-360"},"}":{"d":"28,-260v20,1,34,3,42,6v8,3,14,10,17,19v3,9,6,23,6,42r0,42v0,19,3,32,10,39v4,4,9,7,15,8v6,1,16,3,28,3r0,16v-15,0,-26,1,-33,4v-7,3,-13,8,-16,15v-3,7,-4,18,-4,31r0,42v0,15,-1,26,-3,34v-2,8,-5,15,-10,19v-4,5,-11,7,-18,9v-7,2,-18,3,-34,3r0,-15r4,0r5,0v8,0,15,-1,21,-4v6,-3,11,-7,13,-13v2,-6,4,-15,4,-29r0,-42v0,-18,2,-31,5,-39v3,-6,6,-10,10,-13v4,-3,10,-6,19,-10v-10,-4,-16,-7,-20,-11v-5,-5,-9,-12,-11,-19v-2,-7,-3,-18,-3,-32r0,-43v0,-12,-2,-21,-4,-28v-2,-7,-6,-11,-12,-14v-6,-3,-14,-4,-24,-4r-7,0r0,-16","w":171},"~":{"d":"271,-240r0,16v-10,7,-20,12,-27,16v-7,4,-14,6,-20,7v-6,1,-14,3,-21,3v-7,0,-14,-1,-21,-3r-30,-9v-22,-8,-39,-12,-51,-12v-7,0,-13,0,-19,2v-6,2,-13,4,-20,8v-7,4,-17,10,-29,18r0,-17v15,-10,28,-15,37,-19v9,-4,19,-6,30,-6v13,0,31,4,52,12v14,5,24,7,31,9v7,2,14,3,20,3v10,0,20,-2,29,-6v9,-4,22,-11,39,-22","w":299},"\u00c1":{"d":"175,-244r-123,0r0,103r55,0v21,0,38,1,50,4v12,3,22,8,29,14v7,6,12,13,16,23v4,10,5,19,5,30v0,19,-4,35,-15,47v-7,8,-16,13,-26,16v-5,2,-10,3,-16,4v-6,1,-14,2,-23,2v-9,0,-21,1,-35,1r-57,0r0,-259r140,0r0,15xm52,-15r69,0v20,0,35,-2,45,-7v16,-8,24,-24,24,-47v0,-19,-6,-34,-17,-44v-11,-10,-28,-14,-50,-14r-71,0r0,112","w":228},"\u0411":{"d":"175,-244r-123,0r0,103r55,0v21,0,38,1,50,4v12,3,22,8,29,14v7,6,12,13,16,23v4,10,5,19,5,30v0,19,-4,35,-15,47v-7,8,-16,13,-26,16v-5,2,-10,3,-16,4v-6,1,-14,2,-23,2v-9,0,-21,1,-35,1r-57,0r0,-259r140,0r0,15xm52,-15r69,0v20,0,35,-2,45,-7v16,-8,24,-24,24,-47v0,-19,-6,-34,-17,-44v-11,-10,-28,-14,-50,-14r-71,0r0,112","w":228},"\u00c2":{"d":"35,0r0,-259r71,0v26,0,46,4,58,11v10,6,18,13,23,22v5,9,8,20,8,32v0,17,-5,31,-16,42v-4,5,-8,8,-13,10v-5,2,-12,4,-21,6v5,1,10,1,14,2v14,3,26,9,35,20v9,12,13,26,13,44v0,19,-4,35,-15,47v-7,8,-16,13,-26,16v-5,2,-10,3,-16,4v-6,1,-14,2,-23,2v-9,0,-21,1,-35,1r-57,0xm52,-244r0,103r55,0v12,0,20,-1,26,-2v6,-1,13,-3,20,-6v9,-5,15,-11,19,-17v4,-6,6,-15,6,-25v0,-14,-4,-25,-11,-35v-3,-4,-7,-8,-12,-11v-5,-3,-12,-5,-19,-6v-7,-1,-16,-1,-27,-1r-57,0xm52,-15r69,0v20,0,35,-2,45,-7v16,-8,24,-24,24,-47v0,-19,-6,-34,-17,-44v-11,-10,-28,-14,-50,-14r-71,0r0,112","w":233},"\u0412":{"d":"35,0r0,-259r71,0v26,0,46,4,58,11v10,6,18,13,23,22v5,9,8,20,8,32v0,17,-5,31,-16,42v-4,5,-8,8,-13,10v-5,2,-12,4,-21,6v5,1,10,1,14,2v14,3,26,9,35,20v9,12,13,26,13,44v0,19,-4,35,-15,47v-7,8,-16,13,-26,16v-5,2,-10,3,-16,4v-6,1,-14,2,-23,2v-9,0,-21,1,-35,1r-57,0xm52,-244r0,103r55,0v12,0,20,-1,26,-2v6,-1,13,-3,20,-6v9,-5,15,-11,19,-17v4,-6,6,-15,6,-25v0,-14,-4,-25,-11,-35v-3,-4,-7,-8,-12,-11v-5,-3,-12,-5,-19,-6v-7,-1,-16,-1,-27,-1r-57,0xm52,-15r69,0v20,0,35,-2,45,-7v16,-8,24,-24,24,-47v0,-19,-6,-34,-17,-44v-11,-10,-28,-14,-50,-14r-71,0r0,112","w":233},"\u00c3":{"d":"35,0r0,-259r130,0r0,15r-113,0r0,244r-17,0","w":167},"\u0413":{"d":"35,0r0,-259r130,0r0,15r-113,0r0,244r-17,0","w":167},"\u00c4":{"d":"188,-259r0,245r26,0r0,69r-10,0r-9,-55r-172,0r-9,55r-9,0r0,-69v7,-1,12,-4,16,-6v4,-2,8,-6,12,-13v4,-6,7,-13,10,-20v7,-19,10,-46,10,-81r0,-125r135,0xm69,-244r0,111v0,10,-2,25,-4,44v-2,13,-3,23,-5,30v-1,7,-4,14,-8,22v-4,7,-11,15,-21,23r140,0r0,-230r-102,0","w":223},"\u0414":{"d":"188,-259r0,245r26,0r0,69r-10,0r-9,-55r-172,0r-9,55r-9,0r0,-69v7,-1,12,-4,16,-6v4,-2,8,-6,12,-13v4,-6,7,-13,10,-20v7,-19,10,-46,10,-81r0,-125r135,0xm69,-244r0,111v0,10,-2,25,-4,44v-2,13,-3,23,-5,30v-1,7,-4,14,-8,22v-4,7,-11,15,-21,23r140,0r0,-230r-102,0","w":223},"\u00c6":{"d":"143,0r0,-119r-24,-27r-96,146r-23,0r107,-154r-88,-105r22,0r102,125r0,-125r16,0r0,125r103,-125r21,0r-87,105r106,154r-22,0r-96,-146r-25,27r0,119r-16,0","w":302},"\u0416":{"d":"143,0r0,-119r-24,-27r-96,146r-23,0r107,-154r-88,-105r22,0r102,125r0,-125r16,0r0,125r103,-125r21,0r-87,105r106,154r-22,0r-96,-146r-25,27r0,119r-16,0","w":302},"\u00c7":{"d":"99,-145r28,0v11,0,20,-2,29,-6v9,-4,15,-10,20,-17v5,-7,8,-15,8,-24v0,-11,-3,-21,-9,-30v-6,-9,-14,-16,-24,-21v-10,-5,-22,-7,-36,-7v-14,0,-26,2,-37,7v-11,5,-20,13,-26,22v-6,9,-9,21,-9,33r-18,0v3,-14,6,-24,9,-31v14,-29,42,-44,82,-44v16,0,31,3,44,9v13,6,23,14,30,24v7,10,11,22,11,35v0,9,-2,16,-6,24v-4,8,-9,15,-16,20v-5,4,-9,7,-13,9v-4,2,-11,2,-19,3v10,2,19,5,24,7v5,2,10,6,15,10v13,12,20,27,20,47v0,16,-4,29,-12,41v-8,12,-19,21,-33,28v-14,7,-31,10,-49,10v-32,0,-56,-10,-73,-29v-6,-7,-10,-14,-13,-21v-3,-7,-5,-17,-7,-30r19,0v1,10,3,18,6,25v3,8,7,16,14,22v7,6,15,11,24,14v9,3,19,6,30,6v15,0,28,-3,40,-9v12,-6,21,-13,27,-23v6,-10,9,-21,9,-34v0,-11,-3,-21,-8,-29v-5,-8,-13,-14,-22,-19v-9,-5,-20,-7,-32,-7r-27,0r0,-15","w":219},"\u0417":{"d":"99,-145r28,0v11,0,20,-2,29,-6v9,-4,15,-10,20,-17v5,-7,8,-15,8,-24v0,-11,-3,-21,-9,-30v-6,-9,-14,-16,-24,-21v-10,-5,-22,-7,-36,-7v-14,0,-26,2,-37,7v-11,5,-20,13,-26,22v-6,9,-9,21,-9,33r-18,0v3,-14,6,-24,9,-31v14,-29,42,-44,82,-44v16,0,31,3,44,9v13,6,23,14,30,24v7,10,11,22,11,35v0,9,-2,16,-6,24v-4,8,-9,15,-16,20v-5,4,-9,7,-13,9v-4,2,-11,2,-19,3v10,2,19,5,24,7v5,2,10,6,15,10v13,12,20,27,20,47v0,16,-4,29,-12,41v-8,12,-19,21,-33,28v-14,7,-31,10,-49,10v-32,0,-56,-10,-73,-29v-6,-7,-10,-14,-13,-21v-3,-7,-5,-17,-7,-30r19,0v1,10,3,18,6,25v3,8,7,16,14,22v7,6,15,11,24,14v9,3,19,6,30,6v15,0,28,-3,40,-9v12,-6,21,-13,27,-23v6,-10,9,-21,9,-34v0,-11,-3,-21,-8,-29v-5,-8,-13,-14,-22,-19v-9,-5,-20,-7,-32,-7r-27,0r0,-15","w":219},"\u00c8":{"d":"35,0r0,-259r17,0r0,245r148,-245r24,0r0,259r-17,0r0,-243r-148,243r-24,0","w":258},"\u0418":{"d":"35,0r0,-259r17,0r0,245r148,-245r24,0r0,259r-17,0r0,-243r-148,243r-24,0","w":258},"\u00ef":{"d":"43,-175r0,175r-15,0r0,-189r133,0r0,189r-16,0r0,-175r-102,0","w":188},"\u043f":{"d":"43,-175r0,175r-15,0r0,-189r133,0r0,189r-16,0r0,-175r-102,0","w":188},"\u00e9":{"d":"54,-259r13,0v1,5,3,9,4,11v5,9,14,13,28,13v6,0,10,-1,13,-2v3,-1,6,-2,9,-5v4,-4,6,-10,7,-17r13,0v-2,11,-4,18,-6,22v-6,10,-19,16,-39,16v-13,0,-22,-3,-29,-8v-4,-4,-7,-8,-8,-11v-1,-3,-3,-9,-5,-19xm145,-170r-98,170r-19,0r0,-189r15,0r0,172r99,-172r19,0r0,189r-16,0r0,-170","w":188},"\u0439":{"d":"54,-259r13,0v1,5,3,9,4,11v5,9,14,13,28,13v6,0,10,-1,13,-2v3,-1,6,-2,9,-5v4,-4,6,-10,7,-17r13,0v-2,11,-4,18,-6,22v-6,10,-19,16,-39,16v-13,0,-22,-3,-29,-8v-4,-4,-7,-8,-8,-11v-1,-3,-3,-9,-5,-19xm145,-170r-98,170r-19,0r0,-189r15,0r0,172r99,-172r19,0r0,189r-16,0r0,-170","w":188},"\u00ec":{"d":"28,0r0,-189r27,0r59,180r57,-180r26,0r0,189r-16,0r0,-176r-56,176r-22,0r-60,-176r0,176r-15,0","w":224},"\u043c":{"d":"28,0r0,-189r27,0r59,180r57,-180r26,0r0,189r-16,0r0,-176r-56,176r-22,0r-60,-176r0,176r-15,0","w":224},"\u00e1":{"d":"33,-115v4,-11,7,-20,10,-26v3,-6,8,-11,13,-16v6,-6,13,-10,22,-13v9,-3,17,-5,26,-5v14,0,27,3,38,10v11,7,19,18,25,31v6,13,9,28,9,45v0,14,-2,27,-5,38v-3,11,-9,22,-16,30v-7,8,-15,14,-24,18v-9,4,-19,7,-31,7v-53,0,-80,-37,-80,-110v0,-20,1,-38,4,-56v3,-18,6,-31,10,-39v4,-8,10,-15,18,-20v11,-8,30,-17,58,-27v16,-6,27,-10,32,-13v5,-3,11,-7,16,-12r0,17v-2,3,-5,6,-8,8v-5,3,-16,8,-35,15v-18,6,-32,12,-41,16v-9,4,-15,8,-20,13v-7,6,-11,16,-14,29v-2,9,-3,17,-4,24v-1,7,-2,18,-3,36xm100,-161v-12,0,-21,3,-31,10v-10,7,-17,16,-23,27v-6,11,-9,24,-9,38v0,22,6,40,18,55v12,15,27,22,45,22v12,0,22,-4,31,-10v9,-6,15,-15,20,-27v5,-12,7,-27,7,-43v0,-15,-2,-27,-7,-38v-5,-11,-11,-19,-20,-25v-9,-6,-19,-9,-31,-9","w":194},"\u0431":{"d":"33,-115v4,-11,7,-20,10,-26v3,-6,8,-11,13,-16v6,-6,13,-10,22,-13v9,-3,17,-5,26,-5v14,0,27,3,38,10v11,7,19,18,25,31v6,13,9,28,9,45v0,14,-2,27,-5,38v-3,11,-9,22,-16,30v-7,8,-15,14,-24,18v-9,4,-19,7,-31,7v-53,0,-80,-37,-80,-110v0,-20,1,-38,4,-56v3,-18,6,-31,10,-39v4,-8,10,-15,18,-20v11,-8,30,-17,58,-27v16,-6,27,-10,32,-13v5,-3,11,-7,16,-12r0,17v-2,3,-5,6,-8,8v-5,3,-16,8,-35,15v-18,6,-32,12,-41,16v-9,4,-15,8,-20,13v-7,6,-11,16,-14,29v-2,9,-3,17,-4,24v-1,7,-2,18,-3,36xm100,-161v-12,0,-21,3,-31,10v-10,7,-17,16,-23,27v-6,11,-9,24,-9,38v0,22,6,40,18,55v12,15,27,22,45,22v12,0,22,-4,31,-10v9,-6,15,-15,20,-27v5,-12,7,-27,7,-43v0,-15,-2,-27,-7,-38v-5,-11,-11,-19,-20,-25v-9,-6,-19,-9,-31,-9","w":194},"\u00ea":{"d":"28,0r0,-189r15,0r0,98r93,-98r22,0r-75,76r83,113r-18,0r-76,-105r-29,29r0,76r-15,0","w":171},"\u043a":{"d":"28,0r0,-189r15,0r0,98r93,-98r22,0r-75,76r83,113r-18,0r-76,-105r-29,29r0,76r-15,0","w":171},"\u00e2":{"d":"28,-189r47,0v27,0,47,5,58,13v5,3,9,9,12,15v3,6,4,13,4,20v0,23,-13,36,-41,41v13,1,22,4,28,7v15,8,22,21,22,40v0,19,-6,33,-19,42v-6,4,-13,6,-22,8v-9,2,-21,3,-36,3r-53,0r0,-189xm43,-15r61,0v12,0,21,-4,28,-11v7,-7,10,-15,10,-26v0,-12,-4,-21,-11,-28v-7,-7,-17,-10,-29,-10r-59,0r0,75xm43,-172r0,67r48,0v13,0,24,-3,31,-9v7,-6,11,-14,11,-25v0,-6,-2,-13,-5,-18v-3,-5,-7,-8,-13,-11v-6,-3,-13,-4,-20,-4r-52,0"},"\u0432":{"d":"28,-189r47,0v27,0,47,5,58,13v5,3,9,9,12,15v3,6,4,13,4,20v0,23,-13,36,-41,41v13,1,22,4,28,7v15,8,22,21,22,40v0,19,-6,33,-19,42v-6,4,-13,6,-22,8v-9,2,-21,3,-36,3r-53,0r0,-189xm43,-15r61,0v12,0,21,-4,28,-11v7,-7,10,-15,10,-26v0,-12,-4,-21,-11,-28v-7,-7,-17,-10,-29,-10r-59,0r0,75xm43,-172r0,67r48,0v13,0,24,-3,31,-9v7,-6,11,-14,11,-25v0,-6,-2,-13,-5,-18v-3,-5,-7,-8,-13,-11v-6,-3,-13,-4,-20,-4r-52,0"},"\u00e3":{"d":"43,-174r0,174r-15,0r0,-189r94,0r0,15r-79,0","w":127},"\u0433":{"d":"43,-174r0,174r-15,0r0,-189r94,0r0,15r-79,0","w":127},"\u00e4":{"d":"15,46r-10,0r0,-60r2,0r3,0v8,0,14,-6,19,-18v4,-9,7,-17,9,-27v2,-10,2,-23,2,-38r0,-92r110,0r0,175r25,0r0,60r-11,0r-7,-46r-135,0xm134,-175r-79,0r0,71v0,16,-1,29,-2,40v-1,11,-3,20,-7,28v-4,8,-9,15,-15,22r103,0r0,-161","w":184},"\u0434":{"d":"15,46r-10,0r0,-60r2,0r3,0v8,0,14,-6,19,-18v4,-9,7,-17,9,-27v2,-10,2,-23,2,-38r0,-92r110,0r0,175r25,0r0,60r-11,0r-7,-46r-135,0xm134,-175r-79,0r0,71v0,16,-1,29,-2,40v-1,11,-3,20,-7,28v-4,8,-9,15,-15,22r103,0r0,-161","w":184},"\u00f2":{"d":"81,-174r0,174r-16,0r0,-174r-62,0r0,-15r141,0r0,15r-63,0","w":146},"\u0442":{"d":"81,-174r0,174r-16,0r0,-174r-62,0r0,-15r141,0r0,15r-63,0","w":146},"\u00ed":{"d":"43,-94r0,94r-15,0r0,-189r15,0r0,82r102,0r0,-82r16,0r0,189r-16,0r0,-94r-102,0","w":188},"\u043d":{"d":"43,-94r0,94r-15,0r0,-189r15,0r0,82r102,0r0,-82r16,0r0,189r-16,0r0,-94r-102,0","w":188},"\u00b8":{"d":"49,-231r0,-28r19,0r0,28r-19,0xm127,-231r0,-28r19,0r0,28r-19,0xm35,-93v0,11,1,19,2,25v1,6,4,12,7,19v5,10,9,18,15,23v5,5,12,9,20,12v8,3,15,5,22,5v9,0,19,-2,27,-7v8,-5,15,-10,20,-18v4,-6,7,-14,9,-24r15,0v-3,11,-5,20,-8,25v-13,25,-34,37,-65,37v-24,0,-42,-7,-55,-22v-8,-9,-14,-21,-19,-34v-5,-13,-7,-27,-7,-42v0,-15,2,-29,6,-41v4,-12,9,-22,16,-31v7,-9,15,-16,25,-20v10,-4,22,-7,34,-7v24,0,41,9,54,25v6,7,11,15,14,24v5,12,7,29,8,51r-140,0xm35,-105r123,0v-1,-10,-2,-18,-3,-24v-1,-6,-3,-11,-6,-16v-4,-6,-8,-11,-12,-16v-6,-6,-12,-12,-18,-14v-6,-2,-12,-3,-21,-3v-15,0,-28,5,-39,15v-5,4,-10,11,-14,18v-5,9,-8,23,-10,40","w":192},"\u0451":{"d":"49,-231r0,-28r19,0r0,28r-19,0xm127,-231r0,-28r19,0r0,28r-19,0xm35,-93v0,11,1,19,2,25v1,6,4,12,7,19v5,10,9,18,15,23v5,5,12,9,20,12v8,3,15,5,22,5v9,0,19,-2,27,-7v8,-5,15,-10,20,-18v4,-6,7,-14,9,-24r15,0v-3,11,-5,20,-8,25v-13,25,-34,37,-65,37v-24,0,-42,-7,-55,-22v-8,-9,-14,-21,-19,-34v-5,-13,-7,-27,-7,-42v0,-15,2,-29,6,-41v4,-12,9,-22,16,-31v7,-9,15,-16,25,-20v10,-4,22,-7,34,-7v24,0,41,9,54,25v6,7,11,15,14,24v5,12,7,29,8,51r-140,0xm35,-105r123,0v-1,-10,-2,-18,-3,-24v-1,-6,-3,-11,-6,-16v-4,-6,-8,-11,-12,-16v-6,-6,-12,-12,-18,-14v-6,-2,-12,-3,-21,-3v-15,0,-28,5,-39,15v-5,4,-10,11,-14,18v-5,9,-8,23,-10,40","w":192},"\u00f3":{"d":"14,73r0,-15v10,2,17,3,19,3v5,0,9,-2,13,-4v3,-2,7,-7,11,-15v4,-8,8,-18,12,-30r3,-8r1,-2r-73,-191r18,0r63,174r62,-174r16,0r-83,225v-10,27,-25,40,-43,40v-6,0,-11,-1,-19,-3","w":157},"\u0443":{"d":"14,73r0,-15v10,2,17,3,19,3v5,0,9,-2,13,-4v3,-2,7,-7,11,-15v4,-8,8,-18,12,-30r3,-8r1,-2r-73,-191r18,0r63,174r62,-174r16,0r-83,225v-10,27,-25,40,-43,40v-6,0,-11,-1,-19,-3","w":157},"\u00f7":{"d":"116,-98r0,-91r16,0r0,189r-16,0r0,-84v-5,4,-9,6,-12,8v-3,2,-7,3,-14,5v-9,2,-17,4,-24,4v-9,0,-18,-2,-26,-6v-8,-4,-13,-10,-17,-17v-4,-8,-6,-20,-6,-37r0,-62r15,0r0,61v0,12,2,21,4,28v2,7,5,12,10,15v5,3,13,5,22,5v9,0,18,-1,25,-4v7,-3,15,-7,23,-14","w":159},"\u0447":{"d":"116,-98r0,-91r16,0r0,189r-16,0r0,-84v-5,4,-9,6,-12,8v-3,2,-7,3,-14,5v-9,2,-17,4,-24,4v-9,0,-18,-2,-26,-6v-8,-4,-13,-10,-17,-17v-4,-8,-6,-20,-6,-37r0,-62r15,0r0,61v0,12,2,21,4,28v2,7,5,12,10,15v5,3,13,5,22,5v9,0,18,-1,25,-4v7,-3,15,-7,23,-14","w":159},"\u00f4":{"d":"116,77r0,-78v-14,0,-26,-1,-33,-2v-7,-1,-15,-5,-23,-9v-28,-15,-42,-42,-42,-81v0,-29,8,-51,23,-68v5,-6,13,-11,21,-16v7,-4,15,-6,22,-8v7,-2,18,-2,32,-3r0,-71r15,0r0,71v14,1,25,1,32,3v7,2,15,4,22,8v9,5,18,12,24,20v6,8,12,18,15,29v3,11,5,22,5,34v0,13,-2,26,-6,38v-4,12,-10,22,-17,30v-5,6,-11,10,-19,14v-8,4,-16,8,-23,9v-7,1,-19,2,-33,2r0,78r-15,0xm116,-174v-16,1,-28,4,-36,7v-14,5,-25,14,-33,27v-8,13,-12,29,-12,47v0,27,8,47,24,61v6,6,13,10,22,13v8,3,20,5,35,5r0,-160xm131,-174r0,160v15,0,27,-2,36,-5v9,-3,17,-8,24,-15v7,-7,11,-15,15,-25v4,-10,6,-23,6,-35v0,-26,-8,-45,-23,-60v-6,-5,-13,-10,-21,-13v-8,-3,-20,-5,-37,-7","w":246},"\u0444":{"d":"116,77r0,-78v-14,0,-26,-1,-33,-2v-7,-1,-15,-5,-23,-9v-28,-15,-42,-42,-42,-81v0,-29,8,-51,23,-68v5,-6,13,-11,21,-16v7,-4,15,-6,22,-8v7,-2,18,-2,32,-3r0,-71r15,0r0,71v14,1,25,1,32,3v7,2,15,4,22,8v9,5,18,12,24,20v6,8,12,18,15,29v3,11,5,22,5,34v0,13,-2,26,-6,38v-4,12,-10,22,-17,30v-5,6,-11,10,-19,14v-8,4,-16,8,-23,9v-7,1,-19,2,-33,2r0,78r-15,0xm116,-174v-16,1,-28,4,-36,7v-14,5,-25,14,-33,27v-8,13,-12,29,-12,47v0,27,8,47,24,61v6,6,13,10,22,13v8,3,20,5,35,5r0,-160xm131,-174r0,160v15,0,27,-2,36,-5v9,-3,17,-8,24,-15v7,-7,11,-15,15,-25v4,-10,6,-23,6,-35v0,-26,-8,-45,-23,-60v-6,-5,-13,-10,-21,-13v-8,-3,-20,-5,-37,-7","w":246},"\u00f6":{"d":"165,0r-137,0r0,-189r15,0r0,175r102,0r0,-175r16,0r0,175r22,0r0,60r-11,0","w":192},"\u0446":{"d":"165,0r-137,0r0,-189r15,0r0,175r102,0r0,-175r16,0r0,175r22,0r0,60r-11,0","w":192},"\u00e6":{"d":"128,-189r0,96r82,-96r21,0r-68,76r77,113r-19,0r-68,-103r-25,27r0,76r-15,0r0,-76r-25,-27r-68,103r-18,0r78,-113r-70,-76r22,0r81,96r0,-96r15,0","w":241},"\u0436":{"d":"128,-189r0,96r82,-96r21,0r-68,76r77,113r-19,0r-68,-103r-25,27r0,76r-15,0r0,-76r-25,-27r-68,103r-18,0r78,-113r-70,-76r22,0r81,96r0,-96r15,0","w":241},"\u00f8":{"d":"28,0r0,-189r15,0r0,175r77,0r0,-175r15,0r0,175r77,0r0,-175r16,0r0,189r-200,0","w":255},"\u0448":{"d":"28,0r0,-189r15,0r0,175r77,0r0,-175r15,0r0,175r77,0r0,-175r16,0r0,189r-200,0","w":255},"\u00fa":{"d":"1,-189r48,0r0,72r36,0v13,0,24,3,33,7v9,4,16,11,21,19v5,8,8,18,8,30v0,17,-5,31,-15,42v-5,7,-11,12,-19,15v-8,3,-18,4,-30,4r-50,0r0,-175r-32,0r0,-14xm49,-15r40,0v13,0,24,-4,31,-12v7,-8,10,-19,10,-33v0,-27,-14,-41,-43,-41r-38,0r0,86","w":156},"\u044a":{"d":"1,-189r48,0r0,72r36,0v13,0,24,3,33,7v9,4,16,11,21,19v5,8,8,18,8,30v0,17,-5,31,-15,42v-5,7,-11,12,-19,15v-8,3,-18,4,-30,4r-50,0r0,-175r-32,0r0,-14xm49,-15r40,0v13,0,24,-4,31,-12v7,-8,10,-19,10,-33v0,-27,-14,-41,-43,-41r-38,0r0,86","w":156},"\u00f9":{"d":"233,0r-205,0r0,-189r15,0r0,175r77,0r0,-175r15,0r0,175r77,0r0,-175r16,0r0,175r23,0r0,60r-10,0","w":261},"\u0449":{"d":"233,0r-205,0r0,-189r15,0r0,175r77,0r0,-175r15,0r0,175r77,0r0,-175r16,0r0,175r23,0r0,60r-10,0","w":261},"\u00e7":{"d":"17,-56r15,0v2,32,17,48,46,48v14,0,24,-4,32,-12v8,-8,12,-21,12,-36v0,-12,-4,-22,-12,-29v-8,-7,-20,-12,-33,-12r-22,0r0,-10r18,0v15,0,26,-3,34,-9v8,-6,13,-15,13,-26v0,-12,-4,-21,-12,-28v-8,-7,-18,-11,-31,-11v-9,0,-16,2,-22,5v-6,3,-10,7,-14,14v-4,7,-7,15,-8,25r-14,0v2,-11,5,-20,8,-27v5,-10,13,-17,21,-21v8,-4,19,-7,32,-7v11,0,20,2,28,6v8,4,14,9,18,17v4,8,7,17,7,27v0,12,-4,21,-10,27v-3,4,-7,7,-11,9v-4,2,-11,3,-20,4v11,1,20,4,26,8v13,8,20,20,20,37v0,8,-1,17,-4,24v-4,12,-11,21,-21,27v-10,6,-23,9,-39,9v-19,0,-33,-6,-43,-18v-4,-5,-7,-10,-9,-16v-2,-6,-4,-14,-5,-25","w":157},"\u0437":{"d":"17,-56r15,0v2,32,17,48,46,48v14,0,24,-4,32,-12v8,-8,12,-21,12,-36v0,-12,-4,-22,-12,-29v-8,-7,-20,-12,-33,-12r-22,0r0,-10r18,0v15,0,26,-3,34,-9v8,-6,13,-15,13,-26v0,-12,-4,-21,-12,-28v-8,-7,-18,-11,-31,-11v-9,0,-16,2,-22,5v-6,3,-10,7,-14,14v-4,7,-7,15,-8,25r-14,0v2,-11,5,-20,8,-27v5,-10,13,-17,21,-21v8,-4,19,-7,32,-7v11,0,20,2,28,6v8,4,14,9,18,17v4,8,7,17,7,27v0,12,-4,21,-10,27v-3,4,-7,7,-11,9v-4,2,-11,3,-20,4v11,1,20,4,26,8v13,8,20,20,20,37v0,8,-1,17,-4,24v-4,12,-11,21,-21,27v-10,6,-23,9,-39,9v-19,0,-33,-6,-43,-18v-4,-5,-7,-10,-9,-16v-2,-6,-4,-14,-5,-25","w":157},"\u00eb":{"d":"132,0r0,-173r-72,0r0,103v0,48,-14,72,-42,72v-5,0,-10,-1,-16,-3r0,-16v9,3,15,4,18,4v17,0,25,-21,25,-63r0,-113r103,0r0,189r-16,0","w":175},"\u043b":{"d":"132,0r0,-173r-72,0r0,103v0,48,-14,72,-42,72v-5,0,-10,-1,-16,-3r0,-16v9,3,15,4,18,4v17,0,25,-21,25,-63r0,-113r103,0r0,189r-16,0","w":175},"\u00fc":{"d":"43,-189r0,72r36,0v13,0,24,3,33,7v9,4,16,11,21,19v5,8,8,18,8,30v0,17,-5,31,-14,42v-5,7,-12,12,-20,15v-8,3,-18,4,-30,4r-49,0r0,-189r15,0xm43,-15r40,0v13,0,24,-4,31,-12v7,-8,11,-19,11,-33v0,-27,-14,-41,-43,-41r-39,0r0,86","w":150},"\u044c":{"d":"43,-189r0,72r36,0v13,0,24,3,33,7v9,4,16,11,21,19v5,8,8,18,8,30v0,17,-5,31,-14,42v-5,7,-12,12,-20,15v-8,3,-18,4,-30,4r-49,0r0,-189r15,0xm43,-15r40,0v13,0,24,-4,31,-12v7,-8,11,-19,11,-33v0,-27,-14,-41,-43,-41r-39,0r0,86","w":150},"\u00ff":{"d":"12,0r59,-82v-11,-2,-20,-5,-26,-9v-14,-8,-20,-22,-20,-40v0,-18,5,-32,17,-42v12,-10,28,-16,48,-16r49,0r0,189r-16,0r0,-80r-38,0r-54,80r-19,0xm123,-172r-36,0v-14,0,-25,4,-33,11v-8,7,-13,17,-13,29v0,11,4,20,12,27v8,7,19,11,31,11r39,0r0,-78","w":167},"\u044f":{"d":"12,0r59,-82v-11,-2,-20,-5,-26,-9v-14,-8,-20,-22,-20,-40v0,-18,5,-32,17,-42v12,-10,28,-16,48,-16r49,0r0,189r-16,0r0,-80r-38,0r-54,80r-19,0xm123,-172r-36,0v-14,0,-25,4,-33,11v-8,7,-13,17,-13,29v0,11,4,20,12,27v8,7,19,11,31,11r39,0r0,-78","w":167},"\u00fe":{"d":"76,-107v1,-18,5,-33,12,-46v7,-13,16,-23,28,-30v12,-7,27,-10,43,-10v27,0,46,9,59,26v7,9,13,19,17,32v4,13,5,26,5,41v0,15,-1,29,-5,41v-4,12,-10,23,-17,31v-7,8,-16,15,-26,19v-10,4,-23,6,-36,6v-24,0,-43,-7,-57,-22v-8,-9,-13,-19,-17,-30v-4,-11,-6,-26,-7,-45r-32,0r0,94r-15,0r0,-189r15,0r0,82r33,0xm91,-93v0,15,3,28,8,41v4,10,8,19,13,24v5,6,12,10,20,13v8,3,16,5,25,5v13,0,25,-4,35,-11v10,-7,18,-17,24,-29v6,-12,8,-27,8,-43v0,-18,-2,-33,-7,-46v-5,-13,-13,-22,-23,-29v-10,-7,-22,-10,-36,-10v-14,0,-26,3,-36,10v-10,7,-18,16,-23,29v-5,13,-8,28,-8,46","w":259},"\u044e":{"d":"76,-107v1,-18,5,-33,12,-46v7,-13,16,-23,28,-30v12,-7,27,-10,43,-10v27,0,46,9,59,26v7,9,13,19,17,32v4,13,5,26,5,41v0,15,-1,29,-5,41v-4,12,-10,23,-17,31v-7,8,-16,15,-26,19v-10,4,-23,6,-36,6v-24,0,-43,-7,-57,-22v-8,-9,-13,-19,-17,-30v-4,-11,-6,-26,-7,-45r-32,0r0,94r-15,0r0,-189r15,0r0,82r33,0xm91,-93v0,15,3,28,8,41v4,10,8,19,13,24v5,6,12,10,20,13v8,3,16,5,25,5v13,0,25,-4,35,-11v10,-7,18,-17,24,-29v6,-12,8,-27,8,-43v0,-18,-2,-33,-7,-46v-5,-13,-13,-22,-23,-29v-10,-7,-22,-10,-36,-10v-14,0,-26,3,-36,10v-10,7,-18,16,-23,29v-5,13,-8,28,-8,46","w":259},"\u00e8":{"d":"145,-170r-98,170r-19,0r0,-189r15,0r0,172r99,-172r19,0r0,189r-16,0r0,-170","w":188},"\u0438":{"d":"145,-170r-98,170r-19,0r0,-189r15,0r0,172r99,-172r19,0r0,189r-16,0r0,-170","w":188},"\u00b0":{"d":"126,-202v0,15,-6,28,-16,39v-10,11,-23,16,-38,16v-10,0,-19,-2,-27,-7v-8,-5,-15,-12,-20,-20v-5,-8,-7,-17,-7,-27v0,-15,5,-27,16,-38v11,-11,23,-16,38,-16v9,0,19,2,27,7v8,5,15,12,20,20v5,8,7,17,7,26xm112,-200v0,-7,-2,-15,-6,-21v-4,-6,-8,-10,-14,-14v-6,-4,-13,-6,-20,-6v-11,0,-20,4,-28,12v-8,8,-12,16,-12,27v0,11,4,21,12,29v8,8,17,11,28,11v11,0,20,-3,28,-11v8,-8,12,-17,12,-27","w":143},"\u00a2":{"d":"161,-64r14,0v-1,6,-1,10,-2,14v-3,14,-10,25,-20,35v-13,13,-31,20,-53,20v-6,0,-15,-1,-26,-3r-15,48r-18,0r17,-55v-11,-7,-20,-13,-25,-19v-5,-6,-10,-13,-13,-22v-6,-14,-8,-30,-8,-46v0,-19,3,-37,10,-52v7,-15,17,-27,30,-35v13,-8,28,-13,44,-13v5,0,13,1,22,3r13,-42r18,0r-15,47v9,5,16,9,20,13v5,5,9,12,13,19v3,7,5,15,6,25r-13,0v-2,-9,-5,-16,-9,-23v-3,-5,-6,-9,-9,-12v-3,-3,-8,-5,-14,-9r-48,159v9,1,16,2,21,2v12,0,23,-4,33,-10v7,-5,13,-10,18,-18v4,-7,7,-15,9,-26xm64,-17r48,-159v-6,-1,-12,-1,-18,-1v-12,0,-24,4,-34,11v-10,7,-18,17,-24,30v-6,13,-9,27,-9,42v0,8,2,15,3,22v2,10,4,17,6,23v2,6,6,11,10,16v4,5,10,10,18,16","w":191},"\u045e":{"d":"161,-64r14,0v-1,6,-1,10,-2,14v-3,14,-10,25,-20,35v-13,13,-31,20,-53,20v-6,0,-15,-1,-26,-3r-15,48r-18,0r17,-55v-11,-7,-20,-13,-25,-19v-5,-6,-10,-13,-13,-22v-6,-14,-8,-30,-8,-46v0,-19,3,-37,10,-52v7,-15,17,-27,30,-35v13,-8,28,-13,44,-13v5,0,13,1,22,3r13,-42r18,0r-15,47v9,5,16,9,20,13v5,5,9,12,13,19v3,7,5,15,6,25r-13,0v-2,-9,-5,-16,-9,-23v-3,-5,-6,-9,-9,-12v-3,-3,-8,-5,-14,-9r-48,159v9,1,16,2,21,2v12,0,23,-4,33,-10v7,-5,13,-10,18,-18v4,-7,7,-15,9,-26xm64,-17r48,-159v-6,-1,-12,-1,-18,-1v-12,0,-24,4,-34,11v-10,7,-18,17,-24,30v-6,13,-9,27,-9,42v0,8,2,15,3,22v2,10,4,17,6,23v2,6,6,11,10,16v4,5,10,10,18,16","w":191},"\u00a3":{"d":"30,2r-13,-20v9,-7,15,-14,19,-18v4,-4,6,-8,9,-14v5,-10,8,-21,8,-32v0,-9,-2,-19,-7,-32r-35,0r0,-15r30,0v-8,-10,-14,-20,-17,-29v-3,-10,-5,-18,-5,-26v0,-13,3,-25,10,-35v7,-10,17,-18,29,-24v12,-6,25,-9,40,-9v11,0,22,2,31,5v9,3,17,8,24,14v9,9,16,20,20,32v2,7,2,16,3,28r-17,0v-1,-14,-2,-23,-5,-30v-4,-10,-11,-18,-21,-24v-10,-6,-21,-10,-34,-10v-12,0,-22,2,-31,7v-9,5,-17,12,-22,20v-5,8,-8,17,-8,27v0,5,1,11,2,16v2,6,4,11,6,15v2,4,6,11,13,20r2,3r61,0r0,15r-57,0v5,12,8,22,8,30v0,8,-2,17,-6,26v-3,6,-6,12,-11,18v-5,6,-12,15,-21,25v9,-4,16,-6,21,-7v5,-1,11,-1,18,-1v10,0,21,2,32,6v15,6,25,8,31,8v6,0,11,-1,16,-4v5,-3,13,-7,22,-15r12,10v-21,17,-39,25,-52,25v-9,0,-20,-3,-36,-8v-15,-6,-27,-8,-35,-8v-8,0,-20,4,-34,11","w":191},"\u0408":{"d":"30,2r-13,-20v9,-7,15,-14,19,-18v4,-4,6,-8,9,-14v5,-10,8,-21,8,-32v0,-9,-2,-19,-7,-32r-35,0r0,-15r30,0v-8,-10,-14,-20,-17,-29v-3,-10,-5,-18,-5,-26v0,-13,3,-25,10,-35v7,-10,17,-18,29,-24v12,-6,25,-9,40,-9v11,0,22,2,31,5v9,3,17,8,24,14v9,9,16,20,20,32v2,7,2,16,3,28r-17,0v-1,-14,-2,-23,-5,-30v-4,-10,-11,-18,-21,-24v-10,-6,-21,-10,-34,-10v-12,0,-22,2,-31,7v-9,5,-17,12,-22,20v-5,8,-8,17,-8,27v0,5,1,11,2,16v2,6,4,11,6,15v2,4,6,11,13,20r2,3r61,0r0,15r-57,0v5,12,8,22,8,30v0,8,-2,17,-6,26v-3,6,-6,12,-11,18v-5,6,-12,15,-21,25v9,-4,16,-6,21,-7v5,-1,11,-1,18,-1v10,0,21,2,32,6v15,6,25,8,31,8v6,0,11,-1,16,-4v5,-3,13,-7,22,-15r12,10v-21,17,-39,25,-52,25v-9,0,-20,-3,-36,-8v-15,-6,-27,-8,-35,-8v-8,0,-20,4,-34,11","w":191},"\u00a7":{"d":"34,-27r17,0v1,30,14,45,37,45v11,0,20,-3,26,-10v6,-7,9,-15,9,-26v0,-7,-3,-14,-9,-20v-4,-4,-11,-9,-22,-16v-2,-1,-3,-2,-5,-3v-2,-1,-3,-2,-3,-2r-30,-19v-23,-15,-35,-32,-35,-50v0,-12,4,-24,12,-33v5,-6,15,-13,27,-20v-7,-6,-12,-12,-15,-17v-3,-5,-4,-11,-4,-18v0,-10,2,-18,6,-26v4,-8,10,-14,18,-18v8,-4,17,-6,27,-6v12,0,22,2,30,6v8,4,13,10,17,19v4,9,7,20,7,34r-19,0r0,-8v0,-7,-1,-10,-1,-10v-1,-3,-2,-7,-5,-11v-4,-6,-8,-10,-13,-12v-5,-2,-10,-3,-17,-3v-10,0,-17,3,-23,9v-6,6,-8,15,-8,26v0,6,2,13,6,18v4,5,11,11,21,17r36,20v14,8,24,17,30,26v6,9,9,19,9,30v0,6,-1,11,-3,17v-2,5,-5,10,-9,15v-4,5,-13,11,-25,18v4,5,7,8,9,10v7,9,10,20,10,31v0,9,-2,17,-7,24v-5,7,-12,14,-20,18v-8,4,-17,6,-27,6v-11,0,-21,-2,-29,-7v-8,-5,-14,-12,-18,-21v-4,-9,-7,-19,-7,-31r0,-2xm114,-62v12,-10,21,-18,24,-23v3,-5,5,-12,5,-20v0,-4,0,-7,-1,-9v-2,-5,-5,-10,-11,-16v-6,-6,-13,-11,-20,-15r-42,-26v-12,7,-20,14,-25,20v-5,6,-7,12,-7,19v0,15,8,28,26,39"},"\u00b6":{"d":"164,-260r0,11r-23,0r0,249r-12,0r0,-249r-34,0r0,249r-12,0r0,-138v-13,-1,-23,-3,-30,-6v-11,-5,-20,-11,-27,-21v-7,-10,-10,-21,-10,-34v0,-12,3,-23,9,-32v6,-9,13,-16,24,-21v11,-5,23,-8,36,-8r79,0"},"\u00ae":{"d":"279,-126v0,24,-5,46,-17,66v-12,20,-27,36,-47,48v-20,12,-42,17,-66,17v-24,0,-45,-6,-65,-17v-20,-11,-35,-28,-46,-48v-11,-20,-17,-42,-17,-66v0,-24,5,-46,17,-66v12,-20,27,-36,47,-48v20,-12,42,-18,66,-18v23,0,45,6,65,18v20,12,35,28,46,48v11,20,17,42,17,66xm38,-127v0,20,5,39,15,57v10,18,24,32,41,43v17,11,36,15,56,15v20,0,39,-5,56,-15v17,-10,31,-24,41,-42v10,-18,15,-37,15,-57v0,-20,-5,-39,-15,-57v-10,-18,-24,-32,-41,-42v-17,-10,-36,-16,-56,-16v-20,0,-38,6,-55,16v-17,10,-32,24,-42,42v-10,18,-15,36,-15,56xm103,-193r61,0v12,0,21,3,28,10v7,7,10,17,10,29v0,8,-1,13,-4,18v-3,5,-7,9,-14,13v3,1,5,2,7,3v5,4,8,17,9,38r0,8v0,7,3,12,6,15r0,4r-22,0v-2,-5,-3,-12,-3,-22r0,-6v0,-8,-2,-16,-4,-22v-3,-6,-9,-9,-19,-9r-36,0r0,59r-19,0r0,-138xm122,-130r39,0v6,0,12,-3,16,-7v4,-4,6,-10,6,-17v0,-6,-2,-11,-6,-16v-4,-5,-8,-7,-13,-7r-42,0r0,47","w":300},"\u00a9":{"d":"280,-127v0,24,-6,46,-17,66v-11,20,-28,35,-48,47v-20,12,-41,17,-65,17v-24,0,-45,-6,-65,-17v-20,-11,-36,-27,-47,-47v-11,-20,-17,-43,-17,-67v0,-24,6,-46,18,-66v12,-20,27,-36,47,-48v20,-12,42,-17,66,-17v24,0,44,5,64,17v20,12,36,28,47,48v11,20,17,43,17,67xm38,-128v0,20,5,39,15,57v10,18,25,31,42,42v17,11,35,16,55,16v20,0,39,-5,56,-15v17,-10,32,-24,42,-42v10,-18,15,-36,15,-57v0,-20,-5,-40,-15,-58v-10,-18,-24,-32,-41,-42v-17,-10,-36,-16,-56,-16v-20,0,-39,6,-56,16v-17,10,-31,24,-41,42v-10,18,-16,37,-16,57xm186,-151v-1,-8,-6,-15,-13,-21v-7,-6,-15,-8,-24,-8v-12,0,-22,5,-30,15v-8,10,-12,24,-12,41v0,17,4,31,12,41v8,10,17,16,30,16v11,0,20,-4,27,-11v7,-7,10,-16,11,-28r18,0v-1,17,-6,31,-16,40v-10,9,-24,14,-41,14v-12,0,-22,-2,-31,-8v-9,-6,-16,-15,-21,-26v-5,-11,-8,-23,-8,-38v0,-15,3,-27,8,-38v5,-11,12,-19,21,-25v9,-6,20,-9,33,-9v10,0,19,1,27,5v8,4,14,9,19,16v5,7,7,15,8,24r-18,0","w":300},"\u00b4":{"d":"84,-211r-16,0r37,-62r26,0"},"\u0491":{"d":"84,-211r-16,0r37,-62r26,0"},"\u00dd":{"d":"33,-85v1,11,4,21,7,30v4,10,9,18,13,23v6,7,14,13,24,17v10,4,21,6,33,6v11,0,22,-1,33,-5v11,-4,20,-9,28,-16v12,-9,21,-22,28,-40v3,-8,6,-16,7,-24v1,-8,2,-20,2,-35r-128,0r0,-15r129,0v-2,-13,-3,-23,-5,-30v-2,-7,-3,-14,-6,-21v-5,-11,-12,-21,-21,-29v-9,-8,-18,-15,-30,-19v-12,-4,-24,-7,-37,-7v-23,0,-42,9,-56,25v-5,5,-9,11,-12,18v-2,5,-4,13,-6,24r-16,0v1,-9,3,-18,6,-27v5,-12,11,-23,19,-31v8,-8,18,-13,29,-17v11,-4,24,-6,39,-6v18,0,33,3,47,9v14,6,26,15,36,26v10,11,17,26,22,42v5,16,8,34,8,55v0,30,-5,56,-15,79v-17,38,-51,57,-100,57v-17,0,-32,-2,-43,-6v-11,-4,-21,-12,-29,-22v-6,-7,-11,-15,-14,-24v-4,-10,-7,-23,-8,-37r16,0","w":245},"\u042d":{"d":"33,-85v1,11,4,21,7,30v4,10,9,18,13,23v6,7,14,13,24,17v10,4,21,6,33,6v11,0,22,-1,33,-5v11,-4,20,-9,28,-16v12,-9,21,-22,28,-40v3,-8,6,-16,7,-24v1,-8,2,-20,2,-35r-128,0r0,-15r129,0v-2,-13,-3,-23,-5,-30v-2,-7,-3,-14,-6,-21v-5,-11,-12,-21,-21,-29v-9,-8,-18,-15,-30,-19v-12,-4,-24,-7,-37,-7v-23,0,-42,9,-56,25v-5,5,-9,11,-12,18v-2,5,-4,13,-6,24r-16,0v1,-9,3,-18,6,-27v5,-12,11,-23,19,-31v8,-8,18,-13,29,-17v11,-4,24,-6,39,-6v18,0,33,3,47,9v14,6,26,15,36,26v10,11,17,26,22,42v5,16,8,34,8,55v0,30,-5,56,-15,79v-17,38,-51,57,-100,57v-17,0,-32,-2,-43,-6v-11,-4,-21,-12,-29,-22v-6,-7,-11,-15,-14,-24v-4,-10,-7,-23,-8,-37r16,0","w":245},"\u00db":{"d":"35,-259r17,0r0,112r42,0v23,0,42,3,57,9v8,3,15,9,21,15v6,6,11,14,14,23v3,9,5,18,5,28v0,24,-8,42,-24,55v-7,6,-16,10,-25,13v-9,3,-22,4,-36,4r-71,0r0,-259xm209,0r0,-259r17,0r0,259r-17,0xm52,-131r0,116r60,0v11,0,20,-1,27,-4v7,-3,13,-7,19,-13v10,-10,15,-23,15,-40v0,-39,-23,-59,-71,-59r-50,0","w":261},"\u042b":{"d":"35,-259r17,0r0,112r42,0v23,0,42,3,57,9v8,3,15,9,21,15v6,6,11,14,14,23v3,9,5,18,5,28v0,24,-8,42,-24,55v-7,6,-16,10,-25,13v-9,3,-22,4,-36,4r-71,0r0,-259xm209,0r0,-259r17,0r0,259r-17,0xm52,-131r0,116r60,0v11,0,20,-1,27,-4v7,-3,13,-7,19,-13v10,-10,15,-23,15,-40v0,-39,-23,-59,-71,-59r-50,0","w":261},"\u00b1":{"d":"150,-136r0,14r-61,0r0,61r-14,0r0,-61r-61,0r0,-14r61,0r0,-60r14,0r0,60r61,0xm150,-32r0,14r-136,0r0,-14r136,0","w":164},"\u00b2":{"d":"10,-127r0,-15r143,-60r0,14r-126,54r126,53r0,15xm153,-32r0,14r-143,0r0,-14r143,0","w":167},"\u0406":{"d":"10,-127r0,-15r143,-60r0,14r-126,54r126,53r0,15xm153,-32r0,14r-143,0r0,-14r143,0","w":167},"\u00b3":{"d":"157,-142r0,15r-143,61r0,-15r126,-53r-126,-54r0,-14xm14,-18r0,-14r143,0r0,14r-143,0","w":167},"\u0456":{"d":"157,-142r0,15r-143,61r0,-15r126,-53r-126,-54r0,-14xm14,-18r0,-14r143,0r0,14r-143,0","w":167},"\u00a5":{"d":"89,0r0,-108r-88,0r0,-15r79,0r-19,-28r-60,0r0,-16r49,0r-51,-77r23,0r76,116r76,-116r24,0r-51,77r49,0r0,16r-60,0r-19,28r79,0r0,15r-88,0r0,108r-19,0","w":197},"\u0490":{"d":"89,0r0,-108r-88,0r0,-15r79,0r-19,-28r-60,0r0,-16r49,0r-51,-77r23,0r76,116r76,-116r24,0r-51,77r49,0r0,16r-60,0r-19,28r79,0r0,15r-88,0r0,108r-19,0","w":197},"\u00fd":{"d":"32,-65v3,19,9,33,17,42v8,9,20,13,36,13v19,0,33,-7,43,-20v5,-7,10,-15,12,-23v2,-8,3,-20,4,-37r-77,0r0,-14r78,0v-2,-24,-8,-43,-18,-56v-10,-13,-24,-19,-41,-19v-15,0,-27,4,-36,13v-9,9,-15,22,-17,38r-16,0v6,-43,29,-65,69,-65v14,0,25,2,34,7v9,5,17,13,24,23v12,17,17,40,17,69v0,32,-6,56,-19,73v-13,17,-32,25,-57,25v-21,0,-37,-6,-48,-17v-11,-11,-18,-29,-21,-52r16,0"},"\u044d":{"d":"32,-65v3,19,9,33,17,42v8,9,20,13,36,13v19,0,33,-7,43,-20v5,-7,10,-15,12,-23v2,-8,3,-20,4,-37r-77,0r0,-14r78,0v-2,-24,-8,-43,-18,-56v-10,-13,-24,-19,-41,-19v-15,0,-27,4,-36,13v-9,9,-15,22,-17,38r-16,0v6,-43,29,-65,69,-65v14,0,25,2,34,7v9,5,17,13,24,23v12,17,17,40,17,69v0,32,-6,56,-19,73v-13,17,-32,25,-57,25v-21,0,-37,-6,-48,-17v-11,-11,-18,-29,-21,-52r16,0"},"\u00fb":{"d":"43,-189r0,72r36,0v13,0,24,3,33,7v9,4,16,11,21,19v5,8,8,18,8,30v0,17,-5,31,-14,42v-5,7,-12,12,-20,15v-8,3,-18,4,-30,4r-49,0r0,-189r15,0xm162,0r0,-189r16,0r0,189r-16,0xm43,-15r40,0v13,0,24,-4,31,-12v7,-8,11,-19,11,-33v0,-27,-14,-41,-43,-41r-39,0r0,86","w":205},"\u044b":{"d":"43,-189r0,72r36,0v13,0,24,3,33,7v9,4,16,11,21,19v5,8,8,18,8,30v0,17,-5,31,-14,42v-5,7,-12,12,-20,15v-8,3,-18,4,-30,4r-49,0r0,-189r15,0xm162,0r0,-189r16,0r0,189r-16,0xm43,-15r40,0v13,0,24,-4,31,-12v7,-8,11,-19,11,-33v0,-27,-14,-41,-43,-41r-39,0r0,86","w":205},"\u00ac":{"d":"1,-86r0,-17r180,0r0,74r-17,0r0,-57r-163,0"},"\u00ab":{"d":"65,-147r0,18r-45,34r45,35r0,18r-51,-39r0,-27xm130,-147r0,18r-45,34r45,35r0,18r-52,-39r0,-27","w":146},"\u00bb":{"d":"17,-147r51,39r0,27r-51,39r0,-18r45,-35r-45,-34r0,-18xm82,-147r51,39r0,27r-51,39r0,-18r44,-35r-44,-34r0,-18","w":146},"\u00a0":{"w":90},"\u00c9":{"d":"81,-298r14,0v4,16,15,24,35,24v19,0,30,-8,33,-24r15,0v-2,9,-4,15,-7,20v-8,12,-21,18,-40,18v-15,0,-27,-3,-35,-9v-4,-3,-7,-7,-9,-11v-2,-4,-5,-10,-6,-18xm35,0r0,-259r17,0r0,245r148,-245r24,0r0,259r-17,0r0,-243r-148,243r-24,0","w":258},"\u0419":{"d":"81,-298r14,0v4,16,15,24,35,24v19,0,30,-8,33,-24r15,0v-2,9,-4,15,-7,20v-8,12,-21,18,-40,18v-15,0,-27,-3,-35,-9v-4,-3,-7,-7,-9,-11v-2,-4,-5,-10,-6,-18xm35,0r0,-259r17,0r0,245r148,-245r24,0r0,259r-17,0r0,-243r-148,243r-24,0","w":258},"\u00ca":{"d":"35,0r0,-259r17,0r0,137r133,-137r22,0r-101,102r113,157r-21,0r-104,-145r-42,41r0,104r-17,0","w":223},"\u041a":{"d":"35,0r0,-259r17,0r0,137r133,-137r22,0r-101,102r113,157r-21,0r-104,-145r-42,41r0,104r-17,0","w":223},"\u00cb":{"d":"180,0r0,-243r-106,0r0,140v0,27,-1,46,-3,59v-2,13,-6,23,-12,30v-4,5,-9,9,-15,12v-6,3,-12,4,-19,4v-7,0,-14,-2,-23,-5r0,-16v9,3,16,5,22,5v12,0,20,-4,25,-13v2,-3,4,-7,5,-12v2,-12,3,-32,3,-59r0,-161r139,0r0,259r-16,0","w":231},"\u041b":{"d":"180,0r0,-243r-106,0r0,140v0,27,-1,46,-3,59v-2,13,-6,23,-12,30v-4,5,-9,9,-15,12v-6,3,-12,4,-19,4v-7,0,-14,-2,-23,-5r0,-16v9,3,16,5,22,5v12,0,20,-4,25,-13v2,-3,4,-7,5,-12v2,-12,3,-32,3,-59r0,-161r139,0r0,259r-16,0","w":231},"\u00ad":{"d":"0,-86r0,-17r180,0r0,17r-180,0"},"\u00a6":{"d":"24,-86r0,-17r312,0r0,17r-312,0","w":360},"\u00ba":{"d":"95,-210r-48,-49r23,0r37,49r-12,0xm145,-170r-98,170r-19,0r0,-189r15,0r0,172r99,-172r19,0r0,189r-16,0r0,-170","w":188},"\u0454":{"d":"95,-210r-48,-49r23,0r37,49r-12,0xm145,-170r-98,170r-19,0r0,-189r15,0r0,172r99,-172r19,0r0,189r-16,0r0,-170","w":188},"\u00aa":{"d":"127,-256r-42,-43r23,0r33,43r-14,0xm35,0r0,-259r17,0r0,245r148,-245r24,0r0,259r-17,0r0,-243r-148,243r-24,0","w":258},"\u0404":{"d":"127,-256r-42,-43r23,0r33,43r-14,0xm35,0r0,-259r17,0r0,245r148,-245r24,0r0,259r-17,0r0,-243r-148,243r-24,0","w":258},"\u00a4":{"d":"27,-248r36,36v6,-4,11,-7,15,-9v9,-5,20,-7,31,-7v6,0,10,1,14,2v9,2,20,6,32,14r37,-36r10,10r-36,36v4,6,6,11,8,15v5,9,7,20,7,32v0,6,0,10,-1,15v-2,9,-6,20,-14,31r36,36r-10,10r-37,-36v-4,3,-8,6,-14,9v-9,5,-20,7,-32,7v-6,0,-11,-1,-16,-2v-9,-2,-19,-6,-30,-14r-36,36r-10,-10r36,-36r-9,-15v-5,-9,-7,-19,-7,-31v0,-6,0,-11,1,-15v1,-6,3,-11,5,-15v2,-4,5,-10,10,-17r-36,-36xm109,-214v-10,0,-19,3,-28,8v-9,5,-16,12,-21,21v-5,9,-8,19,-8,29v0,10,2,20,7,29v5,9,12,16,21,21v9,5,19,8,29,8v10,0,20,-3,29,-8v9,-5,17,-12,22,-21v5,-9,7,-19,7,-29v0,-10,-2,-20,-7,-29v-5,-9,-13,-16,-22,-21v-9,-5,-19,-8,-29,-8","w":218},"\u00b9":{"d":"292,-179v14,0,25,4,33,13v8,9,11,21,11,37v0,10,-1,18,-5,25v-4,7,-8,13,-15,17v-7,4,-15,6,-24,6v-14,0,-25,-4,-33,-13v-8,-9,-11,-21,-11,-36v0,-10,1,-19,5,-26v4,-7,8,-13,15,-17v7,-4,15,-6,24,-6xm256,-28r0,-18r71,0r0,18r-71,0xm30,0r0,-259r25,0r147,241r0,-241r16,0r0,259r-24,0r-147,-239r0,239r-17,0xm292,-166v-9,0,-16,3,-21,9v-5,6,-8,16,-8,27v0,11,3,20,8,26v5,6,12,9,21,9v9,0,17,-4,22,-10v5,-6,8,-14,8,-25v0,-11,-3,-21,-8,-27v-5,-6,-13,-9,-22,-9","w":360},"\u2116":{"d":"292,-179v14,0,25,4,33,13v8,9,11,21,11,37v0,10,-1,18,-5,25v-4,7,-8,13,-15,17v-7,4,-15,6,-24,6v-14,0,-25,-4,-33,-13v-8,-9,-11,-21,-11,-36v0,-10,1,-19,5,-26v4,-7,8,-13,15,-17v7,-4,15,-6,24,-6xm256,-28r0,-18r71,0r0,18r-71,0xm30,0r0,-259r25,0r147,241r0,-241r16,0r0,259r-24,0r-147,-239r0,239r-17,0xm292,-166v-9,0,-16,3,-21,9v-5,6,-8,16,-8,27v0,11,3,20,8,26v5,6,12,9,21,9v9,0,17,-4,22,-10v5,-6,8,-14,8,-25v0,-11,-3,-21,-8,-27v-5,-6,-13,-9,-22,-9","w":360},"\u00b7":{"d":"32,-177r0,-14v5,-4,8,-7,9,-11v1,-4,2,-10,2,-19r0,-1r0,-5r-11,0r0,-32r24,0r0,43v0,13,-4,22,-10,29v-3,3,-7,7,-14,10xm86,-177r0,-14v4,-3,8,-7,9,-11v1,-4,3,-10,3,-18r0,-7r-12,0r0,-32r24,0r0,43v0,11,-2,19,-5,24v-3,5,-10,10,-19,15","w":142},"\u00cc":{"d":"35,0r0,-259r24,0r92,248r89,-248r24,0r0,259r-17,0r0,-242r-86,242r-22,0r-87,-242r0,242r-17,0","w":298},"\u041c":{"d":"35,0r0,-259r24,0r92,248r89,-248r24,0r0,259r-17,0r0,-242r-86,242r-22,0r-87,-242r0,242r-17,0","w":298},"\u00cd":{"d":"35,0r0,-259r17,0r0,115r155,0r0,-115r17,0r0,259r-17,0r0,-129r-155,0r0,129r-17,0","w":258},"\u041d":{"d":"35,0r0,-259r17,0r0,115r155,0r0,-115r17,0r0,259r-17,0r0,-129r-155,0r0,129r-17,0","w":258},"\u00cf":{"d":"35,0r0,-259r181,0r0,259r-17,0r0,-244r-147,0r0,244r-17,0","w":250},"\u041f":{"d":"35,0r0,-259r181,0r0,259r-17,0r0,-244r-147,0r0,244r-17,0","w":250},"\u00a8":{"d":"65,-269r0,-15r17,0r0,15r-17,0xm145,-269r0,-15r19,0r0,15r-19,0xm30,0r0,-259r146,0r0,15r-129,0r0,103r116,0r0,15r-116,0r0,111r133,0r0,15r-150,0","w":194},"\u0401":{"d":"65,-269r0,-15r17,0r0,15r-17,0xm145,-269r0,-15r19,0r0,15r-19,0xm30,0r0,-259r146,0r0,15r-129,0r0,103r116,0r0,15r-116,0r0,111r133,0r0,15r-150,0","w":194},"\u00d2":{"d":"83,0r0,-245r-80,0r0,-14r178,0r0,14r-81,0r0,245r-17,0","w":183},"\u0422":{"d":"83,0r0,-245r-80,0r0,-14r178,0r0,14r-81,0r0,245r-17,0","w":183},"\u00d3":{"d":"171,-259r17,0r-98,222v-4,10,-10,20,-17,28v-7,8,-16,12,-28,12v-6,0,-16,-2,-28,-6r0,-20v5,5,9,8,13,10v4,2,8,2,13,2v5,0,10,-1,14,-3v4,-2,8,-6,11,-12v5,-8,12,-24,22,-48r-90,-185r19,0r80,170","w":187},"\u0423":{"d":"171,-259r17,0r-98,222v-4,10,-10,20,-17,28v-7,8,-16,12,-28,12v-6,0,-16,-2,-28,-6r0,-20v5,5,9,8,13,10v4,2,8,2,13,2v5,0,10,-1,14,-3v4,-2,8,-6,11,-12v5,-8,12,-24,22,-48r-90,-185r19,0r80,170","w":187},"\u00d4":{"d":"142,29r0,-39v-14,0,-26,-1,-34,-3v-8,-2,-17,-5,-27,-9v-42,-19,-62,-54,-62,-106v0,-38,12,-68,36,-90v9,-8,18,-13,26,-17v8,-4,17,-6,25,-8v8,-2,21,-2,36,-3r0,-37r16,0r0,37v15,1,27,1,35,3v8,2,16,4,25,8v20,9,35,23,46,42v11,19,16,40,16,65v0,39,-11,68,-34,89v-8,8,-17,14,-28,19v-9,4,-17,7,-25,8v-8,1,-20,2,-35,2r0,39r-16,0xm158,-233r0,211v14,-1,25,-2,33,-4v8,-2,15,-4,23,-8v16,-8,28,-20,36,-36v8,-16,12,-34,12,-57v0,-31,-8,-55,-25,-74v-8,-8,-16,-15,-24,-20v-8,-5,-15,-7,-23,-9v-8,-2,-18,-2,-32,-3xm142,-233v-14,0,-25,1,-32,3v-7,2,-15,5,-24,10v-33,18,-50,49,-50,92v0,29,9,54,25,73v7,8,15,15,24,20v8,4,15,7,23,9v8,2,19,3,34,4r0,-211","w":299},"\u0424":{"d":"142,29r0,-39v-14,0,-26,-1,-34,-3v-8,-2,-17,-5,-27,-9v-42,-19,-62,-54,-62,-106v0,-38,12,-68,36,-90v9,-8,18,-13,26,-17v8,-4,17,-6,25,-8v8,-2,21,-2,36,-3r0,-37r16,0r0,37v15,1,27,1,35,3v8,2,16,4,25,8v20,9,35,23,46,42v11,19,16,40,16,65v0,39,-11,68,-34,89v-8,8,-17,14,-28,19v-9,4,-17,7,-25,8v-8,1,-20,2,-35,2r0,39r-16,0xm158,-233r0,211v14,-1,25,-2,33,-4v8,-2,15,-4,23,-8v16,-8,28,-20,36,-36v8,-16,12,-34,12,-57v0,-31,-8,-55,-25,-74v-8,-8,-16,-15,-24,-20v-8,-5,-15,-7,-23,-9v-8,-2,-18,-2,-32,-3xm142,-233v-14,0,-25,1,-32,3v-7,2,-15,5,-24,10v-33,18,-50,49,-50,92v0,29,9,54,25,73v7,8,15,15,24,20v8,4,15,7,23,9v8,2,19,3,34,4r0,-211","w":299},"\u00d6":{"d":"211,0r-176,0r0,-259r17,0r0,245r136,0r0,-245r16,0r0,245r26,0r0,69r-10,0","w":239},"\u0426":{"d":"211,0r-176,0r0,-259r17,0r0,245r136,0r0,-245r16,0r0,245r26,0r0,69r-10,0","w":239},"\u00d7":{"d":"151,0r-17,0r0,-115v-7,3,-12,6,-15,7v-14,5,-29,8,-44,8v-13,0,-24,-2,-32,-6v-8,-4,-14,-11,-18,-20v-4,-9,-6,-20,-6,-35r0,-98r17,0r0,81v0,22,2,38,6,47v5,11,18,16,38,16v7,0,13,-1,18,-2v12,-2,24,-5,36,-11r0,-131r17,0r0,259","w":185},"\u0427":{"d":"151,0r-17,0r0,-115v-7,3,-12,6,-15,7v-14,5,-29,8,-44,8v-13,0,-24,-2,-32,-6v-8,-4,-14,-11,-18,-20v-4,-9,-6,-20,-6,-35r0,-98r17,0r0,81v0,22,2,38,6,47v5,11,18,16,38,16v7,0,13,-1,18,-2v12,-2,24,-5,36,-11r0,-131r17,0r0,259","w":185},"\u00d8":{"d":"163,-14r0,-245r17,0r0,245r112,0r0,-245r17,0r0,259r-274,0r0,-259r17,0r0,245r111,0","w":336},"\u0428":{"d":"163,-14r0,-245r17,0r0,245r112,0r0,-245r17,0r0,259r-274,0r0,-259r17,0r0,245r111,0","w":336},"\u00d9":{"d":"163,-14r0,-245r17,0r0,245r112,0r0,-245r17,0r0,245r26,0r0,69r-10,0r-9,-55r-281,0r0,-259r17,0r0,245r111,0","w":344},"\u0429":{"d":"163,-14r0,-245r17,0r0,245r112,0r0,-245r17,0r0,245r26,0r0,69r-10,0r-9,-55r-281,0r0,-259r17,0r0,245r111,0","w":344},"\u00da":{"d":"1,-259r59,0r0,112r43,0v23,0,42,3,57,9v8,3,15,9,21,15v6,6,11,14,14,23v3,9,5,18,5,28v0,11,-2,23,-6,32v-4,9,-10,17,-18,23v-7,6,-16,10,-25,13v-9,3,-21,4,-36,4r-71,0r0,-244r-43,0r0,-15xm60,-131r0,116r61,0v11,0,20,-1,27,-4v7,-3,13,-7,19,-13v10,-11,16,-23,16,-40v0,-39,-24,-59,-72,-59r-51,0","w":212},"\u042a":{"d":"1,-259r59,0r0,112r43,0v23,0,42,3,57,9v8,3,15,9,21,15v6,6,11,14,14,23v3,9,5,18,5,28v0,11,-2,23,-6,32v-4,9,-10,17,-18,23v-7,6,-16,10,-25,13v-9,3,-21,4,-36,4r-71,0r0,-244r-43,0r0,-15xm60,-131r0,116r61,0v11,0,20,-1,27,-4v7,-3,13,-7,19,-13v10,-11,16,-23,16,-40v0,-39,-24,-59,-72,-59r-51,0","w":212},"\u00dc":{"d":"35,-259r17,0r0,112r42,0v23,0,42,3,57,9v8,3,15,9,21,15v6,6,11,14,14,23v3,9,5,18,5,28v0,24,-8,42,-24,55v-7,6,-16,10,-25,13v-9,3,-22,4,-36,4r-71,0r0,-259xm52,-131r0,116r60,0v11,0,20,-1,27,-4v7,-3,13,-7,19,-13v10,-10,15,-23,15,-40v0,-39,-23,-59,-71,-59r-50,0","w":203},"\u042c":{"d":"35,-259r17,0r0,112r42,0v23,0,42,3,57,9v8,3,15,9,21,15v6,6,11,14,14,23v3,9,5,18,5,28v0,24,-8,42,-24,55v-7,6,-16,10,-25,13v-9,3,-22,4,-36,4r-71,0r0,-259xm52,-131r0,116r60,0v11,0,20,-1,27,-4v7,-3,13,-7,19,-13v10,-10,15,-23,15,-40v0,-39,-23,-59,-71,-59r-50,0","w":203},"\u00de":{"d":"52,-129r0,129r-17,0r0,-259r17,0r0,115r42,0v2,-15,4,-27,6,-34v2,-7,4,-14,8,-22v8,-15,17,-29,29,-39v10,-9,22,-15,33,-19v11,-4,24,-6,39,-6v23,0,43,5,59,14v8,5,16,12,23,20v7,8,13,17,18,28v5,11,8,23,11,35v3,12,4,25,4,38v0,21,-3,40,-8,56v-5,16,-13,30,-23,42v-10,12,-23,20,-37,26v-14,6,-31,9,-49,9v-33,0,-59,-10,-79,-32v-11,-12,-19,-26,-24,-41v-5,-15,-9,-35,-11,-60r-41,0xm111,-128v0,23,4,44,12,62v8,18,20,32,35,42v15,10,31,15,50,15v15,0,28,-3,40,-9v12,-6,23,-14,32,-24v9,-10,14,-22,19,-37v5,-15,7,-31,7,-49v0,-18,-2,-35,-7,-50v-5,-15,-10,-28,-19,-39v-9,-11,-19,-18,-31,-24v-12,-6,-25,-9,-40,-9v-24,0,-46,9,-64,26v-10,10,-18,21,-23,32v-8,16,-11,38,-11,64","w":343},"\u042e":{"d":"52,-129r0,129r-17,0r0,-259r17,0r0,115r42,0v2,-15,4,-27,6,-34v2,-7,4,-14,8,-22v8,-15,17,-29,29,-39v10,-9,22,-15,33,-19v11,-4,24,-6,39,-6v23,0,43,5,59,14v8,5,16,12,23,20v7,8,13,17,18,28v5,11,8,23,11,35v3,12,4,25,4,38v0,21,-3,40,-8,56v-5,16,-13,30,-23,42v-10,12,-23,20,-37,26v-14,6,-31,9,-49,9v-33,0,-59,-10,-79,-32v-11,-12,-19,-26,-24,-41v-5,-15,-9,-35,-11,-60r-41,0xm111,-128v0,23,4,44,12,62v8,18,20,32,35,42v15,10,31,15,50,15v15,0,28,-3,40,-9v12,-6,23,-14,32,-24v9,-10,14,-22,19,-37v5,-15,7,-31,7,-49v0,-18,-2,-35,-7,-50v-5,-15,-10,-28,-19,-39v-9,-11,-19,-18,-31,-24v-12,-6,-25,-9,-40,-9v-24,0,-46,9,-64,26v-10,10,-18,21,-23,32v-8,16,-11,38,-11,64","w":343},"\u00df":{"d":"197,0r-17,0r0,-118r-66,0r-71,118r-19,0r75,-121v-8,-1,-14,-2,-19,-3v-5,-1,-9,-3,-13,-4v-4,-1,-7,-2,-10,-4v-9,-5,-18,-13,-23,-23v-5,-10,-8,-22,-8,-36v0,-13,3,-24,8,-34v5,-10,13,-17,23,-23v10,-6,22,-8,36,-9r27,-2r11,0r66,0r0,259xm180,-135r0,-109r-57,0v-25,0,-42,3,-53,7v-6,2,-10,5,-14,10v-4,5,-8,10,-10,16v-2,6,-4,14,-4,21v0,15,5,28,14,38v6,7,14,10,24,13v10,3,23,4,42,4r58,0","w":231},"\u042f":{"d":"197,0r-17,0r0,-118r-66,0r-71,118r-19,0r75,-121v-8,-1,-14,-2,-19,-3v-5,-1,-9,-3,-13,-4v-4,-1,-7,-2,-10,-4v-9,-5,-18,-13,-23,-23v-5,-10,-8,-22,-8,-36v0,-13,3,-24,8,-34v5,-10,13,-17,23,-23v10,-6,22,-8,36,-9r27,-2r11,0r66,0r0,259xm180,-135r0,-109r-57,0v-25,0,-42,3,-53,7v-6,2,-10,5,-14,10v-4,5,-8,10,-10,16v-2,6,-4,14,-4,21v0,15,5,28,14,38v6,7,14,10,24,13v10,3,23,4,42,4r58,0","w":231},"\u00bf":{"d":"41,-273r17,0r32,47r32,-47r17,0r-36,62r-26,0"},"\u0457":{"d":"41,-273r17,0r32,47r32,-47r17,0r-36,62r-26,0"}}});
/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * Eurotype
 */
Cufon.registerFont({"w":275,"face":{"font-family":"HebarExtraBlack","font-weight":400,"font-stretch":"normal","units-per-em":"360","panose-1":"2 11 114 0 0 0 0 0 0 0","ascent":"288","descent":"-72","x-height":"4","bbox":"-6 -335 522 90","underline-thickness":"12.1289","underline-position":"-8.52539","unicode-range":"U+0020-U+00FF"},"glyphs":{" ":{"w":118},"!":{"d":"30,0r0,-71r87,0r0,71r-87,0xm46,-93r-17,-101r0,-65r89,0r0,65r-18,101r-54,0","w":146},"\"":{"d":"12,-259r69,0r-7,115r-55,0xm100,-259r69,0r-7,115r-55,0","w":181},"#":{"d":"115,-258r51,0r-23,64r40,0r23,-64r50,0r-22,64r45,0r-18,47r-45,0r-13,38r46,0r-18,47r-44,0r-24,65r-50,0r23,-65r-40,0r-23,65r-51,0r23,-65r-45,0r17,-47r45,0r13,-38r-45,0r17,-47r45,0xm125,-147r-14,39r42,0r14,-39r-42,0","w":278},"$":{"d":"104,33r0,-32v-10,0,-19,-1,-27,-2v-18,-2,-34,-10,-46,-22v-6,-7,-11,-14,-14,-21v-4,-9,-7,-22,-8,-38r65,0v1,12,3,21,6,26v4,6,12,10,23,12r0,-58v-18,-5,-31,-9,-39,-12v-8,-3,-16,-7,-24,-12v-18,-12,-27,-29,-27,-52v0,-22,8,-40,23,-54v11,-10,24,-17,40,-20v9,-2,19,-3,31,-3r0,-23r28,0r0,23v11,0,19,1,23,2v7,1,15,3,23,7v8,4,14,8,19,13v6,5,11,12,15,20v4,8,6,20,8,34r-61,0v-2,-11,-4,-19,-8,-23v-4,-4,-11,-8,-20,-9r0,53v19,5,33,11,41,14v8,3,17,7,25,13v18,12,27,31,27,56v0,11,-2,21,-5,30v-3,9,-9,16,-15,22v-6,6,-13,11,-23,15v-7,3,-15,5,-22,6v-7,1,-18,1,-31,2r0,33r-27,0xm129,-44v12,-1,21,-3,26,-7v5,-4,8,-9,8,-17v0,-6,-1,-11,-6,-15v-5,-4,-14,-8,-28,-12r0,51xm108,-163r0,-48v-11,1,-19,2,-24,6v-5,4,-8,9,-8,16v0,6,2,12,7,16v4,3,12,6,25,10","w":236},"%":{"d":"8,-182v0,-14,4,-27,11,-39v7,-12,17,-21,29,-28v12,-7,24,-11,38,-11v14,0,27,4,39,11v12,7,22,17,29,29v7,12,11,25,11,39v0,14,-4,26,-11,38v-7,12,-17,22,-29,29v-12,7,-25,11,-39,11v-14,0,-27,-4,-39,-11v-12,-7,-21,-17,-28,-29v-7,-12,-11,-25,-11,-39xm93,7r145,-267r47,0r-144,267r-48,0xm215,-72v0,-14,3,-26,10,-38v7,-12,17,-21,29,-28v12,-7,24,-11,38,-11v14,0,27,3,39,10v12,7,22,17,29,29v7,12,10,25,10,39v0,14,-3,27,-10,39v-7,12,-17,21,-29,28v-12,7,-25,11,-39,11v-14,0,-27,-4,-39,-11v-12,-7,-21,-16,-28,-28v-7,-12,-10,-26,-10,-40xm57,-181v0,8,2,16,8,21v6,5,12,8,21,8v9,0,16,-3,22,-9v6,-6,8,-12,8,-21v0,-8,-2,-16,-8,-21v-6,-5,-13,-8,-22,-8v-9,0,-15,4,-21,9v-6,5,-8,12,-8,21xm263,-71v0,8,2,15,8,21v6,6,12,9,21,9v6,0,10,-1,15,-4v5,-3,8,-6,11,-11v3,-5,4,-10,4,-16v0,-8,-3,-15,-9,-20v-6,-5,-12,-8,-21,-8v-9,0,-16,3,-21,8v-5,5,-8,12,-8,21","w":378},"&":{"d":"216,0r-22,-23v-16,11,-30,18,-44,23v-15,5,-30,7,-46,7v-18,0,-34,-3,-47,-9v-13,-6,-23,-15,-30,-27v-7,-12,-10,-26,-10,-42v0,-22,7,-40,21,-54v3,-3,5,-6,8,-8v7,-6,16,-11,26,-16v-7,-6,-11,-12,-14,-16v-7,-10,-10,-22,-10,-35v0,-14,4,-25,11,-35v7,-10,17,-18,30,-23v13,-5,29,-8,47,-8v13,0,25,2,36,5v11,3,20,8,28,15v8,7,14,14,18,23v4,9,7,19,7,30v0,14,-4,25,-11,36v-1,2,-3,6,-7,10v-6,6,-14,13,-25,20r22,23r9,-9r9,-14r68,0v-7,14,-14,25,-20,34v-6,9,-14,19,-25,31r60,62r-89,0xm153,-65r-38,-39v-9,6,-16,10,-20,15v-4,5,-6,10,-6,16v0,6,3,12,8,16v5,4,12,6,20,6v5,0,11,-1,16,-3v5,-2,12,-5,20,-11xm136,-168v10,-4,18,-8,22,-13v4,-5,7,-10,7,-17v0,-7,-3,-12,-8,-16v-5,-4,-11,-6,-19,-6v-7,0,-14,2,-18,6v-4,4,-6,9,-6,15v0,5,2,11,5,15v3,4,9,10,17,16","w":304},"'":{"d":"21,-118r0,-33v13,-3,22,-7,27,-11v5,-4,7,-11,8,-22r-35,0r0,-75r76,0r0,76v0,21,-8,36,-24,48v-8,6,-17,10,-28,13v-5,1,-13,3,-24,4","w":118},"(":{"d":"138,-259v-7,22,-13,39,-17,53v-4,14,-6,27,-9,39v-3,12,-5,23,-6,34v-1,11,-1,22,-1,35v0,12,0,24,1,35v1,11,3,22,5,34v2,12,6,26,10,40v4,14,10,31,17,52r-75,0v-10,-26,-18,-47,-24,-65v-6,-18,-10,-34,-12,-48v-2,-14,-3,-29,-3,-45v0,-12,1,-24,2,-35v1,-11,3,-23,6,-35v3,-12,7,-26,12,-41v5,-15,11,-33,19,-53r75,0","w":160},")":{"d":"23,-259r75,0v10,27,18,49,23,66v5,17,10,33,12,48v2,15,3,30,3,47v0,17,-1,33,-3,48v-2,15,-7,30,-12,47v-5,17,-13,39,-23,66r-75,0v9,-26,15,-48,20,-66v5,-18,8,-34,10,-48v2,-14,3,-29,3,-46v0,-13,-1,-24,-2,-35v-1,-11,-3,-23,-5,-35v-2,-12,-6,-25,-10,-39v-4,-14,-9,-32,-16,-53","w":159},"*":{"d":"90,-155r-30,49r-36,-26r37,-43r-51,-12r13,-42r49,20r-3,-52r42,0r-3,51r49,-19r13,42r-51,11r37,44r-36,25","w":180},"+":{"d":"118,-215r61,0r0,80r81,0r0,58r-81,0r0,77r-61,0r0,-77r-81,0r0,-58r81,0r0,-80","w":297},",":{"d":"21,64r0,-33v9,-2,16,-5,21,-7v5,-2,8,-5,10,-9v2,-4,3,-11,4,-18r-35,0r0,-74r76,0r0,76v0,21,-8,36,-24,48v-8,6,-17,10,-28,13v-5,1,-13,3,-24,4","w":118},"-":{"d":"17,-63r0,-68r92,0r0,68r-92,0","w":125},".":{"d":"21,0r0,-77r76,0r0,77r-76,0","w":118},"\/":{"d":"68,33r-68,0r96,-303r69,0","w":163},"0":{"d":"16,-128v0,-31,4,-56,14,-74v5,-9,12,-18,20,-25v8,-7,17,-14,27,-19v10,-5,21,-9,34,-12v13,-3,26,-4,40,-4v21,0,40,3,57,9v17,6,30,14,42,26v12,12,21,26,27,43v6,17,9,37,9,58v0,44,-11,76,-33,98v-22,22,-56,32,-101,32v-45,0,-79,-11,-102,-33v-23,-22,-34,-55,-34,-99xm167,-129v0,-22,-1,-37,-3,-45v-2,-8,-7,-12,-13,-12v-7,0,-12,7,-15,23v-2,12,-3,25,-3,35v0,37,6,55,18,55v7,0,12,-5,14,-16v2,-9,2,-22,2,-40","w":300},"1":{"d":"66,0r0,-147r-56,0r0,-52v13,-1,23,-3,29,-4v6,-1,12,-2,17,-5v5,-3,10,-7,14,-12v5,-6,9,-16,13,-32r103,0r0,252r-120,0","w":204},"2":{"d":"10,0v1,-16,2,-28,5,-37v2,-7,6,-14,12,-22v8,-11,15,-18,22,-23v7,-5,20,-13,40,-23v22,-11,38,-22,48,-32v10,-10,16,-20,16,-30v0,-5,-2,-9,-4,-12v-2,-3,-5,-4,-9,-4v-6,0,-10,2,-13,7v-3,5,-4,12,-4,23r-109,0v0,-13,1,-23,2,-30v2,-11,5,-21,10,-30v9,-16,24,-27,44,-35v20,-8,45,-12,77,-12v19,0,36,2,51,6v15,4,28,9,39,16v11,7,18,16,24,26v6,10,8,22,8,35v0,18,-6,33,-17,46v-6,6,-10,11,-15,14v-5,3,-16,8,-32,15v-8,3,-16,6,-23,9v-7,3,-13,8,-18,12r95,0r0,81r-249,0","w":278},"3":{"d":"11,-92r111,0v2,12,7,18,16,18v4,0,6,-1,9,-4v3,-3,5,-5,5,-9v0,-2,-1,-6,-3,-8v-2,-2,-4,-3,-6,-4v-2,-1,-7,-1,-13,-1r-6,0r0,-65r2,0v9,0,15,-1,19,-3v4,-2,5,-4,5,-8v0,-3,-1,-5,-3,-7v-2,-2,-5,-4,-9,-4v-3,0,-6,1,-8,2v-2,1,-2,4,-3,8r-110,0v1,-8,1,-14,2,-18v2,-7,4,-14,8,-21v4,-7,8,-13,13,-18v21,-19,54,-28,99,-28v18,0,37,2,56,6v23,5,39,14,51,25v12,11,17,26,17,43v0,10,-1,18,-5,24v-4,6,-10,12,-18,16v-8,4,-19,7,-32,9r15,3v11,2,19,5,25,9v6,4,10,9,14,16v5,10,8,20,8,31v0,18,-5,33,-15,46v-10,13,-26,22,-46,29v-20,7,-43,9,-71,9v-34,0,-61,-5,-81,-14v-16,-7,-28,-18,-36,-32v-4,-6,-6,-13,-7,-20v-1,-7,-2,-17,-3,-30","w":282},"4":{"d":"127,0r0,-53r-122,0r0,-66r90,-133r145,0r0,123r30,0r0,76r-30,0r0,53r-113,0xm103,-129r25,0r0,-55","w":277},"5":{"d":"10,-70r115,-7v3,3,5,6,7,7v2,1,4,2,7,2v6,0,12,-3,15,-8v3,-5,5,-13,5,-22v0,-6,-1,-11,-4,-15v-3,-4,-6,-5,-11,-5v-3,0,-6,0,-8,1v-2,1,-3,4,-5,8r-111,-6r25,-140r209,0r0,69r-116,0r-7,28v8,-5,15,-8,20,-10v5,-2,12,-3,22,-3v21,0,40,4,55,10v15,6,26,15,34,28v8,13,12,28,12,46v0,31,-13,55,-40,72v-8,5,-15,8,-24,11v-9,3,-19,5,-30,6v-11,1,-23,2,-38,2v-22,0,-42,-1,-58,-4v-16,-3,-28,-8,-39,-15v-9,-6,-16,-14,-23,-25v-5,-7,-9,-18,-12,-30","w":286},"6":{"d":"124,-141v4,-5,7,-9,10,-12v3,-3,6,-5,11,-8v6,-4,12,-7,18,-8v6,-1,13,-2,22,-2v14,0,28,2,40,6v12,4,22,10,30,17v8,7,15,17,20,27v5,10,7,22,7,35v0,20,-6,36,-15,50v-9,14,-23,23,-42,30v-19,7,-41,11,-68,11v-47,0,-83,-11,-106,-33v-23,-22,-35,-55,-35,-99v0,-52,17,-90,51,-113v12,-8,24,-14,38,-17v14,-3,33,-5,55,-5v21,0,39,1,53,5v14,4,26,10,36,18v7,5,12,11,16,18v4,7,8,16,12,29r-111,3v-1,-13,-6,-20,-16,-20v-6,0,-11,3,-15,10v-4,6,-7,17,-9,34xm135,-86v0,5,1,9,4,12v3,3,6,5,11,5v5,0,9,-2,12,-5v3,-3,4,-7,4,-12v0,-5,-1,-10,-4,-13v-3,-3,-7,-5,-12,-5v-5,0,-8,2,-11,5v-3,3,-4,8,-4,13","w":293},"7":{"d":"44,0v2,-17,5,-33,8,-47v2,-11,5,-20,8,-28v3,-8,8,-18,14,-27v6,-9,14,-21,25,-34r29,-37r-123,0r0,-79r243,0r0,55v-15,18,-27,32,-34,42v-7,10,-13,23,-19,37v-7,17,-13,33,-16,49v-3,16,-5,39,-8,69r-127,0","w":255},"8":{"d":"75,-136v-9,-2,-16,-3,-20,-5v-4,-2,-10,-4,-15,-8v-8,-6,-14,-11,-17,-17v-3,-6,-4,-13,-4,-23v0,-19,7,-36,23,-48v10,-8,24,-14,39,-18v15,-4,34,-6,57,-6v42,0,75,6,97,18v22,12,34,29,34,52v0,19,-8,34,-25,44v-8,5,-19,8,-33,11v10,1,18,3,23,5v5,2,11,4,17,8v9,6,16,13,20,20v4,7,6,16,6,26v0,8,-2,17,-5,25v-3,8,-6,15,-11,21v-6,7,-15,13,-25,18v-12,6,-25,11,-39,14v-14,3,-31,3,-54,3v-28,0,-52,-2,-72,-8v-20,-6,-35,-15,-45,-26v-10,-11,-15,-25,-15,-41v0,-10,2,-19,6,-27v4,-8,11,-14,20,-21v9,-6,21,-11,38,-17xm129,-177r0,1v0,5,1,9,4,12v3,3,7,5,11,5v5,0,7,-2,10,-5v3,-3,4,-7,4,-12v0,-5,-1,-9,-4,-12v-3,-3,-6,-5,-10,-5v-4,0,-7,1,-10,4v-3,3,-5,7,-5,12xm126,-88v0,6,2,11,5,14v3,3,8,5,13,5v5,0,10,-2,13,-5v3,-3,5,-8,5,-14v0,-6,-2,-11,-5,-15v-3,-4,-8,-6,-13,-6v-5,0,-10,2,-13,6v-3,4,-5,8,-5,14r0,1","w":287},"9":{"d":"173,-117v-3,4,-3,4,-5,7v-2,3,-2,3,-4,5v-12,12,-29,18,-51,18v-19,0,-35,-3,-50,-10v-15,-7,-27,-17,-35,-29v-8,-12,-12,-26,-12,-42v0,-15,3,-29,8,-41v5,-12,14,-21,24,-29v10,-8,24,-14,39,-18v15,-4,33,-6,53,-6v35,0,64,6,86,18v11,6,21,15,30,26v6,8,11,16,15,25v4,9,6,18,8,29v2,11,3,23,3,37v0,17,-2,32,-6,45v-4,13,-9,26,-17,36v-8,10,-16,19,-28,27v-8,5,-17,11,-26,14v-9,3,-20,5,-31,7v-11,2,-24,3,-38,3v-20,0,-37,-2,-51,-6v-14,-4,-27,-9,-37,-17v-7,-5,-12,-11,-16,-18v-4,-7,-8,-17,-12,-30r111,-2v1,13,6,20,16,20v6,0,12,-4,16,-11v4,-6,6,-17,8,-34xm163,-171r0,-1v0,-5,-1,-9,-4,-12v-3,-3,-6,-4,-11,-4v-5,0,-9,2,-12,5v-3,3,-5,7,-5,13v0,5,2,9,5,12v3,3,6,5,11,5v5,0,8,-2,11,-5v3,-3,5,-8,5,-13","w":293},":":{"d":"25,0r0,-77r77,0r0,77r-77,0xm25,-114r0,-77r77,0r0,77r-77,0","w":126},";":{"d":"25,67r0,-34v9,-2,16,-4,21,-6v5,-2,8,-6,10,-10v2,-4,3,-10,4,-17r-35,0r0,-75r77,0r0,76v0,21,-9,36,-25,48v-8,6,-18,11,-28,14v-5,1,-13,3,-24,4xm25,-111r0,-78r77,0r0,78r-77,0","w":126},"<":{"d":"253,-218r0,58r-131,53r131,53r0,57r-207,-86r0,-49","w":299},"=":{"d":"45,-180r210,0r0,55r-210,0r0,-55xm45,-90r210,0r0,55r-210,0r0,-55","w":299},">":{"d":"46,2r0,-58r132,-53r-132,-52r0,-57r207,85r0,49","w":299},"?":{"d":"70,0r0,-71r124,0r0,71r-124,0xm74,-92r0,-12v0,-21,6,-35,17,-42r20,-12v1,-1,5,-3,11,-8v3,-2,6,-4,9,-7v5,-4,7,-9,7,-15v0,-3,-1,-5,-2,-7v-1,-2,-4,-3,-6,-3v-3,0,-5,1,-6,4v-1,3,-2,7,-3,15r-117,0v2,-17,5,-30,9,-38v5,-11,13,-20,23,-27v10,-7,23,-13,39,-16v16,-3,34,-5,56,-5v45,0,78,6,98,20v8,5,14,14,19,24v5,10,7,21,7,32v0,15,-4,27,-13,37v-7,8,-18,16,-31,23v-5,3,-9,5,-11,6v-2,1,-3,4,-5,7v-3,4,-5,10,-5,19r0,5r-116,0","w":265},"@":{"d":"203,-44v-8,9,-14,16,-20,19v-9,6,-20,8,-31,8v-20,0,-35,-5,-45,-16v-10,-11,-16,-26,-16,-46v0,-18,4,-35,12,-50v8,-15,19,-28,32,-37v13,-9,27,-14,42,-14v18,0,32,7,41,20r9,-15r42,0r-27,111v-1,2,-1,3,-1,4v0,6,3,9,8,9v7,0,15,-2,22,-7v7,-5,13,-10,19,-18v6,-8,11,-17,14,-27v3,-10,4,-21,4,-31v0,-13,-3,-26,-8,-37v-5,-11,-13,-22,-23,-30v-10,-8,-21,-14,-35,-18v-14,-4,-30,-7,-46,-7v-20,0,-39,3,-56,10v-17,7,-33,16,-46,28v-13,12,-23,26,-30,42v-7,16,-11,34,-11,53v0,17,3,33,9,47v6,14,15,25,26,35v11,10,24,18,40,23v16,5,33,8,52,8v10,0,20,-1,30,-2v9,-1,17,-3,24,-5v7,-2,14,-5,22,-9v8,-4,17,-10,29,-17r21,28v-13,9,-23,15,-30,19v-7,4,-15,8,-24,11v-10,4,-22,7,-35,9v-13,2,-25,3,-38,3v-24,0,-48,-4,-68,-11v-20,-7,-37,-17,-52,-30v-15,-13,-27,-30,-35,-48v-8,-18,-11,-37,-11,-59v0,-24,4,-48,13,-69v9,-21,22,-39,39,-55v17,-16,36,-27,59,-36v23,-9,48,-12,74,-12v22,0,41,3,60,9v19,6,35,15,48,27v13,12,24,25,31,41v7,16,11,32,11,51v0,16,-3,33,-8,47v-5,14,-13,27,-23,38v-10,11,-22,19,-35,25v-13,6,-27,9,-42,9v-11,0,-19,-2,-26,-7v-5,-3,-9,-11,-11,-21xm206,-121v-3,-17,-10,-25,-23,-25v-7,0,-15,3,-21,9v-6,6,-11,15,-15,25v-4,10,-6,22,-6,34v0,18,7,27,21,27v10,0,19,-4,26,-13v7,-8,11,-24,16,-47v1,-5,2,-7,2,-7r0,-3","w":360},"A":{"d":"-1,0r103,-263r108,0r103,263r-124,0r-8,-29r-53,0r-6,29r-123,0xm136,-95r34,0r-17,-93","w":311},"\u00c0":{"d":"-1,0r103,-263r108,0r103,263r-124,0r-8,-29r-53,0r-6,29r-123,0xm136,-95r34,0r-17,-93","w":311},"\u0410":{"d":"-1,0r103,-263r108,0r103,263r-124,0r-8,-29r-53,0r-6,29r-123,0xm136,-95r34,0r-17,-93","w":311},"B":{"d":"19,0r0,-259r146,0v24,0,44,0,57,2v13,2,25,5,35,9v10,4,18,11,24,21v6,10,9,22,9,35v0,11,-2,21,-6,28v-4,7,-11,12,-20,17v-5,3,-11,5,-16,6v-5,1,-13,2,-23,3v13,1,22,2,29,4v7,2,13,5,20,8v17,9,26,26,26,50v0,19,-6,36,-17,49v-6,7,-13,12,-21,16v-8,4,-19,6,-32,8v-13,2,-29,3,-48,3r-163,0xm139,-157r12,0v10,0,17,-2,20,-4v3,-2,5,-7,5,-14v0,-7,-1,-12,-5,-14v-4,-2,-11,-3,-22,-3r-10,0r0,35xm139,-68r17,0v11,0,18,-1,22,-4v4,-3,7,-8,7,-15v0,-8,-4,-14,-11,-16v-4,-1,-10,-2,-19,-2r-16,0r0,37","w":314},"C":{"d":"327,-113v0,11,-1,19,-2,24v-1,5,-2,13,-5,21v-16,50,-64,75,-145,75v-17,0,-31,-1,-44,-3v-13,-2,-24,-4,-34,-8v-10,-4,-20,-9,-30,-16v-12,-8,-21,-18,-29,-29v-8,-11,-13,-22,-17,-36v-4,-14,-5,-29,-5,-46v0,-28,7,-54,21,-75v9,-14,19,-25,32,-34v13,-9,28,-16,46,-20v18,-4,37,-6,60,-6v23,0,44,3,63,8v19,5,35,12,48,22v13,10,23,21,30,35v7,14,11,30,11,47r-124,1v-1,-16,-9,-24,-27,-24v-23,0,-34,16,-34,49v0,30,10,46,32,46v18,0,29,-11,31,-31r122,0","w":338},"\u00d1":{"d":"327,-113v0,11,-1,19,-2,24v-1,5,-2,13,-5,21v-16,50,-64,75,-145,75v-17,0,-31,-1,-44,-3v-13,-2,-24,-4,-34,-8v-10,-4,-20,-9,-30,-16v-12,-8,-21,-18,-29,-29v-8,-11,-13,-22,-17,-36v-4,-14,-5,-29,-5,-46v0,-28,7,-54,21,-75v9,-14,19,-25,32,-34v13,-9,28,-16,46,-20v18,-4,37,-6,60,-6v23,0,44,3,63,8v19,5,35,12,48,22v13,10,23,21,30,35v7,14,11,30,11,47r-124,1v-1,-16,-9,-24,-27,-24v-23,0,-34,16,-34,49v0,30,10,46,32,46v18,0,29,-11,31,-31r122,0","w":338},"\u0421":{"d":"327,-113v0,11,-1,19,-2,24v-1,5,-2,13,-5,21v-16,50,-64,75,-145,75v-17,0,-31,-1,-44,-3v-13,-2,-24,-4,-34,-8v-10,-4,-20,-9,-30,-16v-12,-8,-21,-18,-29,-29v-8,-11,-13,-22,-17,-36v-4,-14,-5,-29,-5,-46v0,-28,7,-54,21,-75v9,-14,19,-25,32,-34v13,-9,28,-16,46,-20v18,-4,37,-6,60,-6v23,0,44,3,63,8v19,5,35,12,48,22v13,10,23,21,30,35v7,14,11,30,11,47r-124,1v-1,-16,-9,-24,-27,-24v-23,0,-34,16,-34,49v0,30,10,46,32,46v18,0,29,-11,31,-31r122,0","w":338},"D":{"d":"19,0r0,-259r125,0v19,0,38,1,56,3v23,3,40,8,54,16v38,21,57,58,57,109v0,19,-2,35,-7,50v-5,15,-12,28,-21,39v-9,11,-20,19,-33,25v-10,4,-22,8,-36,11v-9,2,-17,3,-24,4v-7,1,-15,2,-24,2r-38,0r-109,0xm144,-75r9,0v7,0,12,-2,17,-7v5,-5,9,-10,12,-19v3,-9,5,-19,5,-30v0,-16,-3,-29,-9,-38v-6,-9,-13,-14,-23,-14r-11,0r0,108","w":327},"E":{"d":"19,0r0,-259r231,0r0,67r-106,0r0,27r87,0r0,67r-87,0r0,30r111,0r0,68r-236,0","w":272},"\u00c5":{"d":"19,0r0,-259r231,0r0,67r-106,0r0,27r87,0r0,67r-87,0r0,30r111,0r0,68r-236,0","w":272},"\u0415":{"d":"19,0r0,-259r231,0r0,67r-106,0r0,27r87,0r0,67r-87,0r0,30r111,0r0,68r-236,0","w":272},"F":{"d":"19,0r0,-259r225,0r0,81r-100,0r0,28r81,0r0,66r-81,0r0,84r-125,0","w":251},"G":{"d":"249,0r-7,-48v-7,18,-18,31,-32,40v-14,9,-32,13,-54,13v-25,0,-48,-4,-70,-14v-12,-6,-23,-12,-32,-19v-9,-7,-15,-16,-21,-26v-6,-10,-10,-22,-13,-34v-3,-12,-4,-27,-4,-43v0,-17,2,-32,5,-44v3,-12,9,-24,17,-35v7,-10,15,-17,24,-24v9,-7,19,-13,30,-18v11,-5,24,-8,38,-10v14,-2,29,-3,46,-3v21,0,39,1,55,5v16,4,30,9,42,17v14,9,25,20,33,34v5,9,9,22,12,41r-124,0v-2,-13,-9,-19,-20,-19v-10,0,-18,6,-24,17v-6,11,-9,26,-9,45v0,19,3,34,8,44v5,10,14,15,24,15v14,0,21,-7,24,-23r-31,0r0,-49r155,0r0,138r-72,0","w":335},"H":{"d":"19,0r0,-259r125,0r0,74r42,0r0,-74r125,0r0,259r-125,0r0,-86r-42,0r0,86r-125,0","w":330},"I":{"d":"19,0r0,-259r125,0r0,259r-125,0","w":163},"J":{"d":"3,-112r114,0r0,9v0,6,2,11,5,15v3,4,8,6,13,6v4,0,7,-1,10,-3v2,-2,4,-5,5,-8v1,-3,1,-8,1,-15r0,-151r125,0r0,174v0,9,-1,17,-3,25v-2,8,-5,15,-9,22v-4,7,-9,12,-15,17v-6,5,-12,9,-19,12v-23,10,-55,14,-98,14v-23,0,-42,-2,-58,-6v-16,-4,-31,-10,-43,-19v-8,-6,-15,-13,-19,-22v-4,-8,-7,-16,-8,-24v-1,-8,-2,-18,-2,-34r0,-6v0,0,1,-5,1,-6","w":292},"K":{"d":"19,0r0,-259r124,0r0,98r64,-98r144,0r-93,107r105,152r-158,0r-44,-103r-18,21r0,82r-124,0","w":365},"L":{"d":"19,0r0,-259r125,0r0,166r85,0r0,93r-210,0","w":233},"M":{"d":"144,0r-125,0r0,-259r201,0r32,154v0,0,0,3,2,9v2,6,5,20,8,43r1,0r3,-20r3,-19r4,-15r27,-152r199,0r0,259r-125,0r3,-166v0,-14,1,-30,2,-45r-2,0r-2,9v-2,10,-4,18,-6,25v-3,11,-2,12,-2,12r-30,165r-156,0r-32,-162v0,0,0,-5,-2,-13v0,-1,-1,-2,-2,-5v-1,-3,0,-6,-1,-8r-3,-14r-2,-9r-1,0r1,22r1,26","w":518},"N":{"d":"19,0r0,-259r188,0r43,209r2,0v-3,-26,-5,-52,-5,-75r0,-134r120,0r0,259r-186,0r-47,-213r-3,1v5,37,8,64,8,80r0,132r-120,0","w":385},"O":{"d":"16,-131v0,-28,6,-53,18,-73v12,-20,30,-36,54,-46v24,-10,53,-16,86,-16v34,0,62,5,86,16v24,11,42,26,54,46v12,20,19,45,19,74v0,14,-2,27,-5,40v-3,13,-7,24,-13,35v-6,11,-11,20,-19,27v-24,23,-66,35,-123,35v-24,0,-45,-2,-61,-6v-16,-4,-31,-12,-45,-22v-9,-7,-17,-14,-23,-21v-6,-7,-12,-15,-16,-24v-4,-9,-7,-19,-9,-30v-2,-11,-3,-22,-3,-35xm142,-128v0,30,10,46,32,46v11,0,19,-5,25,-13v6,-8,8,-20,8,-36v0,-15,-2,-27,-8,-35v-6,-8,-13,-11,-24,-11v-22,0,-33,16,-33,49","w":348},"\u00ce":{"d":"16,-131v0,-28,6,-53,18,-73v12,-20,30,-36,54,-46v24,-10,53,-16,86,-16v34,0,62,5,86,16v24,11,42,26,54,46v12,20,19,45,19,74v0,14,-2,27,-5,40v-3,13,-7,24,-13,35v-6,11,-11,20,-19,27v-24,23,-66,35,-123,35v-24,0,-45,-2,-61,-6v-16,-4,-31,-12,-45,-22v-9,-7,-17,-14,-23,-21v-6,-7,-12,-15,-16,-24v-4,-9,-7,-19,-9,-30v-2,-11,-3,-22,-3,-35xm142,-128v0,30,10,46,32,46v11,0,19,-5,25,-13v6,-8,8,-20,8,-36v0,-15,-2,-27,-8,-35v-6,-8,-13,-11,-24,-11v-22,0,-33,16,-33,49","w":348},"\u041e":{"d":"16,-131v0,-28,6,-53,18,-73v12,-20,30,-36,54,-46v24,-10,53,-16,86,-16v34,0,62,5,86,16v24,11,42,26,54,46v12,20,19,45,19,74v0,14,-2,27,-5,40v-3,13,-7,24,-13,35v-6,11,-11,20,-19,27v-24,23,-66,35,-123,35v-24,0,-45,-2,-61,-6v-16,-4,-31,-12,-45,-22v-9,-7,-17,-14,-23,-21v-6,-7,-12,-15,-16,-24v-4,-9,-7,-19,-9,-30v-2,-11,-3,-22,-3,-35xm142,-128v0,30,10,46,32,46v11,0,19,-5,25,-13v6,-8,8,-20,8,-36v0,-15,-2,-27,-8,-35v-6,-8,-13,-11,-24,-11v-22,0,-33,16,-33,49","w":348},"P":{"d":"19,0r0,-259r155,0v17,0,32,0,44,2v12,2,23,4,32,8v9,4,16,8,23,14v18,16,27,40,27,73v0,30,-9,53,-26,69v-17,16,-42,24,-74,24r-56,0r0,69r-125,0xm144,-137r17,0v11,0,18,-2,22,-5v4,-3,7,-8,7,-15v0,-4,-1,-7,-3,-10v-2,-3,-5,-5,-8,-6v-5,-1,-10,-2,-18,-2r-17,0r0,38","w":304},"\u00d0":{"d":"19,0r0,-259r155,0v17,0,32,0,44,2v12,2,23,4,32,8v9,4,16,8,23,14v18,16,27,40,27,73v0,30,-9,53,-26,69v-17,16,-42,24,-74,24r-56,0r0,69r-125,0xm144,-137r17,0v11,0,18,-2,22,-5v4,-3,7,-8,7,-15v0,-4,-1,-7,-3,-10v-2,-3,-5,-5,-8,-6v-5,-1,-10,-2,-18,-2r-17,0r0,38","w":304},"\u0420":{"d":"19,0r0,-259r155,0v17,0,32,0,44,2v12,2,23,4,32,8v9,4,16,8,23,14v18,16,27,40,27,73v0,30,-9,53,-26,69v-17,16,-42,24,-74,24r-56,0r0,69r-125,0xm144,-137r17,0v11,0,18,-2,22,-5v4,-3,7,-8,7,-15v0,-4,-1,-7,-3,-10v-2,-3,-5,-5,-8,-6v-5,-1,-10,-2,-18,-2r-17,0r0,38","w":304},"Q":{"d":"233,-4v-9,3,-8,3,-8,3v-16,5,-36,8,-59,8v-20,0,-39,-3,-55,-7v-16,-4,-31,-11,-44,-21v-18,-13,-31,-28,-39,-45v-8,-17,-12,-39,-12,-64v0,-22,3,-41,10,-58v7,-17,18,-31,31,-43v13,-12,29,-20,49,-26v20,-6,42,-9,68,-9v34,0,62,5,86,16v24,11,42,26,54,47v12,21,19,45,19,74v0,22,-4,43,-11,61v-3,8,-7,14,-10,19v-3,5,-9,10,-16,16r19,25r-54,43xm142,-128v0,30,10,46,32,46v11,0,19,-5,25,-13v6,-8,8,-20,8,-36v0,-15,-2,-27,-8,-35v-6,-8,-13,-11,-24,-11v-22,0,-33,16,-33,49","w":348},"R":{"d":"19,0r0,-259r172,0v24,0,42,2,55,5v13,3,24,9,32,17v14,13,21,31,21,52v0,23,-8,39,-25,50v-6,4,-13,6,-21,8v-8,2,-19,3,-34,4v16,2,27,4,35,6v8,2,15,4,20,7v7,4,13,10,18,19v5,9,7,18,8,28r1,36r0,10v0,4,2,6,7,7r0,10r-118,0v-5,-3,-7,-5,-9,-8v-2,-4,-3,-12,-3,-21r0,-34v0,-8,-2,-14,-5,-17v-3,-3,-9,-5,-17,-5r-13,0r0,85r-124,0xm143,-149r17,0v11,0,18,-1,22,-4v4,-3,7,-8,7,-15v0,-4,-1,-7,-3,-10v-2,-3,-4,-5,-7,-6v-4,-1,-11,-3,-19,-3r-17,0r0,38","w":321},"S":{"d":"12,-81r123,0v1,9,2,15,5,19v3,4,7,5,13,5v5,0,8,-2,11,-5v3,-3,5,-6,5,-10v0,-6,-2,-10,-6,-13v-5,-4,-20,-10,-45,-16r-45,-12v-13,-4,-24,-8,-32,-14v-8,-6,-15,-12,-19,-21v-4,-9,-5,-20,-5,-32v0,-13,2,-24,7,-35v5,-11,12,-21,20,-27v11,-8,24,-13,40,-17v16,-4,36,-6,60,-6v11,0,23,0,36,1v19,1,35,3,47,7v12,4,22,9,31,17v5,4,8,9,11,14v4,6,8,11,10,17v2,6,3,15,5,25r-120,0v0,-11,-5,-16,-13,-16v-3,0,-6,0,-8,3v-2,3,-3,6,-3,10v0,5,2,9,5,12v3,3,10,6,19,9v9,3,23,7,41,11v22,5,40,10,52,16v12,6,22,13,27,22v5,9,8,21,8,35v0,12,-3,24,-8,36v-5,12,-11,21,-19,27v-22,17,-58,25,-109,25v-25,0,-47,-2,-66,-6v-19,-4,-35,-9,-46,-17v-7,-5,-12,-11,-17,-19v-3,-5,-5,-9,-7,-13v-2,-4,-3,-7,-4,-12v-1,-5,-3,-11,-4,-20","w":303},"T":{"d":"58,0r0,-167r-55,0r0,-92r235,0r0,92r-55,0r0,167r-125,0","w":240},"U":{"d":"18,-259r125,0r0,141v0,28,7,42,22,42v7,0,12,-4,16,-11v4,-7,6,-17,6,-31r0,-141r124,0r0,166v0,13,-1,24,-4,34v-3,10,-8,19,-15,26v-7,7,-15,13,-25,18v-13,6,-28,12,-46,15v-18,3,-38,5,-59,5v-18,0,-34,-1,-49,-3v-15,-2,-28,-6,-40,-10v-12,-4,-21,-11,-29,-17v-8,-6,-14,-15,-19,-28v-5,-13,-7,-26,-7,-40r0,-166","w":329},"V":{"d":"0,-259r129,0r26,193r29,-193r121,0r-87,259r-131,0","w":304},"W":{"d":"62,0r-62,-259r105,0r30,205r31,-205r117,0r31,205r27,-205r103,0r-61,259r-131,0r-29,-202r-29,202r-132,0","w":444},"X":{"d":"0,0r89,-135r-81,-124r136,0r24,88r25,-88r130,0r-84,124r86,135r-138,0r-26,-94r-27,94r-134,0","w":325},"\u00d5":{"d":"0,0r89,-135r-81,-124r136,0r24,88r25,-88r130,0r-84,124r86,135r-138,0r-26,-94r-27,94r-134,0","w":325},"\u0425":{"d":"0,0r89,-135r-81,-124r136,0r24,88r25,-88r130,0r-84,124r86,135r-138,0r-26,-94r-27,94r-134,0","w":325},"Y":{"d":"95,0r0,-96r-95,-163r138,0r28,131r26,-131r127,0r-93,163r0,96r-131,0","w":318},"Z":{"d":"7,0r0,-62r90,-117r-86,0r0,-80r218,0r0,62r-80,121r87,0r0,76r-229,0","w":243},"[":{"d":"24,-270r126,0r0,55r-47,0r0,225r47,0r0,53r-126,0r0,-333","w":156},"\\":{"d":"95,33r-95,-303r56,0r96,303r-57,0","w":151},"]":{"d":"133,-270r0,333r-126,0r0,-53r47,0r0,-225r-47,0r0,-55r126,0","w":156},"^":{"d":"107,-290r98,0r77,100r-72,0r-55,-55r-54,55r-72,0","w":311},"_":{"d":"0,35r180,0r0,50r-180,0r0,-50","w":180},"`":{"d":"86,-270r76,0r34,65r-43,0","w":216},"a":{"d":"163,0v-3,-7,-5,-13,-5,-18v0,-4,1,-6,1,-8v-4,5,-10,9,-14,12v-7,4,-11,8,-14,9v-13,6,-29,9,-49,9v-15,0,-27,-3,-38,-7v-11,-4,-18,-10,-24,-19v-6,-9,-8,-19,-8,-31v0,-16,5,-29,15,-38v5,-4,12,-9,21,-12v9,-3,19,-5,31,-7r42,-7v14,-2,23,-4,27,-6v4,-2,6,-6,6,-12v0,-4,-1,-8,-3,-10v-2,-2,-5,-4,-9,-4v-8,0,-13,5,-14,16r-107,0v0,-5,1,-8,1,-9v1,-5,2,-10,5,-16v3,-6,6,-10,10,-13v8,-7,18,-13,31,-16v19,-5,43,-7,72,-7v11,0,26,1,44,2v28,2,47,8,58,17v12,10,19,29,19,57r0,87r0,14v0,0,1,5,2,7v1,2,4,3,6,5r0,5r-106,0xm153,-84r-8,3r-10,4v-5,1,-8,4,-11,7v-3,3,-4,7,-4,11v0,4,1,8,4,10v3,2,6,4,10,4v13,0,19,-11,19,-31r0,-8","w":281},"\u00e0":{"d":"163,0v-3,-7,-5,-13,-5,-18v0,-4,1,-6,1,-8v-4,5,-10,9,-14,12v-7,4,-11,8,-14,9v-13,6,-29,9,-49,9v-15,0,-27,-3,-38,-7v-11,-4,-18,-10,-24,-19v-6,-9,-8,-19,-8,-31v0,-16,5,-29,15,-38v5,-4,12,-9,21,-12v9,-3,19,-5,31,-7r42,-7v14,-2,23,-4,27,-6v4,-2,6,-6,6,-12v0,-4,-1,-8,-3,-10v-2,-2,-5,-4,-9,-4v-8,0,-13,5,-14,16r-107,0v0,-5,1,-8,1,-9v1,-5,2,-10,5,-16v3,-6,6,-10,10,-13v8,-7,18,-13,31,-16v19,-5,43,-7,72,-7v11,0,26,1,44,2v28,2,47,8,58,17v12,10,19,29,19,57r0,87r0,14v0,0,1,5,2,7v1,2,4,3,6,5r0,5r-106,0xm153,-84r-8,3r-10,4v-5,1,-8,4,-11,7v-3,3,-4,7,-4,11v0,4,1,8,4,10v3,2,6,4,10,4v13,0,19,-11,19,-31r0,-8","w":281},"\u0430":{"d":"163,0v-3,-7,-5,-13,-5,-18v0,-4,1,-6,1,-8v-4,5,-10,9,-14,12v-7,4,-11,8,-14,9v-13,6,-29,9,-49,9v-15,0,-27,-3,-38,-7v-11,-4,-18,-10,-24,-19v-6,-9,-8,-19,-8,-31v0,-16,5,-29,15,-38v5,-4,12,-9,21,-12v9,-3,19,-5,31,-7r42,-7v14,-2,23,-4,27,-6v4,-2,6,-6,6,-12v0,-4,-1,-8,-3,-10v-2,-2,-5,-4,-9,-4v-8,0,-13,5,-14,16r-107,0v0,-5,1,-8,1,-9v1,-5,2,-10,5,-16v3,-6,6,-10,10,-13v8,-7,18,-13,31,-16v19,-5,43,-7,72,-7v11,0,26,1,44,2v28,2,47,8,58,17v12,10,19,29,19,57r0,87r0,14v0,0,1,5,2,7v1,2,4,3,6,5r0,5r-106,0xm153,-84r-8,3r-10,4v-5,1,-8,4,-11,7v-3,3,-4,7,-4,11v0,4,1,8,4,10v3,2,6,4,10,4v13,0,19,-11,19,-31r0,-8","w":281},"b":{"d":"15,0r0,-259r106,0r0,92v4,-5,8,-9,11,-12v12,-9,28,-14,47,-14v13,0,25,2,36,7v11,5,20,11,28,20v8,9,13,20,17,32v4,12,6,26,6,41v0,19,-4,36,-12,51v-8,15,-18,27,-32,35v-14,8,-31,12,-49,12v-13,0,-25,-3,-36,-8v-6,-3,-10,-6,-14,-10v-4,-4,-8,-9,-13,-17r0,30r-95,0xm138,-59v7,0,11,-3,15,-9v4,-6,6,-15,6,-27v0,-22,-6,-33,-19,-33v-13,0,-20,11,-20,35v0,22,6,34,18,34"},"c":{"d":"153,-81r109,0v-1,5,-1,9,-2,13v-1,4,-3,10,-7,20v-2,5,-3,9,-5,12v-3,5,-8,11,-15,16v-7,5,-14,10,-21,13v-17,7,-42,11,-76,11v-34,0,-61,-5,-81,-15v-15,-7,-26,-18,-34,-33v-8,-15,-11,-33,-11,-53v0,-27,7,-49,23,-66v7,-7,14,-14,23,-18v9,-4,20,-8,33,-10v13,-2,28,-3,46,-3v22,0,41,2,55,4v14,2,27,7,36,12v9,6,17,13,23,24v4,6,6,12,8,18v2,6,2,15,3,26r-108,0v-1,-7,-2,-13,-3,-16v-2,-7,-6,-11,-13,-11v-6,0,-10,3,-13,10v-3,7,-4,18,-4,33v0,15,1,26,4,32v3,6,6,10,12,10v5,0,10,-3,13,-7v3,-4,4,-12,5,-22","w":270},"\u00f1":{"d":"153,-81r109,0v-1,5,-1,9,-2,13v-1,4,-3,10,-7,20v-2,5,-3,9,-5,12v-3,5,-8,11,-15,16v-7,5,-14,10,-21,13v-17,7,-42,11,-76,11v-34,0,-61,-5,-81,-15v-15,-7,-26,-18,-34,-33v-8,-15,-11,-33,-11,-53v0,-27,7,-49,23,-66v7,-7,14,-14,23,-18v9,-4,20,-8,33,-10v13,-2,28,-3,46,-3v22,0,41,2,55,4v14,2,27,7,36,12v9,6,17,13,23,24v4,6,6,12,8,18v2,6,2,15,3,26r-108,0v-1,-7,-2,-13,-3,-16v-2,-7,-6,-11,-13,-11v-6,0,-10,3,-13,10v-3,7,-4,18,-4,33v0,15,1,26,4,32v3,6,6,10,12,10v5,0,10,-3,13,-7v3,-4,4,-12,5,-22","w":270},"\u0441":{"d":"153,-81r109,0v-1,5,-1,9,-2,13v-1,4,-3,10,-7,20v-2,5,-3,9,-5,12v-3,5,-8,11,-15,16v-7,5,-14,10,-21,13v-17,7,-42,11,-76,11v-34,0,-61,-5,-81,-15v-15,-7,-26,-18,-34,-33v-8,-15,-11,-33,-11,-53v0,-27,7,-49,23,-66v7,-7,14,-14,23,-18v9,-4,20,-8,33,-10v13,-2,28,-3,46,-3v22,0,41,2,55,4v14,2,27,7,36,12v9,6,17,13,23,24v4,6,6,12,8,18v2,6,2,15,3,26r-108,0v-1,-7,-2,-13,-3,-16v-2,-7,-6,-11,-13,-11v-6,0,-10,3,-13,10v-3,7,-4,18,-4,33v0,15,1,26,4,32v3,6,6,10,12,10v5,0,10,-3,13,-7v3,-4,4,-12,5,-22","w":270},"d":{"d":"260,0r-94,0r0,-30v-3,4,-6,8,-8,11v-12,16,-31,23,-56,23v-14,0,-26,-1,-38,-6v-12,-5,-22,-12,-30,-20v-8,-8,-14,-19,-18,-31v-4,-12,-7,-26,-7,-41v0,-15,3,-29,7,-41v4,-12,10,-22,18,-31v8,-9,17,-15,28,-20v11,-5,24,-7,37,-7v8,0,16,1,23,3v6,2,12,4,17,7v5,3,10,9,16,16r0,-92r105,0r0,259xm138,-59v6,0,10,-3,13,-9v3,-6,5,-14,5,-25v0,-11,-2,-20,-5,-26v-3,-6,-9,-9,-15,-9v-13,0,-19,11,-19,34v0,23,7,35,21,35"},"e":{"d":"154,-64r105,0v-2,11,-3,20,-6,26v-3,6,-7,11,-14,17v-8,7,-16,12,-25,15v-20,7,-46,11,-79,11v-14,0,-27,0,-38,-2v-11,-2,-20,-4,-29,-7v-9,-3,-16,-8,-24,-13v-7,-5,-14,-11,-19,-19v-5,-8,-9,-16,-12,-25v-3,-9,-4,-20,-4,-30v0,-16,3,-31,9,-44v6,-13,14,-23,25,-32v11,-9,24,-15,40,-20v16,-5,35,-7,55,-7v55,0,93,16,113,48v5,8,8,15,10,23v2,6,3,11,3,16v0,5,1,14,1,26r-149,0r0,2v0,9,1,16,2,21v2,10,8,16,19,16v12,0,17,-6,17,-18r0,-4xm117,-118r42,0v0,-19,-7,-29,-21,-29v-14,0,-21,10,-21,28r0,1"},"\u00e5":{"d":"154,-64r105,0v-2,11,-3,20,-6,26v-3,6,-7,11,-14,17v-8,7,-16,12,-25,15v-20,7,-46,11,-79,11v-14,0,-27,0,-38,-2v-11,-2,-20,-4,-29,-7v-9,-3,-16,-8,-24,-13v-7,-5,-14,-11,-19,-19v-5,-8,-9,-16,-12,-25v-3,-9,-4,-20,-4,-30v0,-16,3,-31,9,-44v6,-13,14,-23,25,-32v11,-9,24,-15,40,-20v16,-5,35,-7,55,-7v55,0,93,16,113,48v5,8,8,15,10,23v2,6,3,11,3,16v0,5,1,14,1,26r-149,0r0,2v0,9,1,16,2,21v2,10,8,16,19,16v12,0,17,-6,17,-18r0,-4xm117,-118r42,0v0,-19,-7,-29,-21,-29v-14,0,-21,10,-21,28r0,1"},"\u0435":{"d":"154,-64r105,0v-2,11,-3,20,-6,26v-3,6,-7,11,-14,17v-8,7,-16,12,-25,15v-20,7,-46,11,-79,11v-14,0,-27,0,-38,-2v-11,-2,-20,-4,-29,-7v-9,-3,-16,-8,-24,-13v-7,-5,-14,-11,-19,-19v-5,-8,-9,-16,-12,-25v-3,-9,-4,-20,-4,-30v0,-16,3,-31,9,-44v6,-13,14,-23,25,-32v11,-9,24,-15,40,-20v16,-5,35,-7,55,-7v55,0,93,16,113,48v5,8,8,15,10,23v2,6,3,11,3,16v0,5,1,14,1,26r-149,0r0,2v0,9,1,16,2,21v2,10,8,16,19,16v12,0,17,-6,17,-18r0,-4xm117,-118r42,0v0,-19,-7,-29,-21,-29v-14,0,-21,10,-21,28r0,1"},"f":{"d":"26,0r0,-129r-23,0r0,-60r23,0r0,-6v0,-12,1,-21,2,-28v1,-7,4,-13,7,-19v4,-6,8,-11,13,-14v5,-3,13,-5,21,-7v8,-2,18,-2,31,-2r65,0r0,50r-7,0v-10,0,-16,1,-19,4v-3,3,-5,8,-6,17r0,5r32,0r0,60r-32,0r0,129r-107,0","w":172},"g":{"d":"22,13r99,0r0,4v0,6,1,10,3,13v2,3,5,4,10,4v5,0,8,-2,10,-5v1,-2,2,-5,3,-8v1,-5,2,-19,3,-42r1,-8v-4,7,-9,12,-14,15v-9,7,-22,10,-39,10v-18,0,-34,-4,-47,-11v-13,-7,-24,-17,-31,-31v-7,-14,-10,-30,-10,-49v0,-16,2,-29,6,-41v4,-12,9,-24,17,-32v8,-8,16,-15,27,-19v11,-4,23,-7,37,-7v13,0,24,2,33,6v5,2,10,7,14,11v4,4,9,10,14,19r0,-31r94,0r0,170v0,28,-6,49,-19,63v-20,22,-56,33,-107,33v-27,0,-47,-2,-63,-7v-16,-5,-26,-12,-33,-22v-3,-4,-5,-8,-6,-13v-1,-5,-2,-12,-2,-22xm109,-98v0,11,2,20,5,27v3,7,8,10,14,10v4,0,8,-2,11,-5v3,-3,4,-6,6,-12v2,-6,3,-12,3,-19v0,-10,-2,-18,-5,-24v-3,-6,-8,-9,-14,-9v-6,0,-11,3,-15,9v-4,6,-5,13,-5,23","w":266},"h":{"d":"14,0r0,-259r108,0r0,93v6,-6,10,-11,14,-14v4,-3,9,-6,15,-8v11,-4,23,-6,36,-6v10,0,19,1,28,4v9,3,17,6,22,10v8,7,14,16,17,28v3,12,5,30,5,53r0,99r-107,0r0,-85v0,-12,-1,-21,-3,-26v-2,-5,-7,-7,-12,-7v-5,0,-10,3,-12,8v-2,5,-3,14,-3,26r0,84r-108,0","w":272},"i":{"d":"15,0r0,-189r108,0r0,189r-108,0xm15,-208r0,-51r108,0r0,51r-108,0","w":138},"j":{"d":"134,-189r0,194v0,15,-2,27,-5,36v-3,9,-9,17,-16,23v-5,4,-13,8,-22,11v-9,3,-18,4,-28,4r-69,0r0,-64r9,0v9,0,15,-1,18,-5v3,-4,5,-10,5,-20r0,-179r108,0xm26,-208r0,-51r108,0r0,51r-108,0","w":149},"k":{"d":"15,0r0,-259r109,0r0,146r24,-76r117,0r-48,84r58,105r-123,0r-28,-97r0,97r-109,0","w":273},"l":{"d":"15,0r0,-259r108,0r0,259r-108,0","w":138},"m":{"d":"14,0r0,-189r101,0r0,36v8,-13,14,-21,20,-26v11,-9,27,-14,46,-14v9,0,19,2,27,4v8,2,14,5,19,9v5,4,12,14,20,29v5,-8,9,-15,12,-19v3,-4,7,-8,11,-11v11,-8,26,-12,45,-12v15,0,28,2,37,6v9,4,17,10,24,19v9,11,14,24,14,38r0,130r-106,0r0,-93v0,-17,-5,-25,-14,-25v-10,0,-15,9,-15,26r0,92r-106,0r0,-90v0,-18,-5,-28,-14,-28v-10,0,-14,8,-14,25r0,93r-107,0","w":402},"n":{"d":"14,0r0,-189r101,0r0,35v10,-14,19,-23,27,-28v11,-7,25,-10,43,-10v21,0,37,4,49,14v6,5,11,11,15,18v4,7,6,15,8,25v2,10,2,22,2,36r0,99r-107,0r0,-89v0,-10,-1,-19,-3,-23v-2,-4,-6,-6,-11,-6v-6,0,-11,2,-13,7v-2,5,-3,12,-3,22r0,89r-108,0","w":272},"o":{"d":"10,-96v0,-21,5,-38,15,-53v10,-15,25,-25,44,-33v19,-8,42,-12,69,-12v20,0,38,3,54,7v16,4,28,10,39,19v11,9,19,20,25,32v6,12,8,26,8,42v0,34,-13,59,-38,77v-11,8,-22,14,-36,17v-14,3,-32,4,-54,4v-84,0,-126,-33,-126,-100xm117,-96r0,2v0,10,2,19,6,25v4,6,8,9,14,9v6,0,11,-3,14,-10v3,-7,5,-16,5,-27v0,-10,-2,-18,-5,-24v-3,-6,-8,-10,-14,-10v-6,0,-10,4,-14,10v-4,6,-6,14,-6,25","w":273},"\u00ee":{"d":"10,-96v0,-21,5,-38,15,-53v10,-15,25,-25,44,-33v19,-8,42,-12,69,-12v20,0,38,3,54,7v16,4,28,10,39,19v11,9,19,20,25,32v6,12,8,26,8,42v0,34,-13,59,-38,77v-11,8,-22,14,-36,17v-14,3,-32,4,-54,4v-84,0,-126,-33,-126,-100xm117,-96r0,2v0,10,2,19,6,25v4,6,8,9,14,9v6,0,11,-3,14,-10v3,-7,5,-16,5,-27v0,-10,-2,-18,-5,-24v-3,-6,-8,-10,-14,-10v-6,0,-10,4,-14,10v-4,6,-6,14,-6,25","w":273},"\u043e":{"d":"10,-96v0,-21,5,-38,15,-53v10,-15,25,-25,44,-33v19,-8,42,-12,69,-12v20,0,38,3,54,7v16,4,28,10,39,19v11,9,19,20,25,32v6,12,8,26,8,42v0,34,-13,59,-38,77v-11,8,-22,14,-36,17v-14,3,-32,4,-54,4v-84,0,-126,-33,-126,-100xm117,-96r0,2v0,10,2,19,6,25v4,6,8,9,14,9v6,0,11,-3,14,-10v3,-7,5,-16,5,-27v0,-10,-2,-18,-5,-24v-3,-6,-8,-10,-14,-10v-6,0,-10,4,-14,10v-4,6,-6,14,-6,25","w":273},"p":{"d":"15,-189r99,0r0,31v3,-7,6,-11,9,-14v3,-3,6,-7,11,-10v6,-4,12,-7,18,-9v6,-2,15,-3,24,-3v19,0,35,4,49,12v14,8,23,18,30,33v7,15,11,32,11,53v0,20,-3,38,-10,53v-7,15,-17,27,-30,35v-13,8,-28,13,-46,13v-10,0,-19,-2,-29,-5v-7,-3,-13,-5,-17,-9v-4,-4,-8,-9,-13,-17r0,97r-106,0r0,-260xm139,-130v-13,0,-19,11,-19,34v0,24,7,36,20,36v13,0,19,-12,19,-35v0,-23,-7,-35,-20,-35"},"\u00f0":{"d":"15,-189r99,0r0,31v3,-7,6,-11,9,-14v3,-3,6,-7,11,-10v6,-4,12,-7,18,-9v6,-2,15,-3,24,-3v19,0,35,4,49,12v14,8,23,18,30,33v7,15,11,32,11,53v0,20,-3,38,-10,53v-7,15,-17,27,-30,35v-13,8,-28,13,-46,13v-10,0,-19,-2,-29,-5v-7,-3,-13,-5,-17,-9v-4,-4,-8,-9,-13,-17r0,97r-106,0r0,-260xm139,-130v-13,0,-19,11,-19,34v0,24,7,36,20,36v13,0,19,-12,19,-35v0,-23,-7,-35,-20,-35"},"\u0440":{"d":"15,-189r99,0r0,31v3,-7,6,-11,9,-14v3,-3,6,-7,11,-10v6,-4,12,-7,18,-9v6,-2,15,-3,24,-3v19,0,35,4,49,12v14,8,23,18,30,33v7,15,11,32,11,53v0,20,-3,38,-10,53v-7,15,-17,27,-30,35v-13,8,-28,13,-46,13v-10,0,-19,-2,-29,-5v-7,-3,-13,-5,-17,-9v-4,-4,-8,-9,-13,-17r0,97r-106,0r0,-260xm139,-130v-13,0,-19,11,-19,34v0,24,7,36,20,36v13,0,19,-12,19,-35v0,-23,-7,-35,-20,-35"},"q":{"d":"260,-189r0,260r-105,0r0,-92v-5,6,-12,11,-17,15v-5,4,-11,6,-17,8v-6,2,-14,3,-22,3v-13,0,-26,-2,-37,-7v-11,-5,-20,-11,-28,-20v-8,-9,-14,-20,-18,-32v-4,-12,-7,-26,-7,-41v0,-19,4,-37,12,-52v8,-15,19,-26,33,-34v14,-8,30,-13,48,-13v18,0,32,5,43,14v5,4,11,10,17,19r0,-28r98,0xm138,-130v-14,0,-21,12,-21,36v0,22,6,34,19,34v13,0,20,-13,20,-38v0,-21,-6,-32,-18,-32"},"r":{"d":"14,0r0,-189r102,0r0,46v3,-9,6,-15,8,-20v2,-5,6,-9,10,-14v9,-11,20,-17,34,-17v5,0,9,1,14,3r0,81v-8,-1,-14,-1,-18,-1v-28,0,-42,14,-42,42r0,69r-108,0","w":186},"s":{"d":"10,-60r105,0v1,7,2,12,4,15v2,3,6,5,11,5v3,0,5,-2,7,-4v2,-2,3,-5,3,-9v0,-4,-1,-7,-4,-10v-4,-3,-12,-6,-24,-9v-24,-6,-40,-11,-48,-13v-9,-2,-18,-7,-28,-12v-8,-4,-13,-8,-16,-14v-3,-6,-5,-14,-5,-24v0,-20,10,-34,29,-44v19,-10,48,-15,88,-15v37,0,64,4,81,13v7,4,13,9,19,17v3,4,5,8,6,11v1,3,2,9,2,15r-100,0v-2,-10,-5,-15,-11,-15v-3,0,-5,1,-7,3v-2,2,-2,5,-2,8v0,3,1,5,2,7v1,2,5,3,9,5v4,2,11,4,20,7v9,3,21,6,35,10v23,6,39,12,48,20v9,8,13,18,13,32v0,11,-2,21,-7,29v-5,8,-13,16,-23,21v-10,5,-23,8,-38,11v-15,3,-33,4,-55,4v-36,0,-66,-5,-86,-16v-8,-4,-14,-9,-19,-16v-3,-4,-5,-9,-6,-13v-1,-4,-2,-11,-3,-19","w":256},"t":{"d":"172,-73r0,64v-23,8,-47,12,-71,12v-21,0,-37,-2,-48,-6v-16,-6,-24,-23,-24,-49r0,-86r-26,0r0,-51r26,0r0,-61r107,0r0,61r36,0r0,51r-36,0r0,52v0,12,7,17,21,17v5,0,9,-2,15,-4","w":182},"u":{"d":"258,-189r0,189r-97,0r0,-34v-4,8,-8,15,-12,19v-4,4,-10,7,-17,11v-12,6,-24,9,-38,9v-11,0,-23,-2,-34,-5v-11,-3,-19,-8,-26,-14v-6,-5,-10,-13,-14,-22v-4,-12,-7,-27,-7,-49r0,-7r0,-97r107,0r0,96v0,11,1,19,3,23v2,4,6,7,11,7v11,0,17,-10,17,-30r0,-96r107,0","w":272},"v":{"d":"64,0r-66,-189r116,0r21,144r20,-144r104,0r-62,189r-133,0","w":257},"w":{"d":"62,0r-63,-189r111,0r16,151r18,-151r134,0r15,151r19,-151r96,0r-60,189r-125,0r-16,-160r-15,160r-130,0","w":406},"x":{"d":"0,0r67,-100r-62,-89r115,0r19,67r13,-67r107,0r-64,88r66,101r-112,0r-26,-78r-12,78r-111,0","w":261},"\u00f5":{"d":"0,0r67,-100r-62,-89r115,0r19,67r13,-67r107,0r-64,88r66,101r-112,0r-26,-78r-12,78r-111,0","w":261},"\u0445":{"d":"0,0r67,-100r-62,-89r115,0r19,67r13,-67r107,0r-64,88r66,101r-112,0r-26,-78r-12,78r-111,0","w":261},"y":{"d":"25,70r0,-62v4,0,7,1,8,1v8,1,13,2,14,2v6,0,11,-2,15,-5v4,-3,6,-8,6,-14v0,-6,-1,-11,-4,-18r-64,-163r109,0r21,147r22,-147r101,0r-62,188v-3,10,-9,21,-16,35v-5,9,-9,15,-13,19v-4,4,-8,8,-15,11v-6,3,-12,5,-18,7v-6,2,-14,3,-22,4v-8,1,-19,2,-29,2v-10,0,-17,-1,-22,-1v-5,0,-10,-1,-14,-2v-4,-1,-10,-2,-17,-4","w":250},"z":{"d":"4,0r0,-52r82,-76r-75,0r0,-61r201,0r0,51r-72,78r76,0r0,60r-212,0","w":219},"{":{"d":"167,-260r0,50r-9,0v-9,0,-16,2,-19,6v-3,4,-5,12,-5,22r0,42v0,10,-1,18,-3,23v-2,5,-6,9,-11,13v-3,3,-7,5,-12,6v-5,1,-11,3,-20,4v15,3,26,7,33,11v9,7,13,18,13,36r0,43v0,7,1,12,2,16v1,4,3,7,7,8v4,1,9,2,16,2r8,0r0,50v-7,0,-15,1,-24,1v-7,0,-18,-1,-33,-1v-15,-1,-26,-3,-33,-5v-10,-3,-17,-9,-21,-18v-3,-6,-4,-17,-4,-32r0,-45v0,-15,-2,-25,-8,-31v-6,-6,-16,-9,-29,-9r-5,0r0,-50v11,0,19,-1,25,-3v12,-5,17,-17,17,-37r0,-46v0,-12,0,-21,2,-27v2,-6,5,-12,9,-16v6,-5,16,-9,29,-11v10,-1,26,-2,48,-2r15,0r12,0","w":176},"|":{"d":"65,-271r50,0r0,361r-50,0r0,-361","w":180},"}":{"d":"10,-260r11,0r21,0v15,0,27,0,35,1v9,0,19,3,28,7v7,4,13,9,16,16v3,7,4,18,4,32r0,46v0,15,3,26,9,32v3,3,7,5,12,6v5,1,12,2,21,2r0,50v-12,0,-20,1,-25,3v-11,4,-17,17,-17,37r0,45v0,14,-1,24,-4,31v-3,7,-7,12,-14,16v-5,3,-13,6,-23,7v-11,1,-25,2,-42,2r-23,0r-9,-1r0,-49r4,0v8,0,15,-1,19,-2v4,-1,6,-4,8,-8v2,-4,2,-9,2,-17r0,-43v0,-10,1,-18,3,-23v2,-5,4,-10,9,-13v4,-4,13,-7,26,-10v-12,-3,-21,-6,-26,-10v-8,-6,-12,-19,-12,-37r0,-42v0,-11,-2,-19,-6,-23v-2,-2,-4,-3,-7,-4v-3,-1,-9,-1,-16,-1r-4,0r0,-50","w":176},"~":{"d":"269,-295r0,77v-15,9,-27,16,-36,19v-9,3,-17,5,-27,5v-7,0,-14,-2,-20,-3v-6,-1,-19,-4,-37,-10v-19,-6,-34,-10,-47,-10v-3,0,-7,1,-12,1v-9,1,-17,4,-25,8v-8,4,-20,10,-34,19r0,-77v8,-5,17,-9,25,-13v16,-8,32,-11,49,-11v13,0,28,2,47,8v14,4,14,5,19,7v5,2,5,1,9,2v9,3,18,5,27,5v9,0,19,-2,27,-6v8,-4,20,-11,35,-21","w":299},"\u00c1":{"d":"266,-187r-127,0r0,22r66,0v15,0,28,2,40,5v12,3,23,7,30,13v8,6,14,14,18,25v4,11,7,25,7,39v0,25,-7,43,-19,56v-6,7,-15,12,-25,17v-9,4,-18,7,-29,8v-11,1,-25,2,-45,2r-163,0r0,-259r246,0xm139,-72r17,0v10,0,18,-1,22,-4v4,-3,7,-8,7,-15v0,-8,-4,-14,-11,-17v-4,-1,-11,-1,-19,-1r-16,0r0,37","w":311},"\u0411":{"d":"266,-187r-127,0r0,22r66,0v15,0,28,2,40,5v12,3,23,7,30,13v8,6,14,14,18,25v4,11,7,25,7,39v0,25,-7,43,-19,56v-6,7,-15,12,-25,17v-9,4,-18,7,-29,8v-11,1,-25,2,-45,2r-163,0r0,-259r246,0xm139,-72r17,0v10,0,18,-1,22,-4v4,-3,7,-8,7,-15v0,-8,-4,-14,-11,-17v-4,-1,-11,-1,-19,-1r-16,0r0,37","w":311},"\u00c2":{"d":"19,0r0,-259r146,0v24,0,44,0,57,2v13,2,25,5,35,9v10,4,18,11,24,21v6,10,9,22,9,35v0,11,-2,21,-6,28v-4,7,-11,12,-20,17v-5,3,-11,5,-16,6v-5,1,-13,2,-23,3v13,1,22,2,29,4v7,2,13,5,20,8v17,9,26,26,26,50v0,19,-6,36,-17,49v-6,7,-13,12,-21,16v-8,4,-19,6,-32,8v-13,2,-29,3,-48,3r-163,0xm139,-157r12,0v10,0,17,-2,20,-4v3,-2,5,-7,5,-14v0,-7,-1,-12,-5,-14v-4,-2,-11,-3,-22,-3r-10,0r0,35xm139,-68r17,0v11,0,18,-1,22,-4v4,-3,7,-8,7,-15v0,-8,-4,-14,-11,-16v-4,-1,-10,-2,-19,-2r-16,0r0,37","w":314},"\u0412":{"d":"19,0r0,-259r146,0v24,0,44,0,57,2v13,2,25,5,35,9v10,4,18,11,24,21v6,10,9,22,9,35v0,11,-2,21,-6,28v-4,7,-11,12,-20,17v-5,3,-11,5,-16,6v-5,1,-13,2,-23,3v13,1,22,2,29,4v7,2,13,5,20,8v17,9,26,26,26,50v0,19,-6,36,-17,49v-6,7,-13,12,-21,16v-8,4,-19,6,-32,8v-13,2,-29,3,-48,3r-163,0xm139,-157r12,0v10,0,17,-2,20,-4v3,-2,5,-7,5,-14v0,-7,-1,-12,-5,-14v-4,-2,-11,-3,-22,-3r-10,0r0,35xm139,-68r17,0v11,0,18,-1,22,-4v4,-3,7,-8,7,-15v0,-8,-4,-14,-11,-16v-4,-1,-10,-2,-19,-2r-16,0r0,37","w":314},"\u00c3":{"d":"19,0r0,-259r202,0r0,89r-77,0r0,170r-125,0","w":223},"\u0413":{"d":"19,0r0,-259r202,0r0,89r-77,0r0,170r-125,0","w":223},"\u00c4":{"d":"5,-68r14,-1v6,0,11,-3,16,-6v6,-4,10,-8,12,-13v2,-5,3,-12,3,-22r0,-149r265,0r0,191r25,0r0,123r-65,0r-14,-55r-178,0r-13,55r-65,0r0,-123xm125,-78r75,0r0,-88r-42,0r0,36v0,16,-2,27,-7,34v-4,5,-13,11,-26,18","w":344},"\u0414":{"d":"5,-68r14,-1v6,0,11,-3,16,-6v6,-4,10,-8,12,-13v2,-5,3,-12,3,-22r0,-149r265,0r0,191r25,0r0,123r-65,0r-14,-55r-178,0r-13,55r-65,0r0,-123xm125,-78r75,0r0,-88r-42,0r0,36v0,16,-2,27,-7,34v-4,5,-13,11,-26,18","w":344},"\u00c6":{"d":"199,0r0,-120r-58,120r-141,0r92,-146r-80,-113r137,0r50,103r0,-103r120,0r0,103r51,-103r137,0r-80,113r92,146r-141,0r-58,-120r-1,120r-120,0","w":519},"\u0416":{"d":"199,0r0,-120r-58,120r-141,0r92,-146r-80,-113r137,0r50,103r0,-103r120,0r0,103r51,-103r137,0r-80,113r92,146r-141,0r-58,-120r-1,120r-120,0","w":519},"\u00c7":{"d":"122,-87v1,10,3,17,6,21v3,4,9,6,16,6v14,0,21,-9,21,-25v0,-14,-6,-21,-17,-21r-26,0r0,-52r19,0v13,0,20,-9,20,-28v0,-12,-5,-19,-14,-19v-6,0,-10,2,-12,6v-2,4,-4,11,-5,22r-113,0v2,-22,7,-40,16,-53v9,-13,23,-21,42,-27v19,-6,44,-8,76,-8v22,0,39,1,54,4v15,3,27,6,37,12v9,5,17,13,22,23v5,10,8,21,8,33v0,22,-9,37,-27,45v-9,4,-22,8,-39,10v4,1,7,1,10,1v3,0,5,1,6,1v12,2,21,4,27,6v6,2,11,6,16,11v11,11,17,24,17,42v0,19,-7,35,-19,49v-6,7,-14,13,-23,18v-11,6,-23,11,-36,13v-13,2,-29,3,-49,3v-43,0,-76,-5,-100,-14v-11,-4,-19,-10,-26,-18v-4,-5,-8,-10,-10,-15v-2,-5,-4,-11,-5,-18v-1,-7,-2,-16,-3,-28r111,0","w":295},"\u0417":{"d":"122,-87v1,10,3,17,6,21v3,4,9,6,16,6v14,0,21,-9,21,-25v0,-14,-6,-21,-17,-21r-26,0r0,-52r19,0v13,0,20,-9,20,-28v0,-12,-5,-19,-14,-19v-6,0,-10,2,-12,6v-2,4,-4,11,-5,22r-113,0v2,-22,7,-40,16,-53v9,-13,23,-21,42,-27v19,-6,44,-8,76,-8v22,0,39,1,54,4v15,3,27,6,37,12v9,5,17,13,22,23v5,10,8,21,8,33v0,22,-9,37,-27,45v-9,4,-22,8,-39,10v4,1,7,1,10,1v3,0,5,1,6,1v12,2,21,4,27,6v6,2,11,6,16,11v11,11,17,24,17,42v0,19,-7,35,-19,49v-6,7,-14,13,-23,18v-11,6,-23,11,-36,13v-13,2,-29,3,-49,3v-43,0,-76,-5,-100,-14v-11,-4,-19,-10,-26,-18v-4,-5,-8,-10,-10,-15v-2,-5,-4,-11,-5,-18v-1,-7,-2,-16,-3,-28r111,0","w":295},"\u00c8":{"d":"19,0r0,-259r125,0r-3,187r2,0r43,-187r149,0r0,259r-125,0r3,-199r-1,0r-44,199r-149,0","w":354},"\u0418":{"d":"19,0r0,-259r125,0r-3,187r2,0r43,-187r149,0r0,259r-125,0r3,-199r-1,0r-44,199r-149,0","w":354},"\u00ef":{"d":"123,-114r0,114r-108,0r0,-189r245,0r0,189r-108,0r0,-114r-29,0"},"\u043f":{"d":"123,-114r0,114r-108,0r0,-189r245,0r0,189r-108,0r0,-114r-29,0"},"\u00e9":{"d":"75,-259r47,0v1,6,3,9,5,12v5,6,13,10,25,10v9,0,15,-1,20,-5v5,-4,7,-9,8,-17r48,0v-2,13,-5,21,-8,27v-9,18,-32,27,-69,27v-26,0,-44,-4,-57,-14v-4,-3,-8,-7,-11,-13v-3,-6,-6,-14,-8,-27xm198,-134r-2,-1r-32,135r-149,0r0,-189r108,0r-1,130r3,2r31,-132r149,0r0,189r-107,0r0,-134","w":320},"\u0439":{"d":"75,-259r47,0v1,6,3,9,5,12v5,6,13,10,25,10v9,0,15,-1,20,-5v5,-4,7,-9,8,-17r48,0v-2,13,-5,21,-8,27v-9,18,-32,27,-69,27v-26,0,-44,-4,-57,-14v-4,-3,-8,-7,-11,-13v-3,-6,-6,-14,-8,-27xm198,-134r-2,-1r-32,135r-149,0r0,-189r108,0r-1,130r3,2r31,-132r149,0r0,189r-107,0r0,-134","w":320},"\u00ec":{"d":"119,0r-104,0r0,-189r161,0r21,152r2,0r18,-152r163,0r0,189r-105,0r0,-122v0,-1,0,-6,1,-15r0,-4r0,-5r-1,-1v-4,12,-6,22,-7,29r-19,118r-105,0r-18,-117r-5,-21r-2,-9r-1,1r0,7r1,19r0,120","w":396},"\u043c":{"d":"119,0r-104,0r0,-189r161,0r21,152r2,0r18,-152r163,0r0,189r-105,0r0,-122v0,-1,0,-6,1,-15r0,-4r0,-5r-1,-1v-4,12,-6,22,-7,29r-19,118r-105,0r-18,-117r-5,-21r-2,-9r-1,1r0,7r1,19r0,120","w":396},"\u00e1":{"d":"80,-110v2,-10,4,-17,7,-22v3,-5,6,-11,11,-16v8,-8,18,-13,28,-16v10,-3,23,-5,40,-5v33,0,59,6,76,20v17,14,26,33,26,59v0,13,-3,25,-7,36v-4,11,-10,21,-18,29v-10,10,-23,17,-39,22v-16,5,-36,7,-59,7v-37,0,-67,-6,-89,-17v-11,-5,-19,-11,-26,-19v-7,-8,-12,-17,-15,-28v-3,-11,-4,-25,-4,-40v0,-26,2,-49,6,-71v4,-22,11,-38,18,-49v8,-13,19,-21,32,-27v11,-5,24,-9,40,-11v16,-2,39,-3,69,-4v14,0,25,-1,33,-2v8,-1,15,-1,20,-3v5,-2,12,-4,20,-8r0,52v-3,6,-5,9,-7,11v-4,5,-11,9,-20,12v-9,3,-19,4,-29,5r-52,2v-2,0,-8,2,-20,4v-10,2,-18,5,-23,9v-9,6,-14,15,-17,27v-2,8,-4,22,-4,40r0,2xm121,-92r0,3v0,23,6,34,19,34v6,0,11,-3,14,-9v3,-6,6,-15,6,-26v0,-10,-3,-17,-6,-22v-3,-5,-8,-8,-14,-8v-12,0,-18,9,-19,28","w":277},"\u0431":{"d":"80,-110v2,-10,4,-17,7,-22v3,-5,6,-11,11,-16v8,-8,18,-13,28,-16v10,-3,23,-5,40,-5v33,0,59,6,76,20v17,14,26,33,26,59v0,13,-3,25,-7,36v-4,11,-10,21,-18,29v-10,10,-23,17,-39,22v-16,5,-36,7,-59,7v-37,0,-67,-6,-89,-17v-11,-5,-19,-11,-26,-19v-7,-8,-12,-17,-15,-28v-3,-11,-4,-25,-4,-40v0,-26,2,-49,6,-71v4,-22,11,-38,18,-49v8,-13,19,-21,32,-27v11,-5,24,-9,40,-11v16,-2,39,-3,69,-4v14,0,25,-1,33,-2v8,-1,15,-1,20,-3v5,-2,12,-4,20,-8r0,52v-3,6,-5,9,-7,11v-4,5,-11,9,-20,12v-9,3,-19,4,-29,5r-52,2v-2,0,-8,2,-20,4v-10,2,-18,5,-23,9v-9,6,-14,15,-17,27v-2,8,-4,22,-4,40r0,2xm121,-92r0,3v0,23,6,34,19,34v6,0,11,-3,14,-9v3,-6,6,-15,6,-26v0,-10,-3,-17,-6,-22v-3,-5,-8,-8,-14,-8v-12,0,-18,9,-19,28","w":277},"\u00ea":{"d":"15,0r0,-189r109,0r0,77r31,-77r115,0r-52,83r62,106r-123,0r-25,-94r-8,7r0,87r-109,0","w":278},"\u043a":{"d":"15,0r0,-189r109,0r0,77r31,-77r115,0r-52,83r62,106r-123,0r-25,-94r-8,7r0,87r-109,0","w":278},"\u00e2":{"d":"15,0r0,-189r159,0v30,0,52,4,66,12v14,8,21,20,21,37v0,8,-3,16,-6,21v-3,5,-9,8,-17,11v-8,3,-20,5,-35,7v17,2,30,5,39,9v9,4,16,9,20,15v4,6,5,14,5,24v0,9,-1,18,-6,25v-5,7,-11,12,-19,16v-8,4,-17,7,-28,9v-11,2,-21,3,-31,3r-168,0xm129,-144r0,29r14,0v8,0,12,-5,12,-15v0,-5,-1,-7,-3,-10v-2,-3,-5,-4,-9,-4r-14,0xm129,-82r0,38r14,0v11,0,16,-7,16,-20v0,-6,-1,-10,-4,-13v-3,-3,-7,-5,-12,-5r-14,0","w":279},"\u0432":{"d":"15,0r0,-189r159,0v30,0,52,4,66,12v14,8,21,20,21,37v0,8,-3,16,-6,21v-3,5,-9,8,-17,11v-8,3,-20,5,-35,7v17,2,30,5,39,9v9,4,16,9,20,15v4,6,5,14,5,24v0,9,-1,18,-6,25v-5,7,-11,12,-19,16v-8,4,-17,7,-28,9v-11,2,-21,3,-31,3r-168,0xm129,-144r0,29r14,0v8,0,12,-5,12,-15v0,-5,-1,-7,-3,-10v-2,-3,-5,-4,-9,-4r-14,0xm129,-82r0,38r14,0v11,0,16,-7,16,-20v0,-6,-1,-10,-4,-13v-3,-3,-7,-5,-12,-5r-14,0","w":279},"\u00e3":{"d":"133,-114r0,114r-118,0r0,-189r173,0r0,75r-55,0","w":193},"\u0433":{"d":"133,-114r0,114r-118,0r0,-189r173,0r0,75r-55,0","w":193},"\u00e4":{"d":"211,0r-119,0r-15,53r-74,0r0,-95v4,1,7,2,10,2v6,0,11,-1,15,-4v4,-3,6,-8,7,-14v1,-6,2,-15,2,-27r0,-104r237,0r0,147r22,0r0,95r-70,0xm166,-57r0,-69r-26,0r-1,28v0,10,-2,19,-7,27v-3,4,-9,9,-17,14r51,0","w":300},"\u0434":{"d":"211,0r-119,0r-15,53r-74,0r0,-95v4,1,7,2,10,2v6,0,11,-1,15,-4v4,-3,6,-8,7,-14v1,-6,2,-15,2,-27r0,-104r237,0r0,147r22,0r0,95r-70,0xm166,-57r0,-69r-26,0r-1,28v0,10,-2,19,-7,27v-3,4,-9,9,-17,14r51,0","w":300},"\u00f2":{"d":"150,-112r0,112r-107,0r0,-112r-38,0r0,-77r186,0r0,77r-41,0","w":195},"\u0442":{"d":"150,-112r0,112r-107,0r0,-112r-38,0r0,-77r186,0r0,77r-41,0","w":195},"\u00ed":{"d":"123,-62r0,62r-108,0r0,-189r108,0r0,55r32,0r0,-55r107,0r0,189r-107,0r0,-62r-32,0","w":277},"\u043d":{"d":"123,-62r0,62r-108,0r0,-189r108,0r0,55r32,0r0,-55r107,0r0,189r-107,0r0,-62r-32,0","w":277},"\u00b8":{"d":"42,-212r0,-47r73,0r0,47r-73,0xm157,-211r0,-48r73,0r0,48r-73,0xm154,-64r105,0v-2,11,-3,20,-6,26v-3,6,-7,11,-14,17v-8,7,-16,12,-25,15v-20,7,-46,11,-79,11v-14,0,-27,0,-38,-2v-11,-2,-20,-4,-29,-7v-9,-3,-16,-8,-24,-13v-7,-5,-14,-11,-19,-19v-5,-8,-9,-16,-12,-25v-3,-9,-4,-20,-4,-30v0,-16,3,-31,9,-44v6,-13,14,-23,25,-32v11,-9,24,-15,40,-20v16,-5,35,-7,55,-7v55,0,93,16,113,48v5,8,8,15,10,23v2,6,3,11,3,16v0,5,1,14,1,26r-149,0r0,2v0,9,1,16,2,21v2,10,8,16,19,16v12,0,17,-6,17,-18r0,-4xm117,-118r42,0v0,-19,-7,-29,-21,-29v-14,0,-21,10,-21,28r0,1"},"\u0451":{"d":"42,-212r0,-47r73,0r0,47r-73,0xm157,-211r0,-48r73,0r0,48r-73,0xm154,-64r105,0v-2,11,-3,20,-6,26v-3,6,-7,11,-14,17v-8,7,-16,12,-25,15v-20,7,-46,11,-79,11v-14,0,-27,0,-38,-2v-11,-2,-20,-4,-29,-7v-9,-3,-16,-8,-24,-13v-7,-5,-14,-11,-19,-19v-5,-8,-9,-16,-12,-25v-3,-9,-4,-20,-4,-30v0,-16,3,-31,9,-44v6,-13,14,-23,25,-32v11,-9,24,-15,40,-20v16,-5,35,-7,55,-7v55,0,93,16,113,48v5,8,8,15,10,23v2,6,3,11,3,16v0,5,1,14,1,26r-149,0r0,2v0,9,1,16,2,21v2,10,8,16,19,16v12,0,17,-6,17,-18r0,-4xm117,-118r42,0v0,-19,-7,-29,-21,-29v-14,0,-21,10,-21,28r0,1"},"\u00f3":{"d":"25,70r0,-62v4,0,7,1,8,1v8,1,13,2,14,2v6,0,11,-2,15,-5v4,-3,6,-8,6,-14v0,-6,-1,-11,-4,-18r-64,-163r109,0r21,147r22,-147r101,0r-62,188v-3,10,-9,21,-16,35v-5,9,-9,15,-13,19v-4,4,-8,8,-15,11v-6,3,-12,5,-18,7v-6,2,-14,3,-22,4v-8,1,-19,2,-29,2v-10,0,-17,-1,-22,-1v-5,0,-10,-1,-14,-2v-4,-1,-10,-2,-17,-4","w":250},"\u0443":{"d":"25,70r0,-62v4,0,7,1,8,1v8,1,13,2,14,2v6,0,11,-2,15,-5v4,-3,6,-8,6,-14v0,-6,-1,-11,-4,-18r-64,-163r109,0r21,147r22,-147r101,0r-62,188v-3,10,-9,21,-16,35v-5,9,-9,15,-13,19v-4,4,-8,8,-15,11v-6,3,-12,5,-18,7v-6,2,-14,3,-22,4v-8,1,-19,2,-29,2v-10,0,-17,-1,-22,-1v-5,0,-10,-1,-14,-2v-4,-1,-10,-2,-17,-4","w":250},"\u00f7":{"d":"146,-71v-4,4,-7,6,-10,8v-3,2,-6,3,-11,5v-10,4,-21,5,-32,5v-26,0,-48,-4,-64,-14v-7,-4,-12,-11,-16,-20v-4,-9,-6,-18,-6,-30r0,-72r109,0r0,52v0,14,5,21,15,21v6,0,11,-3,15,-10r0,-63r108,0r0,189r-108,0r0,-71","w":270},"\u0447":{"d":"146,-71v-4,4,-7,6,-10,8v-3,2,-6,3,-11,5v-10,4,-21,5,-32,5v-26,0,-48,-4,-64,-14v-7,-4,-12,-11,-16,-20v-4,-9,-6,-18,-6,-30r0,-72r109,0r0,52v0,14,5,21,15,21v6,0,11,-3,15,-10r0,-63r108,0r0,189r-108,0r0,-71","w":270},"\u00f4":{"d":"150,76r0,-76r-18,-1v-29,-2,-50,-5,-65,-9v-38,-11,-57,-40,-57,-86v0,-11,1,-21,4,-30v3,-9,6,-18,11,-25v5,-7,10,-14,17,-19v11,-8,25,-12,41,-15v9,-1,18,-3,26,-3v8,0,21,-1,41,-1r0,-70r97,0r0,70v29,0,51,2,65,4v50,8,75,39,75,94v0,29,-9,51,-28,67v-8,6,-16,11,-24,14v-8,3,-17,4,-26,5v-9,1,-24,3,-44,4r-18,1r0,76r-97,0xm150,-48r0,-92r-1,0v-12,0,-20,4,-24,10v-4,6,-7,18,-7,35v0,12,1,21,3,28v2,7,5,12,10,15v5,3,11,4,19,4xm247,-48v12,0,19,-3,24,-10v5,-7,7,-19,7,-37v0,-18,-2,-29,-6,-35v-4,-6,-12,-10,-24,-10r-1,0r0,92","w":396},"\u0444":{"d":"150,76r0,-76r-18,-1v-29,-2,-50,-5,-65,-9v-38,-11,-57,-40,-57,-86v0,-11,1,-21,4,-30v3,-9,6,-18,11,-25v5,-7,10,-14,17,-19v11,-8,25,-12,41,-15v9,-1,18,-3,26,-3v8,0,21,-1,41,-1r0,-70r97,0r0,70v29,0,51,2,65,4v50,8,75,39,75,94v0,29,-9,51,-28,67v-8,6,-16,11,-24,14v-8,3,-17,4,-26,5v-9,1,-24,3,-44,4r-18,1r0,76r-97,0xm150,-48r0,-92r-1,0v-12,0,-20,4,-24,10v-4,6,-7,18,-7,35v0,12,1,21,3,28v2,7,5,12,10,15v5,3,11,4,19,4xm247,-48v12,0,19,-3,24,-10v5,-7,7,-19,7,-37v0,-18,-2,-29,-6,-35v-4,-6,-12,-10,-24,-10r-1,0r0,92","w":396},"\u00f6":{"d":"194,0r-179,0r0,-189r109,0r0,136r25,0r0,-136r108,0r0,147r22,0r0,95r-70,0","w":281},"\u0446":{"d":"194,0r-179,0r0,-189r109,0r0,136r25,0r0,-136r108,0r0,147r22,0r0,95r-70,0","w":281},"\u00e6":{"d":"271,-189r0,72r38,-72r128,0r-75,80r81,109r-129,0r-43,-88r0,88r-100,0r0,-88r-43,88r-129,0r83,-109r-78,-80r129,0r38,72r0,-72r100,0","w":442},"\u0436":{"d":"271,-189r0,72r38,-72r128,0r-75,80r81,109r-129,0r-43,-88r0,88r-100,0r0,-88r-43,88r-129,0r83,-109r-78,-80r129,0r38,72r0,-72r100,0","w":442},"\u00f8":{"d":"15,0r0,-189r108,0r0,117r22,0r0,-117r107,0r0,117r22,0r0,-117r107,0r0,189r-366,0","w":396},"\u0448":{"d":"15,0r0,-189r108,0r0,117r22,0r0,-117r107,0r0,117r22,0r0,-117r107,0r0,189r-366,0","w":396},"\u00fa":{"d":"135,-141r16,0v22,0,36,1,41,1v10,0,19,1,29,4v10,3,18,7,24,11v8,5,14,13,18,22v4,9,7,20,7,32v0,23,-7,40,-21,53v-8,7,-18,12,-28,14v-10,2,-26,4,-48,4r-142,0r0,-120r-28,0r0,-69r132,0r0,48xm135,-90r0,29r16,0v7,0,13,-1,16,-3v3,-2,5,-7,5,-12v0,-5,-2,-9,-5,-11v-3,-2,-8,-3,-16,-3r-16,0","w":272},"\u044a":{"d":"135,-141r16,0v22,0,36,1,41,1v10,0,19,1,29,4v10,3,18,7,24,11v8,5,14,13,18,22v4,9,7,20,7,32v0,23,-7,40,-21,53v-8,7,-18,12,-28,14v-10,2,-26,4,-48,4r-142,0r0,-120r-28,0r0,-69r132,0r0,48xm135,-90r0,29r16,0v7,0,13,-1,16,-3v3,-2,5,-7,5,-12v0,-5,-2,-9,-5,-11v-3,-2,-8,-3,-16,-3r-16,0","w":272},"\u00f9":{"d":"338,0r-323,0r0,-189r108,0r0,117r22,0r0,-117r107,0r0,117r22,0r0,-117r107,0r0,147r42,0r0,95r-71,0","w":425},"\u0449":{"d":"338,0r-323,0r0,-189r108,0r0,117r22,0r0,-117r107,0r0,117r22,0r0,-117r107,0r0,147r42,0r0,95r-71,0","w":425},"\u00e7":{"d":"184,-101v20,3,34,8,42,13v10,6,15,17,15,32v0,9,-2,17,-7,25v-5,8,-11,14,-19,19v-10,6,-22,11,-36,13v-14,2,-34,3,-59,3v-22,0,-40,-1,-54,-3v-14,-2,-26,-7,-34,-12v-8,-5,-14,-13,-18,-22v-4,-9,-6,-21,-6,-35r94,0r0,6v0,5,1,8,2,10v1,3,3,4,6,6v3,2,6,3,10,3v5,0,10,-2,13,-5v3,-3,5,-8,5,-14v0,-6,-2,-11,-5,-14v-3,-3,-8,-4,-16,-4r-13,0r0,-31r13,0v11,0,16,-6,16,-17v0,-5,-1,-9,-3,-12v-2,-3,-6,-4,-10,-4v-8,0,-12,5,-13,16r-1,3r-95,0v2,-17,7,-30,15,-40v8,-10,20,-17,35,-22v15,-5,36,-7,61,-7v28,0,52,3,73,9v13,4,22,10,29,18v7,8,10,17,10,28v0,13,-4,23,-14,29v-4,3,-9,5,-13,6v-4,1,-12,2,-23,3","w":251},"\u0437":{"d":"184,-101v20,3,34,8,42,13v10,6,15,17,15,32v0,9,-2,17,-7,25v-5,8,-11,14,-19,19v-10,6,-22,11,-36,13v-14,2,-34,3,-59,3v-22,0,-40,-1,-54,-3v-14,-2,-26,-7,-34,-12v-8,-5,-14,-13,-18,-22v-4,-9,-6,-21,-6,-35r94,0r0,6v0,5,1,8,2,10v1,3,3,4,6,6v3,2,6,3,10,3v5,0,10,-2,13,-5v3,-3,5,-8,5,-14v0,-6,-2,-11,-5,-14v-3,-3,-8,-4,-16,-4r-13,0r0,-31r13,0v11,0,16,-6,16,-17v0,-5,-1,-9,-3,-12v-2,-3,-6,-4,-10,-4v-8,0,-12,5,-13,16r-1,3r-95,0v2,-17,7,-30,15,-40v8,-10,20,-17,35,-22v15,-5,36,-7,61,-7v28,0,52,3,73,9v13,4,22,10,29,18v7,8,10,17,10,28v0,13,-4,23,-14,29v-4,3,-9,5,-13,6v-4,1,-12,2,-23,3","w":251},"\u00eb":{"d":"269,-189r0,189r-108,0r0,-114r-26,0r0,33v0,21,-3,38,-8,50v-5,12,-13,21,-24,27v-11,6,-25,8,-44,8v-10,0,-19,0,-27,-2v-6,-1,-11,-3,-15,-5v-4,-2,-8,-4,-14,-8r0,-62v7,3,11,4,15,4v6,0,11,-3,14,-8v3,-5,5,-12,5,-22r0,-90r232,0","w":284},"\u043b":{"d":"269,-189r0,189r-108,0r0,-114r-26,0r0,33v0,21,-3,38,-8,50v-5,12,-13,21,-24,27v-11,6,-25,8,-44,8v-10,0,-19,0,-27,-2v-6,-1,-11,-3,-15,-5v-4,-2,-8,-4,-14,-8r0,-62v7,3,11,4,15,4v6,0,11,-3,14,-8v3,-5,5,-12,5,-22r0,-90r232,0","w":284},"\u00fc":{"d":"120,-141r16,0v22,0,35,1,40,1v10,1,20,2,30,5v10,3,18,6,24,10v4,3,7,6,11,11v4,5,7,9,9,13v3,9,5,19,5,30v0,22,-7,40,-21,53v-5,5,-11,8,-17,11v-6,3,-14,4,-23,5v-9,1,-21,2,-36,2r-143,0r0,-189r105,0r0,48xm120,-90r0,29r16,0v7,0,13,-1,16,-3v3,-2,5,-7,5,-12v0,-5,-2,-9,-5,-11v-3,-2,-8,-3,-16,-3r-16,0","w":257},"\u044c":{"d":"120,-141r16,0v22,0,35,1,40,1v10,1,20,2,30,5v10,3,18,6,24,10v4,3,7,6,11,11v4,5,7,9,9,13v3,9,5,19,5,30v0,22,-7,40,-21,53v-5,5,-11,8,-17,11v-6,3,-14,4,-23,5v-9,1,-21,2,-36,2r-143,0r0,-189r105,0r0,48xm120,-90r0,29r16,0v7,0,13,-1,16,-3v3,-2,5,-7,5,-12v0,-5,-2,-9,-5,-11v-3,-2,-8,-3,-16,-3r-16,0","w":257},"\u00ff":{"d":"60,-80v-9,-1,-16,-3,-21,-4v-5,-1,-9,-4,-13,-7v-11,-8,-17,-22,-17,-39v0,-17,6,-30,16,-40v4,-4,9,-7,15,-10v8,-4,17,-6,27,-7v10,-1,28,-2,53,-2r142,0r0,189r-107,0r0,-76r-3,0r-27,76r-122,0xm155,-144r-16,0v-14,0,-21,7,-21,18v0,11,7,17,21,17r16,0r0,-35","w":277},"\u044f":{"d":"60,-80v-9,-1,-16,-3,-21,-4v-5,-1,-9,-4,-13,-7v-11,-8,-17,-22,-17,-39v0,-17,6,-30,16,-40v4,-4,9,-7,15,-10v8,-4,17,-6,27,-7v10,-1,28,-2,53,-2r142,0r0,189r-107,0r0,-76r-3,0r-27,76r-122,0xm155,-144r-16,0v-14,0,-21,7,-21,18v0,11,7,17,21,17r16,0r0,-35","w":277},"\u00fe":{"d":"147,-129v3,-22,15,-38,34,-49v19,-11,47,-16,82,-16v20,0,37,2,53,6v16,4,29,11,40,20v11,9,18,19,24,31v6,12,8,26,8,42v0,34,-12,59,-37,77v-8,5,-16,10,-24,13v-8,3,-17,5,-28,6v-11,1,-23,3,-37,3v-19,0,-36,-2,-49,-5v-13,-3,-26,-7,-36,-13v-8,-4,-15,-10,-21,-18v-4,-5,-6,-10,-8,-15v-2,-5,-4,-13,-5,-22r-19,0r0,69r-109,0r0,-189r109,0r0,60r23,0xm242,-97r0,2v0,11,2,19,5,25v3,6,8,10,14,10v6,0,11,-3,14,-10v3,-7,5,-16,5,-27v0,-10,-2,-19,-5,-25v-3,-6,-8,-9,-14,-9v-6,0,-11,3,-14,9v-3,6,-5,14,-5,25","w":397},"\u044e":{"d":"147,-129v3,-22,15,-38,34,-49v19,-11,47,-16,82,-16v20,0,37,2,53,6v16,4,29,11,40,20v11,9,18,19,24,31v6,12,8,26,8,42v0,34,-12,59,-37,77v-8,5,-16,10,-24,13v-8,3,-17,5,-28,6v-11,1,-23,3,-37,3v-19,0,-36,-2,-49,-5v-13,-3,-26,-7,-36,-13v-8,-4,-15,-10,-21,-18v-4,-5,-6,-10,-8,-15v-2,-5,-4,-13,-5,-22r-19,0r0,69r-109,0r0,-189r109,0r0,60r23,0xm242,-97r0,2v0,11,2,19,5,25v3,6,8,10,14,10v6,0,11,-3,14,-10v3,-7,5,-16,5,-27v0,-10,-2,-19,-5,-25v-3,-6,-8,-9,-14,-9v-6,0,-11,3,-14,9v-3,6,-5,14,-5,25","w":397},"\u00e8":{"d":"198,-134r-2,-1r-32,135r-149,0r0,-189r108,0r-1,130r3,2r31,-132r149,0r0,189r-107,0r0,-134","w":320},"\u0438":{"d":"198,-134r-2,-1r-32,135r-149,0r0,-189r108,0r-1,130r3,2r31,-132r149,0r0,189r-107,0r0,-134","w":320},"\u00b0":{"d":"7,-181v0,-14,3,-28,10,-40v7,-12,17,-21,29,-28v12,-7,25,-11,39,-11v14,0,27,4,39,11v12,7,21,17,28,29v7,12,11,25,11,39v0,14,-4,27,-11,39v-7,12,-16,21,-28,28v-12,7,-25,11,-39,11v-14,0,-28,-4,-40,-11v-12,-7,-21,-16,-28,-28v-7,-12,-10,-25,-10,-39xm57,-181v0,8,3,14,8,19v5,5,11,7,19,7v8,0,14,-3,19,-8v5,-5,8,-11,8,-19v0,-5,-2,-9,-4,-13v-2,-4,-5,-7,-9,-9v-4,-2,-9,-4,-14,-4v-8,0,-14,3,-19,8v-5,5,-8,11,-8,19","w":169},"\u00a2":{"d":"64,51r22,-52v-14,-5,-26,-9,-35,-15v-9,-6,-18,-13,-24,-21v-6,-8,-11,-15,-14,-25v-3,-10,-4,-20,-4,-32v0,-11,1,-22,4,-32v3,-10,7,-19,12,-27v5,-8,12,-14,20,-20v6,-4,12,-8,21,-12v9,-4,18,-6,28,-8v10,-2,19,-3,28,-3v10,0,25,2,45,5r17,-40r28,0r-19,45v11,3,20,6,26,8v6,2,12,6,18,11v7,5,13,11,16,18v3,6,5,16,7,31r-88,0v0,-4,-1,-8,-3,-12r-36,86r6,0v9,0,16,-2,21,-7v5,-5,7,-13,9,-24r92,0v-1,7,-2,13,-3,18v-4,16,-15,30,-33,42v-12,8,-24,12,-36,14v-6,1,-19,4,-39,5v-12,1,-19,1,-19,1v-4,0,-10,0,-19,-2r-19,48r-29,0xm148,-146v-5,-1,-9,-1,-12,-1v-11,0,-19,4,-25,13v-6,9,-9,21,-9,38r0,11v1,9,4,18,8,28","w":269},"\u045e":{"d":"64,51r22,-52v-14,-5,-26,-9,-35,-15v-9,-6,-18,-13,-24,-21v-6,-8,-11,-15,-14,-25v-3,-10,-4,-20,-4,-32v0,-11,1,-22,4,-32v3,-10,7,-19,12,-27v5,-8,12,-14,20,-20v6,-4,12,-8,21,-12v9,-4,18,-6,28,-8v10,-2,19,-3,28,-3v10,0,25,2,45,5r17,-40r28,0r-19,45v11,3,20,6,26,8v6,2,12,6,18,11v7,5,13,11,16,18v3,6,5,16,7,31r-88,0v0,-4,-1,-8,-3,-12r-36,86r6,0v9,0,16,-2,21,-7v5,-5,7,-13,9,-24r92,0v-1,7,-2,13,-3,18v-4,16,-15,30,-33,42v-12,8,-24,12,-36,14v-6,1,-19,4,-39,5v-12,1,-19,1,-19,1v-4,0,-10,0,-19,-2r-19,48r-29,0xm148,-146v-5,-1,-9,-1,-12,-1v-11,0,-19,4,-25,13v-6,9,-9,21,-9,38r0,11v1,9,4,18,8,28","w":269},"\u00a3":{"d":"39,4r-33,-56v9,-6,16,-11,20,-14v4,-3,8,-7,11,-11v6,-8,8,-16,8,-25r0,-5r-32,0r0,-43r21,0v-5,-7,-8,-13,-9,-18v-1,-5,-2,-11,-2,-18v0,-15,4,-28,12,-39v8,-11,19,-19,35,-25v16,-6,35,-8,57,-8v14,0,27,1,40,3v15,3,28,8,38,13v10,5,20,12,27,21v5,7,8,14,11,21v2,6,4,16,5,31r-74,0v0,-5,-1,-10,-4,-14v-3,-4,-7,-7,-11,-10v-4,-3,-9,-4,-14,-4v-7,0,-13,2,-17,6v-4,4,-7,10,-7,16v0,3,1,6,2,9v2,4,6,9,12,16r37,0r0,43r-33,0v-1,3,-2,7,-5,12v-2,3,-3,3,-4,5v-1,1,-2,3,-2,3v-4,5,-9,10,-18,17v12,-3,20,-5,26,-5v6,0,14,1,24,4v8,3,13,5,15,5v3,1,8,1,12,1v5,0,11,-1,17,-3v6,-2,13,-6,21,-12r29,60v-7,6,-12,9,-15,11v-14,9,-29,14,-47,14v-4,0,-9,-1,-13,-2r-13,-4r-48,-8r-33,-6v-1,0,-2,-1,-3,-1v-4,0,-9,1,-15,4v-6,3,-15,8,-28,16","w":236},"\u0408":{"d":"39,4r-33,-56v9,-6,16,-11,20,-14v4,-3,8,-7,11,-11v6,-8,8,-16,8,-25r0,-5r-32,0r0,-43r21,0v-5,-7,-8,-13,-9,-18v-1,-5,-2,-11,-2,-18v0,-15,4,-28,12,-39v8,-11,19,-19,35,-25v16,-6,35,-8,57,-8v14,0,27,1,40,3v15,3,28,8,38,13v10,5,20,12,27,21v5,7,8,14,11,21v2,6,4,16,5,31r-74,0v0,-5,-1,-10,-4,-14v-3,-4,-7,-7,-11,-10v-4,-3,-9,-4,-14,-4v-7,0,-13,2,-17,6v-4,4,-7,10,-7,16v0,3,1,6,2,9v2,4,6,9,12,16r37,0r0,43r-33,0v-1,3,-2,7,-5,12v-2,3,-3,3,-4,5v-1,1,-2,3,-2,3v-4,5,-9,10,-18,17v12,-3,20,-5,26,-5v6,0,14,1,24,4v8,3,13,5,15,5v3,1,8,1,12,1v5,0,11,-1,17,-3v6,-2,13,-6,21,-12r29,60v-7,6,-12,9,-15,11v-14,9,-29,14,-47,14v-4,0,-9,-1,-13,-2r-13,-4r-48,-8r-33,-6v-1,0,-2,-1,-3,-1v-4,0,-9,1,-15,4v-6,3,-15,8,-28,16","w":236},"\u00a7":{"d":"14,-30r68,0v1,8,2,15,5,19v3,4,7,5,12,5v4,0,7,-1,10,-3v3,-2,3,-6,3,-10v0,-4,-2,-7,-5,-10v-3,-3,-8,-5,-16,-8r-13,-5v-15,-6,-27,-10,-34,-14v-7,-4,-14,-8,-19,-12v-15,-12,-22,-28,-22,-47v0,-14,3,-25,11,-34v4,-4,10,-9,19,-15v-7,-8,-11,-15,-14,-21v-3,-6,-4,-13,-4,-21v0,-20,9,-35,26,-45v17,-10,43,-15,77,-15v36,0,62,7,79,22v4,3,8,8,11,15v2,6,4,16,5,28r-66,0v-1,-15,-7,-23,-16,-23v-4,0,-7,1,-9,4v-2,3,-4,5,-4,9v0,3,2,6,4,8v3,3,7,6,12,9v5,3,14,7,28,13v21,9,36,17,43,23v15,13,21,29,21,48v0,11,-2,20,-7,27v-5,7,-13,14,-24,19v5,5,8,9,10,11v8,10,11,22,11,36v0,12,-3,21,-11,30v-8,9,-20,14,-35,19v-15,5,-32,7,-53,7v-38,0,-66,-7,-84,-21v-6,-5,-10,-10,-13,-17v-3,-6,-5,-17,-6,-31xm136,-86v10,-5,16,-12,16,-19v0,-4,-2,-7,-5,-10v-4,-4,-15,-9,-33,-17v-10,-4,-17,-8,-21,-10v-12,7,-17,13,-17,20v0,3,2,6,4,9v2,3,7,6,13,9v6,3,15,6,27,11v7,3,12,5,16,7","w":228},"\u00b6":{"d":"178,-260r0,25r-17,0r0,235r-36,0r0,-235r-25,0r0,235r-35,0r0,-138v-11,-1,-20,-3,-27,-6v-11,-4,-19,-11,-26,-21v-7,-10,-10,-21,-10,-34v0,-12,2,-23,8,-32v6,-9,15,-16,25,-21v10,-5,22,-8,35,-8r108,0","w":180},"\u00ae":{"d":"18,-123v0,-27,6,-52,19,-74v13,-22,30,-40,52,-53v22,-13,46,-19,73,-19v26,0,50,6,72,19v22,13,39,30,52,52v13,22,19,46,19,72v0,20,-4,39,-11,56v-7,17,-18,33,-31,46v-13,13,-29,24,-46,31v-17,7,-35,11,-55,11v-26,0,-50,-6,-72,-19v-22,-13,-39,-30,-52,-52v-13,-22,-20,-45,-20,-70xm163,-236v-15,0,-30,2,-43,8v-13,6,-25,14,-35,24v-10,10,-18,22,-24,35v-6,13,-8,28,-8,43v0,20,4,39,14,56v10,17,23,30,40,40v17,10,35,15,55,15v15,0,29,-2,42,-8v13,-6,24,-14,34,-24v10,-10,18,-23,24,-36v6,-13,8,-28,8,-43v0,-20,-5,-38,-15,-55v-10,-17,-23,-30,-39,-40v-16,-10,-34,-15,-53,-15xm107,-200r66,0v16,0,30,3,39,10v9,7,14,17,14,30v0,12,-4,23,-13,31v-4,3,-10,6,-19,9r33,65r-44,0r-28,-60r-8,0r0,60r-40,0r0,-145xm147,-136r12,0v8,0,14,-1,19,-5v5,-4,7,-9,7,-16v0,-6,-2,-11,-7,-15v-5,-4,-11,-6,-19,-6r-12,0r0,42","w":326},"\u00a9":{"d":"305,-129v0,20,-4,39,-11,57v-7,18,-17,34,-30,47v-13,13,-28,24,-46,31v-18,7,-36,11,-56,11v-26,0,-50,-6,-72,-19v-22,-13,-40,-30,-53,-52v-13,-22,-19,-47,-19,-73v0,-26,6,-50,19,-72v13,-22,30,-39,52,-52v22,-13,47,-19,73,-19v26,0,49,6,71,19v22,13,40,30,53,52v13,22,19,45,19,70xm160,-15v20,0,38,-4,55,-14v17,-10,30,-24,40,-41v10,-17,15,-36,15,-56v0,-20,-5,-38,-15,-55v-10,-17,-22,-30,-39,-40v-17,-10,-34,-15,-54,-15v-20,0,-38,5,-55,15v-17,10,-29,23,-39,40v-10,17,-15,35,-15,55v0,20,4,39,14,56v10,17,24,30,40,40v16,10,34,15,53,15xm228,-158r-38,0v-3,-16,-11,-24,-24,-24v-9,0,-16,5,-22,15v-6,10,-9,23,-9,39v0,15,2,28,8,37v6,9,14,14,23,14v13,0,21,-10,25,-28r39,0v-2,10,-4,18,-6,23v-5,10,-13,17,-23,23v-10,6,-22,8,-36,8v-14,0,-26,-3,-37,-9v-11,-6,-19,-15,-25,-27v-6,-12,-9,-26,-9,-42v0,-15,3,-29,9,-41v6,-12,15,-21,26,-28v11,-7,23,-10,37,-10v9,0,17,1,25,4v8,3,15,7,21,12v5,4,8,9,11,15v2,5,4,11,5,19","w":326},"\u00b4":{"d":"120,-279r-57,65r-39,0r34,-65r62,0","w":144},"\u0491":{"d":"120,-279r-57,65r-39,0r34,-65r62,0","w":144},"\u00dd":{"d":"135,-100v0,12,2,20,7,25v5,5,12,8,22,8v6,0,12,-1,17,-4v5,-2,8,-5,10,-9v2,-4,3,-10,5,-20r-45,0r0,-61r44,0v-1,-11,-3,-19,-8,-24v-5,-5,-12,-7,-22,-7v-18,0,-27,10,-28,31r-121,0v2,-12,3,-21,5,-29v2,-8,5,-13,8,-19v3,-6,7,-11,12,-17v12,-13,27,-22,45,-28v11,-4,25,-7,39,-9v14,-2,28,-3,40,-3v9,0,17,1,27,2v10,1,20,3,29,5v9,2,17,4,24,7v18,7,34,19,48,36v18,23,27,51,27,85v0,30,-6,55,-18,75v-12,20,-30,37,-54,47v-24,10,-53,16,-87,16v-52,0,-90,-11,-114,-33v-9,-7,-16,-17,-22,-30v-3,-6,-5,-13,-6,-19v-1,-6,-4,-14,-5,-25r121,0","w":335},"\u042d":{"d":"135,-100v0,12,2,20,7,25v5,5,12,8,22,8v6,0,12,-1,17,-4v5,-2,8,-5,10,-9v2,-4,3,-10,5,-20r-45,0r0,-61r44,0v-1,-11,-3,-19,-8,-24v-5,-5,-12,-7,-22,-7v-18,0,-27,10,-28,31r-121,0v2,-12,3,-21,5,-29v2,-8,5,-13,8,-19v3,-6,7,-11,12,-17v12,-13,27,-22,45,-28v11,-4,25,-7,39,-9v14,-2,28,-3,40,-3v9,0,17,1,27,2v10,1,20,3,29,5v9,2,17,4,24,7v18,7,34,19,48,36v18,23,27,51,27,85v0,30,-6,55,-18,75v-12,20,-30,37,-54,47v-24,10,-53,16,-87,16v-52,0,-90,-11,-114,-33v-9,-7,-16,-17,-22,-30v-3,-6,-5,-13,-6,-19v-1,-6,-4,-14,-5,-25r121,0","w":335},"\u00db":{"d":"321,0r0,-259r125,0r0,259r-125,0xm19,-259r125,0r0,69r56,0v33,0,59,9,77,26v16,15,23,39,23,71v0,30,-9,52,-27,68v-7,6,-14,11,-23,15v-9,4,-20,5,-32,7v-12,2,-27,3,-44,3r-155,0r0,-259xm144,-83r17,0v10,0,18,-2,22,-5v4,-3,7,-8,7,-15v0,-4,-1,-7,-3,-10v-2,-3,-5,-5,-8,-6v-4,-1,-11,-2,-19,-2r-16,0r0,38","w":465},"\u042b":{"d":"321,0r0,-259r125,0r0,259r-125,0xm19,-259r125,0r0,69r56,0v33,0,59,9,77,26v16,15,23,39,23,71v0,30,-9,52,-27,68v-7,6,-14,11,-23,15v-9,4,-20,5,-32,7v-12,2,-27,3,-44,3r-155,0r0,-259xm144,-83r17,0v10,0,18,-2,22,-5v4,-3,7,-8,7,-15v0,-4,-1,-7,-3,-10v-2,-3,-5,-5,-8,-6v-4,-1,-11,-2,-19,-2r-16,0r0,38","w":465},"\u00b1":{"d":"168,-8r-151,0r0,-40r151,0r0,40xm70,-212r46,0r0,54r52,0r0,39r-52,0r0,55r-46,0r0,-55r-53,0r0,-39r53,0r0,-54","w":182},"\u00b2":{"d":"176,-230r0,42r-109,46r109,46r0,42r-157,-68r0,-40xm19,-32r157,0r0,39r-157,0r0,-39","w":193},"\u0406":{"d":"176,-230r0,42r-109,46r109,46r0,42r-157,-68r0,-40xm19,-32r157,0r0,39r-157,0r0,-39","w":193},"\u00b3":{"d":"20,-188r0,-42r157,68r0,40r-157,68r0,-42r109,-46xm20,-32r157,0r0,39r-157,0r0,-39","w":193},"\u0456":{"d":"20,-188r0,-42r157,68r0,40r-157,68r0,-42r109,-46xm20,-32r157,0r0,39r-157,0r0,-39","w":193},"\u00a5":{"d":"96,0r0,-89r-88,0r0,-33r72,0r-12,-21r-60,0r0,-33r41,0r-44,-77r103,0r51,117r47,-117r101,0r-44,77r40,0r0,33r-59,0r-11,21r70,0r0,33r-86,0r0,89r-121,0","w":311},"\u0490":{"d":"96,0r0,-89r-88,0r0,-33r72,0r-12,-21r-60,0r0,-33r41,0r-44,-77r103,0r51,117r47,-117r101,0r-44,77r40,0r0,33r-59,0r-11,21r70,0r0,33r-86,0r0,89r-121,0","w":311},"\u00fd":{"d":"115,-75v1,19,6,29,18,29v6,0,10,-2,13,-7v3,-5,5,-12,5,-22r-28,0r0,-42r27,0v0,-7,-1,-12,-2,-16v-2,-6,-7,-10,-14,-10v-11,0,-18,9,-18,25r-106,0v1,-9,3,-17,4,-22v1,-5,4,-10,7,-15v6,-10,14,-18,26,-24v10,-5,22,-9,34,-11v12,-2,27,-4,46,-4v25,0,46,2,65,7v14,4,27,10,37,19v10,9,18,19,24,32v6,13,9,26,9,41v0,22,-5,40,-15,55v-10,15,-25,26,-44,33v-22,8,-47,11,-75,11v-26,0,-47,-2,-64,-8v-17,-6,-30,-14,-39,-26v-9,-12,-14,-27,-15,-45r105,0","w":271},"\u044d":{"d":"115,-75v1,19,6,29,18,29v6,0,10,-2,13,-7v3,-5,5,-12,5,-22r-28,0r0,-42r27,0v0,-7,-1,-12,-2,-16v-2,-6,-7,-10,-14,-10v-11,0,-18,9,-18,25r-106,0v1,-9,3,-17,4,-22v1,-5,4,-10,7,-15v6,-10,14,-18,26,-24v10,-5,22,-9,34,-11v12,-2,27,-4,46,-4v25,0,46,2,65,7v14,4,27,10,37,19v10,9,18,19,24,32v6,13,9,26,9,41v0,22,-5,40,-15,55v-10,15,-25,26,-44,33v-22,8,-47,11,-75,11v-26,0,-47,-2,-64,-8v-17,-6,-30,-14,-39,-26v-9,-12,-14,-27,-15,-45r105,0","w":271},"\u00fb":{"d":"120,-141r16,0v22,0,35,1,40,1v10,1,20,2,30,5v10,3,18,6,24,10v3,2,6,5,11,11v5,6,9,12,11,18v2,6,3,15,3,25v0,12,-2,23,-5,31v-3,8,-8,16,-16,22v-6,5,-12,8,-18,11v-6,3,-14,4,-23,5v-9,1,-20,2,-35,2r-143,0r0,-189r105,0r0,48xm269,0r0,-189r107,0r0,189r-107,0xm120,-90r0,29r16,0v7,0,13,-1,16,-3v3,-2,5,-7,5,-12v0,-5,-2,-9,-5,-11v-3,-2,-9,-3,-16,-3r-16,0","w":391},"\u044b":{"d":"120,-141r16,0v22,0,35,1,40,1v10,1,20,2,30,5v10,3,18,6,24,10v3,2,6,5,11,11v5,6,9,12,11,18v2,6,3,15,3,25v0,12,-2,23,-5,31v-3,8,-8,16,-16,22v-6,5,-12,8,-18,11v-6,3,-14,4,-23,5v-9,1,-20,2,-35,2r-143,0r0,-189r105,0r0,48xm269,0r0,-189r107,0r0,189r-107,0xm120,-90r0,29r16,0v7,0,13,-1,16,-3v3,-2,5,-7,5,-12v0,-5,-2,-9,-5,-11v-3,-2,-9,-3,-16,-3r-16,0","w":391},"\u00ac":{"d":"0,-116r0,-52r211,0r0,117r-50,0r0,-65r-161,0","w":211},"\u00ab":{"d":"78,-25r-66,-43r0,-54r66,-43r0,48r-33,22r33,22r0,48xm170,-25r-67,-43r0,-54r67,-43r0,48r-34,22r34,22r0,48","w":184},"\u00bb":{"d":"15,-165r67,43r0,54r-67,43r0,-48r33,-22r-33,-22r0,-48xm106,-165r67,43r0,54r-67,43r0,-48r33,-22r-33,-22r0,-48","w":184},"\u00a0":{"w":90},"\u00c9":{"d":"81,-325r51,0v1,2,0,1,1,2v0,1,1,2,1,2v1,3,2,5,2,5v1,2,3,4,5,6v5,4,13,7,24,7v10,0,17,-2,22,-6v5,-4,8,-8,9,-16r50,0v-2,13,-4,22,-7,28v-4,8,-13,14,-25,18v-12,4,-28,5,-50,5v-14,0,-27,0,-36,-2v-9,-2,-17,-4,-24,-7v-5,-3,-10,-7,-13,-12v-3,-5,-7,-15,-10,-30xm19,0r0,-259r125,0r-3,187r2,0r43,-187r149,0r0,259r-125,0r3,-199r-1,0r-44,199r-149,0","w":354},"\u0419":{"d":"81,-325r51,0v1,2,0,1,1,2v0,1,1,2,1,2v1,3,2,5,2,5v1,2,3,4,5,6v5,4,13,7,24,7v10,0,17,-2,22,-6v5,-4,8,-8,9,-16r50,0v-2,13,-4,22,-7,28v-4,8,-13,14,-25,18v-12,4,-28,5,-50,5v-14,0,-27,0,-36,-2v-9,-2,-17,-4,-24,-7v-5,-3,-10,-7,-13,-12v-3,-5,-7,-15,-10,-30xm19,0r0,-259r125,0r-3,187r2,0r43,-187r149,0r0,259r-125,0r3,-199r-1,0r-44,199r-149,0","w":354},"\u00ca":{"d":"19,0r0,-259r124,0r0,98r64,-98r144,0r-93,107r105,152r-158,0r-44,-103r-18,21r0,82r-124,0","w":365},"\u041a":{"d":"19,0r0,-259r124,0r0,98r64,-98r144,0r-93,107r105,152r-158,0r-44,-103r-18,21r0,82r-124,0","w":365},"\u00cb":{"d":"197,0r0,-167r-34,0r0,70v0,42,-11,70,-33,85v-8,6,-17,10,-29,12v-12,2,-28,4,-47,4v-14,0,-28,-2,-42,-5r-9,-3r0,-88v8,5,14,7,20,7v3,0,6,-2,10,-4v4,-3,7,-5,8,-7v4,-7,7,-19,7,-40r0,-123r274,0r0,259r-125,0","w":341},"\u041b":{"d":"197,0r0,-167r-34,0r0,70v0,42,-11,70,-33,85v-8,6,-17,10,-29,12v-12,2,-28,4,-47,4v-14,0,-28,-2,-42,-5r-9,-3r0,-88v8,5,14,7,20,7v3,0,6,-2,10,-4v4,-3,7,-5,8,-7v4,-7,7,-19,7,-40r0,-123r274,0r0,259r-125,0","w":341},"\u00ad":{"d":"0,-71r0,-61r180,0r0,61r-180,0","w":180},"\u00a6":{"d":"48,-71r0,-64r264,0r0,64r-264,0","w":360},"\u00ba":{"d":"86,-270r76,0r34,65r-43,0xm198,-134r-2,-1r-32,135r-149,0r0,-189r108,0r-1,130r3,2r31,-132r149,0r0,189r-107,0r0,-134","w":320},"\u0454":{"d":"86,-270r76,0r34,65r-43,0xm198,-134r-2,-1r-32,135r-149,0r0,-189r108,0r-1,130r3,2r31,-132r149,0r0,189r-107,0r0,-134","w":320},"\u00aa":{"d":"90,-335r62,0r34,65r-39,0xm19,0r0,-259r125,0r-3,187r2,0r43,-187r149,0r0,259r-125,0r3,-199r-1,0r-44,199r-149,0","w":354},"\u0404":{"d":"90,-335r62,0r34,65r-39,0xm19,0r0,-259r125,0r-3,187r2,0r43,-187r149,0r0,259r-125,0r3,-199r-1,0r-44,199r-149,0","w":354},"\u00a4":{"d":"32,-255r36,35v5,-3,10,-6,13,-7v8,-3,18,-5,28,-5v4,0,9,0,14,1v8,1,17,5,28,11r35,-35r24,23r-35,36v2,4,4,9,6,13v3,8,5,18,5,28v0,5,-1,9,-2,13v-1,8,-4,17,-9,27r35,35r-24,24r-35,-35v-7,4,-12,6,-14,7v-8,3,-18,5,-28,5v-5,0,-9,0,-14,-1v-8,-2,-17,-5,-27,-11r-36,35r-23,-24r35,-35v-3,-6,-6,-10,-7,-13v-3,-8,-4,-17,-4,-27v0,-5,0,-10,1,-15v2,-8,5,-17,10,-26r-35,-36xm109,-198v-7,0,-15,2,-21,6v-6,4,-11,9,-15,16v-4,7,-6,14,-6,21v0,8,2,14,6,21v4,7,8,11,15,15v7,4,13,6,21,6v11,0,22,-5,30,-13v8,-8,13,-18,13,-29v0,-8,-2,-14,-6,-21v-4,-7,-9,-12,-16,-16v-7,-4,-13,-6,-21,-6","w":218},"\u00b9":{"d":"520,-67r0,42r-125,0r0,-42r125,0xm25,0r0,-259r188,0r42,209r2,0v-2,-16,-3,-29,-4,-39v-1,-10,-1,-22,-1,-36r0,-134r120,0r0,259r-186,0r-47,-213r-2,1v5,37,7,64,7,80r0,132r-119,0xm396,-160v0,-12,3,-24,9,-35v6,-11,13,-19,23,-25v10,-6,20,-10,31,-10v11,0,21,3,31,9v10,6,18,15,24,26v6,11,8,23,8,35v0,13,-2,24,-8,35v-6,11,-13,20,-23,26v-10,6,-21,9,-33,9v-12,0,-21,-3,-31,-9v-10,-6,-18,-14,-23,-25v-5,-11,-8,-23,-8,-36xm437,-159v0,9,2,16,6,21v4,5,9,8,15,8v7,0,13,-3,17,-9v4,-6,6,-13,6,-23v0,-8,-2,-16,-6,-21v-4,-5,-9,-7,-15,-7v-6,0,-12,3,-16,9v-4,6,-7,13,-7,22","w":576},"\u2116":{"d":"520,-67r0,42r-125,0r0,-42r125,0xm25,0r0,-259r188,0r42,209r2,0v-2,-16,-3,-29,-4,-39v-1,-10,-1,-22,-1,-36r0,-134r120,0r0,259r-186,0r-47,-213r-2,1v5,37,7,64,7,80r0,132r-119,0xm396,-160v0,-12,3,-24,9,-35v6,-11,13,-19,23,-25v10,-6,20,-10,31,-10v11,0,21,3,31,9v10,6,18,15,24,26v6,11,8,23,8,35v0,13,-2,24,-8,35v-6,11,-13,20,-23,26v-10,6,-21,9,-33,9v-12,0,-21,-3,-31,-9v-10,-6,-18,-14,-23,-25v-5,-11,-8,-23,-8,-36xm437,-159v0,9,2,16,6,21v4,5,9,8,15,8v7,0,13,-3,17,-9v4,-6,6,-13,6,-23v0,-8,-2,-16,-6,-21v-4,-5,-9,-7,-15,-7v-6,0,-12,3,-16,9v-4,6,-7,13,-7,22","w":576},"\u00b7":{"d":"19,-117r0,-34v13,-3,22,-6,27,-10v5,-4,7,-12,8,-23r-35,0r0,-75r76,0r0,76v0,21,-7,36,-23,48v-8,6,-17,11,-28,14v-5,1,-14,3,-25,4xm115,-117r0,-34v9,-2,15,-4,20,-6v5,-2,9,-6,11,-10v2,-4,3,-10,4,-17r-35,0r0,-75r76,0r0,76v0,20,-8,36,-24,48v-8,6,-17,11,-28,14v-5,1,-13,3,-24,4","w":209},"\u00cc":{"d":"144,0r-125,0r0,-259r201,0r32,154v0,0,0,3,2,9v2,6,5,20,8,43r1,0r3,-20r3,-19r4,-15r27,-152r199,0r0,259r-125,0r3,-166v0,-14,1,-30,2,-45r-2,0r-2,9v-2,10,-4,18,-6,25v-3,11,-2,12,-2,12r-30,165r-156,0r-32,-162v0,0,0,-5,-2,-13v0,-1,-1,-2,-2,-5v-1,-3,0,-6,-1,-8r-3,-14r-2,-9r-1,0r1,22r1,26","w":518},"\u041c":{"d":"144,0r-125,0r0,-259r201,0r32,154v0,0,0,3,2,9v2,6,5,20,8,43r1,0r3,-20r3,-19r4,-15r27,-152r199,0r0,259r-125,0r3,-166v0,-14,1,-30,2,-45r-2,0r-2,9v-2,10,-4,18,-6,25v-3,11,-2,12,-2,12r-30,165r-156,0r-32,-162v0,0,0,-5,-2,-13v0,-1,-1,-2,-2,-5v-1,-3,0,-6,-1,-8r-3,-14r-2,-9r-1,0r1,22r1,26","w":518},"\u00cd":{"d":"19,0r0,-259r125,0r0,74r42,0r0,-74r125,0r0,259r-125,0r0,-86r-42,0r0,86r-125,0","w":330},"\u041d":{"d":"19,0r0,-259r125,0r0,74r42,0r0,-74r125,0r0,259r-125,0r0,-86r-42,0r0,86r-125,0","w":330},"\u00cf":{"d":"19,0r0,-259r292,0r0,259r-125,0r0,-161r-42,0r0,161r-125,0","w":330},"\u041f":{"d":"19,0r0,-259r292,0r0,259r-125,0r0,-161r-42,0r0,161r-125,0","w":330},"\u00a8":{"d":"58,-266r0,-44r68,0r0,44r-68,0xm147,-266r0,-44r69,0r0,44r-69,0xm19,0r0,-259r231,0r0,67r-106,0r0,27r87,0r0,67r-87,0r0,30r111,0r0,68r-236,0","w":272},"\u0401":{"d":"58,-266r0,-44r68,0r0,44r-68,0xm147,-266r0,-44r69,0r0,44r-69,0xm19,0r0,-259r231,0r0,67r-106,0r0,27r87,0r0,67r-87,0r0,30r111,0r0,68r-236,0","w":272},"\u00d2":{"d":"58,0r0,-167r-55,0r0,-92r235,0r0,92r-55,0r0,167r-125,0","w":240},"\u0422":{"d":"58,0r0,-167r-55,0r0,-92r235,0r0,92r-55,0r0,167r-125,0","w":240},"\u00d3":{"d":"181,-259r125,0r-76,196v-10,26,-22,44,-37,52v-7,4,-17,8,-30,11v-13,3,-25,4,-36,4v-5,0,-25,-2,-59,-5v-4,0,-4,-1,-10,-1r-9,0r0,-53v13,4,21,5,26,5v6,0,11,-2,15,-5v4,-3,7,-7,7,-12v0,-4,-2,-8,-5,-12r-5,-6r-4,-5r-83,-169r133,0r26,152","w":304},"\u0423":{"d":"181,-259r125,0r-76,196v-10,26,-22,44,-37,52v-7,4,-17,8,-30,11v-13,3,-25,4,-36,4v-5,0,-25,-2,-59,-5v-4,0,-4,-1,-10,-1r-9,0r0,-53v13,4,21,5,26,5v6,0,11,-2,15,-5v4,-3,7,-7,7,-12v0,-4,-2,-8,-5,-12r-5,-6r-4,-5r-83,-169r133,0r26,152","w":304},"\u00d4":{"d":"179,35r0,-42v-22,-1,-36,-2,-44,-3v-8,-1,-18,-3,-30,-6v-19,-4,-35,-12,-48,-22v-13,-10,-24,-23,-31,-39v-7,-16,-10,-33,-10,-53v0,-13,2,-26,5,-38v3,-12,8,-22,15,-32v7,-10,15,-18,24,-24v10,-7,21,-12,32,-16v11,-4,24,-7,38,-9v14,-2,30,-3,49,-3r0,-36r111,0r0,36v28,0,51,3,69,7v18,4,33,10,47,19v10,6,19,14,26,24v7,10,12,22,16,34v4,12,5,25,5,39v0,39,-13,69,-40,91v-15,12,-31,19,-50,23r-29,5v0,0,-20,1,-44,3r0,42r-111,0xm179,-72r0,-117r-13,0v-4,1,-8,3,-10,5v-2,2,-4,4,-6,9v-6,14,-9,30,-9,47v0,12,2,24,6,36v2,7,4,12,6,14v2,2,6,4,11,6r15,0xm290,-72r15,0v5,-2,9,-3,11,-6v2,-3,5,-7,7,-14v3,-11,5,-23,5,-36v0,-9,-2,-19,-4,-29v-1,-5,-2,-11,-5,-18v-2,-4,-4,-7,-6,-9v-2,-2,-6,-4,-10,-5r-13,0r0,117","w":469},"\u0424":{"d":"179,35r0,-42v-22,-1,-36,-2,-44,-3v-8,-1,-18,-3,-30,-6v-19,-4,-35,-12,-48,-22v-13,-10,-24,-23,-31,-39v-7,-16,-10,-33,-10,-53v0,-13,2,-26,5,-38v3,-12,8,-22,15,-32v7,-10,15,-18,24,-24v10,-7,21,-12,32,-16v11,-4,24,-7,38,-9v14,-2,30,-3,49,-3r0,-36r111,0r0,36v28,0,51,3,69,7v18,4,33,10,47,19v10,6,19,14,26,24v7,10,12,22,16,34v4,12,5,25,5,39v0,39,-13,69,-40,91v-15,12,-31,19,-50,23r-29,5v0,0,-20,1,-44,3r0,42r-111,0xm179,-72r0,-117r-13,0v-4,1,-8,3,-10,5v-2,2,-4,4,-6,9v-6,14,-9,30,-9,47v0,12,2,24,6,36v2,7,4,12,6,14v2,2,6,4,11,6r15,0xm290,-72r15,0v5,-2,9,-3,11,-6v2,-3,5,-7,7,-14v3,-11,5,-23,5,-36v0,-9,-2,-19,-4,-29v-1,-5,-2,-11,-5,-18v-2,-4,-4,-7,-6,-9v-2,-2,-6,-4,-10,-5r-13,0r0,117","w":469},"\u00d6":{"d":"250,0r-231,0r0,-259r125,0r0,189r40,0r0,-189r124,0r0,200r26,0r0,114r-70,0","w":338},"\u0426":{"d":"250,0r-231,0r0,-259r125,0r0,189r40,0r0,-189r124,0r0,200r26,0r0,114r-70,0","w":338},"\u00d7":{"d":"298,0r-125,0r0,-97v-10,6,-20,11,-31,14v-16,4,-29,6,-41,6v-13,0,-25,-2,-37,-5v-12,-3,-21,-9,-29,-15v-7,-6,-13,-13,-17,-22v-4,-9,-6,-20,-6,-31r0,-109r125,0r0,85v0,20,6,30,19,30v7,0,12,-2,17,-9r0,-106r125,0r0,259","w":317},"\u0427":{"d":"298,0r-125,0r0,-97v-10,6,-20,11,-31,14v-16,4,-29,6,-41,6v-13,0,-25,-2,-37,-5v-12,-3,-21,-9,-29,-15v-7,-6,-13,-13,-17,-22v-4,-9,-6,-20,-6,-31r0,-109r125,0r0,85v0,20,6,30,19,30v7,0,12,-2,17,-9r0,-106r125,0r0,259","w":317},"\u00d8":{"d":"19,0r0,-259r125,0r0,189r26,0r0,-189r125,0r0,189r27,0r0,-189r124,0r0,259r-427,0","w":465},"\u0428":{"d":"19,0r0,-259r125,0r0,189r26,0r0,-189r125,0r0,189r27,0r0,-189r124,0r0,259r-427,0","w":465},"\u00d9":{"d":"412,0r-393,0r0,-259r125,0r0,189r26,0r0,-189r125,0r0,189r27,0r0,-189r124,0r0,200r54,0r0,114r-74,0","w":502},"\u0429":{"d":"412,0r-393,0r0,-259r125,0r0,189r26,0r0,-189r125,0r0,189r27,0r0,-189r124,0r0,200r54,0r0,114r-74,0","w":502},"\u00da":{"d":"5,-259r178,0r0,69r56,0v33,0,58,9,76,26v16,15,24,39,24,71v0,30,-9,52,-27,68v-10,9,-22,15,-38,19v-16,4,-36,6,-61,6r-155,0r0,-171r-53,0r0,-88xm183,-85r17,0v11,0,18,-1,22,-4v4,-3,7,-8,7,-15v0,-8,-4,-14,-11,-16v-4,-1,-10,-2,-19,-2r-16,0r0,37","w":345},"\u042a":{"d":"5,-259r178,0r0,69r56,0v33,0,58,9,76,26v16,15,24,39,24,71v0,30,-9,52,-27,68v-10,9,-22,15,-38,19v-16,4,-36,6,-61,6r-155,0r0,-171r-53,0r0,-88xm183,-85r17,0v11,0,18,-1,22,-4v4,-3,7,-8,7,-15v0,-8,-4,-14,-11,-16v-4,-1,-10,-2,-19,-2r-16,0r0,37","w":345},"\u00dc":{"d":"19,-259r125,0r0,69r56,0v33,0,59,9,77,26v16,15,23,39,23,71v0,30,-9,52,-27,68v-7,6,-14,11,-23,15v-9,4,-20,5,-32,7v-12,2,-27,3,-44,3r-155,0r0,-259xm144,-84r17,0v10,0,18,-2,22,-5v4,-3,7,-8,7,-15v0,-8,-4,-14,-11,-16v-4,-1,-10,-2,-19,-2r-16,0r0,38","w":307},"\u042c":{"d":"19,-259r125,0r0,69r56,0v33,0,59,9,77,26v16,15,23,39,23,71v0,30,-9,52,-27,68v-7,6,-14,11,-23,15v-9,4,-20,5,-32,7v-12,2,-27,3,-44,3r-155,0r0,-259xm144,-84r17,0v10,0,18,-2,22,-5v4,-3,7,-8,7,-15v0,-8,-4,-14,-11,-16v-4,-1,-10,-2,-19,-2r-16,0r0,38","w":307},"\u00de":{"d":"181,-177v3,-10,6,-18,8,-24v2,-6,6,-11,11,-18v6,-8,13,-15,21,-21v8,-6,17,-11,27,-15v10,-4,21,-6,33,-8v12,-2,27,-3,42,-3v34,0,63,6,87,16v24,10,42,26,54,46v12,20,18,45,18,74v0,14,-1,27,-4,40v-3,13,-7,24,-13,35v-6,11,-12,20,-20,27v-12,11,-28,20,-48,26v-20,6,-43,9,-70,9v-45,0,-81,-9,-106,-26v-8,-6,-15,-12,-21,-20v-6,-8,-11,-16,-14,-23v-3,-7,-6,-17,-8,-30r-34,0r0,92r-125,0r0,-259r125,0r0,82r37,0xm291,-128v0,30,11,46,33,46v11,0,18,-5,24,-13v6,-8,9,-20,9,-36v0,-31,-11,-46,-33,-46v-22,0,-33,16,-33,49","w":498},"\u042e":{"d":"181,-177v3,-10,6,-18,8,-24v2,-6,6,-11,11,-18v6,-8,13,-15,21,-21v8,-6,17,-11,27,-15v10,-4,21,-6,33,-8v12,-2,27,-3,42,-3v34,0,63,6,87,16v24,10,42,26,54,46v12,20,18,45,18,74v0,14,-1,27,-4,40v-3,13,-7,24,-13,35v-6,11,-12,20,-20,27v-12,11,-28,20,-48,26v-20,6,-43,9,-70,9v-45,0,-81,-9,-106,-26v-8,-6,-15,-12,-21,-20v-6,-8,-11,-16,-14,-23v-3,-7,-6,-17,-8,-30r-34,0r0,92r-125,0r0,-259r125,0r0,82r37,0xm291,-128v0,30,11,46,33,46v11,0,18,-5,24,-13v6,-8,9,-20,9,-36v0,-31,-11,-46,-33,-46v-22,0,-33,16,-33,49","w":498},"\u00df":{"d":"301,0r-124,0r0,-108r-5,0r-34,108r-135,0r70,-119v-12,-2,-22,-5,-30,-9v-11,-5,-19,-12,-24,-21v-5,-9,-7,-20,-7,-33v0,-13,3,-25,8,-35v5,-10,12,-19,21,-25v8,-6,17,-9,27,-11v9,-2,20,-3,34,-4v14,-1,28,-2,42,-2r157,0r0,259xm177,-149r0,-38r-16,0v-9,0,-15,1,-19,2v-7,2,-10,9,-10,17v0,7,2,11,6,14v4,3,13,5,23,5r16,0","w":320},"\u042f":{"d":"301,0r-124,0r0,-108r-5,0r-34,108r-135,0r70,-119v-12,-2,-22,-5,-30,-9v-11,-5,-19,-12,-24,-21v-5,-9,-7,-20,-7,-33v0,-13,3,-25,8,-35v5,-10,12,-19,21,-25v8,-6,17,-9,27,-11v9,-2,20,-3,34,-4v14,-1,28,-2,42,-2r157,0r0,259xm177,-149r0,-38r-16,0v-9,0,-15,1,-19,2v-7,2,-10,9,-10,17v0,7,2,11,6,14v4,3,13,5,23,5r16,0","w":320},"\u00bf":{"d":"33,-279r27,0r30,35r29,-35r27,0r-33,65r-46,0","w":180},"\u0457":{"d":"33,-279r27,0r30,35r29,-35r27,0r-33,65r-46,0","w":180}}});
/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * Eurotype
 */
Cufon.registerFont({"w":180,"face":{"font-family":"HebarExtraLight","font-weight":400,"font-style":"italic","font-stretch":"normal","units-per-em":"360","panose-1":"2 11 114 0 0 0 0 0 0 0","ascent":"288","descent":"-72","x-height":"3","bbox":"-17 -299 362 91","underline-thickness":"3.42773","underline-position":"-17.2266","slope":"11","unicode-range":"U+0020-U+00FF"},"glyphs":{" ":{"w":95},"!":{"d":"36,0r6,-30r17,0r-6,30r-17,0xm54,-63r17,-102r20,-94r17,0r-20,94r-27,102r-7,0","w":88},"\"":{"d":"62,-256r15,0r0,97r-15,0r0,-97xm109,-256r15,0r0,97r-15,0r0,-97","w":96},"#":{"d":"196,-256r15,0r-49,88r56,0r50,-88r15,0r-50,88r57,0r-8,11r-54,0r-33,59r61,0r-8,11r-61,0r-49,87r-15,0r49,-87r-57,0r-50,87r-14,0r49,-87r-59,0r8,-11r59,0r32,-59r-65,0r7,-11r64,0xm155,-157r-32,59r57,0r32,-59r-57,0","w":276},"$":{"d":"30,-74r14,0v-1,9,-2,17,-2,22v0,8,1,16,4,21v3,5,7,9,13,12v6,3,14,5,25,7r23,-108v-12,-4,-20,-9,-25,-11v-5,-2,-9,-5,-14,-9v-7,-7,-11,-15,-11,-26v0,-12,2,-23,7,-34v5,-11,11,-20,19,-27v5,-4,10,-7,14,-9v8,-4,21,-7,37,-10r4,-23r11,0r-4,24v12,1,21,2,28,5v8,3,14,8,18,15v4,7,7,14,7,22v0,4,0,9,-1,15r-14,0v0,-6,1,-9,1,-10v0,-21,-14,-34,-42,-35r-21,101v13,4,22,8,27,11v5,3,10,7,15,12v7,7,10,16,10,28v0,27,-9,48,-28,63v-5,5,-11,8,-17,11v-5,2,-10,4,-15,5v-5,1,-11,2,-20,2r-7,30r-11,0r6,-30v-7,-1,-11,-1,-15,-2v-4,-1,-7,-2,-10,-3v-3,-1,-6,-3,-10,-5v-6,-4,-9,-8,-11,-11v-5,-8,-8,-18,-8,-31v0,-5,2,-12,3,-22xm110,-137r21,-96v-5,1,-11,2,-15,3v-10,2,-19,8,-27,15v-5,5,-10,11,-13,18v-3,7,-4,15,-4,22v0,7,2,14,6,19v3,3,7,6,11,8v4,2,10,6,21,11xm95,-12v6,0,10,-1,15,-2v10,-2,21,-8,30,-17v12,-12,18,-25,18,-42v0,-10,-3,-19,-8,-25v-3,-4,-7,-8,-12,-10v-5,-2,-12,-5,-21,-8"},"%":{"d":"52,-162v-1,-3,-1,-6,-1,-9v0,-13,4,-25,11,-36v7,-11,16,-20,27,-27v11,-7,23,-10,36,-10v9,0,18,2,25,6v7,4,13,10,17,17v4,7,6,15,6,24v0,12,-3,24,-10,35v-7,11,-16,19,-28,26v-12,7,-23,10,-36,10v-8,0,-16,-2,-22,-5v-6,-3,-12,-7,-16,-12v-4,-5,-8,-12,-9,-19xm54,7r217,-259r18,0r-216,259r-19,0xm175,-36v-1,-3,-1,-6,-1,-9v0,-12,4,-25,11,-36v7,-11,16,-20,27,-27v11,-7,23,-10,36,-10v9,0,18,2,25,6v7,4,13,10,17,17v4,7,6,15,6,24v0,12,-3,24,-10,35v-7,11,-16,19,-28,26v-12,7,-23,10,-36,10v-12,0,-23,-3,-31,-9v-8,-6,-14,-16,-16,-27xm121,-227v-9,0,-18,2,-26,7v-8,5,-13,11,-18,19v-5,8,-7,17,-7,26v0,10,3,18,9,24v6,6,14,8,24,8v9,0,17,-2,25,-7v8,-5,14,-11,19,-19v5,-8,7,-16,7,-25v0,-9,-4,-17,-10,-23v-6,-6,-14,-10,-23,-10xm244,-100v-9,0,-18,2,-26,7v-8,5,-13,11,-18,19v-5,8,-7,16,-7,25v0,10,3,18,9,24v6,6,14,9,24,9v9,0,17,-2,25,-7v8,-5,14,-11,19,-19v5,-8,7,-16,7,-25v0,-10,-3,-18,-9,-24v-6,-6,-14,-9,-24,-9","w":291},"&":{"d":"201,0r-20,-35v-7,7,-13,13,-18,16v-5,3,-9,7,-15,10v-16,9,-34,13,-52,13v-21,0,-36,-4,-47,-14v-11,-10,-17,-24,-17,-42v0,-8,2,-16,4,-24v2,-8,5,-16,10,-23v5,-7,11,-15,17,-21v4,-4,7,-7,12,-10v8,-6,19,-13,34,-20v-6,-10,-9,-17,-11,-22v-3,-8,-4,-16,-4,-23v0,-11,3,-21,9,-31v6,-10,14,-18,24,-24v10,-6,21,-9,32,-9v9,0,16,2,23,5v7,3,11,8,15,14v4,6,5,12,5,20v0,11,-2,21,-8,31v-3,5,-6,11,-12,17v-6,6,-13,10,-19,14v-6,4,-16,9,-29,14r49,86v6,-12,12,-21,14,-27v3,-8,6,-18,9,-31r15,0v-4,15,-8,27,-13,38v-4,8,-9,17,-16,28r28,50r-19,0xm129,-154v13,-7,24,-12,31,-18v15,-13,23,-28,23,-44v0,-8,-3,-15,-8,-20v-5,-5,-12,-7,-20,-7v-12,0,-21,5,-29,14v-8,9,-13,19,-13,32v0,5,1,11,3,17v2,7,7,15,13,26xm116,-138v-15,8,-28,15,-37,22v-6,5,-10,10,-15,17v-5,7,-9,14,-11,21v-2,7,-3,14,-3,21v0,9,2,18,6,25v4,7,10,13,18,17v8,4,16,6,26,6v12,0,25,-4,39,-11v6,-3,12,-6,16,-9v4,-3,9,-9,16,-15","w":237},"'":{"d":"74,-177r3,-14v6,-4,10,-9,12,-13v2,-4,3,-10,5,-18v0,-1,1,-1,1,-2r0,-1r0,-2r-11,0r7,-32r24,0r-9,43v-3,13,-8,23,-15,29v-4,3,-10,7,-17,10","w":95},"(":{"d":"163,-259v-16,19,-16,19,-26,32v-7,10,-14,19,-20,29v-6,10,-11,19,-16,29v-5,10,-8,20,-12,30v-6,17,-11,36,-15,56v-4,20,-6,37,-6,53v0,7,1,14,2,20v1,10,1,17,3,25v2,8,4,16,7,25v3,9,8,20,13,33r-17,0v-8,-16,-14,-30,-18,-41v-4,-11,-6,-21,-8,-31v-2,-10,-3,-21,-3,-33v0,-42,9,-82,26,-121v6,-13,11,-25,17,-35v6,-10,14,-20,22,-31v8,-11,19,-24,34,-40r17,0","w":113},")":{"d":"60,-259r17,0v11,23,19,43,23,57v4,14,5,30,5,48v0,21,-2,42,-6,62v-4,20,-11,40,-19,59v-4,10,-9,18,-13,26v-4,8,-9,16,-14,24v-5,8,-12,16,-19,25v-7,9,-16,19,-27,31r-18,0v11,-13,20,-23,26,-32v21,-27,37,-55,48,-86v6,-18,11,-36,15,-56v4,-20,5,-39,5,-56r0,-21v-1,-13,-4,-25,-7,-36v-3,-11,-8,-26,-16,-45","w":113},"*":{"d":"131,-185r-32,51r-16,-12r38,-45r-56,-13r7,-20r53,22r-2,-57r16,0r-1,56r52,-21r7,19r-56,13r39,46r-17,12"},"+":{"d":"166,-215r14,0r0,100r98,0r0,15r-98,0r0,100r-14,0r0,-100r-99,0r0,-15r99,0r0,-100","w":299},",":{"d":"26,50r2,-14v6,-4,10,-8,12,-12v2,-4,4,-10,6,-19v0,0,1,-2,1,-3r0,-2r-11,0r7,-32r24,0r-9,43v-3,13,-9,23,-16,29v-4,3,-8,7,-16,10","w":95},"-":{"d":"35,-94r0,-20r87,0r0,20r-87,0","w":115},".":{"d":"36,0r0,-32r24,0r0,32r-24,0","w":96},"\/":{"d":"153,-266r17,0r-159,296r-18,0","w":113},"0":{"d":"31,-70v1,-24,4,-47,11,-71v7,-24,15,-46,26,-64v18,-31,41,-46,70,-46v37,0,56,21,56,64v0,3,-1,9,-1,17v-2,34,-9,65,-20,95v-10,27,-22,47,-37,60v-15,13,-31,19,-51,19v-36,0,-54,-23,-54,-69r0,-5xm136,-236v-20,0,-39,11,-54,34v-5,7,-9,17,-13,27v-4,10,-9,22,-12,34v-3,12,-6,25,-8,37v-2,12,-3,23,-3,33v0,21,4,36,11,47v7,11,17,16,30,16v23,0,42,-13,57,-39v6,-10,11,-20,15,-31v4,-11,7,-26,11,-44v5,-23,8,-42,8,-56v0,-12,-2,-23,-5,-32v-3,-9,-8,-15,-14,-19v-6,-4,-14,-7,-23,-7"},"1":{"d":"88,0r43,-201v-7,5,-14,7,-20,9v-10,3,-24,5,-43,5r4,-15v6,0,13,-1,20,-2v12,-2,22,-5,30,-12v3,-2,6,-6,10,-11v4,-6,8,-14,12,-25r13,0r-53,252r-16,0"},"2":{"d":"8,0v2,-9,4,-15,5,-19v5,-16,13,-31,26,-44v7,-7,15,-13,24,-20v13,-9,27,-17,44,-25v18,-8,30,-14,38,-19v8,-5,15,-10,21,-16v6,-6,11,-14,15,-23v4,-9,6,-18,6,-27v0,-9,-2,-16,-6,-23v-4,-7,-9,-12,-16,-15v-7,-3,-15,-6,-25,-6v-19,0,-34,8,-46,22v-4,5,-8,10,-11,15v-5,8,-8,19,-12,32r-16,0v3,-10,5,-17,7,-21v5,-14,13,-27,23,-38v15,-16,35,-24,60,-24v12,0,22,2,31,6v9,4,15,10,20,18v5,8,7,18,7,29v0,15,-3,29,-10,43v-4,8,-9,14,-15,20v-6,6,-13,12,-23,18v-10,6,-24,12,-42,21v-31,15,-54,31,-69,47v-5,5,-9,11,-11,15v-2,4,-5,11,-7,19r139,0r-3,15r-154,0"},"3":{"d":"31,-72r16,0v-1,10,-2,17,-2,21v0,29,15,43,44,43v18,0,32,-5,43,-17v8,-8,13,-18,18,-28v5,-10,7,-20,7,-29v0,-13,-5,-24,-14,-31v-9,-7,-22,-11,-39,-11r-8,0r3,-12r4,0v14,0,27,-3,38,-8v11,-5,19,-13,25,-23v6,-10,9,-21,9,-34v0,-12,-4,-21,-10,-27v-6,-6,-15,-9,-27,-9v-30,0,-51,20,-63,60r-16,0v5,-15,10,-26,14,-33v8,-14,17,-24,28,-31v11,-7,24,-10,38,-10v17,0,29,4,38,12v9,8,13,19,13,34v0,17,-4,31,-13,45v-3,5,-7,10,-12,14v-4,4,-8,6,-12,8v-4,2,-10,4,-18,6v8,2,13,4,17,6v4,2,7,5,10,8v8,8,11,19,11,34v0,15,-4,29,-12,44v-9,15,-19,26,-32,33v-13,7,-28,11,-46,11v-19,0,-32,-4,-41,-13v-9,-9,-14,-24,-14,-43v0,-6,2,-12,3,-20"},"4":{"d":"109,0r13,-62r-103,0r5,-20r136,-162r17,0r-36,166r39,0r-4,16r-37,0r-14,62r-16,0xm126,-78r31,-144r-120,144r89,0"},"5":{"d":"30,-65r15,0r0,16v0,13,3,24,10,31v7,7,17,10,31,10v13,0,26,-4,37,-12v11,-8,19,-19,26,-32v7,-13,10,-27,10,-43v0,-16,-4,-29,-12,-38v-8,-9,-19,-13,-33,-13v-5,0,-10,1,-15,2v-7,2,-13,5,-19,9v-6,4,-13,10,-20,19r-13,0r45,-128r103,0r-3,15r-92,0r-33,93v5,-5,9,-10,14,-13v4,-3,10,-6,17,-8v7,-2,14,-3,22,-3v18,0,32,5,41,15v9,10,14,24,14,43v0,12,-1,25,-5,37v-4,12,-9,22,-16,32v-9,13,-19,22,-30,28v-11,6,-25,9,-40,9v-19,0,-32,-4,-41,-12v-9,-8,-14,-21,-14,-39v0,-6,0,-12,1,-18"},"6":{"d":"51,-101v5,-10,9,-18,13,-23v4,-5,7,-10,12,-15v14,-13,31,-21,50,-21v16,0,28,5,37,16v9,11,13,26,13,46v0,19,-5,36,-14,54v-4,7,-9,15,-15,22v-8,9,-17,16,-26,20v-9,4,-21,6,-34,6v-13,0,-22,-2,-30,-6v-8,-4,-13,-12,-17,-21v-4,-9,-6,-21,-6,-36v0,-23,4,-49,11,-76v7,-27,17,-51,28,-70v6,-10,13,-18,21,-25v8,-7,16,-12,25,-16v9,-4,19,-6,29,-6v15,0,27,4,35,13v8,9,12,21,12,37v0,1,-1,6,-1,14r-14,0v0,-11,0,-19,-1,-23v-3,-17,-15,-26,-35,-26v-15,0,-29,6,-41,17v-8,7,-14,15,-19,23v-7,11,-12,22,-16,34v-4,12,-10,33,-17,62xm121,-145v-12,0,-24,3,-35,12v-11,9,-19,21,-25,35v-6,14,-10,29,-10,46v0,29,14,44,41,44v16,0,29,-6,39,-17v8,-9,16,-19,21,-33v5,-14,8,-28,8,-40v0,-10,-2,-18,-5,-25v-3,-7,-8,-13,-14,-17v-6,-4,-12,-5,-20,-5"},"7":{"d":"45,0v12,-31,21,-53,29,-69v8,-16,17,-32,28,-49v7,-11,15,-22,23,-32v8,-10,17,-21,28,-33r42,-44r-133,0r3,-17r149,0r-4,22v-24,24,-43,43,-55,57v-12,14,-24,30,-36,50v-11,17,-21,34,-28,49v-7,15,-16,38,-27,66r-19,0"},"8":{"d":"91,-133v-11,-4,-18,-8,-22,-13v-4,-5,-6,-14,-6,-24v0,-15,3,-28,10,-41v7,-13,17,-23,29,-30v12,-7,25,-11,39,-11v32,0,48,17,48,49v0,13,-3,25,-9,36v-3,5,-6,11,-10,15v-4,5,-8,9,-12,11v-4,2,-10,5,-18,8v7,2,12,5,15,7v3,2,6,5,9,8v6,9,9,20,9,34v0,12,-3,27,-11,42v-17,31,-43,46,-77,46v-38,0,-57,-19,-57,-56v0,-16,5,-31,14,-45v4,-7,9,-13,15,-19v5,-4,9,-7,14,-9v5,-2,12,-5,20,-8xm138,-238v-10,0,-20,3,-29,9v-9,6,-17,13,-22,23v-5,10,-8,19,-8,30v0,10,4,19,11,26v7,7,16,11,27,11v10,0,19,-3,28,-9v9,-6,16,-13,21,-22v5,-9,7,-19,7,-30v0,-12,-3,-21,-9,-28v-6,-7,-15,-10,-26,-10xm113,-126v-9,0,-18,2,-26,6v-8,4,-16,8,-22,15v-6,7,-11,15,-15,24v-4,9,-5,19,-5,29v0,14,4,24,11,32v7,8,17,12,31,12v12,0,24,-3,35,-10v11,-7,19,-16,25,-27v6,-11,9,-24,9,-38v0,-14,-4,-24,-11,-32v-7,-8,-18,-11,-32,-11"},"9":{"d":"175,-147v-9,18,-18,31,-26,39v-14,13,-30,20,-49,20v-11,0,-20,-2,-27,-7v-7,-5,-13,-12,-17,-21v-4,-9,-6,-20,-6,-33v0,-19,5,-37,14,-55v5,-9,10,-17,15,-22v8,-9,17,-16,26,-20v9,-4,20,-6,33,-6v13,0,23,2,31,6v8,4,13,12,17,21v4,9,6,22,6,37v0,15,-2,31,-5,49v-3,18,-8,35,-14,52v-6,17,-13,32,-20,44v-6,10,-13,18,-21,25v-8,7,-16,13,-25,17v-9,4,-19,5,-29,5v-15,0,-27,-4,-35,-13v-8,-9,-12,-21,-12,-37r0,-14r14,0v0,11,1,18,2,23v2,8,6,15,12,19v6,4,14,7,23,7v15,0,28,-6,40,-17v8,-7,15,-14,20,-23v4,-7,8,-15,11,-22v3,-7,6,-17,9,-27v3,-10,8,-26,13,-47xm105,-103v12,0,24,-3,35,-12v11,-9,19,-21,25,-35v6,-14,10,-30,10,-47v0,-29,-14,-43,-41,-43v-16,0,-30,6,-40,17v-8,9,-15,20,-20,34v-5,14,-7,26,-7,39v0,15,3,27,10,35v7,8,16,12,28,12"},":":{"d":"38,0r7,-32r24,0r-7,32r-24,0xm72,-157r6,-32r25,0r-7,32r-24,0","w":100},";":{"d":"28,50r3,-14v6,-4,10,-8,12,-12v2,-4,4,-10,6,-19v0,-2,1,-4,1,-5r-12,0r7,-32r24,0r-9,43v-3,13,-8,23,-15,29v-4,3,-9,7,-17,10xm72,-157r6,-32r25,0r-7,32r-24,0","w":100},"<":{"d":"267,-182r0,16r-184,74r184,75r0,15r-207,-84r0,-11","w":299},"=":{"d":"67,-146r210,0r0,14r-210,0r0,-14xm67,-82r210,0r0,14r-210,0r0,-14","w":299},">":{"d":"68,-182r207,85r0,11r-207,84r0,-15r183,-75r-183,-74r0,-16","w":299},"?":{"d":"70,0r7,-32r16,0r-7,32r-16,0xm84,-63v3,-14,5,-24,7,-30v2,-6,5,-11,8,-17v5,-8,17,-21,37,-37v11,-9,18,-15,23,-20v5,-5,8,-10,11,-16v5,-9,7,-21,7,-32v0,-24,-12,-35,-37,-35v-18,0,-32,5,-42,15v-5,4,-8,9,-12,15v-3,5,-6,10,-8,14v-2,4,-4,11,-7,20r-15,0v3,-11,6,-20,9,-26v3,-6,6,-12,11,-19v8,-12,18,-20,28,-25v10,-5,23,-7,38,-7v35,0,52,15,52,47v0,13,-4,25,-11,37v-4,6,-8,12,-14,19v-4,4,-12,12,-25,23r-8,6v-13,11,-22,20,-26,28v-4,7,-8,20,-12,40r-14,0","w":176},"@":{"d":"233,-55v-6,9,-12,15,-17,19v-5,4,-10,8,-17,10v-7,2,-14,4,-21,4v-10,0,-19,-3,-27,-8v-8,-5,-14,-11,-18,-20v-4,-9,-7,-20,-7,-31v0,-17,4,-32,11,-47v7,-15,18,-26,30,-35v12,-9,26,-13,40,-13v14,0,27,4,35,13v4,3,6,9,10,17r11,-23r14,0r-24,97r0,1r-1,3v-2,7,-2,12,-2,15v0,5,2,9,5,12v3,3,8,5,14,5v13,0,25,-5,37,-14v12,-9,21,-21,28,-36v7,-15,11,-32,11,-50v0,-15,-3,-30,-9,-43v-6,-13,-15,-25,-26,-34v-11,-9,-24,-17,-40,-22v-16,-5,-34,-7,-52,-7v-22,0,-42,3,-61,11v-19,8,-36,18,-50,32v-14,14,-25,30,-33,48v-8,18,-11,38,-11,59v0,19,3,36,10,52v7,16,16,30,28,41v12,11,28,20,45,26v17,6,36,9,56,9v16,0,32,-2,49,-6v12,-3,22,-6,30,-10v8,-4,20,-11,34,-19r5,8v-9,7,-17,12,-23,15r-21,11v-22,9,-46,13,-71,13v-23,0,-45,-3,-65,-10v-20,-7,-37,-16,-51,-29v-14,-13,-25,-28,-33,-45v-8,-17,-11,-37,-11,-57v0,-30,7,-57,22,-82v15,-25,36,-45,63,-59v27,-14,56,-22,88,-22v21,0,40,3,58,9v18,6,33,14,46,25v13,11,23,24,30,39v7,15,10,31,10,48v0,20,-4,39,-13,56v-9,17,-20,31,-35,41v-15,10,-31,15,-48,15v-22,0,-33,-9,-33,-27r0,-5xm249,-127v-2,-9,-6,-15,-9,-20v-8,-11,-19,-16,-33,-16v-11,0,-21,3,-31,11v-10,8,-16,18,-22,31v-6,13,-9,26,-9,41v0,13,4,25,11,33v7,8,16,12,28,12v8,0,16,-2,23,-6v7,-4,14,-10,19,-17v5,-7,10,-16,12,-25","w":360},"A":{"d":"1,0r146,-262r18,0r35,262r-16,0r-11,-86r-110,0r-46,86r-16,0xm74,-100r95,0r-17,-145","w":212},"\u00c0":{"d":"1,0r146,-262r18,0r35,262r-16,0r-11,-86r-110,0r-46,86r-16,0xm74,-100r95,0r-17,-145","w":212},"\u0410":{"d":"1,0r146,-262r18,0r35,262r-16,0r-11,-86r-110,0r-46,86r-16,0xm74,-100r95,0r-17,-145","w":212},"B":{"d":"35,0r55,-259r68,0v25,0,42,4,52,11v6,4,12,9,15,16v3,7,5,14,5,22v0,12,-3,25,-9,37v-4,8,-10,15,-17,21v-5,4,-10,8,-14,10v-4,2,-10,4,-19,6v11,2,20,5,26,8v6,3,10,8,13,14v4,7,6,17,6,27v0,11,-3,22,-8,34v-5,12,-11,22,-19,30v-8,8,-18,12,-28,16v-7,2,-16,5,-26,6v-10,1,-26,1,-46,1r-54,0xm103,-244r-22,103r52,0v10,0,19,-1,27,-2v12,-3,23,-8,33,-16v6,-5,12,-12,15,-20v3,-8,5,-17,5,-27v0,-8,-2,-14,-5,-20v-3,-7,-8,-11,-16,-14v-8,-3,-19,-4,-35,-4r-54,0xm54,-15r66,0v27,0,47,-5,59,-17v6,-6,10,-14,14,-24v4,-10,6,-19,6,-29v0,-28,-18,-42,-53,-42r-68,0","w":233},"C":{"d":"220,-85r16,0v-5,15,-10,27,-16,37v-6,10,-12,18,-18,24v-7,7,-14,12,-21,16v-7,4,-15,7,-24,9v-9,2,-19,3,-31,3v-56,0,-84,-29,-84,-89v0,-27,5,-54,15,-80v12,-32,28,-57,50,-74v22,-17,48,-25,77,-25v15,0,29,3,40,8v11,5,18,12,23,22v2,5,4,11,6,18v2,7,3,14,3,19v0,4,-1,9,-2,14r-15,0r0,-12v0,-11,-2,-20,-7,-28v-5,-8,-11,-15,-20,-20v-9,-5,-18,-7,-29,-7v-12,0,-25,3,-37,7v-12,4,-23,11,-33,19v-10,8,-18,18,-25,29v-9,14,-16,30,-21,50v-5,20,-8,37,-8,55v0,13,2,25,5,35v3,10,8,18,14,25v6,7,14,12,23,16v9,4,19,5,30,5v11,0,22,-2,33,-6v11,-4,20,-10,27,-17v6,-7,11,-14,16,-23v4,-7,8,-17,13,-30","w":245},"\u00d1":{"d":"220,-85r16,0v-5,15,-10,27,-16,37v-6,10,-12,18,-18,24v-7,7,-14,12,-21,16v-7,4,-15,7,-24,9v-9,2,-19,3,-31,3v-56,0,-84,-29,-84,-89v0,-27,5,-54,15,-80v12,-32,28,-57,50,-74v22,-17,48,-25,77,-25v15,0,29,3,40,8v11,5,18,12,23,22v2,5,4,11,6,18v2,7,3,14,3,19v0,4,-1,9,-2,14r-15,0r0,-12v0,-11,-2,-20,-7,-28v-5,-8,-11,-15,-20,-20v-9,-5,-18,-7,-29,-7v-12,0,-25,3,-37,7v-12,4,-23,11,-33,19v-10,8,-18,18,-25,29v-9,14,-16,30,-21,50v-5,20,-8,37,-8,55v0,13,2,25,5,35v3,10,8,18,14,25v6,7,14,12,23,16v9,4,19,5,30,5v11,0,22,-2,33,-6v11,-4,20,-10,27,-17v6,-7,11,-14,16,-23v4,-7,8,-17,13,-30","w":245},"\u0421":{"d":"220,-85r16,0v-5,15,-10,27,-16,37v-6,10,-12,18,-18,24v-7,7,-14,12,-21,16v-7,4,-15,7,-24,9v-9,2,-19,3,-31,3v-56,0,-84,-29,-84,-89v0,-27,5,-54,15,-80v12,-32,28,-57,50,-74v22,-17,48,-25,77,-25v15,0,29,3,40,8v11,5,18,12,23,22v2,5,4,11,6,18v2,7,3,14,3,19v0,4,-1,9,-2,14r-15,0r0,-12v0,-11,-2,-20,-7,-28v-5,-8,-11,-15,-20,-20v-9,-5,-18,-7,-29,-7v-12,0,-25,3,-37,7v-12,4,-23,11,-33,19v-10,8,-18,18,-25,29v-9,14,-16,30,-21,50v-5,20,-8,37,-8,55v0,13,2,25,5,35v3,10,8,18,14,25v6,7,14,12,23,16v9,4,19,5,30,5v11,0,22,-2,33,-6v11,-4,20,-10,27,-17v6,-7,11,-14,16,-23v4,-7,8,-17,13,-30","w":245},"D":{"d":"35,0r55,-259r51,0r18,1r30,0v13,0,24,3,34,10v10,7,17,16,22,28v5,12,8,25,8,40v0,14,-2,30,-5,48v-5,26,-12,47,-22,65v-14,26,-32,45,-54,56v-7,3,-15,6,-22,7v-12,3,-30,4,-54,4r-61,0xm54,-15r50,0v16,0,29,-1,37,-2v8,-1,16,-3,24,-6v16,-7,31,-20,42,-40v9,-16,16,-34,22,-55v6,-21,8,-41,8,-59v0,-11,-1,-20,-4,-28v-3,-8,-7,-15,-13,-21v-5,-5,-10,-9,-16,-12v-6,-3,-13,-4,-23,-5v-10,-1,-23,-1,-39,-1r-39,0","w":249},"E":{"d":"35,0r55,-259r138,0r-3,15r-122,0r-22,103r110,0r-3,15r-110,0r-24,111r127,0r-4,15r-142,0","w":199},"\u00c5":{"d":"35,0r55,-259r138,0r-3,15r-122,0r-22,103r110,0r-3,15r-110,0r-24,111r127,0r-4,15r-142,0","w":199},"\u0415":{"d":"35,0r55,-259r138,0r-3,15r-122,0r-22,103r110,0r-3,15r-110,0r-24,111r127,0r-4,15r-142,0","w":199},"F":{"d":"35,0r55,-259r138,0r-3,15r-122,0r-23,108r110,0r-3,14r-110,0r-26,122r-16,0","w":190},"G":{"d":"210,0r9,-57v-6,10,-10,19,-14,24v-4,5,-9,10,-15,15v-18,15,-40,22,-65,22v-27,0,-47,-7,-61,-23v-14,-16,-21,-39,-21,-70v0,-32,7,-62,21,-91v7,-15,16,-29,27,-42v9,-10,18,-18,27,-24v9,-6,19,-10,30,-13v11,-3,23,-4,37,-4v31,0,52,9,63,29v3,7,6,14,7,21v1,7,2,16,2,29r-17,0v0,-14,-2,-25,-5,-34v-9,-21,-27,-32,-55,-32v-22,0,-43,7,-61,21v-18,14,-32,33,-43,57v-11,24,-17,51,-17,79v0,18,4,34,9,46v5,12,12,22,23,28v11,6,24,10,39,10v24,0,45,-9,63,-27v8,-8,14,-18,19,-27v4,-7,8,-15,10,-22v2,-7,5,-17,8,-29r-76,0r3,-14r91,0r-27,128r-11,0","w":260},"H":{"d":"35,0r55,-259r16,0r-25,115r148,0r24,-115r16,0r-55,259r-16,0r27,-129r-147,0r-27,129r-16,0","w":258},"I":{"d":"35,0r55,-259r16,0r-55,259r-16,0","w":86},"J":{"d":"28,-80r16,0v-4,19,-6,33,-6,42v0,9,3,16,9,22v6,6,14,8,24,8v9,0,18,-2,27,-7v8,-5,14,-11,18,-19v4,-8,8,-19,11,-34r41,-191r16,0r-42,196v-10,45,-34,67,-74,67v-31,0,-47,-14,-47,-43v0,-6,2,-18,6,-35","w":167},"K":{"d":"35,0r55,-259r16,0r-29,137r153,-137r23,0r-118,102r75,157r-18,0r-69,-147r-50,43r-22,104r-16,0","w":223},"L":{"d":"35,0r55,-259r16,0r-52,244r107,0r-4,15r-122,0","w":168},"M":{"d":"35,0r55,-259r23,0r35,248r137,-248r22,0r-55,259r-16,0r53,-241r-134,241r-21,0r-32,-242r-51,242r-16,0","w":298},"N":{"d":"35,0r55,-259r23,0r88,244r52,-244r16,0r-56,259r-21,0r-91,-243r-50,243r-16,0","w":257},"O":{"d":"43,-74v0,-3,-1,-9,-1,-15v0,-19,3,-38,9,-58v6,-20,15,-37,25,-53v9,-14,20,-27,35,-39v22,-17,47,-25,74,-25v22,0,40,5,53,14v7,5,12,11,17,19v5,8,9,17,11,27v2,10,4,22,4,34v0,18,-3,36,-8,54v-5,18,-12,37,-22,53v-9,15,-19,27,-31,37v-12,10,-24,18,-38,23v-14,5,-29,7,-45,7v-25,0,-44,-7,-58,-20v-14,-13,-23,-33,-25,-58xm181,-250v-11,0,-23,2,-35,7v-12,5,-23,12,-33,21v-10,9,-19,19,-26,30v-5,8,-10,17,-14,29v-4,12,-9,24,-11,36v-2,12,-3,23,-3,33v0,17,2,32,8,45v6,13,13,23,24,30v11,7,24,10,38,10v23,0,43,-7,62,-21v19,-14,34,-34,45,-58v11,-24,17,-51,17,-80v0,-26,-6,-46,-19,-60v-13,-14,-30,-22,-53,-22","w":268},"\u00ce":{"d":"43,-74v0,-3,-1,-9,-1,-15v0,-19,3,-38,9,-58v6,-20,15,-37,25,-53v9,-14,20,-27,35,-39v22,-17,47,-25,74,-25v22,0,40,5,53,14v7,5,12,11,17,19v5,8,9,17,11,27v2,10,4,22,4,34v0,18,-3,36,-8,54v-5,18,-12,37,-22,53v-9,15,-19,27,-31,37v-12,10,-24,18,-38,23v-14,5,-29,7,-45,7v-25,0,-44,-7,-58,-20v-14,-13,-23,-33,-25,-58xm181,-250v-11,0,-23,2,-35,7v-12,5,-23,12,-33,21v-10,9,-19,19,-26,30v-5,8,-10,17,-14,29v-4,12,-9,24,-11,36v-2,12,-3,23,-3,33v0,17,2,32,8,45v6,13,13,23,24,30v11,7,24,10,38,10v23,0,43,-7,62,-21v19,-14,34,-34,45,-58v11,-24,17,-51,17,-80v0,-26,-6,-46,-19,-60v-13,-14,-30,-22,-53,-22","w":268},"\u041e":{"d":"43,-74v0,-3,-1,-9,-1,-15v0,-19,3,-38,9,-58v6,-20,15,-37,25,-53v9,-14,20,-27,35,-39v22,-17,47,-25,74,-25v22,0,40,5,53,14v7,5,12,11,17,19v5,8,9,17,11,27v2,10,4,22,4,34v0,18,-3,36,-8,54v-5,18,-12,37,-22,53v-9,15,-19,27,-31,37v-12,10,-24,18,-38,23v-14,5,-29,7,-45,7v-25,0,-44,-7,-58,-20v-14,-13,-23,-33,-25,-58xm181,-250v-11,0,-23,2,-35,7v-12,5,-23,12,-33,21v-10,9,-19,19,-26,30v-5,8,-10,17,-14,29v-4,12,-9,24,-11,36v-2,12,-3,23,-3,33v0,17,2,32,8,45v6,13,13,23,24,30v11,7,24,10,38,10v23,0,43,-7,62,-21v19,-14,34,-34,45,-58v11,-24,17,-51,17,-80v0,-26,-6,-46,-19,-60v-13,-14,-30,-22,-53,-22","w":268},"P":{"d":"35,0r55,-259r72,0v23,0,40,4,51,13v11,9,16,22,16,40v0,8,-1,17,-3,26v-2,9,-7,16,-11,24v-4,8,-10,14,-16,20v-18,16,-44,24,-79,24r-45,0r-24,112r-16,0xm78,-128r52,0v13,0,25,-1,36,-5v11,-4,20,-8,26,-15v6,-6,11,-15,15,-25v4,-10,5,-19,5,-28v0,-28,-15,-43,-47,-43r-62,0","w":210},"\u00d0":{"d":"35,0r55,-259r72,0v23,0,40,4,51,13v11,9,16,22,16,40v0,8,-1,17,-3,26v-2,9,-7,16,-11,24v-4,8,-10,14,-16,20v-18,16,-44,24,-79,24r-45,0r-24,112r-16,0xm78,-128r52,0v13,0,25,-1,36,-5v11,-4,20,-8,26,-15v6,-6,11,-15,15,-25v4,-10,5,-19,5,-28v0,-28,-15,-43,-47,-43r-62,0","w":210},"\u0420":{"d":"35,0r55,-259r72,0v23,0,40,4,51,13v11,9,16,22,16,40v0,8,-1,17,-3,26v-2,9,-7,16,-11,24v-4,8,-10,14,-16,20v-18,16,-44,24,-79,24r-45,0r-24,112r-16,0xm78,-128r52,0v13,0,25,-1,36,-5v11,-4,20,-8,26,-15v6,-6,11,-15,15,-25v4,-10,5,-19,5,-28v0,-28,-15,-43,-47,-43r-62,0","w":210},"Q":{"d":"224,14r-33,-30v-8,6,-15,10,-21,13v-6,3,-13,5,-19,6v-6,1,-13,1,-23,1v-18,0,-34,-3,-47,-10v-13,-7,-22,-17,-29,-31v-7,-14,-10,-30,-10,-49v0,-20,3,-41,10,-62v7,-21,15,-40,26,-56v28,-40,65,-60,109,-60v13,0,24,2,35,6v11,4,19,10,26,18v7,8,13,17,17,28v4,11,5,24,5,38v0,29,-6,58,-19,88v-5,12,-10,23,-16,31v-4,6,-9,11,-13,15v-4,4,-11,10,-19,16r30,28xm182,-24r-28,-27r11,-11r29,29v8,-6,14,-12,19,-17v5,-5,9,-10,12,-15v3,-5,7,-13,11,-22v11,-27,17,-53,17,-80v0,-17,-3,-32,-9,-44v-6,-12,-13,-22,-24,-29v-11,-7,-24,-10,-39,-10v-22,0,-41,8,-60,23v-19,15,-34,34,-45,59v-11,25,-17,51,-17,79v0,16,3,31,9,43v6,12,15,22,26,28v11,6,25,9,41,9v8,0,16,-1,22,-3v6,-2,15,-6,25,-12","w":268},"R":{"d":"35,0r55,-259r63,0r10,0r19,1v12,1,22,3,31,7v9,4,14,10,19,17v5,7,7,16,7,26v0,16,-4,31,-11,44v-5,9,-11,16,-19,22v-6,5,-13,8,-18,10v-5,2,-13,3,-23,4v8,1,14,2,18,4v4,2,8,4,11,7v5,5,8,12,8,20v0,9,-1,20,-3,31r-5,39v-1,5,-1,8,-1,10v0,5,2,9,4,13r-1,4r-18,0v-1,-7,-1,-12,-1,-14v0,-7,1,-21,4,-40v3,-16,5,-27,5,-33v0,-11,-4,-19,-10,-24v-6,-5,-16,-7,-31,-7r-72,0r-25,118r-16,0xm79,-135r66,0v25,0,43,-5,56,-17v6,-6,12,-14,16,-24v4,-10,7,-20,7,-29v0,-7,-2,-13,-5,-19v-3,-6,-8,-11,-14,-13v-10,-5,-26,-7,-48,-7r-54,0","w":231},"S":{"d":"37,-78r16,0v-1,8,-2,13,-2,19v0,16,5,29,15,38v10,9,24,13,42,13v11,0,22,-2,32,-6v10,-4,19,-9,26,-15v7,-6,13,-14,17,-22v4,-8,6,-17,6,-27v0,-13,-5,-22,-13,-28v-4,-3,-18,-9,-42,-18v-5,-2,-9,-3,-11,-4v-17,-6,-28,-12,-34,-15v-6,-3,-11,-7,-16,-12v-5,-6,-8,-14,-8,-24v0,-8,2,-16,5,-25v3,-9,7,-17,13,-25v9,-12,18,-21,30,-26v12,-5,26,-8,43,-8v14,0,26,2,35,5v9,3,15,9,21,17v8,10,12,21,12,34v0,4,-1,11,-2,20r-16,0v1,-11,1,-17,1,-17v0,-15,-4,-26,-13,-34v-9,-8,-22,-12,-39,-12v-13,0,-26,3,-37,9v-11,6,-20,14,-26,24v-6,10,-10,22,-10,34v0,5,1,9,2,12v1,3,4,7,8,10v3,3,7,5,11,7v4,2,14,6,29,12r12,4v14,5,14,6,22,9v8,3,8,3,9,3v9,3,15,8,20,13v3,3,6,8,8,14v2,6,3,11,3,17v0,12,-2,25,-8,36v-6,11,-14,21,-24,29v-9,7,-19,13,-30,16v-11,3,-25,5,-41,5v-21,0,-37,-3,-47,-11v-14,-10,-21,-26,-21,-47v0,-5,1,-13,2,-24","w":218},"T":{"d":"80,0r51,-245r-76,0r3,-14r169,0r-3,14r-76,0r-53,245r-15,0","w":183},"U":{"d":"86,-259r16,0r-35,163v-3,15,-4,28,-4,39v0,15,5,27,15,35v10,8,26,13,45,13v11,0,22,-2,32,-5v10,-3,19,-7,26,-12v9,-6,16,-15,21,-26v5,-11,10,-26,14,-44r35,-163r15,0r-35,166v-4,19,-10,36,-18,50v-6,11,-13,20,-22,27v-9,7,-18,12,-30,15v-12,3,-25,5,-40,5v-50,0,-75,-17,-75,-53v0,-12,2,-27,5,-44","w":251},"V":{"d":"89,0r-35,-259r18,0r29,244r133,-244r18,0r-145,259r-18,0","w":195},"W":{"d":"64,0r-9,-259r16,0r5,240r111,-240r20,0r8,236r108,-236r15,0r-120,259r-18,0r-6,-244r-113,244r-17,0","w":297},"X":{"d":"1,0r110,-133r-53,-126r22,0r43,117r93,-117r20,0r-106,127r57,132r-21,0r-47,-123r-100,123r-18,0","w":197},"\u00d5":{"d":"1,0r110,-133r-53,-126r22,0r43,117r93,-117r20,0r-106,127r57,132r-21,0r-47,-123r-100,123r-18,0","w":197},"\u0425":{"d":"1,0r110,-133r-53,-126r22,0r43,117r93,-117r20,0r-106,127r57,132r-21,0r-47,-123r-100,123r-18,0","w":197},"Y":{"d":"84,0r24,-114r-54,-145r19,0r45,134r104,-134r18,0r-116,145r-24,114r-16,0","w":198},"Z":{"d":"6,0r5,-22r214,-222r-155,0r3,-15r168,0r-4,21r-216,223r171,0r-3,15r-183,0","w":204},"[":{"d":"82,72r-67,0r70,-331r68,0r-4,15r-50,0r-64,301r51,0","w":109},"\\":{"d":"90,30r-33,-296r17,0r33,296r-17,0","w":113},"]":{"d":"-3,72r3,-15r51,0r64,-301r-51,0r3,-15r68,0r-71,331r-67,0","w":109},"^":{"d":"157,-282r20,0r74,93r-20,0r-66,-84r-101,84r-18,0","w":215},"_":{"d":"-17,71r180,0r0,14r-180,0r0,-14"},"`":{"d":"138,-209r-35,-49r22,0r25,49r-12,0"},"a":{"d":"146,-33v-12,13,-23,20,-32,25v-13,7,-27,11,-42,11v-15,0,-26,-3,-34,-10v-8,-7,-12,-17,-12,-30v0,-9,2,-18,5,-26v3,-8,8,-15,14,-20v8,-8,19,-13,33,-17v8,-2,21,-5,41,-8v19,-3,32,-6,38,-9v4,-2,6,-6,8,-11v2,-5,3,-12,3,-19v0,-10,-3,-19,-10,-25v-7,-6,-16,-8,-28,-8v-8,0,-15,1,-23,4v-8,3,-14,8,-20,13v-8,8,-15,18,-19,31r-14,0v2,-9,6,-16,10,-23v15,-24,38,-37,69,-37v33,0,50,14,50,42v0,6,-1,10,-2,14r-21,100v-1,7,-3,13,-3,17v0,4,2,7,3,8v1,1,4,2,8,2v4,0,8,-1,13,-3r-2,11v-5,2,-11,3,-16,3v-13,0,-20,-5,-20,-16v0,-4,1,-11,3,-19xm162,-111v-6,5,-11,8,-17,9r-55,11v-19,4,-32,12,-40,23v-5,8,-8,17,-8,27v0,11,3,18,9,24v6,6,15,8,26,8v11,0,23,-3,36,-10v8,-4,14,-9,19,-13v6,-5,11,-11,14,-18v3,-7,6,-17,9,-30v2,-9,2,-8,4,-18v1,-7,3,-11,3,-13","w":203},"\u00e0":{"d":"146,-33v-12,13,-23,20,-32,25v-13,7,-27,11,-42,11v-15,0,-26,-3,-34,-10v-8,-7,-12,-17,-12,-30v0,-9,2,-18,5,-26v3,-8,8,-15,14,-20v8,-8,19,-13,33,-17v8,-2,21,-5,41,-8v19,-3,32,-6,38,-9v4,-2,6,-6,8,-11v2,-5,3,-12,3,-19v0,-10,-3,-19,-10,-25v-7,-6,-16,-8,-28,-8v-8,0,-15,1,-23,4v-8,3,-14,8,-20,13v-8,8,-15,18,-19,31r-14,0v2,-9,6,-16,10,-23v15,-24,38,-37,69,-37v33,0,50,14,50,42v0,6,-1,10,-2,14r-21,100v-1,7,-3,13,-3,17v0,4,2,7,3,8v1,1,4,2,8,2v4,0,8,-1,13,-3r-2,11v-5,2,-11,3,-16,3v-13,0,-20,-5,-20,-16v0,-4,1,-11,3,-19xm162,-111v-6,5,-11,8,-17,9r-55,11v-19,4,-32,12,-40,23v-5,8,-8,17,-8,27v0,11,3,18,9,24v6,6,15,8,26,8v11,0,23,-3,36,-10v8,-4,14,-9,19,-13v6,-5,11,-11,14,-18v3,-7,6,-17,9,-30v2,-9,2,-8,4,-18v1,-7,3,-11,3,-13","w":203},"\u0430":{"d":"146,-33v-12,13,-23,20,-32,25v-13,7,-27,11,-42,11v-15,0,-26,-3,-34,-10v-8,-7,-12,-17,-12,-30v0,-9,2,-18,5,-26v3,-8,8,-15,14,-20v8,-8,19,-13,33,-17v8,-2,21,-5,41,-8v19,-3,32,-6,38,-9v4,-2,6,-6,8,-11v2,-5,3,-12,3,-19v0,-10,-3,-19,-10,-25v-7,-6,-16,-8,-28,-8v-8,0,-15,1,-23,4v-8,3,-14,8,-20,13v-8,8,-15,18,-19,31r-14,0v2,-9,6,-16,10,-23v15,-24,38,-37,69,-37v33,0,50,14,50,42v0,6,-1,10,-2,14r-21,100v-1,7,-3,13,-3,17v0,4,2,7,3,8v1,1,4,2,8,2v4,0,8,-1,13,-3r-2,11v-5,2,-11,3,-16,3v-13,0,-20,-5,-20,-16v0,-4,1,-11,3,-19xm162,-111v-6,5,-11,8,-17,9r-55,11v-19,4,-32,12,-40,23v-5,8,-8,17,-8,27v0,11,3,18,9,24v6,6,15,8,26,8v11,0,23,-3,36,-10v8,-4,14,-9,19,-13v6,-5,11,-11,14,-18v3,-7,6,-17,9,-30v2,-9,2,-8,4,-18v1,-7,3,-11,3,-13","w":203},"b":{"d":"28,0r55,-259r15,0r-24,112v10,-13,18,-22,24,-27v13,-12,29,-18,48,-18v36,0,54,23,54,67v0,27,-7,54,-22,79v-19,33,-43,49,-73,49v-18,0,-32,-5,-42,-16v-4,-4,-6,-9,-8,-13v-2,-4,-3,-10,-5,-19r-9,45r-13,0xm143,-179v-15,0,-29,6,-42,16v-13,10,-23,24,-31,41v-8,17,-12,35,-12,54v0,12,2,23,6,32v4,9,10,16,17,21v7,5,16,7,26,7v13,0,25,-5,37,-16v12,-11,22,-26,29,-44v7,-18,11,-36,11,-56v0,-18,-3,-31,-10,-40v-7,-9,-17,-15,-31,-15","w":203},"c":{"d":"155,-65r15,0v-4,12,-8,21,-12,29v-15,26,-36,40,-67,40v-37,0,-56,-21,-56,-63v0,-12,1,-26,4,-39v3,-13,8,-26,14,-37v19,-38,45,-57,81,-57v18,0,31,6,39,16v4,5,7,9,8,14v1,5,2,14,2,24r0,2r0,8r-16,0r0,-9v0,-7,0,-13,-1,-18v-2,-8,-5,-14,-11,-18v-6,-4,-14,-6,-22,-6v-15,0,-28,5,-41,16v-13,11,-23,24,-30,42v-7,18,-12,38,-12,59v0,18,4,31,11,39v7,8,18,13,33,13v14,0,27,-5,37,-14v5,-4,9,-9,12,-15v3,-5,7,-14,12,-26"},"\u00f1":{"d":"155,-65r15,0v-4,12,-8,21,-12,29v-15,26,-36,40,-67,40v-37,0,-56,-21,-56,-63v0,-12,1,-26,4,-39v3,-13,8,-26,14,-37v19,-38,45,-57,81,-57v18,0,31,6,39,16v4,5,7,9,8,14v1,5,2,14,2,24r0,2r0,8r-16,0r0,-9v0,-7,0,-13,-1,-18v-2,-8,-5,-14,-11,-18v-6,-4,-14,-6,-22,-6v-15,0,-28,5,-41,16v-13,11,-23,24,-30,42v-7,18,-12,38,-12,59v0,18,4,31,11,39v7,8,18,13,33,13v14,0,27,-5,37,-14v5,-4,9,-9,12,-15v3,-5,7,-14,12,-26"},"\u0441":{"d":"155,-65r15,0v-4,12,-8,21,-12,29v-15,26,-36,40,-67,40v-37,0,-56,-21,-56,-63v0,-12,1,-26,4,-39v3,-13,8,-26,14,-37v19,-38,45,-57,81,-57v18,0,31,6,39,16v4,5,7,9,8,14v1,5,2,14,2,24r0,2r0,8r-16,0r0,-9v0,-7,0,-13,-1,-18v-2,-8,-5,-14,-11,-18v-6,-4,-14,-6,-22,-6v-15,0,-28,5,-41,16v-13,11,-23,24,-30,42v-7,18,-12,38,-12,59v0,18,4,31,11,39v7,8,18,13,33,13v14,0,27,-5,37,-14v5,-4,9,-9,12,-15v3,-5,7,-14,12,-26"},"d":{"d":"168,0r-15,0r9,-42v-5,8,-9,15,-12,19v-3,4,-8,8,-14,13v-6,5,-12,8,-19,10v-7,2,-15,3,-26,3v-37,0,-56,-22,-56,-66v0,-27,8,-54,22,-79v19,-33,44,-50,75,-50v17,0,31,5,40,16v5,6,9,15,12,28r24,-111r15,0xm94,-10v26,0,47,-14,64,-42v13,-21,19,-44,19,-69v0,-12,-1,-22,-5,-31v-4,-9,-10,-15,-17,-20v-7,-5,-15,-7,-24,-7v-14,0,-27,6,-39,16v-12,10,-22,25,-29,42v-7,17,-11,36,-11,55v0,19,3,34,10,43v7,9,17,13,32,13","w":203},"e":{"d":"54,-93v-2,12,-3,22,-3,29v0,17,4,31,12,41v8,10,20,15,34,15v9,0,18,-2,27,-7v9,-5,17,-11,24,-19v5,-6,9,-13,14,-24r15,0v-5,10,-9,19,-13,25v-17,25,-40,37,-69,37v-40,0,-60,-23,-60,-69v0,-12,2,-26,6,-40v4,-14,10,-27,17,-39v19,-32,45,-49,79,-49v11,0,21,3,29,8v8,5,14,12,18,22v4,10,7,21,7,34v0,9,-1,21,-4,36r-133,0xm57,-105r117,0v1,-10,2,-18,2,-23v0,-10,-2,-19,-6,-27v-4,-8,-8,-14,-15,-18v-7,-4,-15,-6,-24,-6v-15,0,-29,6,-40,16v-6,6,-12,11,-16,18v-4,7,-8,13,-10,18v-2,5,-5,13,-8,22","w":192},"\u00e5":{"d":"54,-93v-2,12,-3,22,-3,29v0,17,4,31,12,41v8,10,20,15,34,15v9,0,18,-2,27,-7v9,-5,17,-11,24,-19v5,-6,9,-13,14,-24r15,0v-5,10,-9,19,-13,25v-17,25,-40,37,-69,37v-40,0,-60,-23,-60,-69v0,-12,2,-26,6,-40v4,-14,10,-27,17,-39v19,-32,45,-49,79,-49v11,0,21,3,29,8v8,5,14,12,18,22v4,10,7,21,7,34v0,9,-1,21,-4,36r-133,0xm57,-105r117,0v1,-10,2,-18,2,-23v0,-10,-2,-19,-6,-27v-4,-8,-8,-14,-15,-18v-7,-4,-15,-6,-24,-6v-15,0,-29,6,-40,16v-6,6,-12,11,-16,18v-4,7,-8,13,-10,18v-2,5,-5,13,-8,22","w":192},"\u0435":{"d":"54,-93v-2,12,-3,22,-3,29v0,17,4,31,12,41v8,10,20,15,34,15v9,0,18,-2,27,-7v9,-5,17,-11,24,-19v5,-6,9,-13,14,-24r15,0v-5,10,-9,19,-13,25v-17,25,-40,37,-69,37v-40,0,-60,-23,-60,-69v0,-12,2,-26,6,-40v4,-14,10,-27,17,-39v19,-32,45,-49,79,-49v11,0,21,3,29,8v8,5,14,12,18,22v4,10,7,21,7,34v0,9,-1,21,-4,36r-133,0xm57,-105r117,0v1,-10,2,-18,2,-23v0,-10,-2,-19,-6,-27v-4,-8,-8,-14,-15,-18v-7,-4,-15,-6,-24,-6v-15,0,-29,6,-40,16v-6,6,-12,11,-16,18v-4,7,-8,13,-10,18v-2,5,-5,13,-8,22","w":192},"f":{"d":"29,0r38,-176r-26,0r3,-13r26,0v4,-18,6,-28,7,-33v1,-5,3,-11,5,-17v6,-15,17,-22,33,-22v3,0,9,0,17,1r-4,15v-4,0,-7,-1,-13,-1v-7,0,-12,2,-15,5v-2,3,-5,6,-6,10v-1,4,-4,13,-7,28r-3,14r32,0r-2,13r-33,0r-37,176r-15,0","w":89},"g":{"d":"211,-189r-39,179v-2,12,-6,23,-11,34v-5,11,-9,20,-15,26v-8,8,-18,14,-30,19v-12,5,-24,7,-37,7v-17,0,-31,-3,-42,-9v-11,-6,-16,-18,-16,-35r0,-10r17,0v-1,7,-1,11,-1,12v0,20,14,30,42,30v20,0,38,-6,51,-18v6,-6,11,-12,15,-19v4,-8,7,-16,10,-24v3,-8,6,-22,11,-43v-9,13,-17,22,-23,27v-14,11,-30,17,-49,17v-13,0,-23,-3,-32,-8v-9,-5,-16,-13,-21,-23v-5,-10,-6,-22,-6,-36v0,-10,1,-21,4,-33v3,-12,6,-23,11,-34v9,-20,22,-35,36,-45v14,-10,31,-16,49,-16v10,0,18,1,24,4v6,3,12,8,17,14v3,4,6,8,7,12v1,4,3,9,4,15r9,-43r15,0xm133,-178v-14,0,-28,5,-40,15v-12,10,-22,25,-30,42v-8,17,-11,35,-11,55v0,19,4,33,12,43v8,10,20,15,35,15v14,0,27,-6,40,-16v13,-10,22,-24,30,-41v8,-17,11,-36,11,-55v0,-12,-2,-22,-6,-31v-4,-9,-9,-15,-16,-20v-7,-5,-15,-7,-25,-7","w":205},"h":{"d":"28,0r55,-259r15,0r-24,111v8,-12,16,-21,23,-27v7,-6,15,-11,22,-13v7,-2,16,-4,27,-4v11,0,19,2,25,5v6,3,11,9,14,16v3,7,5,14,5,22v0,7,-2,19,-5,35r-24,114r-15,0r25,-116v2,-12,3,-22,3,-27v0,-23,-12,-34,-35,-34v-11,0,-22,3,-32,9v-10,6,-19,14,-26,24v-7,10,-12,22,-15,34r-24,110r-14,0","w":192},"i":{"d":"28,0r40,-189r15,0r-40,189r-15,0xm76,-227r7,-32r15,0r-7,32r-15,0","w":71},"j":{"d":"-16,75r3,-15r4,0r4,0v8,0,13,-1,17,-5v4,-4,6,-11,8,-22r48,-222r15,0r-48,225v-3,13,-7,22,-14,29v-7,7,-15,11,-25,11v-3,0,-7,0,-12,-1xm76,-227r7,-32r15,0r-7,32r-15,0","w":72},"k":{"d":"28,0r55,-259r15,0r-36,165r109,-95r20,0r-82,71r51,118r-18,0r-45,-108r-38,32r-17,76r-14,0","w":171},"l":{"d":"28,0r55,-259r15,0r-55,259r-15,0","w":71},"m":{"d":"28,0r40,-189r16,0r-7,33v7,-9,15,-16,21,-21v14,-10,29,-15,44,-15v15,0,25,5,32,15v4,6,7,16,8,28v10,-14,18,-24,25,-29v12,-9,27,-13,44,-13v9,0,16,1,22,4v6,3,12,8,15,14v3,6,5,13,5,21v0,7,-1,14,-3,22r-28,130r-15,0r28,-128v1,-5,2,-11,2,-17v0,-21,-12,-31,-33,-31v-10,0,-18,3,-28,8v-10,5,-18,13,-25,22v-7,9,-12,19,-14,29r-25,117r-14,0r27,-126v1,-4,1,-10,1,-15v0,-11,-3,-19,-8,-25v-5,-6,-13,-10,-22,-10v-10,0,-20,3,-30,8v-10,5,-18,13,-25,22v-7,9,-12,19,-14,30r-25,116r-14,0","w":299},"n":{"d":"28,0r40,-189r13,0r-8,39v7,-10,14,-18,22,-24v8,-6,16,-10,24,-13v8,-3,18,-5,28,-5v14,0,25,5,32,12v7,7,11,17,11,31v0,7,-2,19,-5,35r-24,114r-15,0r25,-116v2,-12,3,-22,3,-31v0,-10,-3,-17,-9,-22v-6,-5,-15,-8,-26,-8v-15,0,-30,6,-44,18v-8,7,-15,14,-19,21v-4,7,-7,16,-10,28r-24,110r-14,0","w":192},"o":{"d":"36,-45v-1,-6,-1,-12,-1,-17v0,-18,3,-35,8,-51v5,-16,13,-30,22,-42v9,-12,20,-21,33,-28v13,-7,26,-10,40,-10v21,0,36,6,46,17v10,11,15,28,15,51v0,29,-7,55,-22,80v-19,32,-46,48,-82,48v-17,0,-31,-4,-41,-12v-10,-8,-16,-21,-18,-36xm135,-178v-10,0,-19,2,-28,6v-9,4,-17,10,-24,17v-7,7,-13,16,-18,27v-10,22,-14,41,-14,60v0,38,16,58,48,58v15,0,29,-6,42,-16v13,-10,23,-24,31,-41v8,-17,11,-37,11,-58v0,-18,-4,-31,-12,-40v-8,-9,-20,-13,-36,-13","w":202},"\u00ee":{"d":"36,-45v-1,-6,-1,-12,-1,-17v0,-18,3,-35,8,-51v5,-16,13,-30,22,-42v9,-12,20,-21,33,-28v13,-7,26,-10,40,-10v21,0,36,6,46,17v10,11,15,28,15,51v0,29,-7,55,-22,80v-19,32,-46,48,-82,48v-17,0,-31,-4,-41,-12v-10,-8,-16,-21,-18,-36xm135,-178v-10,0,-19,2,-28,6v-9,4,-17,10,-24,17v-7,7,-13,16,-18,27v-10,22,-14,41,-14,60v0,38,16,58,48,58v15,0,29,-6,42,-16v13,-10,23,-24,31,-41v8,-17,11,-37,11,-58v0,-18,-4,-31,-12,-40v-8,-9,-20,-13,-36,-13","w":202},"\u043e":{"d":"36,-45v-1,-6,-1,-12,-1,-17v0,-18,3,-35,8,-51v5,-16,13,-30,22,-42v9,-12,20,-21,33,-28v13,-7,26,-10,40,-10v21,0,36,6,46,17v10,11,15,28,15,51v0,29,-7,55,-22,80v-19,32,-46,48,-82,48v-17,0,-31,-4,-41,-12v-10,-8,-16,-21,-18,-36xm135,-178v-10,0,-19,2,-28,6v-9,4,-17,10,-24,17v-7,7,-13,16,-18,27v-10,22,-14,41,-14,60v0,38,16,58,48,58v15,0,29,-6,42,-16v13,-10,23,-24,31,-41v8,-17,11,-37,11,-58v0,-18,-4,-31,-12,-40v-8,-9,-20,-13,-36,-13","w":202},"p":{"d":"68,-189r14,0r-9,45v7,-13,13,-23,21,-31v13,-12,30,-18,48,-18v13,0,23,2,30,6v7,4,14,9,19,18v7,11,10,24,10,41v0,13,-2,28,-6,42v-4,14,-9,28,-16,40v-19,33,-44,49,-74,49v-16,0,-30,-5,-40,-14v-6,-7,-11,-17,-14,-30r-24,116r-15,0xm141,-179v-14,0,-28,5,-41,15v-13,10,-22,24,-30,41v-8,17,-12,36,-12,55v0,12,2,22,6,30v4,8,9,15,16,20v7,5,16,6,25,6v14,0,28,-5,40,-15v12,-10,22,-24,29,-41v7,-17,10,-36,10,-56v0,-37,-14,-55,-43,-55","w":203},"\u00f0":{"d":"68,-189r14,0r-9,45v7,-13,13,-23,21,-31v13,-12,30,-18,48,-18v13,0,23,2,30,6v7,4,14,9,19,18v7,11,10,24,10,41v0,13,-2,28,-6,42v-4,14,-9,28,-16,40v-19,33,-44,49,-74,49v-16,0,-30,-5,-40,-14v-6,-7,-11,-17,-14,-30r-24,116r-15,0xm141,-179v-14,0,-28,5,-41,15v-13,10,-22,24,-30,41v-8,17,-12,36,-12,55v0,12,2,22,6,30v4,8,9,15,16,20v7,5,16,6,25,6v14,0,28,-5,40,-15v12,-10,22,-24,29,-41v7,-17,10,-36,10,-56v0,-37,-14,-55,-43,-55","w":203},"\u0440":{"d":"68,-189r14,0r-9,45v7,-13,13,-23,21,-31v13,-12,30,-18,48,-18v13,0,23,2,30,6v7,4,14,9,19,18v7,11,10,24,10,41v0,13,-2,28,-6,42v-4,14,-9,28,-16,40v-19,33,-44,49,-74,49v-16,0,-30,-5,-40,-14v-6,-7,-11,-17,-14,-30r-24,116r-15,0xm141,-179v-14,0,-28,5,-41,15v-13,10,-22,24,-30,41v-8,17,-12,36,-12,55v0,12,2,22,6,30v4,8,9,15,16,20v7,5,16,6,25,6v14,0,28,-5,40,-15v12,-10,22,-24,29,-41v7,-17,10,-36,10,-56v0,-37,-14,-55,-43,-55","w":203},"q":{"d":"208,-189r-56,264r-15,0r25,-117v-6,8,-10,14,-14,18v-4,4,-8,8,-13,12v-12,10,-26,15,-43,15v-12,0,-22,-2,-29,-5v-7,-3,-13,-10,-18,-18v-7,-11,-10,-26,-10,-43v0,-28,7,-54,22,-80v19,-33,44,-50,77,-50v17,0,30,5,38,14v5,6,9,16,13,31r9,-41r14,0xm95,-12v11,0,21,-2,31,-8v10,-6,19,-14,27,-24v8,-10,14,-23,18,-36v4,-13,6,-27,6,-41v0,-12,-1,-22,-5,-31v-4,-9,-9,-15,-16,-20v-7,-5,-16,-7,-25,-7v-8,0,-16,2,-24,5v-8,3,-15,8,-21,14v-10,11,-18,26,-25,43v-7,17,-10,35,-10,51v0,11,2,21,5,29v3,8,9,15,16,19v7,4,14,6,23,6","w":203},"r":{"d":"28,0r40,-189r14,0r-10,43v5,-9,9,-15,12,-19v3,-4,8,-9,13,-13v6,-5,11,-8,17,-10v6,-2,14,-3,25,-4r-4,20v-5,0,-9,-1,-10,-1v-5,0,-10,1,-16,4v-8,4,-16,8,-21,14v-5,6,-10,13,-14,21v-4,8,-6,18,-9,31r-22,103r-15,0","w":113},"s":{"d":"31,-59r15,0v-1,5,-1,9,-1,13v0,11,4,20,11,27v7,7,17,10,30,10v17,0,30,-6,40,-18v9,-11,13,-21,13,-31v0,-5,-1,-9,-4,-13v-3,-4,-7,-7,-11,-8r-20,-7r-6,-1v-15,-5,-24,-9,-27,-10v-2,-1,-5,-3,-9,-6v-8,-6,-12,-15,-12,-26v0,-12,4,-24,13,-37v13,-18,32,-26,57,-26v31,0,46,15,46,45v0,2,-1,7,-1,14r-14,0r0,-9v0,-12,-3,-22,-9,-28v-6,-6,-15,-9,-27,-9v-9,0,-17,2,-25,6v-8,4,-13,10,-18,17v-5,7,-7,16,-7,24v0,7,3,12,9,17v6,5,16,9,30,13r11,3v14,4,24,9,30,15v6,6,9,12,9,22v0,12,-4,26,-14,39v-7,10,-15,16,-24,20v-9,4,-20,6,-34,6v-18,0,-31,-4,-39,-12v-8,-8,-13,-21,-13,-38v0,-6,1,-9,1,-12","w":167},"t":{"d":"97,-242r-12,53r33,0r-3,13r-33,0r-29,141v-1,7,-3,12,-3,15v0,6,3,8,10,8v4,0,11,-1,21,-3r-3,14v-9,2,-17,3,-25,3v-12,0,-18,-4,-18,-14v0,-7,1,-15,3,-23r30,-141r-25,0r3,-13r24,0r12,-53r15,0","w":94},"u":{"d":"199,-189r-40,189r-17,0r7,-35v-6,7,-10,12,-14,16v-4,4,-9,7,-15,11v-7,4,-13,7,-19,9v-6,2,-12,2,-20,2v-31,0,-46,-13,-46,-39v0,-8,1,-16,3,-26r27,-127r15,0r-26,122v-2,11,-3,20,-3,27v0,9,3,16,10,21v7,5,15,8,26,8v11,0,22,-2,32,-8v10,-6,20,-14,27,-24v7,-10,12,-22,15,-34r23,-112r15,0","w":193},"v":{"d":"69,0r-30,-189r17,0r24,174r99,-174r18,0r-110,189r-18,0","w":155},"w":{"d":"59,0r-19,-189r16,0r14,171r83,-171r18,0r9,171r87,-171r16,0r-99,189r-17,0r-8,-175r-84,175r-16,0","w":243},"x":{"d":"2,0r86,-96r-43,-93r22,0r33,84r69,-84r20,0r-81,93r48,96r-21,0r-39,-87r-75,87r-19,0","w":157},"\u00f5":{"d":"2,0r86,-96r-43,-93r22,0r33,84r69,-84r20,0r-81,93r48,96r-21,0r-39,-87r-75,87r-19,0","w":157},"\u0445":{"d":"2,0r86,-96r-43,-93r22,0r33,84r69,-84r20,0r-81,93r48,96r-21,0r-39,-87r-75,87r-19,0","w":157},"y":{"d":"-3,73r4,-15v9,2,14,3,17,3r1,0v3,0,6,-1,8,-2v2,-1,3,-2,4,-2v3,-2,8,-8,14,-16v6,-8,12,-18,18,-29r4,-8r2,-2r-29,-191r18,0r21,174r96,-174r16,0r-127,225v-15,27,-31,40,-49,40v-5,0,-11,-1,-18,-3","w":157},"z":{"d":"8,0r4,-18r158,-156r-120,0r3,-15r134,0r-4,19r-157,155r130,0r-4,15r-144,0","w":167},"{":{"d":"198,-260r-3,16r-9,0v-10,0,-18,1,-24,4v-6,3,-10,7,-14,14v-4,7,-6,16,-9,28r-9,43v-4,18,-9,31,-14,38v-3,4,-6,8,-11,12v-5,4,-13,8,-23,12v8,3,15,7,18,11v5,6,7,12,7,21v0,8,-1,18,-4,30r-9,42v-2,10,-3,18,-3,24v0,6,1,10,4,14v2,3,6,5,10,6v4,1,11,2,21,2r5,0r-3,15v-12,0,-20,0,-25,-1v-5,-1,-11,-2,-16,-4v-5,-2,-9,-6,-11,-10v-2,-4,-3,-10,-3,-17v0,-10,1,-21,4,-33r9,-42v2,-9,3,-17,3,-22v0,-8,-3,-14,-6,-18v-3,-4,-7,-7,-13,-8v-6,-1,-15,-2,-27,-2r4,-16v14,0,25,-1,33,-4v8,-3,14,-8,19,-15v5,-7,8,-18,11,-31r10,-42v3,-15,6,-27,10,-35v4,-8,8,-15,13,-19v5,-4,12,-7,20,-9v8,-2,19,-4,35,-4","w":171},"|":{"d":"101,-270r16,0r0,361r-16,0r0,-361"},"}":{"d":"83,-260v20,1,34,3,41,6v5,2,9,6,11,10v2,4,3,10,3,17v0,10,-1,22,-4,34r-9,42v-2,7,-3,14,-3,21v0,8,2,13,5,18v3,4,8,7,14,8v6,1,14,3,26,3r-3,16v-15,0,-27,1,-34,4v-8,3,-14,8,-19,15v-5,7,-8,18,-11,31r-9,42v-3,15,-6,26,-10,34v-4,8,-9,15,-14,19v-5,5,-11,7,-19,9v-8,2,-20,3,-36,3r3,-15r5,0r5,0v9,0,15,-1,22,-4v7,-3,11,-7,15,-13v4,-6,7,-16,10,-29r9,-42v4,-18,8,-31,13,-39v4,-5,8,-9,11,-12v5,-4,14,-7,24,-11v-9,-4,-16,-7,-19,-11v-5,-6,-7,-13,-7,-21r0,-1v0,-8,2,-18,4,-29r9,-43v2,-9,3,-17,3,-23v0,-7,-1,-11,-4,-14v-5,-6,-14,-9,-29,-9r-6,0","w":171},"~":{"d":"312,-245r0,16v-16,10,-28,16,-37,20v-9,4,-19,5,-30,5v-12,0,-29,-4,-51,-12v-22,-8,-39,-12,-51,-12v-10,0,-20,2,-29,6v-9,4,-22,11,-39,22r0,-16v15,-10,28,-16,37,-20v9,-4,19,-6,30,-6v14,0,31,4,52,12r22,7v0,0,12,3,16,4v4,1,8,1,12,1v7,0,14,0,20,-2v6,-2,13,-5,20,-9v7,-4,17,-9,28,-16","w":299},"\u00c1":{"d":"220,-244r-117,0r-22,103r52,0v20,0,36,1,47,4v11,3,19,8,24,14v8,9,12,20,12,35v0,12,-3,23,-8,35v-5,12,-11,22,-19,30v-8,8,-18,12,-28,16v-7,2,-16,5,-26,6v-10,1,-26,1,-46,1r-54,0r55,-259r133,0xm54,-15r66,0v27,0,47,-5,59,-17v6,-6,10,-14,14,-24v4,-10,6,-19,6,-29v0,-28,-18,-42,-53,-42r-68,0","w":228},"\u0411":{"d":"220,-244r-117,0r-22,103r52,0v20,0,36,1,47,4v11,3,19,8,24,14v8,9,12,20,12,35v0,12,-3,23,-8,35v-5,12,-11,22,-19,30v-8,8,-18,12,-28,16v-7,2,-16,5,-26,6v-10,1,-26,1,-46,1r-54,0r55,-259r133,0xm54,-15r66,0v27,0,47,-5,59,-17v6,-6,10,-14,14,-24v4,-10,6,-19,6,-29v0,-28,-18,-42,-53,-42r-68,0","w":228},"\u00c2":{"d":"35,0r55,-259r68,0v25,0,42,4,52,11v6,4,12,9,15,16v3,7,5,14,5,22v0,12,-3,25,-9,37v-4,8,-10,15,-17,21v-5,4,-10,8,-14,10v-4,2,-10,4,-19,6v11,2,20,5,26,8v6,3,10,8,13,14v4,7,6,17,6,27v0,11,-3,22,-8,34v-5,12,-11,22,-19,30v-8,8,-18,12,-28,16v-7,2,-16,5,-26,6v-10,1,-26,1,-46,1r-54,0xm103,-244r-22,103r52,0v10,0,19,-1,27,-2v12,-3,23,-8,33,-16v6,-5,12,-12,15,-20v3,-8,5,-17,5,-27v0,-8,-2,-14,-5,-20v-3,-7,-8,-11,-16,-14v-8,-3,-19,-4,-35,-4r-54,0xm54,-15r66,0v27,0,47,-5,59,-17v6,-6,10,-14,14,-24v4,-10,6,-19,6,-29v0,-28,-18,-42,-53,-42r-68,0","w":233},"\u0412":{"d":"35,0r55,-259r68,0v25,0,42,4,52,11v6,4,12,9,15,16v3,7,5,14,5,22v0,12,-3,25,-9,37v-4,8,-10,15,-17,21v-5,4,-10,8,-14,10v-4,2,-10,4,-19,6v11,2,20,5,26,8v6,3,10,8,13,14v4,7,6,17,6,27v0,11,-3,22,-8,34v-5,12,-11,22,-19,30v-8,8,-18,12,-28,16v-7,2,-16,5,-26,6v-10,1,-26,1,-46,1r-54,0xm103,-244r-22,103r52,0v10,0,19,-1,27,-2v12,-3,23,-8,33,-16v6,-5,12,-12,15,-20v3,-8,5,-17,5,-27v0,-8,-2,-14,-5,-20v-3,-7,-8,-11,-16,-14v-8,-3,-19,-4,-35,-4r-54,0xm54,-15r66,0v27,0,47,-5,59,-17v6,-6,10,-14,14,-24v4,-10,6,-19,6,-29v0,-28,-18,-42,-53,-42r-68,0","w":233},"\u00c3":{"d":"35,0r55,-259r124,0r-3,15r-108,0r-52,244r-16,0","w":167},"\u0413":{"d":"35,0r55,-259r124,0r-3,15r-108,0r-52,244r-16,0","w":167},"\u00c4":{"d":"234,-259r-52,245r24,0r-14,69r-9,0r2,-55r-162,0r-21,55r-9,0r15,-69v7,-1,12,-4,16,-6v4,-2,8,-6,14,-13v5,-5,9,-12,14,-20v10,-19,19,-46,27,-81r26,-125r129,0xm117,-244r-23,111v-2,8,-6,23,-13,44v-4,12,-7,22,-11,30v-3,7,-7,15,-12,22v-6,7,-14,15,-25,23r133,0r49,-230r-98,0","w":223},"\u0414":{"d":"234,-259r-52,245r24,0r-14,69r-9,0r2,-55r-162,0r-21,55r-9,0r15,-69v7,-1,12,-4,16,-6v4,-2,8,-6,14,-13v5,-5,9,-12,14,-20v10,-19,19,-46,27,-81r26,-125r129,0xm117,-244r-23,111v-2,8,-6,23,-13,44v-4,12,-7,22,-11,30v-3,7,-7,15,-12,22v-6,7,-14,15,-25,23r133,0r49,-230r-98,0","w":223},"\u00c6":{"d":"136,0r25,-119r-18,-28r-123,147r-20,0r135,-157r-61,-102r21,0r69,125r27,-125r15,0r-26,125r122,-125r22,0r-107,105r70,154r-20,0r-60,-146r-31,27r-25,119r-15,0","w":302},"\u0416":{"d":"136,0r25,-119r-18,-28r-123,147r-20,0r135,-157r-61,-102r21,0r69,125r27,-125r15,0r-26,125r122,-125r22,0r-107,105r70,154r-20,0r-60,-146r-31,27r-25,119r-15,0","w":302},"\u00c7":{"d":"125,-145r29,0v11,0,21,-3,31,-8v10,-5,17,-11,23,-20v6,-9,8,-19,8,-29v0,-15,-4,-28,-13,-36v-9,-8,-22,-12,-39,-12v-14,0,-27,2,-38,7v-11,5,-21,13,-29,22v-8,9,-13,21,-16,33r-17,0v6,-14,10,-25,14,-32v18,-29,47,-42,86,-42v14,0,26,2,37,6v11,4,18,11,24,19v6,8,9,18,9,29v0,12,-3,24,-9,35v-3,6,-8,12,-13,17v-6,6,-11,9,-18,12v-7,3,-17,5,-29,6v10,1,18,3,23,5v5,2,11,6,15,11v7,8,10,18,10,32v0,15,-4,30,-13,44v-5,9,-12,17,-21,25v-10,8,-21,14,-32,18v-11,4,-24,6,-40,6v-48,0,-72,-23,-72,-68v0,-2,0,-5,1,-11r17,0v-1,6,-1,11,-1,13v0,36,19,54,55,54v16,0,31,-4,45,-11v14,-7,24,-17,32,-29v8,-12,13,-26,13,-40v0,-12,-4,-22,-13,-30v-9,-8,-20,-11,-33,-11r-29,0","w":219},"\u0417":{"d":"125,-145r29,0v11,0,21,-3,31,-8v10,-5,17,-11,23,-20v6,-9,8,-19,8,-29v0,-15,-4,-28,-13,-36v-9,-8,-22,-12,-39,-12v-14,0,-27,2,-38,7v-11,5,-21,13,-29,22v-8,9,-13,21,-16,33r-17,0v6,-14,10,-25,14,-32v18,-29,47,-42,86,-42v14,0,26,2,37,6v11,4,18,11,24,19v6,8,9,18,9,29v0,12,-3,24,-9,35v-3,6,-8,12,-13,17v-6,6,-11,9,-18,12v-7,3,-17,5,-29,6v10,1,18,3,23,5v5,2,11,6,15,11v7,8,10,18,10,32v0,15,-4,30,-13,44v-5,9,-12,17,-21,25v-10,8,-21,14,-32,18v-11,4,-24,6,-40,6v-48,0,-72,-23,-72,-68v0,-2,0,-5,1,-11r17,0v-1,6,-1,11,-1,13v0,36,19,54,55,54v16,0,31,-4,45,-11v14,-7,24,-17,32,-29v8,-12,13,-26,13,-40v0,-12,-4,-22,-13,-30v-9,-8,-20,-11,-33,-11r-29,0","w":219},"\u00c8":{"d":"35,0r55,-259r16,0r-52,245r193,-245r22,0r-55,259r-16,0r52,-243r-192,243r-23,0","w":258},"\u0418":{"d":"35,0r55,-259r16,0r-52,245r193,-245r22,0r-55,259r-16,0r52,-243r-192,243r-23,0","w":258},"\u00ef":{"d":"28,0r40,-189r13,0r-8,39v7,-10,14,-18,22,-24v8,-6,16,-10,24,-13v8,-3,18,-5,28,-5v14,0,25,5,32,12v7,7,11,17,11,31v0,7,-2,19,-5,35r-24,114r-15,0r25,-116v2,-12,3,-22,3,-31v0,-10,-3,-17,-9,-22v-6,-5,-15,-8,-26,-8v-15,0,-30,6,-44,18v-8,7,-15,14,-19,21v-4,7,-7,16,-10,28r-24,110r-14,0","w":192},"\u043f":{"d":"28,0r40,-189r13,0r-8,39v7,-10,14,-18,22,-24v8,-6,16,-10,24,-13v8,-3,18,-5,28,-5v14,0,25,5,32,12v7,7,11,17,11,31v0,7,-2,19,-5,35r-24,114r-15,0r25,-116v2,-12,3,-22,3,-31v0,-10,-3,-17,-9,-22v-6,-5,-15,-8,-26,-8v-15,0,-30,6,-44,18v-8,7,-15,14,-19,21v-4,7,-7,16,-10,28r-24,110r-14,0","w":192},"\u00e9":{"d":"106,-259r12,0r0,3v0,7,2,13,6,16v4,3,11,5,20,5v8,0,15,-2,21,-7v4,-3,8,-9,11,-17r12,0v-3,10,-6,16,-8,20v-2,4,-6,7,-10,10v-8,5,-19,8,-33,8v-21,0,-32,-9,-32,-25v0,-1,1,-5,1,-13xm199,-189r-40,189r-17,0r7,-35v-6,7,-10,12,-14,16v-4,4,-9,7,-15,11v-7,4,-13,7,-19,9v-6,2,-12,2,-20,2v-31,0,-46,-13,-46,-39v0,-8,1,-16,3,-26r27,-127r15,0r-26,122v-2,11,-3,20,-3,27v0,9,3,16,10,21v7,5,15,8,26,8v11,0,22,-2,32,-8v10,-6,20,-14,27,-24v7,-10,12,-22,15,-34r23,-112r15,0","w":193},"\u0439":{"d":"106,-259r12,0r0,3v0,7,2,13,6,16v4,3,11,5,20,5v8,0,15,-2,21,-7v4,-3,8,-9,11,-17r12,0v-3,10,-6,16,-8,20v-2,4,-6,7,-10,10v-8,5,-19,8,-33,8v-21,0,-32,-9,-32,-25v0,-1,1,-5,1,-13xm199,-189r-40,189r-17,0r7,-35v-6,7,-10,12,-14,16v-4,4,-9,7,-15,11v-7,4,-13,7,-19,9v-6,2,-12,2,-20,2v-31,0,-46,-13,-46,-39v0,-8,1,-16,3,-26r27,-127r15,0r-26,122v-2,11,-3,20,-3,27v0,9,3,16,10,21v7,5,15,8,26,8v11,0,22,-2,32,-8v10,-6,20,-14,27,-24v7,-10,12,-22,15,-34r23,-112r15,0","w":193},"\u00ec":{"d":"23,0r45,-189r26,0r18,180r91,-180r26,0r-36,189r-14,0r33,-177r-92,177r-21,0r-19,-178r-42,178r-15,0","w":224},"\u043c":{"d":"23,0r45,-189r26,0r18,180r91,-180r26,0r-36,189r-14,0r33,-177r-92,177r-21,0r-19,-178r-42,178r-15,0","w":224},"\u00e1":{"d":"57,-118v6,-11,12,-19,16,-24v4,-5,9,-9,14,-14v15,-13,32,-19,50,-19v11,0,20,2,28,7v8,5,15,11,19,20v4,9,6,19,6,31v0,13,-1,26,-5,39v-4,13,-9,25,-16,36v-19,30,-44,46,-75,46v-38,0,-57,-22,-57,-65v0,-14,3,-30,7,-48v6,-24,13,-49,23,-73v5,-14,12,-24,19,-31v6,-6,14,-12,24,-17v10,-5,26,-10,49,-18v24,-8,23,-8,31,-11v9,-3,17,-7,23,-12r-3,17v-1,1,-2,2,-3,2v-2,2,-9,5,-19,9r-28,10v-23,8,-41,15,-52,20v-8,4,-14,11,-20,19v-5,7,-11,18,-17,34v-6,15,-10,29,-14,42xm130,-163v-13,1,-26,7,-38,16v-12,9,-21,21,-28,36v-7,15,-11,31,-11,47v0,37,15,55,45,55v13,0,27,-4,38,-14v11,-10,20,-23,27,-39v7,-16,10,-35,10,-54v0,-15,-3,-27,-10,-35v-7,-8,-17,-12,-30,-12r-1,0r-2,0","w":194},"\u0431":{"d":"57,-118v6,-11,12,-19,16,-24v4,-5,9,-9,14,-14v15,-13,32,-19,50,-19v11,0,20,2,28,7v8,5,15,11,19,20v4,9,6,19,6,31v0,13,-1,26,-5,39v-4,13,-9,25,-16,36v-19,30,-44,46,-75,46v-38,0,-57,-22,-57,-65v0,-14,3,-30,7,-48v6,-24,13,-49,23,-73v5,-14,12,-24,19,-31v6,-6,14,-12,24,-17v10,-5,26,-10,49,-18v24,-8,23,-8,31,-11v9,-3,17,-7,23,-12r-3,17v-1,1,-2,2,-3,2v-2,2,-9,5,-19,9r-28,10v-23,8,-41,15,-52,20v-8,4,-14,11,-20,19v-5,7,-11,18,-17,34v-6,15,-10,29,-14,42xm130,-163v-13,1,-26,7,-38,16v-12,9,-21,21,-28,36v-7,15,-11,31,-11,47v0,37,15,55,45,55v13,0,27,-4,38,-14v11,-10,20,-23,27,-39v7,-16,10,-35,10,-54v0,-15,-3,-27,-10,-35v-7,-8,-17,-12,-30,-12r-1,0r-2,0","w":194},"\u00ea":{"d":"28,0r40,-189r14,0r-20,98r109,-98r20,0r-87,76r56,113r-18,0r-50,-105r-33,29r-17,76r-14,0","w":171},"\u043a":{"d":"28,0r40,-189r14,0r-20,98r109,-98r20,0r-87,76r56,113r-18,0r-50,-105r-33,29r-17,76r-14,0","w":171},"\u00e2":{"d":"130,-145v15,3,25,8,31,13v4,4,7,8,10,14v3,6,4,12,4,19v0,11,-2,23,-6,35v-4,12,-9,24,-16,33v-16,23,-38,34,-66,34v-35,0,-51,-13,-51,-39v0,-8,1,-18,4,-31r27,-130v4,-20,13,-35,25,-46v12,-11,27,-16,46,-16v8,0,15,1,21,3v6,2,12,5,16,9v4,4,7,8,9,14v2,6,4,13,4,20v0,15,-5,29,-14,42v-5,6,-10,12,-15,16v-5,4,-9,6,-13,7v-4,1,-9,2,-16,3xm90,-149r11,0v11,0,20,-1,25,-2v5,-1,11,-2,16,-5v10,-5,17,-13,22,-23v5,-10,8,-22,8,-36v0,-11,-3,-19,-9,-25v-6,-6,-16,-9,-28,-9v-14,0,-25,5,-34,14v-9,9,-16,23,-20,43r-27,129v-2,10,-3,19,-3,26v0,11,4,19,12,23v8,4,17,5,28,5v17,0,31,-5,41,-16v8,-8,14,-19,19,-33v5,-14,8,-28,8,-40v0,-9,-2,-16,-6,-22v-4,-6,-10,-11,-18,-14v-5,-2,-10,-3,-15,-4v-5,-1,-13,-1,-24,-1r-9,0","w":174},"\u0432":{"d":"130,-145v15,3,25,8,31,13v4,4,7,8,10,14v3,6,4,12,4,19v0,11,-2,23,-6,35v-4,12,-9,24,-16,33v-16,23,-38,34,-66,34v-35,0,-51,-13,-51,-39v0,-8,1,-18,4,-31r27,-130v4,-20,13,-35,25,-46v12,-11,27,-16,46,-16v8,0,15,1,21,3v6,2,12,5,16,9v4,4,7,8,9,14v2,6,4,13,4,20v0,15,-5,29,-14,42v-5,6,-10,12,-15,16v-5,4,-9,6,-13,7v-4,1,-9,2,-16,3xm90,-149r11,0v11,0,20,-1,25,-2v5,-1,11,-2,16,-5v10,-5,17,-13,22,-23v5,-10,8,-22,8,-36v0,-11,-3,-19,-9,-25v-6,-6,-16,-9,-28,-9v-14,0,-25,5,-34,14v-9,9,-16,23,-20,43r-27,129v-2,10,-3,19,-3,26v0,11,4,19,12,23v8,4,17,5,28,5v17,0,31,-5,41,-16v8,-8,14,-19,19,-33v5,-14,8,-28,8,-40v0,-9,-2,-16,-6,-22v-4,-6,-10,-11,-18,-14v-5,-2,-10,-3,-15,-4v-5,-1,-13,-1,-24,-1r-9,0","w":174},"\u00e3":{"d":"155,-59v-3,9,-5,17,-8,22v-14,27,-37,40,-70,40v-17,0,-30,-4,-38,-10v-8,-6,-12,-16,-12,-29v0,-16,5,-30,14,-40v4,-5,10,-9,17,-12v7,-3,16,-7,29,-10r14,-3v13,-3,23,-8,31,-12v8,-4,14,-9,18,-15v4,-6,5,-12,5,-20v0,-10,-3,-18,-9,-24v-6,-6,-15,-8,-25,-8v-15,0,-27,6,-38,17v-4,4,-7,8,-9,12v-2,4,-5,10,-8,18r-14,0v4,-10,6,-17,9,-22v6,-12,14,-21,25,-27v11,-6,23,-10,37,-10v15,0,27,4,35,11v8,7,12,19,12,32v0,14,-5,26,-16,37v-9,8,-26,16,-50,23r-11,3v-7,2,-13,3,-19,5v-10,3,-17,9,-22,14v-7,8,-10,17,-10,29v0,9,3,16,10,21v7,5,16,8,28,8v15,0,28,-4,38,-13v10,-9,18,-21,22,-37r15,0","w":167},"\u0433":{"d":"155,-59v-3,9,-5,17,-8,22v-14,27,-37,40,-70,40v-17,0,-30,-4,-38,-10v-8,-6,-12,-16,-12,-29v0,-16,5,-30,14,-40v4,-5,10,-9,17,-12v7,-3,16,-7,29,-10r14,-3v13,-3,23,-8,31,-12v8,-4,14,-9,18,-15v4,-6,5,-12,5,-20v0,-10,-3,-18,-9,-24v-6,-6,-15,-8,-25,-8v-15,0,-27,6,-38,17v-4,4,-7,8,-9,12v-2,4,-5,10,-8,18r-14,0v4,-10,6,-17,9,-22v6,-12,14,-21,25,-27v11,-6,23,-10,37,-10v15,0,27,4,35,11v8,7,12,19,12,32v0,14,-5,26,-16,37v-9,8,-26,16,-50,23r-11,3v-7,2,-13,3,-19,5v-10,3,-17,9,-22,14v-7,8,-10,17,-10,29v0,9,3,16,10,21v7,5,16,8,28,8v15,0,28,-4,38,-13v10,-9,18,-21,22,-37r15,0","w":167},"\u00e4":{"d":"211,-189r-39,179v-2,12,-6,23,-11,34v-5,11,-9,20,-15,26v-8,8,-18,14,-30,19v-12,5,-24,7,-37,7v-17,0,-31,-3,-42,-9v-11,-6,-16,-18,-16,-35r0,-10r17,0v-1,7,-1,11,-1,12v0,20,14,30,42,30v20,0,38,-6,51,-18v6,-6,11,-12,15,-19v4,-8,7,-16,10,-24v3,-8,6,-22,11,-43v-9,13,-17,22,-23,27v-14,11,-30,17,-49,17v-13,0,-23,-3,-32,-8v-9,-5,-16,-13,-21,-23v-5,-10,-6,-22,-6,-36v0,-10,1,-21,4,-33v3,-12,6,-23,11,-34v9,-20,22,-35,36,-45v14,-10,31,-16,49,-16v10,0,18,1,24,4v6,3,12,8,17,14v3,4,6,8,7,12v1,4,3,9,4,15r9,-43r15,0xm133,-178v-14,0,-28,5,-40,15v-12,10,-22,25,-30,42v-8,17,-11,35,-11,55v0,19,4,33,12,43v8,10,20,15,35,15v14,0,27,-6,40,-16v13,-10,22,-24,30,-41v8,-17,11,-36,11,-55v0,-12,-2,-22,-6,-31v-4,-9,-9,-15,-16,-20v-7,-5,-15,-7,-25,-7","w":205},"\u0434":{"d":"211,-189r-39,179v-2,12,-6,23,-11,34v-5,11,-9,20,-15,26v-8,8,-18,14,-30,19v-12,5,-24,7,-37,7v-17,0,-31,-3,-42,-9v-11,-6,-16,-18,-16,-35r0,-10r17,0v-1,7,-1,11,-1,12v0,20,14,30,42,30v20,0,38,-6,51,-18v6,-6,11,-12,15,-19v4,-8,7,-16,10,-24v3,-8,6,-22,11,-43v-9,13,-17,22,-23,27v-14,11,-30,17,-49,17v-13,0,-23,-3,-32,-8v-9,-5,-16,-13,-21,-23v-5,-10,-6,-22,-6,-36v0,-10,1,-21,4,-33v3,-12,6,-23,11,-34v9,-20,22,-35,36,-45v14,-10,31,-16,49,-16v10,0,18,1,24,4v6,3,12,8,17,14v3,4,6,8,7,12v1,4,3,9,4,15r9,-43r15,0xm133,-178v-14,0,-28,5,-40,15v-12,10,-22,25,-30,42v-8,17,-11,35,-11,55v0,19,4,33,12,43v8,10,20,15,35,15v14,0,27,-6,40,-16v13,-10,22,-24,30,-41v8,-17,11,-36,11,-55v0,-12,-2,-22,-6,-31v-4,-9,-9,-15,-16,-20v-7,-5,-15,-7,-25,-7","w":205},"\u00f2":{"d":"28,0r40,-189r16,0r-7,33v7,-9,15,-16,21,-21v14,-10,29,-15,44,-15v13,0,22,4,28,10v6,6,11,15,13,29v10,-12,18,-20,24,-25v12,-9,26,-13,43,-13v13,0,23,3,31,10v8,7,12,17,12,29v0,7,-1,14,-3,22r-28,130r-15,0r28,-128v1,-5,2,-11,2,-17v0,-21,-11,-31,-32,-31v-9,0,-16,2,-24,5v-6,3,-12,8,-18,13v-8,6,-13,12,-17,18v-4,6,-7,14,-9,23r-25,117r-14,0r27,-126v1,-6,1,-11,1,-16v0,-10,-2,-19,-8,-25v-6,-6,-13,-9,-22,-9v-10,0,-20,3,-30,9v-10,6,-18,13,-25,22v-7,9,-12,18,-14,29r-25,116r-14,0","w":299},"\u0442":{"d":"28,0r40,-189r16,0r-7,33v7,-9,15,-16,21,-21v14,-10,29,-15,44,-15v13,0,22,4,28,10v6,6,11,15,13,29v10,-12,18,-20,24,-25v12,-9,26,-13,43,-13v13,0,23,3,31,10v8,7,12,17,12,29v0,7,-1,14,-3,22r-28,130r-15,0r28,-128v1,-5,2,-11,2,-17v0,-21,-11,-31,-32,-31v-9,0,-16,2,-24,5v-6,3,-12,8,-18,13v-8,6,-13,12,-17,18v-4,6,-7,14,-9,23r-25,117r-14,0r27,-126v1,-6,1,-11,1,-16v0,-10,-2,-19,-8,-25v-6,-6,-13,-9,-22,-9v-10,0,-20,3,-30,9v-10,6,-18,13,-25,22v-7,9,-12,18,-14,29r-25,116r-14,0","w":299},"\u00ed":{"d":"62,-94r-20,94r-14,0r40,-189r14,0r-17,82r97,0r18,-82r14,0r-40,189r-15,0r20,-94r-97,0","w":188},"\u043d":{"d":"62,-94r-20,94r-14,0r40,-189r14,0r-17,82r97,0r18,-82r14,0r-40,189r-15,0r20,-94r-97,0","w":188},"\u00b8":{"d":"97,-231r6,-28r18,0r-6,28r-18,0xm171,-231r6,-28r18,0r-6,28r-18,0xm54,-93v-2,13,-3,22,-3,26v0,18,4,31,13,42v9,11,20,16,34,16v9,0,18,-3,27,-7v9,-4,17,-10,23,-18v5,-6,10,-14,14,-24r15,0v-5,11,-9,19,-13,25v-18,25,-41,37,-70,37v-39,0,-59,-23,-59,-69v0,-12,2,-26,6,-40v4,-14,10,-27,17,-39v9,-16,20,-28,33,-36v13,-8,29,-13,45,-13v18,0,32,6,41,17v9,11,14,26,14,47v0,9,-1,20,-4,36r-133,0xm57,-105r117,0v1,-10,2,-18,2,-23v0,-12,-4,-23,-11,-33v-5,-7,-9,-12,-14,-14v-5,-2,-11,-3,-20,-3v-14,0,-28,5,-40,15v-6,5,-11,11,-16,18v-7,9,-13,23,-18,40","w":192},"\u0451":{"d":"97,-231r6,-28r18,0r-6,28r-18,0xm171,-231r6,-28r18,0r-6,28r-18,0xm54,-93v-2,13,-3,22,-3,26v0,18,4,31,13,42v9,11,20,16,34,16v9,0,18,-3,27,-7v9,-4,17,-10,23,-18v5,-6,10,-14,14,-24r15,0v-5,11,-9,19,-13,25v-18,25,-41,37,-70,37v-39,0,-59,-23,-59,-69v0,-12,2,-26,6,-40v4,-14,10,-27,17,-39v9,-16,20,-28,33,-36v13,-8,29,-13,45,-13v18,0,32,6,41,17v9,11,14,26,14,47v0,9,-1,20,-4,36r-133,0xm57,-105r117,0v1,-10,2,-18,2,-23v0,-12,-4,-23,-11,-33v-5,-7,-9,-12,-14,-14v-5,-2,-11,-3,-20,-3v-14,0,-28,5,-40,15v-6,5,-11,11,-16,18v-7,9,-13,23,-18,40","w":192},"\u00f3":{"d":"-3,73r4,-15v9,2,14,3,17,3r1,0v3,0,6,-1,8,-2v2,-1,3,-2,4,-2v3,-2,8,-8,14,-16v6,-8,12,-18,18,-29r4,-8r2,-2r-29,-191r18,0r21,174r96,-174r16,0r-127,225v-15,27,-31,40,-49,40v-5,0,-11,-1,-18,-3","w":157},"\u0443":{"d":"-3,73r4,-15v9,2,14,3,17,3r1,0v3,0,6,-1,8,-2v2,-1,3,-2,4,-2v3,-2,8,-8,14,-16v6,-8,12,-18,18,-29r4,-8r2,-2r-29,-191r18,0r21,174r96,-174r16,0r-127,225v-15,27,-31,40,-49,40v-5,0,-11,-1,-18,-3","w":157},"\u00f7":{"d":"132,-98r19,-91r15,0r-40,189r-15,0r18,-84v-4,2,-4,2,-7,4v-2,1,-4,2,-5,3v-12,7,-24,10,-37,10v-13,0,-22,-3,-29,-9v-7,-6,-10,-15,-10,-26v0,-7,1,-15,3,-25r13,-62r15,0r-13,61v-2,10,-3,18,-3,24v0,8,2,14,6,18v4,4,12,6,21,6v16,0,32,-6,49,-18","w":159},"\u0447":{"d":"132,-98r19,-91r15,0r-40,189r-15,0r18,-84v-4,2,-4,2,-7,4v-2,1,-4,2,-5,3v-12,7,-24,10,-37,10v-13,0,-22,-3,-29,-9v-7,-6,-10,-15,-10,-26v0,-7,1,-15,3,-25r13,-62r15,0r-13,61v-2,10,-3,18,-3,24v0,8,2,14,6,18v4,4,12,6,21,6v16,0,32,-6,49,-18","w":159},"\u00f4":{"d":"94,77r17,-78v-14,0,-23,-1,-30,-2v-7,-1,-13,-5,-20,-9v-9,-6,-16,-13,-20,-21v-4,-8,-5,-20,-5,-34v0,-11,1,-23,4,-35v3,-12,8,-23,14,-33v6,-10,13,-19,21,-26v7,-7,14,-12,22,-16v7,-4,15,-6,22,-8v7,-2,18,-2,32,-3r15,-71r15,0r-15,71v13,0,22,0,29,2v7,2,14,5,20,9v18,12,26,31,26,57v0,11,-2,23,-5,35v-3,12,-8,23,-14,33v-6,10,-12,19,-19,26v-6,5,-13,10,-22,14v-8,4,-16,8,-23,9v-7,1,-18,2,-32,2r-17,78r-15,0xm147,-174v-6,0,-11,1,-17,2v-14,2,-28,9,-41,19v-11,9,-20,21,-27,35v-7,14,-9,29,-9,45v0,18,3,32,10,41v4,6,10,10,18,13v8,3,19,5,33,6xm162,-174r-33,161v3,0,6,-1,10,-1v4,0,7,-1,7,-1v15,-2,29,-8,41,-17v7,-6,13,-15,19,-24v6,-9,11,-19,14,-29v3,-10,4,-21,4,-31v0,-15,-3,-27,-11,-37v-5,-7,-12,-11,-18,-14v-7,-4,-18,-6,-33,-7","w":246},"\u0444":{"d":"94,77r17,-78v-14,0,-23,-1,-30,-2v-7,-1,-13,-5,-20,-9v-9,-6,-16,-13,-20,-21v-4,-8,-5,-20,-5,-34v0,-11,1,-23,4,-35v3,-12,8,-23,14,-33v6,-10,13,-19,21,-26v7,-7,14,-12,22,-16v7,-4,15,-6,22,-8v7,-2,18,-2,32,-3r15,-71r15,0r-15,71v13,0,22,0,29,2v7,2,14,5,20,9v18,12,26,31,26,57v0,11,-2,23,-5,35v-3,12,-8,23,-14,33v-6,10,-12,19,-19,26v-6,5,-13,10,-22,14v-8,4,-16,8,-23,9v-7,1,-18,2,-32,2r-17,78r-15,0xm147,-174v-6,0,-11,1,-17,2v-14,2,-28,9,-41,19v-11,9,-20,21,-27,35v-7,14,-9,29,-9,45v0,18,3,32,10,41v4,6,10,10,18,13v8,3,19,5,33,6xm162,-174r-33,161v3,0,6,-1,10,-1v4,0,7,-1,7,-1v15,-2,29,-8,41,-17v7,-6,13,-15,19,-24v6,-9,11,-19,14,-29v3,-10,4,-21,4,-31v0,-15,-3,-27,-11,-37v-5,-7,-12,-11,-18,-14v-7,-4,-18,-6,-33,-7","w":246},"\u00f6":{"d":"165,0r-18,0r8,-39v-5,6,-8,11,-11,14v-3,3,-8,7,-14,12v-8,6,-15,11,-22,13v-7,2,-16,3,-25,3v-31,0,-46,-13,-46,-39v0,-6,2,-15,4,-26r27,-127r14,0r-25,122v-2,10,-4,18,-4,26v0,10,3,18,9,23v6,5,15,7,27,7v11,0,23,-2,33,-8v10,-6,19,-14,26,-24v7,-10,12,-21,15,-34r24,-112r14,0r-37,176r21,0r-13,59r-10,0","w":199},"\u0446":{"d":"165,0r-18,0r8,-39v-5,6,-8,11,-11,14v-3,3,-8,7,-14,12v-8,6,-15,11,-22,13v-7,2,-16,3,-25,3v-31,0,-46,-13,-46,-39v0,-6,2,-15,4,-26r27,-127r14,0r-25,122v-2,10,-4,18,-4,26v0,10,3,18,9,23v6,5,15,7,27,7v11,0,23,-2,33,-8v10,-6,19,-14,26,-24v7,-10,12,-21,15,-34r24,-112r14,0r-37,176r21,0r-13,59r-10,0","w":199},"\u00e6":{"d":"162,-189r-21,98r98,-98r21,0r-82,76r50,113r-18,0r-43,-103r-29,27r-16,76r-15,0r16,-76r-16,-27r-88,103r-17,0r98,-114r-50,-75r21,0r56,99r21,-99r14,0","w":241},"\u0436":{"d":"162,-189r-21,98r98,-98r21,0r-82,76r50,113r-18,0r-43,-103r-29,27r-16,76r-15,0r16,-76r-16,-27r-88,103r-17,0r98,-114r-50,-75r21,0r56,99r21,-99r14,0","w":241},"\u00f8":{"d":"300,-189r-40,189r-15,0r10,-37v-9,11,-18,19,-25,25v-13,10,-28,15,-43,15v-27,0,-40,-14,-40,-39r0,-5v-5,8,-10,14,-13,18v-3,4,-8,7,-13,11v-13,9,-27,15,-42,15v-14,0,-24,-4,-32,-11v-8,-7,-12,-16,-12,-28v0,-5,0,-12,2,-22r28,-131r15,0r-25,116v-3,13,-3,24,-3,34v0,9,2,15,8,20v6,5,13,7,23,7v9,0,18,-2,28,-8v10,-6,19,-14,26,-23v7,-9,11,-19,13,-29r25,-117r15,0r-24,109v-3,11,-4,23,-4,35v0,11,3,20,8,25v5,5,12,8,22,8v15,0,31,-7,45,-20v7,-7,12,-13,15,-19v3,-6,7,-14,9,-24r24,-114r15,0","w":299},"\u0448":{"d":"300,-189r-40,189r-15,0r10,-37v-9,11,-18,19,-25,25v-13,10,-28,15,-43,15v-27,0,-40,-14,-40,-39r0,-5v-5,8,-10,14,-13,18v-3,4,-8,7,-13,11v-13,9,-27,15,-42,15v-14,0,-24,-4,-32,-11v-8,-7,-12,-16,-12,-28v0,-5,0,-12,2,-22r28,-131r15,0r-25,116v-3,13,-3,24,-3,34v0,9,2,15,8,20v6,5,13,7,23,7v9,0,18,-2,28,-8v10,-6,19,-14,26,-23v7,-9,11,-19,13,-29r25,-117r15,0r-24,109v-3,11,-4,23,-4,35v0,11,3,20,8,25v5,5,12,8,22,8v15,0,31,-7,45,-20v7,-7,12,-13,15,-19v3,-6,7,-14,9,-24r24,-114r15,0","w":299},"\u00fa":{"d":"41,-189r46,0r-15,72r34,0v15,0,26,4,34,12v8,8,13,19,13,33v0,9,-2,19,-6,28v-4,9,-10,18,-17,25v-7,7,-14,12,-22,15v-8,3,-18,4,-29,4r-47,0r37,-175r-31,0xm50,-13r33,0v10,0,20,-3,28,-8v8,-5,15,-12,20,-21v5,-9,7,-19,7,-30v0,-20,-12,-31,-37,-31r-32,0","w":156},"\u044a":{"d":"41,-189r46,0r-15,72r34,0v15,0,26,4,34,12v8,8,13,19,13,33v0,9,-2,19,-6,28v-4,9,-10,18,-17,25v-7,7,-14,12,-22,15v-8,3,-18,4,-29,4r-47,0r37,-175r-31,0xm50,-13r33,0v10,0,20,-3,28,-8v8,-5,15,-12,20,-21v5,-9,7,-19,7,-30v0,-20,-12,-31,-37,-31r-32,0","w":156},"\u00f9":{"d":"266,0r-21,0r8,-35v-7,9,-14,16,-23,23v-7,5,-14,9,-20,11v-6,2,-14,4,-22,4v-27,0,-41,-14,-41,-39r0,-4v-7,10,-14,19,-21,25v-7,6,-14,10,-22,13v-8,3,-16,4,-26,4v-14,0,-24,-3,-32,-10v-8,-7,-11,-16,-11,-28v0,-7,0,-14,2,-22r28,-131r15,0r-25,119v-2,10,-3,20,-3,29v0,19,10,29,31,29v14,0,28,-7,42,-19v8,-7,14,-13,18,-21v4,-8,8,-18,10,-29r22,-108r15,0r-27,127v-1,5,-1,9,-1,15v0,23,10,35,30,35v10,0,19,-3,29,-9v10,-6,19,-13,26,-22v7,-9,12,-20,14,-30r24,-116r15,0r-38,177r23,0r-12,58r-10,0","w":305},"\u0449":{"d":"266,0r-21,0r8,-35v-7,9,-14,16,-23,23v-7,5,-14,9,-20,11v-6,2,-14,4,-22,4v-27,0,-41,-14,-41,-39r0,-4v-7,10,-14,19,-21,25v-7,6,-14,10,-22,13v-8,3,-16,4,-26,4v-14,0,-24,-3,-32,-10v-8,-7,-11,-16,-11,-28v0,-7,0,-14,2,-22r28,-131r15,0r-25,119v-2,10,-3,20,-3,29v0,19,10,29,31,29v14,0,28,-7,42,-19v8,-7,14,-13,18,-21v4,-8,8,-18,10,-29r22,-108r15,0r-27,127v-1,5,-1,9,-1,15v0,23,10,35,30,35v10,0,19,-3,29,-9v10,-6,19,-13,26,-22v7,-9,12,-20,14,-30r24,-116r15,0r-38,177r23,0r-12,58r-10,0","w":305},"\u00e7":{"d":"29,-56r14,0v-1,6,-2,11,-2,14v0,23,12,34,34,34v10,0,19,-3,27,-8v8,-5,15,-12,20,-21v5,-9,8,-20,8,-30v0,-9,-4,-16,-10,-21v-6,-5,-14,-9,-25,-9r-21,0r2,-10r22,0v9,0,17,-2,24,-6v7,-4,13,-9,17,-16v4,-7,6,-15,6,-23v0,-9,-2,-16,-8,-21v-6,-5,-14,-8,-24,-8v-16,0,-28,7,-38,19v-5,5,-9,13,-13,25r-14,0v4,-11,9,-20,14,-27v14,-19,32,-28,55,-28v13,0,22,4,30,10v8,6,12,14,12,25v0,16,-4,29,-12,38v-8,9,-21,15,-37,17v10,1,18,4,23,8v4,3,7,6,9,11v2,5,3,10,3,15v0,13,-4,26,-13,39v-14,21,-33,31,-59,31v-29,0,-45,-14,-45,-43v0,-6,1,-11,1,-15","w":157},"\u0437":{"d":"29,-56r14,0v-1,6,-2,11,-2,14v0,23,12,34,34,34v10,0,19,-3,27,-8v8,-5,15,-12,20,-21v5,-9,8,-20,8,-30v0,-9,-4,-16,-10,-21v-6,-5,-14,-9,-25,-9r-21,0r2,-10r22,0v9,0,17,-2,24,-6v7,-4,13,-9,17,-16v4,-7,6,-15,6,-23v0,-9,-2,-16,-8,-21v-6,-5,-14,-8,-24,-8v-16,0,-28,7,-38,19v-5,5,-9,13,-13,25r-14,0v4,-11,9,-20,14,-27v14,-19,32,-28,55,-28v13,0,22,4,30,10v8,6,12,14,12,25v0,16,-4,29,-12,38v-8,9,-21,15,-37,17v10,1,18,4,23,8v4,3,7,6,9,11v2,5,3,10,3,15v0,13,-4,26,-13,39v-14,21,-33,31,-59,31v-29,0,-45,-14,-45,-43v0,-6,1,-11,1,-15","w":157},"\u00eb":{"d":"127,-191r30,191r-17,0r-25,-178r-100,178r-16,0r110,-191r18,0","w":155},"\u043b":{"d":"127,-191r30,191r-17,0r-25,-178r-100,178r-16,0r110,-191r18,0","w":155},"\u00fc":{"d":"82,-189r-15,72r35,0v10,0,18,2,25,5v7,3,13,9,17,15v4,6,5,13,5,22v0,13,-3,26,-10,39v-13,24,-34,36,-64,36r-47,0r40,-189r14,0xm45,-13r35,0v10,0,19,-3,27,-8v8,-5,15,-13,20,-22v5,-9,7,-19,7,-30v0,-10,-3,-17,-9,-22v-6,-5,-14,-8,-24,-8r-36,0","w":150},"\u044c":{"d":"82,-189r-15,72r35,0v10,0,18,2,25,5v7,3,13,9,17,15v4,6,5,13,5,22v0,13,-3,26,-10,39v-13,24,-34,36,-64,36r-47,0r40,-189r14,0xm45,-13r35,0v10,0,19,-3,27,-8v8,-5,15,-13,20,-22v5,-9,7,-19,7,-30v0,-10,-3,-17,-9,-22v-6,-5,-14,-8,-24,-8r-36,0","w":150},"\u00ff":{"d":"12,0r73,-82v-12,-3,-21,-7,-27,-12v-6,-5,-8,-13,-8,-23v0,-13,3,-26,10,-37v7,-11,15,-19,27,-25v12,-6,25,-10,39,-10r47,0r-40,189r-15,0r17,-80r-36,0r-68,80r-19,0xm154,-172r-34,0v-6,0,-12,0,-17,1v-5,1,-9,3,-13,6v-4,3,-7,7,-11,11v-8,10,-12,19,-12,30v0,9,3,17,9,22v6,5,14,8,24,8r38,0","w":167},"\u044f":{"d":"12,0r73,-82v-12,-3,-21,-7,-27,-12v-6,-5,-8,-13,-8,-23v0,-13,3,-26,10,-37v7,-11,15,-19,27,-25v12,-6,25,-10,39,-10r47,0r-40,189r-15,0r17,-80r-36,0r-68,80r-19,0xm154,-172r-34,0v-6,0,-12,0,-17,1v-5,1,-9,3,-13,6v-4,3,-7,7,-11,11v-8,10,-12,19,-12,30v0,9,3,17,9,22v6,5,14,8,24,8r38,0","w":167},"\u00fe":{"d":"96,-107v3,-10,6,-17,8,-22v2,-5,6,-11,10,-18v20,-30,46,-46,79,-46v21,0,35,6,45,17v10,11,15,28,15,51v0,29,-7,55,-22,80v-19,32,-46,48,-82,48v-39,0,-59,-21,-59,-63v0,-8,1,-20,3,-34r-31,0r-20,94r-14,0r40,-189r14,0r-17,82r31,0xm189,-178v-10,0,-19,2,-28,6v-9,4,-17,9,-24,17v-7,8,-12,17,-17,27v-10,22,-15,41,-15,60v0,38,16,58,48,58v15,0,29,-6,42,-16v13,-10,23,-24,31,-41v8,-17,12,-37,12,-58v0,-18,-5,-31,-13,-40v-8,-9,-20,-13,-36,-13","w":259},"\u044e":{"d":"96,-107v3,-10,6,-17,8,-22v2,-5,6,-11,10,-18v20,-30,46,-46,79,-46v21,0,35,6,45,17v10,11,15,28,15,51v0,29,-7,55,-22,80v-19,32,-46,48,-82,48v-39,0,-59,-21,-59,-63v0,-8,1,-20,3,-34r-31,0r-20,94r-14,0r40,-189r14,0r-17,82r31,0xm189,-178v-10,0,-19,2,-28,6v-9,4,-17,9,-24,17v-7,8,-12,17,-17,27v-10,22,-15,41,-15,60v0,38,16,58,48,58v15,0,29,-6,42,-16v13,-10,23,-24,31,-41v8,-17,12,-37,12,-58v0,-18,-5,-31,-13,-40v-8,-9,-20,-13,-36,-13","w":259},"\u00e8":{"d":"199,-189r-40,189r-17,0r7,-35v-6,7,-10,12,-14,16v-4,4,-9,7,-15,11v-7,4,-13,7,-19,9v-6,2,-12,2,-20,2v-31,0,-46,-13,-46,-39v0,-8,1,-16,3,-26r27,-127r15,0r-26,122v-2,11,-3,20,-3,27v0,9,3,16,10,21v7,5,15,8,26,8v11,0,22,-2,32,-8v10,-6,20,-14,27,-24v7,-10,12,-22,15,-34r23,-112r15,0","w":193},"\u0438":{"d":"199,-189r-40,189r-17,0r7,-35v-6,7,-10,12,-14,16v-4,4,-9,7,-15,11v-7,4,-13,7,-19,9v-6,2,-12,2,-20,2v-31,0,-46,-13,-46,-39v0,-8,1,-16,3,-26r27,-127r15,0r-26,122v-2,11,-3,20,-3,27v0,9,3,16,10,21v7,5,15,8,26,8v11,0,22,-2,32,-8v10,-6,20,-14,27,-24v7,-10,12,-22,15,-34r23,-112r15,0","w":193},"\u00b0":{"d":"169,-206v0,10,-2,20,-7,28v-5,8,-12,15,-20,20v-8,5,-17,7,-27,7v-10,0,-19,-2,-27,-7v-8,-5,-15,-12,-20,-20v-5,-8,-7,-17,-7,-27v0,-10,2,-19,7,-27v5,-8,12,-15,20,-20v8,-5,17,-7,27,-7v9,0,19,3,27,8v8,5,15,11,20,19v5,8,7,17,7,26xm155,-204v0,-7,-2,-14,-6,-20v-4,-6,-8,-11,-14,-15v-6,-4,-13,-5,-20,-5v-11,0,-20,3,-28,11v-8,8,-11,17,-11,28v0,11,3,20,11,28v8,8,17,12,28,12v7,0,14,-2,20,-6v6,-4,10,-8,14,-14v4,-6,6,-12,6,-19","w":143},"\u00a2":{"d":"175,-64r14,0v-2,6,-3,10,-5,14v-7,14,-16,25,-28,35v-16,13,-35,20,-57,20v-6,0,-15,-1,-25,-3r-26,48r-18,0r29,-55v-9,-7,-15,-11,-18,-15v-8,-10,-13,-25,-13,-44v0,-23,5,-43,15,-63v10,-20,23,-35,40,-47v17,-12,35,-18,54,-18v6,0,13,1,21,3r22,-42r18,0r-25,47v8,5,14,9,17,13v7,9,11,20,11,31v0,5,0,10,-1,13r-13,0r0,-3v0,-8,-2,-14,-4,-20v-2,-5,-4,-9,-6,-12v-2,-3,-6,-5,-12,-9r-83,159v9,1,17,2,21,2v12,0,24,-4,35,-10v9,-6,16,-11,22,-18v6,-7,11,-16,15,-26xm67,-17r82,-159v-6,-1,-12,-1,-18,-1v-15,0,-29,5,-42,15v-13,10,-24,23,-32,40v-8,17,-12,34,-12,52v0,13,1,23,4,30v3,7,9,14,18,23","w":191},"\u045e":{"d":"175,-64r14,0v-2,6,-3,10,-5,14v-7,14,-16,25,-28,35v-16,13,-35,20,-57,20v-6,0,-15,-1,-25,-3r-26,48r-18,0r29,-55v-9,-7,-15,-11,-18,-15v-8,-10,-13,-25,-13,-44v0,-23,5,-43,15,-63v10,-20,23,-35,40,-47v17,-12,35,-18,54,-18v6,0,13,1,21,3r22,-42r18,0r-25,47v8,5,14,9,17,13v7,9,11,20,11,31v0,5,0,10,-1,13r-13,0r0,-3v0,-8,-2,-14,-4,-20v-2,-5,-4,-9,-6,-12v-2,-3,-6,-5,-12,-9r-83,159v9,1,17,2,21,2v12,0,24,-4,35,-10v9,-6,16,-11,22,-18v6,-7,11,-16,15,-26xm67,-17r82,-159v-6,-1,-12,-1,-18,-1v-15,0,-29,5,-42,15v-13,10,-24,23,-32,40v-8,17,-12,34,-12,52v0,13,1,23,4,30v3,7,9,14,18,23","w":191},"\u00a3":{"d":"28,2r-8,-20r21,-17v0,0,9,-9,13,-15v10,-15,16,-30,16,-45v0,-3,-1,-10,-2,-19r-33,0r3,-15r29,0v-3,-5,-4,-9,-5,-11v-4,-9,-6,-19,-6,-29v0,-15,5,-28,13,-41v8,-13,19,-23,33,-31v14,-8,29,-11,45,-11v12,0,23,2,32,6v9,4,16,12,21,20v5,8,7,18,7,30v0,7,0,14,-2,23r-17,0v2,-12,2,-18,2,-22v0,-13,-4,-24,-12,-31v-8,-7,-19,-11,-33,-11v-13,0,-24,3,-35,9v-11,6,-20,15,-26,25v-6,10,-9,21,-9,33v0,7,0,12,1,17v1,5,4,11,9,21r1,3r58,0r-3,15r-54,0v1,8,2,15,2,20v0,11,-4,23,-12,36v-8,12,-21,26,-40,43v15,-6,28,-8,39,-8v10,0,19,2,29,6v8,4,14,6,17,7v3,1,6,1,10,1v5,0,12,-1,17,-4v5,-3,13,-7,24,-15r9,10v-23,17,-41,25,-54,25v-8,0,-19,-3,-33,-8v-14,-6,-26,-8,-33,-8v-7,0,-19,4,-34,11","w":191},"\u0408":{"d":"28,2r-8,-20r21,-17v0,0,9,-9,13,-15v10,-15,16,-30,16,-45v0,-3,-1,-10,-2,-19r-33,0r3,-15r29,0v-3,-5,-4,-9,-5,-11v-4,-9,-6,-19,-6,-29v0,-15,5,-28,13,-41v8,-13,19,-23,33,-31v14,-8,29,-11,45,-11v12,0,23,2,32,6v9,4,16,12,21,20v5,8,7,18,7,30v0,7,0,14,-2,23r-17,0v2,-12,2,-18,2,-22v0,-13,-4,-24,-12,-31v-8,-7,-19,-11,-33,-11v-13,0,-24,3,-35,9v-11,6,-20,15,-26,25v-6,10,-9,21,-9,33v0,7,0,12,1,17v1,5,4,11,9,21r1,3r58,0r-3,15r-54,0v1,8,2,15,2,20v0,11,-4,23,-12,36v-8,12,-21,26,-40,43v15,-6,28,-8,39,-8v10,0,19,2,29,6v8,4,14,6,17,7v3,1,6,1,10,1v5,0,12,-1,17,-4v5,-3,13,-7,24,-15r9,10v-23,17,-41,25,-54,25v-8,0,-19,-3,-33,-8v-14,-6,-26,-8,-33,-8v-7,0,-19,4,-34,11","w":191},"\u00a7":{"d":"39,-27r16,0v-1,5,-1,9,-1,12v0,11,3,20,7,25v4,5,11,8,20,8v7,0,14,-2,20,-6v6,-4,12,-9,16,-15v4,-6,5,-13,5,-20v0,-6,-2,-10,-5,-15v-3,-5,-9,-10,-17,-16v-4,-3,-6,-5,-6,-5r-25,-19v-16,-13,-24,-26,-24,-40v0,-9,2,-19,8,-29v4,-6,8,-11,11,-14v6,-6,16,-12,30,-20v-7,-9,-11,-18,-11,-26v0,-10,3,-20,8,-29v5,-9,13,-17,22,-22v9,-5,19,-8,30,-8v27,0,41,13,41,38v0,6,-2,12,-3,21r-17,0v0,-4,1,-6,1,-8v1,-5,1,-9,1,-11v0,-7,-3,-13,-8,-18v-5,-5,-12,-7,-20,-7v-6,0,-12,2,-18,6v-6,4,-10,9,-14,15v-4,6,-5,13,-5,20v0,10,6,20,19,29r30,20v18,13,27,28,27,44v0,10,-3,19,-8,29v-3,5,-7,10,-12,15v-5,5,-14,11,-27,18v7,10,10,20,10,30v0,10,-3,20,-9,29v-6,9,-13,17,-23,22v-10,5,-20,8,-31,8v-8,0,-15,-2,-21,-5v-6,-3,-12,-8,-15,-14v-3,-6,-5,-14,-5,-22v0,-5,1,-11,3,-20xm122,-62v15,-11,25,-19,29,-24v2,-3,4,-7,6,-12v2,-5,3,-10,3,-14v0,-5,-3,-11,-7,-17v-4,-6,-9,-11,-15,-16r-35,-26v-17,10,-28,18,-33,26v-4,6,-6,13,-6,20v0,12,5,23,17,32"},"\u00b6":{"d":"219,-260r-2,11r-23,0r-53,249r-12,0r53,-249r-34,0r-53,249r-12,0r29,-138v-13,-1,-23,-3,-29,-6v-18,-8,-26,-21,-26,-42v0,-13,4,-26,11,-37v7,-11,18,-20,31,-27v13,-7,26,-10,41,-10r79,0"},"\u00ae":{"d":"304,-126v0,24,-5,46,-17,66v-12,20,-27,36,-47,48v-20,12,-42,17,-66,17v-24,0,-45,-6,-65,-17v-20,-11,-35,-28,-46,-48v-11,-20,-17,-42,-17,-66v0,-24,5,-46,17,-66v12,-20,27,-36,47,-48v20,-12,42,-18,66,-18v23,0,45,6,65,18v20,12,35,28,46,48v11,20,17,42,17,66xm63,-127v0,20,5,39,15,57v10,18,24,32,41,43v17,11,36,15,56,15v20,0,39,-5,56,-15v17,-10,31,-24,41,-42v10,-18,15,-37,15,-57v0,-20,-5,-39,-15,-57v-10,-18,-24,-32,-41,-42v-17,-10,-36,-16,-56,-16v-20,0,-39,6,-56,16v-17,10,-31,24,-41,42v-10,18,-15,36,-15,56xm128,-193r61,0v8,0,14,1,20,4v6,3,10,8,13,14v3,6,4,13,4,21v0,8,0,13,-3,18v-3,5,-8,9,-15,13v3,1,6,2,8,3v3,2,5,6,6,12v1,6,2,14,3,26r0,8v0,7,2,12,5,15r0,4r-21,0v-2,-5,-3,-12,-3,-22r0,-6v0,-8,-2,-16,-4,-22v-3,-6,-9,-9,-19,-9r-36,0r0,59r-19,0r0,-138xm147,-130r39,0v6,0,11,-3,15,-7v4,-4,7,-10,7,-17v0,-6,-2,-11,-6,-16v-4,-5,-8,-7,-13,-7r-42,0r0,47","w":300},"\u00a9":{"d":"304,-126v0,24,-5,46,-17,66v-12,20,-27,36,-47,48v-20,12,-42,17,-66,17v-24,0,-45,-6,-65,-17v-20,-11,-35,-28,-46,-48v-11,-20,-17,-42,-17,-66v0,-24,5,-46,17,-66v12,-20,27,-36,47,-48v20,-12,42,-18,66,-18v23,0,45,6,65,18v20,12,35,28,46,48v11,20,17,42,17,66xm63,-127v0,20,5,39,15,57v10,18,24,32,41,43v17,11,36,15,56,15v20,0,39,-5,56,-15v17,-10,31,-24,41,-42v10,-18,15,-37,15,-57v0,-20,-5,-39,-15,-57v-10,-18,-24,-32,-41,-42v-17,-10,-36,-16,-56,-16v-20,0,-39,6,-56,16v-17,10,-31,24,-41,42v-10,18,-15,36,-15,56xm210,-150v-1,-8,-5,-15,-12,-21v-7,-6,-16,-8,-25,-8v-13,0,-22,6,-30,16v-8,10,-12,24,-12,41v0,11,2,20,6,29v4,9,9,15,15,20v6,5,14,7,22,7v11,0,19,-3,26,-10v7,-7,10,-16,11,-28r18,0v-1,12,-3,21,-8,29v-5,8,-11,15,-19,19v-8,4,-19,6,-30,6v-12,0,-22,-3,-31,-9v-9,-6,-16,-14,-21,-25v-5,-11,-8,-23,-8,-38v0,-15,3,-28,8,-39v5,-11,13,-19,22,-25v9,-6,20,-9,33,-9v10,0,18,2,26,6v8,4,14,9,19,16v5,7,7,14,8,23r-18,0","w":300},"\u00b4":{"d":"129,-211r-16,0r50,-62r26,0"},"\u0491":{"d":"129,-211r-16,0r50,-62r26,0"},"\u00dd":{"d":"51,-85v-1,7,-1,12,-1,15v0,15,2,28,8,38v4,7,10,13,19,17v9,4,19,6,30,6v22,0,43,-7,63,-21v14,-10,26,-23,35,-40v5,-9,8,-17,11,-25v3,-8,7,-19,10,-34r-122,0r3,-15r123,0v1,-12,2,-23,2,-31v0,-15,-3,-28,-9,-39v-6,-11,-15,-20,-26,-26v-11,-6,-23,-10,-38,-10v-22,0,-42,9,-59,25v-5,5,-11,11,-15,18v-3,5,-7,13,-11,24r-15,0v3,-10,7,-20,11,-27v8,-13,16,-23,25,-31v9,-8,20,-13,31,-17v11,-4,24,-6,38,-6v18,0,33,3,46,10v13,7,23,18,29,31v6,13,9,30,9,49v0,27,-5,55,-16,83v-25,64,-67,95,-125,95v-12,0,-22,-1,-30,-3v-8,-2,-15,-5,-20,-9v-5,-4,-10,-9,-14,-16v-6,-11,-9,-25,-9,-40v0,-5,0,-12,1,-21r16,0","w":245},"\u042d":{"d":"51,-85v-1,7,-1,12,-1,15v0,15,2,28,8,38v4,7,10,13,19,17v9,4,19,6,30,6v22,0,43,-7,63,-21v14,-10,26,-23,35,-40v5,-9,8,-17,11,-25v3,-8,7,-19,10,-34r-122,0r3,-15r123,0v1,-12,2,-23,2,-31v0,-15,-3,-28,-9,-39v-6,-11,-15,-20,-26,-26v-11,-6,-23,-10,-38,-10v-22,0,-42,9,-59,25v-5,5,-11,11,-15,18v-3,5,-7,13,-11,24r-15,0v3,-10,7,-20,11,-27v8,-13,16,-23,25,-31v9,-8,20,-13,31,-17v11,-4,24,-6,38,-6v18,0,33,3,46,10v13,7,23,18,29,31v6,13,9,30,9,49v0,27,-5,55,-16,83v-25,64,-67,95,-125,95v-12,0,-22,-1,-30,-3v-8,-2,-15,-5,-20,-9v-5,-4,-10,-9,-14,-16v-6,-11,-9,-25,-9,-40v0,-5,0,-12,1,-21r16,0","w":245},"\u00db":{"d":"90,-259r16,0r-24,112r41,0v18,0,33,2,44,6v11,4,19,10,25,18v6,8,8,19,8,32v0,18,-4,35,-13,50v-6,9,-13,17,-21,23v-8,6,-17,11,-27,14v-10,3,-23,4,-37,4r-67,0xm210,0r55,-259r17,0r-56,259r-16,0xm79,-131r-25,116r58,0v19,0,35,-6,47,-17v5,-5,9,-10,13,-16v4,-6,7,-12,9,-19v2,-7,3,-14,3,-21v0,-15,-5,-26,-14,-33v-9,-7,-24,-10,-43,-10r-48,0","w":271},"\u042b":{"d":"90,-259r16,0r-24,112r41,0v18,0,33,2,44,6v11,4,19,10,25,18v6,8,8,19,8,32v0,18,-4,35,-13,50v-6,9,-13,17,-21,23v-8,6,-17,11,-27,14v-10,3,-23,4,-37,4r-67,0xm210,0r55,-259r17,0r-56,259r-16,0xm79,-131r-25,116r58,0v19,0,35,-6,47,-17v5,-5,9,-10,13,-16v4,-6,7,-12,9,-19v2,-7,3,-14,3,-21v0,-15,-5,-26,-14,-33v-9,-7,-24,-10,-43,-10r-48,0","w":271},"\u00b1":{"d":"150,-136r0,14r-61,0r0,61r-14,0r0,-61r-61,0r0,-14r61,0r0,-60r14,0r0,60r61,0xm150,-32r0,14r-136,0r0,-14r136,0","w":164},"\u00b2":{"d":"10,-127r0,-15r143,-60r0,14r-126,54r126,53r0,15xm153,-32r0,14r-143,0r0,-14r143,0","w":167},"\u0406":{"d":"10,-127r0,-15r143,-60r0,14r-126,54r126,53r0,15xm153,-32r0,14r-143,0r0,-14r143,0","w":167},"\u00b3":{"d":"157,-142r0,15r-143,61r0,-15r126,-53r-126,-54r0,-14xm14,-18r0,-14r143,0r0,14r-143,0","w":167},"\u0456":{"d":"157,-142r0,15r-143,61r0,-15r126,-53r-126,-54r0,-14xm14,-18r0,-14r143,0r0,14r-143,0","w":167},"\u00a5":{"d":"89,0r23,-108r-88,0r3,-15r79,0r-13,-28r-60,0r3,-16r49,0r-34,-77r24,0r51,116r100,-116r24,0r-68,77r49,0r-3,16r-60,0r-25,28r79,0r-4,15r-87,0r-23,108r-19,0","w":197},"\u0490":{"d":"89,0r23,-108r-88,0r3,-15r79,0r-13,-28r-60,0r3,-16r49,0r-34,-77r24,0r51,116r100,-116r24,0r-68,77r49,0r-3,16r-60,0r-25,28r79,0r-4,15r-87,0r-23,108r-19,0","w":197},"\u00fd":{"d":"45,-65r0,12v0,14,3,24,10,32v7,8,16,11,28,11v9,0,17,-1,25,-5v7,-3,13,-9,20,-16v7,-8,13,-15,17,-23v4,-8,8,-20,12,-36r-74,0r3,-14r75,0v1,-8,1,-15,1,-22v0,-17,-4,-30,-12,-39v-8,-9,-18,-13,-32,-13v-10,0,-19,3,-28,8v-7,4,-13,9,-17,15v-4,6,-9,15,-13,27r-15,0v5,-13,9,-23,13,-30v4,-7,9,-13,15,-18v13,-11,30,-17,48,-17v11,0,21,3,30,8v9,5,15,12,20,22v5,10,7,22,7,35v0,14,-2,28,-6,43v-4,15,-9,28,-16,41v-17,32,-43,48,-76,48v-20,0,-35,-6,-43,-19v-3,-4,-5,-10,-6,-15v-1,-5,-1,-13,-1,-22r0,-6r0,-7r15,0"},"\u044d":{"d":"45,-65r0,12v0,14,3,24,10,32v7,8,16,11,28,11v9,0,17,-1,25,-5v7,-3,13,-9,20,-16v7,-8,13,-15,17,-23v4,-8,8,-20,12,-36r-74,0r3,-14r75,0v1,-8,1,-15,1,-22v0,-17,-4,-30,-12,-39v-8,-9,-18,-13,-32,-13v-10,0,-19,3,-28,8v-7,4,-13,9,-17,15v-4,6,-9,15,-13,27r-15,0v5,-13,9,-23,13,-30v4,-7,9,-13,15,-18v13,-11,30,-17,48,-17v11,0,21,3,30,8v9,5,15,12,20,22v5,10,7,22,7,35v0,14,-2,28,-6,43v-4,15,-9,28,-16,41v-17,32,-43,48,-76,48v-20,0,-35,-6,-43,-19v-3,-4,-5,-10,-6,-15v-1,-5,-1,-13,-1,-22r0,-6r0,-7r15,0"},"\u00fb":{"d":"158,0r40,-189r15,0r-40,189r-15,0xm82,-189r-15,72r35,0v10,0,18,2,25,5v7,3,13,9,17,15v4,6,5,13,5,22v0,13,-3,26,-10,39v-13,24,-34,36,-64,36r-47,0r40,-189r14,0xm45,-13r35,0v10,0,19,-3,27,-8v8,-5,15,-13,20,-22v5,-9,7,-19,7,-30v0,-10,-3,-17,-9,-22v-6,-5,-14,-8,-24,-8r-36,0","w":208},"\u044b":{"d":"158,0r40,-189r15,0r-40,189r-15,0xm82,-189r-15,72r35,0v10,0,18,2,25,5v7,3,13,9,17,15v4,6,5,13,5,22v0,13,-3,26,-10,39v-13,24,-34,36,-64,36r-47,0r40,-189r14,0xm45,-13r35,0v10,0,19,-3,27,-8v8,-5,15,-13,20,-22v5,-9,7,-19,7,-30v0,-10,-3,-17,-9,-22v-6,-5,-14,-8,-24,-8r-36,0","w":208},"\u00ac":{"d":"1,-86r0,-17r180,0r0,74r-17,0r0,-57r-163,0"},"\u00ab":{"d":"96,-147r-4,18r-52,34r37,35r-3,18r-43,-39r6,-27xm161,-147r-4,18r-52,34r37,35r-3,18r-43,-39r6,-27","w":146},"\u00bb":{"d":"48,-147r43,39r-5,27r-60,39r4,-18r52,-35r-37,-34xm113,-147r43,39r-6,27r-59,39r3,-18r53,-35r-38,-34","w":146},"\u00a0":{"w":90},"\u00c9":{"d":"143,-298r13,0v0,16,9,24,27,24v18,0,31,-8,37,-24r14,0v-3,9,-7,16,-10,20v-10,12,-25,18,-43,18v-13,0,-23,-3,-29,-8v-6,-5,-10,-12,-10,-23v0,-3,1,-5,1,-7xm35,0r55,-259r16,0r-52,245r193,-245r22,0r-55,259r-16,0r52,-243r-192,243r-23,0","w":258},"\u0419":{"d":"143,-298r13,0v0,16,9,24,27,24v18,0,31,-8,37,-24r14,0v-3,9,-7,16,-10,20v-10,12,-25,18,-43,18v-13,0,-23,-3,-29,-8v-6,-5,-10,-12,-10,-23v0,-3,1,-5,1,-7xm35,0r55,-259r16,0r-52,245r193,-245r22,0r-55,259r-16,0r52,-243r-192,243r-23,0","w":258},"\u00ca":{"d":"35,0r55,-259r16,0r-29,137r153,-137r23,0r-118,102r75,157r-18,0r-69,-147r-50,43r-22,104r-16,0","w":223},"\u041a":{"d":"35,0r55,-259r16,0r-29,137r153,-137r23,0r-118,102r75,157r-18,0r-69,-147r-50,43r-22,104r-16,0","w":223},"\u00cb":{"d":"171,0r51,-243r-100,0r-29,140v-5,25,-11,45,-16,58v-5,13,-11,23,-18,31v-4,5,-10,8,-17,11v-7,3,-12,5,-19,5v-6,0,-13,-2,-20,-5r3,-15v8,3,14,5,20,5v11,0,20,-4,26,-13v7,-10,16,-34,24,-72r34,-161r132,0r-55,259r-16,0","w":231},"\u041b":{"d":"171,0r51,-243r-100,0r-29,140v-5,25,-11,45,-16,58v-5,13,-11,23,-18,31v-4,5,-10,8,-17,11v-7,3,-12,5,-19,5v-6,0,-13,-2,-20,-5r3,-15v8,3,14,5,20,5v11,0,20,-4,26,-13v7,-10,16,-34,24,-72r34,-161r132,0r-55,259r-16,0","w":231},"\u00ad":{"d":"20,-86r0,-17r180,0r0,17r-180,0"},"\u00a6":{"d":"44,-86r0,-17r312,0r0,17r-312,0","w":360},"\u00ba":{"d":"134,-210r-35,-49r22,0r24,49r-11,0xm199,-189r-40,189r-17,0r7,-35v-6,7,-10,12,-14,16v-4,4,-9,7,-15,11v-7,4,-13,7,-19,9v-6,2,-12,2,-20,2v-31,0,-46,-13,-46,-39v0,-8,1,-16,3,-26r27,-127r15,0r-26,122v-2,11,-3,20,-3,27v0,9,3,16,10,21v7,5,15,8,26,8v11,0,22,-2,32,-8v10,-6,20,-14,27,-24v7,-10,12,-22,15,-34r23,-112r15,0","w":193},"\u0454":{"d":"134,-210r-35,-49r22,0r24,49r-11,0xm199,-189r-40,189r-17,0r7,-35v-6,7,-10,12,-14,16v-4,4,-9,7,-15,11v-7,4,-13,7,-19,9v-6,2,-12,2,-20,2v-31,0,-46,-13,-46,-39v0,-8,1,-16,3,-26r27,-127r15,0r-26,122v-2,11,-3,20,-3,27v0,9,3,16,10,21v7,5,15,8,26,8v11,0,22,-2,32,-8v10,-6,20,-14,27,-24v7,-10,12,-22,15,-34r23,-112r15,0","w":193},"\u00aa":{"d":"177,-256r-31,-43r22,0r22,43r-13,0xm35,0r55,-259r16,0r-52,245r193,-245r22,0r-55,259r-16,0r52,-243r-192,243r-23,0","w":258},"\u0404":{"d":"177,-256r-31,-43r22,0r22,43r-13,0xm35,0r55,-259r16,0r-52,245r193,-245r22,0r-55,259r-16,0r52,-243r-192,243r-23,0","w":258},"\u00a4":{"d":"60,-247r36,37v7,-5,13,-8,16,-10v9,-5,19,-6,30,-6v5,0,10,0,14,1v9,2,20,7,33,15r36,-37r10,11r-36,36v5,8,7,13,8,15v5,9,7,20,7,31v0,6,0,12,-1,16v-2,9,-7,19,-14,30r36,36r-10,10r-36,-36v-5,3,-11,6,-16,9v-9,5,-19,7,-31,7v-6,0,-12,0,-16,-1v-5,-1,-10,-3,-14,-5v-4,-2,-9,-5,-16,-10r-36,36r-10,-10r36,-36v-4,-6,-7,-12,-9,-15v-5,-9,-7,-19,-7,-31v0,-5,1,-9,2,-15v2,-10,6,-20,14,-31r-36,-36xm143,-212v-10,0,-20,2,-29,7v-9,5,-17,13,-22,22v-5,9,-8,18,-8,28v0,11,3,21,8,30v5,9,12,16,21,21v9,5,20,8,30,8v10,0,19,-3,28,-8v9,-5,17,-12,22,-21v5,-9,7,-19,7,-29v0,-10,-2,-20,-7,-29v-5,-9,-13,-17,-22,-22v-9,-5,-18,-7,-28,-7","w":218},"\u00b9":{"d":"317,-179v11,0,18,3,24,9v6,6,9,14,9,25v0,12,-2,23,-7,33v-5,10,-11,17,-19,23v-8,6,-18,8,-28,8v-11,0,-19,-3,-25,-9v-6,-6,-8,-13,-8,-24v0,-12,2,-23,7,-33v5,-10,11,-18,19,-24v8,-6,18,-8,28,-8xm251,-28r3,-18r68,0r-4,18r-67,0xm30,0r55,-259r23,0r89,241r51,-241r16,0r-55,259r-22,0r-90,-239r-51,239r-16,0xm315,-166v-10,0,-19,5,-26,14v-7,9,-11,20,-11,34v0,15,8,23,22,23v10,0,18,-5,25,-14v7,-9,10,-20,10,-33v0,-17,-6,-24,-20,-24","w":360},"\u2116":{"d":"317,-179v11,0,18,3,24,9v6,6,9,14,9,25v0,12,-2,23,-7,33v-5,10,-11,17,-19,23v-8,6,-18,8,-28,8v-11,0,-19,-3,-25,-9v-6,-6,-8,-13,-8,-24v0,-12,2,-23,7,-33v5,-10,11,-18,19,-24v8,-6,18,-8,28,-8xm251,-28r3,-18r68,0r-4,18r-67,0xm30,0r55,-259r23,0r89,241r51,-241r16,0r-55,259r-22,0r-90,-239r-51,239r-16,0xm315,-166v-10,0,-19,5,-26,14v-7,9,-11,20,-11,34v0,15,8,23,22,23v10,0,18,-5,25,-14v7,-9,10,-20,10,-33v0,-17,-6,-24,-20,-24","w":360},"\u00b7":{"d":"69,-177r3,-14v4,-3,7,-5,9,-7v2,-2,4,-6,5,-9v1,-3,3,-8,4,-15v0,-1,1,-3,1,-5r-11,0r7,-32r24,0r-9,43v-3,13,-8,22,-16,29v-4,3,-10,7,-17,10xm124,-177r3,-14v4,-3,7,-6,9,-8v2,-2,4,-6,5,-10v1,-4,3,-10,5,-18r-11,0r7,-32r23,0r-9,43v-3,13,-8,23,-15,29v-4,3,-10,7,-17,10","w":142},"\u00cc":{"d":"35,0r55,-259r23,0r35,248r137,-248r22,0r-55,259r-16,0r53,-241r-134,241r-21,0r-32,-242r-51,242r-16,0","w":298},"\u041c":{"d":"35,0r55,-259r23,0r35,248r137,-248r22,0r-55,259r-16,0r53,-241r-134,241r-21,0r-32,-242r-51,242r-16,0","w":298},"\u00cd":{"d":"35,0r55,-259r16,0r-25,115r148,0r24,-115r16,0r-55,259r-16,0r27,-129r-147,0r-27,129r-16,0","w":258},"\u041d":{"d":"35,0r55,-259r16,0r-25,115r148,0r24,-115r16,0r-55,259r-16,0r27,-129r-147,0r-27,129r-16,0","w":258},"\u00cf":{"d":"35,0r55,-259r172,0r-55,259r-16,0r52,-244r-140,0r-52,244r-16,0","w":250},"\u041f":{"d":"35,0r55,-259r172,0r-55,259r-16,0r52,-244r-140,0r-52,244r-16,0","w":250},"\u00a8":{"d":"117,-272r4,-16r15,0r-3,16r-16,0xm193,-272r3,-16r18,0r-3,16r-18,0xm30,0r55,-259r139,0r-3,15r-123,0r-22,103r111,0r-3,15r-111,0r-24,111r127,0r-3,15r-143,0","w":194},"\u0401":{"d":"117,-272r4,-16r15,0r-3,16r-16,0xm193,-272r3,-16r18,0r-3,16r-18,0xm30,0r55,-259r139,0r-3,15r-123,0r-22,103r111,0r-3,15r-111,0r-24,111r127,0r-3,15r-143,0","w":194},"\u00d2":{"d":"80,0r51,-245r-76,0r3,-14r169,0r-3,14r-76,0r-53,245r-15,0","w":183},"\u0422":{"d":"80,0r51,-245r-76,0r3,-14r169,0r-3,14r-76,0r-53,245r-15,0","w":183},"\u00d3":{"d":"216,-259r18,0r-140,222v-1,2,-4,6,-9,12v-4,5,-4,5,-6,8v-2,3,-2,3,-3,4v-1,1,-2,1,-4,4v-8,8,-17,12,-30,12v-6,0,-15,-2,-25,-6r4,-18v4,5,7,7,10,9v3,2,7,3,12,3v5,0,9,-1,13,-3v4,-3,8,-6,12,-10v4,-4,8,-11,14,-20v10,-17,10,-18,20,-33r-47,-184r18,0r39,171","w":187},"\u0423":{"d":"216,-259r18,0r-140,222v-1,2,-4,6,-9,12v-4,5,-4,5,-6,8v-2,3,-2,3,-3,4v-1,1,-2,1,-4,4v-8,8,-17,12,-30,12v-6,0,-15,-2,-25,-6r4,-18v4,5,7,7,10,9v3,2,7,3,12,3v5,0,9,-1,13,-3v4,-3,8,-6,12,-10v4,-4,8,-11,14,-20v10,-17,10,-18,20,-33r-47,-184r18,0r39,171","w":187},"\u00d4":{"d":"129,29r8,-39v-14,-1,-25,-1,-32,-3v-7,-2,-15,-5,-22,-9v-27,-13,-40,-37,-40,-72v0,-16,3,-32,7,-47v4,-15,10,-30,19,-43v9,-13,19,-25,31,-34v9,-7,18,-13,28,-17v9,-4,18,-6,26,-8v8,-2,20,-2,34,-3r7,-37r16,0r-8,37v14,1,25,1,33,3v8,2,15,4,22,8v8,5,16,11,22,18v6,7,10,15,13,25v3,10,5,20,5,31v0,12,-1,23,-4,35v-3,12,-6,22,-11,33v-5,11,-11,21,-18,30v-7,9,-14,17,-22,24v-10,8,-20,15,-31,19v-9,4,-17,6,-25,7v-8,1,-19,2,-34,3r-8,39r-16,0xm200,-233r-45,211v13,-1,23,-3,29,-4v10,-2,19,-5,29,-10v10,-5,19,-12,26,-19v6,-6,12,-13,17,-21v5,-8,9,-17,13,-26v4,-9,7,-18,9,-27v2,-9,3,-19,3,-28v0,-18,-4,-32,-12,-44v-5,-7,-11,-14,-19,-20v-7,-5,-13,-7,-20,-9v-7,-2,-17,-3,-30,-3xm185,-233v-10,0,-19,1,-27,2v-9,2,-19,5,-29,11v-10,6,-20,12,-27,19v-9,8,-16,17,-22,28v-6,11,-12,22,-15,34v-3,12,-5,25,-5,37v0,18,4,34,11,46v4,8,10,14,19,20v7,4,13,8,20,10v7,2,17,3,30,4","w":299},"\u0424":{"d":"129,29r8,-39v-14,-1,-25,-1,-32,-3v-7,-2,-15,-5,-22,-9v-27,-13,-40,-37,-40,-72v0,-16,3,-32,7,-47v4,-15,10,-30,19,-43v9,-13,19,-25,31,-34v9,-7,18,-13,28,-17v9,-4,18,-6,26,-8v8,-2,20,-2,34,-3r7,-37r16,0r-8,37v14,1,25,1,33,3v8,2,15,4,22,8v8,5,16,11,22,18v6,7,10,15,13,25v3,10,5,20,5,31v0,12,-1,23,-4,35v-3,12,-6,22,-11,33v-5,11,-11,21,-18,30v-7,9,-14,17,-22,24v-10,8,-20,15,-31,19v-9,4,-17,6,-25,7v-8,1,-19,2,-34,3r-8,39r-16,0xm200,-233r-45,211v13,-1,23,-3,29,-4v10,-2,19,-5,29,-10v10,-5,19,-12,26,-19v6,-6,12,-13,17,-21v5,-8,9,-17,13,-26v4,-9,7,-18,9,-27v2,-9,3,-19,3,-28v0,-18,-4,-32,-12,-44v-5,-7,-11,-14,-19,-20v-7,-5,-13,-7,-20,-9v-7,-2,-17,-3,-30,-3xm185,-233v-10,0,-19,1,-27,2v-9,2,-19,5,-29,11v-10,6,-20,12,-27,19v-9,8,-16,17,-22,28v-6,11,-12,22,-15,34v-3,12,-5,25,-5,37v0,18,4,34,11,46v4,8,10,14,19,20v7,4,13,8,20,10v7,2,17,3,30,4","w":299},"\u00d6":{"d":"202,0r-167,0r55,-259r16,0r-52,245r129,0r52,-245r16,0r-52,245r24,0r-15,69r-9,0","w":239},"\u0426":{"d":"202,0r-167,0r55,-259r16,0r-52,245r129,0r52,-245r16,0r-52,245r24,0r-15,69r-9,0","w":239},"\u00d7":{"d":"144,0r-16,0r25,-115v-7,3,-12,6,-16,7v-14,5,-28,8,-44,8v-28,0,-43,-11,-43,-34v0,-8,2,-17,4,-27r20,-98r16,0r-17,81v-1,6,-2,15,-4,29v0,4,-1,7,-1,9v0,9,3,15,8,19v5,4,13,6,24,6v7,0,14,-1,19,-2v11,-2,23,-5,36,-11r29,-131r15,0","w":185},"\u0427":{"d":"144,0r-16,0r25,-115v-7,3,-12,6,-16,7v-14,5,-28,8,-44,8v-28,0,-43,-11,-43,-34v0,-8,2,-17,4,-27r20,-98r16,0r-17,81v-1,6,-2,15,-4,29v0,4,-1,7,-1,9v0,9,3,15,8,19v5,4,13,6,24,6v7,0,14,-1,19,-2v11,-2,23,-5,36,-11r29,-131r15,0","w":185},"\u00d8":{"d":"160,-14r52,-245r16,0r-52,245r106,0r52,-245r16,0r-55,259r-260,0r55,-259r16,0r-52,245r106,0","w":336},"\u0428":{"d":"160,-14r52,-245r16,0r-52,245r106,0r52,-245r16,0r-55,259r-260,0r55,-259r16,0r-52,245r106,0","w":336},"\u00d9":{"d":"160,-14r52,-245r16,0r-52,245r106,0r52,-245r16,0r-52,245r25,0r-15,69r-9,0r3,-55r-267,0r55,-259r16,0r-52,245r106,0","w":344},"\u0429":{"d":"160,-14r52,-245r16,0r-52,245r106,0r52,-245r16,0r-52,245r25,0r-15,69r-9,0r3,-55r-267,0r55,-259r16,0r-52,245r106,0","w":344},"\u00da":{"d":"56,-259r57,0r-24,112r41,0v18,0,33,2,44,6v11,4,19,10,25,18v6,8,8,19,8,32v0,18,-5,35,-14,50v-6,9,-12,17,-20,23v-8,6,-18,11,-28,14v-10,3,-22,4,-36,4r-67,0r52,-244r-41,0xm86,-131r-25,116r57,0v19,0,36,-6,48,-17v5,-5,9,-10,13,-16v4,-6,6,-12,8,-19v2,-7,3,-14,3,-21v0,-15,-5,-26,-14,-33v-9,-7,-23,-10,-42,-10r-48,0","w":212},"\u042a":{"d":"56,-259r57,0r-24,112r41,0v18,0,33,2,44,6v11,4,19,10,25,18v6,8,8,19,8,32v0,18,-5,35,-14,50v-6,9,-12,17,-20,23v-8,6,-18,11,-28,14v-10,3,-22,4,-36,4r-67,0r52,-244r-41,0xm86,-131r-25,116r57,0v19,0,36,-6,48,-17v5,-5,9,-10,13,-16v4,-6,6,-12,8,-19v2,-7,3,-14,3,-21v0,-15,-5,-26,-14,-33v-9,-7,-23,-10,-42,-10r-48,0","w":212},"\u00dc":{"d":"90,-259r16,0r-24,112r41,0v18,0,33,2,44,6v11,4,19,10,25,18v6,8,8,19,8,32v0,18,-4,35,-13,50v-6,9,-13,17,-21,23v-8,6,-17,11,-27,14v-10,3,-23,4,-37,4r-67,0xm79,-131r-25,116r58,0v19,0,35,-6,47,-17v5,-5,9,-10,13,-16v4,-6,7,-12,9,-19v2,-7,3,-14,3,-21v0,-15,-5,-26,-14,-33v-9,-7,-24,-10,-43,-10r-48,0","w":203},"\u042c":{"d":"90,-259r16,0r-24,112r41,0v18,0,33,2,44,6v11,4,19,10,25,18v6,8,8,19,8,32v0,18,-4,35,-13,50v-6,9,-13,17,-21,23v-8,6,-17,11,-27,14v-10,3,-23,4,-37,4r-67,0xm79,-131r-25,116r58,0v19,0,35,-6,47,-17v5,-5,9,-10,13,-16v4,-6,7,-12,9,-19v2,-7,3,-14,3,-21v0,-15,-5,-26,-14,-33v-9,-7,-24,-10,-43,-10r-48,0","w":203},"\u00de":{"d":"78,-129r-27,129r-16,0r55,-259r16,0r-25,115r40,0v5,-15,10,-25,13,-33v3,-8,8,-15,13,-23v9,-14,22,-28,36,-39v12,-9,23,-15,35,-19v12,-4,25,-6,39,-6v22,0,39,5,52,14v7,5,12,11,17,19v5,8,9,18,12,28v3,10,3,21,3,33v0,18,-2,36,-7,54v-5,18,-13,37,-23,53v-9,14,-18,27,-30,37v-12,10,-24,18,-38,23v-14,5,-29,7,-45,7v-18,0,-33,-3,-46,-10v-13,-7,-22,-17,-28,-31v-6,-14,-10,-31,-10,-50v0,-11,2,-25,4,-42r-40,0xm252,-250v-11,0,-22,2,-34,7v-12,5,-23,12,-33,21v-10,9,-19,19,-26,30v-8,13,-15,28,-20,47v-5,19,-9,36,-9,51v0,17,3,32,9,45v6,13,13,23,24,30v11,7,23,10,37,10v23,0,44,-7,63,-21v19,-14,34,-34,45,-58v11,-24,16,-51,16,-80v0,-26,-5,-46,-18,-60v-13,-14,-31,-22,-54,-22","w":343},"\u042e":{"d":"78,-129r-27,129r-16,0r55,-259r16,0r-25,115r40,0v5,-15,10,-25,13,-33v3,-8,8,-15,13,-23v9,-14,22,-28,36,-39v12,-9,23,-15,35,-19v12,-4,25,-6,39,-6v22,0,39,5,52,14v7,5,12,11,17,19v5,8,9,18,12,28v3,10,3,21,3,33v0,18,-2,36,-7,54v-5,18,-13,37,-23,53v-9,14,-18,27,-30,37v-12,10,-24,18,-38,23v-14,5,-29,7,-45,7v-18,0,-33,-3,-46,-10v-13,-7,-22,-17,-28,-31v-6,-14,-10,-31,-10,-50v0,-11,2,-25,4,-42r-40,0xm252,-250v-11,0,-22,2,-34,7v-12,5,-23,12,-33,21v-10,9,-19,19,-26,30v-8,13,-15,28,-20,47v-5,19,-9,36,-9,51v0,17,3,32,9,45v6,13,13,23,24,30v11,7,23,10,37,10v23,0,44,-7,63,-21v19,-14,34,-34,45,-58v11,-24,16,-51,16,-80v0,-26,-5,-46,-18,-60v-13,-14,-31,-22,-54,-22","w":343},"\u00df":{"d":"188,0r-16,0r26,-121r-62,0r-94,121r-18,0r99,-123v-9,-1,-16,-2,-20,-3v-4,-1,-9,-2,-14,-5v-16,-8,-25,-22,-25,-42v0,-12,2,-22,6,-32v4,-10,10,-19,17,-27v7,-8,15,-14,25,-18v10,-4,21,-6,32,-7r26,-2r10,0r63,0xm201,-135r23,-110r-54,0v-22,0,-39,2,-52,8v-11,5,-20,12,-27,24v-7,12,-11,25,-11,38v0,9,2,16,6,23v4,6,11,10,20,13v9,3,22,4,40,4r55,0","w":231},"\u042f":{"d":"188,0r-16,0r26,-121r-62,0r-94,121r-18,0r99,-123v-9,-1,-16,-2,-20,-3v-4,-1,-9,-2,-14,-5v-16,-8,-25,-22,-25,-42v0,-12,2,-22,6,-32v4,-10,10,-19,17,-27v7,-8,15,-14,25,-18v10,-4,21,-6,32,-7r26,-2r10,0r63,0xm201,-135r23,-110r-54,0v-22,0,-39,2,-52,8v-11,5,-20,12,-27,24v-7,12,-11,25,-11,38v0,9,2,16,6,23v4,6,11,10,20,13v9,3,22,4,40,4r55,0","w":231},"\u00bf":{"d":"99,-273r17,0r22,47r42,-47r17,0r-49,62r-26,0"},"\u0457":{"d":"99,-273r17,0r22,47r42,-47r17,0r-49,62r-26,0"}}});



Cufon.replace('.selected_products, .parameters_title ');



/* (c) 2008 Add This, LLC */
var _atu="undefined",_atd="http://www.addthis.com/",_atr="http://s7.addthis.com/",_euc=encodeURIComponent,_atc={ver:152,enote:"",cwait:500,samp:0.02,addr:-1};if(typeof(addthis_conf)===_atu){var addthis_conf={};}for(i in addthis_conf){_atc[i]=addthis_conf[i];}if(typeof(_ate)===_atu){(function(){var ua=navigator.userAgent.toLowerCase(),d=document,w=window,wa=w.addEventListener,we=w.attachEvent,b={saf:/webkit/.test(ua),opr:/opera/.test(ua),msi:(/msie/.test(ua))&&(!/opera/.test(ua)),ie6:/msie 6.0/.test(ua)},_7={isBound:false,isReady:false,readyList:[],onReady:function(){if(!_7.isReady){_7.isReady=true;var l=_7.readyList;for(var fn=0;fn<l.length;fn++){l[fn].call(window,[]);}_7.readyList=[];}},addLoad:function(_a){var _b=w.onload;if(typeof w.onload!="function"){w.onload=_a;}else{w.onload=function(){if(_b){_b();}_a();};}},bindReady:function(){if(r.isBound){return;}r.isBound=true;if(d.addEventListener&&!b.opr){d.addEventListener("DOMContentLoaded",r.onReady,false);}if(b.msi&&window==top){(function(){if(r.isReady){return;}try{d.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}r.onReady();})();}if(b.opr){d.addEventListener("DOMContentLoaded",function(){if(r.isReady){return;}for(var i=0;i<d.styleSheets.length;i++){if(d.styleSheets[i].disabled){setTimeout(arguments.callee,0);return;}}r.onReady();},false);}if(b.saf){var _d;(function(){if(r.isReady){return;}if(d.readyState!="loaded"&&d.readyState!="complete"){setTimeout(arguments.callee,0);return;}if(_d===undefined){var _f=d.getElementsByTagName("link");for(var i=0;i<_f.length;i++){if(_f[i].getAttribute("rel")=="stylesheet"){_d++;}}var _11=d.getElementsByTagName("style");_d+=_11.length;}if(d.styleSheets.length!=_d){setTimeout(arguments.callee,0);return;}r.onReady();})();}r.addLoad(r.onReady);},append:function(fn,_13){r.bindReady();if(r.isReady){fn.call(window,[]);}else{r.readyList.push(function(){return fn.call(window,[]);});}}},r=_7,_14={rev:"$Rev: 51773 $",ab:"-",bro:b,clck:1,show:1,samp:_atc.samp-Math.random(),scnt:1,seq:1,inst:1,wait:500,tmo:null,cvt:[],svt:[],sttm:new Date().getTime(),max:268435455,pix:"tev",sid:0,sub:typeof(at_sub)!==_atu,uid:null,swf:"http://bin.clearspring.com/at/v/1/button1.swf",evu:"http://e1.clearspring.com/at/",off:function(){return Math.floor((new Date().getTime()-_14.sttm)/100).toString(16);},ran:function(){return Math.floor(Math.random()*4294967295).toString(36);},cst:function(c){return"CXNID=2000001.521545608054043907"+(c||2)+"NXC";},img:function(i,c){if(typeof(at_sub)===_atu){new Image().src=_atr+"live/t00/"+i+".gif?"+_14.ran()+"&"+_14.cst(c);}},cuid:function(){return(_14.sttm&_14.max).toString(16)+(Math.floor(Math.random()*_14.max)).toString(16);},ssid:function(){if(_14.sid===0){_14.sid=_14.cuid();}return _14.sid;},sev:function(id,_19){_14.pix="sev-"+(typeof(id)!=="number"?_euc(id):id);_14.svt.push(id+";"+_14.off());if(_19===1){_14.xmi(true);}else{_14.sxm(true);}},cev:function(k,v){_14.pix="cev-"+_euc(k);_14.cvt.push(_euc(k)+"="+_euc(v)+";"+_14.off());_14.sxm(true);},sxm:function(b){if(_14.tmo!==null){clearTimeout(_14.tmo);}if(b){_14.tmo=_14.sto("_ate.xmi(false)",_14.wait);}},sto:function(c,t){return setTimeout(c,t);},sta:function(){var a=_14;return"AT-"+(typeof(addthis_pub)!==_atu?_euc(addthis_pub):"unknown")+"/-/"+a.ab+"/"+a.ssid()+"/"+(a.seq++)+(a.uid!==null?"/"+a.uid:"");},xmi:function(_20){var a=_14;if(!a.uid){a.dck("X"+a.cuid());}if(a.cvt.length+a.svt.length>0){a.sxm(false);if(a.seq===1){a.cev("pin",a.inst);}var url=a.evu+a.pix+"-"+a.ran()+".png?ev="+_14.sta()+"&se="+a.svt.join(",")+"&ce="+a.cvt.join(",");a.cvt=[];a.svt=[];if(_atc.xtr){return;}if(_20){var d=document,i=d.ce("iframe");i.id="_atf";i.src=url;_14.opp(i.style);d.body.appendChild(i);i=d.getElementById("_atf");}else{new Image().src=url;}}},opp:function(st){st.width="1px";st.height="1px";st.position="absolute";st.zIndex=100000;},pub:function(){return typeof(addthis_pub)!==_atu?_euc(addthis_pub):"";},lad:function(x){_14.plo.push(x);},plo:[],jlo:function(){try{if(!_14.pld){var d=document,o=d.ce("script");o.src=_atr+"static/r04/menu08.js";d.gn("head")[0].appendChild(o);_14.pld=o;}}catch(e){}},lod:function(arg){try{var a=_14,f=arg===1,dr=d.referer||d.referrer;if(!f){if(a.samp>=0&&!a.sub){a.sev("20");a.cev("plo",1/_atc.samp);if(dr){a.cev("pre",dr);}}a.img(_atc.ver+"lo","2");}if(a.plo.length>0){a.jlo();}if(_14.samp>=0){try{var z=d.gn("a");if(z){for(var y in z){y=z[y];if(y.toString().indexOf("/bookmark.php")>0&&!y.onmouseover){y.onmouseover=function(){return addthis_open(this,"","","");};y.onmouseout=function(){addthis_close();};}}}}catch(e){}}if(!_atc.xfl&&(f||a.uid===null)&&a.swf){var _2f=function(o,n,v){var c=d.createElement("param");c.name=n;c.value=v;o.appendChild(c);};var o=d.createElement("object");a.opp(o.style);o.id="atff";if(b.msi){o.classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";_2f(o,"movie",a.swf);}else{o.data=a.swf;o.quality="high";o.type="application/x-shockwave-flash";}_2f(o,"wmode","transparent");_2f(o,"allowScriptAccess","always");d.body.insertBefore(o,d.body.firstChild);if(b.msi){o.outerHTML+=" ";}}}catch(e){}},unl:function(){var a=_14;if(a.samp>=0&&!a.sub){a.sev("21",1);a.cev("pun",1/_atc.samp);}return true;},dck:function(c){_14.uid=c;var p=_14.pub(),x="dodpubweb,usagov,education,gobiernousa,loc_webservices,massgov,govgab1".split(",");for(i in x){if(p==x[i]){return;}}if(!_atc.xck){document.cookie="_csuid="+c+"; expires=Wed, 04 Oct 2028 03:19:53 GMT; path=/";}},fcl:null,asetup:function(x){var a=_14;try{if(x!==null&&x!==_atu){a.dck(x);}if(a.fcl){a.fcl();}}catch(e){}return x;},ao:function(elt,_3d,_3e,_3f){_14.lad(["open",elt,_3d,_3e,_3f]);_14.jlo();return false;},ac:function(){},as:function(s){_14.lad(["send",s]);_14.jlo();}},a=_14;w._ate=a;w._adr=r;d.ce=d.createElement;d.gn=d.getElementsByTagName;r.bindReady();if(wa){wa("unload",a.unl,false);}else{if(we){we("onunload",a.unl);}else{w.onunload=a.unl;}}r.append(a.lod);if(d.cookie){var ck=d.cookie.split(";");for(var i=0;i<ck.length;i++){var c=ck[i],x=c.indexOf("_csuid=");if(x>=0){_14.uid=c.substring(x+7);}}}try{var l=d.ce("link");l.rel="stylesheet";l.type="text/css";l.href=_atr+"static/r04/widget02.css";l.media="all";d.gn("head")[0].appendChild(l);}catch(e){}})();function addthis_to(s){return addthis_sendto(s);}function addthis_onmouseover(elt,e,_49,_4a,_4b,_4c,_4d){if(_4b){addthis_pub=_4b;}if(_4c){addthis_language=_4c;}addthis_content=_4d||"";return addthis_open(elt,"share",_49,_4a);}function addthis_onmouseout(){addthis_close();}function addthis_open(elt,_4f,_50,_51){return _ate.ao(elt,_4f,_50,_51);}function addthis_close(){_ate.ac();}function addthis_sendto(s){_ate.as(s);return false;}}else{_ate.inst++;}try{if(_atc.ver===120){function x(v,n){return eval("("+v+"=(typeof "+v+" === '"+_atu+"' ? '"+(n||"")+"' : "+v+"))");}var r="atb"+_ate.cuid();document.write("<span id=\""+r+"\"></span>");_ate.lad(["span",r,x("addthis_url",""),x("addthis_title","")]);}if(window.addthis_clickout){_ate.lad(["cout"]);}}catch(e){}

/* SWFObject v2.1 <http://code.google.com/p/swfobject/>
	Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
*/
var swfobject=function(){var b="undefined",Q="object",n="Shockwave Flash",p="ShockwaveFlash.ShockwaveFlash",P="application/x-shockwave-flash",m="SWFObjectExprInst",j=window,K=document,T=navigator,o=[],N=[],i=[],d=[],J,Z=null,M=null,l=null,e=false,A=false;var h=function(){var v=typeof K.getElementById!=b&&typeof K.getElementsByTagName!=b&&typeof K.createElement!=b,AC=[0,0,0],x=null;if(typeof T.plugins!=b&&typeof T.plugins[n]==Q){x=T.plugins[n].description;if(x&&!(typeof T.mimeTypes!=b&&T.mimeTypes[P]&&!T.mimeTypes[P].enabledPlugin)){x=x.replace(/^.*\s+(\S+\s+\S+$)/,"$1");AC[0]=parseInt(x.replace(/^(.*)\..*$/,"$1"),10);AC[1]=parseInt(x.replace(/^.*\.(.*)\s.*$/,"$1"),10);AC[2]=/r/.test(x)?parseInt(x.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof j.ActiveXObject!=b){var y=null,AB=false;try{y=new ActiveXObject(p+".7")}catch(t){try{y=new ActiveXObject(p+".6");AC=[6,0,21];y.AllowScriptAccess="always"}catch(t){if(AC[0]==6){AB=true}}if(!AB){try{y=new ActiveXObject(p)}catch(t){}}}if(!AB&&y){try{x=y.GetVariable("$version");if(x){x=x.split(" ")[1].split(",");AC=[parseInt(x[0],10),parseInt(x[1],10),parseInt(x[2],10)]}}catch(t){}}}}var AD=T.userAgent.toLowerCase(),r=T.platform.toLowerCase(),AA=/webkit/.test(AD)?parseFloat(AD.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,q=false,z=r?/win/.test(r):/win/.test(AD),w=r?/mac/.test(r):/mac/.test(AD);/*@cc_on q=true;@if(@_win32)z=true;@elif(@_mac)w=true;@end@*/return{w3cdom:v,pv:AC,webkit:AA,ie:q,win:z,mac:w}}();var L=function(){if(!h.w3cdom){return }f(H);if(h.ie&&h.win){try{K.write("<script id=__ie_ondomload defer=true src=//:><\/script>");J=C("__ie_ondomload");if(J){I(J,"onreadystatechange",S)}}catch(q){}}if(h.webkit&&typeof K.readyState!=b){Z=setInterval(function(){if(/loaded|complete/.test(K.readyState)){E()}},10)}if(typeof K.addEventListener!=b){K.addEventListener("DOMContentLoaded",E,null)}R(E)}();function S(){if(J.readyState=="complete"){J.parentNode.removeChild(J);E()}}function E(){if(e){return }if(h.ie&&h.win){var v=a("span");try{var u=K.getElementsByTagName("body")[0].appendChild(v);u.parentNode.removeChild(u)}catch(w){return }}e=true;if(Z){clearInterval(Z);Z=null}var q=o.length;for(var r=0;r<q;r++){o[r]()}}function f(q){if(e){q()}else{o[o.length]=q}}function R(r){if(typeof j.addEventListener!=b){j.addEventListener("load",r,false)}else{if(typeof K.addEventListener!=b){K.addEventListener("load",r,false)}else{if(typeof j.attachEvent!=b){I(j,"onload",r)}else{if(typeof j.onload=="function"){var q=j.onload;j.onload=function(){q();r()}}else{j.onload=r}}}}}function H(){var t=N.length;for(var q=0;q<t;q++){var u=N[q].id;if(h.pv[0]>0){var r=C(u);if(r){N[q].width=r.getAttribute("width")?r.getAttribute("width"):"0";N[q].height=r.getAttribute("height")?r.getAttribute("height"):"0";if(c(N[q].swfVersion)){if(h.webkit&&h.webkit<312){Y(r)}W(u,true)}else{if(N[q].expressInstall&&!A&&c("6.0.65")&&(h.win||h.mac)){k(N[q])}else{O(r)}}}}else{W(u,true)}}}function Y(t){var q=t.getElementsByTagName(Q)[0];if(q){var w=a("embed"),y=q.attributes;if(y){var v=y.length;for(var u=0;u<v;u++){if(y[u].nodeName=="DATA"){w.setAttribute("src",y[u].nodeValue)}else{w.setAttribute(y[u].nodeName,y[u].nodeValue)}}}var x=q.childNodes;if(x){var z=x.length;for(var r=0;r<z;r++){if(x[r].nodeType==1&&x[r].nodeName=="PARAM"){w.setAttribute(x[r].getAttribute("name"),x[r].getAttribute("value"))}}}t.parentNode.replaceChild(w,t)}}function k(w){A=true;var u=C(w.id);if(u){if(w.altContentId){var y=C(w.altContentId);if(y){M=y;l=w.altContentId}}else{M=G(u)}if(!(/%$/.test(w.width))&&parseInt(w.width,10)<310){w.width="310"}if(!(/%$/.test(w.height))&&parseInt(w.height,10)<137){w.height="137"}K.title=K.title.slice(0,47)+" - Flash Player Installation";var z=h.ie&&h.win?"ActiveX":"PlugIn",q=K.title,r="MMredirectURL="+j.location+"&MMplayerType="+z+"&MMdoctitle="+q,x=w.id;if(h.ie&&h.win&&u.readyState!=4){var t=a("div");x+="SWFObjectNew";t.setAttribute("id",x);u.parentNode.insertBefore(t,u);u.style.display="none";var v=function(){u.parentNode.removeChild(u)};I(j,"onload",v)}U({data:w.expressInstall,id:m,width:w.width,height:w.height},{flashvars:r},x)}}function O(t){if(h.ie&&h.win&&t.readyState!=4){var r=a("div");t.parentNode.insertBefore(r,t);r.parentNode.replaceChild(G(t),r);t.style.display="none";var q=function(){t.parentNode.removeChild(t)};I(j,"onload",q)}else{t.parentNode.replaceChild(G(t),t)}}function G(v){var u=a("div");if(h.win&&h.ie){u.innerHTML=v.innerHTML}else{var r=v.getElementsByTagName(Q)[0];if(r){var w=r.childNodes;if(w){var q=w.length;for(var t=0;t<q;t++){if(!(w[t].nodeType==1&&w[t].nodeName=="PARAM")&&!(w[t].nodeType==8)){u.appendChild(w[t].cloneNode(true))}}}}}return u}function U(AG,AE,t){var q,v=C(t);if(v){if(typeof AG.id==b){AG.id=t}if(h.ie&&h.win){var AF="";for(var AB in AG){if(AG[AB]!=Object.prototype[AB]){if(AB.toLowerCase()=="data"){AE.movie=AG[AB]}else{if(AB.toLowerCase()=="styleclass"){AF+=' class="'+AG[AB]+'"'}else{if(AB.toLowerCase()!="classid"){AF+=" "+AB+'="'+AG[AB]+'"'}}}}}var AD="";for(var AA in AE){if(AE[AA]!=Object.prototype[AA]){AD+='<param name="'+AA+'" value="'+AE[AA]+'" />'}}v.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AF+">"+AD+"</object>";i[i.length]=AG.id;q=C(AG.id)}else{if(h.webkit&&h.webkit<312){var AC=a("embed");AC.setAttribute("type",P);for(var z in AG){if(AG[z]!=Object.prototype[z]){if(z.toLowerCase()=="data"){AC.setAttribute("src",AG[z])}else{if(z.toLowerCase()=="styleclass"){AC.setAttribute("class",AG[z])}else{if(z.toLowerCase()!="classid"){AC.setAttribute(z,AG[z])}}}}}for(var y in AE){if(AE[y]!=Object.prototype[y]){if(y.toLowerCase()!="movie"){AC.setAttribute(y,AE[y])}}}v.parentNode.replaceChild(AC,v);q=AC}else{var u=a(Q);u.setAttribute("type",P);for(var x in AG){if(AG[x]!=Object.prototype[x]){if(x.toLowerCase()=="styleclass"){u.setAttribute("class",AG[x])}else{if(x.toLowerCase()!="classid"){u.setAttribute(x,AG[x])}}}}for(var w in AE){if(AE[w]!=Object.prototype[w]&&w.toLowerCase()!="movie"){F(u,w,AE[w])}}v.parentNode.replaceChild(u,v);q=u}}}return q}function F(t,q,r){var u=a("param");u.setAttribute("name",q);u.setAttribute("value",r);t.appendChild(u)}function X(r){var q=C(r);if(q&&(q.nodeName=="OBJECT"||q.nodeName=="EMBED")){if(h.ie&&h.win){if(q.readyState==4){B(r)}else{j.attachEvent("onload",function(){B(r)})}}else{q.parentNode.removeChild(q)}}}function B(t){var r=C(t);if(r){for(var q in r){if(typeof r[q]=="function"){r[q]=null}}r.parentNode.removeChild(r)}}function C(t){var q=null;try{q=K.getElementById(t)}catch(r){}return q}function a(q){return K.createElement(q)}function I(t,q,r){t.attachEvent(q,r);d[d.length]=[t,q,r]}function c(t){var r=h.pv,q=t.split(".");q[0]=parseInt(q[0],10);q[1]=parseInt(q[1],10)||0;q[2]=parseInt(q[2],10)||0;return(r[0]>q[0]||(r[0]==q[0]&&r[1]>q[1])||(r[0]==q[0]&&r[1]==q[1]&&r[2]>=q[2]))?true:false}function V(v,r){if(h.ie&&h.mac){return }var u=K.getElementsByTagName("head")[0],t=a("style");t.setAttribute("type","text/css");t.setAttribute("media","screen");if(!(h.ie&&h.win)&&typeof K.createTextNode!=b){t.appendChild(K.createTextNode(v+" {"+r+"}"))}u.appendChild(t);if(h.ie&&h.win&&typeof K.styleSheets!=b&&K.styleSheets.length>0){var q=K.styleSheets[K.styleSheets.length-1];if(typeof q.addRule==Q){q.addRule(v,r)}}}function W(t,q){var r=q?"visible":"hidden";if(e&&C(t)){C(t).style.visibility=r}else{V("#"+t,"visibility:"+r)}}function g(s){var r=/[\\\"<>\.;]/;var q=r.exec(s)!=null;return q?encodeURIComponent(s):s}var D=function(){if(h.ie&&h.win){window.attachEvent("onunload",function(){var w=d.length;for(var v=0;v<w;v++){d[v][0].detachEvent(d[v][1],d[v][2])}var t=i.length;for(var u=0;u<t;u++){X(i[u])}for(var r in h){h[r]=null}h=null;for(var q in swfobject){swfobject[q]=null}swfobject=null})}}();return{registerObject:function(u,q,t){if(!h.w3cdom||!u||!q){return }var r={};r.id=u;r.swfVersion=q;r.expressInstall=t?t:false;N[N.length]=r;W(u,false)},getObjectById:function(v){var q=null;if(h.w3cdom){var t=C(v);if(t){var u=t.getElementsByTagName(Q)[0];if(!u||(u&&typeof t.SetVariable!=b)){q=t}else{if(typeof u.SetVariable!=b){q=u}}}}return q},embedSWF:function(x,AE,AB,AD,q,w,r,z,AC){if(!h.w3cdom||!x||!AE||!AB||!AD||!q){return }AB+="";AD+="";if(c(q)){W(AE,false);var AA={};if(AC&&typeof AC===Q){for(var v in AC){if(AC[v]!=Object.prototype[v]){AA[v]=AC[v]}}}AA.data=x;AA.width=AB;AA.height=AD;var y={};if(z&&typeof z===Q){for(var u in z){if(z[u]!=Object.prototype[u]){y[u]=z[u]}}}if(r&&typeof r===Q){for(var t in r){if(r[t]!=Object.prototype[t]){if(typeof y.flashvars!=b){y.flashvars+="&"+t+"="+r[t]}else{y.flashvars=t+"="+r[t]}}}}f(function(){U(AA,y,AE);if(AA.id==AE){W(AE,true)}})}else{if(w&&!A&&c("6.0.65")&&(h.win||h.mac)){A=true;W(AE,false);f(function(){var AF={};AF.id=AF.altContentId=AE;AF.width=AB;AF.height=AD;AF.expressInstall=w;k(AF)})}}},getFlashPlayerVersion:function(){return{major:h.pv[0],minor:h.pv[1],release:h.pv[2]}},hasFlashPlayerVersion:c,createSWF:function(t,r,q){if(h.w3cdom){return U(t,r,q)}else{return undefined}},removeSWF:function(q){if(h.w3cdom){X(q)}},createCSS:function(r,q){if(h.w3cdom){V(r,q)}},addDomLoadEvent:f,addLoadEvent:R,getQueryParamValue:function(v){var u=K.location.search||K.location.hash;if(v==null){return g(u)}if(u){var t=u.substring(1).split("&");for(var r=0;r<t.length;r++){if(t[r].substring(0,t[r].indexOf("="))==v){return g(t[r].substring((t[r].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(A&&M){var q=C(m);if(q){q.parentNode.replaceChild(M,q);if(l){W(l,true);if(h.ie&&h.win){M.style.display="block"}}M=null;l=null;A=false}}}}}();

/*  Prototype JavaScript framework, version 1.6.1_rc3
 *  (c) 2005-2009 Sam Stephenson
 *
 *  Prototype is freely distributable under the terms of an MIT-style license.
 *  For details, see the Prototype web site: http://www.prototypejs.org/
 *
 *--------------------------------------------------------------------------*/

var Prototype = {
  Version: '1.6.1_rc3',

  Browser: (function(){
    var ua = navigator.userAgent;
    var isOpera = Object.prototype.toString.call(window.opera) == '[object Opera]';
    return {
      IE:             !!window.attachEvent && !isOpera,
      Opera:          isOpera,
      WebKit:         ua.indexOf('AppleWebKit/') > -1,
      Gecko:          ua.indexOf('Gecko') > -1 && ua.indexOf('KHTML') === -1,
      MobileSafari:   /Apple.*Mobile.*Safari/.test(ua)
    }
  })(),

  BrowserFeatures: {
    XPath: !!document.evaluate,
    SelectorsAPI: !!document.querySelector,
    ElementExtensions: (function() {
      var constructor = window.Element || window.HTMLElement;
      return !!(constructor && constructor.prototype);
    })(),
    SpecificElementExtensions: (function() {
      if (typeof window.HTMLDivElement !== 'undefined')
        return true;

      var div = document.createElement('div');
      var form = document.createElement('form');
      var isSupported = false;

      if (div['__proto__'] && (div['__proto__'] !== form['__proto__'])) {
        isSupported = true;
      }

      div = form = null;

      return isSupported;
    })()
  },

  ScriptFragment: '<script[^>]*>([\\S\\s]*?)<\/script>',
  JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/,

  emptyFunction: function() { },
  K: function(x) { return x }
};

if (Prototype.Browser.MobileSafari)
  Prototype.BrowserFeatures.SpecificElementExtensions = false;


var Abstract = { };


var Try = {
  these: function() {
    var returnValue;

    for (var i = 0, length = arguments.length; i < length; i++) {
      var lambda = arguments[i];
      try {
        returnValue = lambda();
        break;
      } catch (e) { }
    }

    return returnValue;
  }
};

/* Based on Alex Arnell's inheritance implementation. */

var Class = (function() {
  function subclass() {};
  function create() {
    var parent = null, properties = $A(arguments);
    if (Object.isFunction(properties[0]))
      parent = properties.shift();

    function klass() {
      this.initialize.apply(this, arguments);
    }

    Object.extend(klass, Class.Methods);
    klass.superclass = parent;
    klass.subclasses = [];

    if (parent) {
      subclass.prototype = parent.prototype;
      klass.prototype = new subclass;
      parent.subclasses.push(klass);
    }

    for (var i = 0; i < properties.length; i++)
      klass.addMethods(properties[i]);

    if (!klass.prototype.initialize)
      klass.prototype.initialize = Prototype.emptyFunction;

    klass.prototype.constructor = klass;
    return klass;
  }

  function addMethods(source) {
    var ancestor   = this.superclass && this.superclass.prototype;
    var properties = Object.keys(source);

    if (!Object.keys({ toString: true }).length) {
      if (source.toString != Object.prototype.toString)
        properties.push("toString");
      if (source.valueOf != Object.prototype.valueOf)
        properties.push("valueOf");
    }

    for (var i = 0, length = properties.length; i < length; i++) {
      var property = properties[i], value = source[property];
      if (ancestor && Object.isFunction(value) &&
          value.argumentNames().first() == "$super") {
        var method = value;
        value = (function(m) {
          return function() { return ancestor[m].apply(this, arguments); };
        })(property).wrap(method);

        value.valueOf = method.valueOf.bind(method);
        value.toString = method.toString.bind(method);
      }
      this.prototype[property] = value;
    }

    return this;
  }

  return {
    create: create,
    Methods: {
      addMethods: addMethods
    }
  };
})();
(function() {

  function getClass(object) {
    return Object.prototype.toString.call(object)
     .match(/^\[object\s(.*)\]$/)[1];
  }

  function extend(destination, source) {
    for (var property in source)
      destination[property] = source[property];
    return destination;
  }

  function inspect(object) {
    try {
      if (isUndefined(object)) return 'undefined';
      if (object === null) return 'null';
      return object.inspect ? object.inspect() : String(object);
    } catch (e) {
      if (e instanceof RangeError) return '...';
      throw e;
    }
  }

  function toJSON(object) {
    var type = typeof object;
    switch (type) {
      case 'undefined':
      case 'function':
      case 'unknown': return;
      case 'boolean': return object.toString();
    }

    if (object === null) return 'null';
    if (object.toJSON) return object.toJSON();
    if (isElement(object)) return;

    var results = [];
    for (var property in object) {
      var value = toJSON(object[property]);
      if (!isUndefined(value))
        results.push(property.toJSON() + ': ' + value);
    }

    return '{' + results.join(', ') + '}';
  }

  function toQueryString(object) {
    return $H(object).toQueryString();
  }

  function toHTML(object) {
    return object && object.toHTML ? object.toHTML() : String.interpret(object);
  }

  function keys(object) {
    var results = [];
    for (var property in object)
      results.push(property);
    return results;
  }

  function values(object) {
    var results = [];
    for (var property in object)
      results.push(object[property]);
    return results;
  }

  function clone(object) {
    return extend({ }, object);
  }

  function isElement(object) {
    return !!(object && object.nodeType == 1);
  }

  function isArray(object) {
    return getClass(object) === "Array";
  }


  function isHash(object) {
    return object instanceof Hash;
  }

  function isFunction(object) {
    return typeof object === "function";
  }

  function isString(object) {
    return getClass(object) === "String";
  }

  function isNumber(object) {
    return getClass(object) === "Number";
  }

  function isUndefined(object) {
    return typeof object === "undefined";
  }

  extend(Object, {
    extend:        extend,
    inspect:       inspect,
    toJSON:        toJSON,
    toQueryString: toQueryString,
    toHTML:        toHTML,
    keys:          keys,
    values:        values,
    clone:         clone,
    isElement:     isElement,
    isArray:       isArray,
    isHash:        isHash,
    isFunction:    isFunction,
    isString:      isString,
    isNumber:      isNumber,
    isUndefined:   isUndefined
  });
})();
Object.extend(Function.prototype, (function() {
  var slice = Array.prototype.slice;

  function update(array, args) {
    var arrayLength = array.length, length = args.length;
    while (length--) array[arrayLength + length] = args[length];
    return array;
  }

  function merge(array, args) {
    array = slice.call(array, 0);
    return update(array, args);
  }

  function argumentNames() {
    var names = this.toString().match(/^[\s\(]*function[^(]*\(([^)]*)\)/)[1]
      .replace(/\/\/.*?[\r\n]|\/\*(?:.|[\r\n])*?\*\//g, '')
      .replace(/\s+/g, '').split(',');
    return names.length == 1 && !names[0] ? [] : names;
  }

  function bind(context) {
    if (arguments.length < 2 && Object.isUndefined(arguments[0])) return this;
    var __method = this, args = slice.call(arguments, 1);
    return function() {
      var a = merge(args, arguments);
      return __method.apply(context, a);
    }
  }

  function bindAsEventListener(context) {
    var __method = this, args = slice.call(arguments, 1);
    return function(event) {
      var a = update([event || window.event], args);
      return __method.apply(context, a);
    }
  }

  function curry() {
    if (!arguments.length) return this;
    var __method = this, args = slice.call(arguments, 0);
    return function() {
      var a = merge(args, arguments);
      return __method.apply(this, a);
    }
  }

  function delay(timeout) {
    var __method = this, args = slice.call(arguments, 1);
    timeout = timeout * 1000
    return window.setTimeout(function() {
      return __method.apply(__method, args);
    }, timeout);
  }

  function defer() {
    var args = update([0.01], arguments);
    return this.delay.apply(this, args);
  }

  function wrap(wrapper) {
    var __method = this;
    return function() {
      var a = update([__method.bind(this)], arguments);
      return wrapper.apply(this, a);
    }
  }

  function methodize() {
    if (this._methodized) return this._methodized;
    var __method = this;
    return this._methodized = function() {
      var a = update([this], arguments);
      return __method.apply(null, a);
    };
  }

  return {
    argumentNames:       argumentNames,
    bind:                bind,
    bindAsEventListener: bindAsEventListener,
    curry:               curry,
    delay:               delay,
    defer:               defer,
    wrap:                wrap,
    methodize:           methodize
  }
})());


Date.prototype.toJSON = function() {
  return '"' + this.getUTCFullYear() + '-' +
    (this.getUTCMonth() + 1).toPaddedString(2) + '-' +
    this.getUTCDate().toPaddedString(2) + 'T' +
    this.getUTCHours().toPaddedString(2) + ':' +
    this.getUTCMinutes().toPaddedString(2) + ':' +
    this.getUTCSeconds().toPaddedString(2) + 'Z"';
};


RegExp.prototype.match = RegExp.prototype.test;

RegExp.escape = function(str) {
  return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');
};
var PeriodicalExecuter = Class.create({
  initialize: function(callback, frequency) {
    this.callback = callback;
    this.frequency = frequency;
    this.currentlyExecuting = false;

    this.registerCallback();
  },

  registerCallback: function() {
    this.timer = setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
  },

  execute: function() {
    this.callback(this);
  },

  stop: function() {
    if (!this.timer) return;
    clearInterval(this.timer);
    this.timer = null;
  },

  onTimerEvent: function() {
    if (!this.currentlyExecuting) {
      try {
        this.currentlyExecuting = true;
        this.execute();
      } catch(e) {
        /* empty catch for clients that don't support try/finally */
      }
      finally {
        this.currentlyExecuting = false;
      }
    }
  }
});
Object.extend(String, {
  interpret: function(value) {
    return value == null ? '' : String(value);
  },
  specialChar: {
    '\b': '\\b',
    '\t': '\\t',
    '\n': '\\n',
    '\f': '\\f',
    '\r': '\\r',
    '\\': '\\\\'
  }
});

Object.extend(String.prototype, (function() {

  function prepareReplacement(replacement) {
    if (Object.isFunction(replacement)) return replacement;
    var template = new Template(replacement);
    return function(match) { return template.evaluate(match) };
  }

  function gsub(pattern, replacement) {
    var result = '', source = this, match;
    replacement = prepareReplacement(replacement);

    if (Object.isString(pattern))
      pattern = RegExp.escape(pattern);

    if (!(pattern.length || pattern.source)) {
      replacement = replacement('');
      return replacement + source.split('').join(replacement) + replacement;
    }

    while (source.length > 0) {
      if (match = source.match(pattern)) {
        result += source.slice(0, match.index);
        result += String.interpret(replacement(match));
        source  = source.slice(match.index + match[0].length);
      } else {
        result += source, source = '';
      }
    }
    return result;
  }

  function sub(pattern, replacement, count) {
    replacement = prepareReplacement(replacement);
    count = Object.isUndefined(count) ? 1 : count;

    return this.gsub(pattern, function(match) {
      if (--count < 0) return match[0];
      return replacement(match);
    });
  }

  function scan(pattern, iterator) {
    this.gsub(pattern, iterator);
    return String(this);
  }

  function truncate(length, truncation) {
    length = length || 30;
    truncation = Object.isUndefined(truncation) ? '...' : truncation;
    return this.length > length ?
      this.slice(0, length - truncation.length) + truncation : String(this);
  }

  function strip() {
    return this.replace(/^\s+/, '').replace(/\s+$/, '');
  }

  function stripTags() {
    return this.replace(/<\w+(\s+("[^"]*"|'[^']*'|[^>])+)?>|<\/\w+>/gi, '');
  }

  function stripScripts() {
    return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');
  }

  function extractScripts() {
    var matchAll = new RegExp(Prototype.ScriptFragment, 'img');
    var matchOne = new RegExp(Prototype.ScriptFragment, 'im');
    return (this.match(matchAll) || []).map(function(scriptTag) {
      return (scriptTag.match(matchOne) || ['', ''])[1];
    });
  }

  function evalScripts() {
    return this.extractScripts().map(function(script) { return eval(script) });
  }

  function escapeHTML() {
    escapeHTML.text.data = this;
    return escapeHTML.div.innerHTML;
  }

  function unescapeHTML() {
    var div = document.createElement('div');
    div.innerHTML = this.stripTags();
    return div.childNodes[0] ? (div.childNodes.length > 1 ?
      $A(div.childNodes).inject('', function(memo, node) { return memo+node.nodeValue }) :
      div.childNodes[0].nodeValue) : '';
  }


  function toQueryParams(separator) {
    var match = this.strip().match(/([^?#]*)(#.*)?$/);
    if (!match) return { };

    return match[1].split(separator || '&').inject({ }, function(hash, pair) {
      if ((pair = pair.split('='))[0]) {
        var key = decodeURIComponent(pair.shift());
        var value = pair.length > 1 ? pair.join('=') : pair[0];
        if (value != undefined) value = decodeURIComponent(value);

        if (key in hash) {
          if (!Object.isArray(hash[key])) hash[key] = [hash[key]];
          hash[key].push(value);
        }
        else hash[key] = value;
      }
      return hash;
    });
  }

  function toArray() {
    return this.split('');
  }

  function succ() {
    return this.slice(0, this.length - 1) +
      String.fromCharCode(this.charCodeAt(this.length - 1) + 1);
  }

  function times(count) {
    return count < 1 ? '' : new Array(count + 1).join(this);
  }

  function camelize() {
    var parts = this.split('-'), len = parts.length;
    if (len == 1) return parts[0];

    var camelized = this.charAt(0) == '-'
      ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)
      : parts[0];

    for (var i = 1; i < len; i++)
      camelized += parts[i].charAt(0).toUpperCase() + parts[i].substring(1);

    return camelized;
  }

  function capitalize() {
    return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase();
  }

  function underscore() {
    return this.gsub(/::/, '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase();
  }

  function dasherize() {
    return this.gsub(/_/,'-');
  }

  function inspect(useDoubleQuotes) {
    var escapedString = this.gsub(/[\x00-\x1f\\]/, function(match) {
      var character = String.specialChar[match[0]];
      return character ? character : '\\u00' + match[0].charCodeAt().toPaddedString(2, 16);
    });
    if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') + '"';
    return "'" + escapedString.replace(/'/g, '\\\'') + "'";
  }

  function toJSON() {
    return this.inspect(true);
  }

  function unfilterJSON(filter) {
    return this.sub(filter || Prototype.JSONFilter, '#{1}');
  }

  function isJSON() {
    var str = this;
    if (str.blank()) return false;
    str = this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, '');
    return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str);
  }

  function evalJSON(sanitize) {
    var json = this.unfilterJSON();
    try {
      if (!sanitize || json.isJSON()) return eval('(' + json + ')');
    } catch (e) { }
    throw new SyntaxError('Badly formed JSON string: ' + this.inspect());
  }

  function include(pattern) {
    return this.indexOf(pattern) > -1;
  }

  function startsWith(pattern) {
    return this.indexOf(pattern) === 0;
  }

  function endsWith(pattern) {
    var d = this.length - pattern.length;
    return d >= 0 && this.lastIndexOf(pattern) === d;
  }

  function empty() {
    return this == '';
  }

  function blank() {
    return /^\s*$/.test(this);
  }

  function interpolate(object, pattern) {
    return new Template(this, pattern).evaluate(object);
  }

  return {
    gsub:           gsub,
    sub:            sub,
    scan:           scan,
    truncate:       truncate,
    strip:          String.prototype.trim ? String.prototype.trim : strip,
    stripTags:      stripTags,
    stripScripts:   stripScripts,
    extractScripts: extractScripts,
    evalScripts:    evalScripts,
    escapeHTML:     escapeHTML,
    unescapeHTML:   unescapeHTML,
    toQueryParams:  toQueryParams,
    parseQuery:     toQueryParams,
    toArray:        toArray,
    succ:           succ,
    times:          times,
    camelize:       camelize,
    capitalize:     capitalize,
    underscore:     underscore,
    dasherize:      dasherize,
    inspect:        inspect,
    toJSON:         toJSON,
    unfilterJSON:   unfilterJSON,
    isJSON:         isJSON,
    evalJSON:       evalJSON,
    include:        include,
    startsWith:     startsWith,
    endsWith:       endsWith,
    empty:          empty,
    blank:          blank,
    interpolate:    interpolate
  };
})());

Object.extend(String.prototype.escapeHTML, {
  div:  document.createElement('div'),
  text: document.createTextNode('')
});

String.prototype.escapeHTML.div.appendChild(String.prototype.escapeHTML.text);

if ('<\n>'.escapeHTML() !== '&lt;\n&gt;') {
  String.prototype.escapeHTML = function() {
    return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
  };
}

if ('&lt;\n&gt;'.unescapeHTML() !== '<\n>') {
  String.prototype.unescapeHTML = function() {
    return this.stripTags().replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&amp;/g,'&');
  };
}
var Template = Class.create({
  initialize: function(template, pattern) {
    this.template = template.toString();
    this.pattern = pattern || Template.Pattern;
  },

  evaluate: function(object) {
    if (object && Object.isFunction(object.toTemplateReplacements))
      object = object.toTemplateReplacements();

    return this.template.gsub(this.pattern, function(match) {
      if (object == null) return (match[1] + '');

      var before = match[1] || '';
      if (before == '\\') return match[2];

      var ctx = object, expr = match[3];
      var pattern = /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;
      match = pattern.exec(expr);
      if (match == null) return before;

      while (match != null) {
        var comp = match[1].startsWith('[') ? match[2].gsub('\\\\]', ']') : match[1];
        ctx = ctx[comp];
        if (null == ctx || '' == match[3]) break;
        expr = expr.substring('[' == match[3] ? match[1].length : match[0].length);
        match = pattern.exec(expr);
      }

      return before + String.interpret(ctx);
    });
  }
});
Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/;

var $break = { };

var Enumerable = (function() {
  function each(iterator, context) {
    var index = 0;
    try {
      this._each(function(value) {
        iterator.call(context, value, index++);
      });
    } catch (e) {
      if (e != $break) throw e;
    }
    return this;
  }

  function eachSlice(number, iterator, context) {
    var index = -number, slices = [], array = this.toArray();
    if (number < 1) return array;
    while ((index += number) < array.length)
      slices.push(array.slice(index, index+number));
    return slices.collect(iterator, context);
  }

  function all(iterator, context) {
    iterator = iterator || Prototype.K;
    var result = true;
    this.each(function(value, index) {
      result = result && !!iterator.call(context, value, index);
      if (!result) throw $break;
    });
    return result;
  }

  function any(iterator, context) {
    iterator = iterator || Prototype.K;
    var result = false;
    this.each(function(value, index) {
      if (result = !!iterator.call(context, value, index))
        throw $break;
    });
    return result;
  }

  function collect(iterator, context) {
    iterator = iterator || Prototype.K;
    var results = [];
    this.each(function(value, index) {
      results.push(iterator.call(context, value, index));
    });
    return results;
  }

  function detect(iterator, context) {
    var result;
    this.each(function(value, index) {
      if (iterator.call(context, value, index)) {
        result = value;
        throw $break;
      }
    });
    return result;
  }

  function findAll(iterator, context) {
    var results = [];
    this.each(function(value, index) {
      if (iterator.call(context, value, index))
        results.push(value);
    });
    return results;
  }

  function grep(filter, iterator, context) {
    iterator = iterator || Prototype.K;
    var results = [];

    if (Object.isString(filter))
      filter = new RegExp(RegExp.escape(filter));

    this.each(function(value, index) {
      if (filter.match(value))
        results.push(iterator.call(context, value, index));
    });
    return results;
  }

  function include(object) {
    if (Object.isFunction(this.indexOf))
      if (this.indexOf(object) != -1) return true;

    var found = false;
    this.each(function(value) {
      if (value == object) {
        found = true;
        throw $break;
      }
    });
    return found;
  }

  function inGroupsOf(number, fillWith) {
    fillWith = Object.isUndefined(fillWith) ? null : fillWith;
    return this.eachSlice(number, function(slice) {
      while(slice.length < number) slice.push(fillWith);
      return slice;
    });
  }

  function inject(memo, iterator, context) {
    this.each(function(value, index) {
      memo = iterator.call(context, memo, value, index);
    });
    return memo;
  }

  function invoke(method) {
    var args = $A(arguments).slice(1);
    return this.map(function(value) {
      return value[method].apply(value, args);
    });
  }

  function max(iterator, context) {
    iterator = iterator || Prototype.K;
    var result;
    this.each(function(value, index) {
      value = iterator.call(context, value, index);
      if (result == null || value >= result)
        result = value;
    });
    return result;
  }

  function min(iterator, context) {
    iterator = iterator || Prototype.K;
    var result;
    this.each(function(value, index) {
      value = iterator.call(context, value, index);
      if (result == null || value < result)
        result = value;
    });
    return result;
  }

  function partition(iterator, context) {
    iterator = iterator || Prototype.K;
    var trues = [], falses = [];
    this.each(function(value, index) {
      (iterator.call(context, value, index) ?
        trues : falses).push(value);
    });
    return [trues, falses];
  }

  function pluck(property) {
    var results = [];
    this.each(function(value) {
      results.push(value[property]);
    });
    return results;
  }

  function reject(iterator, context) {
    var results = [];
    this.each(function(value, index) {
      if (!iterator.call(context, value, index))
        results.push(value);
    });
    return results;
  }

  function sortBy(iterator, context) {
    return this.map(function(value, index) {
      return {
        value: value,
        criteria: iterator.call(context, value, index)
      };
    }).sort(function(left, right) {
      var a = left.criteria, b = right.criteria;
      return a < b ? -1 : a > b ? 1 : 0;
    }).pluck('value');
  }

  function toArray() {
    return this.map();
  }

  function zip() {
    var iterator = Prototype.K, args = $A(arguments);
    if (Object.isFunction(args.last()))
      iterator = args.pop();

    var collections = [this].concat(args).map($A);
    return this.map(function(value, index) {
      return iterator(collections.pluck(index));
    });
  }

  function size() {
    return this.toArray().length;
  }

  function inspect() {
    return '#<Enumerable:' + this.toArray().inspect() + '>';
  }









  return {
    each:       each,
    eachSlice:  eachSlice,
    all:        all,
    every:      all,
    any:        any,
    some:       any,
    collect:    collect,
    map:        collect,
    detect:     detect,
    findAll:    findAll,
    select:     findAll,
    filter:     findAll,
    grep:       grep,
    include:    include,
    member:     include,
    inGroupsOf: inGroupsOf,
    inject:     inject,
    invoke:     invoke,
    max:        max,
    min:        min,
    partition:  partition,
    pluck:      pluck,
    reject:     reject,
    sortBy:     sortBy,
    toArray:    toArray,
    entries:    toArray,
    zip:        zip,
    size:       size,
    inspect:    inspect,
    find:       detect
  };
})();
function $A(iterable) {
  if (!iterable) return [];
  if ('toArray' in Object(iterable)) return iterable.toArray();
  var length = iterable.length || 0, results = new Array(length);
  while (length--) results[length] = iterable[length];
  return results;
}

function $w(string) {
  if (!Object.isString(string)) return [];
  string = string.strip();
  return string ? string.split(/\s+/) : [];
}

Array.from = $A;


(function() {
  var arrayProto = Array.prototype,
      slice = arrayProto.slice,
      _each = arrayProto.forEach; // use native browser JS 1.6 implementation if available

  function each(iterator) {
    for (var i = 0, length = this.length; i < length; i++)
      iterator(this[i]);
  }
  if (!_each) _each = each;

  function clear() {
    this.length = 0;
    return this;
  }

  function first() {
    return this[0];
  }

  function last() {
    return this[this.length - 1];
  }

  function compact() {
    return this.select(function(value) {
      return value != null;
    });
  }

  function flatten() {
    return this.inject([], function(array, value) {
      if (Object.isArray(value))
        return array.concat(value.flatten());
      array.push(value);
      return array;
    });
  }

  function without() {
    var values = slice.call(arguments, 0);
    return this.select(function(value) {
      return !values.include(value);
    });
  }

  function reverse(inline) {
    return (inline !== false ? this : this.toArray())._reverse();
  }

  function uniq(sorted) {
    return this.inject([], function(array, value, index) {
      if (0 == index || (sorted ? array.last() != value : !array.include(value)))
        array.push(value);
      return array;
    });
  }

  function intersect(array) {
    return this.uniq().findAll(function(item) {
      return array.detect(function(value) { return item === value });
    });
  }


  function clone() {
    return slice.call(this, 0);
  }

  function size() {
    return this.length;
  }

  function inspect() {
    return '[' + this.map(Object.inspect).join(', ') + ']';
  }

  function toJSON() {
    var results = [];
    this.each(function(object) {
      var value = Object.toJSON(object);
      if (!Object.isUndefined(value)) results.push(value);
    });
    return '[' + results.join(', ') + ']';
  }

  function indexOf(item, i) {
    i || (i = 0);
    var length = this.length;
    if (i < 0) i = length + i;
    for (; i < length; i++)
      if (this[i] === item) return i;
    return -1;
  }

  function lastIndexOf(item, i) {
    i = isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1;
    var n = this.slice(0, i).reverse().indexOf(item);
    return (n < 0) ? n : i - n - 1;
  }

  function concat() {
    var array = slice.call(this, 0), item;
    for (var i = 0, length = arguments.length; i < length; i++) {
      item = arguments[i];
      if (Object.isArray(item) && !('callee' in item)) {
        for (var j = 0, arrayLength = item.length; j < arrayLength; j++)
          array.push(item[j]);
      } else {
        array.push(item);
      }
    }
    return array;
  }

  Object.extend(arrayProto, Enumerable);

  if (!arrayProto._reverse)
    arrayProto._reverse = arrayProto.reverse;

  Object.extend(arrayProto, {
    _each:     _each,
    clear:     clear,
    first:     first,
    last:      last,
    compact:   compact,
    flatten:   flatten,
    without:   without,
    reverse:   reverse,
    uniq:      uniq,
    intersect: intersect,
    clone:     clone,
    toArray:   clone,
    size:      size,
    inspect:   inspect,
    toJSON:    toJSON
  });

  var CONCAT_ARGUMENTS_BUGGY = (function() {
    return [].concat(arguments)[0][0] !== 1;
  })(1,2)

  if (CONCAT_ARGUMENTS_BUGGY) arrayProto.concat = concat;

  if (!arrayProto.indexOf) arrayProto.indexOf = indexOf;
  if (!arrayProto.lastIndexOf) arrayProto.lastIndexOf = lastIndexOf;
})();
function $H(object) {
  return new Hash(object);
};

var Hash = Class.create(Enumerable, (function() {
  function initialize(object) {
    this._object = Object.isHash(object) ? object.toObject() : Object.clone(object);
  }

  function _each(iterator) {
    for (var key in this._object) {
      var value = this._object[key], pair = [key, value];
      pair.key = key;
      pair.value = value;
      iterator(pair);
    }
  }

  function set(key, value) {
    return this._object[key] = value;
  }

  function get(key) {
    if (this._object[key] !== Object.prototype[key])
      return this._object[key];
  }

  function unset(key) {
    var value = this._object[key];
    delete this._object[key];
    return value;
  }

  function toObject() {
    return Object.clone(this._object);
  }

  function keys() {
    return this.pluck('key');
  }

  function values() {
    return this.pluck('value');
  }

  function index(value) {
    var match = this.detect(function(pair) {
      return pair.value === value;
    });
    return match && match.key;
  }

  function merge(object) {
    return this.clone().update(object);
  }

  function update(object) {
    return new Hash(object).inject(this, function(result, pair) {
      result.set(pair.key, pair.value);
      return result;
    });
  }

  function toQueryPair(key, value) {
    if (Object.isUndefined(value)) return key;
    return key + '=' + encodeURIComponent(String.interpret(value));
  }

  function toQueryString() {
    return this.inject([], function(results, pair) {
      var key = encodeURIComponent(pair.key), values = pair.value;

      if (values && typeof values == 'object') {
        if (Object.isArray(values))
          return results.concat(values.map(toQueryPair.curry(key)));
      } else results.push(toQueryPair(key, values));
      return results;
    }).join('&');
  }

  function inspect() {
    return '#<Hash:{' + this.map(function(pair) {
      return pair.map(Object.inspect).join(': ');
    }).join(', ') + '}>';
  }

  function toJSON() {
    return Object.toJSON(this.toObject());
  }

  function clone() {
    return new Hash(this);
  }

  return {
    initialize:             initialize,
    _each:                  _each,
    set:                    set,
    get:                    get,
    unset:                  unset,
    toObject:               toObject,
    toTemplateReplacements: toObject,
    keys:                   keys,
    values:                 values,
    index:                  index,
    merge:                  merge,
    update:                 update,
    toQueryString:          toQueryString,
    inspect:                inspect,
    toJSON:                 toJSON,
    clone:                  clone
  };
})());

Hash.from = $H;
Object.extend(Number.prototype, (function() {
  function toColorPart() {
    return this.toPaddedString(2, 16);
  }

  function succ() {
    return this + 1;
  }

  function times(iterator, context) {
    $R(0, this, true).each(iterator, context);
    return this;
  }

  function toPaddedString(length, radix) {
    var string = this.toString(radix || 10);
    return '0'.times(length - string.length) + string;
  }

  function toJSON() {
    return isFinite(this) ? this.toString() : 'null';
  }

  function abs() {
    return Math.abs(this);
  }

  function round() {
    return Math.round(this);
  }

  function ceil() {
    return Math.ceil(this);
  }

  function floor() {
    return Math.floor(this);
  }

  return {
    toColorPart:    toColorPart,
    succ:           succ,
    times:          times,
    toPaddedString: toPaddedString,
    toJSON:         toJSON,
    abs:            abs,
    round:          round,
    ceil:           ceil,
    floor:          floor
  };
})());

function $R(start, end, exclusive) {
  return new ObjectRange(start, end, exclusive);
}

var ObjectRange = Class.create(Enumerable, (function() {
  function initialize(start, end, exclusive) {
    this.start = start;
    this.end = end;
    this.exclusive = exclusive;
  }

  function _each(iterator) {
    var value = this.start;
    while (this.include(value)) {
      iterator(value);
      value = value.succ();
    }
  }

  function include(value) {
    if (value < this.start)
      return false;
    if (this.exclusive)
      return value < this.end;
    return value <= this.end;
  }

  return {
    initialize: initialize,
    _each:      _each,
    include:    include
  };
})());



var Ajax = {
  getTransport: function() {
    return Try.these(
      function() {return new XMLHttpRequest()},
      function() {return new ActiveXObject('Msxml2.XMLHTTP')},
      function() {return new ActiveXObject('Microsoft.XMLHTTP')}
    ) || false;
  },

  activeRequestCount: 0
};

Ajax.Responders = {
  responders: [],

  _each: function(iterator) {
    this.responders._each(iterator);
  },

  register: function(responder) {
    if (!this.include(responder))
      this.responders.push(responder);
  },

  unregister: function(responder) {
    this.responders = this.responders.without(responder);
  },

  dispatch: function(callback, request, transport, json) {
    this.each(function(responder) {
      if (Object.isFunction(responder[callback])) {
        try {
          responder[callback].apply(responder, [request, transport, json]);
        } catch (e) { }
      }
    });
  }
};

Object.extend(Ajax.Responders, Enumerable);

Ajax.Responders.register({
  onCreate:   function() { Ajax.activeRequestCount++ },
  onComplete: function() { Ajax.activeRequestCount-- }
});
Ajax.Base = Class.create({
  initialize: function(options) {
    this.options = {
      method:       'post',
      asynchronous: true,
      contentType:  'application/x-www-form-urlencoded',
      encoding:     'UTF-8',
      parameters:   '',
      evalJSON:     true,
      evalJS:       true
    };
    Object.extend(this.options, options || { });

    this.options.method = this.options.method.toLowerCase();

    if (Object.isString(this.options.parameters))
      this.options.parameters = this.options.parameters.toQueryParams();
    else if (Object.isHash(this.options.parameters))
      this.options.parameters = this.options.parameters.toObject();
  }
});
Ajax.Request = Class.create(Ajax.Base, {
  _complete: false,

  initialize: function($super, url, options) {
    $super(options);
    this.transport = Ajax.getTransport();
    this.request(url);
  },

  request: function(url) {
    this.url = url;
    this.method = this.options.method;
    var params = Object.clone(this.options.parameters);

    if (!['get', 'post'].include(this.method)) {
      params['_method'] = this.method;
      this.method = 'post';
    }

    this.parameters = params;

    if (params = Object.toQueryString(params)) {
      if (this.method == 'get')
        this.url += (this.url.include('?') ? '&' : '?') + params;
      else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))
        params += '&_=';
    }

    try {
      var response = new Ajax.Response(this);
      if (this.options.onCreate) this.options.onCreate(response);
      Ajax.Responders.dispatch('onCreate', this, response);

      this.transport.open(this.method.toUpperCase(), this.url,
        this.options.asynchronous);

      if (this.options.asynchronous) this.respondToReadyState.bind(this).defer(1);

      this.transport.onreadystatechange = this.onStateChange.bind(this);
      this.setRequestHeaders();

      this.body = this.method == 'post' ? (this.options.postBody || params) : null;
      this.transport.send(this.body);

      /* Force Firefox to handle ready state 4 for synchronous requests */
      if (!this.options.asynchronous && this.transport.overrideMimeType)
        this.onStateChange();

    }
    catch (e) {
      this.dispatchException(e);
    }
  },

  onStateChange: function() {
    var readyState = this.transport.readyState;
    if (readyState > 1 && !((readyState == 4) && this._complete))
      this.respondToReadyState(this.transport.readyState);
  },

  setRequestHeaders: function() {
    var headers = {
      'X-Requested-With': 'XMLHttpRequest',
      'X-Prototype-Version': Prototype.Version,
      'Accept': 'text/javascript, text/html, application/xml, text/xml, */*'
    };

    if (this.method == 'post') {
      headers['Content-type'] = this.options.contentType +
        (this.options.encoding ? '; charset=' + this.options.encoding : '');

      /* Force "Connection: close" for older Mozilla browsers to work
       * around a bug where XMLHttpRequest sends an incorrect
       * Content-length header. See Mozilla Bugzilla #246651.
       */
      if (this.transport.overrideMimeType &&
          (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < 2005)
            headers['Connection'] = 'close';
    }

    if (typeof this.options.requestHeaders == 'object') {
      var extras = this.options.requestHeaders;

      if (Object.isFunction(extras.push))
        for (var i = 0, length = extras.length; i < length; i += 2)
          headers[extras[i]] = extras[i+1];
      else
        $H(extras).each(function(pair) { headers[pair.key] = pair.value });
    }

    for (var name in headers)
      this.transport.setRequestHeader(name, headers[name]);
  },

  success: function() {
    var status = this.getStatus();
    return !status || (status >= 200 && status < 300);
  },

  getStatus: function() {
    try {
      return this.transport.status || 0;
    } catch (e) { return 0 }
  },

  respondToReadyState: function(readyState) {
    var state = Ajax.Request.Events[readyState], response = new Ajax.Response(this);

    if (state == 'Complete') {
      try {
        this._complete = true;
        (this.options['on' + response.status]
         || this.options['on' + (this.success() ? 'Success' : 'Failure')]
         || Prototype.emptyFunction)(response, response.headerJSON);
      } catch (e) {
        this.dispatchException(e);
      }

      var contentType = response.getHeader('Content-type');
      if (this.options.evalJS == 'force'
          || (this.options.evalJS && this.isSameOrigin() && contentType
          && contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i)))
        this.evalResponse();
    }

    try {
      (this.options['on' + state] || Prototype.emptyFunction)(response, response.headerJSON);
      Ajax.Responders.dispatch('on' + state, this, response, response.headerJSON);
    } catch (e) {
      this.dispatchException(e);
    }

    if (state == 'Complete') {
      this.transport.onreadystatechange = Prototype.emptyFunction;
    }
  },

  isSameOrigin: function() {
    var m = this.url.match(/^\s*https?:\/\/[^\/]*/);
    return !m || (m[0] == '#{protocol}//#{domain}#{port}'.interpolate({
      protocol: location.protocol,
      domain: document.domain,
      port: location.port ? ':' + location.port : ''
    }));
  },

  getHeader: function(name) {
    try {
      return this.transport.getResponseHeader(name) || null;
    } catch (e) { return null; }
  },

  evalResponse: function() {
    try {
      return eval((this.transport.responseText || '').unfilterJSON());
    } catch (e) {
      this.dispatchException(e);
    }
  },

  dispatchException: function(exception) {
    (this.options.onException || Prototype.emptyFunction)(this, exception);
    Ajax.Responders.dispatch('onException', this, exception);
  }
});

Ajax.Request.Events =
  ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];








Ajax.Response = Class.create({
  initialize: function(request){
    this.request = request;
    var transport  = this.transport  = request.transport,
        readyState = this.readyState = transport.readyState;

    if((readyState > 2 && !Prototype.Browser.IE) || readyState == 4) {
      this.status       = this.getStatus();
      this.statusText   = this.getStatusText();
      this.responseText = String.interpret(transport.responseText);
      this.headerJSON   = this._getHeaderJSON();
    }

    if(readyState == 4) {
      var xml = transport.responseXML;
      this.responseXML  = Object.isUndefined(xml) ? null : xml;
      this.responseJSON = this._getResponseJSON();
    }
  },

  status:      0,

  statusText: '',

  getStatus: Ajax.Request.prototype.getStatus,

  getStatusText: function() {
    try {
      return this.transport.statusText || '';
    } catch (e) { return '' }
  },

  getHeader: Ajax.Request.prototype.getHeader,

  getAllHeaders: function() {
    try {
      return this.getAllResponseHeaders();
    } catch (e) { return null }
  },

  getResponseHeader: function(name) {
    return this.transport.getResponseHeader(name);
  },

  getAllResponseHeaders: function() {
    return this.transport.getAllResponseHeaders();
  },

  _getHeaderJSON: function() {
    var json = this.getHeader('X-JSON');
    if (!json) return null;
    json = decodeURIComponent(escape(json));
    try {
      return json.evalJSON(this.request.options.sanitizeJSON ||
        !this.request.isSameOrigin());
    } catch (e) {
      this.request.dispatchException(e);
    }
  },

  _getResponseJSON: function() {
    var options = this.request.options;
    if (!options.evalJSON || (options.evalJSON != 'force' &&
      !(this.getHeader('Content-type') || '').include('application/json')) ||
        this.responseText.blank())
          return null;
    try {
      return this.responseText.evalJSON(options.sanitizeJSON ||
        !this.request.isSameOrigin());
    } catch (e) {
      this.request.dispatchException(e);
    }
  }
});

Ajax.Updater = Class.create(Ajax.Request, {
  initialize: function($super, container, url, options) {
    this.container = {
      success: (container.success || container),
      failure: (container.failure || (container.success ? null : container))
    };

    options = Object.clone(options);
    var onComplete = options.onComplete;
    options.onComplete = (function(response, json) {
      this.updateContent(response.responseText);
      if (Object.isFunction(onComplete)) onComplete(response, json);
    }).bind(this);

    $super(url, options);
  },

  updateContent: function(responseText) {
    var receiver = this.container[this.success() ? 'success' : 'failure'],
        options = this.options;

    if (!options.evalScripts) responseText = responseText.stripScripts();

    if (receiver = $(receiver)) {
      if (options.insertion) {
        if (Object.isString(options.insertion)) {
          var insertion = { }; insertion[options.insertion] = responseText;
          receiver.insert(insertion);
        }
        else options.insertion(receiver, responseText);
      }
      else receiver.update(responseText);
    }
  }
});

Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
  initialize: function($super, container, url, options) {
    $super(options);
    this.onComplete = this.options.onComplete;

    this.frequency = (this.options.frequency || 2);
    this.decay = (this.options.decay || 1);

    this.updater = { };
    this.container = container;
    this.url = url;

    this.start();
  },

  start: function() {
    this.options.onComplete = this.updateComplete.bind(this);
    this.onTimerEvent();
  },

  stop: function() {
    this.updater.options.onComplete = undefined;
    clearTimeout(this.timer);
    (this.onComplete || Prototype.emptyFunction).apply(this, arguments);
  },

  updateComplete: function(response) {
    if (this.options.decay) {
      this.decay = (response.responseText == this.lastText ?
        this.decay * this.options.decay : 1);

      this.lastText = response.responseText;
    }
    this.timer = this.onTimerEvent.bind(this).delay(this.decay * this.frequency);
  },

  onTimerEvent: function() {
    this.updater = new Ajax.Updater(this.container, this.url, this.options);
  }
});



function $(element) {
  if (arguments.length > 1) {
    for (var i = 0, elements = [], length = arguments.length; i < length; i++)
      elements.push($(arguments[i]));
    return elements;
  }
  if (Object.isString(element))
    element = document.getElementById(element);
  return Element.extend(element);
}

if (Prototype.BrowserFeatures.XPath) {
  document._getElementsByXPath = function(expression, parentElement) {
    var results = [];
    var query = document.evaluate(expression, $(parentElement) || document,
      null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
    for (var i = 0, length = query.snapshotLength; i < length; i++)
      results.push(Element.extend(query.snapshotItem(i)));
    return results;
  };
}

/*--------------------------------------------------------------------------*/

if (!window.Node) var Node = { };

if (!Node.ELEMENT_NODE) {
  Object.extend(Node, {
    ELEMENT_NODE: 1,
    ATTRIBUTE_NODE: 2,
    TEXT_NODE: 3,
    CDATA_SECTION_NODE: 4,
    ENTITY_REFERENCE_NODE: 5,
    ENTITY_NODE: 6,
    PROCESSING_INSTRUCTION_NODE: 7,
    COMMENT_NODE: 8,
    DOCUMENT_NODE: 9,
    DOCUMENT_TYPE_NODE: 10,
    DOCUMENT_FRAGMENT_NODE: 11,
    NOTATION_NODE: 12
  });
}


(function(global) {

  var SETATTRIBUTE_IGNORES_NAME = (function(){
    var elForm = document.createElement("form");
    var elInput = document.createElement("input");
    var root = document.documentElement;
    elInput.setAttribute("name", "test");
    elForm.appendChild(elInput);
    root.appendChild(elForm);
    var isBuggy = elForm.elements
      ? (typeof elForm.elements.test == "undefined")
      : null;
    root.removeChild(elForm);
    elForm = elInput = null;
    return isBuggy;
  })();

  var element = global.Element;
  global.Element = function(tagName, attributes) {
    attributes = attributes || { };
    tagName = tagName.toLowerCase();
    var cache = Element.cache;
    if (SETATTRIBUTE_IGNORES_NAME && attributes.name) {
      tagName = '<' + tagName + ' name="' + attributes.name + '">';
      delete attributes.name;
      return Element.writeAttribute(document.createElement(tagName), attributes);
    }
    if (!cache[tagName]) cache[tagName] = Element.extend(document.createElement(tagName));
    return Element.writeAttribute(cache[tagName].cloneNode(false), attributes);
  };
  Object.extend(global.Element, element || { });
  if (element) global.Element.prototype = element.prototype;
})(this);

Element.cache = { };
Element.idCounter = 1;

Element.Methods = {
  visible: function(element) {
    return $(element).style.display != 'none';
  },

  toggle: function(element) {
    element = $(element);
    Element[Element.visible(element) ? 'hide' : 'show'](element);
    return element;
  },


  hide: function(element) {
    element = $(element);
    element.style.display = 'none';
    return element;
  },

  show: function(element) {
    element = $(element);
    element.style.display = '';
    return element;
  },

  remove: function(element) {
    element = $(element);
    element.parentNode.removeChild(element);
    return element;
  },

  update: (function(){

    var SELECT_ELEMENT_INNERHTML_BUGGY = (function(){
      var el = document.createElement("select"),
          isBuggy = true;
      el.innerHTML = "<option value=\"test\">test</option>";
      if (el.options && el.options[0]) {
        isBuggy = el.options[0].nodeName.toUpperCase() !== "OPTION";
      }
      el = null;
      return isBuggy;
    })();

    var TABLE_ELEMENT_INNERHTML_BUGGY = (function(){
      try {
        var el = document.createElement("table");
        if (el && el.tBodies) {
          el.innerHTML = "<tbody><tr><td>test</td></tr></tbody>";
          var isBuggy = typeof el.tBodies[0] == "undefined";
          el = null;
          return isBuggy;
        }
      } catch (e) {
        return true;
      }
    })();

    var SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING = (function () {
      var s = document.createElement("script"),
          isBuggy = false;
      try {
        s.appendChild(document.createTextNode(""));
        isBuggy = !s.firstChild ||
          s.firstChild && s.firstChild.nodeType !== 3;
      } catch (e) {
        isBuggy = true;
      }
      s = null;
      return isBuggy;
    })();

    function update(element, content) {
      element = $(element);

      if (content && content.toElement)
        content = content.toElement();

      if (Object.isElement(content))
        return element.update().insert(content);

      content = Object.toHTML(content);

      var tagName = element.tagName.toUpperCase();

      if (tagName === 'SCRIPT' && SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING) {
        element.text = content;
        return element;
      }

      if (SELECT_ELEMENT_INNERHTML_BUGGY || TABLE_ELEMENT_INNERHTML_BUGGY) {
        if (tagName in Element._insertionTranslations.tags) {
          while (element.firstChild) {
            element.removeChild(element.firstChild);
          }
          Element._getContentFromAnonymousElement(tagName, content.stripScripts())
            .each(function(node) {
              element.appendChild(node)
            });
        }
        else {
          element.innerHTML = content.stripScripts();
        }
      }
      else {
        element.innerHTML = content.stripScripts();
      }

      content.evalScripts.bind(content).defer();
      return element;
    }

    return update;
  })(),

  replace: function(element, content) {
    element = $(element);
    if (content && content.toElement) content = content.toElement();
    else if (!Object.isElement(content)) {
      content = Object.toHTML(content);
      var range = element.ownerDocument.createRange();
      range.selectNode(element);
      content.evalScripts.bind(content).defer();
      content = range.createContextualFragment(content.stripScripts());
    }
    element.parentNode.replaceChild(content, element);
    return element;
  },

  insert: function(element, insertions) {
    element = $(element);

    if (Object.isString(insertions) || Object.isNumber(insertions) ||
        Object.isElement(insertions) || (insertions && (insertions.toElement || insertions.toHTML)))
          insertions = {bottom:insertions};

    var content, insert, tagName, childNodes;

    for (var position in insertions) {
      content  = insertions[position];
      position = position.toLowerCase();
      insert = Element._insertionTranslations[position];

      if (content && content.toElement) content = content.toElement();
      if (Object.isElement(content)) {
        insert(element, content);
        continue;
      }

      content = Object.toHTML(content);

      tagName = ((position == 'before' || position == 'after')
        ? element.parentNode : element).tagName.toUpperCase();

      childNodes = Element._getContentFromAnonymousElement(tagName, content.stripScripts());

      if (position == 'top' || position == 'after') childNodes.reverse();
      childNodes.each(insert.curry(element));

      content.evalScripts.bind(content).defer();
    }

    return element;
  },

  wrap: function(element, wrapper, attributes) {
    element = $(element);
    if (Object.isElement(wrapper))
      $(wrapper).writeAttribute(attributes || { });
    else if (Object.isString(wrapper)) wrapper = new Element(wrapper, attributes);
    else wrapper = new Element('div', wrapper);
    if (element.parentNode)
      element.parentNode.replaceChild(wrapper, element);
    wrapper.appendChild(element);
    return wrapper;
  },

  inspect: function(element) {
    element = $(element);
    var result = '<' + element.tagName.toLowerCase();
    $H({'id': 'id', 'className': 'class'}).each(function(pair) {
      var property = pair.first(), attribute = pair.last();
      var value = (element[property] || '').toString();
      if (value) result += ' ' + attribute + '=' + value.inspect(true);
    });
    return result + '>';
  },

  recursivelyCollect: function(element, property) {
    element = $(element);
    var elements = [];
    while (element = element[property])
      if (element.nodeType == 1)
        elements.push(Element.extend(element));
    return elements;
  },

  ancestors: function(element) {
    return Element.recursivelyCollect(element, 'parentNode');
  },

  descendants: function(element) {
    return Element.select(element, "*");
  },

  firstDescendant: function(element) {
    element = $(element).firstChild;
    while (element && element.nodeType != 1) element = element.nextSibling;
    return $(element);
  },

  immediateDescendants: function(element) {
    if (!(element = $(element).firstChild)) return [];
    while (element && element.nodeType != 1) element = element.nextSibling;
    if (element) return [element].concat($(element).nextSiblings());
    return [];
  },

  previousSiblings: function(element) {
    return Element.recursivelyCollect(element, 'previousSibling');
  },

  nextSiblings: function(element) {
    return Element.recursivelyCollect(element, 'nextSibling');
  },

  siblings: function(element) {
    element = $(element);
    return Element.previousSiblings(element).reverse()
      .concat(Element.nextSiblings(element));
  },

  match: function(element, selector) {
    if (Object.isString(selector))
      selector = new Selector(selector);
    return selector.match($(element));
  },

  up: function(element, expression, index) {
    element = $(element);
    if (arguments.length == 1) return $(element.parentNode);
    var ancestors = Element.ancestors(element);
    return Object.isNumber(expression) ? ancestors[expression] :
      Selector.findElement(ancestors, expression, index);
  },

  down: function(element, expression, index) {
    element = $(element);
    if (arguments.length == 1) return Element.firstDescendant(element);
    return Object.isNumber(expression) ? Element.descendants(element)[expression] :
      Element.select(element, expression)[index || 0];
  },

  previous: function(element, expression, index) {
    element = $(element);
    if (arguments.length == 1) return $(Selector.handlers.previousElementSibling(element));
    var previousSiblings = Element.previousSiblings(element);
    return Object.isNumber(expression) ? previousSiblings[expression] :
      Selector.findElement(previousSiblings, expression, index);
  },

  next: function(element, expression, index) {
    element = $(element);
    if (arguments.length == 1) return $(Selector.handlers.nextElementSibling(element));
    var nextSiblings = Element.nextSiblings(element);
    return Object.isNumber(expression) ? nextSiblings[expression] :
      Selector.findElement(nextSiblings, expression, index);
  },


  select: function(element) {
    var args = Array.prototype.slice.call(arguments, 1);
    return Selector.findChildElements(element, args);
  },

  adjacent: function(element) {
    var args = Array.prototype.slice.call(arguments, 1);
    return Selector.findChildElements(element.parentNode, args).without(element);
  },

  identify: function(element) {
    element = $(element);
    var id = Element.readAttribute(element, 'id');
    if (id) return id;
    do { id = 'anonymous_element_' + Element.idCounter++ } while ($(id));
    Element.writeAttribute(element, 'id', id);
    return id;
  },

  readAttribute: (function(){

    var iframeGetAttributeThrowsError = (function(){
      var el = document.createElement('iframe'),
          isBuggy = false;

      document.documentElement.appendChild(el);
      try {
        el.getAttribute('type', 2);
      } catch(e) {
        isBuggy = true;
      }
      document.documentElement.removeChild(el);
      el = null;
      return isBuggy;
    })();

    return function(element, name) {
      element = $(element);
      if (iframeGetAttributeThrowsError &&
          name === 'type' &&
          element.tagName.toUpperCase() == 'IFRAME') {
        return element.getAttribute('type');
      }
      if (Prototype.Browser.IE) {
        var t = Element._attributeTranslations.read;
        if (t.values[name]) return t.values[name](element, name);
        if (t.names[name]) name = t.names[name];
        if (name.include(':')) {
          return (!element.attributes || !element.attributes[name]) ? null :
           element.attributes[name].value;
        }
      }
      return element.getAttribute(name);
    }
  })(),

  writeAttribute: function(element, name, value) {
    element = $(element);
    var attributes = { }, t = Element._attributeTranslations.write;

    if (typeof name == 'object') attributes = name;
    else attributes[name] = Object.isUndefined(value) ? true : value;

    for (var attr in attributes) {
      name = t.names[attr] || attr;
      value = attributes[attr];
      if (t.values[attr]) name = t.values[attr](element, value);
      if (value === false || value === null)
        element.removeAttribute(name);
      else if (value === true)
        element.setAttribute(name, name);
      else element.setAttribute(name, value);
    }
    return element;
  },

  getHeight: function(element) {
    return Element.getDimensions(element).height;
  },

  getWidth: function(element) {
    return Element.getDimensions(element).width;
  },

  classNames: function(element) {
    return new Element.ClassNames(element);
  },

  hasClassName: function(element, className) {
    if (!(element = $(element))) return;
    var elementClassName = element.className;
    return (elementClassName.length > 0 && (elementClassName == className ||
      new RegExp("(^|\\s)" + className + "(\\s|$)").test(elementClassName)));
  },

  addClassName: function(element, className) {
    if (!(element = $(element))) return;
    if (!Element.hasClassName(element, className))
      element.className += (element.className ? ' ' : '') + className;
    return element;
  },

  removeClassName: function(element, className) {
    if (!(element = $(element))) return;
    element.className = element.className.replace(
      new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip();
    return element;
  },

  toggleClassName: function(element, className) {
    if (!(element = $(element))) return;
    return Element[Element.hasClassName(element, className) ?
      'removeClassName' : 'addClassName'](element, className);
  },

  cleanWhitespace: function(element) {
    element = $(element);
    var node = element.firstChild;
    while (node) {
      var nextNode = node.nextSibling;
      if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
        element.removeChild(node);
      node = nextNode;
    }
    return element;
  },

  empty: function(element) {
    return $(element).innerHTML.blank();
  },

  descendantOf: function(element, ancestor) {
    element = $(element), ancestor = $(ancestor);

    if (element.compareDocumentPosition)
      return (element.compareDocumentPosition(ancestor) & 8) === 8;

    if (ancestor.contains)
      return ancestor.contains(element) && ancestor !== element;

    while (element = element.parentNode)
      if (element == ancestor) return true;

    return false;
  },

  scrollTo: function(element) {
    element = $(element);
    var pos = Element.cumulativeOffset(element);
    window.scrollTo(pos[0], pos[1]);
    return element;
  },

  getStyle: function(element, style) {
    element = $(element);
    style = style == 'float' ? 'cssFloat' : style.camelize();
    var value = element.style[style];
    if (!value || value == 'auto') {
      var css = document.defaultView.getComputedStyle(element, null);
      value = css ? css[style] : null;
    }
    if (style == 'opacity') return value ? parseFloat(value) : 1.0;
    return value == 'auto' ? null : value;
  },

  getOpacity: function(element) {
    return $(element).getStyle('opacity');
  },

  setStyle: function(element, styles) {
    element = $(element);
    var elementStyle = element.style, match;
    if (Object.isString(styles)) {
      element.style.cssText += ';' + styles;
      return styles.include('opacity') ?
        element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : element;
    }
    for (var property in styles)
      if (property == 'opacity') element.setOpacity(styles[property]);
      else
        elementStyle[(property == 'float' || property == 'cssFloat') ?
          (Object.isUndefined(elementStyle.styleFloat) ? 'cssFloat' : 'styleFloat') :
            property] = styles[property];

    return element;
  },

  setOpacity: function(element, value) {
    element = $(element);
    element.style.opacity = (value == 1 || value === '') ? '' :
      (value < 0.00001) ? 0 : value;
    return element;
  },

  getDimensions: function(element) {
    element = $(element);
    var display = Element.getStyle(element, 'display');
    if (display != 'none' && display != null) // Safari bug
      return {width: element.offsetWidth, height: element.offsetHeight};

    var els = element.style;
    var originalVisibility = els.visibility;
    var originalPosition = els.position;
    var originalDisplay = els.display;
    els.visibility = 'hidden';
    if (originalPosition != 'fixed') // Switching fixed to absolute causes issues in Safari
      els.position = 'absolute';
    els.display = 'block';
    var originalWidth = element.clientWidth;
    var originalHeight = element.clientHeight;
    els.display = originalDisplay;
    els.position = originalPosition;
    els.visibility = originalVisibility;
    return {width: originalWidth, height: originalHeight};
  },

  makePositioned: function(element) {
    element = $(element);
    var pos = Element.getStyle(element, 'position');
    if (pos == 'static' || !pos) {
      element._madePositioned = true;
      element.style.position = 'relative';
      if (Prototype.Browser.Opera) {
        element.style.top = 0;
        element.style.left = 0;
      }
    }
    return element;
  },

  undoPositioned: function(element) {
    element = $(element);
    if (element._madePositioned) {
      element._madePositioned = undefined;
      element.style.position =
        element.style.top =
        element.style.left =
        element.style.bottom =
        element.style.right = '';
    }
    return element;
  },

  makeClipping: function(element) {
    element = $(element);
    if (element._overflow) return element;
    element._overflow = Element.getStyle(element, 'overflow') || 'auto';
    if (element._overflow !== 'hidden')
      element.style.overflow = 'hidden';
    return element;
  },

  undoClipping: function(element) {
    element = $(element);
    if (!element._overflow) return element;
    element.style.overflow = element._overflow == 'auto' ? '' : element._overflow;
    element._overflow = null;
    return element;
  },

  cumulativeOffset: function(element) {
    var valueT = 0, valueL = 0;
    do {
      valueT += element.offsetTop  || 0;
      valueL += element.offsetLeft || 0;
      element = element.offsetParent;
    } while (element);
    return Element._returnOffset(valueL, valueT);
  },

  positionedOffset: function(element) {
    var valueT = 0, valueL = 0;
    do {
      valueT += element.offsetTop  || 0;
      valueL += element.offsetLeft || 0;
      element = element.offsetParent;
      if (element) {
        if (element.tagName.toUpperCase() == 'BODY') break;
        var p = Element.getStyle(element, 'position');
        if (p !== 'static') break;
      }
    } while (element);
    return Element._returnOffset(valueL, valueT);
  },

  absolutize: function(element) {
    element = $(element);
    if (Element.getStyle(element, 'position') == 'absolute') return element;

    var offsets = Element.positionedOffset(element);
    var top     = offsets[1];
    var left    = offsets[0];
    var width   = element.clientWidth;
    var height  = element.clientHeight;

    element._originalLeft   = left - parseFloat(element.style.left  || 0);
    element._originalTop    = top  - parseFloat(element.style.top || 0);
    element._originalWidth  = element.style.width;
    element._originalHeight = element.style.height;

    element.style.position = 'absolute';
    element.style.top    = top + 'px';
    element.style.left   = left + 'px';
    element.style.width  = width + 'px';
    element.style.height = height + 'px';
    return element;
  },

  relativize: function(element) {
    element = $(element);
    if (Element.getStyle(element, 'position') == 'relative') return element;

    element.style.position = 'relative';
    var top  = parseFloat(element.style.top  || 0) - (element._originalTop || 0);
    var left = parseFloat(element.style.left || 0) - (element._originalLeft || 0);

    element.style.top    = top + 'px';
    element.style.left   = left + 'px';
    element.style.height = element._originalHeight;
    element.style.width  = element._originalWidth;
    return element;
  },

  cumulativeScrollOffset: function(element) {
    var valueT = 0, valueL = 0;
    do {
      valueT += element.scrollTop  || 0;
      valueL += element.scrollLeft || 0;
      element = element.parentNode;
    } while (element);
    return Element._returnOffset(valueL, valueT);
  },

  getOffsetParent: function(element) {
    if (element.offsetParent) return $(element.offsetParent);
    if (element == document.body) return $(element);

    while ((element = element.parentNode) && element != document.body)
      if (Element.getStyle(element, 'position') != 'static')
        return $(element);

    return $(document.body);
  },

  viewportOffset: function(forElement) {
    var valueT = 0, valueL = 0;

    var element = forElement;
    do {
      valueT += element.offsetTop  || 0;
      valueL += element.offsetLeft || 0;

      if (element.offsetParent == document.body &&
        Element.getStyle(element, 'position') == 'absolute') break;

    } while (element = element.offsetParent);

    element = forElement;
    do {
      if (!Prototype.Browser.Opera || (element.tagName && (element.tagName.toUpperCase() == 'BODY'))) {
        valueT -= element.scrollTop  || 0;
        valueL -= element.scrollLeft || 0;
      }
    } while (element = element.parentNode);

    return Element._returnOffset(valueL, valueT);
  },

  clonePosition: function(element, source) {
    var options = Object.extend({
      setLeft:    true,
      setTop:     true,
      setWidth:   true,
      setHeight:  true,
      offsetTop:  0,
      offsetLeft: 0
    }, arguments[2] || { });

    source = $(source);
    var p = Element.viewportOffset(source);

    element = $(element);
    var delta = [0, 0];
    var parent = null;
    if (Element.getStyle(element, 'position') == 'absolute') {
      parent = Element.getOffsetParent(element);
      delta = Element.viewportOffset(parent);
    }

    if (parent == document.body) {
      delta[0] -= document.body.offsetLeft;
      delta[1] -= document.body.offsetTop;
    }

    if (options.setLeft)   element.style.left  = (p[0] - delta[0] + options.offsetLeft) + 'px';
    if (options.setTop)    element.style.top   = (p[1] - delta[1] + options.offsetTop) + 'px';
    if (options.setWidth)  element.style.width = source.offsetWidth + 'px';
    if (options.setHeight) element.style.height = source.offsetHeight + 'px';
    return element;
  }
};

Object.extend(Element.Methods, {
  getElementsBySelector: Element.Methods.select,

  childElements: Element.Methods.immediateDescendants
});

Element._attributeTranslations = {
  write: {
    names: {
      className: 'class',
      htmlFor:   'for'
    },
    values: { }
  }
};

if (Prototype.Browser.Opera) {
  Element.Methods.getStyle = Element.Methods.getStyle.wrap(
    function(proceed, element, style) {
      switch (style) {
        case 'left': case 'top': case 'right': case 'bottom':
          if (proceed(element, 'position') === 'static') return null;
        case 'height': case 'width':
          if (!Element.visible(element)) return null;

          var dim = parseInt(proceed(element, style), 10);

          if (dim !== element['offset' + style.capitalize()])
            return dim + 'px';

          var properties;
          if (style === 'height') {
            properties = ['border-top-width', 'padding-top',
             'padding-bottom', 'border-bottom-width'];
          }
          else {
            properties = ['border-left-width', 'padding-left',
             'padding-right', 'border-right-width'];
          }
          return properties.inject(dim, function(memo, property) {
            var val = proceed(element, property);
            return val === null ? memo : memo - parseInt(val, 10);
          }) + 'px';
        default: return proceed(element, style);
      }
    }
  );

  Element.Methods.readAttribute = Element.Methods.readAttribute.wrap(
    function(proceed, element, attribute) {
      if (attribute === 'title') return element.title;
      return proceed(element, attribute);
    }
  );
}

else if (Prototype.Browser.IE) {
  Element.Methods.getOffsetParent = Element.Methods.getOffsetParent.wrap(
    function(proceed, element) {
      element = $(element);
      try { element.offsetParent }
      catch(e) { return $(document.body) }
      var position = element.getStyle('position');
      if (position !== 'static') return proceed(element);
      element.setStyle({ position: 'relative' });
      var value = proceed(element);
      element.setStyle({ position: position });
      return value;
    }
  );

  $w('positionedOffset viewportOffset').each(function(method) {
    Element.Methods[method] = Element.Methods[method].wrap(
      function(proceed, element) {
        element = $(element);
        try { element.offsetParent }
        catch(e) { return Element._returnOffset(0,0) }
        var position = element.getStyle('position');
        if (position !== 'static') return proceed(element);
        var offsetParent = element.getOffsetParent();
        if (offsetParent && offsetParent.getStyle('position') === 'fixed')
          offsetParent.setStyle({ zoom: 1 });
        element.setStyle({ position: 'relative' });
        var value = proceed(element);
        element.setStyle({ position: position });
        return value;
      }
    );
  });

  Element.Methods.cumulativeOffset = Element.Methods.cumulativeOffset.wrap(
    function(proceed, element) {
      try { element.offsetParent }
      catch(e) { return Element._returnOffset(0,0) }
      return proceed(element);
    }
  );

  Element.Methods.getStyle = function(element, style) {
    element = $(element);
    style = (style == 'float' || style == 'cssFloat') ? 'styleFloat' : style.camelize();
    var value = element.style[style];
    if (!value && element.currentStyle) value = element.currentStyle[style];

    if (style == 'opacity') {
      if (value = (element.getStyle('filter') || '').match(/alpha\(opacity=(.*)\)/))
        if (value[1]) return parseFloat(value[1]) / 100;
      return 1.0;
    }

    if (value == 'auto') {
      if ((style == 'width' || style == 'height') && (element.getStyle('display') != 'none'))
        return element['offset' + style.capitalize()] + 'px';
      return null;
    }
    return value;
  };

  Element.Methods.setOpacity = function(element, value) {
    function stripAlpha(filter){
      return filter.replace(/alpha\([^\)]*\)/gi,'');
    }
    element = $(element);
    var currentStyle = element.currentStyle;
    if ((currentStyle && !currentStyle.hasLayout) ||
      (!currentStyle && element.style.zoom == 'normal'))
        element.style.zoom = 1;

    var filter = element.getStyle('filter'), style = element.style;
    if (value == 1 || value === '') {
      (filter = stripAlpha(filter)) ?
        style.filter = filter : style.removeAttribute('filter');
      return element;
    } else if (value < 0.00001) value = 0;
    style.filter = stripAlpha(filter) +
      'alpha(opacity=' + (value * 100) + ')';
    return element;
  };

  Element._attributeTranslations = (function(){

    var classProp = 'className';
    var forProp = 'for';

    var el = document.createElement('div');

    el.setAttribute(classProp, 'x');

    if (el.className !== 'x') {
      el.setAttribute('class', 'x');
      if (el.className === 'x') {
        classProp = 'class';
      }
    }
    el = null;

    el = document.createElement('label');
    el.setAttribute(forProp, 'x');
    if (el.htmlFor !== 'x') {
      el.setAttribute('htmlFor', 'x');
      if (el.htmlFor === 'x') {
        forProp = 'htmlFor';
      }
    }
    el = null;

    return {
      read: {
        names: {
          'class':      classProp,
          'className':  classProp,
          'for':        forProp,
          'htmlFor':    forProp
        },
        values: {
          _getAttr: function(element, attribute) {
            return element.getAttribute(attribute, 2);
          },
          _getAttrNode: function(element, attribute) {
            var node = element.getAttributeNode(attribute);
            return node ? node.value : "";
          },
          _getEv: (function(){

            var el = document.createElement('div');
            el.onclick = Prototype.emptyFunction;
            var value = el.getAttribute('onclick');
            var f;

            if (String(value).indexOf('{') > -1) {
              f = function(element, attribute) {
                attribute = element.getAttribute(attribute);
                if (!attribute) return null;
                attribute = attribute.toString();
                attribute = attribute.split('{')[1];
                attribute = attribute.split('}')[0];
                return attribute.strip();
              }
            }
            else if (value === '') {
              f = function(element, attribute) {
                attribute = element.getAttribute(attribute);
                if (!attribute) return null;
                return attribute.strip();
              }
            }
            el = null;
            return f;
          })(),
          _flag: function(element, attribute) {
            return $(element).hasAttribute(attribute) ? attribute : null;
          },
          style: function(element) {
            return element.style.cssText.toLowerCase();
          },
          title: function(element) {
            return element.title;
          }
        }
      }
    }
  })();

  Element._attributeTranslations.write = {
    names: Object.extend({
      cellpadding: 'cellPadding',
      cellspacing: 'cellSpacing'
    }, Element._attributeTranslations.read.names),
    values: {
      checked: function(element, value) {
        element.checked = !!value;
      },

      style: function(element, value) {
        element.style.cssText = value ? value : '';
      }
    }
  };

  Element._attributeTranslations.has = {};

  $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' +
      'encType maxLength readOnly longDesc frameBorder').each(function(attr) {
    Element._attributeTranslations.write.names[attr.toLowerCase()] = attr;
    Element._attributeTranslations.has[attr.toLowerCase()] = attr;
  });

  (function(v) {
    Object.extend(v, {
      href:        v._getAttr,
      src:         v._getAttr,
      type:        v._getAttr,
      action:      v._getAttrNode,
      disabled:    v._flag,
      checked:     v._flag,
      readonly:    v._flag,
      multiple:    v._flag,
      onload:      v._getEv,
      onunload:    v._getEv,
      onclick:     v._getEv,
      ondblclick:  v._getEv,
      onmousedown: v._getEv,
      onmouseup:   v._getEv,
      onmouseover: v._getEv,
      onmousemove: v._getEv,
      onmouseout:  v._getEv,
      onfocus:     v._getEv,
      onblur:      v._getEv,
      onkeypress:  v._getEv,
      onkeydown:   v._getEv,
      onkeyup:     v._getEv,
      onsubmit:    v._getEv,
      onreset:     v._getEv,
      onselect:    v._getEv,
      onchange:    v._getEv
    });
  })(Element._attributeTranslations.read.values);

  if (Prototype.BrowserFeatures.ElementExtensions) {
    (function() {
      function _descendants(element) {
        var nodes = element.getElementsByTagName('*'), results = [];
        for (var i = 0, node; node = nodes[i]; i++)
          if (node.tagName !== "!") // Filter out comment nodes.
            results.push(node);
        return results;
      }

      Element.Methods.down = function(element, expression, index) {
        element = $(element);
        if (arguments.length == 1) return element.firstDescendant();
        return Object.isNumber(expression) ? _descendants(element)[expression] :
          Element.select(element, expression)[index || 0];
      }
    })();
  }

}

else if (Prototype.Browser.Gecko && /rv:1\.8\.0/.test(navigator.userAgent)) {
  Element.Methods.setOpacity = function(element, value) {
    element = $(element);
    element.style.opacity = (value == 1) ? 0.999999 :
      (value === '') ? '' : (value < 0.00001) ? 0 : value;
    return element;
  };
}

else if (Prototype.Browser.WebKit) {
  Element.Methods.setOpacity = function(element, value) {
    element = $(element);
    element.style.opacity = (value == 1 || value === '') ? '' :
      (value < 0.00001) ? 0 : value;

    if (value == 1)
      if(element.tagName.toUpperCase() == 'IMG' && element.width) {
        element.width++; element.width--;
      } else try {
        var n = document.createTextNode(' ');
        element.appendChild(n);
        element.removeChild(n);
      } catch (e) { }

    return element;
  };

  Element.Methods.cumulativeOffset = function(element) {
    var valueT = 0, valueL = 0;
    do {
      valueT += element.offsetTop  || 0;
      valueL += element.offsetLeft || 0;
      if (element.offsetParent == document.body)
        if (Element.getStyle(element, 'position') == 'absolute') break;

      element = element.offsetParent;
    } while (element);

    return Element._returnOffset(valueL, valueT);
  };
}

if ('outerHTML' in document.documentElement) {
  Element.Methods.replace = function(element, content) {
    element = $(element);

    if (content && content.toElement) content = content.toElement();
    if (Object.isElement(content)) {
      element.parentNode.replaceChild(content, element);
      return element;
    }

    content = Object.toHTML(content);
    var parent = element.parentNode, tagName = parent.tagName.toUpperCase();

    if (Element._insertionTranslations.tags[tagName]) {
      var nextSibling = element.next();
      var fragments = Element._getContentFromAnonymousElement(tagName, content.stripScripts());
      parent.removeChild(element);
      if (nextSibling)
        fragments.each(function(node) { parent.insertBefore(node, nextSibling) });
      else
        fragments.each(function(node) { parent.appendChild(node) });
    }
    else element.outerHTML = content.stripScripts();

    content.evalScripts.bind(content).defer();
    return element;
  };
}

Element._returnOffset = function(l, t) {
  var result = [l, t];
  result.left = l;
  result.top = t;
  return result;
};

Element._getContentFromAnonymousElement = function(tagName, html) {
  var div = new Element('div'), t = Element._insertionTranslations.tags[tagName];
  if (t) {
    div.innerHTML = t[0] + html + t[1];
    t[2].times(function() { div = div.firstChild });
  } else div.innerHTML = html;
  return $A(div.childNodes);
};

Element._insertionTranslations = {
  before: function(element, node) {
    element.parentNode.insertBefore(node, element);
  },
  top: function(element, node) {
    element.insertBefore(node, element.firstChild);
  },
  bottom: function(element, node) {
    element.appendChild(node);
  },
  after: function(element, node) {
    element.parentNode.insertBefore(node, element.nextSibling);
  },
  tags: {
    TABLE:  ['<table>',                '</table>',                   1],
    TBODY:  ['<table><tbody>',         '</tbody></table>',           2],
    TR:     ['<table><tbody><tr>',     '</tr></tbody></table>',      3],
    TD:     ['<table><tbody><tr><td>', '</td></tr></tbody></table>', 4],
    SELECT: ['<select>',               '</select>',                  1]
  }
};

(function() {
  var tags = Element._insertionTranslations.tags;
  Object.extend(tags, {
    THEAD: tags.TBODY,
    TFOOT: tags.TBODY,
    TH:    tags.TD
  });
})();

Element.Methods.Simulated = {
  hasAttribute: function(element, attribute) {
    attribute = Element._attributeTranslations.has[attribute] || attribute;
    var node = $(element).getAttributeNode(attribute);
    return !!(node && node.specified);
  }
};

Element.Methods.ByTag = { };

Object.extend(Element, Element.Methods);

(function(div) {

  if (!Prototype.BrowserFeatures.ElementExtensions && div['__proto__']) {
    window.HTMLElement = { };
    window.HTMLElement.prototype = div['__proto__'];
    Prototype.BrowserFeatures.ElementExtensions = true;
  }

  div = null;

})(document.createElement('div'))

Element.extend = (function() {

  function checkDeficiency(tagName) {
    if (typeof window.Element != 'undefined') {
      var proto = window.Element.prototype;
      if (proto) {
        var id = '_' + (Math.random()+'').slice(2);
        var el = document.createElement(tagName);
        proto[id] = 'x';
        var isBuggy = (el[id] !== 'x');
        delete proto[id];
        el = null;
        return isBuggy;
      }
    }
    return false;
  }

  function extendElementWith(element, methods) {
    for (var property in methods) {
      var value = methods[property];
      if (Object.isFunction(value) && !(property in element))
        element[property] = value.methodize();
    }
  }

  var HTMLOBJECTELEMENT_PROTOTYPE_BUGGY = checkDeficiency('object');
  var HTMLAPPLETELEMENT_PROTOTYPE_BUGGY = checkDeficiency('applet');

  if (Prototype.BrowserFeatures.SpecificElementExtensions) {
    if (HTMLOBJECTELEMENT_PROTOTYPE_BUGGY &&
        HTMLAPPLETELEMENT_PROTOTYPE_BUGGY) {
      return function(element) {
        if (element && typeof element._extendedByPrototype == 'undefined') {
          var t = element.tagName;
          if (t && (/^(?:object|applet|embed)$/i.test(t))) {
            extendElementWith(element, Element.Methods);
            extendElementWith(element, Element.Methods.Simulated);
            extendElementWith(element, Element.Methods.ByTag[t.toUpperCase()]);
          }
        }
        return element;
      }
    }
    return Prototype.K;
  }

  var Methods = { }, ByTag = Element.Methods.ByTag;

  var extend = Object.extend(function(element) {
    if (!element || typeof element._extendedByPrototype != 'undefined' ||
        element.nodeType != 1 || element == window) return element;

    var methods = Object.clone(Methods),
        tagName = element.tagName.toUpperCase();

    if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]);

    extendElementWith(element, methods);

    element._extendedByPrototype = Prototype.emptyFunction;
    return element;

  }, {
    refresh: function() {
      if (!Prototype.BrowserFeatures.ElementExtensions) {
        Object.extend(Methods, Element.Methods);
        Object.extend(Methods, Element.Methods.Simulated);
      }
    }
  });

  extend.refresh();
  return extend;
})();

Element.hasAttribute = function(element, attribute) {
  if (element.hasAttribute) return element.hasAttribute(attribute);
  return Element.Methods.Simulated.hasAttribute(element, attribute);
};

Element.addMethods = function(methods) {
  var F = Prototype.BrowserFeatures, T = Element.Methods.ByTag;

  if (!methods) {
    Object.extend(Form, Form.Methods);
    Object.extend(Form.Element, Form.Element.Methods);
    Object.extend(Element.Methods.ByTag, {
      "FORM":     Object.clone(Form.Methods),
      "INPUT":    Object.clone(Form.Element.Methods),
      "SELECT":   Object.clone(Form.Element.Methods),
      "TEXTAREA": Object.clone(Form.Element.Methods)
    });
  }

  if (arguments.length == 2) {
    var tagName = methods;
    methods = arguments[1];
  }

  if (!tagName) Object.extend(Element.Methods, methods || { });
  else {
    if (Object.isArray(tagName)) tagName.each(extend);
    else extend(tagName);
  }

  function extend(tagName) {
    tagName = tagName.toUpperCase();
    if (!Element.Methods.ByTag[tagName])
      Element.Methods.ByTag[tagName] = { };
    Object.extend(Element.Methods.ByTag[tagName], methods);
  }

  function copy(methods, destination, onlyIfAbsent) {
    onlyIfAbsent = onlyIfAbsent || false;
    for (var property in methods) {
      var value = methods[property];
      if (!Object.isFunction(value)) continue;
      if (!onlyIfAbsent || !(property in destination))
        destination[property] = value.methodize();
    }
  }

  function findDOMClass(tagName) {
    var klass;
    var trans = {
      "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph",
      "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": "DList",
      "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": "Heading",
      "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote",
      "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", "CAPTION":
      "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD":
      "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", "TR":
      "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET":
      "FrameSet", "IFRAME": "IFrame"
    };
    if (trans[tagName]) klass = 'HTML' + trans[tagName] + 'Element';
    if (window[klass]) return window[klass];
    klass = 'HTML' + tagName + 'Element';
    if (window[klass]) return window[klass];
    klass = 'HTML' + tagName.capitalize() + 'Element';
    if (window[klass]) return window[klass];

    var element = document.createElement(tagName);
    var proto = element['__proto__'] || element.constructor.prototype;
    element = null;
    return proto;
  }

  var elementPrototype = window.HTMLElement ? HTMLElement.prototype :
   Element.prototype;

  if (F.ElementExtensions) {
    copy(Element.Methods, elementPrototype);
    copy(Element.Methods.Simulated, elementPrototype, true);
  }

  if (F.SpecificElementExtensions) {
    for (var tag in Element.Methods.ByTag) {
      var klass = findDOMClass(tag);
      if (Object.isUndefined(klass)) continue;
      copy(T[tag], klass.prototype);
    }
  }

  Object.extend(Element, Element.Methods);
  delete Element.ByTag;

  if (Element.extend.refresh) Element.extend.refresh();
  Element.cache = { };
};


document.viewport = {

  getDimensions: function() {
    return { width: this.getWidth(), height: this.getHeight() };
  },

  getScrollOffsets: function() {
    return Element._returnOffset(
      window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft,
      window.pageYOffset || document.documentElement.scrollTop  || document.body.scrollTop);
  }
};

(function(viewport) {
  var B = Prototype.Browser, doc = document, element, property = {};

  function getRootElement() {
    if (B.WebKit && !doc.evaluate)
      return document;

    if (B.Opera && window.parseFloat(window.opera.version()) < 9.5)
      return document.body;

    return document.documentElement;
  }

  function define(D) {
    if (!element) element = getRootElement();

    property[D] = 'client' + D;

    viewport['get' + D] = function() { return element[property[D]] };
    return viewport['get' + D]();
  }

  viewport.getWidth  = define.curry('Width');

  viewport.getHeight = define.curry('Height');
})(document.viewport);


Element.Storage = {
  UID: 1
};

Element.addMethods({
  getStorage: function(element) {
    if (!(element = $(element))) return;

    var uid;
    if (element === window) {
      uid = 0;
    } else {
      if (typeof element._prototypeUID === "undefined")
        element._prototypeUID = [Element.Storage.UID++];
      uid = element._prototypeUID[0];
    }

    if (!Element.Storage[uid])
      Element.Storage[uid] = $H();

    return Element.Storage[uid];
  },

  store: function(element, key, value) {
    if (!(element = $(element))) return;

    if (arguments.length === 2) {
      Element.getStorage(element).update(key);
    } else {
      Element.getStorage(element).set(key, value);
    }

    return element;
  },

  retrieve: function(element, key, defaultValue) {
    if (!(element = $(element))) return;
    var hash = Element.getStorage(element), value = hash.get(key);

    if (Object.isUndefined(value)) {
      hash.set(key, defaultValue);
      value = defaultValue;
    }

    return value;
  },

  clone: function(element, deep) {
    if (!(element = $(element))) return;
    var clone = element.cloneNode(deep);
    clone._prototypeUID = void 0;
    if (deep) {
      var descendants = Element.select(clone, '*'),
          i = descendants.length;
      while (i--) {
        descendants[i]._prototypeUID = void 0;
      }
    }
    return Element.extend(clone);
  }
});
/* Portions of the Selector class are derived from Jack Slocum's DomQuery,
 * part of YUI-Ext version 0.40, distributed under the terms of an MIT-style
 * license.  Please see http://www.yui-ext.com/ for more information. */

var Selector = Class.create({
  initialize: function(expression) {
    this.expression = expression.strip();

    if (this.shouldUseSelectorsAPI()) {
      this.mode = 'selectorsAPI';
    } else if (this.shouldUseXPath()) {
      this.mode = 'xpath';
      this.compileXPathMatcher();
    } else {
      this.mode = "normal";
      this.compileMatcher();
    }

  },

  shouldUseXPath: (function() {

    var IS_DESCENDANT_SELECTOR_BUGGY = (function(){
      var isBuggy = false;
      if (document.evaluate && window.XPathResult) {
        var el = document.createElement('div');
        el.innerHTML = '<ul><li></li></ul><div><ul><li></li></ul></div>';

        var xpath = ".//*[local-name()='ul' or local-name()='UL']" +
          "//*[local-name()='li' or local-name()='LI']";

        var result = document.evaluate(xpath, el, null,
          XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);

        isBuggy = (result.snapshotLength !== 2);
        el = null;
      }
      return isBuggy;
    })();

    return function() {
      if (!Prototype.BrowserFeatures.XPath) return false;

      var e = this.expression;

      if (Prototype.Browser.WebKit &&
       (e.include("-of-type") || e.include(":empty")))
        return false;

      if ((/(\[[\w-]*?:|:checked)/).test(e))
        return false;

      if (IS_DESCENDANT_SELECTOR_BUGGY) return false;

      return true;
    }

  })(),

  shouldUseSelectorsAPI: function() {
    if (!Prototype.BrowserFeatures.SelectorsAPI) return false;

    if (Selector.CASE_INSENSITIVE_CLASS_NAMES) return false;

    if (!Selector._div) Selector._div = new Element('div');

    try {
      Selector._div.querySelector(this.expression);
    } catch(e) {
      return false;
    }

    return true;
  },

  compileMatcher: function() {
    var e = this.expression, ps = Selector.patterns, h = Selector.handlers,
        c = Selector.criteria, le, p, m, len = ps.length, name;

    if (Selector._cache[e]) {
      this.matcher = Selector._cache[e];
      return;
    }

    this.matcher = ["this.matcher = function(root) {",
                    "var r = root, h = Selector.handlers, c = false, n;"];

    while (e && le != e && (/\S/).test(e)) {
      le = e;
      for (var i = 0; i<len; i++) {
        p = ps[i].re;
        name = ps[i].name;
        if (m = e.match(p)) {
          this.matcher.push(Object.isFunction(c[name]) ? c[name](m) :
            new Template(c[name]).evaluate(m));
          e = e.replace(m[0], '');
          break;
        }
      }
    }

    this.matcher.push("return h.unique(n);\n}");
    eval(this.matcher.join('\n'));
    Selector._cache[this.expression] = this.matcher;
  },

  compileXPathMatcher: function() {
    var e = this.expression, ps = Selector.patterns,
        x = Selector.xpath, le, m, len = ps.length, name;

    if (Selector._cache[e]) {
      this.xpath = Selector._cache[e]; return;
    }

    this.matcher = ['.//*'];
    while (e && le != e && (/\S/).test(e)) {
      le = e;
      for (var i = 0; i<len; i++) {
        name = ps[i].name;
        if (m = e.match(ps[i].re)) {
          this.matcher.push(Object.isFunction(x[name]) ? x[name](m) :
            new Template(x[name]).evaluate(m));
          e = e.replace(m[0], '');
          break;
        }
      }
    }

    this.xpath = this.matcher.join('');
    Selector._cache[this.expression] = this.xpath;
  },

  findElements: function(root) {
    root = root || document;
    var e = this.expression, results;

    switch (this.mode) {
      case 'selectorsAPI':
        if (root !== document) {
          var oldId = root.id, id = $(root).identify();
          id = id.replace(/[\.:]/g, "\\$0");
          e = "#" + id + " " + e;
        }

        results = $A(root.querySelectorAll(e)).map(Element.extend);
        root.id = oldId;

        return results;
      case 'xpath':
        return document._getElementsByXPath(this.xpath, root);
      default:
       return this.matcher(root);
    }
  },

  match: function(element) {
    this.tokens = [];

    var e = this.expression, ps = Selector.patterns, as = Selector.assertions;
    var le, p, m, len = ps.length, name;

    while (e && le !== e && (/\S/).test(e)) {
      le = e;
      for (var i = 0; i<len; i++) {
        p = ps[i].re;
        name = ps[i].name;
        if (m = e.match(p)) {
          if (as[name]) {
            this.tokens.push([name, Object.clone(m)]);
            e = e.replace(m[0], '');
          } else {
            return this.findElements(document).include(element);
          }
        }
      }
    }

    var match = true, name, matches;
    for (var i = 0, token; token = this.tokens[i]; i++) {
      name = token[0], matches = token[1];
      if (!Selector.assertions[name](element, matches)) {
        match = false; break;
      }
    }

    return match;
  },

  toString: function() {
    return this.expression;
  },

  inspect: function() {
    return "#<Selector:" + this.expression.inspect() + ">";
  }
});

if (Prototype.BrowserFeatures.SelectorsAPI &&
 document.compatMode === 'BackCompat') {
  Selector.CASE_INSENSITIVE_CLASS_NAMES = (function(){
    var div = document.createElement('div'),
     span = document.createElement('span');

    div.id = "prototype_test_id";
    span.className = 'Test';
    div.appendChild(span);
    var isIgnored = (div.querySelector('#prototype_test_id .test') !== null);
    div = span = null;
    return isIgnored;
  })();
}

Object.extend(Selector, {
  _cache: { },

  xpath: {
    descendant:   "//*",
    child:        "/*",
    adjacent:     "/following-sibling::*[1]",
    laterSibling: '/following-sibling::*',
    tagName:      function(m) {
      if (m[1] == '*') return '';
      return "[local-name()='" + m[1].toLowerCase() +
             "' or local-name()='" + m[1].toUpperCase() + "']";
    },
    className:    "[contains(concat(' ', @class, ' '), ' #{1} ')]",
    id:           "[@id='#{1}']",
    attrPresence: function(m) {
      m[1] = m[1].toLowerCase();
      return new Template("[@#{1}]").evaluate(m);
    },
    attr: function(m) {
      m[1] = m[1].toLowerCase();
      m[3] = m[5] || m[6];
      return new Template(Selector.xpath.operators[m[2]]).evaluate(m);
    },
    pseudo: function(m) {
      var h = Selector.xpath.pseudos[m[1]];
      if (!h) return '';
      if (Object.isFunction(h)) return h(m);
      return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);
    },
    operators: {
      '=':  "[@#{1}='#{3}']",
      '!=': "[@#{1}!='#{3}']",
      '^=': "[starts-with(@#{1}, '#{3}')]",
      '$=': "[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']",
      '*=': "[contains(@#{1}, '#{3}')]",
      '~=': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",
      '|=': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]"
    },
    pseudos: {
      'first-child': '[not(preceding-sibling::*)]',
      'last-child':  '[not(following-sibling::*)]',
      'only-child':  '[not(preceding-sibling::* or following-sibling::*)]',
      'empty':       "[count(*) = 0 and (count(text()) = 0)]",
      'checked':     "[@checked]",
      'disabled':    "[(@disabled) and (@type!='hidden')]",
      'enabled':     "[not(@disabled) and (@type!='hidden')]",
      'not': function(m) {
        var e = m[6], p = Selector.patterns,
            x = Selector.xpath, le, v, len = p.length, name;

        var exclusion = [];
        while (e && le != e && (/\S/).test(e)) {
          le = e;
          for (var i = 0; i<len; i++) {
            name = p[i].name
            if (m = e.match(p[i].re)) {
              v = Object.isFunction(x[name]) ? x[name](m) : new Template(x[name]).evaluate(m);
              exclusion.push("(" + v.substring(1, v.length - 1) + ")");
              e = e.replace(m[0], '');
              break;
            }
          }
        }
        return "[not(" + exclusion.join(" and ") + ")]";
      },
      'nth-child':      function(m) {
        return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m);
      },
      'nth-last-child': function(m) {
        return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m);
      },
      'nth-of-type':    function(m) {
        return Selector.xpath.pseudos.nth("position() ", m);
      },
      'nth-last-of-type': function(m) {
        return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", m);
      },
      'first-of-type':  function(m) {
        m[6] = "1"; return Selector.xpath.pseudos['nth-of-type'](m);
      },
      'last-of-type':   function(m) {
        m[6] = "1"; return Selector.xpath.pseudos['nth-last-of-type'](m);
      },
      'only-of-type':   function(m) {
        var p = Selector.xpath.pseudos; return p['first-of-type'](m) + p['last-of-type'](m);
      },
      nth: function(fragment, m) {
        var mm, formula = m[6], predicate;
        if (formula == 'even') formula = '2n+0';
        if (formula == 'odd')  formula = '2n+1';
        if (mm = formula.match(/^(\d+)$/)) // digit only
          return '[' + fragment + "= " + mm[1] + ']';
        if (mm = formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b
          if (mm[1] == "-") mm[1] = -1;
          var a = mm[1] ? Number(mm[1]) : 1;
          var b = mm[2] ? Number(mm[2]) : 0;
          predicate = "[((#{fragment} - #{b}) mod #{a} = 0) and " +
          "((#{fragment} - #{b}) div #{a} >= 0)]";
          return new Template(predicate).evaluate({
            fragment: fragment, a: a, b: b });
        }
      }
    }
  },

  criteria: {
    tagName:      'n = h.tagName(n, r, "#{1}", c);      c = false;',
    className:    'n = h.className(n, r, "#{1}", c);    c = false;',
    id:           'n = h.id(n, r, "#{1}", c);           c = false;',
    attrPresence: 'n = h.attrPresence(n, r, "#{1}", c); c = false;',
    attr: function(m) {
      m[3] = (m[5] || m[6]);
      return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}", c); c = false;').evaluate(m);
    },
    pseudo: function(m) {
      if (m[6]) m[6] = m[6].replace(/"/g, '\\"');
      return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(m);
    },
    descendant:   'c = "descendant";',
    child:        'c = "child";',
    adjacent:     'c = "adjacent";',
    laterSibling: 'c = "laterSibling";'
  },

  patterns: [
    { name: 'laterSibling', re: /^\s*~\s*/ },
    { name: 'child',        re: /^\s*>\s*/ },
    { name: 'adjacent',     re: /^\s*\+\s*/ },
    { name: 'descendant',   re: /^\s/ },

    { name: 'tagName',      re: /^\s*(\*|[\w\-]+)(\b|$)?/ },
    { name: 'id',           re: /^#([\w\-\*]+)(\b|$)/ },
    { name: 'className',    re: /^\.([\w\-\*]+)(\b|$)/ },
    { name: 'pseudo',       re: /^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|(?=\s|[:+~>]))/ },
    { name: 'attrPresence', re: /^\[((?:[\w-]+:)?[\w-]+)\]/ },
    { name: 'attr',         re: /\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\4]*?)\4|([^'"][^\]]*?)))?\]/ }
  ],

  assertions: {
    tagName: function(element, matches) {
      return matches[1].toUpperCase() == element.tagName.toUpperCase();
    },

    className: function(element, matches) {
      return Element.hasClassName(element, matches[1]);
    },

    id: function(element, matches) {
      return element.id === matches[1];
    },

    attrPresence: function(element, matches) {
      return Element.hasAttribute(element, matches[1]);
    },

    attr: function(element, matches) {
      var nodeValue = Element.readAttribute(element, matches[1]);
      return nodeValue && Selector.operators[matches[2]](nodeValue, matches[5] || matches[6]);
    }
  },

  handlers: {
    concat: function(a, b) {
      for (var i = 0, node; node = b[i]; i++)
        a.push(node);
      return a;
    },

    mark: function(nodes) {
      var _true = Prototype.emptyFunction;
      for (var i = 0, node; node = nodes[i]; i++)
        node._countedByPrototype = _true;
      return nodes;
    },

    unmark: (function(){

      var PROPERTIES_ATTRIBUTES_MAP = (function(){
        var el = document.createElement('div'),
            isBuggy = false,
            propName = '_countedByPrototype',
            value = 'x'
        el[propName] = value;
        isBuggy = (el.getAttribute(propName) === value);
        el = null;
        return isBuggy;
      })();

      return PROPERTIES_ATTRIBUTES_MAP ?
        function(nodes) {
          for (var i = 0, node; node = nodes[i]; i++)
            node.removeAttribute('_countedByPrototype');
          return nodes;
        } :
        function(nodes) {
          for (var i = 0, node; node = nodes[i]; i++)
            node._countedByPrototype = void 0;
          return nodes;
        }
    })(),

    index: function(parentNode, reverse, ofType) {
      parentNode._countedByPrototype = Prototype.emptyFunction;
      if (reverse) {
        for (var nodes = parentNode.childNodes, i = nodes.length - 1, j = 1; i >= 0; i--) {
          var node = nodes[i];
          if (node.nodeType == 1 && (!ofType || node._countedByPrototype)) node.nodeIndex = j++;
        }
      } else {
        for (var i = 0, j = 1, nodes = parentNode.childNodes; node = nodes[i]; i++)
          if (node.nodeType == 1 && (!ofType || node._countedByPrototype)) node.nodeIndex = j++;
      }
    },

    unique: function(nodes) {
      if (nodes.length == 0) return nodes;
      var results = [], n;
      for (var i = 0, l = nodes.length; i < l; i++)
        if (typeof (n = nodes[i])._countedByPrototype == 'undefined') {
          n._countedByPrototype = Prototype.emptyFunction;
          results.push(Element.extend(n));
        }
      return Selector.handlers.unmark(results);
    },

    descendant: function(nodes) {
      var h = Selector.handlers;
      for (var i = 0, results = [], node; node = nodes[i]; i++)
        h.concat(results, node.getElementsByTagName('*'));
      return results;
    },

    child: function(nodes) {
      var h = Selector.handlers;
      for (var i = 0, results = [], node; node = nodes[i]; i++) {
        for (var j = 0, child; child = node.childNodes[j]; j++)
          if (child.nodeType == 1 && child.tagName != '!') results.push(child);
      }
      return results;
    },

    adjacent: function(nodes) {
      for (var i = 0, results = [], node; node = nodes[i]; i++) {
        var next = this.nextElementSibling(node);
        if (next) results.push(next);
      }
      return results;
    },

    laterSibling: function(nodes) {
      var h = Selector.handlers;
      for (var i = 0, results = [], node; node = nodes[i]; i++)
        h.concat(results, Element.nextSiblings(node));
      return results;
    },

    nextElementSibling: function(node) {
      while (node = node.nextSibling)
        if (node.nodeType == 1) return node;
      return null;
    },

    previousElementSibling: function(node) {
      while (node = node.previousSibling)
        if (node.nodeType == 1) return node;
      return null;
    },

    tagName: function(nodes, root, tagName, combinator) {
      var uTagName = tagName.toUpperCase();
      var results = [], h = Selector.handlers;
      if (nodes) {
        if (combinator) {
          if (combinator == "descendant") {
            for (var i = 0, node; node = nodes[i]; i++)
              h.concat(results, node.getElementsByTagName(tagName));
            return results;
          } else nodes = this[combinator](nodes);
          if (tagName == "*") return nodes;
        }
        for (var i = 0, node; node = nodes[i]; i++)
          if (node.tagName.toUpperCase() === uTagName) results.push(node);
        return results;
      } else return root.getElementsByTagName(tagName);
    },

    id: function(nodes, root, id, combinator) {
      var targetNode = $(id), h = Selector.handlers;

      if (root == document) {
        if (!targetNode) return [];
        if (!nodes) return [targetNode];
      } else {
        if (!root.sourceIndex || root.sourceIndex < 1) {
          var nodes = root.getElementsByTagName('*');
          for (var j = 0, node; node = nodes[j]; j++) {
            if (node.id === id) return [node];
          }
        }
      }

      if (nodes) {
        if (combinator) {
          if (combinator == 'child') {
            for (var i = 0, node; node = nodes[i]; i++)
              if (targetNode.parentNode == node) return [targetNode];
          } else if (combinator == 'descendant') {
            for (var i = 0, node; node = nodes[i]; i++)
              if (Element.descendantOf(targetNode, node)) return [targetNode];
          } else if (combinator == 'adjacent') {
            for (var i = 0, node; node = nodes[i]; i++)
              if (Selector.handlers.previousElementSibling(targetNode) == node)
                return [targetNode];
          } else nodes = h[combinator](nodes);
        }
        for (var i = 0, node; node = nodes[i]; i++)
          if (node == targetNode) return [targetNode];
        return [];
      }
      return (targetNode && Element.descendantOf(targetNode, root)) ? [targetNode] : [];
    },

    className: function(nodes, root, className, combinator) {
      if (nodes && combinator) nodes = this[combinator](nodes);
      return Selector.handlers.byClassName(nodes, root, className);
    },

    byClassName: function(nodes, root, className) {
      if (!nodes) nodes = Selector.handlers.descendant([root]);
      var needle = ' ' + className + ' ';
      for (var i = 0, results = [], node, nodeClassName; node = nodes[i]; i++) {
        nodeClassName = node.className;
        if (nodeClassName.length == 0) continue;
        if (nodeClassName == className || (' ' + nodeClassName + ' ').include(needle))
          results.push(node);
      }
      return results;
    },

    attrPresence: function(nodes, root, attr, combinator) {
      if (!nodes) nodes = root.getElementsByTagName("*");
      if (nodes && combinator) nodes = this[combinator](nodes);
      var results = [];
      for (var i = 0, node; node = nodes[i]; i++)
        if (Element.hasAttribute(node, attr)) results.push(node);
      return results;
    },

    attr: function(nodes, root, attr, value, operator, combinator) {
      if (!nodes) nodes = root.getElementsByTagName("*");
      if (nodes && combinator) nodes = this[combinator](nodes);
      var handler = Selector.operators[operator], results = [];
      for (var i = 0, node; node = nodes[i]; i++) {
        var nodeValue = Element.readAttribute(node, attr);
        if (nodeValue === null) continue;
        if (handler(nodeValue, value)) results.push(node);
      }
      return results;
    },

    pseudo: function(nodes, name, value, root, combinator) {
      if (nodes && combinator) nodes = this[combinator](nodes);
      if (!nodes) nodes = root.getElementsByTagName("*");
      return Selector.pseudos[name](nodes, value, root);
    }
  },

  pseudos: {
    'first-child': function(nodes, value, root) {
      for (var i = 0, results = [], node; node = nodes[i]; i++) {
        if (Selector.handlers.previousElementSibling(node)) continue;
          results.push(node);
      }
      return results;
    },
    'last-child': function(nodes, value, root) {
      for (var i = 0, results = [], node; node = nodes[i]; i++) {
        if (Selector.handlers.nextElementSibling(node)) continue;
          results.push(node);
      }
      return results;
    },
    'only-child': function(nodes, value, root) {
      var h = Selector.handlers;
      for (var i = 0, results = [], node; node = nodes[i]; i++)
        if (!h.previousElementSibling(node) && !h.nextElementSibling(node))
          results.push(node);
      return results;
    },
    'nth-child':        function(nodes, formula, root) {
      return Selector.pseudos.nth(nodes, formula, root);
    },
    'nth-last-child':   function(nodes, formula, root) {
      return Selector.pseudos.nth(nodes, formula, root, true);
    },
    'nth-of-type':      function(nodes, formula, root) {
      return Selector.pseudos.nth(nodes, formula, root, false, true);
    },
    'nth-last-of-type': function(nodes, formula, root) {
      return Selector.pseudos.nth(nodes, formula, root, true, true);
    },
    'first-of-type':    function(nodes, formula, root) {
      return Selector.pseudos.nth(nodes, "1", root, false, true);
    },
    'last-of-type':     function(nodes, formula, root) {
      return Selector.pseudos.nth(nodes, "1", root, true, true);
    },
    'only-of-type':     function(nodes, formula, root) {
      var p = Selector.pseudos;
      return p['last-of-type'](p['first-of-type'](nodes, formula, root), formula, root);
    },

    getIndices: function(a, b, total) {
      if (a == 0) return b > 0 ? [b] : [];
      return $R(1, total).inject([], function(memo, i) {
        if (0 == (i - b) % a && (i - b) / a >= 0) memo.push(i);
        return memo;
      });
    },

    nth: function(nodes, formula, root, reverse, ofType) {
      if (nodes.length == 0) return [];
      if (formula == 'even') formula = '2n+0';
      if (formula == 'odd')  formula = '2n+1';
      var h = Selector.handlers, results = [], indexed = [], m;
      h.mark(nodes);
      for (var i = 0, node; node = nodes[i]; i++) {
        if (!node.parentNode._countedByPrototype) {
          h.index(node.parentNode, reverse, ofType);
          indexed.push(node.parentNode);
        }
      }
      if (formula.match(/^\d+$/)) { // just a number
        formula = Number(formula);
        for (var i = 0, node; node = nodes[i]; i++)
          if (node.nodeIndex == formula) results.push(node);
      } else if (m = formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b
        if (m[1] == "-") m[1] = -1;
        var a = m[1] ? Number(m[1]) : 1;
        var b = m[2] ? Number(m[2]) : 0;
        var indices = Selector.pseudos.getIndices(a, b, nodes.length);
        for (var i = 0, node, l = indices.length; node = nodes[i]; i++) {
          for (var j = 0; j < l; j++)
            if (node.nodeIndex == indices[j]) results.push(node);
        }
      }
      h.unmark(nodes);
      h.unmark(indexed);
      return results;
    },

    'empty': function(nodes, value, root) {
      for (var i = 0, results = [], node; node = nodes[i]; i++) {
        if (node.tagName == '!' || node.firstChild) continue;
        results.push(node);
      }
      return results;
    },

    'not': function(nodes, selector, root) {
      var h = Selector.handlers, selectorType, m;
      var exclusions = new Selector(selector).findElements(root);
      h.mark(exclusions);
      for (var i = 0, results = [], node; node = nodes[i]; i++)
        if (!node._countedByPrototype) results.push(node);
      h.unmark(exclusions);
      return results;
    },

    'enabled': function(nodes, value, root) {
      for (var i = 0, results = [], node; node = nodes[i]; i++)
        if (!node.disabled && (!node.type || node.type !== 'hidden'))
          results.push(node);
      return results;
    },

    'disabled': function(nodes, value, root) {
      for (var i = 0, results = [], node; node = nodes[i]; i++)
        if (node.disabled) results.push(node);
      return results;
    },

    'checked': function(nodes, value, root) {
      for (var i = 0, results = [], node; node = nodes[i]; i++)
        if (node.checked) results.push(node);
      return results;
    }
  },

  operators: {
    '=':  function(nv, v) { return nv == v; },
    '!=': function(nv, v) { return nv != v; },
    '^=': function(nv, v) { return nv == v || nv && nv.startsWith(v); },
    '$=': function(nv, v) { return nv == v || nv && nv.endsWith(v); },
    '*=': function(nv, v) { return nv == v || nv && nv.include(v); },
    '~=': function(nv, v) { return (' ' + nv + ' ').include(' ' + v + ' '); },
    '|=': function(nv, v) { return ('-' + (nv || "").toUpperCase() +
     '-').include('-' + (v || "").toUpperCase() + '-'); }
  },

  split: function(expression) {
    var expressions = [];
    expression.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, function(m) {
      expressions.push(m[1].strip());
    });
    return expressions;
  },

  matchElements: function(elements, expression) {
    var matches = $$(expression), h = Selector.handlers;
    h.mark(matches);
    for (var i = 0, results = [], element; element = elements[i]; i++)
      if (element._countedByPrototype) results.push(element);
    h.unmark(matches);
    return results;
  },

  findElement: function(elements, expression, index) {
    if (Object.isNumber(expression)) {
      index = expression; expression = false;
    }
    return Selector.matchElements(elements, expression || '*')[index || 0];
  },

  findChildElements: function(element, expressions) {
    expressions = Selector.split(expressions.join(','));
    var results = [], h = Selector.handlers;
    for (var i = 0, l = expressions.length, selector; i < l; i++) {
      selector = new Selector(expressions[i].strip());
      h.concat(results, selector.findElements(element));
    }
    return (l > 1) ? h.unique(results) : results;
  }
});

if (Prototype.Browser.IE) {
  Object.extend(Selector.handlers, {
    concat: function(a, b) {
      for (var i = 0, node; node = b[i]; i++)
        if (node.tagName !== "!") a.push(node);
      return a;
    }
  });
}

function $$() {
  return Selector.findChildElements(document, $A(arguments));
}

var Form = {
  reset: function(form) {
    form = $(form);
    form.reset();
    return form;
  },

  serializeElements: function(elements, options) {
    if (typeof options != 'object') options = { hash: !!options };
    else if (Object.isUndefined(options.hash)) options.hash = true;
    var key, value, submitted = false, submit = options.submit;

    var data = elements.inject({ }, function(result, element) {
      if (!element.disabled && element.name) {
        key = element.name; value = $(element).getValue();
        if (value != null && element.type != 'file' && (element.type != 'submit' || (!submitted &&
            submit !== false && (!submit || key == submit) && (submitted = true)))) {
          if (key in result) {
            if (!Object.isArray(result[key])) result[key] = [result[key]];
            result[key].push(value);
          }
          else result[key] = value;
        }
      }
      return result;
    });

    return options.hash ? data : Object.toQueryString(data);
  }
};

Form.Methods = {
  serialize: function(form, options) {
    return Form.serializeElements(Form.getElements(form), options);
  },

  getElements: function(form) {
    var elements = $(form).getElementsByTagName('*'),
        element,
        arr = [ ],
        serializers = Form.Element.Serializers;
    for (var i = 0; element = elements[i]; i++) {
      arr.push(element);
    }
    return arr.inject([], function(elements, child) {
      if (serializers[child.tagName.toLowerCase()])
        elements.push(Element.extend(child));
      return elements;
    })
  },

  getInputs: function(form, typeName, name) {
    form = $(form);
    var inputs = form.getElementsByTagName('input');

    if (!typeName && !name) return $A(inputs).map(Element.extend);

    for (var i = 0, matchingInputs = [], length = inputs.length; i < length; i++) {
      var input = inputs[i];
      if ((typeName && input.type != typeName) || (name && input.name != name))
        continue;
      matchingInputs.push(Element.extend(input));
    }

    return matchingInputs;
  },

  disable: function(form) {
    form = $(form);
    Form.getElements(form).invoke('disable');
    return form;
  },

  enable: function(form) {
    form = $(form);
    Form.getElements(form).invoke('enable');
    return form;
  },

  findFirstElement: function(form) {
    var elements = $(form).getElements().findAll(function(element) {
      return 'hidden' != element.type && !element.disabled;
    });
    var firstByIndex = elements.findAll(function(element) {
      return element.hasAttribute('tabIndex') && element.tabIndex >= 0;
    }).sortBy(function(element) { return element.tabIndex }).first();

    return firstByIndex ? firstByIndex : elements.find(function(element) {
      return /^(?:input|select|textarea)$/i.test(element.tagName);
    });
  },

  focusFirstElement: function(form) {
    form = $(form);
    form.findFirstElement().activate();
    return form;
  },

  request: function(form, options) {
    form = $(form), options = Object.clone(options || { });

    var params = options.parameters, action = form.readAttribute('action') || '';
    if (action.blank()) action = window.location.href;
    options.parameters = form.serialize(true);

    if (params) {
      if (Object.isString(params)) params = params.toQueryParams();
      Object.extend(options.parameters, params);
    }

    if (form.hasAttribute('method') && !options.method)
      options.method = form.method;

    return new Ajax.Request(action, options);
  }
};

/*--------------------------------------------------------------------------*/


Form.Element = {
  focus: function(element) {
    $(element).focus();
    return element;
  },

  select: function(element) {
    $(element).select();
    return element;
  }
};

Form.Element.Methods = {

  serialize: function(element) {
    element = $(element);
    if (!element.disabled && element.name) {
      var value = element.getValue();
      if (value != undefined) {
        var pair = { };
        pair[element.name] = value;
        return Object.toQueryString(pair);
      }
    }
    return '';
  },

  getValue: function(element) {
    element = $(element);
    var method = element.tagName.toLowerCase();
    return Form.Element.Serializers[method](element);
  },

  setValue: function(element, value) {
    element = $(element);
    var method = element.tagName.toLowerCase();
    Form.Element.Serializers[method](element, value);
    return element;
  },

  clear: function(element) {
    $(element).value = '';
    return element;
  },

  present: function(element) {
    return $(element).value != '';
  },

  activate: function(element) {
    element = $(element);
    try {
      element.focus();
      if (element.select && (element.tagName.toLowerCase() != 'input' ||
          !(/^(?:button|reset|submit)$/i.test(element.type))))
        element.select();
    } catch (e) { }
    return element;
  },

  disable: function(element) {
    element = $(element);
    element.disabled = true;
    return element;
  },

  enable: function(element) {
    element = $(element);
    element.disabled = false;
    return element;
  }
};

/*--------------------------------------------------------------------------*/

var Field = Form.Element;

var $F = Form.Element.Methods.getValue;

/*--------------------------------------------------------------------------*/

Form.Element.Serializers = {
  input: function(element, value) {
    switch (element.type.toLowerCase()) {
      case 'checkbox':
      case 'radio':
        return Form.Element.Serializers.inputSelector(element, value);
      default:
        return Form.Element.Serializers.textarea(element, value);
    }
  },

  inputSelector: function(element, value) {
    if (Object.isUndefined(value)) return element.checked ? element.value : null;
    else element.checked = !!value;
  },

  textarea: function(element, value) {
    if (Object.isUndefined(value)) return element.value;
    else element.value = value;
  },

  select: function(element, value) {
    if (Object.isUndefined(value))
      return this[element.type == 'select-one' ?
        'selectOne' : 'selectMany'](element);
    else {
      var opt, currentValue, single = !Object.isArray(value);
      for (var i = 0, length = element.length; i < length; i++) {
        opt = element.options[i];
        currentValue = this.optionValue(opt);
        if (single) {
          if (currentValue == value) {
            opt.selected = true;
            return;
          }
        }
        else opt.selected = value.include(currentValue);
      }
    }
  },

  selectOne: function(element) {
    var index = element.selectedIndex;
    return index >= 0 ? this.optionValue(element.options[index]) : null;
  },

  selectMany: function(element) {
    var values, length = element.length;
    if (!length) return null;

    for (var i = 0, values = []; i < length; i++) {
      var opt = element.options[i];
      if (opt.selected) values.push(this.optionValue(opt));
    }
    return values;
  },

  optionValue: function(opt) {
    return Element.extend(opt).hasAttribute('value') ? opt.value : opt.text;
  }
};

/*--------------------------------------------------------------------------*/


Abstract.TimedObserver = Class.create(PeriodicalExecuter, {
  initialize: function($super, element, frequency, callback) {
    $super(callback, frequency);
    this.element   = $(element);
    this.lastValue = this.getValue();
  },

  execute: function() {
    var value = this.getValue();
    if (Object.isString(this.lastValue) && Object.isString(value) ?
        this.lastValue != value : String(this.lastValue) != String(value)) {
      this.callback(this.element, value);
      this.lastValue = value;
    }
  }
});

Form.Element.Observer = Class.create(Abstract.TimedObserver, {
  getValue: function() {
    return Form.Element.getValue(this.element);
  }
});

Form.Observer = Class.create(Abstract.TimedObserver, {
  getValue: function() {
    return Form.serialize(this.element);
  }
});

/*--------------------------------------------------------------------------*/

Abstract.EventObserver = Class.create({
  initialize: function(element, callback) {
    this.element  = $(element);
    this.callback = callback;

    this.lastValue = this.getValue();
    if (this.element.tagName.toLowerCase() == 'form')
      this.registerFormCallbacks();
    else
      this.registerCallback(this.element);
  },

  onElementEvent: function() {
    var value = this.getValue();
    if (this.lastValue != value) {
      this.callback(this.element, value);
      this.lastValue = value;
    }
  },

  registerFormCallbacks: function() {
    Form.getElements(this.element).each(this.registerCallback, this);
  },

  registerCallback: function(element) {
    if (element.type) {
      switch (element.type.toLowerCase()) {
        case 'checkbox':
        case 'radio':
          Event.observe(element, 'click', this.onElementEvent.bind(this));
          break;
        default:
          Event.observe(element, 'change', this.onElementEvent.bind(this));
          break;
      }
    }
  }
});

Form.Element.EventObserver = Class.create(Abstract.EventObserver, {
  getValue: function() {
    return Form.Element.getValue(this.element);
  }
});

Form.EventObserver = Class.create(Abstract.EventObserver, {
  getValue: function() {
    return Form.serialize(this.element);
  }
});
(function() {

  var Event = {
    KEY_BACKSPACE: 8,
    KEY_TAB:       9,
    KEY_RETURN:   13,
    KEY_ESC:      27,
    KEY_LEFT:     37,
    KEY_UP:       38,
    KEY_RIGHT:    39,
    KEY_DOWN:     40,
    KEY_DELETE:   46,
    KEY_HOME:     36,
    KEY_END:      35,
    KEY_PAGEUP:   33,
    KEY_PAGEDOWN: 34,
    KEY_INSERT:   45,

    cache: {}
  };

  var docEl = document.documentElement;
  var MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED = 'onmouseenter' in docEl
    && 'onmouseleave' in docEl;

  var _isButton;
  if (Prototype.Browser.IE) {
    var buttonMap = { 0: 1, 1: 4, 2: 2 };
    _isButton = function(event, code) {
      return event.button === buttonMap[code];
    };
  } else if (Prototype.Browser.WebKit) {
    _isButton = function(event, code) {
      switch (code) {
        case 0: return event.which == 1 && !event.metaKey;
        case 1: return event.which == 1 && event.metaKey;
        default: return false;
      }
    };
  } else {
    _isButton = function(event, code) {
      return event.which ? (event.which === code + 1) : (event.button === code);
    };
  }

  function isLeftClick(event)   { return _isButton(event, 0) }

  function isMiddleClick(event) { return _isButton(event, 1) }

  function isRightClick(event)  { return _isButton(event, 2) }

  function element(event) {
    event = Event.extend(event);

    var node = event.target, type = event.type,
     currentTarget = event.currentTarget;

    if (currentTarget && currentTarget.tagName) {
      if (type === 'load' || type === 'error' ||
        (type === 'click' && currentTarget.tagName.toLowerCase() === 'input'
          && currentTarget.type === 'radio'))
            node = currentTarget;
    }

    if (node.nodeType == Node.TEXT_NODE)
      node = node.parentNode;

    return Element.extend(node);
  }

  function findElement(event, expression) {
    var element = Event.element(event);
    if (!expression) return element;
    var elements = [element].concat(element.ancestors());
    return Selector.findElement(elements, expression, 0);
  }

  function pointer(event) {
    return { x: pointerX(event), y: pointerY(event) };
  }

  function pointerX(event) {
    var docElement = document.documentElement,
     body = document.body || { scrollLeft: 0 };

    return event.pageX || (event.clientX +
      (docElement.scrollLeft || body.scrollLeft) -
      (docElement.clientLeft || 0));
  }

  function pointerY(event) {
    var docElement = document.documentElement,
     body = document.body || { scrollTop: 0 };

    return  event.pageY || (event.clientY +
       (docElement.scrollTop || body.scrollTop) -
       (docElement.clientTop || 0));
  }


  function stop(event) {
    Event.extend(event);
    event.preventDefault();
    event.stopPropagation();

    event.stopped = true;
  }

  Event.Methods = {
    isLeftClick: isLeftClick,
    isMiddleClick: isMiddleClick,
    isRightClick: isRightClick,

    element: element,
    findElement: findElement,

    pointer: pointer,
    pointerX: pointerX,
    pointerY: pointerY,

    stop: stop
  };


  var methods = Object.keys(Event.Methods).inject({ }, function(m, name) {
    m[name] = Event.Methods[name].methodize();
    return m;
  });

  if (Prototype.Browser.IE) {
    function _relatedTarget(event) {
      var element;
      switch (event.type) {
        case 'mouseover': element = event.fromElement; break;
        case 'mouseout':  element = event.toElement;   break;
        default: return null;
      }
      return Element.extend(element);
    }

    Object.extend(methods, {
      stopPropagation: function() { this.cancelBubble = true },
      preventDefault:  function() { this.returnValue = false },
      inspect: function() { return '[object Event]' }
    });

    Event.extend = function(event, element) {
      if (!event) return false;
      if (event._extendedByPrototype) return event;

      event._extendedByPrototype = Prototype.emptyFunction;
      var pointer = Event.pointer(event);

      Object.extend(event, {
        target: event.srcElement || element,
        relatedTarget: _relatedTarget(event),
        pageX:  pointer.x,
        pageY:  pointer.y
      });

      return Object.extend(event, methods);
    };
  } else {
    Event.prototype = window.Event.prototype || document.createEvent('HTMLEvents').__proto__;
    Object.extend(Event.prototype, methods);
    Event.extend = Prototype.K;
  }

  function _createResponder(element, eventName, handler) {
    var registry = Element.retrieve(element, 'prototype_event_registry');

    if (Object.isUndefined(registry)) {
      CACHE.push(element);
      registry = Element.retrieve(element, 'prototype_event_registry', $H());
    }

    var respondersForEvent = registry.get(eventName);
    if (Object.isUndefined(respondersForEvent)) {
      respondersForEvent = [];
      registry.set(eventName, respondersForEvent);
    }

    if (respondersForEvent.pluck('handler').include(handler)) return false;

    var responder;
    if (eventName.include(":")) {
      responder = function(event) {
        if (Object.isUndefined(event.eventName))
          return false;

        if (event.eventName !== eventName)
          return false;

        Event.extend(event, element);
        handler.call(element, event);
      };
    } else {
      if (!MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED &&
       (eventName === "mouseenter" || eventName === "mouseleave")) {
        if (eventName === "mouseenter" || eventName === "mouseleave") {
          responder = function(event) {
            Event.extend(event, element);

            var parent = event.relatedTarget;
            while (parent && parent !== element) {
              try { parent = parent.parentNode; }
              catch(e) { parent = element; }
            }

            if (parent === element) return;

            handler.call(element, event);
          };
        }
      } else {
        responder = function(event) {
          Event.extend(event, element);
          handler.call(element, event);
        };
      }
    }

    responder.handler = handler;
    respondersForEvent.push(responder);
    return responder;
  }

  function _destroyCache() {
    for (var i = 0, length = CACHE.length; i < length; i++) {
      Event.stopObserving(CACHE[i]);
      CACHE[i] = null;
    }
  }

  var CACHE = [];

  if (Prototype.Browser.IE)
    window.attachEvent('onunload', _destroyCache);

  if (Prototype.Browser.WebKit)
    window.addEventListener('unload', Prototype.emptyFunction, false);


  var _getDOMEventName = Prototype.K;

  if (!MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED) {
    _getDOMEventName = function(eventName) {
      var translations = { mouseenter: "mouseover", mouseleave: "mouseout" };
      return eventName in translations ? translations[eventName] : eventName;
    };
  }

  function observe(element, eventName, handler) {
    element = $(element);

    var responder = _createResponder(element, eventName, handler);

    if (!responder) return element;

    if (eventName.include(':')) {
      if (element.addEventListener)
        element.addEventListener("dataavailable", responder, false);
      else {
        element.attachEvent("ondataavailable", responder);
        element.attachEvent("onfilterchange", responder);
      }
    } else {
      var actualEventName = _getDOMEventName(eventName);

      if (element.addEventListener)
        element.addEventListener(actualEventName, responder, false);
      else
        element.attachEvent("on" + actualEventName, responder);
    }

    return element;
  }

  function stopObserving(element, eventName, handler) {
    element = $(element);

    var registry = Element.retrieve(element, 'prototype_event_registry');

    if (Object.isUndefined(registry)) return element;

    if (eventName && !handler) {
      var responders = registry.get(eventName);

      if (Object.isUndefined(responders)) return element;

      responders.each( function(r) {
        Element.stopObserving(element, eventName, r.handler);
      });
      return element;
    } else if (!eventName) {
      registry.each( function(pair) {
        var eventName = pair.key, responders = pair.value;

        responders.each( function(r) {
          Element.stopObserving(element, eventName, r.handler);
        });
      });
      return element;
    }

    var responders = registry.get(eventName);

    if (!responders) return;

    var responder = responders.find( function(r) { return r.handler === handler; });
    if (!responder) return element;

    var actualEventName = _getDOMEventName(eventName);

    if (eventName.include(':')) {
      if (element.removeEventListener)
        element.removeEventListener("dataavailable", responder, false);
      else {
        element.detachEvent("ondataavailable", responder);
        element.detachEvent("onfilterchange",  responder);
      }
    } else {
      if (element.removeEventListener)
        element.removeEventListener(actualEventName, responder, false);
      else
        element.detachEvent('on' + actualEventName, responder);
    }

    registry.set(eventName, responders.without(responder));

    return element;
  }

  function fire(element, eventName, memo, bubble) {
    element = $(element);

    if (Object.isUndefined(bubble))
      bubble = true;

    if (element == document && document.createEvent && !element.dispatchEvent)
      element = document.documentElement;

    var event;
    if (document.createEvent) {
      event = document.createEvent('HTMLEvents');
      event.initEvent('dataavailable', true, true);
    } else {
      event = document.createEventObject();
      event.eventType = bubble ? 'ondataavailable' : 'onfilterchange';
    }

    event.eventName = eventName;
    event.memo = memo || { };

    if (document.createEvent)
      element.dispatchEvent(event);
    else
      element.fireEvent(event.eventType, event);

    return Event.extend(event);
  }


  Object.extend(Event, Event.Methods);

  Object.extend(Event, {
    fire:          fire,
    observe:       observe,
    stopObserving: stopObserving
  });

  Element.addMethods({
    fire:          fire,

    observe:       observe,

    stopObserving: stopObserving
  });

  Object.extend(document, {
    fire:          fire.methodize(),

    observe:       observe.methodize(),

    stopObserving: stopObserving.methodize(),

    loaded:        false
  });

  if (window.Event) Object.extend(window.Event, Event);
  else window.Event = Event;
})();

(function() {
  /* Support for the DOMContentLoaded event is based on work by Dan Webb,
     Matthias Miller, Dean Edwards, John Resig, and Diego Perini. */

  var timer;

  function fireContentLoadedEvent() {
    if (document.loaded) return;
    if (timer) window.clearTimeout(timer);
    document.loaded = true;
    document.fire('dom:loaded');
  }

  function checkReadyState() {
    if (document.readyState === 'complete') {
      document.stopObserving('readystatechange', checkReadyState);
      fireContentLoadedEvent();
    }
  }

  function pollDoScroll() {
    try { document.documentElement.doScroll('left'); }
    catch(e) {
      timer = pollDoScroll.defer();
      return;
    }
    fireContentLoadedEvent();
  }

  if (document.addEventListener) {
    document.addEventListener('DOMContentLoaded', fireContentLoadedEvent, false);
  } else {
    document.observe('readystatechange', checkReadyState);
    if (window == top)
      timer = pollDoScroll.defer();
  }

  Event.observe(window, 'load', fireContentLoadedEvent);
})();

Element.addMethods();

/*------------------------------- DEPRECATED -------------------------------*/

Hash.toQueryString = Object.toQueryString;

var Toggle = { display: Element.toggle };

Element.Methods.childOf = Element.Methods.descendantOf;

var Insertion = {
  Before: function(element, content) {
    return Element.insert(element, {before:content});
  },

  Top: function(element, content) {
    return Element.insert(element, {top:content});
  },

  Bottom: function(element, content) {
    return Element.insert(element, {bottom:content});
  },

  After: function(element, content) {
    return Element.insert(element, {after:content});
  }
};

var $continue = new Error('"throw $continue" is deprecated, use "return" instead');

var Position = {
  includeScrollOffsets: false,

  prepare: function() {
    this.deltaX =  window.pageXOffset
                || document.documentElement.scrollLeft
                || document.body.scrollLeft
                || 0;
    this.deltaY =  window.pageYOffset
                || document.documentElement.scrollTop
                || document.body.scrollTop
                || 0;
  },

  within: function(element, x, y) {
    if (this.includeScrollOffsets)
      return this.withinIncludingScrolloffsets(element, x, y);
    this.xcomp = x;
    this.ycomp = y;
    this.offset = Element.cumulativeOffset(element);

    return (y >= this.offset[1] &&
            y <  this.offset[1] + element.offsetHeight &&
            x >= this.offset[0] &&
            x <  this.offset[0] + element.offsetWidth);
  },

  withinIncludingScrolloffsets: function(element, x, y) {
    var offsetcache = Element.cumulativeScrollOffset(element);

    this.xcomp = x + offsetcache[0] - this.deltaX;
    this.ycomp = y + offsetcache[1] - this.deltaY;
    this.offset = Element.cumulativeOffset(element);

    return (this.ycomp >= this.offset[1] &&
            this.ycomp <  this.offset[1] + element.offsetHeight &&
            this.xcomp >= this.offset[0] &&
            this.xcomp <  this.offset[0] + element.offsetWidth);
  },

  overlap: function(mode, element) {
    if (!mode) return 0;
    if (mode == 'vertical')
      return ((this.offset[1] + element.offsetHeight) - this.ycomp) /
        element.offsetHeight;
    if (mode == 'horizontal')
      return ((this.offset[0] + element.offsetWidth) - this.xcomp) /
        element.offsetWidth;
  },


  cumulativeOffset: Element.Methods.cumulativeOffset,

  positionedOffset: Element.Methods.positionedOffset,

  absolutize: function(element) {
    Position.prepare();
    return Element.absolutize(element);
  },

  relativize: function(element) {
    Position.prepare();
    return Element.relativize(element);
  },

  realOffset: Element.Methods.cumulativeScrollOffset,

  offsetParent: Element.Methods.getOffsetParent,

  page: Element.Methods.viewportOffset,

  clone: function(source, target, options) {
    options = options || { };
    return Element.clonePosition(target, source, options);
  }
};

/*--------------------------------------------------------------------------*/

if (!document.getElementsByClassName) document.getElementsByClassName = function(instanceMethods){
  function iter(name) {
    return name.blank() ? null : "[contains(concat(' ', @class, ' '), ' " + name + " ')]";
  }

  instanceMethods.getElementsByClassName = Prototype.BrowserFeatures.XPath ?
  function(element, className) {
    className = className.toString().strip();
    var cond = /\s/.test(className) ? $w(className).map(iter).join('') : iter(className);
    return cond ? document._getElementsByXPath('.//*' + cond, element) : [];
  } : function(element, className) {
    className = className.toString().strip();
    var elements = [], classNames = (/\s/.test(className) ? $w(className) : null);
    if (!classNames && !className) return elements;

    var nodes = $(element).getElementsByTagName('*');
    className = ' ' + className + ' ';

    for (var i = 0, child, cn; child = nodes[i]; i++) {
      if (child.className && (cn = ' ' + child.className + ' ') && (cn.include(className) ||
          (classNames && classNames.all(function(name) {
            return !name.toString().blank() && cn.include(' ' + name + ' ');
          }))))
        elements.push(Element.extend(child));
    }
    return elements;
  };

  return function(className, parentElement) {
    return $(parentElement || document.body).getElementsByClassName(className);
  };
}(Element.Methods);

/*--------------------------------------------------------------------------*/

Element.ClassNames = Class.create();
Element.ClassNames.prototype = {
  initialize: function(element) {
    this.element = $(element);
  },

  _each: function(iterator) {
    this.element.className.split(/\s+/).select(function(name) {
      return name.length > 0;
    })._each(iterator);
  },

  set: function(className) {
    this.element.className = className;
  },

  add: function(classNameToAdd) {
    if (this.include(classNameToAdd)) return;
    this.set($A(this).concat(classNameToAdd).join(' '));
  },

  remove: function(classNameToRemove) {
    if (!this.include(classNameToRemove)) return;
    this.set($A(this).without(classNameToRemove).join(' '));
  },

  toString: function() {
    return $A(this).join(' ');
  }
};

Object.extend(Element.ClassNames.prototype, Enumerable);

/*--------------------------------------------------------------------------*/


String.prototype.parseColor = function() {
  var color = '#';
  if (this.slice(0,4) == 'rgb(') {
    var cols = this.slice(4,this.length-1).split(',');
    var i=0; do { color += parseInt(cols[i]).toColorPart() } while (++i<3);
  } else {
    if (this.slice(0,1) == '#') {
      if (this.length==4) for(var i=1;i<4;i++) color += (this.charAt(i) + this.charAt(i)).toLowerCase();
      if (this.length==7) color = this.toLowerCase();
    }
  }
  return (color.length==7 ? color : (arguments[0] || this));
};

/*--------------------------------------------------------------------------*/

Element.collectTextNodes = function(element) {
  return $A($(element).childNodes).collect( function(node) {
    return (node.nodeType==3 ? node.nodeValue :
      (node.hasChildNodes() ? Element.collectTextNodes(node) : ''));
  }).flatten().join('');
};

Element.collectTextNodesIgnoreClass = function(element, className) {
  return $A($(element).childNodes).collect( function(node) {
    return (node.nodeType==3 ? node.nodeValue :
      ((node.hasChildNodes() && !Element.hasClassName(node,className)) ?
        Element.collectTextNodesIgnoreClass(node, className) : ''));
  }).flatten().join('');
};

Element.setContentZoom = function(element, percent) {
  element = $(element);
  element.setStyle({fontSize: (percent/100) + 'em'});
  if (Prototype.Browser.WebKit) window.scrollBy(0,0);
  return element;
};

Element.getInlineOpacity = function(element){
  return $(element).style.opacity || '';
};

Element.forceRerendering = function(element) {
  try {
    element = $(element);
    var n = document.createTextNode(' ');
    element.appendChild(n);
    element.removeChild(n);
  } catch(e) { }
};

/*--------------------------------------------------------------------------*/

var Effect = {
  _elementDoesNotExistError: {
    name: 'ElementDoesNotExistError',
    message: 'The specified DOM element does not exist, but is required for this effect to operate'
  },
  Transitions: {
    linear: Prototype.K,
    sinoidal: function(pos) {
      return (-Math.cos(pos*Math.PI)/2) + .5;
    },
    reverse: function(pos) {
      return 1-pos;
    },
    flicker: function(pos) {
      var pos = ((-Math.cos(pos*Math.PI)/4) + .75) + Math.random()/4;
      return pos > 1 ? 1 : pos;
    },
    wobble: function(pos) {
      return (-Math.cos(pos*Math.PI*(9*pos))/2) + .5;
    },
    pulse: function(pos, pulses) {
      return (-Math.cos((pos*((pulses||5)-.5)*2)*Math.PI)/2) + .5;
    },
    spring: function(pos) {
      return 1 - (Math.cos(pos * 4.5 * Math.PI) * Math.exp(-pos * 6));
    },
    none: function(pos) {
      return 0;
    },
    full: function(pos) {
      return 1;
    }
  },
  DefaultOptions: {
    duration:   1.0,   // seconds
    fps:        100,   // 100= assume 66fps max.
    sync:       false, // true for combining
    from:       0.0,
    to:         1.0,
    delay:      0.0,
    queue:      'parallel'
  },
  tagifyText: function(element) {
    var tagifyStyle = 'position:relative';
    if (Prototype.Browser.IE) tagifyStyle += ';zoom:1';

    element = $(element);
    $A(element.childNodes).each( function(child) {
      if (child.nodeType==3) {
        child.nodeValue.toArray().each( function(character) {
          element.insertBefore(
            new Element('span', {style: tagifyStyle}).update(
              character == ' ' ? String.fromCharCode(160) : character),
              child);
        });
        Element.remove(child);
      }
    });
  },
  multiple: function(element, effect) {
    var elements;
    if (((typeof element == 'object') ||
        Object.isFunction(element)) &&
       (element.length))
      elements = element;
    else
      elements = $(element).childNodes;

    var options = Object.extend({
      speed: 0.1,
      delay: 0.0
    }, arguments[2] || { });
    var masterDelay = options.delay;

    $A(elements).each( function(element, index) {
      new effect(element, Object.extend(options, { delay: index * options.speed + masterDelay }));
    });
  },
  PAIRS: {
    'slide':  ['SlideDown','SlideUp'],
    'blind':  ['BlindDown','BlindUp'],
    'appear': ['Appear','Fade']
  },
  toggle: function(element, effect) {
    element = $(element);
    effect = (effect || 'appear').toLowerCase();
    var options = Object.extend({
      queue: { position:'end', scope:(element.id || 'global'), limit: 1 }
    }, arguments[2] || { });
    Effect[element.visible() ?
      Effect.PAIRS[effect][1] : Effect.PAIRS[effect][0]](element, options);
  }
};

Effect.DefaultOptions.transition = Effect.Transitions.sinoidal;

/* ------------- core effects ------------- */

Effect.ScopedQueue = Class.create(Enumerable, {
  initialize: function() {
    this.effects  = [];
    this.interval = null;
  },
  _each: function(iterator) {
    this.effects._each(iterator);
  },
  add: function(effect) {
    var timestamp = new Date().getTime();

    var position = Object.isString(effect.options.queue) ?
      effect.options.queue : effect.options.queue.position;

    switch(position) {
      case 'front':
        this.effects.findAll(function(e){ return e.state=='idle' }).each( function(e) {
            e.startOn  += effect.finishOn;
            e.finishOn += effect.finishOn;
          });
        break;
      case 'with-last':
        timestamp = this.effects.pluck('startOn').max() || timestamp;
        break;
      case 'end':
        timestamp = this.effects.pluck('finishOn').max() || timestamp;
        break;
    }

    effect.startOn  += timestamp;
    effect.finishOn += timestamp;

    if (!effect.options.queue.limit || (this.effects.length < effect.options.queue.limit))
      this.effects.push(effect);

    if (!this.interval)
      this.interval = setInterval(this.loop.bind(this), 15);
  },
  remove: function(effect) {
    this.effects = this.effects.reject(function(e) { return e==effect });
    if (this.effects.length == 0) {
      clearInterval(this.interval);
      this.interval = null;
    }
  },
  loop: function() {
    var timePos = new Date().getTime();
    for(var i=0, len=this.effects.length;i<len;i++)
      this.effects[i] && this.effects[i].loop(timePos);
  }
});

Effect.Queues = {
  instances: $H(),
  get: function(queueName) {
    if (!Object.isString(queueName)) return queueName;

    return this.instances.get(queueName) ||
      this.instances.set(queueName, new Effect.ScopedQueue());
  }
};
Effect.Queue = Effect.Queues.get('global');

Effect.Base = Class.create({
  position: null,
  start: function(options) {
    function codeForEvent(options,eventName){
      return (
        (options[eventName+'Internal'] ? 'this.options.'+eventName+'Internal(this);' : '') +
        (options[eventName] ? 'this.options.'+eventName+'(this);' : '')
      );
    }
    if (options && options.transition === false) options.transition = Effect.Transitions.linear;
    this.options      = Object.extend(Object.extend({ },Effect.DefaultOptions), options || { });
    this.currentFrame = 0;
    this.state        = 'idle';
    this.startOn      = this.options.delay*1000;
    this.finishOn     = this.startOn+(this.options.duration*1000);
    this.fromToDelta  = this.options.to-this.options.from;
    this.totalTime    = this.finishOn-this.startOn;
    this.totalFrames  = this.options.fps*this.options.duration;

    this.render = (function() {
      function dispatch(effect, eventName) {
        if (effect.options[eventName + 'Internal'])
          effect.options[eventName + 'Internal'](effect);
        if (effect.options[eventName])
          effect.options[eventName](effect);
      }

      return function(pos) {
        if (this.state === "idle") {
          this.state = "running";
          dispatch(this, 'beforeSetup');
          if (this.setup) this.setup();
          dispatch(this, 'afterSetup');
        }
        if (this.state === "running") {
          pos = (this.options.transition(pos) * this.fromToDelta) + this.options.from;
          this.position = pos;
          dispatch(this, 'beforeUpdate');
          if (this.update) this.update(pos);
          dispatch(this, 'afterUpdate');
        }
      };
    })();

    this.event('beforeStart');
    if (!this.options.sync)
      Effect.Queues.get(Object.isString(this.options.queue) ?
        'global' : this.options.queue.scope).add(this);
  },
  loop: function(timePos) {
    if (timePos >= this.startOn) {
      if (timePos >= this.finishOn) {
        this.render(1.0);
        this.cancel();
        this.event('beforeFinish');
        if (this.finish) this.finish();
        this.event('afterFinish');
        return;
      }
      var pos   = (timePos - this.startOn) / this.totalTime,
          frame = (pos * this.totalFrames).round();
      if (frame > this.currentFrame) {
        this.render(pos);
        this.currentFrame = frame;
      }
    }
  },
  cancel: function() {
    if (!this.options.sync)
      Effect.Queues.get(Object.isString(this.options.queue) ?
        'global' : this.options.queue.scope).remove(this);
    this.state = 'finished';
  },
  event: function(eventName) {
    if (this.options[eventName + 'Internal']) this.options[eventName + 'Internal'](this);
    if (this.options[eventName]) this.options[eventName](this);
  },
  inspect: function() {
    var data = $H();
    for(property in this)
      if (!Object.isFunction(this[property])) data.set(property, this[property]);
    return '#<Effect:' + data.inspect() + ',options:' + $H(this.options).inspect() + '>';
  }
});

Effect.Parallel = Class.create(Effect.Base, {
  initialize: function(effects) {
    this.effects = effects || [];
    this.start(arguments[1]);
  },
  update: function(position) {
    this.effects.invoke('render', position);
  },
  finish: function(position) {
    this.effects.each( function(effect) {
      effect.render(1.0);
      effect.cancel();
      effect.event('beforeFinish');
      if (effect.finish) effect.finish(position);
      effect.event('afterFinish');
    });
  }
});

Effect.Tween = Class.create(Effect.Base, {
  initialize: function(object, from, to) {
    object = Object.isString(object) ? $(object) : object;
    var args = $A(arguments), method = args.last(),
      options = args.length == 5 ? args[3] : null;
    this.method = Object.isFunction(method) ? method.bind(object) :
      Object.isFunction(object[method]) ? object[method].bind(object) :
      function(value) { object[method] = value };
    this.start(Object.extend({ from: from, to: to }, options || { }));
  },
  update: function(position) {
    this.method(position);
  }
});

Effect.Event = Class.create(Effect.Base, {
  initialize: function() {
    this.start(Object.extend({ duration: 0 }, arguments[0] || { }));
  },
  update: Prototype.emptyFunction
});

Effect.Opacity = Class.create(Effect.Base, {
  initialize: function(element) {
    this.element = $(element);
    if (!this.element) throw(Effect._elementDoesNotExistError);
    if (Prototype.Browser.IE && (!this.element.currentStyle.hasLayout))
      this.element.setStyle({zoom: 1});
    var options = Object.extend({
      from: this.element.getOpacity() || 0.0,
      to:   1.0
    }, arguments[1] || { });
    this.start(options);
  },
  update: function(position) {
    this.element.setOpacity(position);
  }
});

Effect.Move = Class.create(Effect.Base, {
  initialize: function(element) {
    this.element = $(element);
    if (!this.element) throw(Effect._elementDoesNotExistError);
    var options = Object.extend({
      x:    0,
      y:    0,
      mode: 'relative'
    }, arguments[1] || { });
    this.start(options);
  },
  setup: function() {
    this.element.makePositioned();
    this.originalLeft = parseFloat(this.element.getStyle('left') || '0');
    this.originalTop  = parseFloat(this.element.getStyle('top')  || '0');
    if (this.options.mode == 'absolute') {
      this.options.x = this.options.x - this.originalLeft;
      this.options.y = this.options.y - this.originalTop;
    }
  },
  update: function(position) {
    this.element.setStyle({
      left: (this.options.x  * position + this.originalLeft).round() + 'px',
      top:  (this.options.y  * position + this.originalTop).round()  + 'px'
    });
  }
});

Effect.MoveBy = function(element, toTop, toLeft) {
  return new Effect.Move(element,
    Object.extend({ x: toLeft, y: toTop }, arguments[3] || { }));
};

Effect.Scale = Class.create(Effect.Base, {
  initialize: function(element, percent) {
    this.element = $(element);
    if (!this.element) throw(Effect._elementDoesNotExistError);
    var options = Object.extend({
      scaleX: true,
      scaleY: true,
      scaleContent: true,
      scaleFromCenter: false,
      scaleMode: 'box',        // 'box' or 'contents' or { } with provided values
      scaleFrom: 100.0,
      scaleTo:   percent
    }, arguments[2] || { });
    this.start(options);
  },
  setup: function() {
    this.restoreAfterFinish = this.options.restoreAfterFinish || false;
    this.elementPositioning = this.element.getStyle('position');

    this.originalStyle = { };
    ['top','left','width','height','fontSize'].each( function(k) {
      this.originalStyle[k] = this.element.style[k];
    }.bind(this));

    this.originalTop  = this.element.offsetTop;
    this.originalLeft = this.element.offsetLeft;

    var fontSize = this.element.getStyle('font-size') || '100%';
    ['em','px','%','pt'].each( function(fontSizeType) {
      if (fontSize.indexOf(fontSizeType)>0) {
        this.fontSize     = parseFloat(fontSize);
        this.fontSizeType = fontSizeType;
      }
    }.bind(this));

    this.factor = (this.options.scaleTo - this.options.scaleFrom)/100;

    this.dims = null;
    if (this.options.scaleMode=='box')
      this.dims = [this.element.offsetHeight, this.element.offsetWidth];
    if (/^content/.test(this.options.scaleMode))
      this.dims = [this.element.scrollHeight, this.element.scrollWidth];
    if (!this.dims)
      this.dims = [this.options.scaleMode.originalHeight,
                   this.options.scaleMode.originalWidth];
  },
  update: function(position) {
    var currentScale = (this.options.scaleFrom/100.0) + (this.factor * position);
    if (this.options.scaleContent && this.fontSize)
      this.element.setStyle({fontSize: this.fontSize * currentScale + this.fontSizeType });
    this.setDimensions(this.dims[0] * currentScale, this.dims[1] * currentScale);
  },
  finish: function(position) {
    if (this.restoreAfterFinish) this.element.setStyle(this.originalStyle);
  },
  setDimensions: function(height, width) {
    var d = { };
    if (this.options.scaleX) d.width = width.round() + 'px';
    if (this.options.scaleY) d.height = height.round() + 'px';
    if (this.options.scaleFromCenter) {
      var topd  = (height - this.dims[0])/2;
      var leftd = (width  - this.dims[1])/2;
      if (this.elementPositioning == 'absolute') {
        if (this.options.scaleY) d.top = this.originalTop-topd + 'px';
        if (this.options.scaleX) d.left = this.originalLeft-leftd + 'px';
      } else {
        if (this.options.scaleY) d.top = -topd + 'px';
        if (this.options.scaleX) d.left = -leftd + 'px';
      }
    }
    this.element.setStyle(d);
  }
});

Effect.Highlight = Class.create(Effect.Base, {
  initialize: function(element) {
    this.element = $(element);
    if (!this.element) throw(Effect._elementDoesNotExistError);
    var options = Object.extend({ startcolor: '#ffff99' }, arguments[1] || { });
    this.start(options);
  },
  setup: function() {
    if (this.element.getStyle('display')=='none') { this.cancel(); return; }
    this.oldStyle = { };
    if (!this.options.keepBackgroundImage) {
      this.oldStyle.backgroundImage = this.element.getStyle('background-image');
      this.element.setStyle({backgroundImage: 'none'});
    }
    if (!this.options.endcolor)
      this.options.endcolor = this.element.getStyle('background-color').parseColor('#ffffff');
    if (!this.options.restorecolor)
      this.options.restorecolor = this.element.getStyle('background-color');
    this._base  = $R(0,2).map(function(i){ return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16) }.bind(this));
    this._delta = $R(0,2).map(function(i){ return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i] }.bind(this));
  },
  update: function(position) {
    this.element.setStyle({backgroundColor: $R(0,2).inject('#',function(m,v,i){
      return m+((this._base[i]+(this._delta[i]*position)).round().toColorPart()); }.bind(this)) });
  },
  finish: function() {
    this.element.setStyle(Object.extend(this.oldStyle, {
      backgroundColor: this.options.restorecolor
    }));
  }
});

Effect.ScrollTo = function(element) {
  var options = arguments[1] || { },
  scrollOffsets = document.viewport.getScrollOffsets(),
  elementOffsets = $(element).cumulativeOffset();

  if (options.offset) elementOffsets[1] += options.offset;

  return new Effect.Tween(null,
    scrollOffsets.top,
    elementOffsets[1],
    options,
    function(p){ scrollTo(scrollOffsets.left, p.round()); }
  );
};

/* ------------- combination effects ------------- */

Effect.Fade = function(element) {
  element = $(element);
  var oldOpacity = element.getInlineOpacity();
  var options = Object.extend({
    from: element.getOpacity() || 1.0,
    to:   0.0,
    afterFinishInternal: function(effect) {
      if (effect.options.to!=0) return;
      effect.element.hide().setStyle({opacity: oldOpacity});
    }
  }, arguments[1] || { });
  return new Effect.Opacity(element,options);
};

Effect.Appear = function(element) {
  element = $(element);
  var options = Object.extend({
  from: (element.getStyle('display') == 'none' ? 0.0 : element.getOpacity() || 0.0),
  to:   1.0,
  afterFinishInternal: function(effect) {
    effect.element.forceRerendering();
  },
  beforeSetup: function(effect) {
    effect.element.setOpacity(effect.options.from).show();
  }}, arguments[1] || { });
  return new Effect.Opacity(element,options);
};

Effect.Puff = function(element) {
  element = $(element);
  var oldStyle = {
    opacity: element.getInlineOpacity(),
    position: element.getStyle('position'),
    top:  element.style.top,
    left: element.style.left,
    width: element.style.width,
    height: element.style.height
  };
  return new Effect.Parallel(
   [ new Effect.Scale(element, 200,
      { sync: true, scaleFromCenter: true, scaleContent: true, restoreAfterFinish: true }),
     new Effect.Opacity(element, { sync: true, to: 0.0 } ) ],
     Object.extend({ duration: 1.0,
      beforeSetupInternal: function(effect) {
        Position.absolutize(effect.effects[0].element);
      },
      afterFinishInternal: function(effect) {
         effect.effects[0].element.hide().setStyle(oldStyle); }
     }, arguments[1] || { })
   );
};

Effect.BlindUp = function(element) {
  element = $(element);
  element.makeClipping();
  return new Effect.Scale(element, 0,
    Object.extend({ scaleContent: false,
      scaleX: false,
      restoreAfterFinish: true,
      afterFinishInternal: function(effect) {
        effect.element.hide().undoClipping();
      }
    }, arguments[1] || { })
  );
};

Effect.BlindDown = function(element) {
  element = $(element);
  var elementDimensions = element.getDimensions();
  return new Effect.Scale(element, 100, Object.extend({
    scaleContent: false,
    scaleX: false,
    scaleFrom: 0,
    scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
    restoreAfterFinish: true,
    afterSetup: function(effect) {
      effect.element.makeClipping().setStyle({height: '0px'}).show();
    },
    afterFinishInternal: function(effect) {
      effect.element.undoClipping();
    }
  }, arguments[1] || { }));
};

Effect.SwitchOff = function(element) {
  element = $(element);
  var oldOpacity = element.getInlineOpacity();
  return new Effect.Appear(element, Object.extend({
    duration: 0.4,
    from: 0,
    transition: Effect.Transitions.flicker,
    afterFinishInternal: function(effect) {
      new Effect.Scale(effect.element, 1, {
        duration: 0.3, scaleFromCenter: true,
        scaleX: false, scaleContent: false, restoreAfterFinish: true,
        beforeSetup: function(effect) {
          effect.element.makePositioned().makeClipping();
        },
        afterFinishInternal: function(effect) {
          effect.element.hide().undoClipping().undoPositioned().setStyle({opacity: oldOpacity});
        }
      });
    }
  }, arguments[1] || { }));
};

Effect.DropOut = function(element) {
  element = $(element);
  var oldStyle = {
    top: element.getStyle('top'),
    left: element.getStyle('left'),
    opacity: element.getInlineOpacity() };
  return new Effect.Parallel(
    [ new Effect.Move(element, {x: 0, y: 100, sync: true }),
      new Effect.Opacity(element, { sync: true, to: 0.0 }) ],
    Object.extend(
      { duration: 0.5,
        beforeSetup: function(effect) {
          effect.effects[0].element.makePositioned();
        },
        afterFinishInternal: function(effect) {
          effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle);
        }
      }, arguments[1] || { }));
};

Effect.Shake = function(element) {
  element = $(element);
  var options = Object.extend({
    distance: 20,
    duration: 0.5
  }, arguments[1] || {});
  var distance = parseFloat(options.distance);
  var split = parseFloat(options.duration) / 10.0;
  var oldStyle = {
    top: element.getStyle('top'),
    left: element.getStyle('left') };
    return new Effect.Move(element,
      { x:  distance, y: 0, duration: split, afterFinishInternal: function(effect) {
    new Effect.Move(effect.element,
      { x: -distance*2, y: 0, duration: split*2,  afterFinishInternal: function(effect) {
    new Effect.Move(effect.element,
      { x:  distance*2, y: 0, duration: split*2,  afterFinishInternal: function(effect) {
    new Effect.Move(effect.element,
      { x: -distance*2, y: 0, duration: split*2,  afterFinishInternal: function(effect) {
    new Effect.Move(effect.element,
      { x:  distance*2, y: 0, duration: split*2,  afterFinishInternal: function(effect) {
    new Effect.Move(effect.element,
      { x: -distance, y: 0, duration: split, afterFinishInternal: function(effect) {
        effect.element.undoPositioned().setStyle(oldStyle);
  }}); }}); }}); }}); }}); }});
};

Effect.SlideDown = function(element) {
  element = $(element).cleanWhitespace();
  var oldInnerBottom = element.down().getStyle('bottom');
  var elementDimensions = element.getDimensions();
  return new Effect.Scale(element, 100, Object.extend({
    scaleContent: false,
    scaleX: false,
    scaleFrom: window.opera ? 0 : 1,
    scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
    restoreAfterFinish: true,
    afterSetup: function(effect) {
      effect.element.makePositioned();
      effect.element.down().makePositioned();
      if (window.opera) effect.element.setStyle({top: ''});
      effect.element.makeClipping().setStyle({height: '0px'}).show();
    },
    afterUpdateInternal: function(effect) {
      effect.element.down().setStyle({bottom:
        (effect.dims[0] - effect.element.clientHeight) + 'px' });
    },
    afterFinishInternal: function(effect) {
      effect.element.undoClipping().undoPositioned();
      effect.element.down().undoPositioned().setStyle({bottom: oldInnerBottom}); }
    }, arguments[1] || { })
  );
};

Effect.SlideUp = function(element) {
  element = $(element).cleanWhitespace();
  var oldInnerBottom = element.down().getStyle('bottom');
  var elementDimensions = element.getDimensions();
  return new Effect.Scale(element, window.opera ? 0 : 1,
   Object.extend({ scaleContent: false,
    scaleX: false,
    scaleMode: 'box',
    scaleFrom: 100,
    scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
    restoreAfterFinish: true,
    afterSetup: function(effect) {
      effect.element.makePositioned();
      effect.element.down().makePositioned();
      if (window.opera) effect.element.setStyle({top: ''});
      effect.element.makeClipping().show();
    },
    afterUpdateInternal: function(effect) {
      effect.element.down().setStyle({bottom:
        (effect.dims[0] - effect.element.clientHeight) + 'px' });
    },
    afterFinishInternal: function(effect) {
      effect.element.hide().undoClipping().undoPositioned();
      effect.element.down().undoPositioned().setStyle({bottom: oldInnerBottom});
    }
   }, arguments[1] || { })
  );
};

Effect.Squish = function(element) {
  return new Effect.Scale(element, window.opera ? 1 : 0, {
    restoreAfterFinish: true,
    beforeSetup: function(effect) {
      effect.element.makeClipping();
    },
    afterFinishInternal: function(effect) {
      effect.element.hide().undoClipping();
    }
  });
};

Effect.Grow = function(element) {
  element = $(element);
  var options = Object.extend({
    direction: 'center',
    moveTransition: Effect.Transitions.sinoidal,
    scaleTransition: Effect.Transitions.sinoidal,
    opacityTransition: Effect.Transitions.full
  }, arguments[1] || { });
  var oldStyle = {
    top: element.style.top,
    left: element.style.left,
    height: element.style.height,
    width: element.style.width,
    opacity: element.getInlineOpacity() };

  var dims = element.getDimensions();
  var initialMoveX, initialMoveY;
  var moveX, moveY;

  switch (options.direction) {
    case 'top-left':
      initialMoveX = initialMoveY = moveX = moveY = 0;
      break;
    case 'top-right':
      initialMoveX = dims.width;
      initialMoveY = moveY = 0;
      moveX = -dims.width;
      break;
    case 'bottom-left':
      initialMoveX = moveX = 0;
      initialMoveY = dims.height;
      moveY = -dims.height;
      break;
    case 'bottom-right':
      initialMoveX = dims.width;
      initialMoveY = dims.height;
      moveX = -dims.width;
      moveY = -dims.height;
      break;
    case 'center':
      initialMoveX = dims.width / 2;
      initialMoveY = dims.height / 2;
      moveX = -dims.width / 2;
      moveY = -dims.height / 2;
      break;
  }

  return new Effect.Move(element, {
    x: initialMoveX,
    y: initialMoveY,
    duration: 0.01,
    beforeSetup: function(effect) {
      effect.element.hide().makeClipping().makePositioned();
    },
    afterFinishInternal: function(effect) {
      new Effect.Parallel(
        [ new Effect.Opacity(effect.element, { sync: true, to: 1.0, from: 0.0, transition: options.opacityTransition }),
          new Effect.Move(effect.element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition }),
          new Effect.Scale(effect.element, 100, {
            scaleMode: { originalHeight: dims.height, originalWidth: dims.width },
            sync: true, scaleFrom: window.opera ? 1 : 0, transition: options.scaleTransition, restoreAfterFinish: true})
        ], Object.extend({
             beforeSetup: function(effect) {
               effect.effects[0].element.setStyle({height: '0px'}).show();
             },
             afterFinishInternal: function(effect) {
               effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle);
             }
           }, options)
      );
    }
  });
};

Effect.Shrink = function(element) {
  element = $(element);
  var options = Object.extend({
    direction: 'center',
    moveTransition: Effect.Transitions.sinoidal,
    scaleTransition: Effect.Transitions.sinoidal,
    opacityTransition: Effect.Transitions.none
  }, arguments[1] || { });
  var oldStyle = {
    top: element.style.top,
    left: element.style.left,
    height: element.style.height,
    width: element.style.width,
    opacity: element.getInlineOpacity() };

  var dims = element.getDimensions();
  var moveX, moveY;

  switch (options.direction) {
    case 'top-left':
      moveX = moveY = 0;
      break;
    case 'top-right':
      moveX = dims.width;
      moveY = 0;
      break;
    case 'bottom-left':
      moveX = 0;
      moveY = dims.height;
      break;
    case 'bottom-right':
      moveX = dims.width;
      moveY = dims.height;
      break;
    case 'center':
      moveX = dims.width / 2;
      moveY = dims.height / 2;
      break;
  }

  return new Effect.Parallel(
    [ new Effect.Opacity(element, { sync: true, to: 0.0, from: 1.0, transition: options.opacityTransition }),
      new Effect.Scale(element, window.opera ? 1 : 0, { sync: true, transition: options.scaleTransition, restoreAfterFinish: true}),
      new Effect.Move(element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition })
    ], Object.extend({
         beforeStartInternal: function(effect) {
           effect.effects[0].element.makePositioned().makeClipping();
         },
         afterFinishInternal: function(effect) {
           effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle(oldStyle); }
       }, options)
  );
};

Effect.Pulsate = function(element) {
  element = $(element);
  var options    = arguments[1] || { },
    oldOpacity = element.getInlineOpacity(),
    transition = options.transition || Effect.Transitions.linear,
    reverser   = function(pos){
      return 1 - transition((-Math.cos((pos*(options.pulses||5)*2)*Math.PI)/2) + .5);
    };

  return new Effect.Opacity(element,
    Object.extend(Object.extend({  duration: 2.0, from: 0,
      afterFinishInternal: function(effect) { effect.element.setStyle({opacity: oldOpacity}); }
    }, options), {transition: reverser}));
};

Effect.Fold = function(element) {
  element = $(element);
  var oldStyle = {
    top: element.style.top,
    left: element.style.left,
    width: element.style.width,
    height: element.style.height };
  element.makeClipping();
  return new Effect.Scale(element, 5, Object.extend({
    scaleContent: false,
    scaleX: false,
    afterFinishInternal: function(effect) {
    new Effect.Scale(element, 1, {
      scaleContent: false,
      scaleY: false,
      afterFinishInternal: function(effect) {
        effect.element.hide().undoClipping().setStyle(oldStyle);
      } });
  }}, arguments[1] || { }));
};

Effect.Morph = Class.create(Effect.Base, {
  initialize: function(element) {
    this.element = $(element);
    if (!this.element) throw(Effect._elementDoesNotExistError);
    var options = Object.extend({
      style: { }
    }, arguments[1] || { });

    if (!Object.isString(options.style)) this.style = $H(options.style);
    else {
      if (options.style.include(':'))
        this.style = options.style.parseStyle();
      else {
        this.element.addClassName(options.style);
        this.style = $H(this.element.getStyles());
        this.element.removeClassName(options.style);
        var css = this.element.getStyles();
        this.style = this.style.reject(function(style) {
          return style.value == css[style.key];
        });
        options.afterFinishInternal = function(effect) {
          effect.element.addClassName(effect.options.style);
          effect.transforms.each(function(transform) {
            effect.element.style[transform.style] = '';
          });
        };
      }
    }
    this.start(options);
  },

  setup: function(){
    function parseColor(color){
      if (!color || ['rgba(0, 0, 0, 0)','transparent'].include(color)) color = '#ffffff';
      color = color.parseColor();
      return $R(0,2).map(function(i){
        return parseInt( color.slice(i*2+1,i*2+3), 16 );
      });
    }
    this.transforms = this.style.map(function(pair){
      var property = pair[0], value = pair[1], unit = null;

      if (value.parseColor('#zzzzzz') != '#zzzzzz') {
        value = value.parseColor();
        unit  = 'color';
      } else if (property == 'opacity') {
        value = parseFloat(value);
        if (Prototype.Browser.IE && (!this.element.currentStyle.hasLayout))
          this.element.setStyle({zoom: 1});
      } else if (Element.CSS_LENGTH.test(value)) {
          var components = value.match(/^([\+\-]?[0-9\.]+)(.*)$/);
          value = parseFloat(components[1]);
          unit = (components.length == 3) ? components[2] : null;
      }

      var originalValue = this.element.getStyle(property);
      return {
        style: property.camelize(),
        originalValue: unit=='color' ? parseColor(originalValue) : parseFloat(originalValue || 0),
        targetValue: unit=='color' ? parseColor(value) : value,
        unit: unit
      };
    }.bind(this)).reject(function(transform){
      return (
        (transform.originalValue == transform.targetValue) ||
        (
          transform.unit != 'color' &&
          (isNaN(transform.originalValue) || isNaN(transform.targetValue))
        )
      );
    });
  },
  update: function(position) {
    var style = { }, transform, i = this.transforms.length;
    while(i--)
      style[(transform = this.transforms[i]).style] =
        transform.unit=='color' ? '#'+
          (Math.round(transform.originalValue[0]+
            (transform.targetValue[0]-transform.originalValue[0])*position)).toColorPart() +
          (Math.round(transform.originalValue[1]+
            (transform.targetValue[1]-transform.originalValue[1])*position)).toColorPart() +
          (Math.round(transform.originalValue[2]+
            (transform.targetValue[2]-transform.originalValue[2])*position)).toColorPart() :
        (transform.originalValue +
          (transform.targetValue - transform.originalValue) * position).toFixed(3) +
            (transform.unit === null ? '' : transform.unit);
    this.element.setStyle(style, true);
  }
});

Effect.Transform = Class.create({
  initialize: function(tracks){
    this.tracks  = [];
    this.options = arguments[1] || { };
    this.addTracks(tracks);
  },
  addTracks: function(tracks){
    tracks.each(function(track){
      track = $H(track);
      var data = track.values().first();
      this.tracks.push($H({
        ids:     track.keys().first(),
        effect:  Effect.Morph,
        options: { style: data }
      }));
    }.bind(this));
    return this;
  },
  play: function(){
    return new Effect.Parallel(
      this.tracks.map(function(track){
        var ids = track.get('ids'), effect = track.get('effect'), options = track.get('options');
        var elements = [$(ids) || $$(ids)].flatten();
        return elements.map(function(e){ return new effect(e, Object.extend({ sync:true }, options)) });
      }).flatten(),
      this.options
    );
  }
});

Element.CSS_PROPERTIES = $w(
  'backgroundColor backgroundPosition borderBottomColor borderBottomStyle ' +
  'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth ' +
  'borderRightColor borderRightStyle borderRightWidth borderSpacing ' +
  'borderTopColor borderTopStyle borderTopWidth bottom clip color ' +
  'fontSize fontWeight height left letterSpacing lineHeight ' +
  'marginBottom marginLeft marginRight marginTop markerOffset maxHeight '+
  'maxWidth minHeight minWidth opacity outlineColor outlineOffset ' +
  'outlineWidth paddingBottom paddingLeft paddingRight paddingTop ' +
  'right textIndent top width wordSpacing zIndex');

Element.CSS_LENGTH = /^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;

String.__parseStyleElement = document.createElement('div');
String.prototype.parseStyle = function(){
  var style, styleRules = $H();
  if (Prototype.Browser.WebKit)
    style = new Element('div',{style:this}).style;
  else {
    String.__parseStyleElement.innerHTML = '<div style="' + this + '"></div>';
    style = String.__parseStyleElement.childNodes[0].style;
  }

  Element.CSS_PROPERTIES.each(function(property){
    if (style[property]) styleRules.set(property, style[property]);
  });

  if (Prototype.Browser.IE && this.include('opacity'))
    styleRules.set('opacity', this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]);

  return styleRules;
};

if (document.defaultView && document.defaultView.getComputedStyle) {
  Element.getStyles = function(element) {
    var css = document.defaultView.getComputedStyle($(element), null);
    return Element.CSS_PROPERTIES.inject({ }, function(styles, property) {
      styles[property] = css[property];
      return styles;
    });
  };
} else {
  Element.getStyles = function(element) {
    element = $(element);
    var css = element.currentStyle, styles;
    styles = Element.CSS_PROPERTIES.inject({ }, function(results, property) {
      results[property] = css[property];
      return results;
    });
    if (!styles.opacity) styles.opacity = element.getOpacity();
    return styles;
  };
}

Effect.Methods = {
  morph: function(element, style) {
    element = $(element);
    new Effect.Morph(element, Object.extend({ style: style }, arguments[2] || { }));
    return element;
  },
  visualEffect: function(element, effect, options) {
    element = $(element);
    var s = effect.dasherize().camelize(), klass = s.charAt(0).toUpperCase() + s.substring(1);
    new Effect[klass](element, options);
    return element;
  },
  highlight: function(element, options) {
    element = $(element);
    new Effect.Highlight(element, options);
    return element;
  }
};

$w('fade appear grow shrink fold blindUp blindDown slideUp slideDown '+
  'pulsate shake puff squish switchOff dropOut').each(
  function(effect) {
    Effect.Methods[effect] = function(element, options){
      element = $(element);
      Effect[effect.charAt(0).toUpperCase() + effect.substring(1)](element, options);
      return element;
    };
  }
);

$w('getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles').each(
  function(f) { Effect.Methods[f] = Element[f]; }
);

Element.addMethods(Effect.Methods);


if(Object.isUndefined(Effect))
  throw("dragdrop.js requires including script.aculo.us' effects.js library");

var Droppables = {
  drops: [],

  remove: function(element) {
    this.drops = this.drops.reject(function(d) { return d.element==$(element) });
  },

  add: function(element) {
    element = $(element);
    var options = Object.extend({
      greedy:     true,
      hoverclass: null,
      tree:       false
    }, arguments[1] || { });

    if(options.containment) {
      options._containers = [];
      var containment = options.containment;
      if(Object.isArray(containment)) {
        containment.each( function(c) { options._containers.push($(c)) });
      } else {
        options._containers.push($(containment));
      }
    }

    if(options.accept) options.accept = [options.accept].flatten();

    Element.makePositioned(element); // fix IE
    options.element = element;

    this.drops.push(options);
  },

  findDeepestChild: function(drops) {
    deepest = drops[0];

    for (i = 1; i < drops.length; ++i)
      if (Element.isParent(drops[i].element, deepest.element))
        deepest = drops[i];

    return deepest;
  },

  isContained: function(element, drop) {
    var containmentNode;
    if(drop.tree) {
      containmentNode = element.treeNode;
    } else {
      containmentNode = element.parentNode;
    }
    return drop._containers.detect(function(c) { return containmentNode == c });
  },

  isAffected: function(point, element, drop) {
    return (
      (drop.element!=element) &&
      ((!drop._containers) ||
        this.isContained(element, drop)) &&
      ((!drop.accept) ||
        (Element.classNames(element).detect(
          function(v) { return drop.accept.include(v) } ) )) &&
      Position.within(drop.element, point[0], point[1]) );
  },

  deactivate: function(drop) {
    if(drop.hoverclass)
      Element.removeClassName(drop.element, drop.hoverclass);
    this.last_active = null;
  },

  activate: function(drop) {
    if(drop.hoverclass)
      Element.addClassName(drop.element, drop.hoverclass);
    this.last_active = drop;
  },

  show: function(point, element) {
    if(!this.drops.length) return;
    var drop, affected = [];

    this.drops.each( function(drop) {
      if(Droppables.isAffected(point, element, drop))
        affected.push(drop);
    });

    if(affected.length>0)
      drop = Droppables.findDeepestChild(affected);

    if(this.last_active && this.last_active != drop) this.deactivate(this.last_active);
    if (drop) {
      Position.within(drop.element, point[0], point[1]);
      if(drop.onHover)
        drop.onHover(element, drop.element, Position.overlap(drop.overlap, drop.element));

      if (drop != this.last_active) Droppables.activate(drop);
    }
  },

  fire: function(event, element) {
    if(!this.last_active) return;
    Position.prepare();

    if (this.isAffected([Event.pointerX(event), Event.pointerY(event)], element, this.last_active))
      if (this.last_active.onDrop) {
        this.last_active.onDrop(element, this.last_active.element, event);
        return true;
      }
  },

  reset: function() {
    if(this.last_active)
      this.deactivate(this.last_active);
  }
};

var Draggables = {
  drags: [],
  observers: [],

  register: function(draggable) {
    if(this.drags.length == 0) {
      this.eventMouseUp   = this.endDrag.bindAsEventListener(this);
      this.eventMouseMove = this.updateDrag.bindAsEventListener(this);
      this.eventKeypress  = this.keyPress.bindAsEventListener(this);

      Event.observe(document, "mouseup", this.eventMouseUp);
      Event.observe(document, "mousemove", this.eventMouseMove);
      Event.observe(document, "keypress", this.eventKeypress);
    }
    this.drags.push(draggable);
  },

  unregister: function(draggable) {
    this.drags = this.drags.reject(function(d) { return d==draggable });
    if(this.drags.length == 0) {
      Event.stopObserving(document, "mouseup", this.eventMouseUp);
      Event.stopObserving(document, "mousemove", this.eventMouseMove);
      Event.stopObserving(document, "keypress", this.eventKeypress);
    }
  },

  activate: function(draggable) {
    if(draggable.options.delay) {
      this._timeout = setTimeout(function() {
        Draggables._timeout = null;
        window.focus();
        Draggables.activeDraggable = draggable;
      }.bind(this), draggable.options.delay);
    } else {
      window.focus(); // allows keypress events if window isn't currently focused, fails for Safari
      this.activeDraggable = draggable;
    }
  },

  deactivate: function() {
    this.activeDraggable = null;
  },

  updateDrag: function(event) {
    if(!this.activeDraggable) return;
    var pointer = [Event.pointerX(event), Event.pointerY(event)];
    if(this._lastPointer && (this._lastPointer.inspect() == pointer.inspect())) return;
    this._lastPointer = pointer;

    this.activeDraggable.updateDrag(event, pointer);
  },

  endDrag: function(event) {
    if(this._timeout) {
      clearTimeout(this._timeout);
      this._timeout = null;
    }
    if(!this.activeDraggable) return;
    this._lastPointer = null;
    this.activeDraggable.endDrag(event);
    this.activeDraggable = null;
  },

  keyPress: function(event) {
    if(this.activeDraggable)
      this.activeDraggable.keyPress(event);
  },

  addObserver: function(observer) {
    this.observers.push(observer);
    this._cacheObserverCallbacks();
  },

  removeObserver: function(element) {  // element instead of observer fixes mem leaks
    this.observers = this.observers.reject( function(o) { return o.element==element });
    this._cacheObserverCallbacks();
  },

  notify: function(eventName, draggable, event) {  // 'onStart', 'onEnd', 'onDrag'
    if(this[eventName+'Count'] > 0)
      this.observers.each( function(o) {
        if(o[eventName]) o[eventName](eventName, draggable, event);
      });
    if(draggable.options[eventName]) draggable.options[eventName](draggable, event);
  },

  _cacheObserverCallbacks: function() {
    ['onStart','onEnd','onDrag'].each( function(eventName) {
      Draggables[eventName+'Count'] = Draggables.observers.select(
        function(o) { return o[eventName]; }
      ).length;
    });
  }
};

/*--------------------------------------------------------------------------*/

var Draggable = Class.create({
  initialize: function(element) {
    var defaults = {
      handle: false,
      reverteffect: function(element, top_offset, left_offset) {
        var dur = Math.sqrt(Math.abs(top_offset^2)+Math.abs(left_offset^2))*0.02;
        new Effect.Move(element, { x: -left_offset, y: -top_offset, duration: dur,
          queue: {scope:'_draggable', position:'end'}
        });
      },
      endeffect: function(element) {
        var toOpacity = Object.isNumber(element._opacity) ? element._opacity : 1.0;
        new Effect.Opacity(element, {duration:0.2, from:0.7, to:toOpacity,
          queue: {scope:'_draggable', position:'end'},
          afterFinish: function(){
            Draggable._dragging[element] = false
          }
        });
      },
      zindex: 1000,
      revert: false,
      quiet: false,
      scroll: false,
      scrollSensitivity: 20,
      scrollSpeed: 15,
      snap: false,  // false, or xy or [x,y] or function(x,y){ return [x,y] }
      delay: 0
    };

    if(!arguments[1] || Object.isUndefined(arguments[1].endeffect))
      Object.extend(defaults, {
        starteffect: function(element) {
          element._opacity = Element.getOpacity(element);
          Draggable._dragging[element] = true;
          new Effect.Opacity(element, {duration:0.2, from:element._opacity, to:0.7});
        }
      });

    var options = Object.extend(defaults, arguments[1] || { });

    this.element = $(element);

    if(options.handle && Object.isString(options.handle))
      this.handle = this.element.down('.'+options.handle, 0);

    if(!this.handle) this.handle = $(options.handle);
    if(!this.handle) this.handle = this.element;

    if(options.scroll && !options.scroll.scrollTo && !options.scroll.outerHTML) {
      options.scroll = $(options.scroll);
      this._isScrollChild = Element.childOf(this.element, options.scroll);
    }

    Element.makePositioned(this.element); // fix IE

    this.options  = options;
    this.dragging = false;

    this.eventMouseDown = this.initDrag.bindAsEventListener(this);
    Event.observe(this.handle, "mousedown", this.eventMouseDown);

    Draggables.register(this);
  },

  destroy: function() {
    Event.stopObserving(this.handle, "mousedown", this.eventMouseDown);
    Draggables.unregister(this);
  },

  currentDelta: function() {
    return([
      parseInt(Element.getStyle(this.element,'left') || '0'),
      parseInt(Element.getStyle(this.element,'top') || '0')]);
  },

  initDrag: function(event) {
    if(!Object.isUndefined(Draggable._dragging[this.element]) &&
      Draggable._dragging[this.element]) return;
    if(Event.isLeftClick(event)) {
      var src = Event.element(event);
      if((tag_name = src.tagName.toUpperCase()) && (
        tag_name=='INPUT' ||
        tag_name=='SELECT' ||
        tag_name=='OPTION' ||
        tag_name=='BUTTON' ||
        tag_name=='TEXTAREA')) return;

      var pointer = [Event.pointerX(event), Event.pointerY(event)];
      var pos     = Position.cumulativeOffset(this.element);
      this.offset = [0,1].map( function(i) { return (pointer[i] - pos[i]) });

      Draggables.activate(this);
      Event.stop(event);
    }
  },

  startDrag: function(event) {
    this.dragging = true;
    if(!this.delta)
      this.delta = this.currentDelta();

    if(this.options.zindex) {
      this.originalZ = parseInt(Element.getStyle(this.element,'z-index') || 0);
      this.element.style.zIndex = this.options.zindex;
    }

    if(this.options.ghosting) {
      this._clone = this.element.cloneNode(true);
      this._originallyAbsolute = (this.element.getStyle('position') == 'absolute');
      if (!this._originallyAbsolute)
        Position.absolutize(this.element);
      this.element.parentNode.insertBefore(this._clone, this.element);
    }

    if(this.options.scroll) {
      if (this.options.scroll == window) {
        var where = this._getWindowScroll(this.options.scroll);
        this.originalScrollLeft = where.left;
        this.originalScrollTop = where.top;
      } else {
        this.originalScrollLeft = this.options.scroll.scrollLeft;
        this.originalScrollTop = this.options.scroll.scrollTop;
      }
    }

    Draggables.notify('onStart', this, event);

    if(this.options.starteffect) this.options.starteffect(this.element);
  },

  updateDrag: function(event, pointer) {
    if(!this.dragging) this.startDrag(event);

    if(!this.options.quiet){
      Position.prepare();
      Droppables.show(pointer, this.element);
    }

    Draggables.notify('onDrag', this, event);

    this.draw(pointer);
    if(this.options.change) this.options.change(this);

    if(this.options.scroll) {
      this.stopScrolling();

      var p;
      if (this.options.scroll == window) {
        with(this._getWindowScroll(this.options.scroll)) { p = [ left, top, left+width, top+height ]; }
      } else {
        p = Position.page(this.options.scroll);
        p[0] += this.options.scroll.scrollLeft + Position.deltaX;
        p[1] += this.options.scroll.scrollTop + Position.deltaY;
        p.push(p[0]+this.options.scroll.offsetWidth);
        p.push(p[1]+this.options.scroll.offsetHeight);
      }
      var speed = [0,0];
      if(pointer[0] < (p[0]+this.options.scrollSensitivity)) speed[0] = pointer[0]-(p[0]+this.options.scrollSensitivity);
      if(pointer[1] < (p[1]+this.options.scrollSensitivity)) speed[1] = pointer[1]-(p[1]+this.options.scrollSensitivity);
      if(pointer[0] > (p[2]-this.options.scrollSensitivity)) speed[0] = pointer[0]-(p[2]-this.options.scrollSensitivity);
      if(pointer[1] > (p[3]-this.options.scrollSensitivity)) speed[1] = pointer[1]-(p[3]-this.options.scrollSensitivity);
      this.startScrolling(speed);
    }

    if(Prototype.Browser.WebKit) window.scrollBy(0,0);

    Event.stop(event);
  },

  finishDrag: function(event, success) {
    this.dragging = false;

    if(this.options.quiet){
      Position.prepare();
      var pointer = [Event.pointerX(event), Event.pointerY(event)];
      Droppables.show(pointer, this.element);
    }

    if(this.options.ghosting) {
      if (!this._originallyAbsolute)
        Position.relativize(this.element);
      delete this._originallyAbsolute;
      Element.remove(this._clone);
      this._clone = null;
    }

    var dropped = false;
    if(success) {
      dropped = Droppables.fire(event, this.element);
      if (!dropped) dropped = false;
    }
    if(dropped && this.options.onDropped) this.options.onDropped(this.element);
    Draggables.notify('onEnd', this, event);

    var revert = this.options.revert;
    if(revert && Object.isFunction(revert)) revert = revert(this.element);

    var d = this.currentDelta();
    if(revert && this.options.reverteffect) {
      if (dropped == 0 || revert != 'failure')
        this.options.reverteffect(this.element,
          d[1]-this.delta[1], d[0]-this.delta[0]);
    } else {
      this.delta = d;
    }

    if(this.options.zindex)
      this.element.style.zIndex = this.originalZ;

    if(this.options.endeffect)
      this.options.endeffect(this.element);

    Draggables.deactivate(this);
    Droppables.reset();
  },

  keyPress: function(event) {
    if(event.keyCode!=Event.KEY_ESC) return;
    this.finishDrag(event, false);
    Event.stop(event);
  },

  endDrag: function(event) {
    if(!this.dragging) return;
    this.stopScrolling();
    this.finishDrag(event, true);
    Event.stop(event);
  },

  draw: function(point) {
    var pos = Position.cumulativeOffset(this.element);
    if(this.options.ghosting) {
      var r   = Position.realOffset(this.element);
      pos[0] += r[0] - Position.deltaX; pos[1] += r[1] - Position.deltaY;
    }

    var d = this.currentDelta();
    pos[0] -= d[0]; pos[1] -= d[1];

    if(this.options.scroll && (this.options.scroll != window && this._isScrollChild)) {
      pos[0] -= this.options.scroll.scrollLeft-this.originalScrollLeft;
      pos[1] -= this.options.scroll.scrollTop-this.originalScrollTop;
    }

    var p = [0,1].map(function(i){
      return (point[i]-pos[i]-this.offset[i])
    }.bind(this));

    if(this.options.snap) {
      if(Object.isFunction(this.options.snap)) {
        p = this.options.snap(p[0],p[1],this);
      } else {
      if(Object.isArray(this.options.snap)) {
        p = p.map( function(v, i) {
          return (v/this.options.snap[i]).round()*this.options.snap[i] }.bind(this));
      } else {
        p = p.map( function(v) {
          return (v/this.options.snap).round()*this.options.snap }.bind(this));
      }
    }}

    var style = this.element.style;
    if((!this.options.constraint) || (this.options.constraint=='horizontal'))
      style.left = p[0] + "px";
    if((!this.options.constraint) || (this.options.constraint=='vertical'))
      style.top  = p[1] + "px";

    if(style.visibility=="hidden") style.visibility = ""; // fix gecko rendering
  },

  stopScrolling: function() {
    if(this.scrollInterval) {
      clearInterval(this.scrollInterval);
      this.scrollInterval = null;
      Draggables._lastScrollPointer = null;
    }
  },

  startScrolling: function(speed) {
    if(!(speed[0] || speed[1])) return;
    this.scrollSpeed = [speed[0]*this.options.scrollSpeed,speed[1]*this.options.scrollSpeed];
    this.lastScrolled = new Date();
    this.scrollInterval = setInterval(this.scroll.bind(this), 10);
  },

  scroll: function() {
    var current = new Date();
    var delta = current - this.lastScrolled;
    this.lastScrolled = current;
    if(this.options.scroll == window) {
      with (this._getWindowScroll(this.options.scroll)) {
        if (this.scrollSpeed[0] || this.scrollSpeed[1]) {
          var d = delta / 1000;
          this.options.scroll.scrollTo( left + d*this.scrollSpeed[0], top + d*this.scrollSpeed[1] );
        }
      }
    } else {
      this.options.scroll.scrollLeft += this.scrollSpeed[0] * delta / 1000;
      this.options.scroll.scrollTop  += this.scrollSpeed[1] * delta / 1000;
    }

    Position.prepare();
    Droppables.show(Draggables._lastPointer, this.element);
    Draggables.notify('onDrag', this);
    if (this._isScrollChild) {
      Draggables._lastScrollPointer = Draggables._lastScrollPointer || $A(Draggables._lastPointer);
      Draggables._lastScrollPointer[0] += this.scrollSpeed[0] * delta / 1000;
      Draggables._lastScrollPointer[1] += this.scrollSpeed[1] * delta / 1000;
      if (Draggables._lastScrollPointer[0] < 0)
        Draggables._lastScrollPointer[0] = 0;
      if (Draggables._lastScrollPointer[1] < 0)
        Draggables._lastScrollPointer[1] = 0;
      this.draw(Draggables._lastScrollPointer);
    }

    if(this.options.change) this.options.change(this);
  },

  _getWindowScroll: function(w) {
    var T, L, W, H;
    with (w.document) {
      if (w.document.documentElement && documentElement.scrollTop) {
        T = documentElement.scrollTop;
        L = documentElement.scrollLeft;
      } else if (w.document.body) {
        T = body.scrollTop;
        L = body.scrollLeft;
      }
      if (w.innerWidth) {
        W = w.innerWidth;
        H = w.innerHeight;
      } else if (w.document.documentElement && documentElement.clientWidth) {
        W = documentElement.clientWidth;
        H = documentElement.clientHeight;
      } else {
        W = body.offsetWidth;
        H = body.offsetHeight;
      }
    }
    return { top: T, left: L, width: W, height: H };
  }
});

Draggable._dragging = { };

/*--------------------------------------------------------------------------*/

var SortableObserver = Class.create({
  initialize: function(element, observer) {
    this.element   = $(element);
    this.observer  = observer;
    this.lastValue = Sortable.serialize(this.element);
  },

  onStart: function() {
    this.lastValue = Sortable.serialize(this.element);
  },

  onEnd: function() {
    Sortable.unmark();
    if(this.lastValue != Sortable.serialize(this.element))
      this.observer(this.element)
  }
});

var Sortable = {
  SERIALIZE_RULE: /^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/,

  sortables: { },

  _findRootElement: function(element) {
    while (element.tagName.toUpperCase() != "BODY") {
      if(element.id && Sortable.sortables[element.id]) return element;
      element = element.parentNode;
    }
  },

  options: function(element) {
    element = Sortable._findRootElement($(element));
    if(!element) return;
    return Sortable.sortables[element.id];
  },

  destroy: function(element){
    element = $(element);
    var s = Sortable.sortables[element.id];

    if(s) {
      Draggables.removeObserver(s.element);
      s.droppables.each(function(d){ Droppables.remove(d) });
      s.draggables.invoke('destroy');

      delete Sortable.sortables[s.element.id];
    }
  },

  create: function(element) {
    element = $(element);
    var options = Object.extend({
      element:     element,
      tag:         'li',       // assumes li children, override with tag: 'tagname'
      dropOnEmpty: false,
      tree:        false,
      treeTag:     'ul',
      overlap:     'vertical', // one of 'vertical', 'horizontal'
      constraint:  'vertical', // one of 'vertical', 'horizontal', false
      containment: element,    // also takes array of elements (or id's); or false
      handle:      false,      // or a CSS class
      only:        false,
      delay:       0,
      hoverclass:  null,
      ghosting:    false,
      quiet:       false,
      scroll:      false,
      scrollSensitivity: 20,
      scrollSpeed: 15,
      format:      this.SERIALIZE_RULE,

      elements:    false,
      handles:     false,

      onChange:    Prototype.emptyFunction,
      onUpdate:    Prototype.emptyFunction
    }, arguments[1] || { });

    this.destroy(element);

    var options_for_draggable = {
      revert:      true,
      quiet:       options.quiet,
      scroll:      options.scroll,
      scrollSpeed: options.scrollSpeed,
      scrollSensitivity: options.scrollSensitivity,
      delay:       options.delay,
      ghosting:    options.ghosting,
      constraint:  options.constraint,
      handle:      options.handle };

    if(options.starteffect)
      options_for_draggable.starteffect = options.starteffect;

    if(options.reverteffect)
      options_for_draggable.reverteffect = options.reverteffect;
    else
      if(options.ghosting) options_for_draggable.reverteffect = function(element) {
        element.style.top  = 0;
        element.style.left = 0;
      };

    if(options.endeffect)
      options_for_draggable.endeffect = options.endeffect;

    if(options.zindex)
      options_for_draggable.zindex = options.zindex;

    var options_for_droppable = {
      overlap:     options.overlap,
      containment: options.containment,
      tree:        options.tree,
      hoverclass:  options.hoverclass,
      onHover:     Sortable.onHover
    };

    var options_for_tree = {
      onHover:      Sortable.onEmptyHover,
      overlap:      options.overlap,
      containment:  options.containment,
      hoverclass:   options.hoverclass
    };

    Element.cleanWhitespace(element);

    options.draggables = [];
    options.droppables = [];

    if(options.dropOnEmpty || options.tree) {
      Droppables.add(element, options_for_tree);
      options.droppables.push(element);
    }

    (options.elements || this.findElements(element, options) || []).each( function(e,i) {
      var handle = options.handles ? $(options.handles[i]) :
        (options.handle ? $(e).select('.' + options.handle)[0] : e);
      options.draggables.push(
        new Draggable(e, Object.extend(options_for_draggable, { handle: handle })));
      Droppables.add(e, options_for_droppable);
      if(options.tree) e.treeNode = element;
      options.droppables.push(e);
    });

    if(options.tree) {
      (Sortable.findTreeElements(element, options) || []).each( function(e) {
        Droppables.add(e, options_for_tree);
        e.treeNode = element;
        options.droppables.push(e);
      });
    }

    this.sortables[element.id] = options;

    Draggables.addObserver(new SortableObserver(element, options.onUpdate));

  },

  findElements: function(element, options) {
    return Element.findChildren(
      element, options.only, options.tree ? true : false, options.tag);
  },

  findTreeElements: function(element, options) {
    return Element.findChildren(
      element, options.only, options.tree ? true : false, options.treeTag);
  },

  onHover: function(element, dropon, overlap) {
    if(Element.isParent(dropon, element)) return;

    if(overlap > .33 && overlap < .66 && Sortable.options(dropon).tree) {
      return;
    } else if(overlap>0.5) {
      Sortable.mark(dropon, 'before');
      if(dropon.previousSibling != element) {
        var oldParentNode = element.parentNode;
        element.style.visibility = "hidden"; // fix gecko rendering
        dropon.parentNode.insertBefore(element, dropon);
        if(dropon.parentNode!=oldParentNode)
          Sortable.options(oldParentNode).onChange(element);
        Sortable.options(dropon.parentNode).onChange(element);
      }
    } else {
      Sortable.mark(dropon, 'after');
      var nextElement = dropon.nextSibling || null;
      if(nextElement != element) {
        var oldParentNode = element.parentNode;
        element.style.visibility = "hidden"; // fix gecko rendering
        dropon.parentNode.insertBefore(element, nextElement);
        if(dropon.parentNode!=oldParentNode)
          Sortable.options(oldParentNode).onChange(element);
        Sortable.options(dropon.parentNode).onChange(element);
      }
    }
  },

  onEmptyHover: function(element, dropon, overlap) {
    var oldParentNode = element.parentNode;
    var droponOptions = Sortable.options(dropon);

    if(!Element.isParent(dropon, element)) {
      var index;

      var children = Sortable.findElements(dropon, {tag: droponOptions.tag, only: droponOptions.only});
      var child = null;

      if(children) {
        var offset = Element.offsetSize(dropon, droponOptions.overlap) * (1.0 - overlap);

        for (index = 0; index < children.length; index += 1) {
          if (offset - Element.offsetSize (children[index], droponOptions.overlap) >= 0) {
            offset -= Element.offsetSize (children[index], droponOptions.overlap);
          } else if (offset - (Element.offsetSize (children[index], droponOptions.overlap) / 2) >= 0) {
            child = index + 1 < children.length ? children[index + 1] : null;
            break;
          } else {
            child = children[index];
            break;
          }
        }
      }

      dropon.insertBefore(element, child);

      Sortable.options(oldParentNode).onChange(element);
      droponOptions.onChange(element);
    }
  },

  unmark: function() {
    if(Sortable._marker) Sortable._marker.hide();
  },

  mark: function(dropon, position) {
    var sortable = Sortable.options(dropon.parentNode);
    if(sortable && !sortable.ghosting) return;

    if(!Sortable._marker) {
      Sortable._marker =
        ($('dropmarker') || Element.extend(document.createElement('DIV'))).
          hide().addClassName('dropmarker').setStyle({position:'absolute'});
      document.getElementsByTagName("body").item(0).appendChild(Sortable._marker);
    }
    var offsets = Position.cumulativeOffset(dropon);
    Sortable._marker.setStyle({left: offsets[0]+'px', top: offsets[1] + 'px'});

    if(position=='after')
      if(sortable.overlap == 'horizontal')
        Sortable._marker.setStyle({left: (offsets[0]+dropon.clientWidth) + 'px'});
      else
        Sortable._marker.setStyle({top: (offsets[1]+dropon.clientHeight) + 'px'});

    Sortable._marker.show();
  },

  _tree: function(element, options, parent) {
    var children = Sortable.findElements(element, options) || [];

    for (var i = 0; i < children.length; ++i) {
      var match = children[i].id.match(options.format);

      if (!match) continue;

      var child = {
        id: encodeURIComponent(match ? match[1] : null),
        element: element,
        parent: parent,
        children: [],
        position: parent.children.length,
        container: $(children[i]).down(options.treeTag)
      };

      /* Get the element containing the children and recurse over it */
      if (child.container)
        this._tree(child.container, options, child);

      parent.children.push (child);
    }

    return parent;
  },

  tree: function(element) {
    element = $(element);
    var sortableOptions = this.options(element);
    var options = Object.extend({
      tag: sortableOptions.tag,
      treeTag: sortableOptions.treeTag,
      only: sortableOptions.only,
      name: element.id,
      format: sortableOptions.format
    }, arguments[1] || { });

    var root = {
      id: null,
      parent: null,
      children: [],
      container: element,
      position: 0
    };

    return Sortable._tree(element, options, root);
  },

  /* Construct a [i] index for a particular node */
  _constructIndex: function(node) {
    var index = '';
    do {
      if (node.id) index = '[' + node.position + ']' + index;
    } while ((node = node.parent) != null);
    return index;
  },

  sequence: function(element) {
    element = $(element);
    var options = Object.extend(this.options(element), arguments[1] || { });

    return $(this.findElements(element, options) || []).map( function(item) {
      return item.id.match(options.format) ? item.id.match(options.format)[1] : '';
    });
  },

  setSequence: function(element, new_sequence) {
    element = $(element);
    var options = Object.extend(this.options(element), arguments[2] || { });

    var nodeMap = { };
    this.findElements(element, options).each( function(n) {
        if (n.id.match(options.format))
            nodeMap[n.id.match(options.format)[1]] = [n, n.parentNode];
        n.parentNode.removeChild(n);
    });

    new_sequence.each(function(ident) {
      var n = nodeMap[ident];
      if (n) {
        n[1].appendChild(n[0]);
        delete nodeMap[ident];
      }
    });
  },

  serialize: function(element) {
    element = $(element);
    var options = Object.extend(Sortable.options(element), arguments[1] || { });
    var name = encodeURIComponent(
      (arguments[1] && arguments[1].name) ? arguments[1].name : element.id);

    if (options.tree) {
      return Sortable.tree(element, arguments[1]).children.map( function (item) {
        return [name + Sortable._constructIndex(item) + "[id]=" +
                encodeURIComponent(item.id)].concat(item.children.map(arguments.callee));
      }).flatten().join('&');
    } else {
      return Sortable.sequence(element, arguments[1]).map( function(item) {
        return name + "[]=" + encodeURIComponent(item);
      }).join('&');
    }
  }
};

Element.isParent = function(child, element) {
  if (!child.parentNode || child == element) return false;
  if (child.parentNode == element) return true;
  return Element.isParent(child.parentNode, element);
};

Element.findChildren = function(element, only, recursive, tagName) {
  if(!element.hasChildNodes()) return null;
  tagName = tagName.toUpperCase();
  if(only) only = [only].flatten();
  var elements = [];
  $A(element.childNodes).each( function(e) {
    if(e.tagName && e.tagName.toUpperCase()==tagName &&
      (!only || (Element.classNames(e).detect(function(v) { return only.include(v) }))))
        elements.push(e);
    if(recursive) {
      var grandchildren = Element.findChildren(e, only, recursive, tagName);
      if(grandchildren) elements.push(grandchildren);
    }
  });

  return (elements.length>0 ? elements.flatten() : []);
};

Element.offsetSize = function (element, type) {
  return element['offset' + ((type=='vertical' || type=='height') ? 'Height' : 'Width')];
};


/*
 * ControlDepo 3 Widgets ( http://github.com/RStankov/controldepo-3-widgets/tree/master )
 * (c) Radoslav Stankov < Rstankov@gmail.com >
 */

var CD3 = {};

(function(){
  function delegateHandler(e){
    var element = e.element(), elements = element.ancestors ? element.ancestors().concat([element]) : [element];
    ((Element.retrieve(this, 'prototype_delegates') || $H()).get(e.eventName || e.type) || []).each(function(pair){
      if (element = Selector.matchElements(elements, pair.key)[0])
        pair.value.invoke('call', element, e);
    });
  }

  function delegate(element, selector, event, handler){
    element = $(element);

    var store = Element.retrieve(element, 'prototype_delegates');

    if (Object.isUndefined(store)){
      Element.store(element, 'prototype_delegates', store = $H());
    }

    var eventStore = store.get(event);

    if (Object.isUndefined(eventStore)){
      Event.observe(element, event, delegateHandler);
      store.set(event, $H()).set(selector, [handler]);
    } else {
      (eventStore.get(selector) || eventStore.set(selector, [])).push(handler);
    }

    return element;
  }

  function clearEvent(element, store, event){
    store.unset(event);
    Event.observe(element, event, delegateHandler);
  };

  function clearSelector(element, store, selector, event, estore){
    estore.unset(selector);
    if (estore.values().length == 0){
      clearEvent(element, store, event);
    }
  }

  function stopDelegating(element, selector, event, handler){
    element = $(element);

    var store = Element.retrieve(element, 'prototype_delegates');
    if (Object.isUndefined(store)) return;

    switch(arguments.length){
      case 1: store.each(function(pair){ clearEvent(element, store, pair.key); }); break;
      case 2: store.each(function(pair){ clearSelector(element, store, selector, pair.key, pair.value); }); break;
      case 3:
          var estore = store.get(event);
          if (estore) clearSelector(element, store, selector, event, estore);
        break;
      default:
      case 4:
        var estore = store.get(event);
        if (!estore) return;

         var sstore = estore.get(selector);
         if (sstore){
            sstore = sstore.reject(function(c){ return c == handler; });
            if (sstore.length > 0){
              estore.set(selector, sstore);
            } else {
              clearSelector(element, store, selector, event, estore);
            }
        }
    }
  }

  document.delegate = delegate.methodize();
  document.stopDelegating = stopDelegating.methodize();
  Event.delegate = delegate;
  Event.stopDelegating = stopDelegating;
  Element.addMethods({ delegate: delegate, stopDelegating: stopDelegating });
})();

CD3.Accordion = Class.create({
	initialize: function(element, options){
		element = $(element);
		this.options = options = Object.extend({
			triggers:	'.trigger',
			content:	'.content',
			event:		'click',
			selected:	'selected',
			duration:	1,
			open:		'blindDown',
			close:		'blindUp'
		}, options || {});

		this.trigger	= null;
		this.containers	= element.select(options.content);
		this.current	= this.containers.find(Element.visible);

		element.select(options.triggers).each(function(trigger, key){
			if (trigger.hasClassName(options.selected) && trigger.hasClassName('first_0')  ) this.trigger = trigger;

			trigger.store('cd3:accordion:key', key);
		}.bind(this));
		
		element.delegate(options.triggers, options.event, this.activate.bind(this));
	},
	activate: function(e){
		e.stop();

		var options		= this.options,
			duration	= options.duration,
			trigger		= e.findElement(options.triggers),
			container	= this.containers[trigger.retrieve('cd3:accordion:key')];

		if (!container) return;

		if (this.trigger){
			this.trigger.removeClassName(options.selected);
			this.current[options.close]({duration: (duration > 0.2 ? duration - 0.2 : duration)});
		}

		if (container.visible()){
			this.current = null;
			this.trigger = null;
		} else {
			this.current = container[options.open]({duration: duration});
			this.trigger = trigger;
		}
	}
});

CD3.AdjustableTextarea = Class.create({
	initialize: function(textarea){
		this.textarea	= textarea = $(textarea);
		this.collapsed	= textarea.getHeight();
		this.rows		= parseInt(this.collapsed / 20);

		var callback = this.ajust.bind(this);

		textarea.observe('keypress', callback);
		textarea.observe('input', callback);
		textarea.observe('beforepaste', callback);

		textarea.style.height = this.getHeightStyle();
	},
	getHeightStyle: function(){
		return ( this.textarea.value.split("\n").length > this.rows ? this.collapsed * 2 : this.collapsed ) + 'px';
	},
	ajust: function(){
		var height = this.getHeightStyle();

		if (this.textarea.style.height != height)
			this.textarea.morph({height: height}, {duration: 0.5, queue: {scope: 'cd3:ajustarea', limit: 1}});
	}
});

/*
 * based on:
 *    Justin Palmer's EventSelectors (http://encytemedia.com/event-selectors)
 *    Dan Webb's LowPro (http://svn.danwebb.net/external/lowpro)
 */

CD3.Behaviors = (function(){
	function run(args){
		if (args.length == 1){
			var root = document, rules = args[0];
		} else {
			var root = $$(args[0]).first(), rules = args[1];
		}

		if (root) assign(root, Object.isFunction(rules) ? rules.call(root, root) : rules);
	}

	function assign(root, rules){
		for (var selector in rules){
			var observer = rules[selector], parts = selector.split(':'), css = parts.shift(), event = parts.join(':');
			Selector.findChildElements(root, [css]).each(function(element){
				if (event){
					observe(element, event, observer);
				} else if (observer.prototype && observer.prototype.initialize){
					new observer(element);
				} else if (Object.isFunction(observer)){
					observer.call(element, element);
				} else if (Object.isArray(observer)){
					var klass = observer.shift();
					new klass(element, observer.shift());
				} else {
					for(var e in observer) observe(element, e, observer[e]);
				}
			});
		}
	}

	function observe(element, event, observer){
		if (Object.isFunction(observer)){
			Event.observe(element, event, observer);
		} else {
			for(var selector in observer){
				Event.delegate(element, selector, event, observer[selector]);
			}
		}
	}

	return function(){
		if (document.loaded){
			run(arguments);
		} else {
			document.observe('dom:loaded', run.curry(arguments));
		}
	};
})();


CD3.Behaviors.Hover = function(hoverClass, selector){
	return {
		mouseover: function(){ (selector ? this.down(selector) : this).addClassName(hoverClass || 'hover'); },
		mouseout:  function(){ (selector ? this.down(selector) : this).removeClassName(hoverClass || 'hover'); }
	};
};

CD3.Behaviors.ScrollTo = {
	click: function(){
		var href = this.getAttribute('href');
		Effect.ScrollTo(href.substr(href.indexOf('#') + 1), { duration: 0.5 });
	}
};

CD3.Behaviors.Stop = function(e){
	Event.stop(e);
};

CD3.Behaviors.TitleAsDefaultValue = {
	focus: function(){ if (this.getValue() == this.getAttribute('title')) this.setValue(''); },
	blur:  function(){ if (this.getValue().length == 0) this.setValue(this.getAttribute('title')); }
};

CD3.Checkbox = Class.create({
	initialize: function(checkbox){
		this.checkbox	= $(checkbox).hide();
		this.button		= new Element('a', {className:'checkbox', href:'javascript:;'}).update(' ');

		this.checkbox.insert({before: this.button});
		this.button.observe('click', this.toggle.bind(this));

		if (this.checkbox.checked)
			this.button.addClassName('selected');
	},
	toggle: function(){
		this.checkbox.checked = !this.checkbox.checked;
		this.button[this.checkbox.checked ? 'addClassName' : 'removeClassName']('selected');
	}
});

CD3.DropDown = Class.create({
	initialize: function (container) {
		this.container	= $(container);
		this.link		= this.container.down('a.drop')
		this.div		= this.container.down('div').hide();
		this.ul			= this.container.down('ul');
		this.bindEvents();
	},
	bindEvents: function(){
		this.link.observe('click', this.toggle.bind(this));
		this.clickObserver = this.close.bind(this);
	},
	unbindEvents: function(){
		this.link.observe('click');
		document.stopObserving('click', this.clickObserver);
		this.clickObserver = Prototype.emptyFunction();
	},
	toggle: function(){
		this[this.div.visible() ? 'hide' : 'show']();
	},
	show: function(){
		Effect.BlindDown(this.div, {duration: 0.2});
		document.observe('click', this.clickObserver);
	},
	hide: function(){
		Effect.BlindUp(this.div, {duration: 0.1});
		document.stopObserving('click', this.clickObserver);
	},
	close: function(){
		if (this.div.visible()) this.hide();
	}
});
Effect.Mutate = function(from, into){
	from = $(from);
	from.makeClipping();
	from.absolutize();
	from.insert({after: $(into) || into});

	into = from.next();
	into.makeClipping();
	into.setOpacity(0.0);
	into.show();

	var style	= '',
		options	= Object.extend({ replace: false, resize: true }, arguments[2] || {})

	if (options.resize){
		var	fromDim = from.getDimensions(),
			intoDim = into.getDimensions();

		if (fromDim.width  != intoDim.width)  style += 'width: '  + intoDim.width  + 'px; ';
		if (fromDim.height != intoDim.height) style += 'height: ' + intoDim.height + 'px; ';

		into.setStyle({width: fromDim.width + 'px', height: fromDim.height + 'px' });
	}

	return new Effect.Parallel([
		new Effect.Morph(from, {sync: true, style: style + 'opacity: 0.0;'}),
		new Effect.Morph(into, {sync: true, style: style + 'opacity: 1.0;'})
	], Object.extend(options, {
		afterFinishInternal: function(e){
			into.undoClipping();
			into = null;

			if (e.options.replace){
				from.remove();
				from = null;
			} else {
				from.relativize();
				from.undoClipping();
				from.hide();
			}
		}
	}));
};

Effect.FadeBlind = function(element){
	return new Effect.Parallel([Effect.BlindUp(element, {sync: true}), Effect.Fade(element, {sync: true})], arguments[1] || {});
};
Effect.AppearBlind = function(element){
	return new Effect.Parallel([Effect.BlindDown(element, {sync: true}), Effect.Appear(element, {sync: true})], arguments[1] || {});
};

Effect.PAIRS['fading_blind'] = ['AppearBlind', 'FadeBlind'];

Element.addMethods({
	fadeBlind: function(element, options){
		element = $(element);
		Effect.FadeBlind(element, options);
		return element;
	},
	appearBlind: function(element, options){
		element = $(element);
		Effect.AppearBlind(element, options);
		return element;
	},
	mutateTo: function(element, into, options){
		element = $(element)
		Effect.Mutate(element, into, options)
		return element;
	},
	removeWithEffect: function(element, effect, options){
		element = $(element);
		options = options || {};

		options.afterFinish = 'afterFinish' in options ?
			options.afterFinish.wrap(function(callback, e){ callback(e); element.remove(); }) :
			function(){ element.remove(); };

		effect = effect.camelize();
		effect = effect.charAt(0).toUpperCase() + effect.substring(1);
		effect = Effect[effect];

		if (effect.prototype.initialize){
			new effect(element, options);
		} else {
			effect(element, options);
		}

		return element;
	}
});
Element.addMethods({
	extractId:  function(element){
		return (element.id && element.id.match(/\w+_(\d+)/)[1]) || 0;
	}
});

Element.addMethods('A', {
	request: function(element, options){
		element = $(element); if (!options) options = {};

		if (element.hasAttribute('data-confirm') && !confirm(element.getAttribute('data-confirm'))){
			return element;
		}

		if (!options.method){
			options.method = element.getAttribute('data-method') || 'get';
		}

		if (element.hasAttribute('data-update')){
			new Ajax.Updater(element.getAttribute('data-update'), element.href || window.location.href, options);
		} else {
			new Ajax.Request(element.href || window.location.href, options);
		}

		return element;
	}
});

CD3.FontSwitcher = Class.create({
	initialize: function(panel, content, options){
		panel	= $(panel);
		options = Object.extend({
			className:	'text-size-',
			max: 		4,
			reset:		'.reset',
			plus:		'.plus',
			minus:		'.minus',
			callback:	false
		}, options || {});

		if (options.plus)		panel.delegate(options.plus,  'click', this.change.bind(this, 1));
		if (options.reset)	panel.delegate(options.reset, 'click', this.change.bind(this, 0));
		if (options.minus)	panel.delegate(options.minus, 'click', this.change.bind(this, -1));

		this.size		= 0;
		this.maxSize	= options.max;
		this.className	= options.className;
		this.content	= $(content);
		this.callback	= options.callback;

		this.content.select('font[size]').each(function(font){
			font._size = parseInt(font.getAttribute('size'));
		});
	},
	change: function(size, e){
		if (e && 'stop' in e) e.stop();

		size = size == 0 ? 0 : this.size + size, 0;
		size = size <  0 ? 0 : (size > this.maxSize ? this.maxSize : size);

		if (this.size != 0){
			this.content.removeClassName(this.className + this.size);
		}

		if (size != 0){
			this.content.addClassName(this.className + size);
		}

		this.size = size;
		this.content.select('font[size]').each(function(font){
			font.setAttribute('size', font._size + size);
		});

		if (this.callback) this.callback.call(this);
	}
});

CD3.ImageLoader = function(){
	var loader;

	function clearLoader(){
		if (loader != null){
			loader.onload	= null;
			loader			= null;
		}
	}

	function onLoad(callback){
		callback(loader);
		clearLoader();
	}

	function load(src, callback){
		clearLoader();

		loader			= new Image();
		loader.onload	= onLoad.curry(callback);
		loader.src		= src;
	}

	if (arguments.length == 2){
		load(arguments[0], arguments[1]);
	}

	return load;
};

CD3.Radio = Class.create({
	initialize: function(radio){
		this.radio	= $(radio).hide();
		this.name	= this.radio.getAttribute('name') || this.radio.identify();
		this.button	= new Element('a', {className:'radio', href:'javascript:;'}).update(' ');

		this.radio.insert({before: this.button});

		this.button.observe('click', this.toggle.bind(this));
		this.refresh();

		if (!this.constructor._elements[this.name])
			this.constructor._elements[this.name] = [];
		this.constructor._elements[this.name].push(this);
	},
	toggle: function(){
		this.radio.checked = !this.radio.checked;
		this.constructor._elements[this.name].invoke('refresh');
	},
	refresh: function(){
		this.button[this.radio.checked ? 'addClassName' : 'removeClassName']('selected');
	}
});
CD3.Radio._elements = {};

Event.wheel = function(element, callback){
	var __onwheel = function(event){
		Event.stop(event);
		var delta = 0;
		if (!event)
			event = window.event;
		if (event.wheelDelta){
			delta = event.wheelDelta/120;
			if (window.opera) delta = -delta;
		} else if (event.detail)
			delta = -event.detail/3;
		delta = Math.round(delta, event); //Safari Round
		callback(delta);
	}

	if(window.addEventListener)	// FF/DOM-Compliant Browsers
		$(element).addEventListener('DOMMouseScroll', __onwheel, false);
	else if(document.attachEvent) // IE
		$(element).observe('mousewheel', __onwheel);
};

CD3.Scroller = Class.create({
	initialize: function(container, scroller, options){
		options = Object.extend({
			styleArrow:		'arrow',
			styleMoveUp:	'moveup',
			styleMoveDown:	'movedown',
			styleSlider:	'slider',
			drag:           true,
			speed:			1
		}, options || {});

		this.speed		= options.speed;
		this.container	= $(container);
		this.scroller	= $(scroller);
		this.handle		= this.scroller.down('.' + options.styleSlider);

		this.scroller.select('.' + options.styleArrow).each(function(stop, arrow){
			arrow.observe('mouseup',  stop);
			arrow.observe('mouseout', stop);
		}.curry(this.stopScroll.bind(this)));

		this.scroller.observe('mousedown', function(e){
			var arrow = e.findElement('.' + options.styleArrow);
			if (arrow) this.startScroll(arrow.hasClassName(options.styleMoveUp) ? -1 : 1);
		}.bind(this));

		if (options.drag) new Draggable(this.handle,{
			constraint:	'vertical',
			snap:		function(x, y){ return [x, this.validateTopPosition(y)]; }.bind(this),
			change:		this.traceHandlePosition.bind(this)
		});

		var trackpath = $(this.handle.parentNode).observe('click', this.traceSliderClick.bind(this));

		this.trackpathPositionY	= trackpath.cumulativeOffset()[1];
		this.sliderMaxHeight	= trackpath.getHeight() - this.handle.getHeight();

		Event.wheel(this.container, this.traceMouseWheel.bind(this));

		this.checkIfneeded();
	},
	startScroll: function(value){
		this.interval = setInterval(this.scrollBy.bind(this, value), 3);
	},
	stopScroll: function(){
		clearInterval(this.interval);
		this.interval = null;
	},
	scrollBy: function(dir){
		this.handle.style.top = this.validateTopPosition( this.getScrollPosition() + dir * this.speed ) + 'px';
		this.traceHandlePosition();
	},
	setHandlePosition: function(){
		this.handle.style.top = (this.sliderMaxHeight * (this.container.scrollTop / this.getVisibleHeight())) + 'px';
	},
	validateTopPosition: function(y){
		if (y <= 0)						return 0;
		if (y >= this.sliderMaxHeight)	return this.sliderMaxHeight;

		return y;
	},
	traceHandlePosition: function(){
		this.container.scrollTop = this.getVisibleHeight() * (this.getScrollPosition() / this.sliderMaxHeight);
	},
	traceMouseWheel: function(delta){
		if (delta != 0) this.scrollBy(delta > 0 ? -15 : 15);
	},
	traceSliderClick: function(e){
		var clickedY = e.pointerY()  - this.trackpathPositionY,
			top		 = this.getScrollPosition(),
			height	 = this.handle.getHeight();

		if (clickedY < top || (top+height) < clickedY)
			new Effect.Morph(this.handle, {
				style:		 	{ top : this.validateTopPosition(clickedY) + 'px'},
				duration:	 	0.5,
				afterUpdate:	this.traceHandlePosition.bind(this),
				queue:			{scope: 'cd3:scroller', limit:1}
			});
	},
	getScrollPosition: function(){
		return parseInt(this.handle.style.top) || 0;
	},
	getVisibleHeight: function(){
		return this.container.scrollHeight - this.container.offsetHeight;
	},
	checkIfneeded: function(){
		this.scroller[this.container.scrollHeight > this.container.offsetHeight ? 'hide' : 'show']();
	}
});
CD3.Scroller.createIfNeeded = function(container, scroller, options){
	container  = $(container);

	if (container.scrollHeight <= container.offsetHeight){
		$(scroller).hide();
		return null;
	}

	return new CD3.Scroller(container, scroller, options);
}

CD3.Select = Class.create(CD3.DropDown, {
	initialize: function(select){
		select = $(select);

		this.container	= new Element('span', {className:'dropper'});
		this.link		= new Element('a', {href: 'javascript:;', className: 'drop'})
		this.linkspan	= new Element('span').update(select.selectedIndex > -1 ? select.options[select.selectedIndex || 0].text : '');
		this.hidden		= new Element('input', {type: 'hidden', name: select.name, value: select.getValue()});
		this.div		= new Element('div').hide();
		this.ul			= new Element('ul').observe('click', this.selectOption.bind(this));

		if (select.className)
			this.container.addClassName(select.className);

		select.insert({
			 before: this.container
				.insert(this.link.insert(this.linkspan))
				.insert(this.hidden)
				.insert(this.div.insert(this.ul))
		});

		var options = Object.extend({
			onChange: null,
			topBottom: false,
			reference: false,
			scrollLimit: 6
		}, arguments[1] || {});

		if (options.topBottom)
			this.ul.insert({
				before:	new Element('span', {className: 'top'}).insert(new Element('span')),
				after:	new Element('span', {className: 'bottom'}).insert(new Element('span'))
			});

		if (options.onChange) this.onChange = options.onChange;

		$A(select.options).each(this.addOption.bind(this))

		if (options.length > options.scrollLimit)
			this.div.addClassName('scrolled');

		if (options.reference)
			this.constructor.instances[Object.isString(options.reference) ? options.reference : select.name] = this;

		Element.remove(select);

		this.bindEvents();
	},
	destroy: function(){
		this.unbindEvents();
		this.removeOptions();
		this.container.remove();
	},
	addOption: function (option){
		this.ul.insert(new Element('li').insert(
			new Element('a', {href: 'javascript:;'})
				.store('option', {text: option.text, value: option.value != null ? option.value : option.text})
				.update(option.text)
		));
	},
	removeOptions: function(){
		this.ul.select('li').each(function(li){
			li.down('a').store('option', null).stopObserving('click');
			li.remove();
		});
	},
	setOptions: function(options, dontClear){
		if (dontClear !== true) this.removeOptions();

		$A(options).each(this.addOption.bind(this));

		if (dontClear !== true) this.select(options[0]);
	},
	selectOption: function(e){
		var element = e.findElement('a');
		if (element) this.select(element.retrieve('option'));
	},
	select: function(option){
		this.linkspan.innerHTML = option.text;
		this.hidden.value		= option.value;
		this.hide();

		if (this.onChange)
			this.onChange.call(this, option.value);
	}
});

CD3.Select.instances = {};

CD3.setRule = function(selector, styles){
	var i, x, sheet, rules;

	for (x = document.styleSheets.length - 1; 0 <= x ; x--){
		sheet = document.styleSheets[x];
		rules = sheet.cssRules || sheet.rules;

		for (i = rules.length - 1; 0 <= i; i--){
			if (rules[i].selectorText == selector){
				return Object.extend(rules[i].style, styles);
			}
		}
	}

	var index = rules.length;
	if (sheet.insertRule){ // Normal browsers
		sheet.insertRule(selector + '{ }', index);
	} else /* if (sheet.addRule) */ { // IE
		sheet.addRule(selector, ';', index);
	}

	Object.extend((sheet.cssRules || sheet.rules)[index].style, styles);
}

CD3.Slider = Class.create({
	initialize: function(container, options){
		var options = Object.extend({
			prev: 			null,
			next:			null,
			scrollBy:		1,
			scrollType:		'horizontal',
			event:			'click',
			beforeSlide:	false,
			afterSlide:		false,
			effectDuration: 0.8
		}, options || {});

		this.container	= $(container);
		this.scroll		= options.scrollType == 'vertical' ? ['top', 'offsetHeight', 'y'] : ['left', 'offsetWidth', 'x'];
		this.prev		= $(options.prev).observe(options.event, this.slide.bind(this, options.scrollBy));
		this.next		= $(options.next).observe(options.event, this.slide.bind(this, -options.scrollBy));
		this.sliding	= false;

		this.effectOptions = {
			duration:		options.effectDuration || 0.8 ,
			queue:			{scope: 'cd3:slider', limit:1},
			afterFinish:	this.afterSlide.bind(this, options.afterSlide)
		};

		if (options.beforeSlide){
			this.effectOptions = options.beforeSlide.bind(this);
		}

		var pos = parseInt(this.container.style[this.scroll[0]]) || 0;

		this.setVisibility('prev', pos != 0);
		this.setVisibility('next', this.container[this.scroll[1]] - (options.scrollBy - pos) >= 1);
	},
	setVisibility: function(button, visible){
		this[button].style.visibility = visible ? 'visible' : 'hidden';
	},
	slide: function(moveBy){
	
		if (this.sliding) return;

		var property	= parseInt(this.container.style[this.scroll[0]]) || 0,	// top or left
			offset		= this.container[this.scroll[1]]; // offsetHeight or offsetWidth

		if ((moveBy > 0 && property > 0) || (moveBy < 0 && property + offset + moveBy < 0)) return;

		this.setVisibility('prev', property + moveBy < 0);
		this.setVisibility('next', offset + property + moveBy * 2 > 1);
		this.sliding = true;

		moveBy = moveBy < 0 ? Math.max(moveBy, - (offset + property + moveBy)) : Math.min(moveBy, -property);

		var options = this.effectOptions;
		options[this.scroll[2]] = moveBy; // x or y

		new Effect.Move(this.container, options);
	},
	afterSlide: function(callback){
		this.sliding = false;
		if (callback) callback.call(this);
	}
});

(function(){
	function focusInHandler(e){
		e.element().fire("focus:in")
	}
	function focusOutHandler(e){
		e.element().fire("focus:out")
	}
 
	if (document.addEventListener){
		document.addEventListener("focus", focusInHandler, true);
		document.addEventListener("blur", focusOutHandler, true);
	} else {
		document.observe("focusin", focusInHandler);
		document.observe("focusout", focusOutHandler);
	}
})();
