// cufon.js
// cufon.js
/*!
* Copyright (c) 2010 Simo Kinnunen.
* Licensed under the MIT license.
*
* @version ${Version}
*/

var Cufon = (function () {
    var api = function () {
        return api.replace.apply(null, arguments);
    };
    var DOM = api.DOM = {

        ready: (function () {

            var complete = false, readyStatus = { loaded: 1, complete: 1 };

            var queue = [], perform = function () {
                if (complete) return;
                complete = true;
                for (var fn; fn = queue.shift(); fn());
            };

            // Gecko, Opera, WebKit r26101+

            if (document.addEventListener) {
                document.addEventListener('DOMContentLoaded', perform, false);
                window.addEventListener('pageshow', perform, false); // For cached Gecko pages
            }

            // Old WebKit, Internet Explorer

            if (!window.opera && document.readyState) (function () {
                readyStatus[document.readyState] ? perform() : setTimeout(arguments.callee, 10);
            })();

            // Internet Explorer

            if (document.readyState && document.createStyleSheet) (function () {
                try {
                    document.body.doScroll('left');
                    perform();
                }
                catch (e) {
                    setTimeout(arguments.callee, 1);
                }
            })();

            addEvent(window, 'load', perform); // Fallback

            return function (listener) {
                if (!arguments.length) perform();
                else complete ? listener() : queue.push(listener);
            };

        })(),

        root: function () {
            return document.documentElement || document.body;
        }

    };

    var CSS = api.CSS = {

        Size: function (value, base) {

            this.value = parseFloat(value);
            this.unit = String(value).match(/[a-z%]*$/)[0] || 'px';

            this.convert = function (value) {
                return value / base * this.value;
            };

            this.convertFrom = function (value) {
                return value / this.value * base;
            };

            this.toString = function () {
                return this.value + this.unit;
            };

        },

        addClass: function (el, className) {
            var current = el.className;
            el.className = current + (current && ' ') + className;
            return el;
        },

        color: cached(function (value) {
            var parsed = {};
            parsed.color = value.replace(/^rgba\((.*?),\s*([\d.]+)\)/, function ($0, $1, $2) {
                parsed.opacity = parseFloat($2);
                return 'rgb(' + $1 + ')';
            });
            return parsed;
        }),

        // has no direct CSS equivalent.
        // @see http://msdn.microsoft.com/en-us/library/system.windows.fontstretches.aspx
        fontStretch: cached(function (value) {
            if (typeof value == 'number') return value;
            if (/%$/.test(value)) return parseFloat(value) / 100;
            return {
                'ultra-condensed': 0.5,
                'extra-condensed': 0.625,
                condensed: 0.75,
                'semi-condensed': 0.875,
                'semi-expanded': 1.125,
                expanded: 1.25,
                'extra-expanded': 1.5,
                'ultra-expanded': 2
            }[value] || 1;
        }),

        getStyle: function (el) {
            var view = document.defaultView;
            if (view && view.getComputedStyle) return new Style(view.getComputedStyle(el, null));
            if (el.currentStyle) return new Style(el.currentStyle);
            return new Style(el.style);
        },

        gradient: cached(function (value) {
            var gradient = {
                id: value,
                type: value.match(/^-([a-z]+)-gradient\(/)[1],
                stops: []
            }, colors = value.substr(value.indexOf('(')).match(/([\d.]+=)?(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)/ig);
            for (var i = 0, l = colors.length, stop; i < l; ++i) {
                stop = colors[i].split('=', 2).reverse();
                gradient.stops.push([stop[1] || i / (l - 1), stop[0]]);
            }
            return gradient;
        }),

        quotedList: cached(function (value) {
            // doesn't work properly with empty quoted strings (""), but
            // it's not worth the extra code.
            var list = [], re = /\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g, match;
            while (match = re.exec(value)) list.push(match[3] || match[1]);
            return list;
        }),

        recognizesMedia: cached(function (media) {
            var el = document.createElement('style'), sheet, container, supported;
            el.type = 'text/css';
            el.media = media;
            try { // this is cached anyway
                el.appendChild(document.createTextNode('/**/'));
            } catch (e) { }
            container = elementsByTagName('head')[0];
            container.insertBefore(el, container.firstChild);
            sheet = (el.sheet || el.styleSheet);
            supported = sheet && !sheet.disabled;
            container.removeChild(el);
            return supported;
        }),

        removeClass: function (el, className) {
            var re = RegExp('(?:^|\\s+)' + className + '(?=\\s|$)', 'g');
            el.className = el.className.replace(re, '');
            return el;
        },

        supports: function (property, value) {
            var checker = document.createElement('span').style;
            if (checker[property] === undefined) return false;
            checker[property] = value;
            return checker[property] === value;
        },

        textAlign: function (word, style, position, wordCount) {
            if (style.get('textAlign') == 'right') {
                if (position > 0) word = ' ' + word;
            }
            else if (position < wordCount - 1) word += ' ';
            return word;
        },

        textShadow: cached(function (value) {
            if (value == 'none') return null;
            var shadows = [], currentShadow = {}, result, offCount = 0;
            var re = /(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig;
            while (result = re.exec(value)) {
                if (result[0] == ',') {
                    shadows.push(currentShadow);
                    currentShadow = {};
                    offCount = 0;
                }
                else if (result[1]) {
                    currentShadow.color = result[1];
                }
                else {
                    currentShadow[['offX', 'offY', 'blur'][offCount++]] = result[2];
                }
            }
            shadows.push(currentShadow);
            return shadows;
        }),

        textTransform: (function () {
            var map = {
                uppercase: function (s) {
                    return s.toUpperCase();
                },
                lowercase: function (s) {
                    return s.toLowerCase();
                },
                capitalize: function (s) {
                    return s.replace(/\b./g, function ($0) {
                        return $0.toUpperCase();
                    });
                }
            };
            return function (text, style) {
                var transform = map[style.get('textTransform')];
                return transform ? transform(text) : text;
            };
        })(),

        whiteSpace: (function () {
            var ignore = {
                inline: 1,
                'inline-block': 1,
                'run-in': 1
            };
            var wsStart = /^\s+/, wsEnd = /\s+$/;
            return function (text, style, node, previousElement) {
                if (previousElement) {
                    if (previousElement.nodeName.toLowerCase() == 'br') {
                        text = text.replace(wsStart, '');
                    }
                }
                if (ignore[style.get('display')]) return text;
                if (!node.previousSibling) text = text.replace(wsStart, '');
                if (!node.nextSibling) text = text.replace(wsEnd, '');
                return text;
            };
        })()

    };

    CSS.ready = (function () {

        // don't do anything in Safari 2 (it doesn't recognize any media type)
        var complete = !CSS.recognizesMedia('all'), hasLayout = false;

        var queue = [], perform = function () {
            complete = true;
            for (var fn; fn = queue.shift(); fn());
        };

        var links = elementsByTagName('link'), styles = elementsByTagName('style');

        function isContainerReady(el) {
            return el.disabled || isSheetReady(el.sheet, el.media || 'screen');
        }

        function isSheetReady(sheet, media) {
            // in Opera sheet.disabled is true when it's still loading,
            // even though link.disabled is false. they stay in sync if
            // set manually.
            if (!CSS.recognizesMedia(media || 'all')) return true;
            if (!sheet || sheet.disabled) return false;
            try {
                var rules = sheet.cssRules, rule;
                if (rules) {
                    // needed for Safari 3 and Chrome 1.0.
                    // in standards-conforming browsers cssRules contains @-rules.
                    // Chrome 1.0 weirdness: rules[<number larger than .length - 1>]
                    // returns the last rule, so a for loop is the only option.
                    search: for (var i = 0, l = rules.length; rule = rules[i], i < l; ++i) {
                        switch (rule.type) {
                            case 2: // @charset
                                break;
                            case 3: // @import
                                if (!isSheetReady(rule.styleSheet, rule.media.mediaText)) return false;
                                break;
                            default:
                                // only @charset can precede @import
                                break search;
                        }
                    }
                }
            }
            catch (e) { } // probably a style sheet from another domain
            return true;
        }

        function allStylesLoaded() {
            // Internet Explorer's style sheet model, there's no need to do anything
            if (document.createStyleSheet) return true;
            // standards-compliant browsers
            var el, i;
            for (i = 0; el = links[i]; ++i) {
                if (el.rel.toLowerCase() == 'stylesheet' && !isContainerReady(el)) return false;
            }
            for (i = 0; el = styles[i]; ++i) {
                if (!isContainerReady(el)) return false;
            }
            return true;
        }

        DOM.ready(function () {
            // getComputedStyle returns null in Gecko if used in an iframe with display: none
            if (!hasLayout) hasLayout = CSS.getStyle(document.body).isUsable();
            if (complete || (hasLayout && allStylesLoaded())) perform();
            else setTimeout(arguments.callee, 10);
        });

        return function (listener) {
            if (complete) listener();
            else queue.push(listener);
        };

    })();

    function Font(data) {

        var face = this.face = data.face, wordSeparators = {
            '\u0020': 1,
            '\u00a0': 1,
            '\u3000': 1
        };

        this.glyphs = data.glyphs;
        this.w = data.w;
        this.baseSize = parseInt(face['units-per-em'], 10);

        this.family = face['font-family'].toLowerCase();
        this.weight = face['font-weight'];
        this.style = face['font-style'] || 'normal';

        this.viewBox = (function () {
            var parts = face.bbox.split(/\s+/);
            var box = {
                minX: parseInt(parts[0], 10),
                minY: parseInt(parts[1], 10),
                maxX: parseInt(parts[2], 10),
                maxY: parseInt(parts[3], 10)
            };
            box.width = box.maxX - box.minX;
            box.height = box.maxY - box.minY;
            box.toString = function () {
                return [this.minX, this.minY, this.width, this.height].join(' ');
            };
            return box;
        })();

        this.ascent = -parseInt(face.ascent, 10);
        this.descent = -parseInt(face.descent, 10);

        this.height = -this.ascent + this.descent;

        this.spacing = function (chars, letterSpacing, wordSpacing) {
            var glyphs = this.glyphs, glyph,
				kerning, k,
				jumps = [],
				width = 0, w,
				i = -1, j = -1, chr;
            while (chr = chars[++i]) {
                glyph = glyphs[chr] || this.missingGlyph;
                if (!glyph) continue;
                if (kerning) {
                    width -= k = kerning[chr] || 0;
                    jumps[j] -= k;
                }
                w = glyph.w;
                if (isNaN(w)) w = +this.w; // may have been a String in old fonts
                if (w > 0) {
                    w += letterSpacing;
                    if (wordSeparators[chr]) w += wordSpacing;
                }
                width += jumps[++j] = ~ ~w; // get rid of decimals
                kerning = glyph.k;
            }
            jumps.total = width;
            return jumps;
        };

    }

    function FontFamily() {

        var styles = {}, mapping = {
            oblique: 'italic',
            italic: 'oblique'
        };

        this.add = function (font) {
            (styles[font.style] || (styles[font.style] = {}))[font.weight] = font;
        };

        this.get = function (style, weight) {
            var weights = styles[style] || styles[mapping[style]]
				|| styles.normal || styles.italic || styles.oblique;
            if (!weights) return null;
            // we don't have to worry about "bolder" and "lighter"
            // because IE's currentStyle returns a numeric value for it,
            // and other browsers use the computed value anyway
            weight = {
                normal: 400,
                bold: 700
            }[weight] || parseInt(weight, 10);
            if (weights[weight]) return weights[weight];
            // http://www.w3.org/TR/CSS21/fonts.html#propdef-font-weight
            // Gecko uses x99/x01 for lighter/bolder
            var up = {
                1: 1,
                99: 0
            }[weight % 100], alts = [], min, max;
            if (up === undefined) up = weight > 400;
            if (weight == 500) weight = 400;
            for (var alt in weights) {
                if (!hasOwnProperty(weights, alt)) continue;
                alt = parseInt(alt, 10);
                if (!min || alt < min) min = alt;
                if (!max || alt > max) max = alt;
                alts.push(alt);
            }
            if (weight < min) weight = min;
            if (weight > max) weight = max;
            alts.sort(function (a, b) {
                return (up
					? (a >= weight && b >= weight) ? a < b : a > b
					: (a <= weight && b <= weight) ? a > b : a < b) ? -1 : 1;
            });
            return weights[alts[0]];
        };

    }

    function HoverHandler() {

        function contains(node, anotherNode) {
            try {
                if (node.contains) return node.contains(anotherNode);
                return node.compareDocumentPosition(anotherNode) & 16;
            }
            catch (e) { } // probably a XUL element such as a scrollbar
            return false;
        }

        function onOverOut(e) {
            var related = e.relatedTarget;
            // there might be no relatedTarget if the element is right next
            // to the window frame
            if (related && contains(this, related)) return;
            trigger(this, e.type == 'mouseover');
        }

        function onEnterLeave(e) {
            trigger(this, e.type == 'mouseenter');
        }

        function trigger(el, hoverState) {
            // A timeout is needed so that the event can actually "happen"
            // before replace is triggered. This ensures that styles are up
            // to date.
            setTimeout(function () {
                var options = sharedStorage.get(el).options;
                api.replace(el, hoverState ? merge(options, options.hover) : options, true);
            }, 10);
        }

        this.attach = function (el) {
            if (el.onmouseenter === undefined) {
                addEvent(el, 'mouseover', onOverOut);
                addEvent(el, 'mouseout', onOverOut);
            }
            else {
                addEvent(el, 'mouseenter', onEnterLeave);
                addEvent(el, 'mouseleave', onEnterLeave);
            }
        };

    }

    function ReplaceHistory() {

        var list = [], map = {};

        function filter(keys) {
            var values = [], key;
            for (var i = 0; key = keys[i]; ++i) values[i] = list[map[key]];
            return values;
        }

        this.add = function (key, args) {
            map[key] = list.push(args) - 1;
        };

        this.repeat = function () {
            var snapshot = arguments.length ? filter(arguments) : list, args;
            for (var i = 0; args = snapshot[i++]; ) api.replace(args[0], args[1], true);
        };

    }

    function Storage() {

        var map = {}, at = 0;

        function identify(el) {
            return el.cufid || (el.cufid = ++at);
        }

        this.get = function (el) {
            var id = identify(el);
            return map[id] || (map[id] = {});
        };

    }

    function Style(style) {

        var custom = {}, sizes = {};

        this.extend = function (styles) {
            for (var property in styles) {
                if (hasOwnProperty(styles, property)) custom[property] = styles[property];
            }
            return this;
        };

        this.get = function (property) {
            return custom[property] != undefined ? custom[property] : style[property];
        };

        this.getSize = function (property, base) {
            return sizes[property] || (sizes[property] = new CSS.Size(this.get(property), base));
        };

        this.isUsable = function () {
            return !!style;
        };

    }

    function addEvent(el, type, listener) {
        if (el.addEventListener) {
            el.addEventListener(type, listener, false);
        }
        else if (el.attachEvent) {
            el.attachEvent('on' + type, function () {
                return listener.call(el, window.event);
            });
        }
    }

    function attach(el, options) {
        var storage = sharedStorage.get(el);
        if (storage.options) return el;
        if (options.hover && options.hoverables[el.nodeName.toLowerCase()]) {
            hoverHandler.attach(el);
        }
        storage.options = options;
        return el;
    }

    function cached(fun) {
        var cache = {};
        return function (key) {
            if (!hasOwnProperty(cache, key)) cache[key] = fun.apply(null, arguments);
            return cache[key];
        };
    }

    function getFont(el, style) {
        var families = CSS.quotedList(style.get('fontFamily').toLowerCase()), family;
        for (var i = 0; family = families[i]; ++i) {
            if (fonts[family]) return fonts[family].get(style.get('fontStyle'), style.get('fontWeight'));
        }
        return null;
    }

    function elementsByTagName(query) {
        return document.getElementsByTagName(query);
    }

    function hasOwnProperty(obj, property) {
        return obj.hasOwnProperty(property);
    }

    function merge() {
        var merged = {}, arg, key;
        for (var i = 0, l = arguments.length; arg = arguments[i], i < l; ++i) {
            for (key in arg) {
                if (hasOwnProperty(arg, key)) merged[key] = arg[key];
            }
        }
        return merged;
    }

    function process(font, text, style, options, node, el) {
        var fragment = document.createDocumentFragment(), processed;
        if (text === '') return fragment;
        var separate = options.separate;
        var parts = text.split(separators[separate]), needsAligning = (separate == 'words');
        if (needsAligning && HAS_BROKEN_REGEXP) {
            // @todo figure out a better way to do this
            if (/^\s/.test(text)) parts.unshift('');
            if (/\s$/.test(text)) parts.push('');
        }
        for (var i = 0, l = parts.length; i < l; ++i) {
            processed = engines[options.engine](font,
				needsAligning ? CSS.textAlign(parts[i], style, i, l) : parts[i],
				style, options, node, el, i < l - 1);
            if (processed) fragment.appendChild(processed);
        }
        return fragment;
    }

    function replaceElement(el, options) {
        var name = el.nodeName.toLowerCase();
        if (options.ignore[name]) return;
        var replace = !options.textless[name];
        var style = CSS.getStyle(attach(el, options)).extend(options);
        // may cause issues if the element contains other elements
        // with larger fontSize, however such cases are rare and can
        // be fixed by using a more specific selector
        if (parseFloat(style.get('fontSize')) === 0) return;
        var font = getFont(el, style), node, type, next, anchor, text, lastElement;
        if (!font) return;
        for (node = el.firstChild; node; node = next) {
            type = node.nodeType;
            next = node.nextSibling;
            if (replace && type == 3) {
                // Node.normalize() is broken in IE 6, 7, 8
                if (anchor) {
                    anchor.appendData(node.data);
                    el.removeChild(node);
                }
                else anchor = node;
                if (next) continue;
            }
            if (anchor) {
                el.replaceChild(process(font,
					CSS.whiteSpace(anchor.data, style, anchor, lastElement),
					style, options, node, el), anchor);
                anchor = null;
            }
            if (type == 1) {
                if (node.firstChild) {
                    if (node.nodeName.toLowerCase() == 'cufon') {
                        engines[options.engine](font, null, style, options, node, el);
                    }
                    else arguments.callee(node, options);
                }
                lastElement = node;
            }
        }
    }

    var HAS_BROKEN_REGEXP = ' '.split(/\s+/).length == 0;

    var sharedStorage = new Storage();
    var hoverHandler = new HoverHandler();
    var replaceHistory = new ReplaceHistory();
    var initialized = false;

    var engines = {}, fonts = {}, defaultOptions = {
        autoDetect: false,
        engine: null,
        //fontScale: 1,
        //fontScaling: false,
        forceHitArea: false,
        hover: false,
        hoverables: {
            a: true
        },
        ignore: {
            applet: 1,
            canvas: 1,
            col: 1,
            colgroup: 1,
            head: 1,
            iframe: 1,
            map: 1,
            noscript: 1,
            optgroup: 1,
            option: 1,
            script: 1,
            select: 1,
            style: 1,
            textarea: 1,
            title: 1,
            pre: 1
        },
        printable: true,
        //rotation: 0,
        //selectable: false,
        selector: (
				window.Sizzle
			|| (window.jQuery && function (query) { return jQuery(query); }) // avoid noConflict issues
			|| (window.dojo && dojo.query)
			|| (window.glow && glow.dom && glow.dom.get)
			|| (window.Ext && Ext.query)
			|| (window.YAHOO && YAHOO.util && YAHOO.util.Selector && YAHOO.util.Selector.query)
			|| (window.$$ && function (query) { return $$(query); })
			|| (window.$ && function (query) { return $(query); })
			|| (document.querySelectorAll && function (query) { return document.querySelectorAll(query); })
			|| elementsByTagName
		),
        separate: 'words', // 'none' and 'characters' are also accepted
        textless: {
            dl: 1,
            html: 1,
            ol: 1,
            table: 1,
            tbody: 1,
            thead: 1,
            tfoot: 1,
            tr: 1,
            ul: 1
        },
        textShadow: 'none'
    };

    var separators = {
        // The first pattern may cause unicode characters above
        // code point 255 to be removed in Safari 3.0. Luckily enough
        // Safari 3.0 does not include non-breaking spaces in \s, so
        // we can just use a simple alternative pattern.
        words: /\s/.test('\u00a0') ? /[^\S\u00a0]+/ : /\s+/,
        characters: '',
        none: /^/
    };

    api.now = function () {
        DOM.ready();
        return api;
    };

    api.refresh = function () {
        replaceHistory.repeat.apply(replaceHistory, arguments);
        return api;
    };

    api.registerEngine = function (id, engine) {
        if (!engine) return api;
        engines[id] = engine;
        return api.set('engine', id);
    };

    api.registerFont = function (data) {
        if (!data) return api;
        var font = new Font(data), family = font.family;
        if (!fonts[family]) fonts[family] = new FontFamily();
        fonts[family].add(font);
        return api.set('fontFamily', '"' + family + '"');
    };

    api.replace = function (elements, options, ignoreHistory) {
        options = merge(defaultOptions, options);
        if (!options.engine) return api; // there's no browser support so we'll just stop here
        if (!initialized) {
            CSS.addClass(DOM.root(), 'cufon-active cufon-loading');
            CSS.ready(function () {
                // fires before any replace() calls, but it doesn't really matter
                CSS.addClass(CSS.removeClass(DOM.root(), 'cufon-loading'), 'cufon-ready');
            });
            initialized = true;
        }
        if (options.hover) options.forceHitArea = true;
        if (options.autoDetect) delete options.fontFamily;
        if (typeof options.textShadow == 'string') {
            options.textShadow = CSS.textShadow(options.textShadow);
        }
        if (typeof options.color == 'string' && /^-/.test(options.color)) {
            options.textGradient = CSS.gradient(options.color);
        }
        else delete options.textGradient;
        if (!ignoreHistory) replaceHistory.add(elements, arguments);
        if (elements.nodeType || typeof elements == 'string') elements = [elements];
        CSS.ready(function () {
            for (var i = 0, l = elements.length; i < l; ++i) {
                var el = elements[i];
                if (typeof el == 'string') api.replace(options.selector(el), options, true);
                else replaceElement(el, options);
            }
        });
        return api;
    };

    api.set = function (option, value) {
        defaultOptions[option] = value;
        return api;
    };

    return api;

})();

Cufon.registerEngine('canvas', (function () {

    // Safari 2 doesn't support .apply() on native methods

    var check = document.createElement('canvas');
    if (!check || !check.getContext || !check.getContext.apply) return;
    check = null;

    var HAS_INLINE_BLOCK = Cufon.CSS.supports('display', 'inline-block');

    // Firefox 2 w/ non-strict doctype (almost standards mode)
    var HAS_BROKEN_LINEHEIGHT = !HAS_INLINE_BLOCK && (document.compatMode == 'BackCompat' || /frameset|transitional/i.test(document.doctype.publicId));

    var styleSheet = document.createElement('style');
    styleSheet.type = 'text/css';
    styleSheet.appendChild(document.createTextNode((
		'cufon{text-indent:0;}' +
		'@media screen,projection{' +
			'cufon{display:inline;display:inline-block;position:relative;vertical-align:middle;' +
			(HAS_BROKEN_LINEHEIGHT
				? ''
				: 'font-size:1px;line-height:1px;') +
			'}cufon cufontext{display:-moz-inline-box;display:inline-block;width:0;height:0;text-indent:-10000in;}' +
			(HAS_INLINE_BLOCK
				? 'cufon canvas{position:relative;}'
				: 'cufon canvas{position:absolute;}') +
		'}' +
		'@media print{' +
			'cufon{padding:0;}' + // Firefox 2
			'cufon canvas{display:none;}' +
		'}'
	).replace(/;/g, '!important;')));
    document.getElementsByTagName('head')[0].appendChild(styleSheet);

    function generateFromVML(path, context) {
        var atX = 0, atY = 0;
        var code = [], re = /([mrvxe])([^a-z]*)/g, match;
        generate: for (var i = 0; match = re.exec(path); ++i) {
            var c = match[2].split(',');
            switch (match[1]) {
                case 'v':
                    code[i] = { m: 'bezierCurveTo', a: [atX + ~ ~c[0], atY + ~ ~c[1], atX + ~ ~c[2], atY + ~ ~c[3], atX += ~ ~c[4], atY += ~ ~c[5]] };
                    break;
                case 'r':
                    code[i] = { m: 'lineTo', a: [atX += ~ ~c[0], atY += ~ ~c[1]] };
                    break;
                case 'm':
                    code[i] = { m: 'moveTo', a: [atX = ~ ~c[0], atY = ~ ~c[1]] };
                    break;
                case 'x':
                    code[i] = { m: 'closePath' };
                    break;
                case 'e':
                    break generate;
            }
            context[code[i].m].apply(context, code[i].a);
        }
        return code;
    }

    function interpret(code, context) {
        for (var i = 0, l = code.length; i < l; ++i) {
            var line = code[i];
            context[line.m].apply(context, line.a);
        }
    }

    return function (font, text, style, options, node, el) {

        var redraw = (text === null);

        if (redraw) text = node.getAttribute('alt');

        var viewBox = font.viewBox;

        var size = style.getSize('fontSize', font.baseSize);

        var expandTop = 0, expandRight = 0, expandBottom = 0, expandLeft = 0;
        var shadows = options.textShadow, shadowOffsets = [];
        if (shadows) {
            for (var i = shadows.length; i--; ) {
                var shadow = shadows[i];
                var x = size.convertFrom(parseFloat(shadow.offX));
                var y = size.convertFrom(parseFloat(shadow.offY));
                shadowOffsets[i] = [x, y];
                if (y < expandTop) expandTop = y;
                if (x > expandRight) expandRight = x;
                if (y > expandBottom) expandBottom = y;
                if (x < expandLeft) expandLeft = x;
            }
        }

        var chars = Cufon.CSS.textTransform(text, style).split('');

        var jumps = font.spacing(chars,
			~ ~size.convertFrom(parseFloat(style.get('letterSpacing')) || 0),
			~ ~size.convertFrom(parseFloat(style.get('wordSpacing')) || 0)
		);

        if (!jumps.length) return null; // there's nothing to render

        var width = jumps.total;

        expandRight += viewBox.width - jumps[jumps.length - 1];
        expandLeft += viewBox.minX;

        var wrapper, canvas;

        if (redraw) {
            wrapper = node;
            canvas = node.firstChild;
        }
        else {
            wrapper = document.createElement('cufon');
            wrapper.className = 'cufon cufon-canvas';
            wrapper.setAttribute('alt', text);

            canvas = document.createElement('canvas');
            wrapper.appendChild(canvas);

            if (options.printable) {
                var print = document.createElement('cufontext');
                print.appendChild(document.createTextNode(text));
                wrapper.appendChild(print);
            }
        }

        var wStyle = wrapper.style;
        var cStyle = canvas.style;

        var height = size.convert(viewBox.height);
        var roundedHeight = Math.ceil(height);
        var roundingFactor = roundedHeight / height;
        var stretchFactor = roundingFactor * Cufon.CSS.fontStretch(style.get('fontStretch'));
        var stretchedWidth = width * stretchFactor;

        var canvasWidth = Math.ceil(size.convert(stretchedWidth + expandRight - expandLeft));
        var canvasHeight = Math.ceil(size.convert(viewBox.height - expandTop + expandBottom));

        canvas.width = canvasWidth;
        canvas.height = canvasHeight;

        // needed for WebKit and full page zoom
        cStyle.width = canvasWidth + 'px';
        cStyle.height = canvasHeight + 'px';

        // minY has no part in canvas.height
        expandTop += viewBox.minY;

        cStyle.top = Math.round(size.convert(expandTop - font.ascent)) + 'px';
        cStyle.left = Math.round(size.convert(expandLeft)) + 'px';

        var wrapperWidth = Math.max(Math.ceil(size.convert(stretchedWidth)), 0) + 'px';

        if (HAS_INLINE_BLOCK) {
            wStyle.width = wrapperWidth;
            wStyle.height = size.convert(font.height) + 'px';
        }
        else {
            wStyle.paddingLeft = wrapperWidth;
            wStyle.paddingBottom = (size.convert(font.height) - 1) + 'px';
        }

        var g = canvas.getContext('2d'), scale = height / viewBox.height;

        // proper horizontal scaling is performed later
        g.scale(scale, scale * roundingFactor);
        g.translate(-expandLeft, -expandTop);
        g.save();

        function renderText() {
            var glyphs = font.glyphs, glyph, i = -1, j = -1, chr;
            g.scale(stretchFactor, 1);
            while (chr = chars[++i]) {
                var glyph = glyphs[chars[i]] || font.missingGlyph;
                if (!glyph) continue;
                if (glyph.d) {
                    g.beginPath();
                    if (glyph.code) interpret(glyph.code, g);
                    else glyph.code = generateFromVML('m' + glyph.d, g);
                    g.fill();
                }
                g.translate(jumps[++j], 0);
            }
            g.restore();
        }

        if (shadows) {
            for (var i = shadows.length; i--; ) {
                var shadow = shadows[i];
                g.save();
                g.fillStyle = shadow.color;
                g.translate.apply(g, shadowOffsets[i]);
                renderText();
            }
        }

        var gradient = options.textGradient;
        if (gradient) {
            var stops = gradient.stops, fill = g.createLinearGradient(0, viewBox.minY, 0, viewBox.maxY);
            for (var i = 0, l = stops.length; i < l; ++i) {
                fill.addColorStop.apply(fill, stops[i]);
            }
            g.fillStyle = fill;
        }
        else g.fillStyle = style.get('color');

        renderText();

        return wrapper;

    };

})());

Cufon.registerEngine('vml', (function () {

    var ns = document.namespaces;
    if (!ns) return;
    ns.add('cvml', 'urn:schemas-microsoft-com:vml');
    ns = null;

    var check = document.createElement('cvml:shape');
    check.style.behavior = 'url(#default#VML)';
    if (!check.coordsize) return; // VML isn't supported
    check = null;

    var HAS_BROKEN_LINEHEIGHT = (document.documentMode || 0) < 8;

    document.write(('<style type="text/css">' +
		'cufoncanvas{text-indent:0;}' +
		'@media screen{' +
			'cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}' +
			'cufoncanvas{position:absolute;text-align:left;}' +
			'cufon{display:inline-block;position:relative;vertical-align:' +
			(HAS_BROKEN_LINEHEIGHT
				? 'middle'
				: 'text-bottom') +
			';}' +
			'cufon cufontext{position:absolute;left:-10000in;font-size:1px;}' +
			'a cufon{cursor:pointer}' + // ignore !important here
		'}' +
		'@media print{' +
			'cufon cufoncanvas{display:none;}' +
		'}' +
	'</style>').replace(/;/g, '!important;'));

    function getFontSizeInPixels(el, value) {
        return getSizeInPixels(el, /(?:em|ex|%)$|^[a-z-]+$/i.test(value) ? '1em' : value);
    }

    // Original by Dead Edwards.
    // Combined with getFontSizeInPixels it also works with relative units.
    function getSizeInPixels(el, value) {
        if (!isNaN(value) || /px$/i.test(value)) return parseFloat(value);
        var style = el.style.left, runtimeStyle = el.runtimeStyle.left;
        el.runtimeStyle.left = el.currentStyle.left;
        el.style.left = value.replace('%', 'em');
        var result = el.style.pixelLeft;
        el.style.left = style;
        el.runtimeStyle.left = runtimeStyle;
        return result;
    }

    function getSpacingValue(el, style, size, property) {
        var key = 'computed' + property, value = style[key];
        if (isNaN(value)) {
            value = style.get(property);
            style[key] = value = (value == 'normal') ? 0 : ~ ~size.convertFrom(getSizeInPixels(el, value));
        }
        return value;
    }

    var fills = {};

    function gradientFill(gradient) {
        var id = gradient.id;
        if (!fills[id]) {
            var stops = gradient.stops, fill = document.createElement('cvml:fill'), colors = [];
            fill.type = 'gradient';
            fill.angle = 180;
            fill.focus = '0';
            fill.method = 'none';
            fill.color = stops[0][1];
            for (var j = 1, k = stops.length - 1; j < k; ++j) {
                colors.push(stops[j][0] * 100 + '% ' + stops[j][1]);
            }
            fill.colors = colors.join(',');
            fill.color2 = stops[k][1];
            fills[id] = fill;
        }
        return fills[id];
    }

    return function (font, text, style, options, node, el, hasNext) {

        var redraw = (text === null);

        if (redraw) text = node.alt;

        var viewBox = font.viewBox;

        var size = style.computedFontSize || (style.computedFontSize = new Cufon.CSS.Size(getFontSizeInPixels(el, style.get('fontSize')) + 'px', font.baseSize));

        var wrapper, canvas;

        if (redraw) {
            wrapper = node;
            canvas = node.firstChild;
        }
        else {
            wrapper = document.createElement('cufon');
            wrapper.className = 'cufon cufon-vml';
            wrapper.alt = text;

            canvas = document.createElement('cufoncanvas');
            wrapper.appendChild(canvas);

            if (options.printable) {
                var print = document.createElement('cufontext');
                print.appendChild(document.createTextNode(text));
                wrapper.appendChild(print);
            }

            // ie6, for some reason, has trouble rendering the last VML element in the document.
            // we can work around this by injecting a dummy element where needed.
            // @todo find a better solution
            if (!hasNext) wrapper.appendChild(document.createElement('cvml:shape'));
        }

        var wStyle = wrapper.style;
        var cStyle = canvas.style;

        var height = size.convert(viewBox.height), roundedHeight = Math.ceil(height);
        var roundingFactor = roundedHeight / height;
        var stretchFactor = roundingFactor * Cufon.CSS.fontStretch(style.get('fontStretch'));
        var minX = viewBox.minX, minY = viewBox.minY;

        cStyle.height = roundedHeight;
        cStyle.top = Math.round(size.convert(minY - font.ascent));
        cStyle.left = Math.round(size.convert(minX));

        wStyle.height = size.convert(font.height) + 'px';

        var color = style.get('color');
        var chars = Cufon.CSS.textTransform(text, style).split('');

        var jumps = font.spacing(chars,
			getSpacingValue(el, style, size, 'letterSpacing'),
			getSpacingValue(el, style, size, 'wordSpacing')
		);

        if (!jumps.length) return null;

        var width = jumps.total;
        var fullWidth = -minX + width + (viewBox.width - jumps[jumps.length - 1]);

        var shapeWidth = size.convert(fullWidth * stretchFactor), roundedShapeWidth = Math.round(shapeWidth);

        var coordSize = fullWidth + ',' + viewBox.height, coordOrigin;
        var stretch = 'r' + coordSize + 'ns';

        var fill = options.textGradient && gradientFill(options.textGradient);

        var glyphs = font.glyphs, offsetX = 0;
        var shadows = options.textShadow;
        var i = -1, j = 0, chr;

        while (chr = chars[++i]) {

            var glyph = glyphs[chars[i]] || font.missingGlyph, shape;
            if (!glyph) continue;

            if (redraw) {
                // some glyphs may be missing so we can't use i
                shape = canvas.childNodes[j];
                while (shape.firstChild) shape.removeChild(shape.firstChild); // shadow, fill
            }
            else {
                shape = document.createElement('cvml:shape');
                canvas.appendChild(shape);
            }

            shape.stroked = 'f';
            shape.coordsize = coordSize;
            shape.coordorigin = coordOrigin = (minX - offsetX) + ',' + minY;
            shape.path = (glyph.d ? 'm' + glyph.d + 'xe' : '') + 'm' + coordOrigin + stretch;
            shape.fillcolor = color;

            if (fill) shape.appendChild(fill.cloneNode(false));

            // it's important to not set top/left or IE8 will grind to a halt
            var sStyle = shape.style;
            sStyle.width = roundedShapeWidth;
            sStyle.height = roundedHeight;

            if (shadows) {
                // due to the limitations of the VML shadow element there
                // can only be two visible shadows. opacity is shared
                // for all shadows.
                var shadow1 = shadows[0], shadow2 = shadows[1];
                var color1 = Cufon.CSS.color(shadow1.color), color2;
                var shadow = document.createElement('cvml:shadow');
                shadow.on = 't';
                shadow.color = color1.color;
                shadow.offset = shadow1.offX + ',' + shadow1.offY;
                if (shadow2) {
                    color2 = Cufon.CSS.color(shadow2.color);
                    shadow.type = 'double';
                    shadow.color2 = color2.color;
                    shadow.offset2 = shadow2.offX + ',' + shadow2.offY;
                }
                shadow.opacity = color1.opacity || (color2 && color2.opacity) || 1;
                shape.appendChild(shadow);
            }

            offsetX += jumps[j++];
        }

        // addresses flickering issues on :hover

        var cover = shape.nextSibling, coverFill, vStyle;

        if (options.forceHitArea) {

            if (!cover) {
                cover = document.createElement('cvml:rect');
                cover.stroked = 'f';
                cover.className = 'cufon-vml-cover';
                coverFill = document.createElement('cvml:fill');
                coverFill.opacity = 0;
                cover.appendChild(coverFill);
                canvas.appendChild(cover);
            }

            vStyle = cover.style;

            vStyle.width = roundedShapeWidth;
            vStyle.height = roundedHeight;

        }
        else if (cover) canvas.removeChild(cover);

        wStyle.width = Math.max(Math.ceil(size.convert(width * stretchFactor)), 0);

        if (HAS_BROKEN_LINEHEIGHT) {

            var yAdjust = style.computedYAdjust;

            if (yAdjust === undefined) {
                var lineHeight = style.get('lineHeight');
                if (lineHeight == 'normal') lineHeight = '1em';
                else if (!isNaN(lineHeight)) lineHeight += 'em'; // no unit
                style.computedYAdjust = yAdjust = 0.5 * (getSizeInPixels(el, lineHeight) - parseFloat(wStyle.height));
            }

            if (yAdjust) {
                wStyle.marginTop = Math.ceil(yAdjust) + 'px';
                wStyle.marginBottom = yAdjust + 'px';
            }

        }

        return wrapper;

    };

})());
// myriadProRegular.js
/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * � 1992, 1994, 1997, 2000, 2004 Adobe Systems Incorporated. All rights reserved.
 * Protected by U.S. Patents D454,582.
 * 
 * Trademark:
 * Myriad is either a registered trademark or a trademark of Adobe Systems
 * Incorporated in the United States and/or other countries.
 * 
 * Full name:
 * MyriadPro-Regular
 * 
 * Designer:
 * Robert Slimbach and Carol Twombly
 * 
 * Vendor URL:
 * http://www.adobe.com/type
 * 
 * License information:
 * http://www.adobe.com/type/legal.html
 */
Cufon.registerFont({"w":184,"face":{"font-family":"myriadProRegular","font-weight":400,"font-stretch":"normal","units-per-em":"360","panose-1":"2 11 5 3 3 4 3 2 2 4","ascent":"270","descent":"-90","x-height":"4","bbox":"-17 -316 302 90","underline-thickness":"18","underline-position":"-18","stemh":"24","stemv":"32","unicode-range":"U+0020-U+00FF"},"glyphs":{" ":{"w":76,"k":{"T":15,"V":13,"W":13,"Y":17,"\u00dd":17}},"!":{"d":"54,-69r-25,0r-5,-174r35,0xm41,4v-12,0,-21,-9,-21,-22v0,-13,9,-23,22,-23v13,0,21,10,21,23v0,13,-9,22,-22,22","w":82},"\"":{"d":"18,-249r32,0r-6,86r-20,0xm72,-249r31,0r-6,86r-19,0","w":121,"k":{"T":-6,"J":21,"M":2,"C":1,"G":1,"O":1,"Q":1,"\u00d8":1,"\u00c7":1,"\u00d3":1,"\u00d4":1,"\u00d6":1,"\u00d2":1,"\u00d5":1,"V":-6,"W":-6,"Y":-1,"\u00dd":-1,"A":22,"\u00c6":22,"\u00c1":22,"\u00c2":22,"\u00c4":22,"\u00c0":22,"\u00c5":22,"\u00c3":22,"f":-9,"\u00df":-9,"g":4,"c":3,"d":3,"e":3,"o":3,"q":3,"\u00f8":3,"\u00e7":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00e8":3,"\u00f3":3,"\u00f4":3,"\u00f6":3,"\u00f2":3,"\u00f5":3,"t":-9,"v":-8,"w":-8,"y":-8,"\u00fd":-8,"\u00ff":-8,",":41,".":41}},"#":{"d":"68,-92r37,0r7,-52r-37,0xm55,0r-21,0r9,-71r-30,0r0,-21r33,0r7,-52r-31,0r0,-21r34,0r10,-69r21,0r-10,69r38,0r9,-69r21,0r-9,69r30,0r0,21r-33,0r-6,52r31,0r0,21r-35,0r-9,71r-21,0r9,-71r-38,0","w":178},"$":{"d":"101,31r-23,0r0,-36v-21,0,-41,-7,-54,-16r8,-24v13,8,32,15,52,15v26,0,43,-14,43,-35v0,-20,-14,-32,-41,-43v-37,-14,-59,-32,-59,-63v0,-30,21,-53,54,-58r0,-36r22,0r0,35v21,1,36,7,47,13r-9,24v-8,-4,-22,-13,-45,-13v-28,0,-38,16,-38,31v0,18,13,28,44,41v37,15,56,34,56,66v0,29,-20,55,-57,61r0,38"},"%":{"d":"68,-238v32,0,53,26,53,70v0,49,-25,73,-55,73v-30,0,-55,-23,-55,-70v0,-47,25,-73,57,-73xm66,-219v-19,0,-30,24,-30,53v-1,30,10,52,30,52v21,0,30,-22,30,-53v0,-29,-8,-52,-30,-52xm83,4r-20,0r138,-242r20,0xm220,-141v32,0,54,25,54,70v0,49,-26,74,-56,74v-30,0,-55,-24,-55,-71v0,-47,25,-73,57,-73xm219,-122v-19,0,-31,23,-31,53v-1,30,11,52,31,52v21,0,30,-22,30,-53v0,-28,-8,-52,-30,-52","w":285},"&":{"d":"217,0r-38,0r-22,-23v-21,19,-44,27,-71,27v-47,0,-75,-32,-75,-68v0,-33,20,-56,48,-71r0,-1v-13,-16,-20,-34,-20,-51v0,-30,21,-60,61,-60v30,0,54,20,54,52v0,26,-15,45,-54,64r0,2r59,67v11,-17,19,-40,24,-71r29,0v-6,38,-17,69,-35,90xm91,-20v21,0,38,-9,50,-22r-68,-76v-13,9,-32,23,-32,49v0,28,20,49,50,49xm98,-225v-20,0,-31,16,-31,35v0,18,9,31,19,44v24,-14,40,-27,40,-48v0,-15,-8,-31,-28,-31","w":217},"(":{"d":"70,-250r25,0v-26,36,-45,82,-45,148v0,64,20,110,45,146r-25,0v-23,-30,-47,-77,-47,-147v0,-71,24,-117,47,-147","w":102,"k":{"T":-17,"J":-6,"C":4,"G":4,"O":4,"Q":4,"\u00d8":4,"\u00c7":4,"\u00d3":4,"\u00d4":4,"\u00d6":4,"\u00d2":4,"\u00d5":4,"V":-18,"W":-18,"X":-4,"Y":-15,"\u00dd":-15,"A":4,"\u00c6":4,"\u00c1":4,"\u00c2":4,"\u00c4":4,"\u00c0":4,"\u00c5":4,"\u00c3":4,"j":-20}},")":{"d":"32,44r-25,0v25,-36,45,-82,45,-147v0,-65,-19,-111,-45,-147r25,0v23,30,47,76,47,147v0,71,-24,117,-47,147","w":102},"*":{"d":"97,-247r21,13r-34,45r0,0r55,-7r0,25r-55,-7r0,1r35,43r-23,13r-22,-50r-1,0r-23,50r-20,-13r34,-43r0,-2r-53,8r0,-25r53,7r0,-1r-34,-44r22,-13r22,51r1,0","w":149},"+":{"d":"96,-192r23,0r0,85r81,0r0,22r-81,0r0,85r-23,0r0,-85r-82,0r0,-22r82,0r0,-85","w":214},",":{"d":"28,42r-22,3v8,-22,17,-61,21,-87r36,-3v-9,31,-25,70,-35,87","w":74,"k":{"\"":37,"'":37}},"-":{"d":"11,-109r89,0r0,23r-89,0r0,-23","w":110,"k":{"T":18,"J":7,"C":-5,"G":-5,"O":-5,"Q":-5,"\u00d8":-5,"\u00c7":-5,"\u00d3":-5,"\u00d4":-5,"\u00d6":-5,"\u00d2":-5,"\u00d5":-5,"V":4,"W":4,"X":8,"Y":18,"\u00dd":18,"A":1,"\u00c6":1,"\u00c1":1,"\u00c2":1,"\u00c4":1,"\u00c0":1,"\u00c5":1,"\u00c3":1,"g":-5,"c":-6,"d":-6,"e":-6,"o":-6,"q":-6,"\u00f8":-6,"\u00e7":-6,"\u00e9":-6,"\u00ea":-6,"\u00eb":-6,"\u00e8":-6,"\u00f3":-6,"\u00f4":-6,"\u00f6":-6,"\u00f2":-6,"\u00f5":-6,"v":2,"w":2,"y":2,"\u00fd":2,"\u00ff":2}},".":{"d":"40,4v-12,0,-21,-10,-21,-23v0,-13,8,-22,21,-22v13,0,22,9,22,22v0,13,-9,23,-22,23","w":74,"k":{"\"":37,"'":37}},"\/":{"d":"24,14r-24,0r100,-261r25,0","w":123},"0":{"d":"95,-238v49,0,77,43,77,118v0,80,-30,124,-81,124v-46,0,-77,-43,-78,-120v0,-79,34,-122,82,-122xm93,-213v-27,0,-48,33,-48,97v0,61,19,95,48,95v32,0,47,-37,47,-97v0,-58,-14,-95,-47,-95"},"1":{"d":"85,0r0,-204r-1,0r-40,21r-7,-24r52,-27r27,0r0,234r-31,0"},"2":{"d":"166,0r-150,0r0,-19r25,-25v60,-57,87,-87,87,-122v0,-24,-11,-46,-46,-46v-21,0,-39,11,-50,20r-10,-22v16,-13,39,-24,66,-24v50,0,72,35,72,68v0,43,-32,78,-81,126r-18,17r0,1r105,0r0,26"},"3":{"d":"15,-12r9,-24v9,5,30,14,52,14v40,0,53,-25,53,-45v0,-33,-30,-47,-61,-47r-18,0r0,-24r18,0v23,0,52,-11,52,-39v0,-19,-12,-35,-41,-35v-19,0,-37,8,-47,15r-8,-23v13,-9,36,-18,61,-18v46,0,67,28,67,56v0,24,-15,45,-43,55r0,1v29,5,52,27,52,60v0,37,-29,70,-85,70v-26,0,-49,-8,-61,-16"},"4":{"d":"144,0r-30,0r0,-64r-109,0r0,-21r105,-149r34,0r0,145r33,0r0,25r-33,0r0,64xm37,-89r77,0r0,-78v0,-12,0,-24,1,-36r-1,0v-7,14,-13,23,-19,34r-58,80r0,0"},"5":{"d":"156,-234r0,27r-89,0r-9,60v5,-1,10,-1,19,-1v18,0,36,3,50,12v18,10,34,31,34,60v0,46,-37,80,-88,80v-26,0,-46,-7,-58,-14r8,-25v10,6,28,13,50,13v30,0,56,-19,56,-50v0,-30,-21,-52,-67,-52v-14,0,-24,1,-33,2r15,-112r112,0"},"6":{"d":"150,-238r0,26v-6,0,-15,1,-24,2v-50,8,-76,44,-81,83r0,0v11,-15,31,-27,57,-27v41,0,71,30,71,75v0,43,-29,83,-78,83v-50,0,-83,-39,-83,-100v0,-46,17,-82,40,-105v19,-19,45,-31,75,-35v9,-1,17,-2,23,-2xm95,-21v27,0,46,-23,46,-56v0,-33,-19,-53,-48,-53v-19,0,-37,11,-46,28v-2,4,-3,8,-3,14v0,39,18,67,51,67"},"7":{"d":"21,-234r147,0r0,21r-102,213r-33,0r102,-207r0,-1r-114,0r0,-26"},"8":{"d":"60,-122r-1,-1v-26,-12,-37,-33,-37,-53v0,-37,32,-62,73,-62v45,0,68,28,68,58v0,20,-10,41,-39,54r0,1v29,12,47,33,47,61v0,41,-34,68,-79,68v-49,0,-79,-29,-79,-63v0,-30,18,-51,47,-63xm93,-19v28,0,46,-18,46,-42v0,-28,-19,-42,-51,-51v-27,8,-42,27,-42,49v-1,23,17,44,47,44xm93,-215v-26,0,-41,17,-41,37v0,23,18,36,45,43v20,-7,35,-21,35,-42v0,-19,-11,-38,-39,-38"},"9":{"d":"35,4r0,-26v7,1,14,0,25,-1v18,-3,36,-10,49,-23v15,-14,27,-35,31,-62r-1,0v-13,16,-31,25,-55,25v-42,0,-69,-32,-69,-72v0,-44,32,-83,80,-83v48,0,77,39,77,99v0,51,-17,87,-40,109v-18,18,-43,29,-68,32v-12,2,-21,2,-29,2xm92,-214v-27,0,-46,24,-46,57v0,29,18,50,45,50v21,0,38,-10,46,-24v2,-3,3,-7,3,-12v0,-40,-15,-71,-48,-71"},":":{"d":"40,-123v-12,0,-21,-9,-21,-22v0,-13,9,-23,21,-23v13,0,22,10,22,23v0,13,-9,22,-22,22xm40,4v-12,0,-21,-9,-21,-22v0,-13,9,-23,21,-23v13,0,22,10,22,23v0,13,-9,22,-22,22","w":74},";":{"d":"28,42r-22,2v8,-22,18,-59,22,-86r35,-4v-9,31,-25,71,-35,88xm42,-123v-12,0,-20,-9,-20,-22v0,-13,9,-23,21,-23v13,0,21,10,21,23v0,13,-9,22,-22,22","w":74},"<":{"d":"24,-86r0,-19r167,-87r0,25r-141,71r0,1r141,70r0,25","w":214},"=":{"d":"200,-121r-186,0r0,-22r186,0r0,22xm200,-51r-186,0r0,-21r186,0r0,21","w":214},">":{"d":"191,-106r0,20r-167,86r0,-25r142,-70r0,-1r-142,-71r0,-25","w":214},"?":{"d":"79,-69r-28,0r-1,-9v-2,-19,4,-41,22,-63v16,-19,26,-33,26,-49v0,-18,-12,-31,-35,-31v-13,0,-27,4,-36,11r-9,-23v12,-9,33,-14,52,-14v41,0,60,26,60,53v0,24,-14,42,-31,63v-16,19,-22,35,-21,53xm64,4v-12,0,-21,-9,-21,-22v0,-13,9,-23,21,-23v13,0,22,10,22,23v0,13,-9,22,-22,22","w":146},"@":{"d":"161,-92r8,-40v-4,-1,-10,-3,-18,-3v-32,0,-57,30,-57,65v0,16,7,27,23,27v21,0,40,-27,44,-49xm183,8r6,15v-20,10,-40,15,-64,15v-59,0,-110,-44,-110,-113v0,-74,52,-138,132,-138v63,0,104,44,104,104v0,54,-30,86,-63,86v-14,0,-28,-10,-27,-32r-2,0v-13,21,-28,32,-50,32v-21,0,-39,-18,-39,-46v0,-45,35,-85,85,-85v15,0,30,3,39,7r-13,66v-5,27,-1,40,11,40v18,1,39,-25,39,-66v0,-53,-31,-90,-87,-90v-59,0,-108,47,-108,120v0,60,40,98,93,98v21,0,39,-5,54,-13","w":265},"A":{"d":"153,-76r-86,0r-26,76r-32,0r83,-243r37,0r83,243r-33,0xm73,-101r74,0r-25,-70v-5,-16,-8,-30,-12,-44r-1,0v-4,14,-7,29,-12,44","w":220,"k":{"T":28,"J":-7,"M":1,"C":5,"G":5,"O":5,"Q":5,"\u00d8":5,"\u00c7":5,"\u00d3":5,"\u00d4":5,"\u00d6":5,"\u00d2":5,"\u00d5":5,"U":10,"\u00da":10,"\u00db":10,"\u00dc":10,"\u00d9":10,"V":19,"W":19,"X":5,"Y":28,"\u00dd":28,"a":-1,"\u00e6":-1,"\u00e1":-1,"\u00e2":-1,"\u00e4":-1,"\u00e0":-1,"\u00e5":-1,"\u00e3":-1,"f":3,"\u00df":3,"g":4,"b":1,"h":1,"k":1,"l":1,"j":1,"i":1,"m":1,"n":1,"p":1,"r":1,"\u00ed":1,"\u00ee":1,"\u00ef":1,"\u00ec":1,"\u00f1":1,"c":4,"d":4,"e":4,"o":4,"q":4,"\u00f8":4,"\u00e7":4,"\u00e9":4,"\u00ea":4,"\u00eb":4,"\u00e8":4,"\u00f3":4,"\u00f4":4,"\u00f6":4,"\u00f2":4,"\u00f5":4,"s":2,"t":4,"u":4,"\u00fa":4,"\u00fb":4,"\u00fc":4,"\u00f9":4,"v":8,"w":8,"y":8,"\u00fd":8,"\u00ff":8,"z":-5,"-":1,"\u00ad":1,")":3,"]":3,"}":3,"\"":21,"'":21}},"B":{"d":"27,-1r0,-238v14,-3,36,-5,58,-5v31,0,51,5,66,17v13,9,20,24,20,43v0,24,-16,44,-41,53r0,1v23,5,50,25,50,61v0,21,-8,36,-21,48v-17,15,-43,23,-83,23v-22,0,-39,-2,-49,-3xm59,-218r0,78r28,0v33,0,52,-18,52,-41v0,-28,-21,-39,-53,-39v-14,0,-22,1,-27,2xm59,-116r0,92v6,1,15,2,26,2v32,0,62,-12,62,-47v0,-33,-28,-47,-62,-47r-26,0","w":195,"k":{"T":3,"V":-1,"W":-1,"Y":5,"\u00dd":5,"c":-1,"d":-1,"e":-1,"o":-1,"q":-1,"\u00f8":-1,"\u00e7":-1,"\u00e9":-1,"\u00ea":-1,"\u00eb":-1,"\u00e8":-1,"\u00f3":-1,"\u00f4":-1,"\u00f6":-1,"\u00f2":-1,"\u00f5":-1,"v":-1,"w":-1,"y":-1,"\u00fd":-1,"\u00ff":-1,"-":-2,"\u00ad":-2,",":5,".":5}},"C":{"d":"190,-33r7,25v-11,6,-35,12,-65,12v-68,0,-119,-43,-119,-123v0,-76,52,-128,127,-128v30,0,49,7,57,11r-8,26v-12,-6,-28,-10,-48,-10v-57,0,-95,36,-95,100v0,60,34,97,93,97v19,0,38,-4,51,-10","w":208,"k":{"T":-10,"J":-1,"C":8,"G":8,"O":8,"Q":8,"\u00d8":8,"\u00c7":8,"\u00d3":8,"\u00d4":8,"\u00d6":8,"\u00d2":8,"\u00d5":8,"V":-4,"W":-4,"Y":-1,"\u00dd":-1,"A":-1,"\u00c6":-1,"\u00c1":-1,"\u00c2":-1,"\u00c4":-1,"\u00c0":-1,"\u00c5":-1,"\u00c3":-1,"a":3,"\u00e6":3,"\u00e1":3,"\u00e2":3,"\u00e4":3,"\u00e0":3,"\u00e5":3,"\u00e3":3,"i":1,"m":1,"n":1,"p":1,"r":1,"\u00ed":1,"\u00ee":1,"\u00ef":1,"\u00ec":1,"\u00f1":1,"c":4,"d":4,"e":4,"o":4,"q":4,"\u00f8":4,"\u00e7":4,"\u00e9":4,"\u00ea":4,"\u00eb":4,"\u00e8":4,"\u00f3":4,"\u00f4":4,"\u00f6":4,"\u00f2":4,"\u00f5":4,"u":4,"\u00fa":4,"\u00fb":4,"\u00fc":4,"\u00f9":4,"v":7,"w":7,"y":7,"\u00fd":7,"\u00ff":7,"z":-1,"\u00ab":4,")":-6,"]":-6,"}":-6}},"D":{"d":"27,-1r0,-238v19,-3,42,-5,67,-5v45,0,77,11,98,30v22,20,35,48,35,87v0,40,-13,72,-35,94v-23,23,-61,35,-108,35v-23,0,-41,-1,-57,-3xm59,-216r0,192v8,1,19,1,31,1v67,0,104,-37,104,-103v0,-57,-33,-94,-99,-94v-16,0,-28,2,-36,4","w":239,"k":{"T":9,"X":10,"Y":10,"\u00dd":10,"A":5,"\u00c6":5,"\u00c1":5,"\u00c2":5,"\u00c4":5,"\u00c0":5,"\u00c5":5,"\u00c3":5,"f":-6,"\u00df":-6,"g":-2,"j":-2,"c":-1,"d":-1,"e":-1,"o":-1,"q":-1,"\u00f8":-1,"\u00e7":-1,"\u00e9":-1,"\u00ea":-1,"\u00eb":-1,"\u00e8":-1,"\u00f3":-1,"\u00f4":-1,"\u00f6":-1,"\u00f2":-1,"\u00f5":-1,"t":-6,"u":-1,"\u00fa":-1,"\u00fb":-1,"\u00fc":-1,"\u00f9":-1,"v":-5,"w":-5,"y":-5,"\u00fd":-5,"\u00ff":-5,"z":1,"x":2,"\u00ab":-5,"-":-5,"\u00ad":-5,")":3,"]":3,"}":3,",":12,".":12}},"E":{"d":"153,-140r0,26r-94,0r0,88r105,0r0,26r-137,0r0,-243r131,0r0,27r-99,0r0,76r94,0","w":177,"k":{"T":-6,"J":-6,"V":-3,"W":-3,"Y":-1,"\u00dd":-1,"g":2,"c":1,"d":1,"e":1,"o":1,"q":1,"\u00f8":1,"\u00e7":1,"\u00e9":1,"\u00ea":1,"\u00eb":1,"\u00e8":1,"\u00f3":1,"\u00f4":1,"\u00f6":1,"\u00f2":1,"\u00f5":1,"t":1,"u":3,"\u00fa":3,"\u00fb":3,"\u00fc":3,"\u00f9":3,"v":3,"w":3,"y":3,"\u00fd":3,"\u00ff":3,"z":-1,",":1,".":1}},"F":{"d":"27,0r0,-243r131,0r0,27r-99,0r0,80r91,0r0,26r-91,0r0,110r-32,0","w":175,"k":{"\u00ef":9,"J":31,"M":6,"A":28,"\u00c6":28,"\u00c1":28,"\u00c2":28,"\u00c4":28,"\u00c0":28,"\u00c5":28,"\u00c3":28,"a":16,"\u00e6":16,"\u00e1":16,"\u00e2":16,"\u00e4":16,"\u00e0":16,"\u00e5":16,"\u00e3":16,"g":6,"b":6,"h":6,"k":6,"l":6,"i":9,"m":9,"n":9,"p":9,"r":9,"\u00ed":9,"\u00ee":9,"\u00ec":9,"\u00f1":9,"c":11,"d":11,"e":11,"o":11,"q":11,"\u00f8":11,"\u00e7":11,"\u00e9":11,"\u00ea":11,"\u00eb":11,"\u00e8":11,"\u00f3":11,"\u00f4":11,"\u00f6":11,"\u00f2":11,"\u00f5":11,"u":13,"\u00fa":13,"\u00fb":13,"\u00fc":13,"\u00f9":13,"v":8,"w":8,"y":8,"\u00fd":8,"\u00ff":8,":":5,";":5,"\u00bb":5,"\u00ab":5,",":35,".":35}},"G":{"d":"212,-127r0,116v-14,5,-41,14,-74,14v-37,0,-67,-10,-91,-33v-21,-20,-34,-52,-34,-90v0,-72,50,-125,131,-125v28,0,51,6,61,11r-8,26v-13,-6,-29,-11,-53,-11v-59,0,-98,37,-98,98v0,62,37,98,94,98v21,0,34,-3,41,-7r0,-72r-49,0r0,-25r80,0","w":232,"k":{"a":-3,"\u00e6":-3,"\u00e1":-3,"\u00e2":-3,"\u00e4":-3,"\u00e0":-3,"\u00e5":-3,"\u00e3":-3,"c":-2,"d":-2,"e":-2,"o":-2,"q":-2,"\u00f8":-2,"\u00e7":-2,"\u00e9":-2,"\u00ea":-2,"\u00eb":-2,"\u00e8":-2,"\u00f3":-2,"\u00f4":-2,"\u00f6":-2,"\u00f2":-2,"\u00f5":-2}},"H":{"d":"27,-243r32,0r0,102r117,0r0,-102r32,0r0,243r-32,0r0,-114r-117,0r0,114r-32,0r0,-243","w":234,"k":{"Y":3,"\u00dd":3,"f":-4,"\u00df":-4,"b":-4,"h":-4,"k":-4,"l":-4,"j":-3,"i":-4,"m":-4,"n":-4,"p":-4,"r":-4,"\u00ed":-4,"\u00ee":-4,"\u00ef":-4,"\u00ec":-4,"\u00f1":-4,"t":-6,"v":-3,"w":-3,"y":-3,"\u00fd":-3,"\u00ff":-3,"z":-4,"x":-2}},"I":{"d":"27,-243r32,0r0,243r-32,0r0,-243","w":86,"k":{"Y":3,"\u00dd":3,"f":-4,"\u00df":-4,"b":-4,"h":-4,"k":-4,"l":-4,"j":-3,"i":-4,"m":-4,"n":-4,"p":-4,"r":-4,"\u00ed":-4,"\u00ee":-4,"\u00ef":-4,"\u00ec":-4,"\u00f1":-4,"t":-6,"v":-3,"w":-3,"y":-3,"\u00fd":-3,"\u00ff":-3,"z":-4,"x":-2}},"J":{"d":"77,-83r0,-160r31,0r0,163v0,64,-31,84,-73,84v-12,0,-26,-3,-34,-6r5,-25v6,3,15,4,26,4v28,0,45,-12,45,-60","w":133,"k":{"v":-4,"w":-4,"y":-4,"\u00fd":-4,"\u00ff":-4,")":-15,"]":-15,"}":-15,",":4,".":4}},"K":{"d":"27,0r0,-243r32,0r0,117r1,0v6,-9,13,-18,19,-26r74,-91r39,0r-88,103r95,140r-37,0r-80,-119r-23,26r0,93r-32,0","w":195,"k":{"T":-8,"J":-14,"C":6,"G":6,"O":6,"Q":6,"\u00d8":6,"\u00c7":6,"\u00d3":6,"\u00d4":6,"\u00d6":6,"\u00d2":6,"\u00d5":6,"V":-5,"W":-5,"Y":3,"\u00dd":3,"A":-4,"\u00c6":-4,"\u00c1":-4,"\u00c2":-4,"\u00c4":-4,"\u00c0":-4,"\u00c5":-4,"\u00c3":-4,"Z":-7,"a":-6,"\u00e6":-6,"\u00e1":-6,"\u00e2":-6,"\u00e4":-6,"\u00e0":-6,"\u00e5":-6,"\u00e3":-6,"g":2,"b":-4,"h":-4,"k":-4,"l":-4,"i":-4,"m":-4,"n":-4,"p":-4,"r":-4,"\u00ed":-4,"\u00ee":-4,"\u00ef":-4,"\u00ec":-4,"\u00f1":-4,"u":2,"\u00fa":2,"\u00fb":2,"\u00fc":2,"\u00f9":2,"v":6,"w":6,"y":6,"\u00fd":6,"\u00ff":6,":":-8,";":-8,"\u00ab":2,"-":6,"\u00ad":6,")":-8,"]":-8,"}":-8,",":-6,".":-6,"\u00b5":-2}},"L":{"d":"27,0r0,-243r32,0r0,217r103,0r0,26r-135,0","w":169,"k":{"\u00d8":14,"T":32,"J":-4,"C":14,"G":14,"O":14,"Q":14,"\u00c7":14,"\u00d3":14,"\u00d4":14,"\u00d6":14,"\u00d2":14,"\u00d5":14,"U":13,"\u00da":13,"\u00db":13,"\u00dc":13,"\u00d9":13,"V":21,"W":21,"Y":30,"\u00dd":30,"c":5,"d":5,"e":5,"o":5,"q":5,"\u00f8":5,"\u00e7":5,"\u00e9":5,"\u00ea":5,"\u00eb":5,"\u00e8":5,"\u00f3":5,"\u00f4":5,"\u00f6":5,"\u00f2":5,"\u00f5":5,"t":1,"u":5,"\u00fa":5,"\u00fb":5,"\u00fc":5,"\u00f9":5,"v":10,"w":10,"y":10,"\u00fd":10,"\u00ff":10,"\u00ab":14,"-":15,"\u00ad":15,"\"":35,"'":35}},"M":{"d":"238,0r-6,-107v-2,-34,-4,-74,-4,-104r-1,0v-9,28,-18,59,-30,92r-43,118r-24,0r-40,-116v-12,-35,-20,-65,-27,-94r-1,0v-1,30,-3,70,-5,107r-6,104r-30,0r17,-243r40,0r41,118v10,30,19,56,25,81r0,0v6,-24,15,-50,26,-81r43,-118r40,0r16,243r-31,0","w":289,"k":{"T":4,"A":4,"\u00c6":4,"\u00c1":4,"\u00c2":4,"\u00c4":4,"\u00c0":4,"\u00c5":4,"\u00c3":4,"a":-2,"\u00e6":-2,"\u00e1":-2,"\u00e2":-2,"\u00e4":-2,"\u00e0":-2,"\u00e5":-2,"\u00e3":-2,"j":-4,"i":-4,"m":-4,"n":-4,"p":-4,"r":-4,"\u00ed":-4,"\u00ee":-4,"\u00ef":-4,"\u00ec":-4,"\u00f1":-4,"c":-2,"d":-2,"e":-2,"o":-2,"q":-2,"\u00f8":-2,"\u00e7":-2,"\u00e9":-2,"\u00ea":-2,"\u00eb":-2,"\u00e8":-2,"\u00f3":-2,"\u00f4":-2,"\u00f6":-2,"\u00f2":-2,"\u00f5":-2,"u":-1,"\u00fa":-1,"\u00fb":-1,"\u00fc":-1,"\u00f9":-1,"v":-3,"w":-3,"y":-3,"\u00fd":-3,"\u00ff":-3,"-":-2,"\u00ad":-2,"\u00b5":-1}},"N":{"d":"57,0r-30,0r0,-243r35,0r77,123v18,28,33,54,44,79r1,0v-3,-32,-4,-62,-4,-100r0,-102r30,0r0,243r-32,0r-77,-123v-17,-27,-33,-55,-45,-81r-1,0v2,31,2,60,2,100r0,104","w":236,"k":{"Y":3,"\u00dd":3,"f":-4,"\u00df":-4,"b":-4,"h":-4,"k":-4,"l":-4,"j":-3,"i":-4,"m":-4,"n":-4,"p":-4,"r":-4,"\u00ed":-4,"\u00ee":-4,"\u00ef":-4,"\u00ec":-4,"\u00f1":-4,"t":-6,"v":-3,"w":-3,"y":-3,"\u00fd":-3,"\u00ff":-3,"z":-4,"x":-2}},"O":{"d":"125,-247v67,0,110,51,110,123v0,83,-51,128,-113,128v-64,0,-109,-51,-109,-124v0,-77,47,-127,112,-127xm124,-221v-52,0,-78,48,-78,101v0,52,28,98,78,98v50,0,78,-45,78,-100v0,-49,-26,-99,-78,-99","w":248,"k":{"T":9,"X":10,"Y":10,"\u00dd":10,"A":5,"\u00c6":5,"\u00c1":5,"\u00c2":5,"\u00c4":5,"\u00c0":5,"\u00c5":5,"\u00c3":5,"f":-6,"\u00df":-6,"g":-2,"j":-2,"c":-1,"d":-1,"e":-1,"o":-1,"q":-1,"\u00f8":-1,"\u00e7":-1,"\u00e9":-1,"\u00ea":-1,"\u00eb":-1,"\u00e8":-1,"\u00f3":-1,"\u00f4":-1,"\u00f6":-1,"\u00f2":-1,"\u00f5":-1,"t":-6,"u":-1,"\u00fa":-1,"\u00fb":-1,"\u00fc":-1,"\u00f9":-1,"v":-5,"w":-5,"y":-5,"\u00fd":-5,"\u00ff":-5,"z":1,"x":2,"\u00ab":-5,"-":-5,"\u00ad":-5,")":3,"]":3,"}":3,",":12,".":12}},"P":{"d":"27,0r0,-240v15,-3,35,-4,60,-4v31,0,55,7,69,20v13,12,21,28,21,50v0,22,-7,39,-19,52v-17,18,-43,27,-74,27v-9,0,-18,0,-25,-2r0,97r-32,0xm59,-217r0,94v7,2,16,3,26,3v38,0,60,-19,60,-52v0,-32,-23,-48,-57,-48v-14,0,-24,2,-29,3","w":191,"k":{"J":27,"M":4,"X":5,"Y":3,"\u00dd":3,"A":30,"\u00c6":30,"\u00c1":30,"\u00c2":30,"\u00c4":30,"\u00c0":30,"\u00c5":30,"\u00c3":30,"Z":11,"a":9,"\u00e6":9,"\u00e1":9,"\u00e2":9,"\u00e4":9,"\u00e0":9,"\u00e5":9,"\u00e3":9,"g":9,"b":2,"h":2,"k":2,"l":2,"i":6,"m":6,"n":6,"p":6,"r":6,"\u00ed":6,"\u00ee":6,"\u00ef":6,"\u00ec":6,"\u00f1":6,"c":9,"d":9,"e":9,"o":9,"q":9,"\u00f8":9,"\u00e7":9,"\u00e9":9,"\u00ea":9,"\u00eb":9,"\u00e8":9,"\u00f3":9,"\u00f4":9,"\u00f6":9,"\u00f2":9,"\u00f5":9,"s":8,"t":-2,"u":5,"\u00fa":5,"\u00fb":5,"\u00fc":5,"\u00f9":5,"v":-1,"w":-1,"y":-1,"\u00fd":-1,"\u00ff":-1,":":4,";":4,"\u00ab":8,"-":6,"\u00ad":6,",":50,".":50,"\u00b5":4}},"Q":{"d":"237,9r-9,27v-33,-9,-65,-18,-93,-28v-5,-2,-10,-4,-15,-4v-58,-2,-107,-45,-107,-123v0,-78,47,-128,113,-128v66,0,109,51,109,123v0,63,-29,102,-69,116r0,2v24,6,50,11,71,15xm124,-22v50,0,78,-45,78,-100v0,-49,-26,-99,-77,-99v-53,0,-79,48,-79,101v0,52,28,98,78,98","w":248,"k":{"T":9,"X":10,"Y":10,"\u00dd":10,"A":5,"\u00c6":5,"\u00c1":5,"\u00c2":5,"\u00c4":5,"\u00c0":5,"\u00c5":5,"\u00c3":5,"f":-6,"\u00df":-6,"g":-2,"j":-2,"c":-1,"d":-1,"e":-1,"o":-1,"q":-1,"\u00f8":-1,"\u00e7":-1,"\u00e9":-1,"\u00ea":-1,"\u00eb":-1,"\u00e8":-1,"\u00f3":-1,"\u00f4":-1,"\u00f6":-1,"\u00f2":-1,"\u00f5":-1,"t":-6,"u":-1,"\u00fa":-1,"\u00fb":-1,"\u00fc":-1,"\u00f9":-1,"v":-5,"w":-5,"y":-5,"\u00fd":-5,"\u00ff":-5,"z":1,"x":2,"\u00ab":-5,"-":-5,"\u00ad":-5,")":3,"]":3,"}":3,",":12,".":12}},"R":{"d":"27,0r0,-239v16,-3,39,-5,60,-5v33,0,56,6,71,19v12,11,19,28,19,47v0,32,-21,52,-46,61r0,1v18,6,30,24,36,49v8,34,13,58,18,67r-32,0v-4,-7,-10,-28,-16,-58v-7,-33,-21,-46,-49,-47r-29,0r0,105r-32,0xm59,-217r0,88r32,0v33,0,54,-18,54,-46v0,-31,-22,-45,-55,-45v-15,0,-26,2,-31,3","w":193,"k":{"T":-3,"C":-1,"G":-1,"O":-1,"Q":-1,"\u00d8":-1,"\u00c7":-1,"\u00d3":-1,"\u00d4":-1,"\u00d6":-1,"\u00d2":-1,"\u00d5":-1,"V":-6,"W":-6,"X":-2,"Y":4,"\u00dd":4,"A":-2,"\u00c6":-2,"\u00c1":-2,"\u00c2":-2,"\u00c4":-2,"\u00c0":-2,"\u00c5":-2,"\u00c3":-2,"a":-4,"\u00e6":-4,"\u00e1":-4,"\u00e2":-4,"\u00e4":-4,"\u00e0":-4,"\u00e5":-4,"\u00e3":-4,"b":-3,"h":-3,"k":-3,"l":-3,"i":-4,"m":-4,"n":-4,"p":-4,"r":-4,"\u00ed":-4,"\u00ee":-4,"\u00ef":-4,"\u00ec":-4,"\u00f1":-4,"c":-1,"d":-1,"e":-1,"o":-1,"q":-1,"\u00f8":-1,"\u00e7":-1,"\u00e9":-1,"\u00ea":-1,"\u00eb":-1,"\u00e8":-1,"\u00f3":-1,"\u00f4":-1,"\u00f6":-1,"\u00f2":-1,"\u00f5":-1,"t":-7,"v":-5,"w":-5,"y":-5,"\u00fd":-5,"\u00ff":-5}},"S":{"d":"15,-12r8,-26v14,9,34,16,56,16v32,0,51,-18,51,-42v0,-22,-13,-36,-46,-48v-40,-14,-64,-35,-64,-69v0,-38,32,-66,79,-66v24,0,43,6,53,12r-9,26v-8,-5,-23,-12,-45,-12v-33,0,-46,20,-46,37v0,23,15,33,48,46v41,16,62,36,62,72v0,37,-28,70,-85,70v-23,0,-49,-7,-62,-16","w":177,"k":{"\u00e6":-1,"a":-1,"\u00e1":-1,"\u00e2":-1,"\u00e4":-1,"\u00e0":-1,"\u00e5":-1,"\u00e3":-1,"j":1,"c":-2,"d":-2,"e":-2,"o":-2,"q":-2,"\u00f8":-2,"\u00e7":-2,"\u00e9":-2,"\u00ea":-2,"\u00eb":-2,"\u00e8":-2,"\u00f3":-2,"\u00f4":-2,"\u00f6":-2,"\u00f2":-2,"\u00f5":-2,"t":1,"v":3,"w":3,"y":3,"\u00fd":3,"\u00ff":3,"-":-2,"\u00ad":-2}},"T":{"d":"73,0r0,-216r-73,0r0,-27r179,0r0,27r-74,0r0,216r-32,0","w":178,"k":{"\u00ec":16,"\u00ef":16,"\u00ee":16,"\u00ed":16,"\u00e8":26,"\u00e0":23,"i":16,"T":-14,"J":15,"C":10,"G":10,"O":10,"Q":10,"\u00d8":10,"\u00c7":10,"\u00d3":10,"\u00d4":10,"\u00d6":10,"\u00d2":10,"\u00d5":10,"V":-14,"W":-14,"X":-8,"Y":-10,"\u00dd":-10,"A":27,"\u00c6":27,"\u00c1":27,"\u00c2":27,"\u00c4":27,"\u00c0":27,"\u00c5":27,"\u00c3":27,"S":2,"a":23,"\u00e6":23,"\u00e1":23,"\u00e2":23,"\u00e4":23,"\u00e5":23,"\u00e3":23,"g":23,"b":3,"h":3,"k":3,"l":3,"m":16,"n":16,"p":16,"r":16,"\u00f1":16,"c":26,"d":26,"e":26,"o":26,"q":26,"\u00f8":26,"\u00e7":26,"\u00e9":26,"\u00ea":26,"\u00eb":26,"\u00f3":26,"\u00f4":26,"\u00f6":26,"\u00f2":26,"\u00f5":26,"s":19,"u":16,"\u00fa":16,"\u00fb":16,"\u00fc":16,"\u00f9":16,"v":14,"w":14,"y":14,"\u00fd":14,"\u00ff":14,"z":18,"x":12,":":9,";":9,"\u00bb":13,"\u00ab":18,"-":18,"\u00ad":18,")":-22,"]":-22,"}":-22,"\"":-6,"'":-6,",":22,".":22,"\u00b5":12}},"U":{"d":"27,-243r32,0r0,144v0,54,24,77,56,77v36,0,59,-24,59,-77r0,-144r32,0r0,142v0,75,-39,105,-92,105v-50,0,-87,-28,-87,-104r0,-143","w":232,"k":{"A":12,"\u00c6":12,"\u00c1":12,"\u00c2":12,"\u00c4":12,"\u00c0":12,"\u00c5":12,"\u00c3":12,"a":1,"\u00e6":1,"\u00e1":1,"\u00e2":1,"\u00e4":1,"\u00e0":1,"\u00e5":1,"\u00e3":1,"f":-3,"\u00df":-3,"s":2,"t":-1,"v":1,"w":1,"y":1,"\u00fd":1,"\u00ff":1,"z":2,"x":3,",":10,".":10}},"V":{"d":"115,0r-34,0r-80,-243r34,0r38,120v10,33,19,63,26,91r1,0v7,-28,16,-59,27,-91r41,-120r34,0","w":200,"k":{"\u00ef":6,"\u00c6":21,"T":-12,"J":8,"V":-6,"W":-6,"A":21,"\u00c1":21,"\u00c2":21,"\u00c4":21,"\u00c0":21,"\u00c5":21,"\u00c3":21,"a":12,"\u00e6":12,"\u00e1":12,"\u00e2":12,"\u00e4":12,"\u00e0":12,"\u00e5":12,"\u00e3":12,"g":3,"b":2,"h":2,"k":2,"l":2,"i":6,"m":6,"n":6,"p":6,"r":6,"\u00ed":6,"\u00ee":6,"\u00ec":6,"\u00f1":6,"c":12,"d":12,"e":12,"o":12,"q":12,"\u00f8":12,"\u00e7":12,"\u00e9":12,"\u00ea":12,"\u00eb":12,"\u00e8":12,"\u00f3":12,"\u00f4":12,"\u00f6":12,"\u00f2":12,"\u00f5":12,"s":9,"t":-3,"u":6,"\u00fa":6,"\u00fb":6,"\u00fc":6,"\u00f9":6,"v":1,"w":1,"y":1,"\u00fd":1,"\u00ff":1,"z":1,":":6,";":6,"\u00bb":4,"\u00ab":9,"-":5,"\u00ad":5,")":-20,"]":-20,"}":-20,"\"":-7,"'":-7,",":20,".":20}},"W":{"d":"100,0r-33,0r-62,-243r34,0r28,123v7,30,14,61,18,84r1,0v4,-24,12,-53,20,-84r32,-123r33,0r30,123v7,29,12,58,16,84r1,0v5,-27,12,-54,20,-84r32,-123r32,0r-69,243r-33,0r-30,-126v-8,-31,-13,-56,-16,-80r-1,0v-4,24,-10,49,-19,80","w":304,"k":{"\u00ef":6,"\u00c6":21,"T":-12,"J":8,"V":-6,"W":-6,"A":21,"\u00c1":21,"\u00c2":21,"\u00c4":21,"\u00c0":21,"\u00c5":21,"\u00c3":21,"a":12,"\u00e6":12,"\u00e1":12,"\u00e2":12,"\u00e4":12,"\u00e0":12,"\u00e5":12,"\u00e3":12,"g":3,"b":2,"h":2,"k":2,"l":2,"i":6,"m":6,"n":6,"p":6,"r":6,"\u00ed":6,"\u00ee":6,"\u00ec":6,"\u00f1":6,"c":12,"d":12,"e":12,"o":12,"q":12,"\u00f8":12,"\u00e7":12,"\u00e9":12,"\u00ea":12,"\u00eb":12,"\u00e8":12,"\u00f3":12,"\u00f4":12,"\u00f6":12,"\u00f2":12,"\u00f5":12,"s":9,"t":-3,"u":6,"\u00fa":6,"\u00fb":6,"\u00fc":6,"\u00f9":6,"v":1,"w":1,"y":1,"\u00fd":1,"\u00ff":1,"z":1,":":6,";":6,"\u00bb":4,"\u00ab":9,"-":5,"\u00ad":5,")":-20,"]":-20,"}":-20,"\"":-7,"'":-7,",":20,".":20}},"X":{"d":"197,0r-37,0r-31,-54v-13,-21,-20,-34,-28,-48r-1,0v-7,14,-14,28,-26,49r-29,53r-36,0r74,-123r-71,-120r36,0r32,57v9,16,17,28,23,41r1,0v7,-14,13,-26,22,-41r32,-57r37,0r-74,118","w":205,"k":{"T":-3,"J":-1,"C":10,"G":10,"O":10,"Q":10,"\u00d8":10,"\u00c7":10,"\u00d3":10,"\u00d4":10,"\u00d6":10,"\u00d2":10,"\u00d5":10,"V":-3,"W":-3,"X":5,"Y":-2,"\u00dd":-2,"A":3,"\u00c6":3,"\u00c1":3,"\u00c2":3,"\u00c4":3,"\u00c0":3,"\u00c5":3,"\u00c3":3,"a":2,"\u00e6":2,"\u00e1":2,"\u00e2":2,"\u00e4":2,"\u00e0":2,"\u00e5":2,"\u00e3":2,"c":4,"d":4,"e":4,"o":4,"q":4,"\u00f8":4,"\u00e7":4,"\u00e9":4,"\u00ea":4,"\u00eb":4,"\u00e8":4,"\u00f3":4,"\u00f4":4,"\u00f6":4,"\u00f2":4,"\u00f5":4,"u":3,"\u00fa":3,"\u00fb":3,"\u00fc":3,"\u00f9":3,"v":7,"w":7,"y":7,"\u00fd":7,"\u00ff":7,"\u00ab":6,"-":8,"\u00ad":8}},"Y":{"d":"113,0r-32,0r0,-103r-77,-140r36,0r35,67r24,50r0,0v6,-16,16,-32,25,-50r35,-67r35,0r-81,140r0,103","w":194,"k":{"\u00f6":27,"\u00ef":5,"\u00eb":27,"\u00e4":25,"T":-12,"J":19,"M":4,"C":13,"G":13,"O":13,"Q":13,"\u00d8":13,"\u00c7":13,"\u00d3":13,"\u00d4":13,"\u00d6":13,"\u00d2":13,"\u00d5":13,"V":-10,"W":-10,"X":1,"Y":-1,"\u00dd":-1,"A":29,"\u00c6":29,"\u00c1":29,"\u00c2":29,"\u00c4":29,"\u00c0":29,"\u00c5":29,"\u00c3":29,"S":5,"B":3,"D":3,"E":3,"F":3,"H":3,"I":3,"K":3,"L":3,"N":3,"P":3,"R":3,"\u00d0":3,"\u00c9":3,"\u00ca":3,"\u00cb":3,"\u00c8":3,"\u00cd":3,"\u00ce":3,"\u00cf":3,"\u00cc":3,"\u00d1":3,"a":25,"\u00e6":25,"\u00e1":25,"\u00e2":25,"\u00e0":25,"\u00e5":25,"\u00e3":25,"g":14,"b":3,"h":3,"k":3,"l":3,"i":5,"m":5,"n":5,"p":5,"r":5,"\u00ed":5,"\u00ee":5,"\u00ec":5,"\u00f1":5,"c":27,"d":27,"e":27,"o":27,"q":27,"\u00f8":27,"\u00e7":27,"\u00e9":27,"\u00ea":27,"\u00e8":27,"\u00f3":27,"\u00f4":27,"\u00f2":27,"\u00f5":27,"s":19,"t":7,"u":19,"\u00fa":19,"\u00fb":19,"\u00fc":19,"\u00f9":19,"v":10,"w":10,"y":10,"\u00fd":10,"\u00ff":10,"z":9,"x":9,":":12,";":12,"\u00bb":7,"\u00ab":18,"-":18,"\u00ad":18,")":-20,"]":-20,"}":-20,"\"":-3,"'":-3,",":34,".":34}},"Z":{"d":"11,0r0,-18r134,-197r0,-1r-123,0r0,-27r164,0r0,19r-134,197r0,1r136,0r0,26r-177,0","w":199,"k":{"J":-3,"C":8,"G":8,"O":8,"Q":8,"\u00d8":8,"\u00c7":8,"\u00d3":8,"\u00d4":8,"\u00d6":8,"\u00d2":8,"\u00d5":8,"X":2,"c":4,"d":4,"e":4,"o":4,"q":4,"\u00f8":4,"\u00e7":4,"\u00e9":4,"\u00ea":4,"\u00eb":4,"\u00e8":4,"\u00f3":4,"\u00f4":4,"\u00f6":4,"\u00f2":4,"\u00f5":4,"u":3,"\u00fa":3,"\u00fb":3,"\u00fc":3,"\u00f9":3,"v":3,"w":3,"y":3,"\u00fd":3,"\u00ff":3,"-":10,"\u00ad":10}},"[":{"d":"95,40r-66,0r0,-287r66,0r0,20r-41,0r0,248r41,0r0,19","w":102,"k":{"T":-17,"J":-6,"C":4,"G":4,"O":4,"Q":4,"\u00d8":4,"\u00c7":4,"\u00d3":4,"\u00d4":4,"\u00d6":4,"\u00d2":4,"\u00d5":4,"V":-18,"W":-18,"X":-4,"Y":-15,"\u00dd":-15,"A":4,"\u00c6":4,"\u00c1":4,"\u00c2":4,"\u00c4":4,"\u00c0":4,"\u00c5":4,"\u00c3":4,"j":-20}},"\\":{"d":"123,14r-24,0r-98,-261r24,0","w":122},"]":{"d":"7,-247r66,0r0,287r-66,0r0,-19r41,0r0,-248r-41,0r0,-20","w":102},"^":{"d":"193,-68r-25,0r-60,-140r-1,0r-60,140r-25,0r74,-166r23,0","w":214},"_":{"d":"0,27r180,0r0,18r-180,0r0,-18","w":180},"a":{"d":"149,-107r0,65v0,15,0,30,2,42r-28,0r-3,-22r-1,0v-10,14,-28,26,-53,26v-35,0,-53,-25,-53,-50v0,-42,37,-65,104,-65r0,-3v0,-14,-3,-40,-39,-40v-17,0,-34,5,-46,13r-7,-22v14,-9,35,-15,57,-15v53,0,67,36,67,71xm118,-59r0,-30v-35,-1,-74,5,-74,39v0,21,14,31,30,31v23,0,38,-15,43,-30v1,-4,1,-7,1,-10","w":173},"b":{"d":"26,-45r0,-211r32,0r0,110r0,0v11,-19,32,-32,60,-32v44,0,74,36,74,89v0,62,-40,93,-79,93v-25,0,-46,-9,-59,-32r0,0r-2,28r-27,0v1,-12,1,-30,1,-45xm58,-101r0,31v0,4,0,8,1,12v6,22,25,37,48,37v33,0,52,-27,52,-67v0,-35,-18,-65,-52,-65v-21,0,-42,15,-48,39v-1,4,-1,8,-1,13","w":204,"k":{"T":14,"v":3,"w":3,"y":3,"\u00fd":3,"\u00ff":3,"z":3,"x":5,"-":-5,"\u00ad":-5,")":1,"]":1,"}":1,"\"":4,"'":4,",":9,".":9}},"c":{"d":"145,-30r5,24v-8,4,-27,10,-50,10v-53,0,-86,-36,-86,-89v0,-54,36,-93,93,-93v19,0,35,5,44,10r-7,24v-8,-4,-20,-9,-37,-9v-40,0,-61,30,-61,66v0,40,25,65,60,65v18,0,30,-4,39,-8","w":161,"k":{"T":4,"f":-1,"\u00df":-1,"c":2,"d":2,"e":2,"o":2,"q":2,"\u00f8":2,"\u00e7":2,"\u00e9":2,"\u00ea":2,"\u00eb":2,"\u00e8":2,"\u00f3":2,"\u00f4":2,"\u00f6":2,"\u00f2":2,"\u00f5":2,"t":-5,"v":-6,"w":-6,"y":-6,"\u00fd":-6,"\u00ff":-6,"\u00bb":-5,"-":-2,"\u00ad":-2,",":4,".":4}},"d":{"d":"145,-256r31,0r0,211v0,15,1,33,2,45r-28,0r-2,-30r-1,0v-9,19,-30,34,-58,34v-42,0,-75,-36,-75,-89v0,-58,36,-93,78,-93v27,0,44,12,52,26r1,0r0,-104xm145,-73r0,-30v0,-4,0,-10,-1,-14v-5,-20,-22,-36,-46,-36v-33,0,-52,29,-52,67v0,35,17,64,51,64v21,0,41,-14,47,-37v1,-4,1,-9,1,-14","w":203,"k":{",":4,".":4}},"e":{"d":"166,-81r-122,0v1,43,28,60,60,60v23,0,36,-4,48,-9r6,23v-11,5,-31,11,-59,11v-54,0,-85,-35,-85,-88v0,-53,30,-94,81,-94v57,0,72,50,72,82v0,6,0,11,-1,15xm44,-104r93,0v0,-20,-8,-51,-44,-51v-32,0,-46,29,-49,51","w":180,"k":{"T":12,"x":1,"-":-10,"\u00ad":-10,",":4,".":4}},"f":{"d":"61,0r-31,0r0,-150r-25,0r0,-24r25,0r0,-9v0,-24,6,-46,20,-60v12,-12,27,-17,42,-17v12,0,21,2,27,5r-4,25v-5,-2,-11,-4,-20,-4v-27,0,-34,23,-34,50r0,10r42,0r0,24r-42,0r0,150","w":105,"k":{"g":4,"c":5,"d":5,"e":5,"o":5,"q":5,"\u00f8":5,"\u00e7":5,"\u00e9":5,"\u00ea":5,"\u00eb":5,"\u00e8":5,"\u00f3":5,"\u00f4":5,"\u00f6":5,"\u00f2":5,"\u00f5":5,"s":3,"t":-4,":":-12,";":-12,"\u00bb":-5,")":-37,"]":-37,"}":-37,"\"":-20,"'":-20,",":12,".":12}},"g":{"d":"175,-127r0,101v0,40,-8,65,-25,80v-17,15,-41,21,-63,21v-21,0,-44,-5,-58,-14r8,-25v12,8,29,14,51,14v32,0,56,-17,56,-61r0,-19r-1,0v-9,16,-28,29,-55,29v-43,0,-74,-37,-74,-85v0,-59,39,-92,79,-92v30,0,46,16,54,30r1,0r1,-26r28,0v-1,12,-2,26,-2,47xm144,-74r0,-31v0,-5,-1,-11,-2,-15v-6,-19,-21,-33,-44,-33v-30,0,-52,26,-52,66v0,34,17,62,51,62v20,0,38,-12,44,-32v2,-5,3,-12,3,-17","w":201,"k":{"T":12,"f":-1,"\u00df":-1,"i":2,"m":2,"n":2,"p":2,"r":2,"\u00ed":2,"\u00ee":2,"\u00ef":2,"\u00ec":2,"\u00f1":2,",":5,".":5}},"h":{"d":"26,0r0,-256r32,0r0,109r1,0v5,-9,12,-17,22,-22v9,-5,21,-9,33,-9v23,0,61,14,61,74r0,104r-32,0r0,-100v0,-28,-10,-52,-40,-52v-21,0,-37,15,-43,32v-2,5,-2,9,-2,15r0,105r-32,0","w":199,"k":{"T":18,"t":1,"v":5,"w":5,"y":5,"\u00fd":5,"\u00ff":5,"\"":3,"'":3}},"i":{"d":"58,0r-32,0r0,-174r32,0r0,174xm42,-243v12,0,20,9,20,20v0,11,-8,19,-21,19v-12,0,-19,-8,-19,-19v0,-11,8,-20,20,-20","w":84},"j":{"d":"-13,76r-4,-25v15,-1,27,-5,35,-14v9,-10,12,-23,12,-65r0,-146r32,0r0,159v0,34,-6,55,-21,71v-14,14,-37,20,-54,20xm46,-243v12,0,20,9,20,20v0,10,-8,19,-21,19v-12,0,-19,-9,-19,-19v0,-11,8,-20,20,-20","w":87,"k":{",":4,".":4}},"k":{"d":"58,-256r0,162r0,0v4,-6,10,-14,15,-20r52,-60r38,0r-67,71r76,103r-38,0r-60,-84r-16,18r0,66r-32,0r0,-256r32,0","w":168,"k":{"T":7,"a":-6,"\u00e6":-6,"\u00e1":-6,"\u00e2":-6,"\u00e4":-6,"\u00e0":-6,"\u00e5":-6,"\u00e3":-6,"b":-6,"h":-6,"k":-6,"l":-6,"i":-6,"m":-6,"n":-6,"p":-6,"r":-6,"\u00ed":-6,"\u00ee":-6,"\u00ef":-6,"\u00ec":-6,"\u00f1":-6,"u":-1,"\u00fa":-1,"\u00fb":-1,"\u00fc":-1,"\u00f9":-1,"v":-5,"w":-5,"y":-5,"\u00fd":-5,"\u00ff":-5,":":-4,";":-4,"-":4,"\u00ad":4,",":-5,".":-5}},"l":{"d":"26,0r0,-256r32,0r0,256r-32,0","w":84,"k":{",":4,".":4}},"m":{"d":"26,0r0,-127v0,-18,0,-33,-1,-47r28,0r1,28r1,0v10,-17,26,-32,55,-32v23,0,41,14,49,35r1,0v5,-10,13,-18,20,-23v10,-8,21,-12,38,-12v23,0,57,16,57,76r0,102r-31,0r0,-98v0,-34,-12,-54,-37,-54v-18,0,-32,14,-38,29v-1,5,-3,9,-3,15r0,108r-31,0r0,-104v0,-28,-12,-48,-36,-48v-19,0,-34,16,-39,32v-2,4,-3,10,-3,15r0,105r-31,0","w":300,"k":{"T":18,"t":1,"v":5,"w":5,"y":5,"\u00fd":5,"\u00ff":5,"\"":3,"'":3}},"n":{"d":"26,0r0,-127v0,-18,0,-33,-1,-47r28,0r2,29r0,0v9,-16,29,-33,58,-33v24,0,62,14,62,74r0,104r-32,0r0,-100v0,-28,-10,-52,-40,-52v-21,0,-37,14,-43,32v-1,4,-2,10,-2,15r0,105r-32,0","w":199,"k":{"T":18,"t":1,"v":5,"w":5,"y":5,"\u00fd":5,"\u00ff":5,"\"":3,"'":3}},"o":{"d":"100,-178v50,0,84,36,84,89v0,64,-45,93,-87,93v-47,0,-83,-35,-83,-90v0,-58,38,-92,86,-92xm99,-154v-37,0,-53,34,-53,67v0,38,22,67,53,67v30,0,53,-28,53,-67v0,-30,-16,-67,-53,-67","w":197,"k":{"T":14,"v":3,"w":3,"y":3,"\u00fd":3,"\u00ff":3,"z":3,"x":5,"-":-5,"\u00ad":-5,")":1,"]":1,"}":1,"\"":4,"'":4,",":9,".":9}},"p":{"d":"26,71r0,-188v0,-22,0,-40,-1,-57r28,0r2,30r0,0v13,-21,34,-34,62,-34v42,0,75,35,75,88v0,63,-39,94,-80,94v-23,0,-44,-10,-54,-27r0,0r0,94r-32,0xm58,-101r0,30v0,5,0,9,1,13v6,22,25,37,48,37v33,0,52,-27,52,-67v0,-35,-18,-65,-51,-65v-22,0,-42,15,-48,39v-1,4,-2,9,-2,13","w":204,"k":{"T":14,"v":3,"w":3,"y":3,"\u00fd":3,"\u00ff":3,"z":3,"x":5,"-":-5,"\u00ad":-5,")":1,"]":1,"}":1,"\"":4,"'":4,",":9,".":9}},"q":{"d":"145,71r0,-98r-1,0v-10,17,-29,31,-57,31v-41,0,-73,-35,-73,-88v0,-66,42,-94,79,-94v27,0,44,13,53,30r1,0r1,-26r30,0v-1,14,-2,30,-2,48r0,197r-31,0xm145,-71r0,-33v0,-4,0,-9,-1,-13v-5,-19,-22,-36,-46,-36v-33,0,-52,28,-52,67v0,35,16,65,51,65v21,0,39,-12,46,-34v1,-5,2,-11,2,-16","w":202,"k":{"T":11,",":3,".":3}},"r":{"d":"26,0r0,-120v0,-21,0,-38,-1,-54r28,0r1,34r1,0v8,-23,28,-38,49,-38v3,0,5,1,8,1r0,30v-3,-1,-6,-1,-10,-1v-22,0,-39,16,-43,40v-1,4,-1,10,-1,15r0,93r-32,0","w":117,"k":{"T":5,"a":2,"\u00e6":2,"\u00e1":2,"\u00e2":2,"\u00e4":2,"\u00e0":2,"\u00e5":2,"\u00e3":2,"f":-11,"\u00df":-11,"g":3,"b":-1,"h":-1,"k":-1,"l":-1,"i":-1,"m":-1,"n":-1,"p":-1,"r":-1,"\u00ed":-1,"\u00ee":-1,"\u00ef":-1,"\u00ec":-1,"\u00f1":-1,"c":4,"d":4,"e":4,"o":4,"q":4,"\u00f8":4,"\u00e7":4,"\u00e9":4,"\u00ea":4,"\u00eb":4,"\u00e8":4,"\u00f3":4,"\u00f4":4,"\u00f6":4,"\u00f2":4,"\u00f5":4,"t":-9,"v":-9,"w":-9,"y":-9,"\u00fd":-9,"\u00ff":-9,"z":-3,"x":-6,":":-3,";":-3,"\u00bb":-4,"\u00ab":2,"-":2,"\u00ad":2,",":19,".":19}},"s":{"d":"14,-8r8,-24v10,6,26,12,42,12v23,0,34,-11,34,-26v0,-15,-9,-22,-32,-31v-32,-12,-47,-29,-47,-50v0,-28,23,-51,60,-51v18,0,34,5,43,11r-8,23v-7,-4,-20,-10,-36,-10v-19,0,-28,10,-28,23v0,14,9,21,32,30v30,11,46,26,46,52v0,31,-24,53,-65,53v-19,0,-37,-5,-49,-12","w":142,"k":{"T":9,",":4,".":4}},"t":{"d":"33,-207r31,-9r0,42r46,0r0,24r-46,0r0,94v0,22,6,34,24,34v9,0,14,-1,19,-2r1,24v-6,2,-16,4,-28,4v-15,0,-26,-5,-34,-13v-9,-10,-13,-25,-13,-46r0,-95r-27,0r0,-24r27,0r0,-33","w":119,"k":{"g":2,"c":2,"d":2,"e":2,"o":2,"q":2,"\u00f8":2,"\u00e7":2,"\u00e9":2,"\u00ea":2,"\u00eb":2,"\u00e8":2,"\u00f3":2,"\u00f4":2,"\u00f6":2,"\u00f2":2,"\u00f5":2,"v":-3,"w":-3,"y":-3,"\u00fd":-3,"\u00ff":-3,"-":2,"\u00ad":2,",":1,".":1}},"u":{"d":"172,-174r0,126v0,18,1,34,2,48r-29,0r-1,-28r-1,0v-8,14,-27,32,-58,32v-27,0,-60,-15,-60,-76r0,-102r32,0r0,96v0,33,11,56,39,56v21,0,36,-15,42,-29v2,-4,2,-11,2,-17r0,-106r32,0","w":198,"k":{"T":11,",":3,".":3}},"v":{"d":"5,-174r34,0r34,97v6,16,10,31,14,45r1,0v4,-14,9,-29,15,-45r33,-97r34,0r-69,174r-30,0","w":173,"k":{"T":11,"a":1,"\u00e6":1,"\u00e1":1,"\u00e2":1,"\u00e4":1,"\u00e0":1,"\u00e5":1,"\u00e3":1,"g":4,"c":4,"d":4,"e":4,"o":4,"q":4,"\u00f8":4,"\u00e7":4,"\u00e9":4,"\u00ea":4,"\u00eb":4,"\u00e8":4,"\u00f3":4,"\u00f4":4,"\u00f6":4,"\u00f2":4,"\u00f5":4,"s":2,"v":-4,"w":-4,"y":-4,"\u00fd":-4,"\u00ff":-4,":":-9,";":-9,"-":1,"\u00ad":1,",":14,".":14}},"w":{"d":"6,-174r33,0r23,88v5,19,10,38,13,56r1,0v4,-18,9,-36,15,-55r29,-89r27,0r27,87v6,21,11,39,15,57r1,0v3,-18,7,-36,13,-57r25,-87r32,0r-57,174r-28,0r-27,-83v-6,-19,-12,-36,-16,-57r0,0v-4,21,-10,38,-16,57r-28,83r-29,0","w":264,"k":{"T":11,"a":1,"\u00e6":1,"\u00e1":1,"\u00e2":1,"\u00e4":1,"\u00e0":1,"\u00e5":1,"\u00e3":1,"g":4,"c":4,"d":4,"e":4,"o":4,"q":4,"\u00f8":4,"\u00e7":4,"\u00e9":4,"\u00ea":4,"\u00eb":4,"\u00e8":4,"\u00f3":4,"\u00f4":4,"\u00f6":4,"\u00f2":4,"\u00f5":4,"s":2,"v":-4,"w":-4,"y":-4,"\u00fd":-4,"\u00ff":-4,":":-9,";":-9,"-":1,"\u00ad":1,",":14,".":14}},"x":{"d":"6,-174r35,0r25,37v7,10,12,18,18,28r1,0v6,-10,11,-19,17,-28r24,-37r35,0r-59,84r60,90r-35,0r-26,-39v-7,-10,-13,-20,-19,-30r-1,0v-6,10,-11,20,-18,30r-25,39r-35,0r62,-89","w":166,"k":{"T":8,"c":5,"d":5,"e":5,"o":5,"q":5,"\u00f8":5,"\u00e7":5,"\u00e9":5,"\u00ea":5,"\u00eb":5,"\u00e8":5,"\u00f3":5,"\u00f4":5,"\u00f6":5,"\u00f2":5,"\u00f5":5,"s":2,"t":-5,"v":-5,"w":-5,"y":-5,"\u00fd":-5,"\u00ff":-5,"-":2,"\u00ad":2}},"y":{"d":"3,-174r35,0r38,103v4,12,8,25,11,35r1,0r11,-36r35,-102r33,0r-47,124v-23,60,-38,90,-60,109v-16,13,-31,19,-39,20r-8,-26v8,-3,19,-8,28,-16v9,-7,18,-19,26,-35v1,-3,3,-5,3,-7v0,-2,-1,-5,-3,-9","w":169,"k":{"T":11,"a":1,"\u00e6":1,"\u00e1":1,"\u00e2":1,"\u00e4":1,"\u00e0":1,"\u00e5":1,"\u00e3":1,"g":4,"c":4,"d":4,"e":4,"o":4,"q":4,"\u00f8":4,"\u00e7":4,"\u00e9":4,"\u00ea":4,"\u00eb":4,"\u00e8":4,"\u00f3":4,"\u00f4":4,"\u00f6":4,"\u00f2":4,"\u00f5":4,"s":2,"v":-4,"w":-4,"y":-4,"\u00fd":-4,"\u00ff":-4,":":-9,";":-9,"-":1,"\u00ad":1,",":14,".":14}},"z":{"d":"6,0r0,-18r79,-103v8,-10,15,-18,23,-27r0,-1r-94,0r0,-25r132,0r0,20r-78,101v-8,10,-14,18,-22,27r0,1r102,0r0,25r-142,0","w":154,"k":{"T":7,"c":3,"d":3,"e":3,"o":3,"q":3,"\u00f8":3,"\u00e7":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00e8":3,"\u00f3":3,"\u00f4":3,"\u00f6":3,"\u00f2":3,"\u00f5":3,"v":-9,"w":-9,"y":-9,"\u00fd":-9,"\u00ff":-9,"\u00bb":-6}},"{":{"d":"10,-95r0,-18v25,0,29,-14,29,-27v0,-10,-2,-20,-3,-30v-1,-10,-3,-20,-3,-30v0,-33,22,-47,53,-47r7,0r0,20r-6,0v-21,0,-29,12,-29,31v0,8,2,16,3,25v1,9,3,18,3,28v0,23,-11,35,-27,39r0,0v16,4,27,17,27,40v0,10,-2,18,-3,27v-1,9,-3,17,-3,26v0,20,9,32,29,32r6,0r0,19r-7,0v-30,0,-53,-13,-53,-49v0,-10,2,-20,4,-30v1,-10,2,-20,2,-29v0,-12,-3,-27,-29,-27","w":102,"k":{"T":-17,"J":-6,"C":4,"G":4,"O":4,"Q":4,"\u00d8":4,"\u00c7":4,"\u00d3":4,"\u00d4":4,"\u00d6":4,"\u00d2":4,"\u00d5":4,"V":-18,"W":-18,"X":-4,"Y":-15,"\u00dd":-15,"A":4,"\u00c6":4,"\u00c1":4,"\u00c2":4,"\u00c4":4,"\u00c0":4,"\u00c5":4,"\u00c3":4,"j":-20}},"|":{"d":"31,-270r24,0r0,360r-24,0r0,-360","w":86},"}":{"d":"92,-113r0,18v-25,0,-29,15,-29,27v0,9,2,19,3,29v1,10,3,20,3,30v0,36,-22,49,-52,49r-8,0r0,-19r6,0v20,0,29,-12,29,-32v0,-9,-2,-17,-3,-26v-1,-9,-2,-17,-2,-27v0,-23,10,-36,26,-40r0,0v-16,-4,-26,-16,-26,-39v0,-10,1,-19,2,-28v1,-9,3,-17,3,-25v0,-19,-8,-31,-29,-31r-6,0r0,-20r7,0v31,0,53,14,53,47v0,10,-2,20,-3,30v-1,10,-3,20,-3,30v0,13,3,27,29,27","w":102},"~":{"d":"39,-76r-21,0v-1,-36,17,-54,42,-54v15,0,28,4,52,16v18,9,31,15,44,15v13,0,20,-10,20,-30r21,0v2,40,-19,54,-41,54v-14,0,-27,-3,-52,-15v-17,-8,-31,-16,-44,-16v-13,0,-21,8,-21,30","w":214},"\u00a1":{"d":"59,70r-35,0r5,-172r25,0xm42,-176v13,0,21,10,21,23v0,12,-9,22,-22,22v-13,0,-21,-10,-21,-22v0,-13,9,-23,22,-23","w":82},"\u00a2":{"d":"119,5r-23,0r0,-36v-23,-3,-38,-12,-51,-26v-13,-14,-21,-34,-21,-60v0,-46,28,-82,72,-89r0,-36r23,0r0,35v16,0,30,5,39,9r-7,24v-8,-4,-20,-9,-38,-9v-35,0,-57,29,-57,65v0,40,24,63,56,63v19,0,32,-5,41,-9r6,23v-7,4,-22,9,-40,10r0,36"},"\u00a3":{"d":"170,0r-150,0r0,-18v24,-12,41,-36,41,-63v0,-9,-1,-16,-2,-25r-37,0r0,-23r34,0v-2,-11,-4,-25,-4,-39v0,-42,29,-70,69,-70v19,0,31,4,39,9r-7,24v-6,-4,-17,-7,-32,-7v-28,0,-39,19,-39,45v0,15,2,26,4,38r52,0r0,23r-49,0v1,14,1,27,-2,40v-4,15,-13,29,-25,39r0,1r108,0r0,26"},"\u00a5":{"d":"105,0r-30,0r0,-63r-56,0r0,-18r56,0r0,-26r-56,0r0,-18r48,0r-61,-109r34,0r37,74v6,12,10,22,14,33r2,0v4,-10,8,-22,14,-34r39,-73r33,0r-65,109r47,0r0,18r-56,0r0,26r56,0r0,18r-56,0r0,63"},"\u00a7":{"d":"47,-126v0,13,10,24,38,34v18,6,33,12,41,17v9,-6,14,-17,14,-28v0,-14,-9,-25,-32,-33v-14,-5,-33,-11,-45,-18v-12,8,-16,17,-16,28xm150,-234r-7,21v-9,-6,-24,-12,-43,-12v-21,0,-38,11,-38,27v0,19,18,25,45,34v33,11,59,25,59,57v0,19,-9,32,-23,43v6,5,13,17,13,32v0,37,-34,54,-68,54v-22,0,-43,-5,-57,-15r9,-20v9,6,26,14,48,14v23,0,40,-10,40,-29v0,-17,-11,-26,-44,-38v-37,-13,-63,-25,-63,-56v0,-14,8,-30,27,-43v-8,-5,-13,-18,-13,-30v0,-32,29,-51,66,-51v20,0,37,5,49,12","w":186},"\u00a4":{"d":"93,-192v17,0,31,5,41,14r25,-27r17,17r-29,25v7,10,13,25,13,43v0,19,-6,35,-13,44r27,26r-16,16r-24,-27v-11,10,-29,15,-43,15v-15,0,-31,-5,-41,-14r-24,26r-15,-16r26,-25v-7,-10,-14,-25,-14,-43v0,-19,6,-35,14,-45r-27,-25r16,-17r25,28v10,-9,26,-15,42,-15xm91,-170v-26,0,-42,23,-42,51v0,35,23,50,42,50v20,0,43,-14,43,-51v0,-25,-15,-50,-43,-50"},"'":{"d":"18,-249r32,0r-6,86r-20,0","w":67,"k":{"T":-6,"J":21,"M":2,"C":1,"G":1,"O":1,"Q":1,"\u00d8":1,"\u00c7":1,"\u00d3":1,"\u00d4":1,"\u00d6":1,"\u00d2":1,"\u00d5":1,"V":-6,"W":-6,"Y":-1,"\u00dd":-1,"A":22,"\u00c6":22,"\u00c1":22,"\u00c2":22,"\u00c4":22,"\u00c0":22,"\u00c5":22,"\u00c3":22,"f":-9,"\u00df":-9,"g":4,"c":3,"d":3,"e":3,"o":3,"q":3,"\u00f8":3,"\u00e7":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00e8":3,"\u00f3":3,"\u00f4":3,"\u00f6":3,"\u00f2":3,"\u00f5":3,"t":-9,"v":-8,"w":-8,"y":-8,"\u00fd":-8,"\u00ff":-8,",":41,".":41}},"\u00ab":{"d":"84,-157r-48,66r48,67r-26,0r-48,-67r48,-66r26,0xm143,-157r-48,66r48,67r-26,0r-48,-67r48,-66r26,0","w":150,"k":{"T":12,"J":1,"V":4,"W":4,"Y":13,"\u00dd":13}},"\u00b7":{"d":"37,-72v-12,0,-21,-9,-21,-22v0,-13,8,-23,21,-23v13,0,22,10,22,23v0,13,-9,22,-22,22","w":74},"\u00b6":{"d":"105,18r-22,0r0,-113r-2,0v-28,0,-68,-23,-69,-69v0,-37,20,-79,99,-79v19,0,33,1,42,3r0,258r-22,0r0,-240r-26,0r0,240"},"\u00bb":{"d":"57,-91r-48,-66r25,0r48,66r-48,67r-25,0xm115,-91r-48,-66r26,0r47,66r-47,67r-26,0","w":150,"k":{"T":20,"J":6,"C":-4,"G":-4,"O":-4,"Q":-4,"\u00d8":-4,"\u00c7":-4,"\u00d3":-4,"\u00d4":-4,"\u00d6":-4,"\u00d2":-4,"\u00d5":-4,"V":10,"W":10,"X":5,"Y":18,"\u00dd":18,"S":1,"g":-4}},"\u00bf":{"d":"86,-176v13,0,21,10,21,23v0,13,-9,22,-22,22v-13,0,-21,-9,-21,-22v0,-13,9,-23,22,-23xm71,-103r28,0r1,9v2,19,-5,41,-23,63v-16,19,-25,33,-25,49v0,18,11,31,34,31v13,0,27,-4,37,-11r8,23v-12,8,-32,14,-51,14v-41,0,-60,-26,-60,-53v0,-24,13,-41,31,-62v16,-19,21,-36,20,-54r0,-9","w":146},"`":{"d":"8,-249r34,0r32,51r-22,0","w":108},"\u00b4":{"d":"68,-249r35,0r-44,51r-23,0","w":108},"\u00af":{"d":"14,-231r81,0r0,20r-81,0r0,-20","w":108},"\u00a8":{"d":"20,-205v-10,0,-17,-9,-17,-19v0,-10,8,-18,18,-18v10,0,17,8,17,18v0,10,-7,19,-18,19xm87,-205v-10,0,-18,-9,-18,-19v0,-10,8,-18,18,-18v10,0,18,8,18,18v0,10,-7,19,-18,19","w":108},"\u00b8":{"d":"49,-1r19,0r-11,19v13,1,25,11,25,25v0,21,-18,29,-38,29v-9,0,-19,-2,-25,-6r6,-16v6,3,13,5,19,5v8,0,16,-3,16,-11v0,-9,-11,-14,-28,-15","w":108},"\u00c6":{"d":"32,0r-32,0r111,-243r151,0r0,27r-103,0r9,77r91,0r0,26r-87,0r11,87r89,0r0,26r-116,0r-11,-85r-74,0xm81,-111r61,0r-8,-70v-1,-11,-3,-27,-4,-39r-2,0v-4,12,-10,25,-15,38","w":283,"k":{"T":-6,"J":-6,"V":-3,"W":-3,"Y":-1,"\u00dd":-1,"g":2,"c":1,"d":1,"e":1,"o":1,"q":1,"\u00f8":1,"\u00e7":1,"\u00e9":1,"\u00ea":1,"\u00eb":1,"\u00e8":1,"\u00f3":1,"\u00f4":1,"\u00f6":1,"\u00f2":1,"\u00f5":1,"t":1,"u":3,"\u00fa":3,"\u00fb":3,"\u00fc":3,"\u00f9":3,"v":3,"w":3,"y":3,"\u00fd":3,"\u00ff":3,"z":-1,",":1,".":1}},"\u00aa":{"d":"109,-96r-21,0r-2,-15r0,0v-7,9,-20,17,-37,17v-24,0,-37,-16,-37,-35v0,-26,26,-41,72,-40r0,-4v0,-6,-3,-22,-27,-22v-12,0,-22,3,-30,9r-6,-15v10,-8,26,-12,41,-12v36,0,46,25,46,51r0,38v0,10,0,19,1,28xm85,-134r0,-20v-23,-1,-49,4,-49,24v0,12,10,19,21,19v11,0,20,-7,24,-14v3,-3,4,-7,4,-9","w":124},"\u00d8":{"d":"40,15r-17,-14r22,-31v-20,-22,-32,-54,-32,-90v0,-77,48,-127,112,-127v22,0,43,6,60,19r22,-29r19,13r-23,31v20,22,32,54,32,90v0,85,-53,127,-111,127v-23,0,-44,-6,-61,-19xm63,-57r107,-148v-12,-10,-28,-17,-46,-17v-53,0,-79,49,-79,100v0,27,7,46,18,65r0,0xm185,-186r-107,147v12,11,26,18,46,18v50,0,79,-47,79,-101v0,-21,-4,-43,-17,-64r-1,0","w":248,"k":{"T":9,"X":10,"Y":10,"\u00dd":10,"A":5,"\u00c6":5,"\u00c1":5,"\u00c2":5,"\u00c4":5,"\u00c0":5,"\u00c5":5,"\u00c3":5,"f":-6,"\u00df":-6,"g":-2,"j":-2,"c":-1,"d":-1,"e":-1,"o":-1,"q":-1,"\u00f8":-1,"\u00e7":-1,"\u00e9":-1,"\u00ea":-1,"\u00eb":-1,"\u00e8":-1,"\u00f3":-1,"\u00f4":-1,"\u00f6":-1,"\u00f2":-1,"\u00f5":-1,"t":-6,"u":-1,"\u00fa":-1,"\u00fb":-1,"\u00fc":-1,"\u00f9":-1,"v":-5,"w":-5,"y":-5,"\u00fd":-5,"\u00ff":-5,"z":1,"x":2,"\u00ab":-5,"-":-5,"\u00ad":-5,")":3,"]":3,"}":3,",":12,".":12}},"\u00ba":{"d":"65,-213v35,0,56,25,56,59v0,41,-29,60,-57,60v-32,0,-58,-23,-58,-58v0,-37,28,-61,59,-61xm63,-195v-23,0,-32,23,-32,42v0,23,15,41,33,41v19,0,33,-16,33,-41v0,-18,-10,-42,-34,-42","w":127},"\u00e6":{"d":"264,-84r-117,0v-1,41,23,63,56,63v24,0,39,-5,48,-9r5,22v-14,7,-34,12,-57,12v-30,0,-56,-14,-66,-39r-1,0v-11,24,-35,39,-65,39v-36,0,-54,-25,-54,-50v0,-40,38,-64,105,-63r0,-7v0,-9,-6,-38,-41,-38v-17,0,-34,6,-44,13r-8,-21v15,-10,38,-16,55,-16v31,0,49,15,56,37r0,0v12,-23,33,-37,61,-37v53,0,68,51,68,80v0,5,0,11,-1,14xm118,-62r0,-25v-33,-1,-74,5,-74,39v0,18,14,29,31,29v23,0,37,-14,42,-30v1,-4,1,-9,1,-13xm147,-107r88,0v1,-18,-9,-49,-41,-49v-32,0,-46,29,-47,49","w":278,"k":{"T":12,"x":1,"-":-10,"\u00ad":-10,",":4,".":4}},"\u00f8":{"d":"100,-178v15,0,31,4,44,12r15,-21r14,10r-16,22v17,16,27,40,27,67v0,64,-44,92,-85,92v-16,0,-31,-4,-44,-12r-16,22r-13,-11r15,-22v-17,-16,-27,-38,-27,-67v0,-58,38,-92,86,-92xm58,-43r71,-101v-8,-7,-17,-10,-30,-10v-39,0,-54,36,-54,67v0,15,3,31,12,44r1,0xm140,-130r-71,100v9,7,18,10,29,10v33,0,55,-28,55,-67v0,-12,-3,-29,-12,-43r-1,0","w":197,"k":{"T":14,"v":3,"w":3,"y":3,"\u00fd":3,"\u00ff":3,"z":3,"x":5,"-":-5,"\u00ad":-5,")":1,"]":1,"}":1,"\"":4,"'":4,",":9,".":9}},"\u00df":{"d":"58,0r-32,0r0,-163v0,-41,10,-64,26,-78v13,-12,31,-19,53,-19v34,0,64,21,64,61v0,12,-5,24,-9,30v-16,7,-25,17,-25,29v0,12,7,19,18,31v14,14,29,30,29,56v0,34,-24,57,-64,57v-13,0,-28,-3,-38,-8r5,-24v9,5,20,7,31,7v23,0,35,-13,35,-30v0,-15,-7,-25,-20,-37v-15,-14,-28,-28,-28,-48v0,-18,12,-34,33,-44v2,-4,3,-9,3,-15v0,-25,-16,-40,-38,-40v-28,0,-43,20,-43,71r0,164","w":197,"k":{"T":9,",":4,".":4}},"\u00b9":{"d":"64,-159r-25,0r0,-119r-1,0r-26,13r-4,-19r34,-16r22,0r0,141","w":87},"\u00ac":{"d":"14,-144r186,0r0,100r-23,0r0,-78r-163,0r0,-22","w":214},"\u00b5":{"d":"145,-27r-1,0v-7,14,-24,30,-50,30v-16,0,-30,-6,-38,-19r0,21v0,19,1,52,4,66r-29,0v-4,-11,-5,-36,-5,-64r0,-181r32,0r0,103v0,27,11,49,39,49v21,0,36,-15,42,-29v2,-5,2,-11,2,-17r0,-106r32,0r0,126v0,19,4,26,17,27r-3,24v-4,1,-6,1,-11,1v-15,0,-28,-9,-31,-31","w":199,"k":{"-":-2,"\u00ad":-2}},"\u00d0":{"d":"0,-111r0,-25r29,0r0,-104v19,-3,42,-6,67,-6v45,0,77,11,98,31v22,19,34,48,34,88v0,40,-13,72,-35,95v-23,23,-60,35,-107,35v-23,0,-41,-2,-57,-3r0,-111r-29,0xm125,-136r0,25r-65,0r0,87v8,1,20,1,32,1v67,0,103,-37,103,-104v0,-58,-32,-94,-98,-94v-16,0,-29,2,-37,4r0,81r65,0","w":241,"k":{"T":9,"X":10,"Y":10,"\u00dd":10,"A":5,"\u00c6":5,"\u00c1":5,"\u00c2":5,"\u00c4":5,"\u00c0":5,"\u00c5":5,"\u00c3":5,"f":-6,"\u00df":-6,"g":-2,"j":-2,"c":-1,"d":-1,"e":-1,"o":-1,"q":-1,"\u00f8":-1,"\u00e7":-1,"\u00e9":-1,"\u00ea":-1,"\u00eb":-1,"\u00e8":-1,"\u00f3":-1,"\u00f4":-1,"\u00f6":-1,"\u00f2":-1,"\u00f5":-1,"t":-6,"u":-1,"\u00fa":-1,"\u00fb":-1,"\u00fc":-1,"\u00f9":-1,"v":-5,"w":-5,"y":-5,"\u00fd":-5,"\u00ff":-5,"z":1,"x":2,"\u00ab":-5,"-":-5,"\u00ad":-5,")":3,"]":3,"}":3,",":12,".":12}},"\u00bd":{"d":"66,-96r-25,0r0,-118r-1,0r-26,12r-4,-18r34,-16r22,0r0,140xm63,4r-20,0r136,-242r20,0xm158,0r0,-13r23,-21v30,-28,45,-45,45,-63v0,-14,-8,-25,-27,-25v-13,0,-23,6,-30,11r-8,-16v10,-8,27,-15,45,-15v34,0,47,21,47,40v0,27,-21,47,-48,71r-11,10r0,1r62,0r0,20r-98,0","w":273},"\u00b1":{"d":"96,-206r23,0r0,70r81,0r0,22r-81,0r0,72r-23,0r0,-72r-82,0r0,-22r82,0r0,-70xm14,-22r186,0r0,22r-186,0r0,-22","w":214},"\u00de":{"d":"27,0r0,-243r31,0r0,48v10,-2,22,-3,35,-3v28,0,49,7,64,20v13,12,20,29,20,47v0,51,-38,77,-91,77v-10,0,-20,-1,-28,-2r0,56r-31,0xm58,-170r0,88v8,2,18,2,27,2v39,0,60,-18,60,-48v0,-31,-22,-45,-55,-45v-14,0,-26,2,-32,3","w":191},"\u00bc":{"d":"71,-96r-25,0r0,-118r-1,0r-26,12r-4,-18r34,-16r22,0r0,140xm70,4r-20,0r136,-242r21,0xm239,0r-24,0r0,-37r-72,0r0,-14r69,-91r27,0r0,87r21,0r0,18r-21,0r0,37xm215,-55r0,-42v0,-9,1,-17,1,-23r-1,0v-5,8,-8,14,-12,20r-34,45r0,0r46,0","w":273},"\u00f7":{"d":"107,-139v-11,0,-19,-9,-19,-20v0,-12,8,-20,19,-20v12,0,19,8,19,20v0,11,-7,20,-19,20xm200,-85r-186,0r0,-22r186,0r0,22xm107,-13v-11,0,-19,-9,-19,-20v0,-12,8,-20,19,-20v12,0,19,8,19,20v0,11,-7,20,-19,20","w":214},"\u00a6":{"d":"31,-63r24,0r0,126r-24,0r0,-126xm31,-243r24,0r0,126r-24,0r0,-126","w":86},"\u00b0":{"d":"59,-247v30,0,47,23,47,47v0,29,-23,48,-48,48v-28,0,-48,-21,-48,-46v0,-28,22,-49,49,-49xm58,-230v-18,0,-28,17,-28,32v0,17,12,29,28,29v17,0,28,-13,28,-31v0,-13,-7,-30,-28,-30","w":114},"\u00fe":{"d":"26,-241r32,0r0,94r0,0v12,-19,32,-31,60,-31v41,0,74,35,74,89v0,64,-40,93,-80,93v-23,0,-43,-10,-54,-27r0,0r0,94r-32,0r0,-312xm58,-101r0,32v0,5,1,12,3,16v7,20,25,32,46,32v31,0,52,-27,52,-68v0,-35,-18,-64,-51,-64v-20,0,-40,14,-47,35v-2,5,-3,11,-3,17","w":204},"\u00be":{"d":"24,-210r-6,-16v8,-6,23,-12,41,-12v31,0,44,17,44,34v0,15,-10,26,-27,32r0,1v19,3,33,17,33,35v0,22,-20,42,-57,42v-17,0,-33,-5,-41,-10r6,-18v6,4,21,9,34,9v22,0,31,-13,31,-24v0,-18,-19,-25,-38,-25r-9,0r0,-17r9,0v13,0,33,-5,33,-22v0,-9,-6,-18,-23,-18v-13,0,-24,5,-30,9xm84,4r-21,0r137,-242r20,0xm243,0r-24,0r0,-37r-72,0r0,-14r69,-91r27,0r0,87r21,0r0,18r-21,0r0,37xm219,-55r0,-42v0,-9,1,-17,1,-23r-1,0v-5,8,-8,14,-12,20r-35,45r1,0r46,0","w":273},"\u00b2":{"d":"4,-159r0,-14r23,-21v30,-27,45,-44,45,-62v0,-14,-8,-25,-27,-25v-13,0,-23,6,-30,11r-8,-17v10,-8,26,-14,44,-14v34,0,48,21,48,40v0,27,-21,47,-48,71r-11,10r0,1r62,0r0,20r-98,0","w":111},"\u00ae":{"d":"66,-180r0,24r-13,0r0,-59v5,-1,12,-2,22,-2v11,0,16,2,20,5v4,3,7,6,7,12v0,7,-6,12,-13,14r0,1v6,2,9,6,11,14v2,9,3,13,4,15r-14,0v-2,-2,-3,-8,-5,-15v-1,-6,-4,-9,-12,-9r-7,0xm67,-206r0,17r6,0v8,0,14,-3,14,-9v0,-5,-4,-9,-13,-9v-4,0,-6,1,-7,1xm76,-246v33,0,60,26,60,59v0,33,-26,60,-60,60v-34,0,-61,-27,-61,-60v0,-33,27,-59,61,-59xm75,-234v-26,0,-45,21,-45,47v0,26,20,47,46,47v26,0,45,-20,45,-46v0,-26,-20,-48,-46,-48","w":150},"\u00f0":{"d":"96,-20v31,0,52,-27,52,-67v0,-23,-3,-38,-12,-49v-8,-9,-20,-17,-38,-17v-37,0,-52,39,-52,68v0,37,21,65,50,65xm42,-183r-7,-15r42,-20v-10,-8,-25,-15,-38,-21r14,-20v17,8,36,18,51,29r45,-22r8,16r-38,18v20,16,36,35,46,57v10,20,15,43,15,70v0,67,-43,95,-84,95v-47,0,-82,-35,-82,-89v0,-56,39,-89,80,-89v14,0,27,2,41,15r0,-1v-10,-17,-24,-32,-42,-46","w":194},"\u00d7":{"d":"14,-174r16,-15r77,78r77,-78r16,15r-77,79r77,79r-16,16r-77,-79r-77,79r-16,-16r77,-79","w":214},"\u00b3":{"d":"16,-273r-6,-18v8,-5,23,-11,41,-11v31,0,44,17,44,34v0,15,-10,27,-27,33r0,1v19,3,33,17,33,35v0,22,-20,42,-57,42v-17,0,-33,-5,-41,-10r6,-18v6,4,21,9,34,9v22,0,32,-13,32,-24v0,-18,-20,-26,-39,-26r-9,0r0,-16r10,0v13,0,32,-6,32,-23v0,-9,-6,-18,-22,-18v-13,0,-25,6,-31,10","w":109},"\u00a9":{"d":"123,-233v60,0,108,50,108,111v0,62,-48,111,-109,111v-61,0,-109,-49,-109,-111v0,-61,48,-111,110,-111xm122,-219v-51,0,-91,43,-91,98v0,54,39,95,91,95v51,1,91,-41,91,-96v0,-54,-40,-97,-91,-97xm171,-177r-5,14v-5,-3,-18,-9,-35,-9v-34,0,-50,22,-50,51v0,28,18,50,51,50v14,0,28,-4,36,-9r4,14v-13,8,-29,11,-44,11v-42,0,-66,-29,-66,-65v0,-41,33,-67,69,-67v19,0,35,6,40,10","w":243},"\u00c1":{"d":"153,-76r-86,0r-26,76r-32,0r83,-243r37,0r83,243r-33,0xm73,-101r74,0r-25,-70v-5,-16,-8,-30,-12,-44r-1,0v-4,14,-7,29,-12,44xm125,-298r38,0r-46,42r-25,0","w":220,"k":{"T":28,"J":-7,"M":1,"C":5,"G":5,"O":5,"Q":5,"\u00d8":5,"\u00c7":5,"\u00d3":5,"\u00d4":5,"\u00d6":5,"\u00d2":5,"\u00d5":5,"U":10,"\u00da":10,"\u00db":10,"\u00dc":10,"\u00d9":10,"V":19,"W":19,"X":5,"Y":28,"\u00dd":28,"a":-1,"\u00e6":-1,"\u00e1":-1,"\u00e2":-1,"\u00e4":-1,"\u00e0":-1,"\u00e5":-1,"\u00e3":-1,"f":3,"\u00df":3,"g":4,"b":1,"h":1,"k":1,"l":1,"j":1,"i":1,"m":1,"n":1,"p":1,"r":1,"\u00ed":1,"\u00ee":1,"\u00ef":1,"\u00ec":1,"\u00f1":1,"c":4,"d":4,"e":4,"o":4,"q":4,"\u00f8":4,"\u00e7":4,"\u00e9":4,"\u00ea":4,"\u00eb":4,"\u00e8":4,"\u00f3":4,"\u00f4":4,"\u00f6":4,"\u00f2":4,"\u00f5":4,"s":2,"t":4,"u":4,"\u00fa":4,"\u00fb":4,"\u00fc":4,"\u00f9":4,"v":8,"w":8,"y":8,"\u00fd":8,"\u00ff":8,"z":-5,"-":1,"\u00ad":1,")":3,"]":3,"}":3,"\"":21,"'":21}},"\u00c2":{"d":"153,-76r-86,0r-26,76r-32,0r83,-243r37,0r83,243r-33,0xm73,-101r74,0r-25,-70v-5,-16,-8,-30,-12,-44r-1,0v-4,14,-7,29,-12,44xm99,-297r24,0r38,41r-26,0r-23,-24r-1,0r-23,24r-25,0","w":220,"k":{"T":28,"J":-7,"M":1,"C":5,"G":5,"O":5,"Q":5,"\u00d8":5,"\u00c7":5,"\u00d3":5,"\u00d4":5,"\u00d6":5,"\u00d2":5,"\u00d5":5,"U":10,"\u00da":10,"\u00db":10,"\u00dc":10,"\u00d9":10,"V":19,"W":19,"X":5,"Y":28,"\u00dd":28,"a":-1,"\u00e6":-1,"\u00e1":-1,"\u00e2":-1,"\u00e4":-1,"\u00e0":-1,"\u00e5":-1,"\u00e3":-1,"f":3,"\u00df":3,"g":4,"b":1,"h":1,"k":1,"l":1,"j":1,"i":1,"m":1,"n":1,"p":1,"r":1,"\u00ed":1,"\u00ee":1,"\u00ef":1,"\u00ec":1,"\u00f1":1,"c":4,"d":4,"e":4,"o":4,"q":4,"\u00f8":4,"\u00e7":4,"\u00e9":4,"\u00ea":4,"\u00eb":4,"\u00e8":4,"\u00f3":4,"\u00f4":4,"\u00f6":4,"\u00f2":4,"\u00f5":4,"s":2,"t":4,"u":4,"\u00fa":4,"\u00fb":4,"\u00fc":4,"\u00f9":4,"v":8,"w":8,"y":8,"\u00fd":8,"\u00ff":8,"z":-5,"-":1,"\u00ad":1,")":3,"]":3,"}":3,"\"":21,"'":21}},"\u00c4":{"d":"153,-76r-86,0r-26,76r-32,0r83,-243r37,0r83,243r-33,0xm73,-101r74,0r-25,-70v-5,-16,-8,-30,-12,-44r-1,0v-4,14,-7,29,-12,44xm78,-259v-10,0,-18,-8,-18,-18v0,-10,8,-18,18,-18v10,0,17,8,17,18v0,10,-6,18,-17,18xm145,-259v-10,0,-18,-8,-18,-18v0,-10,8,-18,18,-18v10,0,18,8,18,18v0,10,-7,18,-18,18","w":220,"k":{"T":28,"J":-7,"M":1,"C":5,"G":5,"O":5,"Q":5,"\u00d8":5,"\u00c7":5,"\u00d3":5,"\u00d4":5,"\u00d6":5,"\u00d2":5,"\u00d5":5,"U":10,"\u00da":10,"\u00db":10,"\u00dc":10,"\u00d9":10,"V":19,"W":19,"X":5,"Y":28,"\u00dd":28,"a":-1,"\u00e6":-1,"\u00e1":-1,"\u00e2":-1,"\u00e4":-1,"\u00e0":-1,"\u00e5":-1,"\u00e3":-1,"f":3,"\u00df":3,"g":4,"b":1,"h":1,"k":1,"l":1,"j":1,"i":1,"m":1,"n":1,"p":1,"r":1,"\u00ed":1,"\u00ee":1,"\u00ef":1,"\u00ec":1,"\u00f1":1,"c":4,"d":4,"e":4,"o":4,"q":4,"\u00f8":4,"\u00e7":4,"\u00e9":4,"\u00ea":4,"\u00eb":4,"\u00e8":4,"\u00f3":4,"\u00f4":4,"\u00f6":4,"\u00f2":4,"\u00f5":4,"s":2,"t":4,"u":4,"\u00fa":4,"\u00fb":4,"\u00fc":4,"\u00f9":4,"v":8,"w":8,"y":8,"\u00fd":8,"\u00ff":8,"z":-5,"-":1,"\u00ad":1,")":3,"]":3,"}":3,"\"":21,"'":21}},"\u00c0":{"d":"153,-76r-86,0r-26,76r-32,0r83,-243r37,0r83,243r-33,0xm73,-101r74,0r-25,-70v-5,-16,-8,-30,-12,-44r-1,0v-4,14,-7,29,-12,44xm58,-298r38,0r34,42r-26,0","w":220,"k":{"T":28,"J":-7,"M":1,"C":5,"G":5,"O":5,"Q":5,"\u00d8":5,"\u00c7":5,"\u00d3":5,"\u00d4":5,"\u00d6":5,"\u00d2":5,"\u00d5":5,"U":10,"\u00da":10,"\u00db":10,"\u00dc":10,"\u00d9":10,"V":19,"W":19,"X":5,"Y":28,"\u00dd":28,"a":-1,"\u00e6":-1,"\u00e1":-1,"\u00e2":-1,"\u00e4":-1,"\u00e0":-1,"\u00e5":-1,"\u00e3":-1,"f":3,"\u00df":3,"g":4,"b":1,"h":1,"k":1,"l":1,"j":1,"i":1,"m":1,"n":1,"p":1,"r":1,"\u00ed":1,"\u00ee":1,"\u00ef":1,"\u00ec":1,"\u00f1":1,"c":4,"d":4,"e":4,"o":4,"q":4,"\u00f8":4,"\u00e7":4,"\u00e9":4,"\u00ea":4,"\u00eb":4,"\u00e8":4,"\u00f3":4,"\u00f4":4,"\u00f6":4,"\u00f2":4,"\u00f5":4,"s":2,"t":4,"u":4,"\u00fa":4,"\u00fb":4,"\u00fc":4,"\u00f9":4,"v":8,"w":8,"y":8,"\u00fd":8,"\u00ff":8,"z":-5,"-":1,"\u00ad":1,")":3,"]":3,"}":3,"\"":21,"'":21}},"\u00c5":{"d":"153,-76r-86,0r-26,76r-32,0r83,-243r37,0r83,243r-33,0xm73,-101r74,0r-25,-70v-5,-16,-8,-30,-12,-44r-1,0v-4,14,-7,29,-12,44xm111,-316v22,0,36,15,36,33v0,18,-15,31,-36,31v-22,0,-36,-13,-36,-31v0,-18,13,-33,36,-33xm110,-303v-11,0,-17,10,-17,20v0,9,8,18,18,18v10,0,17,-8,17,-19v0,-10,-7,-19,-18,-19","w":220,"k":{"T":28,"J":-7,"M":1,"C":5,"G":5,"O":5,"Q":5,"\u00d8":5,"\u00c7":5,"\u00d3":5,"\u00d4":5,"\u00d6":5,"\u00d2":5,"\u00d5":5,"U":10,"\u00da":10,"\u00db":10,"\u00dc":10,"\u00d9":10,"V":19,"W":19,"X":5,"Y":28,"\u00dd":28,"a":-1,"\u00e6":-1,"\u00e1":-1,"\u00e2":-1,"\u00e4":-1,"\u00e0":-1,"\u00e5":-1,"\u00e3":-1,"f":3,"\u00df":3,"g":4,"b":1,"h":1,"k":1,"l":1,"j":1,"i":1,"m":1,"n":1,"p":1,"r":1,"\u00ed":1,"\u00ee":1,"\u00ef":1,"\u00ec":1,"\u00f1":1,"c":4,"d":4,"e":4,"o":4,"q":4,"\u00f8":4,"\u00e7":4,"\u00e9":4,"\u00ea":4,"\u00eb":4,"\u00e8":4,"\u00f3":4,"\u00f4":4,"\u00f6":4,"\u00f2":4,"\u00f5":4,"s":2,"t":4,"u":4,"\u00fa":4,"\u00fb":4,"\u00fc":4,"\u00f9":4,"v":8,"w":8,"y":8,"\u00fd":8,"\u00ff":8,"z":-5,"-":1,"\u00ad":1,")":3,"]":3,"}":3,"\"":21,"'":21}},"\u00c3":{"d":"153,-76r-86,0r-26,76r-32,0r83,-243r37,0r83,243r-33,0xm73,-101r74,0r-25,-70v-5,-16,-8,-30,-12,-44r-1,0v-4,14,-7,29,-12,44xm84,-257r-17,0v0,-22,9,-37,24,-37v8,0,14,3,22,7v6,3,11,7,17,7v5,0,9,-2,10,-14r16,0v0,23,-7,34,-24,34v-8,0,-14,-2,-22,-6v-7,-4,-12,-7,-17,-7v-6,0,-8,6,-9,16","w":220,"k":{"T":28,"J":-7,"M":1,"C":5,"G":5,"O":5,"Q":5,"\u00d8":5,"\u00c7":5,"\u00d3":5,"\u00d4":5,"\u00d6":5,"\u00d2":5,"\u00d5":5,"U":10,"\u00da":10,"\u00db":10,"\u00dc":10,"\u00d9":10,"V":19,"W":19,"X":5,"Y":28,"\u00dd":28,"a":-1,"\u00e6":-1,"\u00e1":-1,"\u00e2":-1,"\u00e4":-1,"\u00e0":-1,"\u00e5":-1,"\u00e3":-1,"f":3,"\u00df":3,"g":4,"b":1,"h":1,"k":1,"l":1,"j":1,"i":1,"m":1,"n":1,"p":1,"r":1,"\u00ed":1,"\u00ee":1,"\u00ef":1,"\u00ec":1,"\u00f1":1,"c":4,"d":4,"e":4,"o":4,"q":4,"\u00f8":4,"\u00e7":4,"\u00e9":4,"\u00ea":4,"\u00eb":4,"\u00e8":4,"\u00f3":4,"\u00f4":4,"\u00f6":4,"\u00f2":4,"\u00f5":4,"s":2,"t":4,"u":4,"\u00fa":4,"\u00fb":4,"\u00fc":4,"\u00f9":4,"v":8,"w":8,"y":8,"\u00fd":8,"\u00ff":8,"z":-5,"-":1,"\u00ad":1,")":3,"]":3,"}":3,"\"":21,"'":21}},"\u00c7":{"d":"191,-33r6,25v-11,6,-33,12,-63,12r-9,14v14,3,25,13,25,27v0,21,-18,29,-37,29v-9,0,-20,-2,-26,-6r6,-17v5,3,12,6,19,6v8,0,16,-4,16,-12v0,-9,-11,-13,-28,-15r15,-27v-59,-7,-102,-49,-102,-122v0,-76,51,-128,127,-128v30,0,49,7,57,11r-7,26v-12,-6,-29,-10,-49,-10v-57,0,-95,36,-95,100v0,60,34,97,93,97v19,0,39,-4,52,-10","w":210,"k":{"T":-10,"J":-1,"C":8,"G":8,"O":8,"Q":8,"\u00d8":8,"\u00c7":8,"\u00d3":8,"\u00d4":8,"\u00d6":8,"\u00d2":8,"\u00d5":8,"V":-4,"W":-4,"Y":-1,"\u00dd":-1,"A":-1,"\u00c6":-1,"\u00c1":-1,"\u00c2":-1,"\u00c4":-1,"\u00c0":-1,"\u00c5":-1,"\u00c3":-1,"a":3,"\u00e6":3,"\u00e1":3,"\u00e2":3,"\u00e4":3,"\u00e0":3,"\u00e5":3,"\u00e3":3,"i":1,"m":1,"n":1,"p":1,"r":1,"\u00ed":1,"\u00ee":1,"\u00ef":1,"\u00ec":1,"\u00f1":1,"c":4,"d":4,"e":4,"o":4,"q":4,"\u00f8":4,"\u00e7":4,"\u00e9":4,"\u00ea":4,"\u00eb":4,"\u00e8":4,"\u00f3":4,"\u00f4":4,"\u00f6":4,"\u00f2":4,"\u00f5":4,"u":4,"\u00fa":4,"\u00fb":4,"\u00fc":4,"\u00f9":4,"v":7,"w":7,"y":7,"\u00fd":7,"\u00ff":7,"z":-1,"\u00ab":4,")":-6,"]":-6,"}":-6}},"\u00c9":{"d":"153,-140r0,26r-94,0r0,88r105,0r0,26r-137,0r0,-243r131,0r0,27r-99,0r0,76r94,0xm109,-298r38,0r-46,42r-26,0","w":177,"k":{"T":-6,"J":-6,"V":-3,"W":-3,"Y":-1,"\u00dd":-1,"g":2,"c":1,"d":1,"e":1,"o":1,"q":1,"\u00f8":1,"\u00e7":1,"\u00e9":1,"\u00ea":1,"\u00eb":1,"\u00e8":1,"\u00f3":1,"\u00f4":1,"\u00f6":1,"\u00f2":1,"\u00f5":1,"t":1,"u":3,"\u00fa":3,"\u00fb":3,"\u00fc":3,"\u00f9":3,"v":3,"w":3,"y":3,"\u00fd":3,"\u00ff":3,"z":-1,",":1,".":1}},"\u00ca":{"d":"153,-140r0,26r-94,0r0,88r105,0r0,26r-137,0r0,-243r131,0r0,27r-99,0r0,76r94,0xm80,-297r24,0r38,41r-26,0r-23,-24r-1,0r-23,24r-25,0","w":177,"k":{"T":-6,"J":-6,"V":-3,"W":-3,"Y":-1,"\u00dd":-1,"g":2,"c":1,"d":1,"e":1,"o":1,"q":1,"\u00f8":1,"\u00e7":1,"\u00e9":1,"\u00ea":1,"\u00eb":1,"\u00e8":1,"\u00f3":1,"\u00f4":1,"\u00f6":1,"\u00f2":1,"\u00f5":1,"t":1,"u":3,"\u00fa":3,"\u00fb":3,"\u00fc":3,"\u00f9":3,"v":3,"w":3,"y":3,"\u00fd":3,"\u00ff":3,"z":-1,",":1,".":1}},"\u00cb":{"d":"153,-140r0,26r-94,0r0,88r105,0r0,26r-137,0r0,-243r131,0r0,27r-99,0r0,76r94,0xm58,-260v-10,0,-17,-8,-17,-18v0,-10,8,-18,18,-18v10,0,17,8,17,18v0,10,-7,18,-18,18xm125,-260v-10,0,-17,-8,-17,-18v0,-10,8,-18,18,-18v10,0,17,8,17,18v0,10,-7,18,-18,18","w":177,"k":{"T":-6,"J":-6,"V":-3,"W":-3,"Y":-1,"\u00dd":-1,"g":2,"c":1,"d":1,"e":1,"o":1,"q":1,"\u00f8":1,"\u00e7":1,"\u00e9":1,"\u00ea":1,"\u00eb":1,"\u00e8":1,"\u00f3":1,"\u00f4":1,"\u00f6":1,"\u00f2":1,"\u00f5":1,"t":1,"u":3,"\u00fa":3,"\u00fb":3,"\u00fc":3,"\u00f9":3,"v":3,"w":3,"y":3,"\u00fd":3,"\u00ff":3,"z":-1,",":1,".":1}},"\u00c8":{"d":"153,-140r0,26r-94,0r0,88r105,0r0,26r-137,0r0,-243r131,0r0,27r-99,0r0,76r94,0xm43,-298r38,0r33,42r-25,0","w":177,"k":{"T":-6,"J":-6,"V":-3,"W":-3,"Y":-1,"\u00dd":-1,"g":2,"c":1,"d":1,"e":1,"o":1,"q":1,"\u00f8":1,"\u00e7":1,"\u00e9":1,"\u00ea":1,"\u00eb":1,"\u00e8":1,"\u00f3":1,"\u00f4":1,"\u00f6":1,"\u00f2":1,"\u00f5":1,"t":1,"u":3,"\u00fa":3,"\u00fb":3,"\u00fc":3,"\u00f9":3,"v":3,"w":3,"y":3,"\u00fd":3,"\u00ff":3,"z":-1,",":1,".":1}},"\u00cd":{"d":"27,-243r32,0r0,243r-32,0r0,-243xm58,-298r38,0r-46,42r-26,0","w":86,"k":{"Y":3,"\u00dd":3,"f":-4,"\u00df":-4,"b":-4,"h":-4,"k":-4,"l":-4,"j":-3,"i":-4,"m":-4,"n":-4,"p":-4,"r":-4,"\u00ed":-4,"\u00ee":-4,"\u00ef":-4,"\u00ec":-4,"\u00f1":-4,"t":-6,"v":-3,"w":-3,"y":-3,"\u00fd":-3,"\u00ff":-3,"z":-4,"x":-2}},"\u00ce":{"d":"27,-243r32,0r0,243r-32,0r0,-243xm31,-297r24,0r38,41r-27,0r-23,-24r-1,0r-23,24r-25,0","w":86,"k":{"Y":3,"\u00dd":3,"f":-4,"\u00df":-4,"b":-4,"h":-4,"k":-4,"l":-4,"j":-3,"i":-4,"m":-4,"n":-4,"p":-4,"r":-4,"\u00ed":-4,"\u00ee":-4,"\u00ef":-4,"\u00ec":-4,"\u00f1":-4,"t":-6,"v":-3,"w":-3,"y":-3,"\u00fd":-3,"\u00ff":-3,"z":-4,"x":-2}},"\u00cf":{"d":"27,-243r32,0r0,243r-32,0r0,-243xm10,-260v-10,0,-18,-8,-18,-18v0,-10,8,-18,18,-18v10,0,17,8,17,18v0,10,-6,18,-17,18xm76,-260v-10,0,-17,-8,-17,-18v0,-10,8,-18,18,-18v10,0,17,8,17,18v0,10,-7,18,-18,18","w":86,"k":{"Y":3,"\u00dd":3,"f":-4,"\u00df":-4,"b":-4,"h":-4,"k":-4,"l":-4,"j":-3,"i":-4,"m":-4,"n":-4,"p":-4,"r":-4,"\u00ed":-4,"\u00ee":-4,"\u00ef":-4,"\u00ec":-4,"\u00f1":-4,"t":-6,"v":-3,"w":-3,"y":-3,"\u00fd":-3,"\u00ff":-3,"z":-4,"x":-2}},"\u00cc":{"d":"27,-243r32,0r0,243r-32,0r0,-243xm-9,-298r38,0r34,42r-26,0","w":86,"k":{"Y":3,"\u00dd":3,"f":-4,"\u00df":-4,"b":-4,"h":-4,"k":-4,"l":-4,"j":-3,"i":-4,"m":-4,"n":-4,"p":-4,"r":-4,"\u00ed":-4,"\u00ee":-4,"\u00ef":-4,"\u00ec":-4,"\u00f1":-4,"t":-6,"v":-3,"w":-3,"y":-3,"\u00fd":-3,"\u00ff":-3,"z":-4,"x":-2}},"\u00d1":{"d":"57,0r-30,0r0,-243r35,0r77,123v18,28,33,54,44,79r1,0v-3,-32,-4,-62,-4,-100r0,-102r30,0r0,243r-32,0r-77,-123v-17,-27,-33,-55,-45,-81r-1,0v2,31,2,60,2,100r0,104xm93,-257r-17,0v0,-22,9,-37,24,-37v8,0,13,3,21,7v6,3,12,7,18,7v5,0,8,-2,9,-14r17,0v0,23,-7,34,-24,34v-8,0,-14,-2,-22,-6v-7,-4,-12,-7,-17,-7v-6,0,-8,6,-9,16","w":236,"k":{"Y":3,"\u00dd":3,"f":-4,"\u00df":-4,"b":-4,"h":-4,"k":-4,"l":-4,"j":-3,"i":-4,"m":-4,"n":-4,"p":-4,"r":-4,"\u00ed":-4,"\u00ee":-4,"\u00ef":-4,"\u00ec":-4,"\u00f1":-4,"t":-6,"v":-3,"w":-3,"y":-3,"\u00fd":-3,"\u00ff":-3,"z":-4,"x":-2}},"\u00d3":{"d":"125,-247v67,0,110,51,110,123v0,83,-51,128,-113,128v-64,0,-109,-51,-109,-124v0,-77,47,-127,112,-127xm124,-221v-52,0,-78,48,-78,101v0,52,28,98,78,98v50,0,78,-45,78,-100v0,-49,-26,-99,-78,-99xm138,-298r38,0r-46,42r-25,0","w":248,"k":{"T":9,"X":10,"Y":10,"\u00dd":10,"A":5,"\u00c6":5,"\u00c1":5,"\u00c2":5,"\u00c4":5,"\u00c0":5,"\u00c5":5,"\u00c3":5,"f":-6,"\u00df":-6,"g":-2,"j":-2,"c":-1,"d":-1,"e":-1,"o":-1,"q":-1,"\u00f8":-1,"\u00e7":-1,"\u00e9":-1,"\u00ea":-1,"\u00eb":-1,"\u00e8":-1,"\u00f3":-1,"\u00f4":-1,"\u00f6":-1,"\u00f2":-1,"\u00f5":-1,"t":-6,"u":-1,"\u00fa":-1,"\u00fb":-1,"\u00fc":-1,"\u00f9":-1,"v":-5,"w":-5,"y":-5,"\u00fd":-5,"\u00ff":-5,"z":1,"x":2,"\u00ab":-5,"-":-5,"\u00ad":-5,")":3,"]":3,"}":3,",":12,".":12}},"\u00d4":{"d":"125,-247v67,0,110,51,110,123v0,83,-51,128,-113,128v-64,0,-109,-51,-109,-124v0,-77,47,-127,112,-127xm124,-221v-52,0,-78,48,-78,101v0,52,28,98,78,98v50,0,78,-45,78,-100v0,-49,-26,-99,-78,-99xm111,-298r24,0r38,41r-26,0r-23,-25r-1,0r-23,25r-25,0","w":248,"k":{"T":9,"X":10,"Y":10,"\u00dd":10,"A":5,"\u00c6":5,"\u00c1":5,"\u00c2":5,"\u00c4":5,"\u00c0":5,"\u00c5":5,"\u00c3":5,"f":-6,"\u00df":-6,"g":-2,"j":-2,"c":-1,"d":-1,"e":-1,"o":-1,"q":-1,"\u00f8":-1,"\u00e7":-1,"\u00e9":-1,"\u00ea":-1,"\u00eb":-1,"\u00e8":-1,"\u00f3":-1,"\u00f4":-1,"\u00f6":-1,"\u00f2":-1,"\u00f5":-1,"t":-6,"u":-1,"\u00fa":-1,"\u00fb":-1,"\u00fc":-1,"\u00f9":-1,"v":-5,"w":-5,"y":-5,"\u00fd":-5,"\u00ff":-5,"z":1,"x":2,"\u00ab":-5,"-":-5,"\u00ad":-5,")":3,"]":3,"}":3,",":12,".":12}},"\u00d6":{"d":"125,-247v67,0,110,51,110,123v0,83,-51,128,-113,128v-64,0,-109,-51,-109,-124v0,-77,47,-127,112,-127xm124,-221v-52,0,-78,48,-78,101v0,52,28,98,78,98v50,0,78,-45,78,-100v0,-49,-26,-99,-78,-99xm90,-260v-10,0,-17,-8,-17,-18v0,-10,8,-18,18,-18v10,0,17,8,17,18v0,10,-7,18,-18,18xm157,-260v-10,0,-17,-8,-17,-18v0,-10,8,-18,18,-18v10,0,17,8,17,18v0,10,-7,18,-18,18","w":248,"k":{"T":9,"X":10,"Y":10,"\u00dd":10,"A":5,"\u00c6":5,"\u00c1":5,"\u00c2":5,"\u00c4":5,"\u00c0":5,"\u00c5":5,"\u00c3":5,"f":-6,"\u00df":-6,"g":-2,"j":-2,"c":-1,"d":-1,"e":-1,"o":-1,"q":-1,"\u00f8":-1,"\u00e7":-1,"\u00e9":-1,"\u00ea":-1,"\u00eb":-1,"\u00e8":-1,"\u00f3":-1,"\u00f4":-1,"\u00f6":-1,"\u00f2":-1,"\u00f5":-1,"t":-6,"u":-1,"\u00fa":-1,"\u00fb":-1,"\u00fc":-1,"\u00f9":-1,"v":-5,"w":-5,"y":-5,"\u00fd":-5,"\u00ff":-5,"z":1,"x":2,"\u00ab":-5,"-":-5,"\u00ad":-5,")":3,"]":3,"}":3,",":12,".":12}},"\u00d2":{"d":"125,-247v67,0,110,51,110,123v0,83,-51,128,-113,128v-64,0,-109,-51,-109,-124v0,-77,47,-127,112,-127xm124,-221v-52,0,-78,48,-78,101v0,52,28,98,78,98v50,0,78,-45,78,-100v0,-49,-26,-99,-78,-99xm72,-298r38,0r33,41r-25,0","w":248,"k":{"T":9,"X":10,"Y":10,"\u00dd":10,"A":5,"\u00c6":5,"\u00c1":5,"\u00c2":5,"\u00c4":5,"\u00c0":5,"\u00c5":5,"\u00c3":5,"f":-6,"\u00df":-6,"g":-2,"j":-2,"c":-1,"d":-1,"e":-1,"o":-1,"q":-1,"\u00f8":-1,"\u00e7":-1,"\u00e9":-1,"\u00ea":-1,"\u00eb":-1,"\u00e8":-1,"\u00f3":-1,"\u00f4":-1,"\u00f6":-1,"\u00f2":-1,"\u00f5":-1,"t":-6,"u":-1,"\u00fa":-1,"\u00fb":-1,"\u00fc":-1,"\u00f9":-1,"v":-5,"w":-5,"y":-5,"\u00fd":-5,"\u00ff":-5,"z":1,"x":2,"\u00ab":-5,"-":-5,"\u00ad":-5,")":3,"]":3,"}":3,",":12,".":12}},"\u00d5":{"d":"125,-247v67,0,110,51,110,123v0,83,-51,128,-113,128v-64,0,-109,-51,-109,-124v0,-77,47,-127,112,-127xm124,-221v-52,0,-78,48,-78,101v0,52,28,98,78,98v50,0,78,-45,78,-100v0,-49,-26,-99,-78,-99xm96,-258r-17,0v0,-22,10,-37,25,-37v8,0,13,3,21,7v6,3,11,7,17,7v5,0,9,-2,10,-14r16,0v0,23,-7,35,-24,35v-8,0,-14,-3,-22,-7v-7,-4,-12,-7,-17,-7v-6,0,-8,7,-9,16","w":248,"k":{"T":9,"X":10,"Y":10,"\u00dd":10,"A":5,"\u00c6":5,"\u00c1":5,"\u00c2":5,"\u00c4":5,"\u00c0":5,"\u00c5":5,"\u00c3":5,"f":-6,"\u00df":-6,"g":-2,"j":-2,"c":-1,"d":-1,"e":-1,"o":-1,"q":-1,"\u00f8":-1,"\u00e7":-1,"\u00e9":-1,"\u00ea":-1,"\u00eb":-1,"\u00e8":-1,"\u00f3":-1,"\u00f4":-1,"\u00f6":-1,"\u00f2":-1,"\u00f5":-1,"t":-6,"u":-1,"\u00fa":-1,"\u00fb":-1,"\u00fc":-1,"\u00f9":-1,"v":-5,"w":-5,"y":-5,"\u00fd":-5,"\u00ff":-5,"z":1,"x":2,"\u00ab":-5,"-":-5,"\u00ad":-5,")":3,"]":3,"}":3,",":12,".":12}},"\u00da":{"d":"27,-243r32,0r0,144v0,54,24,77,56,77v36,0,59,-24,59,-77r0,-144r32,0r0,142v0,75,-39,105,-92,105v-50,0,-87,-28,-87,-104r0,-143xm132,-298r38,0r-46,42r-25,0","w":232,"k":{"A":12,"\u00c6":12,"\u00c1":12,"\u00c2":12,"\u00c4":12,"\u00c0":12,"\u00c5":12,"\u00c3":12,"a":1,"\u00e6":1,"\u00e1":1,"\u00e2":1,"\u00e4":1,"\u00e0":1,"\u00e5":1,"\u00e3":1,"f":-3,"\u00df":-3,"s":2,"t":-1,"v":1,"w":1,"y":1,"\u00fd":1,"\u00ff":1,"z":2,"x":3,",":10,".":10}},"\u00db":{"d":"27,-243r32,0r0,144v0,54,24,77,56,77v36,0,59,-24,59,-77r0,-144r32,0r0,142v0,75,-39,105,-92,105v-50,0,-87,-28,-87,-104r0,-143xm106,-297r24,0r38,41r-27,0r-22,-24r-1,0r-23,24r-26,0","w":232,"k":{"A":12,"\u00c6":12,"\u00c1":12,"\u00c2":12,"\u00c4":12,"\u00c0":12,"\u00c5":12,"\u00c3":12,"a":1,"\u00e6":1,"\u00e1":1,"\u00e2":1,"\u00e4":1,"\u00e0":1,"\u00e5":1,"\u00e3":1,"f":-3,"\u00df":-3,"s":2,"t":-1,"v":1,"w":1,"y":1,"\u00fd":1,"\u00ff":1,"z":2,"x":3,",":10,".":10}},"\u00dc":{"d":"27,-243r32,0r0,144v0,54,24,77,56,77v36,0,59,-24,59,-77r0,-144r32,0r0,142v0,75,-39,105,-92,105v-50,0,-87,-28,-87,-104r0,-143xm84,-260v-10,0,-18,-8,-18,-18v0,-10,8,-18,18,-18v10,0,17,8,17,18v0,10,-6,18,-17,18xm150,-260v-10,0,-17,-8,-17,-18v0,-10,8,-18,18,-18v10,0,17,8,17,18v0,10,-7,18,-18,18","w":232,"k":{"A":12,"\u00c6":12,"\u00c1":12,"\u00c2":12,"\u00c4":12,"\u00c0":12,"\u00c5":12,"\u00c3":12,"a":1,"\u00e6":1,"\u00e1":1,"\u00e2":1,"\u00e4":1,"\u00e0":1,"\u00e5":1,"\u00e3":1,"f":-3,"\u00df":-3,"s":2,"t":-1,"v":1,"w":1,"y":1,"\u00fd":1,"\u00ff":1,"z":2,"x":3,",":10,".":10}},"\u00d9":{"d":"27,-243r32,0r0,144v0,54,24,77,56,77v36,0,59,-24,59,-77r0,-144r32,0r0,142v0,75,-39,105,-92,105v-50,0,-87,-28,-87,-104r0,-143xm66,-298r38,0r34,42r-26,0","w":232,"k":{"A":12,"\u00c6":12,"\u00c1":12,"\u00c2":12,"\u00c4":12,"\u00c0":12,"\u00c5":12,"\u00c3":12,"a":1,"\u00e6":1,"\u00e1":1,"\u00e2":1,"\u00e4":1,"\u00e0":1,"\u00e5":1,"\u00e3":1,"f":-3,"\u00df":-3,"s":2,"t":-1,"v":1,"w":1,"y":1,"\u00fd":1,"\u00ff":1,"z":2,"x":3,",":10,".":10}},"\u00dd":{"d":"113,0r-32,0r0,-103r-77,-140r36,0r35,67r24,50r0,0v6,-16,16,-32,25,-50r35,-67r35,0r-81,140r0,103xm115,-296r38,0r-46,42r-25,0","w":194,"k":{"\u00f6":27,"\u00ef":5,"\u00eb":27,"\u00e4":25,"T":-12,"J":19,"M":4,"C":13,"G":13,"O":13,"Q":13,"\u00d8":13,"\u00c7":13,"\u00d3":13,"\u00d4":13,"\u00d6":13,"\u00d2":13,"\u00d5":13,"V":-10,"W":-10,"X":1,"Y":-1,"\u00dd":-1,"A":29,"\u00c6":29,"\u00c1":29,"\u00c2":29,"\u00c4":29,"\u00c0":29,"\u00c5":29,"\u00c3":29,"S":5,"B":3,"D":3,"E":3,"F":3,"H":3,"I":3,"K":3,"L":3,"N":3,"P":3,"R":3,"\u00d0":3,"\u00c9":3,"\u00ca":3,"\u00cb":3,"\u00c8":3,"\u00cd":3,"\u00ce":3,"\u00cf":3,"\u00cc":3,"\u00d1":3,"a":25,"\u00e6":25,"\u00e1":25,"\u00e2":25,"\u00e0":25,"\u00e5":25,"\u00e3":25,"g":14,"b":3,"h":3,"k":3,"l":3,"i":5,"m":5,"n":5,"p":5,"r":5,"\u00ed":5,"\u00ee":5,"\u00ec":5,"\u00f1":5,"c":27,"d":27,"e":27,"o":27,"q":27,"\u00f8":27,"\u00e7":27,"\u00e9":27,"\u00ea":27,"\u00e8":27,"\u00f3":27,"\u00f4":27,"\u00f2":27,"\u00f5":27,"s":19,"t":7,"u":19,"\u00fa":19,"\u00fb":19,"\u00fc":19,"\u00f9":19,"v":10,"w":10,"y":10,"\u00fd":10,"\u00ff":10,"z":9,"x":9,":":12,";":12,"\u00bb":7,"\u00ab":18,"-":18,"\u00ad":18,")":-20,"]":-20,"}":-20,"\"":-3,"'":-3,",":34,".":34}},"\u00e1":{"d":"149,-107r0,65v0,15,0,30,2,42r-28,0r-3,-22r-1,0v-10,14,-28,26,-53,26v-35,0,-53,-25,-53,-50v0,-42,37,-65,104,-65r0,-3v0,-14,-3,-40,-39,-40v-17,0,-34,5,-46,13r-7,-22v14,-9,35,-15,57,-15v53,0,67,36,67,71xm118,-59r0,-30v-35,-1,-74,5,-74,39v0,21,14,31,30,31v23,0,38,-15,43,-30v1,-4,1,-7,1,-10xm99,-249r35,0r-44,51r-22,0","w":173},"\u00e2":{"d":"149,-107r0,65v0,15,0,30,2,42r-28,0r-3,-22r-1,0v-10,14,-28,26,-53,26v-35,0,-53,-25,-53,-50v0,-42,37,-65,104,-65r0,-3v0,-14,-3,-40,-39,-40v-17,0,-34,5,-46,13r-7,-22v14,-9,35,-15,57,-15v53,0,67,36,67,71xm118,-59r0,-30v-35,-1,-74,5,-74,39v0,21,14,31,30,31v23,0,38,-15,43,-30v1,-4,1,-7,1,-10xm74,-249r22,0r34,51r-24,0r-21,-34r0,0r-21,34r-24,0","w":173},"\u00e4":{"d":"149,-107r0,65v0,15,0,30,2,42r-28,0r-3,-22r-1,0v-10,14,-28,26,-53,26v-35,0,-53,-25,-53,-50v0,-42,37,-65,104,-65r0,-3v0,-14,-3,-40,-39,-40v-17,0,-34,5,-46,13r-7,-22v14,-9,35,-15,57,-15v53,0,67,36,67,71xm118,-59r0,-30v-35,-1,-74,5,-74,39v0,21,14,31,30,31v23,0,38,-15,43,-30v1,-4,1,-7,1,-10xm53,-205v-10,0,-17,-9,-17,-19v0,-10,8,-18,18,-18v10,0,17,8,17,18v0,10,-7,19,-18,19xm120,-205v-10,0,-18,-9,-18,-19v0,-10,8,-18,18,-18v10,0,18,8,18,18v0,10,-7,19,-18,19","w":173},"\u00e0":{"d":"149,-107r0,65v0,15,0,30,2,42r-28,0r-3,-22r-1,0v-10,14,-28,26,-53,26v-35,0,-53,-25,-53,-50v0,-42,37,-65,104,-65r0,-3v0,-14,-3,-40,-39,-40v-17,0,-34,5,-46,13r-7,-22v14,-9,35,-15,57,-15v53,0,67,36,67,71xm118,-59r0,-30v-35,-1,-74,5,-74,39v0,21,14,31,30,31v23,0,38,-15,43,-30v1,-4,1,-7,1,-10xm34,-249r35,0r31,51r-22,0","w":173},"\u00e5":{"d":"149,-107r0,65v0,15,0,30,2,42r-28,0r-3,-22r-1,0v-10,14,-28,26,-53,26v-35,0,-53,-25,-53,-50v0,-42,37,-65,104,-65r0,-3v0,-14,-3,-40,-39,-40v-17,0,-34,5,-46,13r-7,-22v14,-9,35,-15,57,-15v53,0,67,36,67,71xm118,-59r0,-30v-35,-1,-74,5,-74,39v0,21,14,31,30,31v23,0,38,-15,43,-30v1,-4,1,-7,1,-10xm86,-193v-21,0,-36,-15,-36,-33v0,-19,15,-34,37,-34v22,0,35,15,35,34v0,19,-15,33,-36,33xm86,-207v11,0,19,-8,19,-19v0,-11,-7,-21,-19,-21v-11,0,-18,10,-18,21v0,10,7,19,18,19","w":173},"\u00e3":{"d":"149,-107r0,65v0,15,0,30,2,42r-28,0r-3,-22r-1,0v-10,14,-28,26,-53,26v-35,0,-53,-25,-53,-50v0,-42,37,-65,104,-65r0,-3v0,-14,-3,-40,-39,-40v-17,0,-34,5,-46,13r-7,-22v14,-9,35,-15,57,-15v53,0,67,36,67,71xm118,-59r0,-30v-35,-1,-74,5,-74,39v0,21,14,31,30,31v23,0,38,-15,43,-30v1,-4,1,-7,1,-10xm59,-204r-18,0v-1,-23,10,-38,25,-38v8,0,14,4,22,8v6,3,11,6,15,6v6,0,9,-3,10,-15r17,0v0,24,-7,37,-24,37v-8,0,-14,-4,-22,-8v-7,-4,-12,-6,-16,-6v-6,0,-8,6,-9,16","w":173},"\u00e7":{"d":"145,-30r5,24v-7,4,-23,10,-45,10r-9,14v13,3,25,11,25,26v0,22,-18,30,-37,30v-8,0,-18,-2,-25,-6r5,-16v5,3,13,5,20,5v8,0,15,-3,15,-12v0,-9,-11,-13,-28,-15r15,-27v-44,-5,-72,-40,-72,-88v0,-53,36,-93,93,-93v19,0,35,5,44,10r-7,24v-8,-4,-20,-9,-37,-9v-40,0,-61,30,-61,66v0,40,25,65,60,65v18,0,30,-4,39,-8","w":160,"k":{"T":4,"f":-1,"\u00df":-1,"c":2,"d":2,"e":2,"o":2,"q":2,"\u00f8":2,"\u00e7":2,"\u00e9":2,"\u00ea":2,"\u00eb":2,"\u00e8":2,"\u00f3":2,"\u00f4":2,"\u00f6":2,"\u00f2":2,"\u00f5":2,"t":-5,"v":-6,"w":-6,"y":-6,"\u00fd":-6,"\u00ff":-6,"\u00bb":-5,"-":-2,"\u00ad":-2,",":4,".":4}},"\u00e9":{"d":"166,-81r-122,0v1,43,28,60,60,60v23,0,36,-4,48,-9r6,23v-11,5,-31,11,-59,11v-54,0,-85,-35,-85,-88v0,-53,30,-94,81,-94v57,0,72,50,72,82v0,6,0,11,-1,15xm44,-104r93,0v0,-20,-8,-51,-44,-51v-32,0,-46,29,-49,51xm109,-249r35,0r-44,51r-22,0","w":180,"k":{"T":12,"x":1,"-":-10,"\u00ad":-10,",":4,".":4}},"\u00ea":{"d":"166,-81r-122,0v1,43,28,60,60,60v23,0,36,-4,48,-9r6,23v-11,5,-31,11,-59,11v-54,0,-85,-35,-85,-88v0,-53,30,-94,81,-94v57,0,72,50,72,82v0,6,0,11,-1,15xm44,-104r93,0v0,-20,-8,-51,-44,-51v-32,0,-46,29,-49,51xm83,-249r22,0r35,51r-24,0r-21,-34r-1,0r-21,34r-24,0","w":180,"k":{"T":12,"x":1,"-":-10,"\u00ad":-10,",":4,".":4}},"\u00eb":{"d":"166,-81r-122,0v1,43,28,60,60,60v23,0,36,-4,48,-9r6,23v-11,5,-31,11,-59,11v-54,0,-85,-35,-85,-88v0,-53,30,-94,81,-94v57,0,72,50,72,82v0,6,0,11,-1,15xm44,-104r93,0v0,-20,-8,-51,-44,-51v-32,0,-46,29,-49,51xm63,-205v-10,0,-18,-9,-18,-19v0,-10,9,-18,19,-18v10,0,17,8,17,18v0,10,-7,19,-18,19xm130,-205v-10,0,-18,-9,-18,-19v0,-10,8,-18,18,-18v10,0,18,8,18,18v0,10,-7,19,-18,19","w":180,"k":{"T":12,"x":1,"-":-10,"\u00ad":-10,",":4,".":4}},"\u00e8":{"d":"166,-81r-122,0v1,43,28,60,60,60v23,0,36,-4,48,-9r6,23v-11,5,-31,11,-59,11v-54,0,-85,-35,-85,-88v0,-53,30,-94,81,-94v57,0,72,50,72,82v0,6,0,11,-1,15xm44,-104r93,0v0,-20,-8,-51,-44,-51v-32,0,-46,29,-49,51xm49,-249r34,0r32,51r-22,0","w":180,"k":{"T":12,"x":1,"-":-10,"\u00ad":-10,",":4,".":4}},"\u00ed":{"d":"58,0r-32,0r0,-174r32,0r0,174xm56,-249r35,0r-44,51r-23,0","w":84},"\u00ee":{"d":"58,0r-32,0r0,-174r32,0r0,174xm31,-249r22,0r34,51r-24,0r-21,-34r0,0r-21,34r-24,0","w":84},"\u00ef":{"d":"58,0r-32,0r0,-174r32,0r0,174xm9,-205v-10,0,-18,-9,-18,-19v0,-10,8,-18,18,-18v10,0,18,8,18,18v0,10,-7,19,-18,19xm75,-205v-10,0,-17,-9,-17,-19v0,-10,8,-18,18,-18v10,0,17,8,17,18v0,10,-7,19,-18,19","w":84},"\u00ec":{"d":"58,0r-32,0r0,-174r32,0r0,174xm-10,-249r35,0r32,51r-23,0","w":84},"\u00f1":{"d":"26,0r0,-127v0,-18,0,-33,-1,-47r28,0r2,29r0,0v9,-16,29,-33,58,-33v24,0,62,14,62,74r0,104r-32,0r0,-100v0,-28,-10,-52,-40,-52v-21,0,-37,14,-43,32v-1,4,-2,10,-2,15r0,105r-32,0xm73,-204r-17,0v-1,-23,9,-38,24,-38v8,0,15,4,23,8v6,3,10,6,15,6v5,0,8,-3,9,-15r17,0v0,24,-7,37,-24,37v-8,0,-15,-4,-22,-8v-7,-4,-12,-6,-16,-6v-6,0,-8,6,-9,16","w":199,"k":{"T":18,"t":1,"v":5,"w":5,"y":5,"\u00fd":5,"\u00ff":5,"\"":3,"'":3}},"\u00f3":{"d":"100,-178v50,0,84,36,84,89v0,64,-45,93,-87,93v-47,0,-83,-35,-83,-90v0,-58,38,-92,86,-92xm99,-154v-37,0,-53,34,-53,67v0,38,22,67,53,67v30,0,53,-28,53,-67v0,-30,-16,-67,-53,-67xm111,-249r35,0r-44,51r-22,0","w":197,"k":{"T":14,"v":3,"w":3,"y":3,"\u00fd":3,"\u00ff":3,"z":3,"x":5,"-":-5,"\u00ad":-5,")":1,"]":1,"}":1,"\"":4,"'":4,",":9,".":9}},"\u00f4":{"d":"100,-178v50,0,84,36,84,89v0,64,-45,93,-87,93v-47,0,-83,-35,-83,-90v0,-58,38,-92,86,-92xm99,-154v-37,0,-53,34,-53,67v0,38,22,67,53,67v30,0,53,-28,53,-67v0,-30,-16,-67,-53,-67xm87,-249r22,0r35,51r-24,0r-21,-34r-1,0r-21,34r-23,0","w":197,"k":{"T":14,"v":3,"w":3,"y":3,"\u00fd":3,"\u00ff":3,"z":3,"x":5,"-":-5,"\u00ad":-5,")":1,"]":1,"}":1,"\"":4,"'":4,",":9,".":9}},"\u00f6":{"d":"100,-178v50,0,84,36,84,89v0,64,-45,93,-87,93v-47,0,-83,-35,-83,-90v0,-58,38,-92,86,-92xm99,-154v-37,0,-53,34,-53,67v0,38,22,67,53,67v30,0,53,-28,53,-67v0,-30,-16,-67,-53,-67xm65,-205v-10,0,-17,-9,-17,-19v0,-10,8,-18,18,-18v10,0,17,8,17,18v0,10,-7,19,-18,19xm132,-205v-10,0,-18,-9,-18,-19v0,-10,8,-18,18,-18v10,0,18,8,18,18v0,10,-7,19,-18,19","w":197,"k":{"T":14,"v":3,"w":3,"y":3,"\u00fd":3,"\u00ff":3,"z":3,"x":5,"-":-5,"\u00ad":-5,")":1,"]":1,"}":1,"\"":4,"'":4,",":9,".":9}},"\u00f2":{"d":"100,-178v50,0,84,36,84,89v0,64,-45,93,-87,93v-47,0,-83,-35,-83,-90v0,-58,38,-92,86,-92xm99,-154v-37,0,-53,34,-53,67v0,38,22,67,53,67v30,0,53,-28,53,-67v0,-30,-16,-67,-53,-67xm52,-249r35,0r31,51r-22,0","w":197,"k":{"T":14,"v":3,"w":3,"y":3,"\u00fd":3,"\u00ff":3,"z":3,"x":5,"-":-5,"\u00ad":-5,")":1,"]":1,"}":1,"\"":4,"'":4,",":9,".":9}},"\u00f5":{"d":"100,-178v50,0,84,36,84,89v0,64,-45,93,-87,93v-47,0,-83,-35,-83,-90v0,-58,38,-92,86,-92xm99,-154v-37,0,-53,34,-53,67v0,38,22,67,53,67v30,0,53,-28,53,-67v0,-30,-16,-67,-53,-67xm72,-204r-18,0v-1,-23,10,-38,25,-38v8,0,14,4,23,8v6,3,10,6,15,6v5,0,8,-3,9,-15r17,0v0,24,-7,37,-24,37v-8,0,-15,-4,-23,-8v-7,-4,-11,-6,-15,-6v-6,0,-8,6,-9,16","w":197,"k":{"T":14,"v":3,"w":3,"y":3,"\u00fd":3,"\u00ff":3,"z":3,"x":5,"-":-5,"\u00ad":-5,")":1,"]":1,"}":1,"\"":4,"'":4,",":9,".":9}},"\u00fa":{"d":"172,-174r0,126v0,18,1,34,2,48r-29,0r-1,-28r-1,0v-8,14,-27,32,-58,32v-27,0,-60,-15,-60,-76r0,-102r32,0r0,96v0,33,11,56,39,56v21,0,36,-15,42,-29v2,-4,2,-11,2,-17r0,-106r32,0xm116,-249r34,0r-44,51r-22,0","w":198,"k":{"T":11,",":3,".":3}},"\u00fb":{"d":"172,-174r0,126v0,18,1,34,2,48r-29,0r-1,-28r-1,0v-8,14,-27,32,-58,32v-27,0,-60,-15,-60,-76r0,-102r32,0r0,96v0,33,11,56,39,56v21,0,36,-15,42,-29v2,-4,2,-11,2,-17r0,-106r32,0xm88,-249r22,0r34,51r-24,0r-21,-34r0,0r-21,34r-24,0","w":198,"k":{"T":11,",":3,".":3}},"\u00fc":{"d":"172,-174r0,126v0,18,1,34,2,48r-29,0r-1,-28r-1,0v-8,14,-27,32,-58,32v-27,0,-60,-15,-60,-76r0,-102r32,0r0,96v0,33,11,56,39,56v21,0,36,-15,42,-29v2,-4,2,-11,2,-17r0,-106r32,0xm67,-205v-10,0,-18,-9,-18,-19v0,-10,8,-18,18,-18v10,0,18,8,18,18v0,10,-7,19,-18,19xm133,-205v-10,0,-17,-9,-17,-19v0,-10,8,-18,18,-18v10,0,17,8,17,18v0,10,-7,19,-18,19","w":198,"k":{"T":11,",":3,".":3}},"\u00f9":{"d":"172,-174r0,126v0,18,1,34,2,48r-29,0r-1,-28r-1,0v-8,14,-27,32,-58,32v-27,0,-60,-15,-60,-76r0,-102r32,0r0,96v0,33,11,56,39,56v21,0,36,-15,42,-29v2,-4,2,-11,2,-17r0,-106r32,0xm50,-249r35,0r32,51r-23,0","w":198,"k":{"T":11,",":3,".":3}},"\u00fd":{"d":"3,-174r35,0r38,103v4,12,8,25,11,35r1,0r11,-36r35,-102r33,0r-47,124v-23,60,-38,90,-60,109v-16,13,-31,19,-39,20r-8,-26v8,-3,19,-8,28,-16v9,-7,18,-19,26,-35v1,-3,3,-5,3,-7v0,-2,-1,-5,-3,-9xm103,-249r35,0r-44,51r-23,0","w":169,"k":{"T":11,"a":1,"\u00e6":1,"\u00e1":1,"\u00e2":1,"\u00e4":1,"\u00e0":1,"\u00e5":1,"\u00e3":1,"g":4,"c":4,"d":4,"e":4,"o":4,"q":4,"\u00f8":4,"\u00e7":4,"\u00e9":4,"\u00ea":4,"\u00eb":4,"\u00e8":4,"\u00f3":4,"\u00f4":4,"\u00f6":4,"\u00f2":4,"\u00f5":4,"s":2,"v":-4,"w":-4,"y":-4,"\u00fd":-4,"\u00ff":-4,":":-9,";":-9,"-":1,"\u00ad":1,",":14,".":14}},"\u00ff":{"d":"3,-174r35,0r38,103v4,12,8,25,11,35r1,0r11,-36r35,-102r33,0r-47,124v-23,60,-38,90,-60,109v-16,13,-31,19,-39,20r-8,-26v8,-3,19,-8,28,-16v9,-7,18,-19,26,-35v1,-3,3,-5,3,-7v0,-2,-1,-5,-3,-9xm55,-205v-10,0,-17,-9,-17,-19v0,-10,8,-18,18,-18v10,0,17,8,17,18v0,10,-7,19,-18,19xm122,-205v-10,0,-18,-9,-18,-19v0,-10,8,-18,18,-18v10,0,18,8,18,18v0,10,-7,19,-18,19","w":169,"k":{"T":11,"a":1,"\u00e6":1,"\u00e1":1,"\u00e2":1,"\u00e4":1,"\u00e0":1,"\u00e5":1,"\u00e3":1,"g":4,"c":4,"d":4,"e":4,"o":4,"q":4,"\u00f8":4,"\u00e7":4,"\u00e9":4,"\u00ea":4,"\u00eb":4,"\u00e8":4,"\u00f3":4,"\u00f4":4,"\u00f6":4,"\u00f2":4,"\u00f5":4,"s":2,"v":-4,"w":-4,"y":-4,"\u00fd":-4,"\u00ff":-4,":":-9,";":-9,"-":1,"\u00ad":1,",":14,".":14}},"\u00ad":{"d":"11,-109r89,0r0,23r-89,0r0,-23","w":104,"k":{"T":18,"J":7,"C":-5,"G":-5,"O":-5,"Q":-5,"\u00d8":-5,"\u00c7":-5,"\u00d3":-5,"\u00d4":-5,"\u00d6":-5,"\u00d2":-5,"\u00d5":-5,"V":4,"W":4,"X":8,"Y":18,"\u00dd":18,"A":1,"\u00c6":1,"\u00c1":1,"\u00c2":1,"\u00c4":1,"\u00c0":1,"\u00c5":1,"\u00c3":1,"g":-5,"c":-6,"d":-6,"e":-6,"o":-6,"q":-6,"\u00f8":-6,"\u00e7":-6,"\u00e9":-6,"\u00ea":-6,"\u00eb":-6,"\u00e8":-6,"\u00f3":-6,"\u00f4":-6,"\u00f6":-6,"\u00f2":-6,"\u00f5":-6,"v":2,"w":2,"y":2,"\u00fd":2,"\u00ff":2}},"\u00a0":{"w":76,"k":{"T":15,"V":13,"W":13,"Y":17,"\u00dd":17}}}});

// jquery.jmsajax.js
// jquery.jmsajax.js
/*
* jMsAjax 0.2.2 - Microsoft Ajax jQuery Plugin
*
* Copyright (c) 2008 Adam Schröder (schotime.net)
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* $Date: 2008-07-12 $
*/
(function ($) {
    $.jmsajax = function (options) {
        var defaults = {
            type: "POST",
            dataType: "msjson",
            data: {},
            beforeSend: function (xhr) { xhr.setRequestHeader("Content-type", "application/json; charset=utf-8"); },
            contentType: "application/json; charset=utf-8",
            error: function (x, s, m) { alert("Status: " + ((x.statusText) ? x.statusText : "Unknown") + "\nMessage: " + msJSON.parse(((x.responseText) ? x.responseText : "Unknown")).Message); }
        };

        var options = $.extend(defaults, options);

        if (options.method)
            options.url += "/" + options.method;

        if (options.data) {
            if (options.type == "GET") {
                var data = "";
                for (var i in options.data) {
                    if (data != "")
                        data += "&";

                    data += i + "=" + msJSON.stringify(options.data[i]);
                }

                options.url += "?" + data;
                data = null;
                options.data = "{}";
            }
            else if (options.type == "POST") {
                options.data = msJSON.stringify(options.data);
            }
        }

        if (options.success) {
            if (options.dataType) {
                if (options.dataType == "msjson") {
                    var base = options.success;
                    options.success = function (response, status) {
                        var y = dateparse(response);
                        if (options.version) {
                            if (options.version >= 3.5)
                                y = y.d;
                        }
                        else {
                            if (response.indexOf("{\"d\":") == 0)
                                y = y.d;
                        }

                        base(y, status);
                    }
                }
            }
        }

        return $.ajax(options);
    };

    dateparse = function (data) {
        try {

            return msJSON.parse(data, function (key, value) {
                var a;
                if (typeof value === "string") {
                    if (value.indexOf("Date") >= 0) {
                        a = /^\/Date\((-?[0-9]+)\)\/$/.exec(value);
                        if (a) {
                            return new Date(parseInt(a[1], 10));
                        }
                    }
                }
                return value;
            });

        }
        catch (e) { return null; }
    }

    msJSON = function () {
        function f(n) { return n < 10 ? '0' + n : n; }
        //Date.prototype.toJSON=function(key){return this.getUTCFullYear()+'-'+f(this.getUTCMonth()+1)+'-'+f(this.getUTCDate())+'T'+f(this.getUTCHours())+':'+f(this.getUTCMinutes())+':'+f(this.getUTCSeconds())+'Z';};
        var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, escapeable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, gap, indent, meta = { '\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '"': '\\"', '\\': '\\\\' }, rep; function quote(string) {
            escapeable.lastIndex = 0; return escapeable.test(string) ? '"' + string.replace(escapeable, function (a) {
                var c = meta[a]; if (typeof c === 'string') { return c; }
                return '\\u' + ('0000' +
        (+(a.charCodeAt(0))).toString(16)).slice(-4);
            }) + '"' : '"' + string + '"';
        }
        function str(key, holder) {
            var i, k, v, length, mind = gap, partial, value = holder[key]; if (value && typeof value === 'object' && typeof value.toJSON === 'function') { value = value.toJSON(key); }
            if (typeof rep === 'function') { value = rep.call(holder, key, value); }
            switch (typeof value) {
                case 'string': return quote(value); case 'number': return isFinite(value) ? String(value) : 'null'; case 'boolean': case 'null': return String(value); case 'object': if (!value) { return 'null'; }
                    if (value.toUTCString) { return '"\\/Date(' + (value.getTime()) + ')\\/"'; }
                    gap += indent; partial = []; if (typeof value.length === 'number' && !(value.propertyIsEnumerable('length'))) {
                        length = value.length; for (i = 0; i < length; i += 1) { partial[i] = str(i, value) || 'null'; }
                        v = partial.length === 0 ? '[]' : gap ? '[\n' + gap +
        partial.join(',\n' + gap) + '\n' +
        mind + ']' : '[' + partial.join(',') + ']'; gap = mind; return v;
                    }
                    if (rep && typeof rep === 'object') { length = rep.length; for (i = 0; i < length; i += 1) { k = rep[i]; if (typeof k === 'string') { v = str(k, value, rep); if (v) { partial.push(quote(k) + (gap ? ': ' : ':') + v); } } } } else { for (k in value) { if (Object.hasOwnProperty.call(value, k)) { v = str(k, value, rep); if (v) { partial.push(quote(k) + (gap ? ': ' : ':') + v); } } } }
                    v = partial.length === 0 ? '{}' : gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' +
        mind + '}' : '{' + partial.join(',') + '}'; gap = mind; return v;
            } 
        }
        return { stringify: function (value, replacer, space) {
            var i; gap = ''; indent = ''; if (typeof space === 'number') { for (i = 0; i < space; i += 1) { indent += ' '; } } else if (typeof space === 'string') { indent = space; }
            rep = replacer; if (replacer && typeof replacer !== 'function' && (typeof replacer !== 'object' || typeof replacer.length !== 'number')) { throw new Error('JSON.stringify'); }
            return str('', { '': value });
        }, parse: function (text, reviver) {
            var j; function walk(holder, key) {
                var k, v, value = holder[key]; if (value && typeof value === 'object') { for (k in value) { if (Object.hasOwnProperty.call(value, k)) { v = walk(value, k); if (v !== undefined) { value[k] = v; } else { delete value[k]; } } } }
                return reviver.call(holder, key, value);
            }
            cx.lastIndex = 0; if (cx.test(text)) {
                text = text.replace(cx, function (a) {
                    return '\\u' + ('0000' +
        (+(a.charCodeAt(0))).toString(16)).slice(-4);
                });
            }
            if (/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']').replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) { j = eval('(' + text + ')'); return typeof reviver === 'function' ? walk({ '': j }, '') : j; }
            throw new SyntaxError('JSON.parse');
        } 
        };
    } ();
})(jQuery);  
// jquery.ui.slider.js
// jquery.ui.slider.js
/*
* jQuery UI Slider 1.8rc3
*
* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* http://docs.jquery.com/UI/Slider
*
* Depends on:
*	jquery.ui.core.js
*	jquery.ui.mouse.js
*	jquery.ui.widget.js
*/

(function ($) {

    // number of pages in a slider
    // (how many times can you page up/down to go through the whole range)
    var numPages = 5;

    $.widget("ui.slider", $.ui.mouse, {
        widgetEventPrefix: "slide",
        options: {
            animate: false,
            distance: 0,
            max: 100,
            min: 0,
            orientation: 'horizontal',
            range: false,
            step: 1,
            value: 0,
            values: null
        },
        _create: function () {

            var self = this, o = this.options;
            this._keySliding = false;
            this._mouseSliding = false;
            this._animateOff = true;
            this._handleIndex = null;
            this._detectOrientation();
            this._mouseInit();

            this.element
			.addClass("ui-slider"
				+ " ui-slider-" + this.orientation
				+ " ui-widget"
				+ " ui-widget-content"
				+ " ui-corner-all");

            if (o.disabled) {
                this.element.addClass('ui-slider-disabled ui-disabled');
            }

            this.range = $([]);

            if (o.range) {

                if (o.range === true) {
                    this.range = $('<div></div>');
                    if (!o.values) o.values = [this._valueMin(), this._valueMin()];
                    if (o.values.length && o.values.length != 2) {
                        o.values = [o.values[0], o.values[0]];
                    }
                } else {
                    this.range = $('<div></div>');
                }

                this.range
				.appendTo(this.element)
				.addClass("ui-slider-range");

                if (o.range == "min" || o.range == "max") {
                    this.range.addClass("ui-slider-range-" + o.range);
                }

                // note: this isn't the most fittingly semantic framework class for this element,
                // but worked best visually with a variety of themes
                this.range.addClass("ui-widget-header");

            }

            if ($(".ui-slider-handle", this.element).length == 0)
                $('<a href="#"></a>')
				.appendTo(this.element)
				.addClass("ui-slider-handle");

            if (o.values && o.values.length) {
                while ($(".ui-slider-handle", this.element).length < o.values.length)
                    $('<a href="#"></a>')
					.appendTo(this.element)
					.addClass("ui-slider-handle");
            }

            this.handles = $(".ui-slider-handle", this.element)
			.addClass("ui-state-default"
				+ " ui-corner-all");

            this.handle = this.handles.eq(0);

            this.handles.add(this.range).filter("a")
			.click(function (event) {
			    event.preventDefault();
			})
			.hover(function () {
			    if (!o.disabled) {
			        $(this).addClass('ui-state-hover');
			    }
			}, function () {
			    $(this).removeClass('ui-state-hover');
			})
			.focus(function () {
			    if (!o.disabled) {
			        $(".ui-slider .ui-state-focus").removeClass('ui-state-focus'); $(this).addClass('ui-state-focus');
			    } else {
			        $(this).blur();
			    }
			})
			.blur(function () {
			    $(this).removeClass('ui-state-focus');
			});

            this.handles.each(function (i) {
                $(this).data("index.ui-slider-handle", i);
            });

            this.handles.keydown(function (event) {

                var ret = true;

                var index = $(this).data("index.ui-slider-handle");

                if (self.options.disabled)
                    return;

                switch (event.keyCode) {
                    case $.ui.keyCode.HOME:
                    case $.ui.keyCode.END:
                    case $.ui.keyCode.PAGE_UP:
                    case $.ui.keyCode.PAGE_DOWN:
                    case $.ui.keyCode.UP:
                    case $.ui.keyCode.RIGHT:
                    case $.ui.keyCode.DOWN:
                    case $.ui.keyCode.LEFT:
                        ret = false;
                        if (!self._keySliding) {
                            self._keySliding = true;
                            $(this).addClass("ui-state-active");
                            self._start(event, index);
                        }
                        break;
                }

                var curVal, newVal, step = self._step();
                if (self.options.values && self.options.values.length) {
                    curVal = newVal = self.values(index);
                } else {
                    curVal = newVal = self.value();
                }

                switch (event.keyCode) {
                    case $.ui.keyCode.HOME:
                        newVal = self._valueMin();
                        break;
                    case $.ui.keyCode.END:
                        newVal = self._valueMax();
                        break;
                    case $.ui.keyCode.PAGE_UP:
                        newVal = curVal + ((self._valueMax() - self._valueMin()) / numPages);
                        break;
                    case $.ui.keyCode.PAGE_DOWN:
                        newVal = curVal - ((self._valueMax() - self._valueMin()) / numPages);
                        break;
                    case $.ui.keyCode.UP:
                    case $.ui.keyCode.RIGHT:
                        if (curVal == self._valueMax()) return;
                        newVal = curVal + step;
                        break;
                    case $.ui.keyCode.DOWN:
                    case $.ui.keyCode.LEFT:
                        if (curVal == self._valueMin()) return;
                        newVal = curVal - step;
                        break;
                }

                self._slide(event, index, newVal);

                return ret;

            }).keyup(function (event) {

                var index = $(this).data("index.ui-slider-handle");

                if (self._keySliding) {
                    self._stop(event, index);
                    self._change(event, index);
                    self._keySliding = false;
                    $(this).removeClass("ui-state-active");
                }

            });

            this._refreshValue();

            this._animateOff = false;

        },

        destroy: function () {

            this.handles.remove();
            this.range.remove();

            this.element
			.removeClass("ui-slider"
				+ " ui-slider-horizontal"
				+ " ui-slider-vertical"
				+ " ui-slider-disabled"
				+ " ui-widget"
				+ " ui-widget-content"
				+ " ui-corner-all")
			.removeData("slider")
			.unbind(".slider");

            this._mouseDestroy();

            return this;
        },

        _mouseCapture: function (event) {

            var o = this.options;

            if (o.disabled)
                return false;

            this.elementSize = {
                width: this.element.outerWidth(),
                height: this.element.outerHeight()
            };
            this.elementOffset = this.element.offset();

            var position = { x: event.pageX, y: event.pageY };
            var normValue = this._normValueFromMouse(position);

            var distance = this._valueMax() - this._valueMin() + 1, closestHandle;
            var self = this, index;
            this.handles.each(function (i) {
                var thisDistance = Math.abs(normValue - self.values(i));
                if (distance > thisDistance) {
                    distance = thisDistance;
                    closestHandle = $(this);
                    index = i;
                }
            });

            // workaround for bug #3736 (if both handles of a range are at 0,
            // the first is always used as the one with least distance,
            // and moving it is obviously prevented by preventing negative ranges)
            if (o.range == true && this.values(1) == o.min) {
                closestHandle = $(this.handles[++index]);
            }

            this._start(event, index);
            this._mouseSliding = true;

            self._handleIndex = index;

            closestHandle
			.addClass("ui-state-active")
			.focus();

            var offset = closestHandle.offset();
            var mouseOverHandle = !$(event.target).parents().andSelf().is('.ui-slider-handle');
            this._clickOffset = mouseOverHandle ? { left: 0, top: 0} : {
                left: event.pageX - offset.left - (closestHandle.width() / 2),
                top: event.pageY - offset.top
				- (closestHandle.height() / 2)
				- (parseInt(closestHandle.css('borderTopWidth'), 10) || 0)
				- (parseInt(closestHandle.css('borderBottomWidth'), 10) || 0)
				+ (parseInt(closestHandle.css('marginTop'), 10) || 0)
            };

            normValue = this._normValueFromMouse(position);
            this._slide(event, index, normValue);
            this._animateOff = true;
            return true;

        },

        _mouseStart: function (event) {
            return true;
        },

        _mouseDrag: function (event) {

            var position = { x: event.pageX, y: event.pageY };
            var normValue = this._normValueFromMouse(position);

            this._slide(event, this._handleIndex, normValue);

            return false;

        },

        _mouseStop: function (event) {

            this.handles.removeClass("ui-state-active");
            this._mouseSliding = false;
            this._stop(event, this._handleIndex);
            this._change(event, this._handleIndex);
            this._handleIndex = null;
            this._clickOffset = null;

            this._animateOff = false;
            return false;

        },

        _detectOrientation: function () {
            this.orientation = this.options.orientation == 'vertical' ? 'vertical' : 'horizontal';
        },

        _normValueFromMouse: function (position) {

            var pixelTotal, pixelMouse;
            if ('horizontal' == this.orientation) {
                pixelTotal = this.elementSize.width;
                pixelMouse = position.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left : 0);
            } else {
                pixelTotal = this.elementSize.height;
                pixelMouse = position.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top : 0);
            }

            var percentMouse = (pixelMouse / pixelTotal);
            if (percentMouse > 1) percentMouse = 1;
            if (percentMouse < 0) percentMouse = 0;
            if ('vertical' == this.orientation)
                percentMouse = 1 - percentMouse;

            var valueTotal = this._valueMax() - this._valueMin(),
			valueMouse = percentMouse * valueTotal,
			valueMouseModStep = valueMouse % this.options.step,
			normValue = this._valueMin() + valueMouse - valueMouseModStep;

            if (valueMouseModStep > (this.options.step / 2))
                normValue += this.options.step;

            // Since JavaScript has problems with large floats, round
            // the final value to 5 digits after the decimal point (see #4124)
            return parseFloat(normValue.toFixed(5));

        },

        _start: function (event, index) {
            var uiHash = {
                handle: this.handles[index],
                value: this.value()
            };
            if (this.options.values && this.options.values.length) {
                uiHash.value = this.values(index);
                uiHash.values = this.values();
            }
            this._trigger("start", event, uiHash);
        },

        _slide: function (event, index, newVal) {

            var handle = this.handles[index];

            if (this.options.values && this.options.values.length) {

                var otherVal = this.values(index ? 0 : 1);

                if ((this.options.values.length == 2 && this.options.range === true) &&
				((index == 0 && newVal > otherVal) || (index == 1 && newVal < otherVal))) {
                    newVal = otherVal;
                }

                if (newVal != this.values(index)) {
                    var newValues = this.values();
                    newValues[index] = newVal;
                    // A slide can be canceled by returning false from the slide callback
                    var allowed = this._trigger("slide", event, {
                        handle: this.handles[index],
                        value: newVal,
                        values: newValues
                    });
                    var otherVal = this.values(index ? 0 : 1);
                    if (allowed !== false) {
                        this.values(index, newVal, true);
                    }
                }

            } else {

                if (newVal != this.value()) {
                    if (event.type == 'mousemove')
                    // A slide can be canceled by returning false from the slide callback
                        var allowed = this._trigger("slide", event, {
                            handle: this.handles[index],
                            value: newVal
                        });
                    if (allowed !== false) {
                        this.value(newVal);
                    }

                }

            }

        },

        _stop: function (event, index) {
            var uiHash = {
                handle: this.handles[index],
                value: this.value()
            };
            if (this.options.values && this.options.values.length) {
                uiHash.value = this.values(index);
                uiHash.values = this.values();
            }
            this._trigger("stop", event, uiHash);
        },

        _change: function (event, index) {
            if (!this._keySliding && !this._mouseSliding) {
                var uiHash = {
                    handle: this.handles[index],
                    value: this.value()
                };
                if (this.options.values && this.options.values.length) {
                    uiHash.value = this.values(index);
                    uiHash.values = this.values();
                }
                this._trigger("change", event, uiHash);
            }
        },

        value: function (newValue) {

            if (arguments.length) {
                this.options.value = this._trimValue(newValue);
                this._refreshValue();
                this._change(null, 0);
            }

            return this._value();

        },

        values: function (index, newValue) {

            if (arguments.length > 1) {
                this.options.values[index] = this._trimValue(newValue);
                this._refreshValue();
                this._change(null, index);
            }

            if (arguments.length) {
                if ($.isArray(arguments[0])) {
                    var vals = this.options.values, newValues = arguments[0];
                    for (var i = 0, l = vals.length; i < l; i++) {
                        vals[i] = this._trimValue(newValues[i]);
                        this._change(null, i);
                    }
                    this._refreshValue();
                } else {
                    if (this.options.values && this.options.values.length) {
                        return this._values(index);
                    } else {
                        return this.value();
                    }
                }
            } else {
                return this._values();
            }

        },

        _setOption: function (key, value) {

            $.Widget.prototype._setOption.apply(this, arguments);

            switch (key) {
                case 'disabled':
                    if (value) {
                        this.handles.filter(".ui-state-focus").blur();
                        this.handles.removeClass("ui-state-hover");
                        this.handles.attr("disabled", "disabled");
                        this.element.addClass("ui-disabled");
                    } else {
                        this.handles.removeAttr("disabled");
                        this.element.removeClass("ui-disabled");
                    }
                case 'orientation':

                    this._detectOrientation();

                    this.element
					.removeClass("ui-slider-horizontal ui-slider-vertical")
					.addClass("ui-slider-" + this.orientation);
                    this._refreshValue();
                    break;
                case 'value':
                    this._animateOff = true;
                    this._refreshValue();
                    this._animateOff = false;
                    break;
                case 'values':
                    this._animateOff = true;
                    this._refreshValue();
                    this._animateOff = false;
                    break;
            }

        },

        _step: function () {
            var step = this.options.step;
            return step;
        },

        _value: function () {
            //internal value getter
            // _value() returns value trimmed by min and max
            var val = this.options.value;
            val = this._trimValue(val);

            return val;
        },

        _values: function (index) {
            //internal values getter
            // _values() returns array of values trimmed by min and max
            // _values(index) returns single value trimmed by min and max

            if (arguments.length) {
                var val = this.options.values[index];
                val = this._trimValue(val);

                return val;
            } else {
                // .slice() creates a copy of the array
                // this copy gets trimmed by min and max and then returned
                var vals = this.options.values.slice();
                for (var i = 0, l = vals.length; i < l; i++) {
                    vals[i] = this._trimValue(vals[i]);
                }

                return vals;
            }

        },

        _trimValue: function (val) {
            if (val < this._valueMin()) val = this._valueMin();
            if (val > this._valueMax()) val = this._valueMax();

            return val;
        },

        _valueMin: function () {
            var valueMin = this.options.min;
            return valueMin;
        },

        _valueMax: function () {
            var valueMax = this.options.max;
            return valueMax;
        },

        _refreshValue: function () {

            var oRange = this.options.range, o = this.options, self = this;
            var animate = (!this._animateOff) ? o.animate : false;

            if (this.options.values && this.options.values.length) {
                var vp0, vp1;
                this.handles.each(function (i, j) {
                    var valPercent = (self.values(i) - self._valueMin()) / (self._valueMax() - self._valueMin()) * 100;
                    var _set = {}; _set[self.orientation == 'horizontal' ? 'left' : 'bottom'] = valPercent + '%';
                    $(this).stop(1, 1)[animate ? 'animate' : 'css'](_set, o.animate);
                    if (self.options.range === true) {
                        if (self.orientation == 'horizontal') {
                            (i == 0) && self.range.stop(1, 1)[animate ? 'animate' : 'css']({ left: valPercent + '%' }, o.animate);
                            (i == 1) && self.range[animate ? 'animate' : 'css']({ width: (valPercent - lastValPercent) + '%' }, { queue: false, duration: o.animate });
                        } else {
                            (i == 0) && self.range.stop(1, 1)[animate ? 'animate' : 'css']({ bottom: (valPercent) + '%' }, o.animate);
                            (i == 1) && self.range[animate ? 'animate' : 'css']({ height: (valPercent - lastValPercent) + '%' }, { queue: false, duration: o.animate });
                        }
                    }
                    lastValPercent = valPercent;
                });
            } else {
                var value = this.value(),
				valueMin = this._valueMin(),
				valueMax = this._valueMax(),
				valPercent = valueMax != valueMin
					? (value - valueMin) / (valueMax - valueMin) * 100
					: 0;
                var _set = {}; _set[self.orientation == 'horizontal' ? 'left' : 'bottom'] = valPercent + '%';
                this.handle.stop(1, 1)[animate ? 'animate' : 'css'](_set, o.animate);

                (oRange == "min") && (this.orientation == "horizontal") && this.range.stop(1, 1)[animate ? 'animate' : 'css']({ width: valPercent + '%' }, o.animate);
                (oRange == "max") && (this.orientation == "horizontal") && this.range[animate ? 'animate' : 'css']({ width: (100 - valPercent) + '%' }, { queue: false, duration: o.animate });
                (oRange == "min") && (this.orientation == "vertical") && this.range.stop(1, 1)[animate ? 'animate' : 'css']({ height: valPercent + '%' }, o.animate);
                (oRange == "max") && (this.orientation == "vertical") && this.range[animate ? 'animate' : 'css']({ height: (100 - valPercent) + '%' }, { queue: false, duration: o.animate });
            }

        }

    });

    $.extend($.ui.slider, {
        version: "1.8rc3"
    });

})(jQuery);

// jquery.fancybox.js
// jquery.fancybox.js
/*
* FancyBox - jQuery Plugin
* Simple and fancy lightbox alternative
*
* Examples and documentation at: http://fancybox.net
* 
* Copyright (c) 2008 - 2010 Janis Skarnelis
*
* Version: 1.3.1 (05/03/2010)
* Requires: jQuery v1.3+
*
* Dual licensed under the MIT and GPL licenses:
*   http://www.opensource.org/licenses/mit-license.php
*   http://www.gnu.org/licenses/gpl.html
*/

(function ($) {

    var tmp, loading, overlay, wrap, outer, inner, close, nav_left, nav_right,
		selectedIndex = 0, selectedOpts = {}, selectedArray = [], currentIndex = 0, currentOpts = {}, currentArray = [],
		ajaxLoader = null, imgPreloader = new Image(), imgRegExp = /\.(jpg|gif|png|bmp|jpeg)(.*)?$/i, swfRegExp = /[^\.]\.(swf)\s*$/i,
		loadingTimer, loadingFrame = 1,
		start_pos, final_pos, busy = false, shadow = 20, fx = $.extend($('<div/>')[0], { prop: 0 }), titleh = 0,
		isIE6 = !$.support.opacity && !window.XMLHttpRequest,

    /*
    * Private methods 
    */

		fancybox_abort = function () {
		    loading.hide();

		    imgPreloader.onerror = imgPreloader.onload = null;

		    if (ajaxLoader)
		        ajaxLoader.abort();

		    tmp.empty();
		},

		fancybox_error = function () {
		    $.fancybox('<p id="fancybox_error">The requested content cannot be loaded.<br />Please try again later.</p>', {
		        'scrolling': 'no',
		        'padding': 20,
		        'transitionIn': 'none',
		        'transitionOut': 'none'
		    });
		},

		fancybox_get_viewport = function () {
		    return [$(window).width(), $(window).height(), $(document).scrollLeft(), $(document).scrollTop()];
		},

		fancybox_get_zoom_to = function () {
		    var view = fancybox_get_viewport(),
				to = {},

				margin = currentOpts.margin,
				resize = currentOpts.autoScale,

				horizontal_space = (shadow + margin) * 2,
				vertical_space = (shadow + margin) * 2,
				double_padding = (currentOpts.padding * 2),

				ratio;

		    if (currentOpts.width.toString().indexOf('%') > -1) {
		        to.width = ((view[0] * parseFloat(currentOpts.width)) / 100) - (shadow * 2);
		        resize = false;

		    } else {
		        to.width = currentOpts.width + double_padding;
		    }

		    if (currentOpts.height.toString().indexOf('%') > -1) {
		        to.height = ((view[1] * parseFloat(currentOpts.height)) / 100) - (shadow * 2);
		        resize = false;

		    } else {
		        to.height = currentOpts.height + double_padding;
		    }

		    if (resize && (to.width > (view[0] - horizontal_space) || to.height > (view[1] - vertical_space))) {
		        if (selectedOpts.type == 'image' || selectedOpts.type == 'swf') {
		            horizontal_space += double_padding;
		            vertical_space += double_padding;

		            ratio = Math.min(Math.min(view[0] - horizontal_space, currentOpts.width) / currentOpts.width, Math.min(view[1] - vertical_space, currentOpts.height) / currentOpts.height);

		            to.width = Math.round(ratio * (to.width - double_padding)) + double_padding;
		            to.height = Math.round(ratio * (to.height - double_padding)) + double_padding;

		        } else {
		            to.width = Math.min(to.width, (view[0] - horizontal_space));
		            to.height = Math.min(to.height, (view[1] - vertical_space));
		        }
		    }

		    to.top = view[3] + ((view[1] - (to.height + (shadow * 2))) * 0.5);
		    to.left = view[2] + ((view[0] - (to.width + (shadow * 2))) * 0.5);

		    if (currentOpts.autoScale === false) {
		        to.top = Math.max(view[3] + margin, to.top);
		        to.left = Math.max(view[2] + margin, to.left);
		    }

		    return to;
		},

		fancybox_format_title = function (title) {
		    if (title && title.length) {
		        switch (currentOpts.titlePosition) {
		            case 'inside':
		                return title;
		            case 'over':
		                return '<span id="fancybox-title-over">' + title + '</span>';
		            default:
		                return '<span id="fancybox-title-wrap"><span id="fancybox-title-left"></span><span id="fancybox-title-main">' + title + '</span><span id="fancybox-title-right"></span></span>';
		        }
		    }

		    return false;
		},

		fancybox_process_title = function () {
		    var title = currentOpts.title,
				width = final_pos.width - (currentOpts.padding * 2),
				titlec = 'fancybox-title-' + currentOpts.titlePosition;

		    $('#fancybox-title').remove();

		    titleh = 0;

		    if (currentOpts.titleShow === false) {
		        return;
		    }

		    title = $.isFunction(currentOpts.titleFormat) ? currentOpts.titleFormat(title, currentArray, currentIndex, currentOpts) : fancybox_format_title(title);

		    if (!title || title === '') {
		        return;
		    }

		    $('<div id="fancybox-title" class="' + titlec + '" />').css({
		        'width': width,
		        'paddingLeft': currentOpts.padding,
		        'paddingRight': currentOpts.padding
		    }).html(title).appendTo('body');

		    switch (currentOpts.titlePosition) {
		        case 'inside':
		            titleh = $("#fancybox-title").outerHeight(true) - currentOpts.padding;
		            final_pos.height += titleh;
		            break;

		        case 'over':
		            $('#fancybox-title').css('bottom', currentOpts.padding);
		            break;

		        default:
		            $('#fancybox-title').css('bottom', $("#fancybox-title").outerHeight(true) * -1);
		            break;
		    }

		    $('#fancybox-title').appendTo(outer).hide();
		},

		fancybox_set_navigation = function () {
		    $(document).unbind('keydown.fb').bind('keydown.fb', function (e) {
		        if (e.keyCode == 27 && currentOpts.enableEscapeButton) {
		            e.preventDefault();
		            $.fancybox.close();

		        } else if (e.keyCode == 37) {
		            e.preventDefault();
		            $.fancybox.prev();

		        } else if (e.keyCode == 39) {
		            e.preventDefault();
		            $.fancybox.next();
		        }
		    });

		    if ($.fn.mousewheel) {
		        wrap.unbind('mousewheel.fb');

		        if (currentArray.length > 1) {
		            wrap.bind('mousewheel.fb', function (e, delta) {
		                e.preventDefault();

		                if (busy || delta === 0) {
		                    return;
		                }

		                if (delta > 0) {
		                    $.fancybox.prev();
		                } else {
		                    $.fancybox.next();
		                }
		            });
		        }
		    }

		    if (!currentOpts.showNavArrows) { return; }

		    if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex !== 0) {
		        nav_left.show();
		    }

		    if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex != (currentArray.length - 1)) {
		        nav_right.show();
		    }
		},

		fancybox_preload_images = function () {
		    var href,
				objNext;

		    if ((currentArray.length - 1) > currentIndex) {
		        href = currentArray[currentIndex + 1].href;

		        if (typeof href !== 'undefined' && href.match(imgRegExp)) {
		            objNext = new Image();
		            objNext.src = href;
		        }
		    }

		    if (currentIndex > 0) {
		        href = currentArray[currentIndex - 1].href;

		        if (typeof href !== 'undefined' && href.match(imgRegExp)) {
		            objNext = new Image();
		            objNext.src = href;
		        }
		    }
		},

		_finish = function () {
		    /* modified */
		    /* original row
		    inner.css('overflow', (currentOpts.scrolling == 'auto' ? (currentOpts.type == 'image' || currentOpts.type == 'iframe' || currentOpts.type == 'swf' ? 'hidden' : 'auto') : (currentOpts.scrolling == 'yes' ? 'auto' : 'visible')));
		    */
		    inner.css('overflow', (currentOpts.scrolling == 'auto' ? (currentOpts.type == 'image' || currentOpts.type == 'iframe' || currentOpts.type == 'swf' ? 'hidden' : 'visible') : (currentOpts.scrolling == 'yes' ? 'auto' : 'visible')));
		    /* end modified */
		    if (!$.support.opacity) {
		        inner.get(0).style.removeAttribute('filter');
		        wrap.get(0).style.removeAttribute('filter');
		    }

		    $('#fancybox-title').show();

		    if (currentOpts.hideOnContentClick) {
		        inner.one('click', $.fancybox.close);
		    }
		    if (currentOpts.hideOnOverlayClick) {
		        overlay.one('click', $.fancybox.close);
		    }

		    if (currentOpts.showCloseButton) {
		        close.show();
		    }

		    fancybox_set_navigation();

		    $(window).bind("resize.fb", $.fancybox.center);

		    if (currentOpts.centerOnScroll) {
		        $(window).bind("scroll.fb", $.fancybox.center);
		    } else {
		        $(window).unbind("scroll.fb");
		    }

		    if ($.isFunction(currentOpts.onComplete)) {
		        currentOpts.onComplete(currentArray, currentIndex, currentOpts);
		    }

		    busy = false;

		    fancybox_preload_images();
		},

		fancybox_draw = function (pos) {
		    var width = Math.round(start_pos.width + (final_pos.width - start_pos.width) * pos),
				height = Math.round(start_pos.height + (final_pos.height - start_pos.height) * pos),

				top = Math.round(start_pos.top + (final_pos.top - start_pos.top) * pos),
				left = Math.round(start_pos.left + (final_pos.left - start_pos.left) * pos);

		    wrap.css({
		        'width': width + 'px',
		        'height': height + 'px',
		        'top': top + 'px',
		        'left': left + 'px'
		    });

		    width = Math.max(width - currentOpts.padding * 2, 0);
		    height = Math.max(height - (currentOpts.padding * 2 + (titleh * pos)), 0);

		    inner.css({
		        'width': width + 'px',
		        'height': height + 'px'
		    });

		    if (typeof final_pos.opacity !== 'undefined') {
		        wrap.css('opacity', (pos < 0.5 ? 0.5 : pos));
		    }
		},

		fancybox_get_obj_pos = function (obj) {
		    var pos = obj.offset();

		    pos.top += parseFloat(obj.css('paddingTop')) || 0;
		    pos.left += parseFloat(obj.css('paddingLeft')) || 0;

		    pos.top += parseFloat(obj.css('border-top-width')) || 0;
		    pos.left += parseFloat(obj.css('border-left-width')) || 0;

		    pos.width = obj.width();
		    pos.height = obj.height();

		    return pos;
		},

		fancybox_get_zoom_from = function () {
		    var orig = selectedOpts.orig ? $(selectedOpts.orig) : false,
				from = {},
				pos,
				view;

		    if (orig && orig.length) {
		        pos = fancybox_get_obj_pos(orig);

		        from = {
		            width: (pos.width + (currentOpts.padding * 2)),
		            height: (pos.height + (currentOpts.padding * 2)),
		            top: (pos.top - currentOpts.padding - shadow),
		            left: (pos.left - currentOpts.padding - shadow)
		        };

		    } else {
		        view = fancybox_get_viewport();

		        from = {
		            width: 1,
		            height: 1,
		            top: view[3] + view[1] * 0.5,
		            left: view[2] + view[0] * 0.5
		        };
		    }

		    return from;
		},

		fancybox_show = function () {
		    loading.hide();

		    if (wrap.is(":visible") && $.isFunction(currentOpts.onCleanup)) {
		        if (currentOpts.onCleanup(currentArray, currentIndex, currentOpts) === false) {
		            $.event.trigger('fancybox-cancel');

		            busy = false;
		            return;
		        }
		    }

		    currentArray = selectedArray;
		    currentIndex = selectedIndex;
		    currentOpts = selectedOpts;

		    inner.get(0).scrollTop = 0;
		    inner.get(0).scrollLeft = 0;

		    if (currentOpts.overlayShow) {
		        if (isIE6) {
		            $('select:not(#fancybox-tmp select)').filter(function () {
		                return this.style.visibility !== 'hidden';
		            }).css({ 'visibility': 'hidden' }).one('fancybox-cleanup', function () {
		                this.style.visibility = 'inherit';
		            });
		        }

		        overlay.css({
		            'background-color': currentOpts.overlayColor,
		            'opacity': currentOpts.overlayOpacity
		        }).unbind().show();
		    }

		    final_pos = fancybox_get_zoom_to();

		    fancybox_process_title();

		    if (wrap.is(":visible")) {
		        $(close.add(nav_left).add(nav_right)).hide();

		        var pos = wrap.position(),
					equal;

		        start_pos = {
		            top: pos.top,
		            left: pos.left,
		            width: wrap.width(),
		            height: wrap.height()
		        };

		        equal = (start_pos.width == final_pos.width && start_pos.height == final_pos.height);

		        inner.fadeOut(currentOpts.changeFade, function () {
		            var finish_resizing = function () {
		                inner.html(tmp.contents()).fadeIn(currentOpts.changeFade, _finish);
		            };

		            $.event.trigger('fancybox-change');

		            inner.empty().css('overflow', 'hidden');

		            if (equal) {
		                inner.css({
		                    top: currentOpts.padding,
		                    left: currentOpts.padding,
		                    width: Math.max(final_pos.width - (currentOpts.padding * 2), 1),
		                    height: Math.max(final_pos.height - (currentOpts.padding * 2) - titleh, 1)
		                });

		                finish_resizing();

		            } else {
		                inner.css({
		                    top: currentOpts.padding,
		                    left: currentOpts.padding,
		                    width: Math.max(start_pos.width - (currentOpts.padding * 2), 1),
		                    height: Math.max(start_pos.height - (currentOpts.padding * 2), 1)
		                });

		                fx.prop = 0;

		                $(fx).animate({ prop: 1 }, {
		                    duration: currentOpts.changeSpeed,
		                    easing: currentOpts.easingChange,
		                    step: fancybox_draw,
		                    complete: finish_resizing
		                });
		            }
		        });

		        return;
		    }

		    wrap.css('opacity', 1);

		    if (currentOpts.transitionIn == 'elastic') {
		        start_pos = fancybox_get_zoom_from();

		        inner.css({
		            top: currentOpts.padding,
		            left: currentOpts.padding,
		            width: Math.max(start_pos.width - (currentOpts.padding * 2), 1),
		            height: Math.max(start_pos.height - (currentOpts.padding * 2), 1)
		        })
					.html(tmp.contents());

		        wrap.css(start_pos).show();

		        if (currentOpts.opacity)
		            final_pos.opacity = 0;

		        fx.prop = 0;

		        $(fx).animate({ prop: 1 }, {
		            duration: currentOpts.speedIn,
		            easing: currentOpts.easingIn,
		            step: fancybox_draw,
		            complete: _finish
		        });

		    } else {
		        inner.css({
		            top: currentOpts.padding,
		            left: currentOpts.padding,
		            width: Math.max(final_pos.width - (currentOpts.padding * 2), 1),
		            height: Math.max(final_pos.height - (currentOpts.padding * 2) - titleh, 1)
		        })
					.html(tmp.contents());

		        wrap.css(final_pos).fadeIn(currentOpts.transitionIn == 'none' ? 0 : currentOpts.speedIn, _finish);
		    }
		},

		fancybox_process_inline = function () {
		    tmp.width(selectedOpts.width);
		    tmp.height(selectedOpts.height);

		    if (selectedOpts.width == 'auto') {
		        selectedOpts.width = tmp.width();
		    }
		    if (selectedOpts.height == 'auto') {
		        selectedOpts.height = tmp.height();
		    }

		    fancybox_show();
		},

		fancybox_process_image = function () {
		    busy = true;

		    selectedOpts.width = imgPreloader.width;
		    selectedOpts.height = imgPreloader.height;

		    $("<img />").attr({
		        'id': 'fancybox-img',
		        'src': imgPreloader.src,
		        'alt': selectedOpts.title
		    }).appendTo(tmp);

		    fancybox_show();
		},

		fancybox_start = function () {
		    fancybox_abort();

		    var obj = selectedArray[selectedIndex],
				href,
				type,
				title,
				str,
				emb,
				selector,
				data;

		    selectedOpts = $.extend({}, $.fn.fancybox.defaults, (typeof $(obj).data('fancybox') == 'undefined' ? selectedOpts : $(obj).data('fancybox')));
		    title = obj.title || $(obj).title || selectedOpts.title || '';

		    if (obj.nodeName && !selectedOpts.orig)
		        selectedOpts.orig = $(obj).children("img:first").length ? $(obj).children("img:first") : $(obj);

		    if (title === '' && selectedOpts.orig)
		        title = selectedOpts.orig.attr('alt');

		    if (obj.nodeName && (/^(?:javascript|#)/i).test(obj.href))
		        href = selectedOpts.href || null;
		    else
		        href = selectedOpts.href || obj.href || null;

		    if (selectedOpts.type) {
		        type = selectedOpts.type;

		        if (!href) {
		            href = selectedOpts.content;
		        }

		    } else if (selectedOpts.content)
		        type = 'html';
		    else if (href) {
		        if (href.match(imgRegExp)) {
		            type = 'image';

		        } else if (href.match(swfRegExp)) {
		            type = 'swf';

		        } else if ($(obj).hasClass("iframe")) {
		            type = 'iframe';

		        } else if (href.match(/#/)) {
		            obj = href.substr(href.indexOf("#"));

		            type = $(obj).length > 0 ? 'inline' : 'ajax';
		        } else {
		            type = 'ajax';
		        }
		    } else
		        type = 'inline';

		    selectedOpts.type = type;
		    selectedOpts.href = href;
		    selectedOpts.title = title;

		    if (selectedOpts.autoDimensions && selectedOpts.type !== 'iframe' && selectedOpts.type !== 'swf') {
		        selectedOpts.width = 'auto';
		        selectedOpts.height = 'auto';
		    }

		    if (selectedOpts.modal) {
		        selectedOpts.overlayShow = true;
		        selectedOpts.hideOnOverlayClick = false;
		        selectedOpts.hideOnContentClick = false;
		        selectedOpts.enableEscapeButton = false;
		        selectedOpts.showCloseButton = false;
		    }

		    if ($.isFunction(selectedOpts.onStart)) {
		        if (selectedOpts.onStart(selectedArray, selectedIndex, selectedOpts) === false) {
		            busy = false;
		            return;
		        }
		    }

		    tmp.css('padding', (shadow + selectedOpts.padding + selectedOpts.margin));

		    $('.fancybox-inline-tmp').unbind('fancybox-cancel').bind('fancybox-change', function () {
		        $(this).replaceWith(inner.children());
		    });

		    switch (type) {
		        case 'html':
		            tmp.html(selectedOpts.content);
		            fancybox_process_inline();
		            break;

		        case 'inline':
		            $('<div class="fancybox-inline-tmp" />').hide().insertBefore($(obj)).bind('fancybox-cleanup', function () {
		                $(this).replaceWith(inner.children());
		            }).bind('fancybox-cancel', function () {
		                $(this).replaceWith(tmp.children());
		            });

		            $(obj).appendTo(tmp);

		            fancybox_process_inline();
		            break;

		        case 'image':
		            busy = false;

		            $.fancybox.showActivity();

		            imgPreloader = new Image();

		            imgPreloader.onerror = function () {
		                fancybox_error();
		            };

		            imgPreloader.onload = function () {
		                imgPreloader.onerror = null;
		                imgPreloader.onload = null;
		                fancybox_process_image();
		            };

		            imgPreloader.src = href;

		            break;

		        case 'swf':
		            str = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + selectedOpts.width + '" height="' + selectedOpts.height + '"><param name="movie" value="' + href + '"></param>';
		            emb = '';

		            $.each(selectedOpts.swf, function (name, val) {
		                str += '<param name="' + name + '" value="' + val + '"></param>';
		                emb += ' ' + name + '="' + val + '"';
		            });

		            str += '<embed src="' + href + '" type="application/x-shockwave-flash" width="' + selectedOpts.width + '" height="' + selectedOpts.height + '"' + emb + '></embed></object>';

		            tmp.html(str);

		            fancybox_process_inline();
		            break;

		        case 'ajax':
		            selector = href.split('#', 2);
		            data = selectedOpts.ajax.data || {};

		            if (selector.length > 1) {
		                href = selector[0];

		                if (typeof data == "string") {
		                    data += '&selector=' + selector[1];
		                } else {
		                    data.selector = selector[1];
		                }
		            }

		            busy = false;
		            $.fancybox.showActivity();

		            ajaxLoader = $.ajax($.extend(selectedOpts.ajax, {
		                url: href,
		                data: data,
		                error: fancybox_error,
		                success: function (data, textStatus, XMLHttpRequest) {
		                    if (ajaxLoader.status == 200) {
		                        tmp.html(data);
		                        fancybox_process_inline();
		                    }
		                }
		            }));

		            break;

		        case 'iframe':
		            $('<iframe id="fancybox-frame" name="fancybox-frame' + new Date().getTime() + '" frameborder="0" hspace="0" scrolling="' + selectedOpts.scrolling + '" src="' + selectedOpts.href + '"></iframe>').appendTo(tmp);
		            fancybox_show();
		            break;
		    }
		},

		fancybox_animate_loading = function () {
		    if (!loading.is(':visible')) {
		        clearInterval(loadingTimer);
		        return;
		    }

		    $('div', loading).css('top', (loadingFrame * -40) + 'px');

		    loadingFrame = (loadingFrame + 1) % 12;
		},

		fancybox_init = function () {
		    if ($("#fancybox-wrap").length)
		        return;

		    $('body').append(
				tmp = $('<div id="fancybox-tmp"></div>'),
				loading = $('<div id="fancybox-loading"><div></div></div>'),
				overlay = $('<div id="fancybox-overlay"></div>'),
				wrap = $('<div id="fancybox-wrap"></div>')
			);

		    if (!$.support.opacity) {
		        wrap.addClass('fancybox-ie');
		        loading.addClass('fancybox-ie');
		    }

		    outer = $('<div id="fancybox-outer"></div>')
				.append('<div class="fancy-bg" id="fancy-bg-n"></div><div class="fancy-bg" id="fancy-bg-ne"></div><div class="fancy-bg" id="fancy-bg-e"></div><div class="fancy-bg" id="fancy-bg-se"></div><div class="fancy-bg" id="fancy-bg-s"></div><div class="fancy-bg" id="fancy-bg-sw"></div><div class="fancy-bg" id="fancy-bg-w"></div><div class="fancy-bg" id="fancy-bg-nw"></div>')
				.appendTo(wrap);

		    outer.append(
				inner = $('<div id="fancybox-inner"></div>'),
				close = $('<a id="fancybox-close"></a>'),

				nav_left = $('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),
				nav_right = $('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>')
			);

		    close.click($.fancybox.close);
		    loading.click($.fancybox.cancel);

		    nav_left.click(function (e) {
		        e.preventDefault();
		        $.fancybox.prev();
		    });

		    nav_right.click(function (e) {
		        e.preventDefault();
		        $.fancybox.next();
		    });

		    if (isIE6) {
		        overlay.get(0).style.setExpression('height', "document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'");
		        loading.get(0).style.setExpression('top', "(-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px'");

		        outer.prepend('<iframe id="fancybox-hide-sel-frame" src="javascript:\'\';" scrolling="no" frameborder="0" ></iframe>');
		    }
		};

    /*
    * Public methods 
    */

    $.fn.fancybox = function (options) {
        $(this)
			.data('fancybox', $.extend({}, options, ($.metadata ? $(this).metadata() : {})))
			.unbind('click.fb').bind('click.fb', function (e) {
			    e.preventDefault();

			    if (busy)
			        return;

			    busy = true;

			    $(this).blur();

			    selectedArray = [];
			    selectedIndex = 0;

			    var rel = $(this).attr('rel') || '';

			    if (!rel || rel == '' || rel === 'nofollow') {
			        selectedArray.push(this);

			    } else {
			        selectedArray = $("a[rel=" + rel + "], area[rel=" + rel + "]");
			        selectedIndex = selectedArray.index(this);
			    }

			    fancybox_start();

			    return false;
			});

        return this;
    };

    $.fancybox = function (obj) {
        if (busy)
            return;

        busy = true;

        var opts = typeof arguments[1] !== 'undefined' ? arguments[1] : {};

        selectedArray = [];
        selectedIndex = opts.index || 0;

        if ($.isArray(obj)) {
            var objLen = obj.length;
            for (var i = 0, j = objLen; i < j; i++) {
                if (typeof obj[i] == 'object') {
                    $(obj[i]).data('fancybox', $.extend({}, opts, obj[i]));
                } else {
                    obj[i] = $({}).data('fancybox', $.extend({ content: obj[i] }, opts));
                }
            }

            selectedArray = jQuery.merge(selectedArray, obj);

        } else {
            if (typeof obj == 'object') {
                $(obj).data('fancybox', $.extend({}, opts, obj));
            } else {
                obj = $({}).data('fancybox', $.extend({ content: obj }, opts));
            }

            selectedArray.push(obj);
        }

        if (selectedIndex > selectedArray.length || selectedIndex < 0) {
            selectedIndex = 0;
        }

        fancybox_start();
    };

    $.fancybox.showActivity = function () {
        clearInterval(loadingTimer);

        loading.show();
        loadingTimer = setInterval(fancybox_animate_loading, 66);
    };

    $.fancybox.hideActivity = function () {
        loading.hide();
    };

    $.fancybox.next = function () {
        return $.fancybox.pos(currentIndex + 1);
    };

    $.fancybox.prev = function () {
        return $.fancybox.pos(currentIndex - 1);
    };

    $.fancybox.pos = function (pos) {
        if (busy)
            return;

        pos = parseInt(pos, 10);

        if (pos > -1 && currentArray.length > pos) {
            selectedIndex = pos;
            fancybox_start();
        }

        if (currentOpts.cyclic && currentArray.length > 1 && pos < 0) {
            selectedIndex = currentArray.length - 1;
            fancybox_start();
        }

        if (currentOpts.cyclic && currentArray.length > 1 && pos >= currentArray.length) {
            selectedIndex = 0;
            fancybox_start();
        }

        return;
    };

    $.fancybox.cancel = function () {
        if (busy)
            return;

        busy = true;

        $.event.trigger('fancybox-cancel');

        fancybox_abort();

        if (selectedOpts && $.isFunction(selectedOpts.onCancel))
            selectedOpts.onCancel(selectedArray, selectedIndex, selectedOpts);

        busy = false;
    };

    // Note: within an iframe use - parent.$.fancybox.close();
    $.fancybox.close = function () {
        if (busy || wrap.is(':hidden')) {
            return;
        }

        busy = true;

        if (currentOpts && $.isFunction(currentOpts.onCleanup)) {
            if (currentOpts.onCleanup(currentArray, currentIndex, currentOpts) === false) {
                busy = false;
                return;
            }
        }

        fancybox_abort();

        $(close.add(nav_left).add(nav_right)).hide();

        $('#fancybox-title').remove();

        wrap.add(inner).add(overlay).unbind();

        $(window).unbind("resize.fb scroll.fb");
        $(document).unbind('keydown.fb');

        function _cleanup() {
            overlay.fadeOut('fast');

            wrap.hide();

            $.event.trigger('fancybox-cleanup');

            inner.empty();

            if ($.isFunction(currentOpts.onClosed)) {
                currentOpts.onClosed(currentArray, currentIndex, currentOpts);
            }

            currentArray = selectedOpts = [];
            currentIndex = selectedIndex = 0;
            currentOpts = selectedOpts = {};

            busy = false;
        }

        inner.css('overflow', 'hidden');

        if (currentOpts.transitionOut == 'elastic') {
            start_pos = fancybox_get_zoom_from();

            var pos = wrap.position();

            final_pos = {
                top: pos.top,
                left: pos.left,
                width: wrap.width(),
                height: wrap.height()
            };

            if (currentOpts.opacity) {
                final_pos.opacity = 1;
            }

            fx.prop = 1;

            $(fx).animate({ prop: 0 }, {
                duration: currentOpts.speedOut,
                easing: currentOpts.easingOut,
                step: fancybox_draw,
                complete: _cleanup
            });

        } else {
            wrap.fadeOut(currentOpts.transitionOut == 'none' ? 0 : currentOpts.speedOut, _cleanup);
        }
    };

    $.fancybox.resize = function () {
        var c, h;

        if (busy || wrap.is(':hidden'))
            return;

        busy = true;

        c = inner.wrapInner("<div style='overflow:auto'></div>").children();
        h = c.height();

        wrap.css({ height: h + (currentOpts.padding * 2) + titleh });
        inner.css({ height: h });

        c.replaceWith(c.children());

        $.fancybox.center();
    };

    $.fancybox.center = function () {
        busy = true;

        var view = fancybox_get_viewport(),
			margin = currentOpts.margin,
			to = {};

        to.top = view[3] + ((view[1] - ((wrap.height() - titleh) + (shadow * 2))) * 0.5);
        to.left = view[2] + ((view[0] - (wrap.width() + (shadow * 2))) * 0.5);

        to.top = Math.max(view[3] + margin, to.top);
        to.left = Math.max(view[2] + margin, to.left);

        wrap.css(to);

        busy = false;
    };

    $.fn.fancybox.defaults = {
        padding: 10,
        margin: 20,
        opacity: false,
        modal: false,
        cyclic: false,
        scrolling: 'auto', // 'auto', 'yes' or 'no'

        width: 560,
        height: 340,

        autoScale: true,
        autoDimensions: true,
        centerOnScroll: false,

        ajax: {},
        swf: { wmode: 'transparent' },

        hideOnOverlayClick: true,
        hideOnContentClick: false,

        overlayShow: true,
        overlayOpacity: 0.3,
        overlayColor: '#666',

        titleShow: true,
        titlePosition: 'outside', // 'outside', 'inside' or 'over'
        titleFormat: null,

        transitionIn: 'fade', // 'elastic', 'fade' or 'none'
        transitionOut: 'fade', // 'elastic', 'fade' or 'none'

        speedIn: 300,
        speedOut: 300,

        changeSpeed: 300,
        changeFade: 'fast',

        easingIn: 'swing',
        easingOut: 'swing',

        showCloseButton: true,
        showNavArrows: true,
        enableEscapeButton: true,

        onStart: null,
        onCancel: null,
        onComplete: null,
        onCleanup: null,
        onClosed: null
    };

    $(document).ready(function () {
        fancybox_init();
    });

})(jQuery);
// jquery.uniform.js
// jquery.uniform.js
/*

Uniform v1.5
Copyright © 2009 Josh Pyles / Pixelmatrix Design LLC
http://pixelmatrixdesign.com

Requires jQuery 1.3 or newer

Much thanks to Thomas Reynolds and Buck Wilson for their help and advice on this

Disabling text selection is made possible by Mathias Bynens <http://mathiasbynens.be/>
and his noSelect plugin. <http://github.com/mathiasbynens/noSelect-jQuery-Plugin>

Also, thanks to David Kaneda and Eugene Bond for their contributions to the plugin

License:
MIT License - http://www.opensource.org/licenses/mit-license.php

Usage:

$(function(){
$("select, :radio, :checkbox").uniform();
});

You can customize the classes that Uniform uses:

$("select, :radio, :checkbox").uniform({
selectClass: 'mySelectClass',
radioClass: 'myRadioClass',
checkboxClass: 'myCheckboxClass',
checkedClass: 'myCheckedClass',
focusClass: 'myFocusClass'
});

*/

(function ($) {
    $.uniform = {
        options: {
            selectClass: 'selector',
            radioClass: 'radio',
            checkboxClass: 'checker',
            fileClass: 'uploader',
            filenameClass: 'filename',
            fileBtnClass: 'action',
            fileDefaultText: 'No file selected',
            fileBtnText: 'Choose File',
            checkedClass: 'checked',
            focusClass: 'focus',
            disabledClass: 'disabled',
            activeClass: 'active',
            hoverClass: 'hover',
            useID: true,
            idPrefix: 'uniform',
            resetSelector: false
        },
        elements: []
    };

    if ($.browser.msie && $.browser.version < 7) {
        $.support.selectOpacity = false;
    } else {
        $.support.selectOpacity = true;
    }

    $.fn.uniform = function (options) {

        options = $.extend($.uniform.options, options);

        var el = this;
        //code for specifying a reset button
        if (options.resetSelector != false) {
            $(options.resetSelector).mouseup(function () {
                function resetThis() {
                    $.uniform.update(el);
                }
                setTimeout(resetThis, 10);
            });
        }

        function doSelect(elem) {

            var divTag = $('<div />'),
          spanTag = $('<span />');

            divTag.addClass(options.selectClass);

            if (options.useID) {
                divTag.attr("id", options.idPrefix + "-" + elem.attr("id"));
            }

            spanTag.html(elem.find(":selected").text());

            elem.css('opacity', 0);
            elem.wrap(divTag);
            elem.before(spanTag);

            //redefine variables
            divTag = elem.parent("div");
            spanTag = elem.siblings("span");

            elem.change(function () {
                spanTag.text(elem.find(":selected").text());
                divTag.removeClass(options.activeClass);
            })
      .focus(function () {
          divTag.addClass(options.focusClass);
      })
      .blur(function () {
          divTag.removeClass(options.focusClass);
          divTag.removeClass(options.activeClass);
      })
      .mousedown(function () {
          divTag.addClass(options.activeClass);
      })
      .mouseup(function () {
          divTag.removeClass(options.activeClass);
      })
      .click(function () {
          divTag.removeClass(options.activeClass);
      })
      .hover(function () {
          divTag.addClass(options.hoverClass);
      }, function () {
          divTag.removeClass(options.hoverClass);
      })
      .keyup(function () {
          spanTag.text(elem.find(":selected").text());
      });

            //handle disabled state
            if ($(elem).attr("disabled")) {
                //box is checked by default, check our box
                divTag.addClass(options.disabledClass);
            }
            $.uniform.noSelect(spanTag);

            storeElement(elem);

        }

        function doCheckbox(elem) {

            var divTag = $('<div />'),
          spanTag = $('<span />');

            divTag.addClass(options.checkboxClass);

            //assign the id of the element
            if (options.useID) {
                divTag.attr("id", options.idPrefix + "-" + elem.attr("id"));
            }

            //wrap with the proper elements
            $(elem).wrap(divTag);
            $(elem).wrap(spanTag);

            //redefine variables
            spanTag = elem.parent();
            divTag = spanTag.parent();

            //hide normal input and add focus classes
            $(elem)
      .css("opacity", 0)
      .focus(function () {

          divTag.addClass(options.focusClass);
      })
      .blur(function () {

          divTag.removeClass(options.focusClass);
      })
      .click(function () {

          if (!$(elem).attr("checked")) {
              //box was just unchecked, uncheck span
              spanTag.removeClass(options.checkedClass);
          } else {
              //box was just checked, check span.
              spanTag.addClass(options.checkedClass);
          }
      })
      .mousedown(function () {
          divTag.addClass(options.activeClass);
      })
      .mouseup(function () {
          divTag.removeClass(options.activeClass);
      })
      .hover(function () {
          divTag.addClass(options.hoverClass);
      }, function () {
          divTag.removeClass(options.hoverClass);
      });

            //handle defaults
            if ($(elem).attr("checked")) {
                //box is checked by default, check our box
                spanTag.addClass(options.checkedClass);
            }

            //handle disabled state
            if ($(elem).attr("disabled")) {
                //box is checked by default, check our box
                divTag.addClass(options.disabledClass);
            }

            storeElement(elem);

        }

        function doRadio(elem) {

            var divTag = $('<div />'),
          spanTag = $('<span />');

            divTag.addClass(options.radioClass);

            if (options.useID) {
                divTag.attr("id", options.idPrefix + "-" + elem.attr("id"));
            }

            //wrap with the proper elements
            $(elem).wrap(divTag);
            $(elem).wrap(spanTag);

            //redefine variables
            spanTag = elem.parent();
            divTag = spanTag.parent();

            //hide normal input and add focus classes
            $(elem)
      .css("opacity", 0)
      .focus(function () {
          divTag.addClass(options.focusClass);
      })
      .blur(function () {
          divTag.removeClass(options.focusClass);
      })
      .click(function () {
          if (!$(elem).attr("checked")) {
              //box was just unchecked, uncheck span
              spanTag.removeClass(options.checkedClass);
          } else {
              //box was just checked, check span
              $("." + options.radioClass + " span." + options.checkedClass + ":has([name='" + $(elem).attr('name') + "'])").removeClass(options.checkedClass);
              spanTag.addClass(options.checkedClass);
          }
      })
      .mousedown(function () {
          if (!$(elem).is(":disabled")) {
              divTag.addClass(options.activeClass);
          }
      })
      .mouseup(function () {
          divTag.removeClass(options.activeClass);
      })
      .hover(function () {
          divTag.addClass(options.hoverClass);
      }, function () {
          divTag.removeClass(options.hoverClass);
      });

            //handle defaults
            if ($(elem).attr("checked")) {
                //box is checked by default, check span
                spanTag.addClass(options.checkedClass);
            }
            //handle disabled state
            if ($(elem).attr("disabled")) {
                //box is checked by default, check our box
                divTag.addClass(options.disabledClass);
            }

            storeElement(elem);

        }

        function doFile(elem) {
            //sanitize input
            $el = $(elem);

            var divTag = $('<div />'),
          filenameTag = $('<span>' + options.fileDefaultText + '</span>'),
          btnTag = $('<span>' + options.fileBtnText + '</span>');

            divTag.addClass(options.fileClass);
            filenameTag.addClass(options.filenameClass);
            btnTag.addClass(options.fileBtnClass);

            if (options.useID) {
                divTag.attr("id", options.idPrefix + "-" + $el.attr("id"));
            }

            //wrap with the proper elements
            $el.wrap(divTag);
            $el.after(btnTag);
            $el.after(filenameTag);

            //redefine variables
            divTag = $el.closest("div");
            filenameTag = $el.siblings("." + options.filenameClass);
            btnTag = $el.siblings("." + options.fileBtnClass);

            //set the size
            if (!$el.attr("size")) {
                var divWidth = divTag.width();
                //$el.css("width", divWidth);
                $el.attr("size", divWidth / 10);
            }

            //actions
            $el
      .css("opacity", 0)
      .focus(function () {
          divTag.addClass(options.focusClass);
      })
      .blur(function () {
          divTag.removeClass(options.focusClass);
      })
      .change(function () {
          var filename = $(this).val();
          filename = filename.split(/[\/\\]+/);
          filename = filename[(filename.length - 1)];
          filenameTag.text(filename);
      })
      .mousedown(function () {
          if (!$(elem).is(":disabled")) {
              divTag.addClass(options.activeClass);
          }
      })
      .mouseup(function () {
          divTag.removeClass(options.activeClass);
      })
      .hover(function () {
          divTag.addClass(options.hoverClass);
      }, function () {
          divTag.removeClass(options.hoverClass);
      });

            //handle defaults
            if ($el.attr("disabled")) {
                //box is checked by default, check our box
                divTag.addClass(options.disabledClass);
            }

            $.uniform.noSelect(filenameTag);
            $.uniform.noSelect(btnTag);
            storeElement(elem);

        }

        function storeElement(elem) {
            //store this element in our global array
            elem = $(elem).get();
            if (elem.length > 1) {
                $.each(elem, function (i, val) {
                    $.uniform.elements.push(val);
                });
            } else {
                $.uniform.elements.push(elem);
            }
        }

        //noSelect v1.0
        $.uniform.noSelect = function (elem) {
            function f() {
                return false;
            };
            $(elem).each(function () {
                this.onselectstart = this.ondragstart = f; // Webkit & IE
                $(this)
        .mousedown(f) // Webkit & Opera
        .css({ MozUserSelect: 'none' }); // Firefox
            });
        };

        $.uniform.update = function (elem) {
            if (elem == undefined) {
                elem = $($.uniform.elements);
            }
            //sanitize input
            elem = $(elem);

            elem.each(function () {
                //do to each item in the selector
                //function to reset all classes
                $e = $(this);

                if ($e.is("select")) {
                    //element is a select
                    spanTag = $e.siblings("span");
                    divTag = $e.parent("div");

                    divTag.removeClass(options.hoverClass + " " + options.focusClass + " " + options.activeClass);

                    //reset current selected text
                    spanTag.html($e.find(":selected").text());

                    if ($e.is(":disabled")) {
                        divTag.addClass(options.disabledClass);
                    } else {
                        divTag.removeClass(options.disabledClass);
                    }

                } else if ($e.is(":checkbox")) {
                    //element is a checkbox
                    spanTag = $e.closest("span");
                    divTag = $e.closest("div");

                    divTag.removeClass(options.hoverClass + " " + options.focusClass + " " + options.activeClass);
                    spanTag.removeClass(options.checkedClass);

                    if ($e.is(":checked")) {
                        spanTag.addClass(options.checkedClass);
                    }
                    if ($e.is(":disabled")) {
                        divTag.addClass(options.disabledClass);
                    } else {
                        divTag.removeClass(options.disabledClass);
                    }

                } else if ($e.is(":radio")) {
                    //element is a radio
                    spanTag = $e.closest("span");
                    divTag = $e.closest("div");

                    divTag.removeClass(options.hoverClass + " " + options.focusClass + " " + options.activeClass);
                    spanTag.removeClass(options.checkedClass);

                    if ($e.is(":checked")) {
                        spanTag.addClass(options.checkedClass);
                    }

                    if ($e.is(":disabled")) {
                        divTag.addClass(options.disabledClass);
                    } else {
                        divTag.removeClass(options.disabledClass);
                    }
                } else if ($e.is(":file")) {
                    divTag = $e.parent("div");
                    filenameTag = $e.siblings(options.filenameClass);
                    btnTag = $e.siblings(options.fileBtnClass);

                    divTag.removeClass(options.hoverClass + " " + options.focusClass + " " + options.activeClass);

                    filenameTag.text($e.val());

                    if ($e.is(":disabled")) {
                        divTag.addClass(options.disabledClass);
                    } else {
                        divTag.removeClass(options.disabledClass);
                    }
                }
            });
        }

        return this.each(function () {
            if ($.support.selectOpacity) {
                var elem = $(this);

                if (elem.is("select")) {
                    //element is a select
                    if (elem.attr("multiple") != true) {
                        //element is not a multi-select
                        doSelect(elem);
                    }
                } else if (elem.is(":checkbox")) {
                    //element is a checkbox
                    doCheckbox(elem);
                } else if (elem.is(":radio")) {
                    //element is a radio
                    doRadio(elem);
                } else if (elem.is(":file")) {
                    //element is a file upload
                    doFile(elem);
                }

            }
        });
    };
})(jQuery);

// jquery.easing.js
// jquery.easing.js
/*
* jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
*
* Uses the built in easing capabilities added In jQuery 1.1
* to offer multiple easing options
*
* TERMS OF USE - jQuery Easing
* 
* Open source under the BSD License. 
* 
* Copyright © 2008 George McGinley Smith
* All rights reserved.
* 
* Redistribution and use in source and binary forms, with or without modification, 
* are permitted provided that the following conditions are met:
* 
* Redistributions of source code must retain the above copyright notice, this list of 
* conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list 
* of conditions and the following disclaimer in the documentation and/or other materials 
* provided with the distribution.
* 
* Neither the name of the author nor the names of contributors may be used to endorse 
* or promote products derived from this software without specific prior written permission.
* 
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
* OF THE POSSIBILITY OF SUCH DAMAGE. 
*
*/

// t: current time, b: begInnIng value, c: change In value, d: duration
jQuery.easing['jswing'] = jQuery.easing['swing'];

jQuery.extend(jQuery.easing,
{
    def: 'easeInOutQuad',
    swing: function (x, t, b, c, d) {
        //alert(jQuery.easing.default);
        return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
    },
    easeInQuad: function (x, t, b, c, d) {
        return c * (t /= d) * t + b;
    },
    easeOutQuad: function (x, t, b, c, d) {
        return -c * (t /= d) * (t - 2) + b;
    },
    easeInOutQuad: function (x, t, b, c, d) {
        if ((t /= d / 2) < 1) return c / 2 * t * t + b;
        return -c / 2 * ((--t) * (t - 2) - 1) + b;
    },
    easeInCubic: function (x, t, b, c, d) {
        return c * (t /= d) * t * t + b;
    },
    easeOutCubic: function (x, t, b, c, d) {
        return c * ((t = t / d - 1) * t * t + 1) + b;
    },
    easeInOutCubic: function (x, t, b, c, d) {
        if ((t /= d / 2) < 1) return c / 2 * t * t * t + b;
        return c / 2 * ((t -= 2) * t * t + 2) + b;
    },
    easeInQuart: function (x, t, b, c, d) {
        return c * (t /= d) * t * t * t + b;
    },
    easeOutQuart: function (x, t, b, c, d) {
        return -c * ((t = t / d - 1) * t * t * t - 1) + b;
    },
    easeInOutQuart: function (x, t, b, c, d) {
        if ((t /= d / 2) < 1) return c / 2 * t * t * t * t + b;
        return -c / 2 * ((t -= 2) * t * t * t - 2) + b;
    },
    easeInQuint: function (x, t, b, c, d) {
        return c * (t /= d) * t * t * t * t + b;
    },
    easeOutQuint: function (x, t, b, c, d) {
        return c * ((t = t / d - 1) * t * t * t * t + 1) + b;
    },
    easeInOutQuint: function (x, t, b, c, d) {
        if ((t /= d / 2) < 1) return c / 2 * t * t * t * t * t + b;
        return c / 2 * ((t -= 2) * t * t * t * t + 2) + b;
    },
    easeInSine: function (x, t, b, c, d) {
        return -c * Math.cos(t / d * (Math.PI / 2)) + c + b;
    },
    easeOutSine: function (x, t, b, c, d) {
        return c * Math.sin(t / d * (Math.PI / 2)) + b;
    },
    easeInOutSine: function (x, t, b, c, d) {
        return -c / 2 * (Math.cos(Math.PI * t / d) - 1) + b;
    },
    easeInExpo: function (x, t, b, c, d) {
        return (t == 0) ? b : c * Math.pow(2, 10 * (t / d - 1)) + b;
    },
    easeOutExpo: function (x, t, b, c, d) {
        return (t == d) ? b + c : c * (-Math.pow(2, -10 * t / d) + 1) + b;
    },
    easeInOutExpo: function (x, t, b, c, d) {
        if (t == 0) return b;
        if (t == d) return b + c;
        if ((t /= d / 2) < 1) return c / 2 * Math.pow(2, 10 * (t - 1)) + b;
        return c / 2 * (-Math.pow(2, -10 * --t) + 2) + b;
    },
    easeInCirc: function (x, t, b, c, d) {
        return -c * (Math.sqrt(1 - (t /= d) * t) - 1) + b;
    },
    easeOutCirc: function (x, t, b, c, d) {
        return c * Math.sqrt(1 - (t = t / d - 1) * t) + b;
    },
    easeInOutCirc: function (x, t, b, c, d) {
        if ((t /= d / 2) < 1) return -c / 2 * (Math.sqrt(1 - t * t) - 1) + b;
        return c / 2 * (Math.sqrt(1 - (t -= 2) * t) + 1) + b;
    },
    easeInElastic: function (x, t, b, c, d) {
        var s = 1.70158; var p = 0; var a = c;
        if (t == 0) return b; if ((t /= d) == 1) return b + c; if (!p) p = d * .3;
        if (a < Math.abs(c)) { a = c; var s = p / 4; }
        else var s = p / (2 * Math.PI) * Math.asin(c / a);
        return -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b;
    },
    easeOutElastic: function (x, t, b, c, d) {
        var s = 1.70158; var p = 0; var a = c;
        if (t == 0) return b; if ((t /= d) == 1) return b + c; if (!p) p = d * .3;
        if (a < Math.abs(c)) { a = c; var s = p / 4; }
        else var s = p / (2 * Math.PI) * Math.asin(c / a);
        return a * Math.pow(2, -10 * t) * Math.sin((t * d - s) * (2 * Math.PI) / p) + c + b;
    },
    easeInOutElastic: function (x, t, b, c, d) {
        var s = 1.70158; var p = 0; var a = c;
        if (t == 0) return b; if ((t /= d / 2) == 2) return b + c; if (!p) p = d * (.3 * 1.5);
        if (a < Math.abs(c)) { a = c; var s = p / 4; }
        else var s = p / (2 * Math.PI) * Math.asin(c / a);
        if (t < 1) return -.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b;
        return a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p) * .5 + c + b;
    },
    easeInBack: function (x, t, b, c, d, s) {
        if (s == undefined) s = 1.70158;
        return c * (t /= d) * t * ((s + 1) * t - s) + b;
    },
    easeOutBack: function (x, t, b, c, d, s) {
        if (s == undefined) s = 1.70158;
        return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b;
    },
    easeInOutBack: function (x, t, b, c, d, s) {
        if (s == undefined) s = 1.70158;
        if ((t /= d / 2) < 1) return c / 2 * (t * t * (((s *= (1.525)) + 1) * t - s)) + b;
        return c / 2 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2) + b;
    },
    easeInBounce: function (x, t, b, c, d) {
        return c - jQuery.easing.easeOutBounce(x, d - t, 0, c, d) + b;
    },
    easeOutBounce: function (x, t, b, c, d) {
        if ((t /= d) < (1 / 2.75)) {
            return c * (7.5625 * t * t) + b;
        } else if (t < (2 / 2.75)) {
            return c * (7.5625 * (t -= (1.5 / 2.75)) * t + .75) + b;
        } else if (t < (2.5 / 2.75)) {
            return c * (7.5625 * (t -= (2.25 / 2.75)) * t + .9375) + b;
        } else {
            return c * (7.5625 * (t -= (2.625 / 2.75)) * t + .984375) + b;
        }
    },
    easeInOutBounce: function (x, t, b, c, d) {
        if (t < d / 2) return jQuery.easing.easeInBounce(x, t * 2, 0, c, d) * .5 + b;
        return jQuery.easing.easeOutBounce(x, t * 2 - d, 0, c, d) * .5 + c * .5 + b;
    }
});

// jquery.horscroll.js
// jquery.horscroll.js
/*
* Horizontal Scroll Drag Slider for jQuery
* Created in 2010 by Simeon Albertson
* Prerequisites: jQuery UI
*/
// Causes/fixes reflow in IE7
var isIE7 = ($.browser.msie && parseInt($.browser.version) <= 7);
var reflow = function () {
    if (isIE7)
        reflowElement.className = reflowElement.className;
};
var reflowElement = document.body;

(function ($) {
    $.fn.horscroll = function (options) {
        var $this = $(this); // The handle

        $.fn.go = function (index) {
            if (index > 0) {
                var items = $('.content-item', opts.$slideThis);
                var numItems = items.length;

                var maxScroll = $(items.get(0)).width() * numItems - opts.$slideThis.width();
                if (maxScroll <= 0) // All items fits on one page 
                    return $this;
                var numVisible = 4;
                var _index = index - 1;
                var numInvisible = numItems - numVisible;
                if (_index > numInvisible) {
                    _index = numInvisible;
                }
                var left = "" + (_index * 100 / numInvisible) + "%";
                var left_px = "" + (_index * maxScroll / numInvisible) + "px";
                $handle.animate({ 'left': left }, 1);
                opts.$slideThis.animate({
                    scrollLeft: left_px
                }, 1);
            }
            return $(this);
        }

        var opts = $.extend({
            $slideThis: null
        }, options);

        if (opts.$slideThis == null)
            throw 'The required option $slideThis is missing.';
        if ($this.length > 1)
            return $this;
        //throw 'Init statement must contain exactly one (1±0) item.';
        else if ($this.length < 1)
            return $this;

        var items = $('.content-item', opts.$slideThis);
        var numItems = items.length;

        var maxScroll = $(items[0]).width() * numItems - opts.$slideThis.width();
        if (maxScroll <= 0) // All items fits on one page
            return $this;

        // opts.$slideThis.scrollLeft(0); // Reset scroll

        reflowElement = $this[0];

        $this.slider({
            animate: true,
            change: function (e, ui) {
                opts.$slideThis.animate({
                    scrollLeft: ui.value * (maxScroll / 100)
                }, 400, easing, reflow);
            },
            slide: function (e, ui) {
                opts.$slideThis.clearQueue();
                opts.$slideThis.scrollLeft(ui.value * (maxScroll / 100));
                reflow();
            }
        });

        var $wrap = $this.parent().parent(),
			easing = 'easeInOutQuad',
			$handle = $this.children('a');

        $wrap.click(function (e) {
            var wrapOffset = $wrap.offset();

            // Check if click is in line with the scrollbar
            if (e.pageY > wrapOffset.top + $wrap.height() / 2) return;

            if (e.pageX < wrapOffset.left + $wrap.width() / 2) {
                opts.$slideThis.animate({
                    scrollLeft: 0
                }, 400, easing);
                if (!isIE7)
                    $handle.animate({ left: 0 }, { duration: 200, step: reflow });
                else {
                    $handle.css('left', 0);
                    reflow();
                }
            } else {
                opts.$slideThis.animate({
                    scrollLeft: maxScroll
                }, 400, easing);
                if (!isIE7)
                    $handle.animate({ left: '100%' }, { duration: 200, step: reflow });
                else {
                    $handle.css('left', '100%');
                    reflow();
                }
            }
        });
        return $(this);
    };
})(jQuery);

// jquery.mousewheel.js
// jquery.mousewheel.js
/**
* Credits: brandonaaron.net
* * @param {Object} up
* @param {Object} down
* @param {Object} preventDefault
*/
jQuery.fn.extend({
    mousewheel: function (up, down, preventDefault) {
        return this.hover(
			function () {
			    jQuery.event.mousewheel.giveFocus(this, up, down, preventDefault);
			},
			function () {
			    jQuery.event.mousewheel.removeFocus(this);
			}
		);
    },
    mousewheeldown: function (fn, preventDefault) {
        return this.mousewheel(function () { }, fn, preventDefault);
    },
    mousewheelup: function (fn, preventDefault) {
        return this.mousewheel(fn, function () { }, preventDefault);
    },
    unmousewheel: function () {
        return this.each(function () {
            jQuery(this).unmouseover().unmouseout();
            jQuery.event.mousewheel.removeFocus(this);
        });
    },
    unmousewheeldown: jQuery.fn.unmousewheel,
    unmousewheelup: jQuery.fn.unmousewheel
});

jQuery.event.mousewheel = {
    giveFocus: function (el, up, down, preventDefault) {
        if (el._handleMousewheel) jQuery(el).unmousewheel();

        if (preventDefault == window.undefined && down && down.constructor != Function) {
            preventDefault = down;
            down = null;
        }

        el._handleMousewheel = function (event) {
            if (!event) event = window.event;
            if (preventDefault)
                if (event.preventDefault) event.preventDefault();
                else event.returnValue = false;
            var delta = 0;
            if (event.wheelDelta) {
                delta = event.wheelDelta / 120;
                if (window.opera) delta = -delta;
            } else if (event.detail) {
                delta = -event.detail / 3;
            }
            if (up && (delta > 0 || !down))
                up.apply(el, [event, delta]);
            else if (down && delta < 0)
                down.apply(el, [event, delta]);
        };

        if (window.addEventListener)
            window.addEventListener('DOMMouseScroll', el._handleMousewheel, false);
        window.onmousewheel = document.onmousewheel = el._handleMousewheel;
    },

    removeFocus: function (el) {
        if (!el._handleMousewheel) return;

        if (window.removeEventListener)
            window.removeEventListener('DOMMouseScroll', el._handleMousewheel, false);
        window.onmousewheel = document.onmousewheel = null;
        el._handleMousewheel = null;
    }
};
// common.js
Cufon.replace('.rightMenu a, #mainMenu a, #subMenu a,#accessoriesPage .horscroll-content a .title, #accessoryPage .horscroll-content a .title, #breadCrumb ul li a', { hover: true });
Cufon.replace('h1:not(".nocufon"), h2:not(".nocufon"), h3:not(".nocufon"), h4:not(".nocufon"), h5:not(".nocufon"),  #preview .info p, #preview .info .readMore, .horscroll-content .title, .horizontalScroll .title');


$.fn.horizontalScroll = function (selectedIndex) {
    var selectedIndex = selectedIndex || 1;
    var statuslog = function (string) { $("#status").html(string) };
    var $this = $(this);
    var $that = $this;
    var isHidden = $(this).is(":hidden");
    $this.parent().show();

    var $slider = $this.find(".slider");
    var $viewPort = $this.find(".viewPort");
    var $content = $this.find(".content");
    var sliderWidth = $slider.width();
    var firstItem = $this.find(".content-item:first");

    var itemWidth = firstItem.outerWidth(true);
    var itemCount = $this.find(".content-item").length;
    var padding = $content.outerWidth(true) - $content.innerWidth();
    var contentWidth = (itemWidth * itemCount) + padding;
    $content.css({ "width": contentWidth });

    var sliderContainerWidth = $(".sliderContainer").width();
    var viewPortWidth = $viewPort.width();
    var maxScrollPercent = (contentWidth - viewPortWidth) / 100;

    if (contentWidth == 0 || contentWidth <= viewPortWidth) {
        return $this;
    }
    var $status = $("#status");

    var handlerWidth = sliderWidth / (contentWidth / viewPortWidth);
    sliderWidth = sliderWidth - handlerWidth;
    var sliderPaddingRight = 0;  //handlerWidth;
    var $sliderContainer = $this.find(".sliderContainer");

    var visibleItemCount = viewPortWidth / itemWidth;
    var invisibleItemCount = itemCount - visibleItemCount;

    var initValue = (100 / invisibleItemCount) * (selectedIndex - 1);
    initValue = initValue > 100 ? 100 : initValue;

    $sliderContainer.click(function (e) {
        var offset = $sliderContainer.offset();
        var x = (e.pageX - offset.left) * 100 / sliderContainerWidth;
        value = (x > 50) ? 100 : 0;
        $slider.slider("value", value);
    });

    $slider.css({ 'width': sliderWidth + "px", 'margin-left': (handlerWidth / 2) + "px" });


    var handleSliderChange = function (e, ui) {
        $content.animate({ "left": "-" + maxScrollPercent * ui.value + "px" }, 400);
    }

    var handleSliderSlide = function (e, ui) {
        $status.append("<br/>" + ui.value);
        $content.css({ "left": "-" + maxScrollPercent * ui.value + "px" });
    }

    $slider.slider({
        value: initValue,
        animate: 400,
        change: handleSliderChange,
        slide: handleSliderSlide
    });
    $content.css({ "left": "-" + maxScrollPercent * initValue + "px" });
    $handle = $this.find(".ui-slider-handle");
    $handle.append("<div class='handleLeft'></div><div class='handleBg'></div><div class='handleRight'></div>");
    $handle.css({ 'width': handlerWidth + "px", 'margin-left': "-" + (handlerWidth / 2) + "px" });
    if (isHidden) {
        $this.parent().hide()
    }
};

$.fn.focusedInput = function() {
    $(this).each(function() {
        $(this).focus(function() {
            $(this).addClass('focus');
            if (this.value == this.defaultValue) {
                this.value = '';
            }
        }).blur(function() {
            if (this.value.trim() == '') {
                this.value = this.defaultValue;
                $(this).removeClass('focus');
            }
        });
    });
}

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g, '');
};


var google_conversion_id = 1058696592;
var google_conversion_language = "sv";
var google_conversion_format = "3";
var google_conversion_color = "ffffff";
var google_conversion_label = "";
var google_conversion_value = 0;
var conversionLabels = {
  'catalog': "W7OlCJzHlgIQkNvp-AM",
  'meeting': "8-Q0CJTIlgIQkNvp-AM"
};


function trackConversion(label) {

    google_conversion_label = label;

    var oldFunction = document.write;
    
    document.write = function (text) {
        jQuery(document.body).append(text);
    };
    
    $.getScript("http://www.googleadservices.com/pagead/conversion.js");
}

function trackFormSubmission(action, target) {
    target = target || "";
    _gaq.push(['_trackEvent', 'Inskickade formulär', action,target]);
}

function onOrderCataloguePage(){
    Cufon.replace('#customerTypePage  h5');
    $("#dialogueCloseBtn").click(function() { $.fancybox.close() });
    $("#errorOkBtn").click(function() { $("#errorMessage").hide(); });
    $('select').uniform({'selectClass' : 'uniSelectBox'});
    
    // order catalogue
    (function () {
        var formIsSubmitted = false;
        $('#orderCataloguePage #submitBtn').click(function () {
            var inputs = $('#orderCataloguePage input[type=text]');
            var name = $(inputs[0]), address = $(inputs[1]), zipCity = $(inputs[2]);
            if (formIsSubmitted === false) {
                if (name.val().trim() == '' || address.val().trim() == '' || zipCity.val().trim() == '' ||
			    name.val() == name[0].defaultValue ||
			    address.val() == address[0].defaultValue ||
			    zipCity.val() == zipCity[0].defaultValue) {
                    $("#errorMessage").show();
                }
                else {
                    formIsSubmitted = true;
                    $.jmsajax({
                        url: webServiceUrl,
                        method: 'OrderCatalogue',
                        data: { name: name.val(), address: address.val(), zipCity: zipCity.val() },
                        success: function (data) {
                            $("#errorMessage").hide();
                            $("#successMessage").show();
                            $("#catSubmit").attr("disabled", "disabled");
                            trackConversion(conversionLabels.catalog);
                            trackFormSubmission("Katalogbeställning","Popup");
                        }
                    });
                }
            }
            return false;
        });
    })();


    // book a meeting
    (function () {
        var formIsSubmitted = false;
        $('#bookAMeetingForm #submitBtn').click(function () {
            var inputs = $('#bookAMeetingForm input[type=text]');
            var hiddenInputs = $('#bookAMeetingForm input[type=hidden]');
            var name = $(inputs[0]), address = $(inputs[1]), zip = $(inputs[2]);
            var city = $(inputs[3]), phone = $(inputs[4]), email = $(inputs[5]);
            var districtId = $('#bookAMeetingForm #chooseDistrict option:selected');
            var message = $('#bookAMeetingForm textarea');
            var formPageId = $(hiddenInputs[1]); 
            var onSuccess = (function(){
                var selectedDistrictName = districtId.text();
                return (function(data){
                        try {
                            // _gaq.push(['_trackEvent', 'Book_meeting', 'Mail', districtId.text()]);
                            $("#errorMessage").hide();
                            $("#successMessage").show();
                            $("#catSubmit").attr("disabled", "disabled");
                            trackConversion(conversionLabels.meeting);
                            trackFormSubmission("Förfrågan om mötesbokning", selectedDistrictName);
                        }
                        catch (err) {}   
                    });
            }());
            if (formIsSubmitted === false) {
                // if any of the cases evaluates o true, the form is invalid (empty field, no district selected, no contact info supplied)
                switch(true){
                    case name.val().trim()      == '': // no name
                    case address.val().trim()   == '': // no address
                    case zip.val().trim()       == '': // no zip
                    case city.val().trim()      == '': // no city
                    case (phone.val().trim()    == '' && email.val().trim() == ''): // no phone or email
                    case districtId.val()       == '-1': // no district selected
                        $("#errorMessage").show();
                        break;
                    default:
                        formIsSubmitted = true;
                        $.jmsajax({
                            url: webServiceUrl,
                            method: 'BookAdviceMeeting',
                            data: { name: name.val(), address: address.val(), zip: zip.val(), city: city.val(), phone: phone.val(), email: email.val(), districtId: districtId.val(), message: message.val(), formPageId: formPageId.val() },
                            success: onSuccess
                        });
                }
            }
            return false;
        });
    })();


    /*
    (function () {
        var formIsSubmitted = false;
        $('#contactForm #submitBtn').click(function () {
            var inputs = $('#contactForm input[type=text]');
            var name = $(inputs[0]), address = $(inputs[1]), zip = $(inputs[2]);
            var city = $(inputs[3]), phone = $(inputs[4]), email = $(inputs[5]);
            var message = $('#contactForm textarea');

            var onSuccess = (function(){
                var selectedDistrictName = districtId.text();
                return 
                    function(data){
                        try {
                            _gaq.push(['_trackEvent', 'Book_meeting', 'Mail', districtId.text()]);
                            $("#errorMessage").hide();
                            $("#successMessage").show();
                            $("#catSubmit").attr("disabled", "disabled");
                            trackConversion(conversionLabels.meeting);
                            trackFormSubmission("meeting request sent", "popup",selectedDistrictName);
                        }
                        catch (err) {}   
                    };
            }());

            if (formIsSubmitted === false) {
                if (
                    name.val().trim() == '' ||
                    address.val().trim() == '' ||
                    zip.val().trim() == '' ||
                    city.val().trim() == '' ||
                    (phone.val().trim() == '' && email.val().trim() == '')
			    ) {
                    $("#errorMessage").show();
                }
                else {
                    formIsSubmitted = true;
                    $.jmsajax({
                        url: webServiceUrl,
                        method: 'RequestContact',
                        data: { name: name.val(), address: address.val(), zip: zip.val(), city: city.val(), phone: phone.val(), email: email.val(), districtId: districtId.val(), message: message.val() },
                        success: function (data) {
                            $("#errorMessage").hide();
                            $("#successMessage").show();
                            $("#catSubmit").attr("disabled", "disabled");
                            trackFormSubmission("contact request sent",
                        }
                    });
                }
            }
            return false;
        });
    })();
    */
}


$(function () {

    $("#addButton").click(
        (function () {
            var count = 0;
            var $container = $("#specifications");
            var itemString = $("#complaintItem").html();
            return function () {
                var oldItemString = itemString;
                do {
                    itemString = itemString.replace("[" + count + "]", "[" + (count + 1) + "]");
                    if (oldItemString === itemString)
                        break;
                    else
                        oldItemString = itemString;
                } while (1);
                $item = $(itemString);
                $item.find('input, textarea').not('input[type=submit], input[type=button]').focusedInput();
                $container.append($item);
                count += 1;
                if (count >= 10) {
                    $(this).parent().hide()
                }
            };
        })()
    );

    //browser version code
    //lte IE 7
    if ($.browser.msie && parseInt($.browser.version, 10) <= 7) {
        //fix for klick event on .puffStart250
        $('.rowNoFloat .puffStart250 a .imgCutWrap').click(function (e) {
            window.location = $(e.target).parent().parent().parent('a').attr('href');
        });
    }
    //browser version code end

    //
    $('#countyDetailsBoxAJAXId .countyAJAX').fancybox({
        'onComplete': function () { Cufon.replace('#retailerDistrict  h3,#retailerDistrict h2'); bindAjaxFancyEvent(); },
        'width': 700,
        'height': 600,
        'transitionIn': ($.browser.msie) ? 'none' : '',
        'transitionOut': ($.browser.msie) ? 'none' : '',
        'speedIn': 400,
        'type': 'ajax',
        'autoDimensions': false,
        'scrolling': 'yes',
        'hideOnContentClick': false
    });
    //


    $("#chooseCounty").change(function () {
        var value = $(this).find(":selected").val();
        if (value != "") {
            document.location = value;
        }
    });

    $(".fancy").each(function () {
        $(this).fancybox({
            'type': 'ajax',
            'onComplete': onOrderCataloguePage
        });

    });

    function bindAjaxFancyEvent() {
        $(".ajaxfancy").fancybox({
            'type': 'ajax',
            'onComplete': onOrderCataloguePage
        });
    }

    $(".ajaxfancy").click(function (event) {
        event.preventDefault();
        $.jmsajax({
            url: $(this).href,
            method: 'POST',
            data: {},
            success: function (data) {
                alert("hurra!");
            }
        });
    });

    $("#tabBox").tabs({
        show: function (event, ui) {
            if ($(ui.panel).attr('id') == 'tabs-1') {

                if ($.browser.msie) {
                    $('#slider').children('#sliderCategory2').hide();
                    $('#sliderCategory1').show();
                }
                else {
                    $('#slider').children('#sliderCategory2').fadeOut();
                    $('#sliderCategory1').fadeIn();
                }
            }
            if ($(ui.panel).attr('id') == 'tabs-2') {

                if ($.browser.msie) {
                    $('#slider').children('#sliderCategory1').hide();
                    $('#sliderCategory2').show();
                }
                else {
                    $('#slider').children('#sliderCategory1').fadeOut();
                    $('#sliderCategory2').fadeIn();
                }
            }
            Cufon.replace('#tabBox .navigation a');
        }
    });

    $('#headerLinks .arrow').click(function () {
        var $a = $(this);

        if ($a.next().is(':visible')) {
            $a.parent().parent().find('.dropDown').hide();
        } else {
            $a.parent().parent().find('.dropDown').hide();
            $a.next().show();
        }

        $a.next().find('.bottomRight').css('width', $a.prev().width() + 38);

        return false;
    });

    $('input, textarea').not('input[type=submit], input[type=button]').focusedInput();

    // Footer form
    $('#footerForm input[type=button]').click(function () {
        var inputs = $('#footerForm input[type=text]');
        var name = $(inputs[0]), address = $(inputs[1]), zipCity = $(inputs[2]);

        if (name.val().trim() == '' || address.val().trim() == '' || zipCity.val().trim() == '' ||
			name.val() == name[0].defaultValue ||
			address.val() == address[0].defaultValue ||
			zipCity.val() == zipCity[0].defaultValue) {
            alert(catError);
            return false;
        }

        $.jmsajax({
            url: webServiceUrl,
            method: 'OrderCatalogue',
            data: { name: name.val(), address: address.val(), zipCity: zipCity.val() },
            success: function (data) {
                alert(catOrdered);
                name.val(name[0].defaultValue);
                address.val(address[0].defaultValue);
                zipCity.val(zipCity[0].defaultValue);
                inputs.removeClass('focus');
                trackConversion(conversionLabels.catalog);
                trackFormSubmission("Katalogbeställning", "Sidfotsformuläret");
            }
        });

        return false;
    });

    $('#horscroll-handle2').hide();

    $('.content-item').hover(
        function (e) {
            var $that = $(this);
            var $bnw = $that.find('.bnw');
            var $color = $that.find('.color');
            var $title = $that.find('.title');
            if ($that.hasClass('selected')) {
            }
            else {
                $title.addClass('hover');
                $bnw.hide();
                $color.show();
            }
            Cufon.replace($title[0]);
        },
        function (e) {
            var $that = $(this);
            var $bnw = $that.find('.bnw');
            var $color = $that.find('.color');
            var $title = $that.find('.title');
            if ($that.hasClass('selected')) {
            }
            else {
                $title.removeClass('hover');
                $bnw.show();
                $color.hide();
            }
            Cufon.replace($title[0]);
        }
    );

    (function () {
        var $selectedObject = $('#categoryPage .horizontalScroll .selected');
        var $selectedPreviewItem = $('#preview .selected');
        $('#categoryPage .horizontalScroll .content-item').click(function () {
            var $this = $(this);
            var $previewItem = $('#preview .item[id="' + $this.attr('rel') + '"]');

            if ($selectedObject !== $this) {
                $selectedObject.removeClass('selected');
                $this.addClass('selected');
                if ($.browser.msie) {
                    $selectedPreviewItem.removeClass('selected');
                    $previewItem.addClass('selected');
                }
                else {
                    $selectedPreviewItem.fadeOut(300, function () {
                        $selectedPreviewItem.removeClass('selected')
                        $previewItem.fadeIn(300).addClass('selected');
                    });
                }
                $selectedPreviewItem = $previewItem;
                $selectedObject = $this;
                Cufon.replace($this.parent().find(".title")[0]);
            }
            return false;
        });

    })();
    // end horizontal scroller

    // "Mockfjärdsmodellen" 
    $('.step').click(function () {
        var obj = $(this);
        if (!obj.hasClass('open'))
            $(this).addClass('open').children('.content').slideDown();
        else
            $(this).removeClass('open').children('.content').slideUp();

    });


    $('select').uniform({
        selectClass: 'uniSelectBox'
    });

    customTabs.init(".tabsWrapper");
    productImageList.init(".topContainerImagelist", ".topContainerImage");

    $("#countySelector").change(function () {
        document.location = $(this).find(":selected").val();
    });

});

var productImageList = {
    selectedListItem: null,
    image: null,
    imageLinkTag: null,
    init: function(listSelector, imageSelector) {
        var that = this;
        this.image = $(imageSelector + " img");
        this.imageLinkTag = this.image.parent();
        this.imageLinkTag.fancybox();
        // $("mainProductImageLink");
        listItems = $(listSelector).find("li").each(function() {
            // "that" is the productImageList-structure
            // "this" is the current list item
            $(this).bind('click', function() {
                $this = $(this);
                var imageSrc = $this.find("img").attr("rel");
                if (that.selectedListItem != null && that.selectedListItem[0] != $this[0]) {
                    that.selectedListItem.find(".background").fadeIn(150, function() {
                        $this.find(".background").fadeOut(150);
                        that.selectedListItem = $this;
                    });
                    that.image.fadeOut(200, function() {
                    that.image.attr('src', imageSrc);
                    that.image.attr('alt', $this.find("img").attr("alt"));
                    that.imageLinkTag.attr('href', imageSrc);
                        that.image.fadeIn(200, function() {
                            that.imageLinkTag.fancybox();
                        });
                    });
                }
            });
        });
        var listItems = $(listSelector + " li ");
        if (typeof (listItems) == typeof ([]) && listItems.length > 0) {
            $(listItems[0]).find(".background").hide();
            this.selectedListItem = $(listItems[0]); 
        }
        else if (typeof (listItems) == typeof ({})) {
            $(listItems).find(".background").hide();
            this.selectedListItem = $(listItems);
        }
    }
}

var customTabs = {
    
    selectedContent: null,
    selectedTab: null,
    init: function(selector) {
    var that = this;
        // add the click handler to the list items
        $(selector + " li ").each(function() {
            // get the href from the inner a tag
            var linkTag = $(this).find('a');
            // prevent the a tag from happen
            linkTag.bind('click', function(event) {
                event.preventDefault();
            })

            // get the content
            var tabContentDiv = $(linkTag.attr('rel'));
            tabContentDiv.hide();
            // bind a click handler to the li
            $(this).bind('click', function() {
                $this = $(this);
                if (that.selectedTab != null && that.selectedTab[0] != $this[0]) {
                    that.selectedTab.removeClass('selected');
                    that.selectedContent.slideUp();
                }
                $this.addClass('selected');
                tabContentDiv.slideDown();

                that.selectedTab = $this;
                that.selectedContent = tabContentDiv;
            });
        }); // end of $(selector + " li ").each

        var listItems = $(selector + " li ");
        if (typeof (listItems) == typeof ([]) && listItems.length > 0) {
            $(listItems[0]).click();
        }
        else if (typeof (listItems) == typeof ({})) {
            $(listItems).click();
        }
    }
}

