{"version":3,"file":"index.cjs","sources":["../node_modules/svg-pan-zoom/src/uniwheel.js","../node_modules/svg-pan-zoom/src/utilities.js","../node_modules/svg-pan-zoom/src/svg-utilities.js","../node_modules/svg-pan-zoom/src/control-icons.js","../node_modules/svg-pan-zoom/src/shadow-viewport.js","../node_modules/svg-pan-zoom/src/svg-pan-zoom.js","../src/js/core/svg-map.js"],"sourcesContent":["// uniwheel 0.1.2 (customized)\n// A unified cross browser mouse wheel event handler\n// https://github.com/teemualap/uniwheel\n\nmodule.exports = (function(){\n\n  //Full details: https://developer.mozilla.org/en-US/docs/Web/Reference/Events/wheel\n\n  var prefix = \"\", _addEventListener, _removeEventListener, support, fns = [];\n  var passiveListenerOption = {passive: true};\n  var activeListenerOption = {passive: false};\n\n  // detect event model\n  if ( window.addEventListener ) {\n    _addEventListener = \"addEventListener\";\n    _removeEventListener = \"removeEventListener\";\n  } else {\n    _addEventListener = \"attachEvent\";\n    _removeEventListener = \"detachEvent\";\n    prefix = \"on\";\n  }\n\n  // detect available wheel event\n  support = \"onwheel\" in document.createElement(\"div\") ? \"wheel\" : // Modern browsers support \"wheel\"\n            document.onmousewheel !== undefined ? \"mousewheel\" : // Webkit and IE support at least \"mousewheel\"\n            \"DOMMouseScroll\"; // let's assume that remaining browsers are older Firefox\n\n\n  function createCallback(element,callback) {\n\n    var fn = function(originalEvent) {\n\n      !originalEvent && ( originalEvent = window.event );\n\n      // create a normalized event object\n      var event = {\n        // keep a ref to the original event object\n        originalEvent: originalEvent,\n        target: originalEvent.target || originalEvent.srcElement,\n        type: \"wheel\",\n        deltaMode: originalEvent.type == \"MozMousePixelScroll\" ? 0 : 1,\n        deltaX: 0,\n        delatZ: 0,\n        preventDefault: function() {\n          originalEvent.preventDefault ?\n            originalEvent.preventDefault() :\n            originalEvent.returnValue = false;\n        }\n      };\n\n      // calculate deltaY (and deltaX) according to the event\n      if ( support == \"mousewheel\" ) {\n        event.deltaY = - 1/40 * originalEvent.wheelDelta;\n        // Webkit also support wheelDeltaX\n        originalEvent.wheelDeltaX && ( event.deltaX = - 1/40 * originalEvent.wheelDeltaX );\n      } else {\n        event.deltaY = originalEvent.detail;\n      }\n\n      // it's time to fire the callback\n      return callback( event );\n\n    };\n\n    fns.push({\n      element: element,\n      fn: fn,\n    });\n\n    return fn;\n  }\n\n  function getCallback(element) {\n    for (var i = 0; i < fns.length; i++) {\n      if (fns[i].element === element) {\n        return fns[i].fn;\n      }\n    }\n    return function(){};\n  }\n\n  function removeCallback(element) {\n    for (var i = 0; i < fns.length; i++) {\n      if (fns[i].element === element) {\n        return fns.splice(i,1);\n      }\n    }\n  }\n\n  function _addWheelListener(elem, eventName, callback, isPassiveListener ) {\n    var cb;\n\n    if (support === \"wheel\") {\n      cb = callback;\n    } else {\n      cb = createCallback(elem, callback);\n    }\n\n    elem[_addEventListener](\n      prefix + eventName,\n      cb,\n      isPassiveListener ? passiveListenerOption : activeListenerOption\n    );\n  }\n\n  function _removeWheelListener(elem, eventName, callback, isPassiveListener ) {\n\n    var cb;\n\n    if (support === \"wheel\") {\n      cb = callback;\n    } else {\n      cb = getCallback(elem);\n    }\n\n    elem[_removeEventListener](\n      prefix + eventName,\n      cb,\n      isPassiveListener ? passiveListenerOption : activeListenerOption\n    );\n\n    removeCallback(elem);\n  }\n\n  function addWheelListener( elem, callback, isPassiveListener ) {\n    _addWheelListener(elem, support, callback, isPassiveListener );\n\n    // handle MozMousePixelScroll in older Firefox\n    if( support == \"DOMMouseScroll\" ) {\n      _addWheelListener(elem, \"MozMousePixelScroll\", callback, isPassiveListener );\n    }\n  }\n\n  function removeWheelListener(elem, callback, isPassiveListener){\n    _removeWheelListener(elem, support, callback, isPassiveListener);\n\n    // handle MozMousePixelScroll in older Firefox\n    if( support == \"DOMMouseScroll\" ) {\n      _removeWheelListener(elem, \"MozMousePixelScroll\", callback, isPassiveListener);\n    }\n  }\n\n  return {\n    on: addWheelListener,\n    off: removeWheelListener\n  };\n\n})();\n","module.exports = {\n  /**\n   * Extends an object\n   *\n   * @param  {Object} target object to extend\n   * @param  {Object} source object to take properties from\n   * @return {Object}        extended object\n   */\n  extend: function(target, source) {\n    target = target || {};\n    for (var prop in source) {\n      // Go recursively\n      if (this.isObject(source[prop])) {\n        target[prop] = this.extend(target[prop], source[prop]);\n      } else {\n        target[prop] = source[prop];\n      }\n    }\n    return target;\n  },\n\n  /**\n   * Checks if an object is a DOM element\n   *\n   * @param  {Object}  o HTML element or String\n   * @return {Boolean}   returns true if object is a DOM element\n   */\n  isElement: function(o) {\n    return (\n      o instanceof HTMLElement ||\n      o instanceof SVGElement ||\n      o instanceof SVGSVGElement || //DOM2\n      (o &&\n        typeof o === \"object\" &&\n        o !== null &&\n        o.nodeType === 1 &&\n        typeof o.nodeName === \"string\")\n    );\n  },\n\n  /**\n   * Checks if an object is an Object\n   *\n   * @param  {Object}  o Object\n   * @return {Boolean}   returns true if object is an Object\n   */\n  isObject: function(o) {\n    return Object.prototype.toString.call(o) === \"[object Object]\";\n  },\n\n  /**\n   * Checks if variable is Number\n   *\n   * @param  {Integer|Float}  n\n   * @return {Boolean}   returns true if variable is Number\n   */\n  isNumber: function(n) {\n    return !isNaN(parseFloat(n)) && isFinite(n);\n  },\n\n  /**\n   * Search for an SVG element\n   *\n   * @param  {Object|String} elementOrSelector DOM Element or selector String\n   * @return {Object|Null}                   SVG or null\n   */\n  getSvg: function(elementOrSelector) {\n    var element, svg;\n\n    if (!this.isElement(elementOrSelector)) {\n      // If selector provided\n      if (\n        typeof elementOrSelector === \"string\" ||\n        elementOrSelector instanceof String\n      ) {\n        // Try to find the element\n        element = document.querySelector(elementOrSelector);\n\n        if (!element) {\n          throw new Error(\n            \"Provided selector did not find any elements. Selector: \" +\n              elementOrSelector\n          );\n          return null;\n        }\n      } else {\n        throw new Error(\"Provided selector is not an HTML object nor String\");\n        return null;\n      }\n    } else {\n      element = elementOrSelector;\n    }\n\n    if (element.tagName.toLowerCase() === \"svg\") {\n      svg = element;\n    } else {\n      if (element.tagName.toLowerCase() === \"object\") {\n        svg = element.contentDocument.documentElement;\n      } else {\n        if (element.tagName.toLowerCase() === \"embed\") {\n          svg = element.getSVGDocument().documentElement;\n        } else {\n          if (element.tagName.toLowerCase() === \"img\") {\n            throw new Error(\n              'Cannot script an SVG in an \"img\" element. Please use an \"object\" element or an in-line SVG.'\n            );\n          } else {\n            throw new Error(\"Cannot get SVG.\");\n          }\n          return null;\n        }\n      }\n    }\n\n    return svg;\n  },\n\n  /**\n   * Attach a given context to a function\n   * @param  {Function} fn      Function\n   * @param  {Object}   context Context\n   * @return {Function}           Function with certain context\n   */\n  proxy: function(fn, context) {\n    return function() {\n      return fn.apply(context, arguments);\n    };\n  },\n\n  /**\n   * Returns object type\n   * Uses toString that returns [object SVGPoint]\n   * And than parses object type from string\n   *\n   * @param  {Object} o Any object\n   * @return {String}   Object type\n   */\n  getType: function(o) {\n    return Object.prototype.toString\n      .apply(o)\n      .replace(/^\\[object\\s/, \"\")\n      .replace(/\\]$/, \"\");\n  },\n\n  /**\n   * If it is a touch event than add clientX and clientY to event object\n   *\n   * @param  {Event} evt\n   * @param  {SVGSVGElement} svg\n   */\n  mouseAndTouchNormalize: function(evt, svg) {\n    // If no clientX then fallback\n    if (evt.clientX === void 0 || evt.clientX === null) {\n      // Fallback\n      evt.clientX = 0;\n      evt.clientY = 0;\n\n      // If it is a touch event\n      if (evt.touches !== void 0 && evt.touches.length) {\n        if (evt.touches[0].clientX !== void 0) {\n          evt.clientX = evt.touches[0].clientX;\n          evt.clientY = evt.touches[0].clientY;\n        } else if (evt.touches[0].pageX !== void 0) {\n          var rect = svg.getBoundingClientRect();\n\n          evt.clientX = evt.touches[0].pageX - rect.left;\n          evt.clientY = evt.touches[0].pageY - rect.top;\n        }\n        // If it is a custom event\n      } else if (evt.originalEvent !== void 0) {\n        if (evt.originalEvent.clientX !== void 0) {\n          evt.clientX = evt.originalEvent.clientX;\n          evt.clientY = evt.originalEvent.clientY;\n        }\n      }\n    }\n  },\n\n  /**\n   * Check if an event is a double click/tap\n   * TODO: For touch gestures use a library (hammer.js) that takes in account other events\n   * (touchmove and touchend). It should take in account tap duration and traveled distance\n   *\n   * @param  {Event}  evt\n   * @param  {Event}  prevEvt Previous Event\n   * @return {Boolean}\n   */\n  isDblClick: function(evt, prevEvt) {\n    // Double click detected by browser\n    if (evt.detail === 2) {\n      return true;\n    }\n    // Try to compare events\n    else if (prevEvt !== void 0 && prevEvt !== null) {\n      var timeStampDiff = evt.timeStamp - prevEvt.timeStamp, // should be lower than 250 ms\n        touchesDistance = Math.sqrt(\n          Math.pow(evt.clientX - prevEvt.clientX, 2) +\n            Math.pow(evt.clientY - prevEvt.clientY, 2)\n        );\n\n      return timeStampDiff < 250 && touchesDistance < 10;\n    }\n\n    // Nothing found\n    return false;\n  },\n\n  /**\n   * Returns current timestamp as an integer\n   *\n   * @return {Number}\n   */\n  now:\n    Date.now ||\n    function() {\n      return new Date().getTime();\n    },\n\n  // From underscore.\n  // Returns a function, that, when invoked, will only be triggered at most once\n  // during a given window of time. Normally, the throttled function will run\n  // as much as it can, without ever going more than once per `wait` duration;\n  // but if you'd like to disable the execution on the leading edge, pass\n  // `{leading: false}`. To disable execution on the trailing edge, ditto.\n  throttle: function(func, wait, options) {\n    var that = this;\n    var context, args, result;\n    var timeout = null;\n    var previous = 0;\n    if (!options) {\n      options = {};\n    }\n    var later = function() {\n      previous = options.leading === false ? 0 : that.now();\n      timeout = null;\n      result = func.apply(context, args);\n      if (!timeout) {\n        context = args = null;\n      }\n    };\n    return function() {\n      var now = that.now();\n      if (!previous && options.leading === false) {\n        previous = now;\n      }\n      var remaining = wait - (now - previous);\n      context = this; // eslint-disable-line consistent-this\n      args = arguments;\n      if (remaining <= 0 || remaining > wait) {\n        clearTimeout(timeout);\n        timeout = null;\n        previous = now;\n        result = func.apply(context, args);\n        if (!timeout) {\n          context = args = null;\n        }\n      } else if (!timeout && options.trailing !== false) {\n        timeout = setTimeout(later, remaining);\n      }\n      return result;\n    };\n  },\n\n  /**\n   * Create a requestAnimationFrame simulation\n   *\n   * @param  {Number|String} refreshRate\n   * @return {Function}\n   */\n  createRequestAnimationFrame: function(refreshRate) {\n    var timeout = null;\n\n    // Convert refreshRate to timeout\n    if (refreshRate !== \"auto\" && refreshRate < 60 && refreshRate > 1) {\n      timeout = Math.floor(1000 / refreshRate);\n    }\n\n    if (timeout === null) {\n      return window.requestAnimationFrame || requestTimeout(33);\n    } else {\n      return requestTimeout(timeout);\n    }\n  }\n};\n\n/**\n * Create a callback that will execute after a given timeout\n *\n * @param  {Function} timeout\n * @return {Function}\n */\nfunction requestTimeout(timeout) {\n  return function(callback) {\n    window.setTimeout(callback, timeout);\n  };\n}\n","var Utils = require(\"./utilities\"),\n  _browser = \"unknown\";\n\n// http://stackoverflow.com/questions/9847580/how-to-detect-safari-chrome-ie-firefox-and-opera-browser\nif (/*@cc_on!@*/ false || !!document.documentMode) {\n  // internet explorer\n  _browser = \"ie\";\n}\n\nmodule.exports = {\n  svgNS: \"http://www.w3.org/2000/svg\",\n  xmlNS: \"http://www.w3.org/XML/1998/namespace\",\n  xmlnsNS: \"http://www.w3.org/2000/xmlns/\",\n  xlinkNS: \"http://www.w3.org/1999/xlink\",\n  evNS: \"http://www.w3.org/2001/xml-events\",\n\n  /**\n   * Get svg dimensions: width and height\n   *\n   * @param  {SVGSVGElement} svg\n   * @return {Object}     {width: 0, height: 0}\n   */\n  getBoundingClientRectNormalized: function(svg) {\n    if (svg.clientWidth && svg.clientHeight) {\n      return { width: svg.clientWidth, height: svg.clientHeight };\n    } else if (!!svg.getBoundingClientRect()) {\n      return svg.getBoundingClientRect();\n    } else {\n      throw new Error(\"Cannot get BoundingClientRect for SVG.\");\n    }\n  },\n\n  /**\n   * Gets g element with class of \"viewport\" or creates it if it doesn't exist\n   *\n   * @param  {SVGSVGElement} svg\n   * @return {SVGElement}     g (group) element\n   */\n  getOrCreateViewport: function(svg, selector) {\n    var viewport = null;\n\n    if (Utils.isElement(selector)) {\n      viewport = selector;\n    } else {\n      viewport = svg.querySelector(selector);\n    }\n\n    // Check if there is just one main group in SVG\n    if (!viewport) {\n      var childNodes = Array.prototype.slice\n        .call(svg.childNodes || svg.children)\n        .filter(function(el) {\n          return el.nodeName !== \"defs\" && el.nodeName !== \"#text\";\n        });\n\n      // Node name should be SVGGElement and should have no transform attribute\n      // Groups with transform are not used as viewport because it involves parsing of all transform possibilities\n      if (\n        childNodes.length === 1 &&\n        childNodes[0].nodeName === \"g\" &&\n        childNodes[0].getAttribute(\"transform\") === null\n      ) {\n        viewport = childNodes[0];\n      }\n    }\n\n    // If no favorable group element exists then create one\n    if (!viewport) {\n      var viewportId =\n        \"viewport-\" + new Date().toISOString().replace(/\\D/g, \"\");\n      viewport = document.createElementNS(this.svgNS, \"g\");\n      viewport.setAttribute(\"id\", viewportId);\n\n      // Internet Explorer (all versions?) can't use childNodes, but other browsers prefer (require?) using childNodes\n      var svgChildren = svg.childNodes || svg.children;\n      if (!!svgChildren && svgChildren.length > 0) {\n        for (var i = svgChildren.length; i > 0; i--) {\n          // Move everything into viewport except defs\n          if (svgChildren[svgChildren.length - i].nodeName !== \"defs\") {\n            viewport.appendChild(svgChildren[svgChildren.length - i]);\n          }\n        }\n      }\n      svg.appendChild(viewport);\n    }\n\n    // Parse class names\n    var classNames = [];\n    if (viewport.getAttribute(\"class\")) {\n      classNames = viewport.getAttribute(\"class\").split(\" \");\n    }\n\n    // Set class (if not set already)\n    if (!~classNames.indexOf(\"svg-pan-zoom_viewport\")) {\n      classNames.push(\"svg-pan-zoom_viewport\");\n      viewport.setAttribute(\"class\", classNames.join(\" \"));\n    }\n\n    return viewport;\n  },\n\n  /**\n   * Set SVG attributes\n   *\n   * @param  {SVGSVGElement} svg\n   */\n  setupSvgAttributes: function(svg) {\n    // Setting default attributes\n    svg.setAttribute(\"xmlns\", this.svgNS);\n    svg.setAttributeNS(this.xmlnsNS, \"xmlns:xlink\", this.xlinkNS);\n    svg.setAttributeNS(this.xmlnsNS, \"xmlns:ev\", this.evNS);\n\n    // Needed for Internet Explorer, otherwise the viewport overflows\n    if (svg.parentNode !== null) {\n      var style = svg.getAttribute(\"style\") || \"\";\n      if (style.toLowerCase().indexOf(\"overflow\") === -1) {\n        svg.setAttribute(\"style\", \"overflow: hidden; \" + style);\n      }\n    }\n  },\n\n  /**\n   * How long Internet Explorer takes to finish updating its display (ms).\n   */\n  internetExplorerRedisplayInterval: 300,\n\n  /**\n   * Forces the browser to redisplay all SVG elements that rely on an\n   * element defined in a 'defs' section. It works globally, for every\n   * available defs element on the page.\n   * The throttling is intentionally global.\n   *\n   * This is only needed for IE. It is as a hack to make markers (and 'use' elements?)\n   * visible after pan/zoom when there are multiple SVGs on the page.\n   * See bug report: https://connect.microsoft.com/IE/feedback/details/781964/\n   * also see svg-pan-zoom issue: https://github.com/bumbu/svg-pan-zoom/issues/62\n   */\n  refreshDefsGlobal: Utils.throttle(\n    function() {\n      var allDefs = document.querySelectorAll(\"defs\");\n      var allDefsCount = allDefs.length;\n      for (var i = 0; i < allDefsCount; i++) {\n        var thisDefs = allDefs[i];\n        thisDefs.parentNode.insertBefore(thisDefs, thisDefs);\n      }\n    },\n    this ? this.internetExplorerRedisplayInterval : null\n  ),\n\n  /**\n   * Sets the current transform matrix of an element\n   *\n   * @param {SVGElement} element\n   * @param {SVGMatrix} matrix  CTM\n   * @param {SVGElement} defs\n   */\n  setCTM: function(element, matrix, defs) {\n    var that = this,\n      s =\n        \"matrix(\" +\n        matrix.a +\n        \",\" +\n        matrix.b +\n        \",\" +\n        matrix.c +\n        \",\" +\n        matrix.d +\n        \",\" +\n        matrix.e +\n        \",\" +\n        matrix.f +\n        \")\";\n\n    element.setAttributeNS(null, \"transform\", s);\n    if (\"transform\" in element.style) {\n      element.style.transform = s;\n    } else if (\"-ms-transform\" in element.style) {\n      element.style[\"-ms-transform\"] = s;\n    } else if (\"-webkit-transform\" in element.style) {\n      element.style[\"-webkit-transform\"] = s;\n    }\n\n    // IE has a bug that makes markers disappear on zoom (when the matrix \"a\" and/or \"d\" elements change)\n    // see http://stackoverflow.com/questions/17654578/svg-marker-does-not-work-in-ie9-10\n    // and http://srndolha.wordpress.com/2013/11/25/svg-line-markers-may-disappear-in-internet-explorer-11/\n    if (_browser === \"ie\" && !!defs) {\n      // this refresh is intended for redisplaying the SVG during zooming\n      defs.parentNode.insertBefore(defs, defs);\n      // this refresh is intended for redisplaying the other SVGs on a page when panning a given SVG\n      // it is also needed for the given SVG itself, on zoomEnd, if the SVG contains any markers that\n      // are located under any other element(s).\n      window.setTimeout(function() {\n        that.refreshDefsGlobal();\n      }, that.internetExplorerRedisplayInterval);\n    }\n  },\n\n  /**\n   * Instantiate an SVGPoint object with given event coordinates\n   *\n   * @param {Event} evt\n   * @param  {SVGSVGElement} svg\n   * @return {SVGPoint}     point\n   */\n  getEventPoint: function(evt, svg) {\n    var point = svg.createSVGPoint();\n\n    Utils.mouseAndTouchNormalize(evt, svg);\n\n    point.x = evt.clientX;\n    point.y = evt.clientY;\n\n    return point;\n  },\n\n  /**\n   * Get SVG center point\n   *\n   * @param  {SVGSVGElement} svg\n   * @return {SVGPoint}\n   */\n  getSvgCenterPoint: function(svg, width, height) {\n    return this.createSVGPoint(svg, width / 2, height / 2);\n  },\n\n  /**\n   * Create a SVGPoint with given x and y\n   *\n   * @param  {SVGSVGElement} svg\n   * @param  {Number} x\n   * @param  {Number} y\n   * @return {SVGPoint}\n   */\n  createSVGPoint: function(svg, x, y) {\n    var point = svg.createSVGPoint();\n    point.x = x;\n    point.y = y;\n\n    return point;\n  }\n};\n","var SvgUtils = require(\"./svg-utilities\");\n\nmodule.exports = {\n  enable: function(instance) {\n    // Select (and create if necessary) defs\n    var defs = instance.svg.querySelector(\"defs\");\n    if (!defs) {\n      defs = document.createElementNS(SvgUtils.svgNS, \"defs\");\n      instance.svg.appendChild(defs);\n    }\n\n    // Check for style element, and create it if it doesn't exist\n    var styleEl = defs.querySelector(\"style#svg-pan-zoom-controls-styles\");\n    if (!styleEl) {\n      var style = document.createElementNS(SvgUtils.svgNS, \"style\");\n      style.setAttribute(\"id\", \"svg-pan-zoom-controls-styles\");\n      style.setAttribute(\"type\", \"text/css\");\n      style.textContent =\n        \".svg-pan-zoom-control { cursor: pointer; fill: black; fill-opacity: 0.333; } .svg-pan-zoom-control:hover { fill-opacity: 0.8; } .svg-pan-zoom-control-background { fill: white; fill-opacity: 0.5; } .svg-pan-zoom-control-background { fill-opacity: 0.8; }\";\n      defs.appendChild(style);\n    }\n\n    // Zoom Group\n    var zoomGroup = document.createElementNS(SvgUtils.svgNS, \"g\");\n    zoomGroup.setAttribute(\"id\", \"svg-pan-zoom-controls\");\n    zoomGroup.setAttribute(\n      \"transform\",\n      \"translate(\" +\n        (instance.width - 70) +\n        \" \" +\n        (instance.height - 76) +\n        \") scale(0.75)\"\n    );\n    zoomGroup.setAttribute(\"class\", \"svg-pan-zoom-control\");\n\n    // Control elements\n    zoomGroup.appendChild(this._createZoomIn(instance));\n    zoomGroup.appendChild(this._createZoomReset(instance));\n    zoomGroup.appendChild(this._createZoomOut(instance));\n\n    // Finally append created element\n    instance.svg.appendChild(zoomGroup);\n\n    // Cache control instance\n    instance.controlIcons = zoomGroup;\n  },\n\n  _createZoomIn: function(instance) {\n    var zoomIn = document.createElementNS(SvgUtils.svgNS, \"g\");\n    zoomIn.setAttribute(\"id\", \"svg-pan-zoom-zoom-in\");\n    zoomIn.setAttribute(\"transform\", \"translate(30.5 5) scale(0.015)\");\n    zoomIn.setAttribute(\"class\", \"svg-pan-zoom-control\");\n    zoomIn.addEventListener(\n      \"click\",\n      function() {\n        instance.getPublicInstance().zoomIn();\n      },\n      false\n    );\n    zoomIn.addEventListener(\n      \"touchstart\",\n      function() {\n        instance.getPublicInstance().zoomIn();\n      },\n      false\n    );\n\n    var zoomInBackground = document.createElementNS(SvgUtils.svgNS, \"rect\"); // TODO change these background space fillers to rounded rectangles so they look prettier\n    zoomInBackground.setAttribute(\"x\", \"0\");\n    zoomInBackground.setAttribute(\"y\", \"0\");\n    zoomInBackground.setAttribute(\"width\", \"1500\"); // larger than expected because the whole group is transformed to scale down\n    zoomInBackground.setAttribute(\"height\", \"1400\");\n    zoomInBackground.setAttribute(\"class\", \"svg-pan-zoom-control-background\");\n    zoomIn.appendChild(zoomInBackground);\n\n    var zoomInShape = document.createElementNS(SvgUtils.svgNS, \"path\");\n    zoomInShape.setAttribute(\n      \"d\",\n      \"M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z\"\n    );\n    zoomInShape.setAttribute(\"class\", \"svg-pan-zoom-control-element\");\n    zoomIn.appendChild(zoomInShape);\n\n    return zoomIn;\n  },\n\n  _createZoomReset: function(instance) {\n    // reset\n    var resetPanZoomControl = document.createElementNS(SvgUtils.svgNS, \"g\");\n    resetPanZoomControl.setAttribute(\"id\", \"svg-pan-zoom-reset-pan-zoom\");\n    resetPanZoomControl.setAttribute(\"transform\", \"translate(5 35) scale(0.4)\");\n    resetPanZoomControl.setAttribute(\"class\", \"svg-pan-zoom-control\");\n    resetPanZoomControl.addEventListener(\n      \"click\",\n      function() {\n        instance.getPublicInstance().reset();\n      },\n      false\n    );\n    resetPanZoomControl.addEventListener(\n      \"touchstart\",\n      function() {\n        instance.getPublicInstance().reset();\n      },\n      false\n    );\n\n    var resetPanZoomControlBackground = document.createElementNS(\n      SvgUtils.svgNS,\n      \"rect\"\n    ); // TODO change these background space fillers to rounded rectangles so they look prettier\n    resetPanZoomControlBackground.setAttribute(\"x\", \"2\");\n    resetPanZoomControlBackground.setAttribute(\"y\", \"2\");\n    resetPanZoomControlBackground.setAttribute(\"width\", \"182\"); // larger than expected because the whole group is transformed to scale down\n    resetPanZoomControlBackground.setAttribute(\"height\", \"58\");\n    resetPanZoomControlBackground.setAttribute(\n      \"class\",\n      \"svg-pan-zoom-control-background\"\n    );\n    resetPanZoomControl.appendChild(resetPanZoomControlBackground);\n\n    var resetPanZoomControlShape1 = document.createElementNS(\n      SvgUtils.svgNS,\n      \"path\"\n    );\n    resetPanZoomControlShape1.setAttribute(\n      \"d\",\n      \"M33.051,20.632c-0.742-0.406-1.854-0.609-3.338-0.609h-7.969v9.281h7.769c1.543,0,2.701-0.188,3.473-0.562c1.365-0.656,2.048-1.953,2.048-3.891C35.032,22.757,34.372,21.351,33.051,20.632z\"\n    );\n    resetPanZoomControlShape1.setAttribute(\n      \"class\",\n      \"svg-pan-zoom-control-element\"\n    );\n    resetPanZoomControl.appendChild(resetPanZoomControlShape1);\n\n    var resetPanZoomControlShape2 = document.createElementNS(\n      SvgUtils.svgNS,\n      \"path\"\n    );\n    resetPanZoomControlShape2.setAttribute(\n      \"d\",\n      \"M170.231,0.5H15.847C7.102,0.5,0.5,5.708,0.5,11.84v38.861C0.5,56.833,7.102,61.5,15.847,61.5h154.384c8.745,0,15.269-4.667,15.269-10.798V11.84C185.5,5.708,178.976,0.5,170.231,0.5z M42.837,48.569h-7.969c-0.219-0.766-0.375-1.383-0.469-1.852c-0.188-0.969-0.289-1.961-0.305-2.977l-0.047-3.211c-0.03-2.203-0.41-3.672-1.142-4.406c-0.732-0.734-2.103-1.102-4.113-1.102h-7.05v13.547h-7.055V14.022h16.524c2.361,0.047,4.178,0.344,5.45,0.891c1.272,0.547,2.351,1.352,3.234,2.414c0.731,0.875,1.31,1.844,1.737,2.906s0.64,2.273,0.64,3.633c0,1.641-0.414,3.254-1.242,4.84s-2.195,2.707-4.102,3.363c1.594,0.641,2.723,1.551,3.387,2.73s0.996,2.98,0.996,5.402v2.32c0,1.578,0.063,2.648,0.19,3.211c0.19,0.891,0.635,1.547,1.333,1.969V48.569z M75.579,48.569h-26.18V14.022h25.336v6.117H56.454v7.336h16.781v6H56.454v8.883h19.125V48.569z M104.497,46.331c-2.44,2.086-5.887,3.129-10.34,3.129c-4.548,0-8.125-1.027-10.731-3.082s-3.909-4.879-3.909-8.473h6.891c0.224,1.578,0.662,2.758,1.316,3.539c1.196,1.422,3.246,2.133,6.15,2.133c1.739,0,3.151-0.188,4.236-0.562c2.058-0.719,3.087-2.055,3.087-4.008c0-1.141-0.504-2.023-1.512-2.648c-1.008-0.609-2.607-1.148-4.796-1.617l-3.74-0.82c-3.676-0.812-6.201-1.695-7.576-2.648c-2.328-1.594-3.492-4.086-3.492-7.477c0-3.094,1.139-5.664,3.417-7.711s5.623-3.07,10.036-3.07c3.685,0,6.829,0.965,9.431,2.895c2.602,1.93,3.966,4.73,4.093,8.402h-6.938c-0.128-2.078-1.057-3.555-2.787-4.43c-1.154-0.578-2.587-0.867-4.301-0.867c-1.907,0-3.428,0.375-4.565,1.125c-1.138,0.75-1.706,1.797-1.706,3.141c0,1.234,0.561,2.156,1.682,2.766c0.721,0.406,2.25,0.883,4.589,1.43l6.063,1.43c2.657,0.625,4.648,1.461,5.975,2.508c2.059,1.625,3.089,3.977,3.089,7.055C108.157,41.624,106.937,44.245,104.497,46.331z M139.61,48.569h-26.18V14.022h25.336v6.117h-18.281v7.336h16.781v6h-16.781v8.883h19.125V48.569z M170.337,20.14h-10.336v28.43h-7.266V20.14h-10.383v-6.117h27.984V20.14z\"\n    );\n    resetPanZoomControlShape2.setAttribute(\n      \"class\",\n      \"svg-pan-zoom-control-element\"\n    );\n    resetPanZoomControl.appendChild(resetPanZoomControlShape2);\n\n    return resetPanZoomControl;\n  },\n\n  _createZoomOut: function(instance) {\n    // zoom out\n    var zoomOut = document.createElementNS(SvgUtils.svgNS, \"g\");\n    zoomOut.setAttribute(\"id\", \"svg-pan-zoom-zoom-out\");\n    zoomOut.setAttribute(\"transform\", \"translate(30.5 70) scale(0.015)\");\n    zoomOut.setAttribute(\"class\", \"svg-pan-zoom-control\");\n    zoomOut.addEventListener(\n      \"click\",\n      function() {\n        instance.getPublicInstance().zoomOut();\n      },\n      false\n    );\n    zoomOut.addEventListener(\n      \"touchstart\",\n      function() {\n        instance.getPublicInstance().zoomOut();\n      },\n      false\n    );\n\n    var zoomOutBackground = document.createElementNS(SvgUtils.svgNS, \"rect\"); // TODO change these background space fillers to rounded rectangles so they look prettier\n    zoomOutBackground.setAttribute(\"x\", \"0\");\n    zoomOutBackground.setAttribute(\"y\", \"0\");\n    zoomOutBackground.setAttribute(\"width\", \"1500\"); // larger than expected because the whole group is transformed to scale down\n    zoomOutBackground.setAttribute(\"height\", \"1400\");\n    zoomOutBackground.setAttribute(\"class\", \"svg-pan-zoom-control-background\");\n    zoomOut.appendChild(zoomOutBackground);\n\n    var zoomOutShape = document.createElementNS(SvgUtils.svgNS, \"path\");\n    zoomOutShape.setAttribute(\n      \"d\",\n      \"M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z\"\n    );\n    zoomOutShape.setAttribute(\"class\", \"svg-pan-zoom-control-element\");\n    zoomOut.appendChild(zoomOutShape);\n\n    return zoomOut;\n  },\n\n  disable: function(instance) {\n    if (instance.controlIcons) {\n      instance.controlIcons.parentNode.removeChild(instance.controlIcons);\n      instance.controlIcons = null;\n    }\n  }\n};\n","var SvgUtils = require(\"./svg-utilities\"),\n  Utils = require(\"./utilities\");\n\nvar ShadowViewport = function(viewport, options) {\n  this.init(viewport, options);\n};\n\n/**\n * Initialization\n *\n * @param  {SVGElement} viewport\n * @param  {Object} options\n */\nShadowViewport.prototype.init = function(viewport, options) {\n  // DOM Elements\n  this.viewport = viewport;\n  this.options = options;\n\n  // State cache\n  this.originalState = { zoom: 1, x: 0, y: 0 };\n  this.activeState = { zoom: 1, x: 0, y: 0 };\n\n  this.updateCTMCached = Utils.proxy(this.updateCTM, this);\n\n  // Create a custom requestAnimationFrame taking in account refreshRate\n  this.requestAnimationFrame = Utils.createRequestAnimationFrame(\n    this.options.refreshRate\n  );\n\n  // ViewBox\n  this.viewBox = { x: 0, y: 0, width: 0, height: 0 };\n  this.cacheViewBox();\n\n  // Process CTM\n  var newCTM = this.processCTM();\n\n  // Update viewport CTM and cache zoom and pan\n  this.setCTM(newCTM);\n\n  // Update CTM in this frame\n  this.updateCTM();\n};\n\n/**\n * Cache initial viewBox value\n * If no viewBox is defined, then use viewport size/position instead for viewBox values\n */\nShadowViewport.prototype.cacheViewBox = function() {\n  var svgViewBox = this.options.svg.getAttribute(\"viewBox\");\n\n  if (svgViewBox) {\n    var viewBoxValues = svgViewBox\n      .split(/[\\s\\,]/)\n      .filter(function(v) {\n        return v;\n      })\n      .map(parseFloat);\n\n    // Cache viewbox x and y offset\n    this.viewBox.x = viewBoxValues[0];\n    this.viewBox.y = viewBoxValues[1];\n    this.viewBox.width = viewBoxValues[2];\n    this.viewBox.height = viewBoxValues[3];\n\n    var zoom = Math.min(\n      this.options.width / this.viewBox.width,\n      this.options.height / this.viewBox.height\n    );\n\n    // Update active state\n    this.activeState.zoom = zoom;\n    this.activeState.x = (this.options.width - this.viewBox.width * zoom) / 2;\n    this.activeState.y = (this.options.height - this.viewBox.height * zoom) / 2;\n\n    // Force updating CTM\n    this.updateCTMOnNextFrame();\n\n    this.options.svg.removeAttribute(\"viewBox\");\n  } else {\n    this.simpleViewBoxCache();\n  }\n};\n\n/**\n * Recalculate viewport sizes and update viewBox cache\n */\nShadowViewport.prototype.simpleViewBoxCache = function() {\n  var bBox = this.viewport.getBBox();\n\n  this.viewBox.x = bBox.x;\n  this.viewBox.y = bBox.y;\n  this.viewBox.width = bBox.width;\n  this.viewBox.height = bBox.height;\n};\n\n/**\n * Returns a viewbox object. Safe to alter\n *\n * @return {Object} viewbox object\n */\nShadowViewport.prototype.getViewBox = function() {\n  return Utils.extend({}, this.viewBox);\n};\n\n/**\n * Get initial zoom and pan values. Save them into originalState\n * Parses viewBox attribute to alter initial sizes\n *\n * @return {CTM} CTM object based on options\n */\nShadowViewport.prototype.processCTM = function() {\n  var newCTM = this.getCTM();\n\n  if (this.options.fit || this.options.contain) {\n    var newScale;\n    if (this.options.fit) {\n      newScale = Math.min(\n        this.options.width / this.viewBox.width,\n        this.options.height / this.viewBox.height\n      );\n    } else {\n      newScale = Math.max(\n        this.options.width / this.viewBox.width,\n        this.options.height / this.viewBox.height\n      );\n    }\n\n    newCTM.a = newScale; //x-scale\n    newCTM.d = newScale; //y-scale\n    newCTM.e = -this.viewBox.x * newScale; //x-transform\n    newCTM.f = -this.viewBox.y * newScale; //y-transform\n  }\n\n  if (this.options.center) {\n    var offsetX =\n        (this.options.width -\n          (this.viewBox.width + this.viewBox.x * 2) * newCTM.a) *\n        0.5,\n      offsetY =\n        (this.options.height -\n          (this.viewBox.height + this.viewBox.y * 2) * newCTM.a) *\n        0.5;\n\n    newCTM.e = offsetX;\n    newCTM.f = offsetY;\n  }\n\n  // Cache initial values. Based on activeState and fix+center opitons\n  this.originalState.zoom = newCTM.a;\n  this.originalState.x = newCTM.e;\n  this.originalState.y = newCTM.f;\n\n  return newCTM;\n};\n\n/**\n * Return originalState object. Safe to alter\n *\n * @return {Object}\n */\nShadowViewport.prototype.getOriginalState = function() {\n  return Utils.extend({}, this.originalState);\n};\n\n/**\n * Return actualState object. Safe to alter\n *\n * @return {Object}\n */\nShadowViewport.prototype.getState = function() {\n  return Utils.extend({}, this.activeState);\n};\n\n/**\n * Get zoom scale\n *\n * @return {Float} zoom scale\n */\nShadowViewport.prototype.getZoom = function() {\n  return this.activeState.zoom;\n};\n\n/**\n * Get zoom scale for pubilc usage\n *\n * @return {Float} zoom scale\n */\nShadowViewport.prototype.getRelativeZoom = function() {\n  return this.activeState.zoom / this.originalState.zoom;\n};\n\n/**\n * Compute zoom scale for pubilc usage\n *\n * @return {Float} zoom scale\n */\nShadowViewport.prototype.computeRelativeZoom = function(scale) {\n  return scale / this.originalState.zoom;\n};\n\n/**\n * Get pan\n *\n * @return {Object}\n */\nShadowViewport.prototype.getPan = function() {\n  return { x: this.activeState.x, y: this.activeState.y };\n};\n\n/**\n * Return cached viewport CTM value that can be safely modified\n *\n * @return {SVGMatrix}\n */\nShadowViewport.prototype.getCTM = function() {\n  var safeCTM = this.options.svg.createSVGMatrix();\n\n  // Copy values manually as in FF they are not itterable\n  safeCTM.a = this.activeState.zoom;\n  safeCTM.b = 0;\n  safeCTM.c = 0;\n  safeCTM.d = this.activeState.zoom;\n  safeCTM.e = this.activeState.x;\n  safeCTM.f = this.activeState.y;\n\n  return safeCTM;\n};\n\n/**\n * Set a new CTM\n *\n * @param {SVGMatrix} newCTM\n */\nShadowViewport.prototype.setCTM = function(newCTM) {\n  var willZoom = this.isZoomDifferent(newCTM),\n    willPan = this.isPanDifferent(newCTM);\n\n  if (willZoom || willPan) {\n    // Before zoom\n    if (willZoom) {\n      // If returns false then cancel zooming\n      if (\n        this.options.beforeZoom(\n          this.getRelativeZoom(),\n          this.computeRelativeZoom(newCTM.a)\n        ) === false\n      ) {\n        newCTM.a = newCTM.d = this.activeState.zoom;\n        willZoom = false;\n      } else {\n        this.updateCache(newCTM);\n        this.options.onZoom(this.getRelativeZoom());\n      }\n    }\n\n    // Before pan\n    if (willPan) {\n      var preventPan = this.options.beforePan(this.getPan(), {\n          x: newCTM.e,\n          y: newCTM.f\n        }),\n        // If prevent pan is an object\n        preventPanX = false,\n        preventPanY = false;\n\n      // If prevent pan is Boolean false\n      if (preventPan === false) {\n        // Set x and y same as before\n        newCTM.e = this.getPan().x;\n        newCTM.f = this.getPan().y;\n\n        preventPanX = preventPanY = true;\n      } else if (Utils.isObject(preventPan)) {\n        // Check for X axes attribute\n        if (preventPan.x === false) {\n          // Prevent panning on x axes\n          newCTM.e = this.getPan().x;\n          preventPanX = true;\n        } else if (Utils.isNumber(preventPan.x)) {\n          // Set a custom pan value\n          newCTM.e = preventPan.x;\n        }\n\n        // Check for Y axes attribute\n        if (preventPan.y === false) {\n          // Prevent panning on x axes\n          newCTM.f = this.getPan().y;\n          preventPanY = true;\n        } else if (Utils.isNumber(preventPan.y)) {\n          // Set a custom pan value\n          newCTM.f = preventPan.y;\n        }\n      }\n\n      // Update willPan flag\n      // Check if newCTM is still different\n      if ((preventPanX && preventPanY) || !this.isPanDifferent(newCTM)) {\n        willPan = false;\n      } else {\n        this.updateCache(newCTM);\n        this.options.onPan(this.getPan());\n      }\n    }\n\n    // Check again if should zoom or pan\n    if (willZoom || willPan) {\n      this.updateCTMOnNextFrame();\n    }\n  }\n};\n\nShadowViewport.prototype.isZoomDifferent = function(newCTM) {\n  return this.activeState.zoom !== newCTM.a;\n};\n\nShadowViewport.prototype.isPanDifferent = function(newCTM) {\n  return this.activeState.x !== newCTM.e || this.activeState.y !== newCTM.f;\n};\n\n/**\n * Update cached CTM and active state\n *\n * @param {SVGMatrix} newCTM\n */\nShadowViewport.prototype.updateCache = function(newCTM) {\n  this.activeState.zoom = newCTM.a;\n  this.activeState.x = newCTM.e;\n  this.activeState.y = newCTM.f;\n};\n\nShadowViewport.prototype.pendingUpdate = false;\n\n/**\n * Place a request to update CTM on next Frame\n */\nShadowViewport.prototype.updateCTMOnNextFrame = function() {\n  if (!this.pendingUpdate) {\n    // Lock\n    this.pendingUpdate = true;\n\n    // Throttle next update\n    this.requestAnimationFrame.call(window, this.updateCTMCached);\n  }\n};\n\n/**\n * Update viewport CTM with cached CTM\n */\nShadowViewport.prototype.updateCTM = function() {\n  var ctm = this.getCTM();\n\n  // Updates SVG element\n  SvgUtils.setCTM(this.viewport, ctm, this.defs);\n\n  // Free the lock\n  this.pendingUpdate = false;\n\n  // Notify about the update\n  if (this.options.onUpdatedCTM) {\n    this.options.onUpdatedCTM(ctm);\n  }\n};\n\nmodule.exports = function(viewport, options) {\n  return new ShadowViewport(viewport, options);\n};\n","var Wheel = require(\"./uniwheel\"),\n  ControlIcons = require(\"./control-icons\"),\n  Utils = require(\"./utilities\"),\n  SvgUtils = require(\"./svg-utilities\"),\n  ShadowViewport = require(\"./shadow-viewport\");\n\nvar SvgPanZoom = function(svg, options) {\n  this.init(svg, options);\n};\n\nvar optionsDefaults = {\n  viewportSelector: \".svg-pan-zoom_viewport\", // Viewport selector. Can be querySelector string or SVGElement\n  panEnabled: true, // enable or disable panning (default enabled)\n  controlIconsEnabled: false, // insert icons to give user an option in addition to mouse events to control pan/zoom (default disabled)\n  zoomEnabled: true, // enable or disable zooming (default enabled)\n  dblClickZoomEnabled: true, // enable or disable zooming by double clicking (default enabled)\n  mouseWheelZoomEnabled: true, // enable or disable zooming by mouse wheel (default enabled)\n  preventMouseEventsDefault: true, // enable or disable preventDefault for mouse events\n  zoomScaleSensitivity: 0.1, // Zoom sensitivity\n  minZoom: 0.5, // Minimum Zoom level\n  maxZoom: 10, // Maximum Zoom level\n  fit: true, // enable or disable viewport fit in SVG (default true)\n  contain: false, // enable or disable viewport contain the svg (default false)\n  center: true, // enable or disable viewport centering in SVG (default true)\n  refreshRate: \"auto\", // Maximum number of frames per second (altering SVG's viewport)\n  beforeZoom: null,\n  onZoom: null,\n  beforePan: null,\n  onPan: null,\n  customEventsHandler: null,\n  eventsListenerElement: null,\n  onUpdatedCTM: null\n};\n\nvar passiveListenerOption = { passive: true };\n\nSvgPanZoom.prototype.init = function(svg, options) {\n  var that = this;\n\n  this.svg = svg;\n  this.defs = svg.querySelector(\"defs\");\n\n  // Add default attributes to SVG\n  SvgUtils.setupSvgAttributes(this.svg);\n\n  // Set options\n  this.options = Utils.extend(Utils.extend({}, optionsDefaults), options);\n\n  // Set default state\n  this.state = \"none\";\n\n  // Get dimensions\n  var boundingClientRectNormalized = SvgUtils.getBoundingClientRectNormalized(\n    svg\n  );\n  this.width = boundingClientRectNormalized.width;\n  this.height = boundingClientRectNormalized.height;\n\n  // Init shadow viewport\n  this.viewport = ShadowViewport(\n    SvgUtils.getOrCreateViewport(this.svg, this.options.viewportSelector),\n    {\n      svg: this.svg,\n      width: this.width,\n      height: this.height,\n      fit: this.options.fit,\n      contain: this.options.contain,\n      center: this.options.center,\n      refreshRate: this.options.refreshRate,\n      // Put callbacks into functions as they can change through time\n      beforeZoom: function(oldScale, newScale) {\n        if (that.viewport && that.options.beforeZoom) {\n          return that.options.beforeZoom(oldScale, newScale);\n        }\n      },\n      onZoom: function(scale) {\n        if (that.viewport && that.options.onZoom) {\n          return that.options.onZoom(scale);\n        }\n      },\n      beforePan: function(oldPoint, newPoint) {\n        if (that.viewport && that.options.beforePan) {\n          return that.options.beforePan(oldPoint, newPoint);\n        }\n      },\n      onPan: function(point) {\n        if (that.viewport && that.options.onPan) {\n          return that.options.onPan(point);\n        }\n      },\n      onUpdatedCTM: function(ctm) {\n        if (that.viewport && that.options.onUpdatedCTM) {\n          return that.options.onUpdatedCTM(ctm);\n        }\n      }\n    }\n  );\n\n  // Wrap callbacks into public API context\n  var publicInstance = this.getPublicInstance();\n  publicInstance.setBeforeZoom(this.options.beforeZoom);\n  publicInstance.setOnZoom(this.options.onZoom);\n  publicInstance.setBeforePan(this.options.beforePan);\n  publicInstance.setOnPan(this.options.onPan);\n  publicInstance.setOnUpdatedCTM(this.options.onUpdatedCTM);\n\n  if (this.options.controlIconsEnabled) {\n    ControlIcons.enable(this);\n  }\n\n  // Init events handlers\n  this.lastMouseWheelEventTime = Date.now();\n  this.setupHandlers();\n};\n\n/**\n * Register event handlers\n */\nSvgPanZoom.prototype.setupHandlers = function() {\n  var that = this,\n    prevEvt = null; // use for touchstart event to detect double tap\n\n  this.eventListeners = {\n    // Mouse down group\n    mousedown: function(evt) {\n      var result = that.handleMouseDown(evt, prevEvt);\n      prevEvt = evt;\n      return result;\n    },\n    touchstart: function(evt) {\n      var result = that.handleMouseDown(evt, prevEvt);\n      prevEvt = evt;\n      return result;\n    },\n\n    // Mouse up group\n    mouseup: function(evt) {\n      return that.handleMouseUp(evt);\n    },\n    touchend: function(evt) {\n      return that.handleMouseUp(evt);\n    },\n\n    // Mouse move group\n    mousemove: function(evt) {\n      return that.handleMouseMove(evt);\n    },\n    touchmove: function(evt) {\n      return that.handleMouseMove(evt);\n    },\n\n    // Mouse leave group\n    mouseleave: function(evt) {\n      return that.handleMouseUp(evt);\n    },\n    touchleave: function(evt) {\n      return that.handleMouseUp(evt);\n    },\n    touchcancel: function(evt) {\n      return that.handleMouseUp(evt);\n    }\n  };\n\n  // Init custom events handler if available\n  // eslint-disable-next-line eqeqeq\n  if (this.options.customEventsHandler != null) {\n    this.options.customEventsHandler.init({\n      svgElement: this.svg,\n      eventsListenerElement: this.options.eventsListenerElement,\n      instance: this.getPublicInstance()\n    });\n\n    // Custom event handler may halt builtin listeners\n    var haltEventListeners = this.options.customEventsHandler\n      .haltEventListeners;\n    if (haltEventListeners && haltEventListeners.length) {\n      for (var i = haltEventListeners.length - 1; i >= 0; i--) {\n        if (this.eventListeners.hasOwnProperty(haltEventListeners[i])) {\n          delete this.eventListeners[haltEventListeners[i]];\n        }\n      }\n    }\n  }\n\n  // Bind eventListeners\n  for (var event in this.eventListeners) {\n    // Attach event to eventsListenerElement or SVG if not available\n    (this.options.eventsListenerElement || this.svg).addEventListener(\n      event,\n      this.eventListeners[event],\n      !this.options.preventMouseEventsDefault ? passiveListenerOption : false\n    );\n  }\n\n  // Zoom using mouse wheel\n  if (this.options.mouseWheelZoomEnabled) {\n    this.options.mouseWheelZoomEnabled = false; // set to false as enable will set it back to true\n    this.enableMouseWheelZoom();\n  }\n};\n\n/**\n * Enable ability to zoom using mouse wheel\n */\nSvgPanZoom.prototype.enableMouseWheelZoom = function() {\n  if (!this.options.mouseWheelZoomEnabled) {\n    var that = this;\n\n    // Mouse wheel listener\n    this.wheelListener = function(evt) {\n      return that.handleMouseWheel(evt);\n    };\n\n    // Bind wheelListener\n    var isPassiveListener = !this.options.preventMouseEventsDefault;\n    Wheel.on(\n      this.options.eventsListenerElement || this.svg,\n      this.wheelListener,\n      isPassiveListener\n    );\n\n    this.options.mouseWheelZoomEnabled = true;\n  }\n};\n\n/**\n * Disable ability to zoom using mouse wheel\n */\nSvgPanZoom.prototype.disableMouseWheelZoom = function() {\n  if (this.options.mouseWheelZoomEnabled) {\n    var isPassiveListener = !this.options.preventMouseEventsDefault;\n    Wheel.off(\n      this.options.eventsListenerElement || this.svg,\n      this.wheelListener,\n      isPassiveListener\n    );\n    this.options.mouseWheelZoomEnabled = false;\n  }\n};\n\n/**\n * Handle mouse wheel event\n *\n * @param  {Event} evt\n */\nSvgPanZoom.prototype.handleMouseWheel = function(evt) {\n  if (!this.options.zoomEnabled || this.state !== \"none\") {\n    return;\n  }\n\n  if (this.options.preventMouseEventsDefault) {\n    if (evt.preventDefault) {\n      evt.preventDefault();\n    } else {\n      evt.returnValue = false;\n    }\n  }\n\n  // Default delta in case that deltaY is not available\n  var delta = evt.deltaY || 1,\n    timeDelta = Date.now() - this.lastMouseWheelEventTime,\n    divider = 3 + Math.max(0, 30 - timeDelta);\n\n  // Update cache\n  this.lastMouseWheelEventTime = Date.now();\n\n  // Make empirical adjustments for browsers that give deltaY in pixels (deltaMode=0)\n  if (\"deltaMode\" in evt && evt.deltaMode === 0 && evt.wheelDelta) {\n    delta = evt.deltaY === 0 ? 0 : Math.abs(evt.wheelDelta) / evt.deltaY;\n  }\n\n  delta =\n    -0.3 < delta && delta < 0.3\n      ? delta\n      : ((delta > 0 ? 1 : -1) * Math.log(Math.abs(delta) + 10)) / divider;\n\n  var inversedScreenCTM = this.svg.getScreenCTM().inverse(),\n    relativeMousePoint = SvgUtils.getEventPoint(evt, this.svg).matrixTransform(\n      inversedScreenCTM\n    ),\n    zoom = Math.pow(1 + this.options.zoomScaleSensitivity, -1 * delta); // multiplying by neg. 1 so as to make zoom in/out behavior match Google maps behavior\n\n  this.zoomAtPoint(zoom, relativeMousePoint);\n};\n\n/**\n * Zoom in at a SVG point\n *\n * @param  {SVGPoint} point\n * @param  {Float} zoomScale    Number representing how much to zoom\n * @param  {Boolean} zoomAbsolute Default false. If true, zoomScale is treated as an absolute value.\n *                                Otherwise, zoomScale is treated as a multiplied (e.g. 1.10 would zoom in 10%)\n */\nSvgPanZoom.prototype.zoomAtPoint = function(zoomScale, point, zoomAbsolute) {\n  var originalState = this.viewport.getOriginalState();\n\n  if (!zoomAbsolute) {\n    // Fit zoomScale in set bounds\n    if (\n      this.getZoom() * zoomScale <\n      this.options.minZoom * originalState.zoom\n    ) {\n      zoomScale = (this.options.minZoom * originalState.zoom) / this.getZoom();\n    } else if (\n      this.getZoom() * zoomScale >\n      this.options.maxZoom * originalState.zoom\n    ) {\n      zoomScale = (this.options.maxZoom * originalState.zoom) / this.getZoom();\n    }\n  } else {\n    // Fit zoomScale in set bounds\n    zoomScale = Math.max(\n      this.options.minZoom * originalState.zoom,\n      Math.min(this.options.maxZoom * originalState.zoom, zoomScale)\n    );\n    // Find relative scale to achieve desired scale\n    zoomScale = zoomScale / this.getZoom();\n  }\n\n  var oldCTM = this.viewport.getCTM(),\n    relativePoint = point.matrixTransform(oldCTM.inverse()),\n    modifier = this.svg\n      .createSVGMatrix()\n      .translate(relativePoint.x, relativePoint.y)\n      .scale(zoomScale)\n      .translate(-relativePoint.x, -relativePoint.y),\n    newCTM = oldCTM.multiply(modifier);\n\n  if (newCTM.a !== oldCTM.a) {\n    this.viewport.setCTM(newCTM);\n  }\n};\n\n/**\n * Zoom at center point\n *\n * @param  {Float} scale\n * @param  {Boolean} absolute Marks zoom scale as relative or absolute\n */\nSvgPanZoom.prototype.zoom = function(scale, absolute) {\n  this.zoomAtPoint(\n    scale,\n    SvgUtils.getSvgCenterPoint(this.svg, this.width, this.height),\n    absolute\n  );\n};\n\n/**\n * Zoom used by public instance\n *\n * @param  {Float} scale\n * @param  {Boolean} absolute Marks zoom scale as relative or absolute\n */\nSvgPanZoom.prototype.publicZoom = function(scale, absolute) {\n  if (absolute) {\n    scale = this.computeFromRelativeZoom(scale);\n  }\n\n  this.zoom(scale, absolute);\n};\n\n/**\n * Zoom at point used by public instance\n *\n * @param  {Float} scale\n * @param  {SVGPoint|Object} point    An object that has x and y attributes\n * @param  {Boolean} absolute Marks zoom scale as relative or absolute\n */\nSvgPanZoom.prototype.publicZoomAtPoint = function(scale, point, absolute) {\n  if (absolute) {\n    // Transform zoom into a relative value\n    scale = this.computeFromRelativeZoom(scale);\n  }\n\n  // If not a SVGPoint but has x and y then create a SVGPoint\n  if (Utils.getType(point) !== \"SVGPoint\") {\n    if (\"x\" in point && \"y\" in point) {\n      point = SvgUtils.createSVGPoint(this.svg, point.x, point.y);\n    } else {\n      throw new Error(\"Given point is invalid\");\n    }\n  }\n\n  this.zoomAtPoint(scale, point, absolute);\n};\n\n/**\n * Get zoom scale\n *\n * @return {Float} zoom scale\n */\nSvgPanZoom.prototype.getZoom = function() {\n  return this.viewport.getZoom();\n};\n\n/**\n * Get zoom scale for public usage\n *\n * @return {Float} zoom scale\n */\nSvgPanZoom.prototype.getRelativeZoom = function() {\n  return this.viewport.getRelativeZoom();\n};\n\n/**\n * Compute actual zoom from public zoom\n *\n * @param  {Float} zoom\n * @return {Float} zoom scale\n */\nSvgPanZoom.prototype.computeFromRelativeZoom = function(zoom) {\n  return zoom * this.viewport.getOriginalState().zoom;\n};\n\n/**\n * Set zoom to initial state\n */\nSvgPanZoom.prototype.resetZoom = function() {\n  var originalState = this.viewport.getOriginalState();\n\n  this.zoom(originalState.zoom, true);\n};\n\n/**\n * Set pan to initial state\n */\nSvgPanZoom.prototype.resetPan = function() {\n  this.pan(this.viewport.getOriginalState());\n};\n\n/**\n * Set pan and zoom to initial state\n */\nSvgPanZoom.prototype.reset = function() {\n  this.resetZoom();\n  this.resetPan();\n};\n\n/**\n * Handle double click event\n * See handleMouseDown() for alternate detection method\n *\n * @param {Event} evt\n */\nSvgPanZoom.prototype.handleDblClick = function(evt) {\n  if (this.options.preventMouseEventsDefault) {\n    if (evt.preventDefault) {\n      evt.preventDefault();\n    } else {\n      evt.returnValue = false;\n    }\n  }\n\n  // Check if target was a control button\n  if (this.options.controlIconsEnabled) {\n    var targetClass = evt.target.getAttribute(\"class\") || \"\";\n    if (targetClass.indexOf(\"svg-pan-zoom-control\") > -1) {\n      return false;\n    }\n  }\n\n  var zoomFactor;\n\n  if (evt.shiftKey) {\n    zoomFactor = 1 / ((1 + this.options.zoomScaleSensitivity) * 2); // zoom out when shift key pressed\n  } else {\n    zoomFactor = (1 + this.options.zoomScaleSensitivity) * 2;\n  }\n\n  var point = SvgUtils.getEventPoint(evt, this.svg).matrixTransform(\n    this.svg.getScreenCTM().inverse()\n  );\n  this.zoomAtPoint(zoomFactor, point);\n};\n\n/**\n * Handle click event\n *\n * @param {Event} evt\n */\nSvgPanZoom.prototype.handleMouseDown = function(evt, prevEvt) {\n  if (this.options.preventMouseEventsDefault) {\n    if (evt.preventDefault) {\n      evt.preventDefault();\n    } else {\n      evt.returnValue = false;\n    }\n  }\n\n  Utils.mouseAndTouchNormalize(evt, this.svg);\n\n  // Double click detection; more consistent than ondblclick\n  if (this.options.dblClickZoomEnabled && Utils.isDblClick(evt, prevEvt)) {\n    this.handleDblClick(evt);\n  } else {\n    // Pan mode\n    this.state = \"pan\";\n    this.firstEventCTM = this.viewport.getCTM();\n    this.stateOrigin = SvgUtils.getEventPoint(evt, this.svg).matrixTransform(\n      this.firstEventCTM.inverse()\n    );\n  }\n};\n\n/**\n * Handle mouse move event\n *\n * @param  {Event} evt\n */\nSvgPanZoom.prototype.handleMouseMove = function(evt) {\n  if (this.options.preventMouseEventsDefault) {\n    if (evt.preventDefault) {\n      evt.preventDefault();\n    } else {\n      evt.returnValue = false;\n    }\n  }\n\n  if (this.state === \"pan\" && this.options.panEnabled) {\n    // Pan mode\n    var point = SvgUtils.getEventPoint(evt, this.svg).matrixTransform(\n        this.firstEventCTM.inverse()\n      ),\n      viewportCTM = this.firstEventCTM.translate(\n        point.x - this.stateOrigin.x,\n        point.y - this.stateOrigin.y\n      );\n\n    this.viewport.setCTM(viewportCTM);\n  }\n};\n\n/**\n * Handle mouse button release event\n *\n * @param {Event} evt\n */\nSvgPanZoom.prototype.handleMouseUp = function(evt) {\n  if (this.options.preventMouseEventsDefault) {\n    if (evt.preventDefault) {\n      evt.preventDefault();\n    } else {\n      evt.returnValue = false;\n    }\n  }\n\n  if (this.state === \"pan\") {\n    // Quit pan mode\n    this.state = \"none\";\n  }\n};\n\n/**\n * Adjust viewport size (only) so it will fit in SVG\n * Does not center image\n */\nSvgPanZoom.prototype.fit = function() {\n  var viewBox = this.viewport.getViewBox(),\n    newScale = Math.min(\n      this.width / viewBox.width,\n      this.height / viewBox.height\n    );\n\n  this.zoom(newScale, true);\n};\n\n/**\n * Adjust viewport size (only) so it will contain the SVG\n * Does not center image\n */\nSvgPanZoom.prototype.contain = function() {\n  var viewBox = this.viewport.getViewBox(),\n    newScale = Math.max(\n      this.width / viewBox.width,\n      this.height / viewBox.height\n    );\n\n  this.zoom(newScale, true);\n};\n\n/**\n * Adjust viewport pan (only) so it will be centered in SVG\n * Does not zoom/fit/contain image\n */\nSvgPanZoom.prototype.center = function() {\n  var viewBox = this.viewport.getViewBox(),\n    offsetX =\n      (this.width - (viewBox.width + viewBox.x * 2) * this.getZoom()) * 0.5,\n    offsetY =\n      (this.height - (viewBox.height + viewBox.y * 2) * this.getZoom()) * 0.5;\n\n  this.getPublicInstance().pan({ x: offsetX, y: offsetY });\n};\n\n/**\n * Update content cached BorderBox\n * Use when viewport contents change\n */\nSvgPanZoom.prototype.updateBBox = function() {\n  this.viewport.simpleViewBoxCache();\n};\n\n/**\n * Pan to a rendered position\n *\n * @param  {Object} point {x: 0, y: 0}\n */\nSvgPanZoom.prototype.pan = function(point) {\n  var viewportCTM = this.viewport.getCTM();\n  viewportCTM.e = point.x;\n  viewportCTM.f = point.y;\n  this.viewport.setCTM(viewportCTM);\n};\n\n/**\n * Relatively pan the graph by a specified rendered position vector\n *\n * @param  {Object} point {x: 0, y: 0}\n */\nSvgPanZoom.prototype.panBy = function(point) {\n  var viewportCTM = this.viewport.getCTM();\n  viewportCTM.e += point.x;\n  viewportCTM.f += point.y;\n  this.viewport.setCTM(viewportCTM);\n};\n\n/**\n * Get pan vector\n *\n * @return {Object} {x: 0, y: 0}\n */\nSvgPanZoom.prototype.getPan = function() {\n  var state = this.viewport.getState();\n\n  return { x: state.x, y: state.y };\n};\n\n/**\n * Recalculates cached svg dimensions and controls position\n */\nSvgPanZoom.prototype.resize = function() {\n  // Get dimensions\n  var boundingClientRectNormalized = SvgUtils.getBoundingClientRectNormalized(\n    this.svg\n  );\n  this.width = boundingClientRectNormalized.width;\n  this.height = boundingClientRectNormalized.height;\n\n  // Recalculate original state\n  var viewport = this.viewport;\n  viewport.options.width = this.width;\n  viewport.options.height = this.height;\n  viewport.processCTM();\n\n  // Reposition control icons by re-enabling them\n  if (this.options.controlIconsEnabled) {\n    this.getPublicInstance().disableControlIcons();\n    this.getPublicInstance().enableControlIcons();\n  }\n};\n\n/**\n * Unbind mouse events, free callbacks and destroy public instance\n */\nSvgPanZoom.prototype.destroy = function() {\n  var that = this;\n\n  // Free callbacks\n  this.beforeZoom = null;\n  this.onZoom = null;\n  this.beforePan = null;\n  this.onPan = null;\n  this.onUpdatedCTM = null;\n\n  // Destroy custom event handlers\n  // eslint-disable-next-line eqeqeq\n  if (this.options.customEventsHandler != null) {\n    this.options.customEventsHandler.destroy({\n      svgElement: this.svg,\n      eventsListenerElement: this.options.eventsListenerElement,\n      instance: this.getPublicInstance()\n    });\n  }\n\n  // Unbind eventListeners\n  for (var event in this.eventListeners) {\n    (this.options.eventsListenerElement || this.svg).removeEventListener(\n      event,\n      this.eventListeners[event],\n      !this.options.preventMouseEventsDefault ? passiveListenerOption : false\n    );\n  }\n\n  // Unbind wheelListener\n  this.disableMouseWheelZoom();\n\n  // Remove control icons\n  this.getPublicInstance().disableControlIcons();\n\n  // Reset zoom and pan\n  this.reset();\n\n  // Remove instance from instancesStore\n  instancesStore = instancesStore.filter(function(instance) {\n    return instance.svg !== that.svg;\n  });\n\n  // Delete options and its contents\n  delete this.options;\n\n  // Delete viewport to make public shadow viewport functions uncallable\n  delete this.viewport;\n\n  // Destroy public instance and rewrite getPublicInstance\n  delete this.publicInstance;\n  delete this.pi;\n  this.getPublicInstance = function() {\n    return null;\n  };\n};\n\n/**\n * Returns a public instance object\n *\n * @return {Object} Public instance object\n */\nSvgPanZoom.prototype.getPublicInstance = function() {\n  var that = this;\n\n  // Create cache\n  if (!this.publicInstance) {\n    this.publicInstance = this.pi = {\n      // Pan\n      enablePan: function() {\n        that.options.panEnabled = true;\n        return that.pi;\n      },\n      disablePan: function() {\n        that.options.panEnabled = false;\n        return that.pi;\n      },\n      isPanEnabled: function() {\n        return !!that.options.panEnabled;\n      },\n      pan: function(point) {\n        that.pan(point);\n        return that.pi;\n      },\n      panBy: function(point) {\n        that.panBy(point);\n        return that.pi;\n      },\n      getPan: function() {\n        return that.getPan();\n      },\n      // Pan event\n      setBeforePan: function(fn) {\n        that.options.beforePan =\n          fn === null ? null : Utils.proxy(fn, that.publicInstance);\n        return that.pi;\n      },\n      setOnPan: function(fn) {\n        that.options.onPan =\n          fn === null ? null : Utils.proxy(fn, that.publicInstance);\n        return that.pi;\n      },\n      // Zoom and Control Icons\n      enableZoom: function() {\n        that.options.zoomEnabled = true;\n        return that.pi;\n      },\n      disableZoom: function() {\n        that.options.zoomEnabled = false;\n        return that.pi;\n      },\n      isZoomEnabled: function() {\n        return !!that.options.zoomEnabled;\n      },\n      enableControlIcons: function() {\n        if (!that.options.controlIconsEnabled) {\n          that.options.controlIconsEnabled = true;\n          ControlIcons.enable(that);\n        }\n        return that.pi;\n      },\n      disableControlIcons: function() {\n        if (that.options.controlIconsEnabled) {\n          that.options.controlIconsEnabled = false;\n          ControlIcons.disable(that);\n        }\n        return that.pi;\n      },\n      isControlIconsEnabled: function() {\n        return !!that.options.controlIconsEnabled;\n      },\n      // Double click zoom\n      enableDblClickZoom: function() {\n        that.options.dblClickZoomEnabled = true;\n        return that.pi;\n      },\n      disableDblClickZoom: function() {\n        that.options.dblClickZoomEnabled = false;\n        return that.pi;\n      },\n      isDblClickZoomEnabled: function() {\n        return !!that.options.dblClickZoomEnabled;\n      },\n      // Mouse wheel zoom\n      enableMouseWheelZoom: function() {\n        that.enableMouseWheelZoom();\n        return that.pi;\n      },\n      disableMouseWheelZoom: function() {\n        that.disableMouseWheelZoom();\n        return that.pi;\n      },\n      isMouseWheelZoomEnabled: function() {\n        return !!that.options.mouseWheelZoomEnabled;\n      },\n      // Zoom scale and bounds\n      setZoomScaleSensitivity: function(scale) {\n        that.options.zoomScaleSensitivity = scale;\n        return that.pi;\n      },\n      setMinZoom: function(zoom) {\n        that.options.minZoom = zoom;\n        return that.pi;\n      },\n      setMaxZoom: function(zoom) {\n        that.options.maxZoom = zoom;\n        return that.pi;\n      },\n      // Zoom event\n      setBeforeZoom: function(fn) {\n        that.options.beforeZoom =\n          fn === null ? null : Utils.proxy(fn, that.publicInstance);\n        return that.pi;\n      },\n      setOnZoom: function(fn) {\n        that.options.onZoom =\n          fn === null ? null : Utils.proxy(fn, that.publicInstance);\n        return that.pi;\n      },\n      // Zooming\n      zoom: function(scale) {\n        that.publicZoom(scale, true);\n        return that.pi;\n      },\n      zoomBy: function(scale) {\n        that.publicZoom(scale, false);\n        return that.pi;\n      },\n      zoomAtPoint: function(scale, point) {\n        that.publicZoomAtPoint(scale, point, true);\n        return that.pi;\n      },\n      zoomAtPointBy: function(scale, point) {\n        that.publicZoomAtPoint(scale, point, false);\n        return that.pi;\n      },\n      zoomIn: function() {\n        this.zoomBy(1 + that.options.zoomScaleSensitivity);\n        return that.pi;\n      },\n      zoomOut: function() {\n        this.zoomBy(1 / (1 + that.options.zoomScaleSensitivity));\n        return that.pi;\n      },\n      getZoom: function() {\n        return that.getRelativeZoom();\n      },\n      // CTM update\n      setOnUpdatedCTM: function(fn) {\n        that.options.onUpdatedCTM =\n          fn === null ? null : Utils.proxy(fn, that.publicInstance);\n        return that.pi;\n      },\n      // Reset\n      resetZoom: function() {\n        that.resetZoom();\n        return that.pi;\n      },\n      resetPan: function() {\n        that.resetPan();\n        return that.pi;\n      },\n      reset: function() {\n        that.reset();\n        return that.pi;\n      },\n      // Fit, Contain and Center\n      fit: function() {\n        that.fit();\n        return that.pi;\n      },\n      contain: function() {\n        that.contain();\n        return that.pi;\n      },\n      center: function() {\n        that.center();\n        return that.pi;\n      },\n      // Size and Resize\n      updateBBox: function() {\n        that.updateBBox();\n        return that.pi;\n      },\n      resize: function() {\n        that.resize();\n        return that.pi;\n      },\n      getSizes: function() {\n        return {\n          width: that.width,\n          height: that.height,\n          realZoom: that.getZoom(),\n          viewBox: that.viewport.getViewBox()\n        };\n      },\n      // Destroy\n      destroy: function() {\n        that.destroy();\n        return that.pi;\n      }\n    };\n  }\n\n  return this.publicInstance;\n};\n\n/**\n * Stores pairs of instances of SvgPanZoom and SVG\n * Each pair is represented by an object {svg: SVGSVGElement, instance: SvgPanZoom}\n *\n * @type {Array}\n */\nvar instancesStore = [];\n\nvar svgPanZoom = function(elementOrSelector, options) {\n  var svg = Utils.getSvg(elementOrSelector);\n\n  if (svg === null) {\n    return null;\n  } else {\n    // Look for existent instance\n    for (var i = instancesStore.length - 1; i >= 0; i--) {\n      if (instancesStore[i].svg === svg) {\n        return instancesStore[i].instance.getPublicInstance();\n      }\n    }\n\n    // If instance not found - create one\n    instancesStore.push({\n      svg: svg,\n      instance: new SvgPanZoom(svg, options)\n    });\n\n    // Return just pushed instance\n    return instancesStore[\n      instancesStore.length - 1\n    ].instance.getPublicInstance();\n  }\n};\n\nmodule.exports = svgPanZoom;\n","import svgPanZoom from 'svg-pan-zoom';\n\nexport default class svgMap {\n  constructor(options = {}) {\n    const defaultOptions = {\n      // The element to render the map in\n      targetElementID: '',\n\n      // Allow user to zoom and pan\n      allowInteraction: true,\n\n      // Minimum and maximum zoom\n      minZoom: 1,\n      maxZoom: 25,\n\n      // Initial zoom\n      initialZoom: 1.06,\n\n      // Initial pan\n      initialPan: {\n        x: 0,\n        y: 0\n      },\n\n      // Zoom sensitivity\n      zoomScaleSensitivity: 0.2,\n\n      // Zoom with double-click\n      dblClickZoomEnabled: true,\n\n      // Zoom with mousewheel\n      mouseWheelZoomEnabled: true,\n\n      // Allow zooming only when one of the following keys is pressed: 'shift', 'control', 'alt' (Windows), 'command' (MacOS), 'option' (MacOS)\n      mouseWheelZoomWithKey: false,\n\n      // The message to show for non MacOS systems\n      mouseWheelKeyMessage: 'Press the [ALT] key to zoom',\n\n      // The message to show for MacOS\n      mouseWheelKeyMessageMac: 'Press the [COMMAND] key to zoom',\n\n      // Position of the zoom buttons\n      zoomButtonsPosition: 'bottomLeft',\n\n      // Data colors\n      colorMax: '#CC0033',\n      colorMin: '#FFE5D9',\n      colorNoData: '#E2E2E2',\n\n      // Ratio type for the color scale, can be 'linear' or 'log' for logarithmic or a custom function (value, min, max) => ratio\n      ratioType: 'linear',\n\n      // The flag type can be 'image' or 'emoji'\n      flagType: 'image',\n\n      // The URL to the flags when using flag type 'image', {0} will get replaced with the lowercase country id\n      flagURL:\n        'https://cdn.jsdelivr.net/gh/hjnilsson/country-flags@latest/svg/{0}.svg',\n\n      // Decide whether to show the flag option or not\n      hideFlag: false,\n\n      // Whether attributes with no data should be displayed\n      hideMissingData: false,\n\n      // The default text to be shown when no data is present\n      noDataText: 'No data available',\n\n      // Set to true to open the link on mobile devices, set to false (default) to show the tooltip\n      touchLink: false,\n\n      // When false, disables hover/touch-following tooltips (not the on-map persistent labels; see persistentTooltips)\n      showTooltips: true,\n\n      // 'hover' (default): mouse shows tooltip on enter. 'click': mouse opens tooltip on click; touch/pen unchanged.\n      tooltipTrigger: 'hover',\n\n      // Persistent on-map tooltips: an array of country IDs, or a function (countryID, countryValues) => boolean\n      persistentTooltips: false,\n\n      // Set to true to show the to show a zoom reset button\n      showZoomReset: false,\n\n      // Called when a tooltip is created to custimize the tooltip content\n      onGetTooltip: function (tooltipDiv, countryID, countryValues) {\n        return null;\n      },\n\n      // Called on country click (pointer released without dragging). Receives\n      // (countryID, event). Return false to skip opening data.values[*].link.\n      onCountryClick: null,\n\n      // Country specific options\n      countries: {\n        // Western Sahara: Set to false to combine Morocco (MA) and Western Sahara (EH)\n        EH: true\n      },\n\n      // Set to true to show a drop down menu with the continents\n      showContinentSelector: false,\n\n      // Reset zoom on resize\n      resetZoomOnResize: false\n    };\n\n    this.options = Object.assign({}, defaultOptions, options);\n\n    this.init();\n  }\n\n  // Initialize\n  init() {\n    // Abort if target element not found\n    if (\n      !this.options.targetElementID ||\n      !document.getElementById(this.options.targetElementID)\n    ) {\n      this.error('Target element not found');\n    }\n\n    // Abort if no data\n    if (!this.options.data) {\n      this.error('No data');\n    }\n\n    // Global id\n    this.id = this.options.targetElementID;\n\n    // Wrapper element\n    this.wrapper = document.getElementById(this.options.targetElementID);\n    this.wrapper.classList.add('svgMap-wrapper');\n    if (typeof this.options.onCountryClick === 'function') {\n      this.wrapper.classList.add('svgMap-country-click-callback');\n    }\n\n    // Container element\n    this.container = document.createElement('div');\n    this.container.classList.add('svgMap-container');\n    this.wrapper.appendChild(this.container);\n\n    // Block scrolling when option is enabled\n    if (\n      this.options.allowInteraction &&\n      this.options.mouseWheelZoomEnabled &&\n      this.options.mouseWheelZoomWithKey\n    ) {\n      this.addMouseWheelZoomNotice();\n      this.addMouseWheelZoomWithKeyEvents();\n    }\n\n    // Map container element\n    this.mapContainer = document.createElement('div');\n    this.mapContainer.classList.add('svgMap-map-container');\n    this.container.appendChild(this.mapContainer);\n\n    // Create the map\n    this.createMap();\n\n    // Apply map data\n    this.applyData(this.options.data);\n  }\n\n  // Countries\n\n  countries = {\n    AF: 'Afghanistan',\n    AX: 'Åland Islands',\n    AL: 'Albania',\n    DZ: 'Algeria',\n    AS: 'American Samoa',\n    AD: 'Andorra',\n    AO: 'Angola',\n    AI: 'Anguilla',\n    AQ: 'Antarctica',\n    AG: 'Antigua and Barbuda',\n    AR: 'Argentina',\n    AM: 'Armenia',\n    AW: 'Aruba',\n    AU: 'Australia',\n    AT: 'Austria',\n    AZ: 'Azerbaijan',\n    BS: 'Bahamas',\n    BH: 'Bahrain',\n    BD: 'Bangladesh',\n    BB: 'Barbados',\n    BY: 'Belarus',\n    BE: 'Belgium',\n    BZ: 'Belize',\n    BJ: 'Benin',\n    BM: 'Bermuda',\n    BT: 'Bhutan',\n    BO: 'Bolivia',\n    BA: 'Bosnia and Herzegovina',\n    BW: 'Botswana',\n    BR: 'Brazil',\n    IO: 'British Indian Ocean Territory',\n    VG: 'British Virgin Islands',\n    BN: 'Brunei Darussalam',\n    BG: 'Bulgaria',\n    BF: 'Burkina Faso',\n    BI: 'Burundi',\n    KH: 'Cambodia',\n    CM: 'Cameroon',\n    CA: 'Canada',\n    CV: 'Cape Verde',\n    BQ: 'Caribbean Netherlands',\n    KY: 'Cayman Islands',\n    CF: 'Central African Republic',\n    TD: 'Chad',\n    CL: 'Chile',\n    CN: 'China',\n    CX: 'Christmas Island',\n    CC: 'Cocos Islands',\n    CO: 'Colombia',\n    KM: 'Comoros',\n    CG: 'Congo',\n    CK: 'Cook Islands',\n    CR: 'Costa Rica',\n    HR: 'Croatia',\n    CU: 'Cuba',\n    CW: 'Curaçao',\n    CY: 'Cyprus',\n    CZ: 'Czech Republic',\n    CD: 'Democratic Republic of the Congo',\n    DK: 'Denmark',\n    DJ: 'Djibouti',\n    DM: 'Dominica',\n    DO: 'Dominican Republic',\n    EC: 'Ecuador',\n    EG: 'Egypt',\n    SV: 'El Salvador',\n    GQ: 'Equatorial Guinea',\n    ER: 'Eritrea',\n    EE: 'Estonia',\n    ET: 'Ethiopia',\n    FK: 'Falkland Islands',\n    FO: 'Faroe Islands',\n    FM: 'Federated States of Micronesia',\n    FJ: 'Fiji',\n    FI: 'Finland',\n    FR: 'France',\n    GF: 'French Guiana',\n    PF: 'French Polynesia',\n    TF: 'French Southern Territories',\n    GA: 'Gabon',\n    GM: 'Gambia',\n    GE: 'Georgia',\n    DE: 'Germany',\n    GH: 'Ghana',\n    GI: 'Gibraltar',\n    GR: 'Greece',\n    GL: 'Greenland',\n    GD: 'Grenada',\n    GP: 'Guadeloupe',\n    GU: 'Guam',\n    GT: 'Guatemala',\n    GN: 'Guinea',\n    GW: 'Guinea-Bissau',\n    GY: 'Guyana',\n    HT: 'Haiti',\n    HN: 'Honduras',\n    HK: 'Hong Kong',\n    HU: 'Hungary',\n    IS: 'Iceland',\n    IN: 'India',\n    ID: 'Indonesia',\n    IR: 'Iran',\n    IQ: 'Iraq',\n    IE: 'Ireland',\n    IM: 'Isle of Man',\n    IL: 'Israel',\n    IT: 'Italy',\n    CI: 'Ivory Coast',\n    JM: 'Jamaica',\n    JP: 'Japan',\n    JE: 'Jersey',\n    JO: 'Jordan',\n    KZ: 'Kazakhstan',\n    KE: 'Kenya',\n    KI: 'Kiribati',\n    XK: 'Kosovo',\n    KW: 'Kuwait',\n    KG: 'Kyrgyzstan',\n    LA: 'Laos',\n    LV: 'Latvia',\n    LB: 'Lebanon',\n    LS: 'Lesotho',\n    LR: 'Liberia',\n    LY: 'Libya',\n    LI: 'Liechtenstein',\n    LT: 'Lithuania',\n    LU: 'Luxembourg',\n    MO: 'Macau',\n    MK: 'Macedonia',\n    MG: 'Madagascar',\n    MW: 'Malawi',\n    MY: 'Malaysia',\n    MV: 'Maldives',\n    ML: 'Mali',\n    MT: 'Malta',\n    MH: 'Marshall Islands',\n    MQ: 'Martinique',\n    MR: 'Mauritania',\n    MU: 'Mauritius',\n    YT: 'Mayotte',\n    MX: 'Mexico',\n    MD: 'Moldova',\n    MC: 'Monaco',\n    MN: 'Mongolia',\n    ME: 'Montenegro',\n    MS: 'Montserrat',\n    MA: 'Morocco',\n    MZ: 'Mozambique',\n    MM: 'Myanmar',\n    NA: 'Namibia',\n    NR: 'Nauru',\n    NP: 'Nepal',\n    NL: 'Netherlands',\n    NC: 'New Caledonia',\n    NZ: 'New Zealand',\n    NI: 'Nicaragua',\n    NE: 'Niger',\n    NG: 'Nigeria',\n    NU: 'Niue',\n    NF: 'Norfolk Island',\n    KP: 'North Korea',\n    MP: 'Northern Mariana Islands',\n    NO: 'Norway',\n    OM: 'Oman',\n    PK: 'Pakistan',\n    PW: 'Palau',\n    PS: 'Palestine',\n    PA: 'Panama',\n    PG: 'Papua New Guinea',\n    PY: 'Paraguay',\n    PE: 'Peru',\n    PH: 'Philippines',\n    PN: 'Pitcairn Islands',\n    PL: 'Poland',\n    PT: 'Portugal',\n    PR: 'Puerto Rico',\n    QA: 'Qatar',\n    RE: 'Reunion',\n    RO: 'Romania',\n    RU: 'Russia',\n    RW: 'Rwanda',\n    SH: 'Saint Helena',\n    KN: 'Saint Kitts and Nevis',\n    LC: 'Saint Lucia',\n    PM: 'Saint Pierre and Miquelon',\n    VC: 'Saint Vincent and the Grenadines',\n    WS: 'Samoa',\n    SM: 'San Marino',\n    ST: 'São Tomé and Príncipe',\n    SA: 'Saudi Arabia',\n    SN: 'Senegal',\n    RS: 'Serbia',\n    SC: 'Seychelles',\n    SL: 'Sierra Leone',\n    SG: 'Singapore',\n    SX: 'Sint Maarten',\n    SK: 'Slovakia',\n    SI: 'Slovenia',\n    SB: 'Solomon Islands',\n    SO: 'Somalia',\n    ZA: 'South Africa',\n    GS: 'South Georgia and the South Sandwich Islands',\n    KR: 'South Korea',\n    SS: 'South Sudan',\n    ES: 'Spain',\n    LK: 'Sri Lanka',\n    SD: 'Sudan',\n    SR: 'Suriname',\n    SJ: 'Svalbard and Jan Mayen',\n    SZ: 'Eswatini',\n    SE: 'Sweden',\n    CH: 'Switzerland',\n    SY: 'Syria',\n    TW: 'Taiwan',\n    TJ: 'Tajikistan',\n    TZ: 'Tanzania',\n    TH: 'Thailand',\n    TL: 'Timor-Leste',\n    TG: 'Togo',\n    TK: 'Tokelau',\n    TO: 'Tonga',\n    TT: 'Trinidad and Tobago',\n    TN: 'Tunisia',\n    TR: 'Turkey',\n    TM: 'Turkmenistan',\n    TC: 'Turks and Caicos Islands',\n    TV: 'Tuvalu',\n    UG: 'Uganda',\n    UA: 'Ukraine',\n    AE: 'United Arab Emirates',\n    GB: 'United Kingdom',\n    US: 'United States',\n    UM: 'United States Minor Outlying Islands',\n    VI: 'United States Virgin Islands',\n    UY: 'Uruguay',\n    UZ: 'Uzbekistan',\n    VU: 'Vanuatu',\n    VA: 'Vatican City',\n    VE: 'Venezuela',\n    VN: 'Vietnam',\n    WF: 'Wallis and Futuna',\n    EH: 'Western Sahara',\n    YE: 'Yemen',\n    ZM: 'Zambia',\n    ZW: 'Zimbabwe'\n  };\n\n  // Apply the data to the map\n\n  applyData(data) {\n    var max = null;\n    var min = null;\n\n    // Get highest and lowest value\n    Object.keys(data.values).forEach(function (countryID) {\n      var value = parseInt(data.values[countryID][data.applyData], 10);\n      max === null && (max = value);\n      min === null && (min = value);\n      value > max && (max = value);\n      value < min && (min = value);\n    });\n\n    data.data[data.applyData].thresholdMax &&\n      (max = Math.min(max, data.data[data.applyData].thresholdMax));\n    data.data[data.applyData].thresholdMin &&\n      (min = Math.max(min, data.data[data.applyData].thresholdMin));\n\n    // Loop through countries and set colors\n    Object.keys(this.countries).forEach(\n      function (countryID) {\n        var element = document.getElementById(\n          this.id + '-map-country-' + countryID\n        );\n        if (!element) {\n          return;\n        }\n        if (!data.values[countryID]) {\n          element.style.setProperty(\n            '--svg-map-country-fill',\n            this.toHex(this.options.colorNoData)\n          );\n          return;\n        }\n        if (typeof data.values[countryID].color != 'undefined') {\n          element.style.setProperty(\n            '--svg-map-country-fill',\n            data.values[countryID].color\n          );\n          return;\n        }\n        var value = Math.max(\n          min,\n          parseInt(data.values[countryID][data.applyData], 10)\n        );\n\n        var color = this.getColor(\n          this.toHex(this.options.colorMax),\n          this.toHex(this.options.colorMin),\n          this.calculateColorRatio(value, min, max, this.options.ratioType)\n        );\n        element.style.setProperty('--svg-map-country-fill', color);\n      }.bind(this)\n    );\n  }\n\n  calculateColorRatio(value, min, max, ratioType) {\n    var range = max - min;\n    var positionInRange = value - min;\n\n    if (range === 0 || positionInRange === 0) {\n      return 0;\n    }\n\n    if (ratioType === 'log') {\n      var logValue = Math.log(positionInRange + 1);\n      var logMin = Math.log(1);\n      var logMax = Math.log(range + 1);\n      var ratio = Math.max(\n        0,\n        Math.min(1, (logValue - logMin) / (logMax - logMin))\n      );\n      return ratio || ratio === 0 ? ratio : 1;\n    }\n\n    if (ratioType === 'linear') {\n      var ratio = Math.max(0, Math.min(1, positionInRange / range));\n      return ratio || ratio === 0 ? ratio : 1;\n    }\n\n    if (typeof ratioType === 'function') {\n      return ratioType(value, min, max);\n    }\n\n    return 1;\n  }\n\n  // Emoji flags\n\n  emojiFlags = {\n    AF: '🇦🇫',\n    AX: '🇦🇽',\n    AL: '🇦🇱',\n    DZ: '🇩🇿',\n    AS: '🇦🇸',\n    AD: '🇦🇩',\n    AO: '🇦🇴',\n    AI: '🇦🇮',\n    AQ: '🇦🇶',\n    AG: '🇦🇬',\n    AR: '🇦🇷',\n    AM: '🇦🇲',\n    AW: '🇦🇼',\n    AU: '🇦🇺',\n    AT: '🇦🇹',\n    AZ: '🇦🇿',\n    BS: '🇧🇸',\n    BH: '🇧🇭',\n    BD: '🇧🇩',\n    BB: '🇧🇧',\n    BY: '🇧🇾',\n    BE: '🇧🇪',\n    BZ: '🇧🇿',\n    BJ: '🇧🇯',\n    BM: '🇧🇲',\n    BT: '🇧🇹',\n    BO: '🇧🇴',\n    BA: '🇧🇦',\n    BW: '🇧🇼',\n    BR: '🇧🇷',\n    IO: '🇮🇴',\n    VG: '🇻🇬',\n    BN: '🇧🇳',\n    BG: '🇧🇬',\n    BF: '🇧🇫',\n    BI: '🇧🇮',\n    KH: '🇰🇭',\n    CM: '🇨🇲',\n    CA: '🇨🇦',\n    CV: '🇨🇻',\n    BQ: '🇧🇶',\n    KY: '🇰🇾',\n    CF: '🇨🇫',\n    TD: '🇹🇩',\n    CL: '🇨🇱',\n    CN: '🇨🇳',\n    CX: '🇨🇽',\n    CC: '🇨🇨',\n    CO: '🇨🇴',\n    KM: '🇰🇲',\n    CG: '🇨🇬',\n    CK: '🇨🇰',\n    CR: '🇨🇷',\n    HR: '🇭🇷',\n    CU: '🇨🇺',\n    CW: '🇨🇼',\n    CY: '🇨🇾',\n    CZ: '🇨🇿',\n    CD: '🇨🇩',\n    DK: '🇩🇰',\n    DJ: '🇩🇯',\n    DM: '🇩🇲',\n    DO: '🇩🇴',\n    EC: '🇪🇨',\n    EG: '🇪🇬',\n    SV: '🇸🇻',\n    GQ: '🇬🇶',\n    ER: '🇪🇷',\n    EE: '🇪🇪',\n    ET: '🇪🇹',\n    FK: '🇫🇰',\n    FO: '🇫🇴',\n    FM: '🇫🇲',\n    FJ: '🇫🇯',\n    FI: '🇫🇮',\n    FR: '🇫🇷',\n    GF: '🇬🇫',\n    PF: '🇵🇫',\n    TF: '🇹🇫',\n    GA: '🇬🇦',\n    GM: '🇬🇲',\n    GE: '🇬🇪',\n    DE: '🇩🇪',\n    GH: '🇬🇭',\n    GI: '🇬🇮',\n    GR: '🇬🇷',\n    GL: '🇬🇱',\n    GD: '🇬🇩',\n    GP: '🇬🇵',\n    GU: '🇬🇺',\n    GT: '🇬🇹',\n    GN: '🇬🇳',\n    GW: '🇬🇼',\n    GY: '🇬🇾',\n    HT: '🇭🇹',\n    HN: '🇭🇳',\n    HK: '🇭🇰',\n    HU: '🇭🇺',\n    IS: '🇮🇸',\n    IN: '🇮🇳',\n    ID: '🇮🇩',\n    IR: '🇮🇷',\n    IQ: '🇮🇶',\n    IE: '🇮🇪',\n    IM: '🇮🇲',\n    IL: '🇮🇱',\n    IT: '🇮🇹',\n    CI: '🇨🇮',\n    JM: '🇯🇲',\n    JP: '🇯🇵',\n    JE: '🇯🇪',\n    JO: '🇯🇴',\n    KZ: '🇰🇿',\n    KE: '🇰🇪',\n    KI: '🇰🇮',\n    XK: '🇽🇰',\n    KW: '🇰🇼',\n    KG: '🇰🇬',\n    LA: '🇱🇦',\n    LV: '🇱🇻',\n    LB: '🇱🇧',\n    LS: '🇱🇸',\n    LR: '🇱🇷',\n    LY: '🇱🇾',\n    LI: '🇱🇮',\n    LT: '🇱🇹',\n    LU: '🇱🇺',\n    MO: '🇲🇴',\n    MK: '🇲🇰',\n    MG: '🇲🇬',\n    MW: '🇲🇼',\n    MY: '🇲🇾',\n    MV: '🇲🇻',\n    ML: '🇲🇱',\n    MT: '🇲🇹',\n    MH: '🇲🇭',\n    MQ: '🇲🇶',\n    MR: '🇲🇷',\n    MU: '🇲🇺',\n    YT: '🇾🇹',\n    MX: '🇲🇽',\n    MD: '🇲🇩',\n    MC: '🇲🇨',\n    MN: '🇲🇳',\n    ME: '🇲🇪',\n    MS: '🇲🇸',\n    MA: '🇲🇦',\n    MZ: '🇲🇿',\n    MM: '🇲🇲',\n    NA: '🇳🇦',\n    NR: '🇳🇷',\n    NP: '🇳🇵',\n    NL: '🇳🇱',\n    NC: '🇳🇨',\n    NZ: '🇳🇿',\n    NI: '🇳🇮',\n    NE: '🇳🇪',\n    NG: '🇳🇬',\n    NU: '🇳🇺',\n    NF: '🇳🇫',\n    KP: '🇰🇵',\n    MP: '🇲🇵',\n    NO: '🇳🇴',\n    OM: '🇴🇲',\n    PK: '🇵🇰',\n    PW: '🇵🇼',\n    PS: '🇵🇸',\n    PA: '🇵🇦',\n    PG: '🇵🇬',\n    PY: '🇵🇾',\n    PE: '🇵🇪',\n    PH: '🇵🇭',\n    PN: '🇵🇳',\n    PL: '🇵🇱',\n    PT: '🇵🇹',\n    PR: '🇵🇷',\n    QA: '🇶🇦',\n    RE: '🇷🇪',\n    RO: '🇷🇴',\n    RU: '🇷🇺',\n    RW: '🇷🇼',\n    SH: '🇸🇭',\n    KN: '🇰🇳',\n    LC: '🇱🇨',\n    PM: '🇵🇲',\n    VC: '🇻🇨',\n    WS: '🇼🇸',\n    SM: '🇸🇲',\n    ST: '🇸🇹',\n    SA: '🇸🇦',\n    SN: '🇸🇳',\n    RS: '🇷🇸',\n    SC: '🇸🇨',\n    SL: '🇸🇱',\n    SG: '🇸🇬',\n    SX: '🇸🇽',\n    SK: '🇸🇰',\n    SI: '🇸🇮',\n    SB: '🇸🇧',\n    SO: '🇸🇴',\n    ZA: '🇿🇦',\n    GS: '🇬🇸',\n    KR: '🇰🇷',\n    SS: '🇸🇸',\n    ES: '🇪🇸',\n    LK: '🇱🇰',\n    SD: '🇸🇩',\n    SR: '🇸🇷',\n    SJ: '🇸🇯',\n    SZ: '🇸🇿',\n    SE: '🇸🇪',\n    CH: '🇨🇭',\n    SY: '🇸🇾',\n    TW: '🇹🇼',\n    TJ: '🇹🇯',\n    TZ: '🇹🇿',\n    TH: '🇹🇭',\n    TL: '🇹🇱',\n    TG: '🇹🇬',\n    TK: '🇹🇰',\n    TO: '🇹🇴',\n    TT: '🇹🇹',\n    TN: '🇹🇳',\n    TR: '🇹🇷',\n    TM: '🇹🇲',\n    TC: '🇹🇨',\n    TV: '🇹🇻',\n    UG: '🇺🇬',\n    UA: '🇺🇦',\n    AE: '🇦🇪',\n    GB: '🇬🇧',\n    US: '🇺🇸',\n    UM: '🇺🇲',\n    VI: '🇻🇮',\n    UY: '🇺🇾',\n    UZ: '🇺🇿',\n    VU: '🇻🇺',\n    VA: '🇻🇦',\n    VE: '🇻🇪',\n    VN: '🇻🇳',\n    WF: '🇼🇫',\n    EH: '🇪🇭',\n    YE: '🇾🇪',\n    ZM: '🇿🇲',\n    ZW: '🇿🇼'\n  };\n\n  continents = {\n    EA: {\n      iso: 'EA',\n      name: 'World'\n    },\n    AF: {\n      iso: 'AF',\n      name: 'Africa',\n      pan: {\n        x: 454,\n        y: 250\n      },\n      zoom: 1.9\n    },\n    AS: {\n      iso: 'AS',\n      name: 'Asia',\n      pan: {\n        x: 904,\n        y: 80\n      },\n      zoom: 1.8\n    },\n    EU: {\n      iso: 'EU',\n      name: 'Europe',\n      pan: {\n        x: 404,\n        y: 80\n      },\n      zoom: 5\n    },\n    NA: {\n      iso: 'NA',\n      name: 'North America',\n      pan: {\n        x: 104,\n        y: 55\n      },\n      zoom: 2.6\n    },\n\n    MA: {\n      iso: 'MA',\n      name: 'Middle America',\n      pan: {\n        x: 104,\n        y: 200\n      },\n      zoom: 2.6\n    },\n    SA: {\n      iso: 'SA',\n      name: 'South America',\n      pan: {\n        x: 104,\n        y: 340\n      },\n      zoom: 2.2\n    },\n    OC: {\n      iso: 'OC',\n      name: 'Oceania',\n      pan: {\n        x: 954,\n        y: 350\n      },\n      zoom: 1.9\n    }\n  };\n  // Create the SVG map\n\n  createMap() {\n    // Create the tooltip\n    if (this.options.showTooltips) {\n      this.createTooltip();\n    }\n\n    // Create map wrappers\n    this.mapWrapper = this.createElement(\n      'div',\n      'svgMap-map-wrapper',\n      this.mapContainer\n    );\n    this.mapWrapper.style.setProperty(\n      '--svg-map-country-fill',\n      this.toHex(this.options.colorNoData)\n    );\n    this.mapImage = document.createElementNS(\n      'http://www.w3.org/2000/svg',\n      'svg'\n    );\n    this.mapImage.setAttribute('viewBox', '0 0 2000 1001');\n    this.mapImage.classList.add('svgMap-map-image');\n    this.mapWrapper.appendChild(this.mapImage);\n\n    // Add controls\n    var mapControlsWrapper = this.createElement(\n      'div',\n      'svgMap-map-controls-wrapper',\n      this.mapWrapper\n    );\n    mapControlsWrapper.classList.add(\n      'svgMap-controls-position-' + this.options.zoomButtonsPosition\n    );\n    var zoomContainer = this.createElement(\n      'div',\n      'svgMap-map-controls-zoom',\n      mapControlsWrapper\n    );\n    ['in', 'out', 'reset'].forEach(\n      function (item) {\n        if (\n          (item === 'reset' && this.options.showZoomReset) ||\n          item !== 'reset'\n        ) {\n          var zoomControlName =\n            'zoomControl' + item.charAt(0).toUpperCase() + item.slice(1);\n          this[zoomControlName] = this.createElement(\n            'button',\n            'svgMap-control-button svgMap-zoom-button svgMap-zoom-' +\n              item +\n              '-button',\n            zoomContainer\n          );\n          this[zoomControlName].type = 'button';\n          this[zoomControlName].addEventListener(\n            'click',\n            function () {\n              if (this.options.allowInteraction) {\n                this.zoomMap(item);\n              }\n            }.bind(this),\n            { passive: true }\n          );\n        }\n      }.bind(this)\n    );\n\n    if (!this.options.allowInteraction) {\n      mapControlsWrapper.classList.add('svgMap-disabled');\n      mapControlsWrapper.setAttribute('aria-disabled', 'true');\n    }\n\n    // Add accessible names to zoom controls\n    this.zoomControlIn.setAttribute('aria-label', 'Zoom in');\n    this.zoomControlOut.setAttribute('aria-label', 'Zoom out');\n\n    if (this.options.allowInteraction && this.options.showContinentSelector) {\n      // Add continent controls\n      var mapContinentControlsWrapper = this.createElement(\n        'div',\n        'svgMap-map-continent-controls-wrapper',\n        this.mapWrapper\n      );\n      this['continentSelect'] = this.createElement(\n        'select',\n        'svgMap-continent-select',\n        mapContinentControlsWrapper\n      );\n      var that = this;\n\n      Object.keys(this.continents).forEach(function (item) {\n        let element = that.createElement(\n          'option',\n          'svgMap-continent-option svgMap-continent-iso-' +\n            that.continents[item].iso,\n          that['continentSelect'],\n          that.continents[item].name\n        );\n        element.value = item;\n      });\n\n      this.continentSelect.addEventListener(\n        'change',\n        function (e) {\n          const continent = e.target.value;\n          if (continent) this.zoomContinent(e.target.value);\n        }.bind(that),\n        { passive: true }\n      );\n      mapContinentControlsWrapper.setAttribute(\n        'aria-label',\n        'Select continent'\n      );\n    }\n    // Fix countries\n    var mapPaths = Object.assign({}, this.mapPaths);\n\n    if (!this.options.countries.EH) {\n      mapPaths.MA.d = mapPaths['MA-EH'].d;\n      delete mapPaths.EH;\n    }\n    delete mapPaths['MA-EH'];\n\n    // Expose tooltipMove function\n\n    this.tooltipMoveEvent = function (e) {\n      this.moveTooltip(e);\n    }.bind(this);\n\n    // Add map elements\n    var countryElements = [];\n    Object.keys(mapPaths).forEach(\n      function (countryID) {\n        var countryData = this.mapPaths[countryID];\n        if (!countryData.d) {\n          return;\n        }\n\n        var countryElement = document.createElementNS(\n          'http://www.w3.org/2000/svg',\n          'path'\n        );\n\n        countryElement.setAttribute('d', countryData.d);\n        countryElement.setAttribute(\n          'id',\n          this.id + '-map-country-' + countryID\n        );\n        countryElement.setAttribute('data-id', countryID);\n        countryElement.classList.add('svgMap-country');\n\n        this.mapImage.appendChild(countryElement);\n        countryElements.push(countryElement);\n\n        // Add tooltip when touch is used\n        function handlePointerMove(e) {\n          if (e.pointerType === 'touch') return;\n\n          const target = document.elementFromPoint(e.clientX, e.clientY);\n\n          if (\n            !target ||\n            (!target.closest('.svgMap-country') &&\n              !target.closest('.svgMap-tooltip'))\n          ) {\n            this.hideTooltip();\n            document\n              .querySelectorAll('.svgMap-active')\n              .forEach((el) => el.classList.remove('svgMap-active'));\n          }\n        }\n\n        const handlePointerMoveBound = handlePointerMove.bind(this);\n\n        countryElement.addEventListener(\n          'pointerenter',\n          function (e) {\n            if (\n              e.pointerType === 'mouse' &&\n              this.options.showTooltips &&\n              this.options.tooltipTrigger === 'click'\n            ) {\n              return;\n            }\n\n            // Only add pointermove listener for non-touch pointers\n            if (e.pointerType !== 'touch') {\n              document.addEventListener('pointermove', handlePointerMoveBound, {\n                passive: true\n              });\n            }\n\n            document\n              .querySelectorAll('.svgMap-active')\n              .forEach((el) => el.classList.remove('svgMap-active'));\n\n            countryElement.parentNode.insertBefore(\n              countryElement,\n              this.persistentTooltipGroup || null\n            );\n            countryElement.classList.add('svgMap-active');\n\n            const countryID = countryElement.getAttribute('data-id');\n            if (this.options.showTooltips) {\n              this.setTooltipContent(this.getTooltipContent(countryID));\n              this.showTooltip(e);\n\n              // For touch, move tooltip to the touch position and keep it there\n              if (e.pointerType === 'touch') {\n                this.moveTooltip(e);\n              }\n            }\n          }.bind(this)\n        );\n\n        // Handle touch move - update tooltip position while panning\n        countryElement.addEventListener(\n          'touchmove',\n          function (e) {\n            this.moveTooltip(e);\n          }.bind(this),\n          { passive: true }\n        );\n\n        // Handle touch end - remove active state and hide tooltip\n        countryElement.addEventListener(\n          'touchend',\n          function (e) {\n            const touch = e.changedTouches[0];\n            const elementAtEnd = document.elementFromPoint(\n              touch.clientX,\n              touch.clientY\n            );\n\n            // Only hide if touch ended outside the country or tooltip\n            if (\n              !elementAtEnd ||\n              (!elementAtEnd.closest('.svgMap-country') &&\n                !elementAtEnd.closest('.svgMap-tooltip'))\n            ) {\n              this.hideTooltip();\n              document\n                .querySelectorAll('.svgMap-active')\n                .forEach((el) => el.classList.remove('svgMap-active'));\n            }\n          }.bind(this),\n          { passive: true }\n        );\n\n        // Remove pointermove listener when leaving non-touch pointer\n        countryElement.addEventListener(\n          'pointerleave',\n          function (e) {\n            if (e.pointerType !== 'touch') {\n              document.removeEventListener(\n                'pointermove',\n                handlePointerMoveBound\n              );\n              if (\n                !(\n                  e.pointerType === 'mouse' &&\n                  this.options.showTooltips &&\n                  this.options.tooltipTrigger === 'click'\n                )\n              ) {\n                this.hideTooltip();\n                document\n                  .querySelectorAll('.svgMap-active')\n                  .forEach((el) => el.classList.remove('svgMap-active'));\n              }\n            }\n          }.bind(this)\n        );\n\n        document.addEventListener(\n          'pointerover',\n          function (e) {\n            if (e.pointerType !== 'touch') return;\n\n            if (\n              e.target.closest('.svgMap-country') ||\n              e.target.closest('.svgMap-tooltip')\n            ) {\n              return;\n            }\n\n            this.hideTooltip();\n            document\n              .querySelectorAll('.svgMap-active')\n              .forEach((el) => el.classList.remove('svgMap-active'));\n          }.bind(this),\n          { passive: true }\n        );\n\n        if (\n          this.options.data.values &&\n          this.options.data.values[countryID] &&\n          this.options.data.values[countryID]['link']\n        ) {\n          countryElement.setAttribute(\n            'data-link',\n            this.options.data.values[countryID]['link']\n          );\n          if (this.options.data.values[countryID]['linkTarget']) {\n            countryElement.setAttribute(\n              'data-link-target',\n              this.options.data.values[countryID]['linkTarget']\n            );\n          }\n        }\n      }.bind(this)\n    );\n\n    var persistent = this.options.persistentTooltips;\n    if (\n      persistent &&\n      (Array.isArray(persistent) || typeof persistent === 'function')\n    ) {\n      this.createPersistentTooltips(countryElements);\n    }\n\n    let pointerStart = null;\n    let activeCountry = null;\n\n    this.mapImage.addEventListener(\n      'pointerdown',\n      (e) => {\n        // Ignore right click (on desktop it allows inspecting the chart elements without opening the URL)\n        if (e.button !== 0) return;\n\n        pointerStart = { x: e.clientX, y: e.clientY };\n      },\n      { passive: true }\n    );\n\n    this.mapImage.addEventListener('pointerup', (e) => {\n      // Ignore right click (on desktop it allows inspecting the chart elements without opening the URL)\n      if (e.button !== 0) return;\n\n      if (!pointerStart) return;\n\n      const dragThreshold = 5; // pixels\n      const moved =\n        Math.abs(pointerStart.x - e.clientX) > dragThreshold ||\n        Math.abs(pointerStart.y - e.clientY) > dragThreshold;\n\n      pointerStart = null;\n\n      if (moved) return;\n\n      const countryElement = e.target.closest('.svgMap-country');\n      if (!countryElement) return;\n\n      const countryID = countryElement.getAttribute('data-id');\n      const link = countryElement.getAttribute('data-link');\n      const linkTarget = countryElement.getAttribute('data-link-target');\n      const hasCallback = typeof this.options.onCountryClick === 'function';\n      const hasLink = !!link;\n      const isTouch = e.pointerType === 'touch' || e.pointerType === 'pen';\n\n      const isClickTooltipMouse =\n        e.pointerType === 'mouse' &&\n        this.options.showTooltips &&\n        this.options.tooltipTrigger === 'click';\n\n      if (!hasLink && !hasCallback && !isClickTooltipMouse) return;\n\n      if (isClickTooltipMouse && this.options.showTooltips) {\n        const willNavigate =\n          hasLink && countryElement.classList.contains('svgMap-active');\n        const shouldFireCallback = hasCallback && (!hasLink || willNavigate);\n\n        var callbackResultClick;\n        if (shouldFireCallback) {\n          callbackResultClick = this.options.onCountryClick(countryID, e);\n        }\n\n        if (hasLink) {\n          if (callbackResultClick === false) return;\n          if (countryElement.classList.contains('svgMap-active')) {\n            if (linkTarget) window.open(link, linkTarget);\n            else window.location.href = link;\n          } else {\n            this.mapImage\n              .querySelectorAll('.svgMap-country.svgMap-active')\n              .forEach((el) => el.classList.remove('svgMap-active'));\n            countryElement.parentNode.insertBefore(\n              countryElement,\n              this.persistentTooltipGroup || null\n            );\n            countryElement.classList.add('svgMap-active');\n            this.setTooltipContent(this.getTooltipContent(countryID));\n            this.showTooltip(e);\n          }\n          return;\n        }\n\n        if (callbackResultClick === false) return;\n\n        this.mapImage\n          .querySelectorAll('.svgMap-country.svgMap-active')\n          .forEach((el) => el.classList.remove('svgMap-active'));\n        countryElement.parentNode.insertBefore(\n          countryElement,\n          this.persistentTooltipGroup || null\n        );\n        countryElement.classList.add('svgMap-active');\n        this.setTooltipContent(this.getTooltipContent(countryID));\n        this.showTooltip(e);\n        return;\n      }\n\n      const willNavigate =\n        hasLink &&\n        (!isTouch || countryElement.classList.contains('svgMap-active'));\n\n      const shouldFireCallback =\n        hasCallback && (!hasLink || !isTouch || willNavigate);\n\n      var callbackResult;\n      if (shouldFireCallback) {\n        callbackResult = this.options.onCountryClick(countryID, e);\n      }\n\n      if (!hasLink) return;\n\n      if (callbackResult === false) return;\n\n      if (isTouch) {\n        // Touch: only open if already active\n        if (countryElement.classList.contains('svgMap-active')) {\n          if (linkTarget) window.open(link, linkTarget);\n          else window.location.href = link;\n        } else {\n          // first tap shows tooltip (or opens link immediately if tooltips are off)\n          if (activeCountry) activeCountry.classList.remove('svgMap-active');\n          activeCountry = countryElement;\n          countryElement.classList.add('svgMap-active');\n          if (this.options.showTooltips) {\n            this.setTooltipContent(this.getTooltipContent(countryID));\n            this.showTooltip(e);\n          } else {\n            if (linkTarget) window.open(link, linkTarget);\n            else window.location.href = link;\n          }\n        }\n      } else {\n        // Desktop: open immediately\n        if (linkTarget) window.open(link, linkTarget);\n        else window.location.href = link;\n      }\n    });\n\n    this._clickTooltipOutsideHandler = function (ev) {\n      if (ev.pointerType !== 'mouse') return;\n      if (\n        !this.options.showTooltips ||\n        this.options.tooltipTrigger !== 'click' ||\n        !this.tooltip\n      ) {\n        return;\n      }\n      if (!this.tooltip.classList.contains('svgMap-active')) return;\n      var node = ev.target;\n      if (\n        node &&\n        node.closest &&\n        (node.closest('.svgMap-country') || node.closest('.svgMap-tooltip'))\n      ) {\n        return;\n      }\n      this.hideTooltip();\n      if (this.mapImage) {\n        this.mapImage\n          .querySelectorAll('.svgMap-country.svgMap-active')\n          .forEach(function (el) {\n            el.classList.remove('svgMap-active');\n          });\n      }\n    }.bind(this);\n    document.addEventListener(\n      'pointerdown',\n      this._clickTooltipOutsideHandler,\n      true\n    );\n\n    // Expose instance\n    var me = this;\n\n    // Init pan zoom\n    this.mapPanZoom = svgPanZoom(this.mapImage, {\n      zoomEnabled: this.options.allowInteraction,\n      panEnabled: this.options.allowInteraction,\n      fit: true,\n      center: true,\n      minZoom: this.options.minZoom,\n      maxZoom: this.options.maxZoom,\n      zoomScaleSensitivity: this.options.zoomScaleSensitivity,\n      controlIconsEnabled: false,\n      dblClickZoomEnabled: this.options.allowInteraction\n        ? this.options.dblClickZoomEnabled\n        : false,\n      mouseWheelZoomEnabled: this.options.allowInteraction\n        ? this.options.mouseWheelZoomEnabled\n        : false,\n      preventMouseEventsDefault: true,\n      onZoom: function () {\n        me.setControlStatuses();\n      },\n      beforePan: function (oldPan, newPan) {\n        var gutterWidth = me.mapWrapper.offsetWidth * 0.85;\n        var gutterHeight = me.mapWrapper.offsetHeight * 0.85;\n        var sizes = this.getSizes();\n        var leftLimit =\n          -((sizes.viewBox.x + sizes.viewBox.width) * sizes.realZoom) +\n          gutterWidth;\n        var rightLimit =\n          sizes.width - gutterWidth - sizes.viewBox.x * sizes.realZoom;\n        var topLimit =\n          -((sizes.viewBox.y + sizes.viewBox.height) * sizes.realZoom) +\n          gutterHeight;\n        var bottomLimit =\n          sizes.height - gutterHeight - sizes.viewBox.y * sizes.realZoom;\n        return {\n          x: Math.max(leftLimit, Math.min(rightLimit, newPan.x)),\n          y: Math.max(topLimit, Math.min(bottomLimit, newPan.y))\n        };\n      }\n    });\n\n    if (this.options.initialPan.x != 0 || this.options.initialPan.y != 0) {\n      // Init zoom and pan\n      this.mapPanZoom.zoomAtPointBy(this.options.initialZoom, {\n        x: this.options.initialPan.x,\n        y: this.options.initialPan.y\n      });\n    } else {\n      // Init zoom\n      this.mapPanZoom.zoom(this.options.initialZoom);\n    }\n\n    // Initial zoom statuses\n    this.setControlStatuses();\n\n    // Zoom reset on resize\n    if (this.options.resetZoomOnResize) {\n      const resizeObserver = new ResizeObserver(() => this.mapReset());\n      resizeObserver.observe(this.mapWrapper);\n    }\n  }\n\n  // Create the persistent tooltips\n\n  createPersistentTooltips(countryElements) {\n    if (this.persistentTooltipGroup) {\n      this.persistentTooltipGroup.remove();\n    }\n\n    this.persistentTooltipGroup = document.createElementNS(\n      'http://www.w3.org/2000/svg',\n      'g'\n    );\n    this.persistentTooltipGroup.classList.add('svgMap-persistent-tooltips');\n    this.mapImage.appendChild(this.persistentTooltipGroup);\n\n    countryElements.forEach(\n      function (countryElement) {\n        var countryID = countryElement.getAttribute('data-id');\n        if (!this.shouldShowTooltipOnLoad(countryID)) {\n          return;\n        }\n\n        var boundingBox = countryElement.getBBox();\n        var tooltipPosition = {\n          x: boundingBox.x + boundingBox.width / 2,\n          y: boundingBox.y + boundingBox.height / 2\n        };\n\n        var tooltipObject = document.createElementNS(\n          'http://www.w3.org/2000/svg',\n          'foreignObject'\n        );\n        tooltipObject.setAttribute('x', tooltipPosition.x);\n        tooltipObject.setAttribute('y', tooltipPosition.y);\n        tooltipObject.setAttribute('width', 1);\n        tooltipObject.setAttribute('height', 1);\n        tooltipObject.classList.add('svgMap-persistent-tooltip-wrapper');\n\n        var tooltipElement = this.createElement(\n          'div',\n          'svgMap-persistent-tooltip',\n          tooltipObject\n        );\n        tooltipElement.append(\n          this.getTooltipContent(countryID, tooltipElement)\n        );\n        this.createElement('div', 'svgMap-tooltip-pointer', tooltipElement);\n\n        this.persistentTooltipGroup.appendChild(tooltipObject);\n      }.bind(this)\n    );\n  }\n\n  // Check if a persistent tooltip should be shown on load\n\n  shouldShowTooltipOnLoad(countryID) {\n    var persistent = this.options.persistentTooltips;\n    var countryValues = this.options.data.values[countryID];\n\n    if (Array.isArray(persistent)) {\n      return persistent.indexOf(countryID) !== -1;\n    }\n\n    if (typeof persistent === 'function') {\n      return persistent(countryID, countryValues);\n    }\n\n    return false;\n  }\n\n  // Create the tooltip content\n\n  getTooltipContent(countryID, tooltipDiv = this.tooltip) {\n    // Custom tooltip\n    if (this.options.onGetTooltip) {\n      var customDiv = this.options.onGetTooltip(\n        tooltipDiv,\n        countryID,\n        this.options.data.values[countryID]\n      );\n\n      if (customDiv) {\n        return customDiv;\n      }\n    }\n\n    var tooltipContentWrapper = this.createElement(\n      'div',\n      'svgMap-tooltip-content-container'\n    );\n\n    if (this.options.hideFlag === false) {\n      // Flag\n      var flagContainer = this.createElement(\n        'div',\n        'svgMap-tooltip-flag-container svgMap-tooltip-flag-container-' +\n          this.options.flagType,\n        tooltipContentWrapper\n      );\n\n      if (this.options.flagType === 'image') {\n        this.createElement(\n          'img',\n          'svgMap-tooltip-flag',\n          flagContainer\n        ).setAttribute(\n          'src',\n          this.options.flagURL.replace('{0}', countryID.toLowerCase())\n        );\n      } else if (this.options.flagType === 'emoji') {\n        flagContainer.innerHTML = this.emojiFlags[countryID];\n      }\n    }\n\n    // Title\n    this.createElement(\n      'div',\n      'svgMap-tooltip-title',\n      tooltipContentWrapper\n    ).innerHTML = this.getCountryName(countryID);\n\n    // Content\n    var tooltipContent = this.createElement(\n      'div',\n      'svgMap-tooltip-content',\n      tooltipContentWrapper\n    );\n    if (!this.options.data.values[countryID]) {\n      this.createElement(\n        'div',\n        'svgMap-tooltip-no-data',\n        tooltipContent\n      ).innerHTML = this.options.noDataText;\n    } else {\n      var tooltipContentTable = '<table>';\n      Object.keys(this.options.data.data).forEach(\n        function (key) {\n          var item = this.options.data.data[key];\n          var value = this.options.data.values[countryID][key];\n          if (\n            (value !== undefined && this.options.hideMissingData === true) ||\n            this.options.hideMissingData === false\n          ) {\n            item.floatingNumbers && (value = value.toFixed(1));\n            item.thousandSeparator &&\n              (value = this.numberWithCommas(value, item.thousandSeparator));\n            value = item.format\n              ? item.format.replace('{0}', '<span>' + value + '</span>')\n              : '<span>' + value + '</span>';\n            tooltipContentTable +=\n              '<tr><td>' +\n              (item.name || '') +\n              '</td><td>' +\n              value +\n              '</td></tr>';\n          }\n        }.bind(this)\n      );\n      tooltipContentTable += '</table>';\n      tooltipContent.innerHTML = tooltipContentTable;\n    }\n    return tooltipContentWrapper;\n  }\n\n  // Set the disabled statuses for buttons\n\n  setControlStatuses() {\n    this.zoomControlIn.classList.remove('svgMap-disabled');\n    this.zoomControlIn.setAttribute('aria-disabled', 'false');\n    this.zoomControlOut.classList.remove('svgMap-disabled');\n    this.zoomControlOut.setAttribute('aria-disabled', 'false');\n    if (this.options.showZoomReset) {\n      this.zoomControlReset.classList.remove('svgMap-disabled');\n      this.zoomControlReset.setAttribute('aria-disabled', 'false');\n    }\n\n    if (this.mapPanZoom.getZoom().toFixed(3) <= this.options.minZoom) {\n      this.zoomControlOut.classList.add('svgMap-disabled');\n      this.zoomControlOut.setAttribute('aria-disabled', 'true');\n    }\n    if (this.mapPanZoom.getZoom().toFixed(3) >= this.options.maxZoom) {\n      this.zoomControlIn.classList.add('svgMap-disabled');\n      this.zoomControlIn.setAttribute('aria-disabled', 'true');\n    }\n    if (\n      this.options.showZoomReset &&\n      this.mapPanZoom.getZoom().toFixed(3) == this.options.initialZoom\n    ) {\n      this.zoomControlReset.classList.add('svgMap-disabled');\n      this.zoomControlReset.setAttribute('aria-disabled', 'true');\n    }\n  }\n\n  // Zoom map\n\n  zoomMap(direction) {\n    if (\n      this[\n        'zoomControl' + direction.charAt(0).toUpperCase() + direction.slice(1)\n      ].classList.contains('svgMap-disabled')\n    ) {\n      return false;\n    }\n    if (direction === 'reset') {\n      this.mapPanZoom.reset();\n      if (this.options.initialPan.x != 0 || this.options.initialPan.y != 0) {\n        // Init zoom and pan\n        this.mapPanZoom.zoomAtPointBy(this.options.initialZoom, {\n          x: this.options.initialPan.x,\n          y: this.options.initialPan.y\n        });\n      } else {\n        // Init zoom\n        this.mapPanZoom.zoom(this.options.initialZoom);\n      }\n    } else {\n      this.mapPanZoom[direction == 'in' ? 'zoomIn' : 'zoomOut']();\n    }\n  }\n\n  // Zoom reset\n  mapReset() {\n    this.mapPanZoom.resize();\n    this.zoomMap('reset');\n  }\n\n  // Zoom to Contient\n\n  zoomContinent(contientIso) {\n    const continent = this.continents[contientIso];\n    if (continent.iso == 'EA') this.mapPanZoom.reset();\n    else if (continent.pan) {\n      this.mapPanZoom.reset();\n      this.mapPanZoom.zoomAtPoint(continent.zoom, continent.pan);\n    }\n  }\n\n  // Add elements to show the zoom with keys notice\n\n  addMouseWheelZoomNotice() {\n    var noticeWrapper = document.createElement('div');\n    noticeWrapper.classList.add('svgMap-block-zoom-notice');\n\n    var noticeContainer = document.createElement('div');\n    noticeContainer.innerHTML =\n      navigator.appVersion.indexOf('Mac') != -1\n        ? this.options.mouseWheelKeyMessageMac\n        : this.options.mouseWheelKeyMessage;\n\n    noticeWrapper.append(noticeContainer);\n    this.wrapper.append(noticeWrapper);\n  }\n\n  // Show the zoom with keys notice\n\n  showMouseWheelZoomNotice(duration) {\n    if (this.mouseWheelNoticeJustHidden) {\n      return;\n    }\n\n    this.autoHideMouseWheelNoticeTimeout &&\n      clearTimeout(this.autoHideMouseWheelNoticeTimeout);\n    this.autoHideMouseWheelNoticeTimeout = setTimeout(\n      function () {\n        this.hideMouseWheelZoomNotice();\n      }.bind(this),\n      duration || 2400\n    );\n\n    this.wrapper.classList.add('svgMap-block-zoom-notice-active');\n  }\n\n  // Hide the zoom with keys notice\n\n  hideMouseWheelZoomNotice() {\n    this.wrapper.classList.remove('svgMap-block-zoom-notice-active');\n    this.autoHideMouseWheelNoticeTimeout &&\n      clearTimeout(this.autoHideMouseWheelNoticeTimeout);\n  }\n\n  // Block shing the zoom wheel notice for some time\n\n  blockMouseWheelZoomNotice(duration) {\n    this.mouseWheelNoticeJustHidden = true;\n    this.mouseWheelNoticeJustHiddenTimeout &&\n      clearTimeout(this.mouseWheelNoticeJustHiddenTimeout);\n    this.mouseWheelNoticeJustHiddenTimeout = setTimeout(\n      function () {\n        this.mouseWheelNoticeJustHidden = false;\n      }.bind(this),\n      duration || 600\n    );\n  }\n\n  // Add the events when you are only allowed to scrool with a key pressed\n\n  addMouseWheelZoomWithKeyEvents() {\n    // Add events to wrapper\n    this.wrapper.addEventListener(\n      'wheel',\n      function (ev) {\n        if (!document.body.classList.contains('svgMap-zoom-key-pressed')) {\n          this.showMouseWheelZoomNotice();\n        } else {\n          this.hideMouseWheelZoomNotice();\n          this.blockMouseWheelZoomNotice();\n        }\n      }.bind(this),\n      {\n        passive: true\n      }\n    );\n\n    // Add with keydown\n    document.addEventListener(\n      'keydown',\n      function (ev) {\n        if (\n          ev.key == 'Alt' ||\n          ev.key == 'Control' ||\n          ev.key == 'Meta' ||\n          ev.key == 'Shift'\n        ) {\n          document.body.classList.add('svgMap-zoom-key-pressed');\n          this.hideMouseWheelZoomNotice();\n          this.blockMouseWheelZoomNotice();\n        }\n      }.bind(this)\n    );\n\n    // Fallback with wheel as sometimes it wont trigger when window is out of focus\n    this.wrapper.addEventListener('wheel', function (ev) {\n      if (ev.altKey || ev.ctrlKey || ev.metaKey || ev.shiftKey) {\n        document.body.classList.add('svgMap-zoom-key-pressed');\n        // TODO wont be removed when window out of focus\n      }\n    });\n\n    // Only add following events to the document once\n    if (document.body.classList.contains('svgMap-key-events-added')) {\n      return false;\n    }\n    document.body.classList.add('svgMap-key-events-added');\n\n    // Remove with keyup\n    document.addEventListener('keyup', function (ev) {\n      if (\n        ev.key == 'Alt' ||\n        ev.key == 'Control' ||\n        ev.key == 'Meta' ||\n        ev.key == 'Shift'\n      ) {\n        document.body.classList.remove('svgMap-zoom-key-pressed');\n      }\n    });\n  }\n\n  // Map paths\n\n  mapPaths = {\n    'AF': {\n      d: 'M1369.9,333.8h-5.4l-3.8-0.5l-2.5,2.9l-2.1,0.7l-1.5,1.3l-2.6-2.1l-1-5.4l-1.6-0.3v-2l-3.2-1.5l-1.7,2.3l0.2,2.6 l-0.6,0.9l-3.2-0.1l-0.9,3l-2.1-1.3l-3.3,2.1l-1.8-0.8l-4.3-1.4h-2.9l-1.6-0.2l-2.9-1.7l-0.3,2.3l-4.1,1.2l0.1,5.2l-2.5,2l-4,0.9 l-0.4,3l-3.9,0.8l-5.9-2.4l-0.5,8l-0.5,4.7l2.5,0.9l-1.6,3.5l2.7,5.1l1.1,4l4.3,1.1l1.1,4l-3.9,5.8l9.6,3.2l5.3-0.9l3.3,0.8l0.9-1.4 l3.8,0.5l6.6-2.6l-0.8-5.4l2.3-3.6h4l0.2-1.7l4-0.9l2.1,0.6l1.7-1.8l-1.1-3.8l1.5-3.8l3-1.6l-3-4.2l5.1,0.2l0.9-2.3l-0.8-2.5l2-2.7 l-1.4-3.2l-1.9-2.8l2.4-2.8l5.3-1.3l5.8-0.8l2.4-1.2l2.8-0.7L1369.9,333.8L1369.9,333.8z'\n    },\n    'AL': {\n      d: 'M1077.5,300.5l-2,3.1l0.5,1.9l0,0l1,1l-0.5,1.9l-0.1,4.3l0.7,3l3,2.1l0.2,1.4l1,0.4l2.1-3l0.1-2.1l1.6-0.9V312 l-2.3-1.6l-0.9-2.6l0.4-2.1l0,0l-0.5-2.3l-1.3-0.6l-1.3-1.6l-1.3,0.5L1077.5,300.5L1077.5,300.5z'\n    },\n    'DZ': {\n      d: 'M1021,336.9l-3.6,0.4l-2.2-1.5h-5.6l-4.9,2.6l-2.7-1l-8.7,0.5l-8.9,1.2l-5,2l-3.4,2.6l-5.7,1.2l-5.1,3.5l2,4.1 l0.3,3.9l1.8,6.7l1.4,1.4l-1,2.5l-7,1l-2.5,2.4l-3.1,0.5l-0.3,4.7l-6.3,2.5l-2.1,3.2L944,383l-5.4,1l-8.9,4.7l-0.1,7.5v0.4l-0.1,1.2 l20.3,15.5l18.4,13.9l18.6,13.8l1.3,3l3.4,1.8l2.6,1.1l0.1,4l6.1-0.6l7.8-2.8l15.8-12.5l18.6-12.2l-2.5-4l-4.3-2.9l-2.6,1.2l-2-3.6 l-0.2-2.7l-3.4-4.7l2.1-2.6l-0.5-4l0.6-3.5l-0.5-2.9l0.9-5.2l-0.4-3l-1.9-5.6l-2.6-11.3l-3.4-2.6v-1.5l-4.5-3.8l-0.6-4.8l3.2-3.6 l1.1-5.3l-1-6.2L1021,336.9L1021,336.9z'\n    },\n    'AD': {\n      d: 'M985.4,301.7l0.2-0.4l-0.2-0.2l-0.7-0.2l-0.3-0.1l-0.4,0.3l-0.1,0.3l0.1,0.1v0.4l0.1,0.2h0.4L985.4,301.7 L985.4,301.7z'\n    },\n    'AO': {\n      d: 'M1068.3,609.6l-16.6-0.1l-1.9,0.7l-1.7-0.1l-2.3,0.9l-0.5,1.2l2.8,4l1.1,4.3l1.6,6.1l-1.7,2.6l-0.3,1.3l1.3,3.8 l1.5,3.9l1.6,2.2l0.3,3.6l-0.7,4.8l-1.8,2.8l-3.3,4.2l-1.3,2.6l-1.9,5.7l-0.3,2.7l-2,5.9l-0.9,5.5l0.5,4l2.7-1.2l3.3-1l3.6,0.1 l3.2,2.9l0.9-0.4l22.5-0.3l3.7,3l13.4,0.9l10.3-2.5l-3.5-4l-3.6-5.2l0.8-20.3l11.6,0.1l-0.5-2.2l0.9-2.4l-0.9-3l0.7-3l-0.5-2 l-2.6-0.4l-3.5,1l-2.4-0.2l-1.4,0.6l0.5-7.6l-1.9-2.3l-0.3-4l0.9-3.8l-1.2-2.4v-4h-6.8l0.5-2.3h-2.9l-0.3,1.1l-3.4,0.3l-1.5,3.7 l-0.9,1.6l-3-0.9l-1.9,0.9l-3.7,0.5l-2.1-3.3l-1.3-2.1l-1.6-3.8L1068.3,609.6L1068.3,609.6z M1046.5,608.3l0.2-2.7l0.9-1.7l2-1.3 l-2-2.2l-1.8,1.1l-2.2,2.7l1.4,4.8L1046.5,608.3L1046.5,608.3z'\n    },\n    'AI': {\n      d: 'M627.9,456.2l0.1-0.2l-0.2-0.1l-0.8,0.5v0.1L627.9,456.2z'\n    },\n    'AG': {\n      d: 'M634.3,463.8l0.2-0.1v-0.1v-0.2l-0.1-0.1l-0.1-0.2l-0.4-0.2l-0.5,0.5v0.2l0.1,0.3l0.6,0.1L634.3,463.8L634.3,463.8z M634.5,460.3v-0.5l-0.1-0.2h-0.3l-0.1-0.1h-0.1l-0.1,0.1l0.1,0.6l0.5,0.3L634.5,460.3L634.5,460.3z'\n    },\n    'AR': {\n      d: 'M669.8,920.7l0.9-3l-7.3-1.5l-7.7-3.6l-4.3-4.6l-3-2.8l5.9,13.5h5l2.9,0.2l3.3,2.1L669.8,920.7L669.8,920.7z M619.4,712.6l-7.4-1.5l-4,5.7l0.9,1.6l-1.1,6.6l-5.6,3.2l1.6,10.6l-0.9,2l2,2.5l-3.2,4l-2.6,5.9l-0.9,5.8l1.7,6.2l-2.1,6.5 l4.9,10.9l1.6,1.2l1.3,5.9l-1.6,6.2l1.4,5.4l-2.9,4.3l1.5,5.9l3.3,6.3l-2.5,2.4l0.3,5.7l0.7,6.4l3.3,7.6l-1.6,1.2l3.6,7.1l3.1,2.3 l-0.8,2.6l2.8,1.3l1.3,2.3l-1.8,1.1l1.8,3.7l1.1,8.2l-0.7,5.3l1.8,3.2l-0.1,3.9l-2.7,2.7l3.1,6.6l2.6,2.2l3.1-0.4l1.8,4.6l3.5,3.6 l12,0.8l4.8,0.9l2.2,0.4l-4.7-3.6l-4.1-6.3l0.9-2.9l3.5-2.5l0.5-7.2l4.7-3.5l-0.2-5.6l-5.2-1.3l-6.4-4.5l-0.1-4.7l2.9-3.1l4.7-0.1 l0.2-3.3l-1.2-6.1l2.9-3.9l4.1-1.9l-2.5-3.2l-2.2,2l-4-1.9l-2.5-6.2l1.5-1.6l5.6,2.3l5-0.9l2.5-2.2l-1.8-3.1l-0.1-4.8l-2-3.8 l5.8,0.6l10.2-1.3l6.9-3.4l3.3-8.3l-0.3-3.2l-3.9-2.8l-0.1-4.5l-7.8-5.5l-0.3-3.3l-0.4-4.2l0.9-1.4l-1.1-6.3l0.3-6.5l0.5-5.1 l5.9-8.6l5.3-6.2l3.3-2.6l4.2-3.5l-0.5-5.1l-3.1-3.7l-2.6,1.2l-0.3,5.7l-4.3,4.8l-4.2,1.1l-6.2-1l-5.7-1.8l4.2-9.6l-1.1-2.8 l-5.9-2.5l-7.2-4.7l-4.6-1L632,713.7l-1-1.3l-6.3-0.3l-1.6,5.1L619.4,712.6L619.4,712.6z'\n    },\n    'AM': {\n      d: 'M1219,325.1l-0.9-4.4l-2.5-1.1l-2.5-1.7l1-2l-3.1-2.2l0.7-1.5l-2.2-1.1l-1.4-1.7l-6.9,1l1.3,2.2v3.1l4.2,1.5 l2.4,1.9l1-0.2l1.8,1.7h2.3l0.2,1l2.8,3.7L1219,325.1L1219,325.1z'\n    },\n    'AW': {\n      d: 'M586.6,492.9l-0.1-0.1l-0.3-0.6l-0.3-0.3l-0.1,0.1l-0.1,0.3l0.3,0.3l0.3,0.4l0.3,0.1L586.6,492.9L586.6,492.9z'\n    },\n    'AU': {\n      d: 'M1726.7,832l-3-0.5l-1.9,2.9l-0.6,5.4l-2.1,4l-0.5,5.3l3,0.2l0.8,0.3l6.6-4.3l0.6,1.7l4-4.9l3.2-2.2l4.5-7.3 l-2.8-0.5l-4.8,1.2l-3.4,0.9L1726.7,832L1726.7,832z M1776.8,659.7l0.5-2.3l0.1-3.6l-1.6-3.2l0.1-2.7l-1.3-0.8l0.1-3.9l-1.2-3.2 l-2.3,2.4l-0.4,1.8l-1.5,3.5l-1.8,3.4l0.6,2.1l-1.2,1.3l-1.5,4.8l0.1,3.7l-0.7,1.8l0.3,3.1l-2.6,5l-1.3,3.5l-1.7,2.9l-1.7,3.4 l-4.1,2.1l-4.9-2.1l-0.5-2l-2.5-1.6h-1.6l-3.3-3.8l-2.5-2.2l-3.9-2l-3.9-3.5l-0.1-1.8l2.5-3.1l2.1-3.2l-0.3-2.6l1.9-0.2l2.5-2.5 l2-3.4l-2.2-3.2l-1.5,1.2l-2-0.5l-3.5,1.8l-3.2-2l-1.7,0.7l-4.5-1.6l-2.7-2.7l-3.5-1.5l-3.1,0.9l3.9,2.1l-0.3,3.2l-4.8,1.2l-2.8-0.7 l-3.6,2.2l-2.9,3.7l0.6,1.5l-2.7,1.7l-3.4,5.1l0.6,3.5l-3.4-0.6h-3.5l-2.5-3.8l-3.7-2.9l-2.8,0.8l-2.6,0.9l-0.3,1.6l-2.4-0.7 l-0.3,1.8l-3,1.1l-1.7,2.5l-3.5,3.1l-1.4,4.8l-2.3-1.3l-2.2,3.1l1.5,3l-2.6,1.2l-1.4-5.5l-4.8,5.4l-0.8,3.5l-0.7,2.5l-3.8,3.3 l-2,3.4l-3.5,2.8l-6.1,1.9l-3.1-0.2l-1.5,0.6l-1.1,1.4l-3.5,0.7l-4.7,2.4l-1.4-0.8l-2.6,0.5l-4.6,2.3l-3.2,2.7l-4.8,2.1l-3.1,4.4 l0.4-4.8l-3.1,4.6l-0.1,3.7l-1.3,3.2l-1.5,1.5l-1.3,3.7l0.9,1.9l0.1,2l1.6,5l-0.7,3.3l-1-2.5l-2.3-1.8l0.4,5.9l-1.7-2.8l0.1,2.8 l1.8,5l-0.6,5l1.7,2.5l-0.4,1.9l0.9,4.1l-1.3,3.6l-0.3,3.6l0.7,6.5l-0.7,3.7l-2.2,4.4l-0.6,2.3l-1.5,1.5l-2.9,0.8l-1.5,3.7l2.4,1.2 l4,4.1h3.6l3.8,0.3l3.3-2.1l3.4-1.8l1.4,0.3l4.5-3.4l3.8-0.3l4.1-0.7l4.2,1.2l3.6-0.6l4.6-0.2l3-2.6l2.3-3.3l5.2-1.5l6.9-3.2l5,0.4 l6.9-2.1l7.8-2.3l9.8-0.6l4,3.1l3.7,0.2l5.3,3.8l-1.6,1.5l1.8,2.4l1.3,4.6l-1.6,3.4l2.9,2.6l4.3-5.1l4.3-2.1l6.7-5.5l-1.6,4.7 l-3.4,3.2l-2.5,3.7l-4.4,3.5l5.2-1.2l4.7-4.4l-0.9,4.8l-3.2,3.1l4.7,0.8l1.3,2.6l-0.4,3.3l-1.5,4.9l1.4,4l4,1.9l2.8,0.4l2.4,1 l3.5,1.8l7.2-4.7l3.5-1.2l-2.7,3.4l2.6,1.1l2.7,2.8l4.7-2.7l3.8-2.5l6.3-2.7l6-0.2l4.2-2.3l0.9-2l3-4.5l3.9-4.8l3.6-3.2l4.4-5.6 l3.3-3.1l4.4-5l5.4-3.1l5-5.8l3.1-4.5l1.4-3.6l3.8-5.7l2.1-2.9l2.5-5.7l-0.7-5.4l1.7-3.9l1.1-3.7v-5.1l-2.8-5.1l-1.9-2.5l-2.9-3.9 l0.7-6.7l-1.5,1l-1.6-2.8l-2.5,1.4l-0.6-6.9l-2.2-4l1-1.5l-3.1-2.8l-3.2-3l-5.3-3.3l-0.9-4.3l1.3-3.3l-0.4-5.5l-1.3-0.7l-0.2-3.2 l-0.2-5.5l1.1-2.8l-2.3-2.5l-1.4-2.7l-3.9,2.4L1776.8,659.7L1776.8,659.7z'\n    },\n    'AT': {\n      d: 'M1060.2,264l-2.3-1.2l-2.3,0.3l-4-1.9l-1.7,0.5l-2.6,2.5l-3.8-2l-1.5,2.9l-1.7,0.8l1,4l-0.4,1.1l-1.7-1.3l-2.4-0.2 l-3.4,1.2l-4.4-0.3l-0.6,1.6l-2.6-1.7l-1.5,0.3l0.2,1.1l-0.7,1.6l2.3,1.1l2.6,0.2l3.1,0.9l0.5-1.2l4.8-1.1l1.3,2.2l7.2,1.6l4.2,0.4 l2.4-1.4l4.3-0.1l0.9-1.1l1.3-4l-1.1-1.3h2.8l0.2-2.6l-0.7-2.1L1060.2,264L1060.2,264z'\n    },\n    'AZ': {\n      d: 'M1210.1,318.9l-1,0.2l1.2,2.4l3.2,2.9l3.7,0.9l-2.8-3.7l-0.2-1h-2.3L1210.1,318.9L1210.1,318.9z M1220.5,309.6 l-4.3-3.8l-1.5-0.2l-1.1,0.9l3.2,3.4l-0.6,0.7l-2.8-0.4l-4.2-1.8l-1.1,1l1.4,1.7l2.2,1.1l-0.7,1.5l3.1,2.2l-1,2l2.5,1.7l2.5,1.1 l0.9,4.4l5.3-4.7l1.9-0.5l1.9,1.9l-1.2,3.1l3.8,3.4l1.3-0.3l-0.8-3.2l1.7-1.5l0.4-2.2l-0.1-5l4.2-0.5l-2-1.7l-2.5-0.2l-3.5-4.5 l-3.4-3.2l0,0l-2.6,2.5l-0.5,1.5L1220.5,309.6L1220.5,309.6z'\n    },\n    'BS': {\n      d: 'M574.4,437.3l0.2-0.6l-0.3-0.1l-0.5,0.7l-0.6,0.3h-0.3l-0.7-0.3h-0.5l-0.4,0.5l-0.6,0.1l0.1,0.1v0.2l-0.2,0.3v0.2 l0.1,0.3l1.5-0.1l1.3-0.2l0.7-0.9L574.4,437.3z M575.2,435.3l-0.4-0.3l-0.4,0.3l0.1,0.3L575.2,435.3L575.2,435.3z M575.2,429.5 l-0.4-0.2l-0.3,0.5l0.3,0.1l0.7-0.1l0.5,0.1l0.5,0.4l0.3-0.2l-0.1-0.1l-0.4-0.3l-0.6-0.1h-0.2L575.2,429.5L575.2,429.5z M568.6,430.8l0.7-0.6l0.7-0.3l0.9-1.1l-0.1-0.9l0.2-0.4l-0.6,0.1l-0.1,0.3l-0.1,0.3l0.3,0.4v0.2l-0.2,0.4l-0.3,0.1l-0.1,0.2 l-0.3,0.1l-0.4,0.5l-0.8,0.6l-0.2,0.3L568.6,430.8L568.6,430.8z M569.8,427.6l-0.6-0.2L569,427l-0.4-0.1l-0.1,0.2v0.2l0.1,0.4 l0.2-0.1l0.8,0.4l0.4-0.3L569.8,427.6z M565.7,426.5v-0.7l-0.4-0.5l-0.6-0.4l-0.1-1.2l-0.3-0.7l-0.2-0.6l-0.4-0.8v0.5l0.1,0.1 l0.1,0.6l0.4,0.9l0.1,0.4l-0.1,0.4l-0.4,0.1l-0.1,0.2l0.5,0.3l0.8,0.3l0.5,1.3L565.7,426.5L565.7,426.5z M561.6,423l-0.5-0.3 l-0.2-0.3l-0.7-0.7l-0.3-0.1l-0.2,0.4l0.4,0.1l0.9,0.7l0.4,0.2L561.6,423L561.6,423z M568.9,419l-0.1-0.3h-0.1l-0.3,0.1l-0.3,0.9 h0.3L568.9,419L568.9,419z M551.3,417.9l-0.2-0.3l-0.3,0.2h-0.5l-0.2,0.1h-0.4l-0.3,0.2l0.4,0.8l0.3,0.3l0.1,1l0.2,0.1l-0.1,0.7 l1.1,0.1l0.4-0.8V420v-0.1v-0.2v-0.2v-0.9l-0.3-0.5l-0.4,0.6l-0.4-0.3l0.6-0.4L551.3,417.9L551.3,417.9z M564.2,418.2l-1-1.4v-0.2 l-0.5-1.5l-0.3-0.1l-0.1,0.1l-0.1,0.2l0.4,0.4v0.4l0.3,0.2l0.4,1.1l0.4,0.4l-0.1,0.3l-0.4,0.3l-0.1,0.2h0.1l0.6-0.1h0.4L564.2,418.2 L564.2,418.2z M553.7,413l0.5-0.2l0,0l-0.3-0.2h-0.7l-0.4,0.1l-0.2,0.2l0.1,0.1l0.4,0.1L553.7,413L553.7,413z M551.3,415l-0.5-0.6 l-0.3-0.9l-0.2-0.4l0.1-0.5l-0.3-0.4l-0.6-0.4l-0.3,0.1l0.1,1.1l-0.2,0.6l-0.8,1.1l0.1,0.4l0,0l0.1,0.2l-0.5,0.4v-0.3l-0.6,0.1 l0.3,0.5l0.6,0.4l0.3,0.1l0.3-0.2v0.5l0.3,0.4l0.1,0.4l0.3-0.3l0.6-0.2l0.2-0.2l0.7-0.4v-0.2l0.1-0.6L551.3,415L551.3,415z M558,410 l-0.3-0.5l-0.1,0.1l-0.1,0.4l-0.3,0.4l0.5-0.1l0.4,0.1l0.6,0.5l0.7,0.2l0.3,0.6l0.6,0.6v0.6l-0.4,0.6l-0.1,0.7l-0.6,0.1l0.1,0.1 l0.3,0.3l0.1,0.4l0.2,0.2v-0.7l0.3-0.8l0.4-1.3l-0.1-0.3l-0.3-0.3l-0.7-0.9l-0.7-0.3L558,410L558,410z M549.2,402.1l-0.5-0.4 l-0.2,0.4v0.1l-0.1,0.3l-0.5,0.4l-0.5,0.1l-0.7-0.6l-0.2-0.1l0.8,1.1l0.3,0.1h0.4l0.9-0.3l1.6-0.5l1.7-0.2l0.1-0.2l-0.1-0.3 l-0.8,0.2l-1-0.1l-0.2,0.2h-0.4L549.2,402.1z M555.3,407.3l0.2-0.3l0.4-1.8l0.8-0.6l0.1-1.2l-0.5-0.5l-0.4-0.2l-0.1-0.2l0.1-0.2 l-0.2-0.1l-0.3-0.2l-0.4-0.6l-0.4-0.4l-0.7-0.1l-0.6-0.1l-0.4-0.1l-0.5,0.3h0.8l1.5,0.3l0.7,1.5l0.5,0.4l0.1,0.4l-0.2,0.4v0.4 l-0.3,0.5l-0.1,0.8l-0.3,0.4l-0.7,0.5l0.4,0.2l0.3,0.6L555.3,407.3L555.3,407.3z'\n    },\n    'BH': {\n      d: 'M1253,408.3l0.7-3l-0.5-0.9l-1.6,1.2l0.6,0.9l-0.2,0.7L1253,408.3z'\n    },\n    'BD': {\n      d: 'M1486.5,431.9l-4.5-10.1l-1.5,0.1l-0.2,4l-3.5-3.3l1.1-3.6l2.4-0.4l1.6-5.3l-3.4-1.1l-5,0.1l-5.4-0.9l-1.2-4.4 l-2.7-0.4l-4.8-2.7l-1.2,4.3l4.6,3.4l-3.1,2.4l-0.8,2.3l3.7,1.7l-0.4,3.8l2.6,4.8l1.6,5.2l2.2,0.6l1.7,0.7l0.6-1.2l2.5,1.3l1.3-3.5 l-0.9-2.6l5.1,0.2l2.8,3.7l1.5,3.1l0.8,3.2l2,3.3l-1.1-5.1l2.1,1L1486.5,431.9L1486.5,431.9z'\n    },\n    'BB': {\n      d: 'M644.9,488.9l0.4-0.4l-0.3-0.3l-0.6-0.8l-0.3,0.1v1l0.1,0.3l0.5,0.3L644.9,488.9L644.9,488.9z'\n    },\n    'BY': {\n      d: 'M1112.8,219.4l-5.2-1.5l-4.6,2.3l-2.6,1l0.9,2.6l-3.5,2l-0.5,3.4l-4.8,2.2h-4.6l0.6,2.7l1.7,2.3l0.3,2.4l-2.7,1.2 l1.9,2.9l0.5,2.7l2.2-0.3l2.4-1.6l3.7-0.2l5,0.5l5.6,1.5l3.8,0.1l2,0.9l1.6-1.1l1.5,1.5l4.3-0.3l2,0.6l-0.2-3.1l1.2-1.4l4.1-0.3l0,0 l-2-3.9l-1.5-2l0.8-0.6l3.9,0.2l1.6-1.3l-1.7-1.6l-3.4-1.1l0.1-1.1l-2.2-1.1l-3.7-3.9l0.6-1.6l-1-2.9l-4.8-1.4l-2.3,0.7 L1112.8,219.4L1112.8,219.4z'\n    },\n    'BE': {\n      d: 'M1000.7,246.2l-4.4,1.3l-3.6-0.5l0,0l-3.8,1.2l0.7,2.2l2.2,0.1l2.4,2.4l3.4,2.9l2.5-0.4l4.4,2.8l0.4-3.5l1.3-0.2 l0.4-4.2l-2.8-1.4L1000.7,246.2L1000.7,246.2z'\n    },\n    'BZ': {\n      d: 'M482.5,471.1l1.4-2.2l1-0.2l1.3-1.7l1-3.2l-0.3-0.6l0.9-2.3l-0.4-1l1.3-2.7l0.3-1.8h-1.1l0.1-0.9h-1l-2.5,3.9 l-0.9-0.8l-0.7,0.3l-0.1,1l-0.7,5l-1.2,7.2L482.5,471.1L482.5,471.1z'\n    },\n    'BJ': {\n      d: 'M996.9,498l-4.3-3.7h-2l-1.9,1.9l-1.2,1.9l-2.7,0.6l-1.2,2.8l-1.9,0.7l-0.7,3.3l1.7,1.9l2,2.3l0.2,3.1l1.1,1.3 l-0.2,14.6l1.4,4.4l4.6-0.8l0.3-10.2L992,518l1-4l1.7-1.9l2.7-4l-0.6-1.7l1.1-2.5l-1.2-3.8L996.9,498L996.9,498z'\n    },\n    'BM': {\n      d: 'M630.2,366.8l0.4-0.6h-0.1l-0.5,0.5l-0.6,0.2l0.1,0.1h0.1L630.2,366.8z'\n    },\n    'BT': {\n      d: 'M1474.7,395.5l-2.7-1.8l-2.9-0.1l-4.2-1.5l-2.6,1.6l-2.6,4.8l0.3,1.2l5.5,2.5l3.2-1l4.7,0.4l4.4-0.2l-0.4-3.9 L1474.7,395.5L1474.7,395.5z'\n    },\n    'BO': {\n      d: 'M655.7,700.5l1.6-1.3l-0.8-3.6l1.3-2.8l0.5-5l-1.6-4l-3.2-1.7l-0.8-2.6l0.6-3.6l-10.7-0.3l-2.7-7.4l1.6-0.1 l-0.3-2.8l-1.2-1.8l-0.5-3.7l-3.3-1.9l-3.5,0.1l-2.5-1.9l-3.8-1.2l-2.4-2.4l-6.3-1l-6.4-5.7l0.3-4.3l-0.9-2.5l0.4-4.7l-7.3,1.1 l-2.8,2.3l-4.8,2.6l-1.1,1.9l-2.9,0.2l-4.2-0.6l5.5,10.3l-1.1,2.1l0.1,4.5l0.3,5.4l-1.9,3.2l1.2,2.4l-1.1,2.1l2.8,5.3L591,684 l3.1,4.3l1.2,4.6l3.2,2.7l-1.1,6.2l3.7,7.1l3.1,8.8l3.8-0.9l4-5.7l7.4,1.5l3.7,4.6l1.6-5.1l6.3,0.3l1,1.3l1.5-7.6l-0.2-3.4l2.1-5.6 l9.5-1.9l5.1,0.1l5.4,3.3L655.7,700.5L655.7,700.5z'\n    },\n    'BA': {\n      d: 'M1062.2,284.9l-2.3,0.1l-1,1.3l-1.9-1.4l-0.9,2.5l2.7,2.9l1.3,1.9l2.5,2.3l2,1.4l2.2,2.5l4.7,2.4l0.4-3.4l1.5-1.4 l0.9-0.6l1.2-0.3l0.5-2.9l-2.7-2.3l1-2.7h-1.8l0,0l-2.4-1.4l-3.5,0.1L1062.2,284.9L1062.2,284.9z'\n    },\n    'BW': {\n      d: 'M1116.7,685l-1-0.5l-3.2,1.5h-1.6l-3.7,2.5l-2-2.6l-8.6,2.2l-4.1,0.2l-0.9,22.7l-5.4,0.2l-0.6,18.5l1.4,1l3,6.1 l-0.7,3.8l1.1,2.3l4-0.7l2.8-2.8l2.7-1.9l1.5-3.1l2.7-1.5l2.3,0.8l2.5,1.8l4.4,0.3l3.6-1.5l0.6-2l1.2-3l3-0.5l1.7-2.4l2-4.3l5.2-4.7 l8-4.7l-3.4-2.9l-4.2-0.9l-1.5-4.1l0.1-2.2l-2.3-0.7l-6-7l-1.6-3.7l-1.1-1.1L1116.7,685L1116.7,685z'\n    },\n    'BR': {\n      d: 'M659,560.1l-1.4,0.2l-3.1-0.5l-1.8,1.7l-2.6,1.1l-1.7,0.2l-0.7,1.3l-2.7-0.3l-3.5-3l-0.3-2.9l-1.4-3.3l1-5.4 l1.6-2.2l-1.2-3l-1.9-0.9l0.8-2.8l-1.3-1.5l-2.9,0.3l0.7,1.8l-2.1,2.4l-6.4,2.4l-4,1l-1.7,1.5l-4.4-1.6l-4.2-0.8l-1,0.6l2.4,1.6 l-0.3,4.3l0.7,4l4.8,0.5l0.3,1.4l-4.1,1.8l-0.7,2.7l-2.3,1l-4.2,1.5l-1.1,1.9l-4.4,0.5l-3-3.4l-1.1,0.8l-1-3.8l-1.6-2l-1.9,2.2 l-10.9-0.1v3.9l3.3,0.7l-0.2,2.4l-1.1-0.6l-3.2,1v4.6l2.5,2.4l0.9,3.6l-0.1,2.8l-2.2,17.4l-5.1-0.3l-0.7,1l-4.6,1.2l-6.2,4.3l-0.4,3 l-1.3,2.2l0.7,3.4l-3.3,1.9l0.1,2.7L562,620l2.6,5.8l3.3,3.8l-1,2.8l3.7,0.3l2.3,3.4l4.9,0.2l4.4-3.8l0.2,9.7l2.6,0.7l3-1.1l4.2,0.6 l2.9-0.2l1.1-1.9l4.8-2.6l2.8-2.3l7.3-1.1l-0.4,4.7l0.9,2.5l-0.3,4.3l6.4,5.7l6.3,1l2.4,2.4l3.8,1.2l2.5,1.9l3.5-0.1l3.3,1.9 l0.5,3.7l1.2,1.8l0.3,2.8l-1.6,0.1l2.7,7.4l10.7,0.3l-0.6,3.6l0.8,2.6l3.2,1.7l1.6,4l-0.5,5l-1.3,2.8l0.8,3.6l-1.6,1.3l1.9,3.6 l0.4,8.6l6,1.2l2.1-1.2l3.9,1.7l1.2,1.9l1,5.8l0.9,2.5l2,0.3l2-1.1l2.1,1.2l0.3,3.5l-0.3,3.8l-0.7,3.6l2.6-1.2l3.1,3.7l0.5,5.1 l-4.2,3.5l-3.3,2.6l-5.3,6.2l-5.9,8.6l3.4-0.7l6.2,4.9l1.9-0.2l6.2,4.1l4.8,3.5l3.8,4.3l-1.9,3l2.1,3.7l2.9-3.7l1.5-6l3.2-3l3.9-5 l4.5-11.2l3.4-3.5l0.8-3.1l0.3-6.4l-1.3-3.5l0.3-4.8l4.1-6.3l6-5.1l6-1.8l3.6-2.9l8.5-2.4h5.9l1.1-3.8l4.2-2.8l0.6-6.5l5.1-8.3 l0.5-8.5l1.6-2.6l0.3-4.1l1.1-9.9l-1-11.9l1.4-4.7l1.4-0.1l3.9-5.5l3.3-7.2l7.7-8.8l2.7-4.2l2-10.5l-1-3.9l-2-8.1l-2.1-2l-4.8-0.2 l-4.3-1.9l-7.3-7.1l-8.4-5.3l-8.4,0.3l-10.9-3.4l-6.5,2l0.8-3.5l-2.7-3.8l-9.4-3.8l-7.1-2.3l-4.2,4.1l-0.3-6.3l-9.9-1l-1.7-2 l4.2-5.2l-0.1-4.4l-3-1l-3-11.2l-1.3-3.5l-1.9,0.3l-3.5,5.8l-1.8,4.7l-2.1,2.4l-2.7,0.5l-0.8-1.8l-1.2-0.3l-1.8,1.8l-2.4-1.3 l-3.2-1.4l-2.7,0.7l-2.3-0.6l-0.5,1.8l0.9,1.3l-0.5,1.3L659,560.1L659,560.1z'\n    },\n    'VG': {\n      d: 'M619.2,455.1l0.3-0.2l-0.2-0.1h-0.4l-0.3,0.2l0.1,0.1H619.2L619.2,455.1z M620.3,454.7l0.4-0.4l-0.5,0.1l-0.2,0.2 l0.1,0.1h0.1L620.3,454.7L620.3,454.7z M621.1,452.9h-0.2h-0.5l0,0l0.1,0.1h0.3l0.3,0.1l0,0L621.1,452.9L621.1,452.9z'\n    },\n    'BN': {\n      d: 'M1617.8,543.4l2.7,3.3l1.1-2.2l2.7,0.2l0.1-4.1l0.1-3.1l-4.6,3.5L1617.8,543.4L1617.8,543.4z'\n    },\n    'BG': {\n      d: 'M1121.6,294.3l-3-0.7l-4-2.2l-5.8,1.4l-2.3,1.6l-7.5-0.3l-4-1l-1.9,0.5l-1.8-2.6l-1.1,1.4l0.7,2.3l2.8,2.6l-1.7,1.9 l-0.7,2l0.6,0.7l-0.7,0.9l2.8,2l0.8,4.1l3.8,0.2l3.9-1.7l3.9,2.1l4.6-0.6l-0.3-3l5-2l4.5,0.8l-2.1-3.5l1.3-4.4L1121.6,294.3 L1121.6,294.3z'\n    },\n    'BF': {\n      d: 'M978.8,477.2h-3.6l-1.4-1.2l-3,0.9l-5.2,2.6l-1.1,2l-4.3,2.9l-0.8,1.6l-2.3,1.3l-2.7-0.9l-1.6,1.6l-0.8,4.4 l-4.5,5.2l0.2,2.2l-1.6,2.7l0.4,3.7l2.5,1.4l1,2.1l2.5,1.3l1.9-1.6l2.7-0.2l3.8,1.6l-0.8-4.8l0.2-3.6l9.7-0.3l2.4,0.5l1.8-1l2.6,0.5 l4.9,0.1l1.9-0.7l1.2-2.8l2.7-0.6l1.2-1.9l0.1-4.4l-6.4-1.4l-0.2-3.1l-3.1-4.1l-0.8-2.9L978.8,477.2L978.8,477.2z'\n    },\n    'BI': {\n      d: 'M1148.2,590l-0.3-2.5l0,0l-3-0.4l-1.7,3.6l-3.5-0.5l1.4,2.9l0.1,1.1l2,6.1l-0.1,0.3l0.6-0.1l2.1-2.3l2.2-3.3 l1.4-1.4v-2L1148.2,590L1148.2,590z'\n    },\n    'KH': {\n      d: 'M1574.8,481.8l-5.2-2.3l-2,4.3l-4.9-2.4l-5.3-1l-7.1,1.3l-3,5.2l2.1,7.7l3.4,6.6l2.6,3.3l4.7,0.9l4.7-2.5l5.8-0.5 l-2.8-3.8l8.9-4.9l-0.1-7.7L1574.8,481.8L1574.8,481.8z'\n    },\n    'CM': {\n      d: 'M1060.1,502.9l0.2-4.3l-0.5-4.2l-2.2-4.1l-1.6,0.4l-0.2,2l2.3,2.6l-0.6,1.1l-0.3,2.1l-4.6,5l-1.5,4l-0.7,3.3 l-1.2,1.4l-1.1,4.5l-3,2.6l-0.8,3.2l-1.2,2.6l-0.5,2.6l-3.9,2.2l-3.2-2.6l-2.1,0.1l-3.3,3.7l-1.6,0.1l-2.7,6.1l-1.4,4.5v1.8l1.4,0.9 l1.1,2.8l2.6,1.1l2.2,4.2l-0.8,5l9.2,0.2l2.6-0.4l3.4,0.8l3.4-0.8l0.7,0.3l7.1,0.3l4.5,1.7l4.5,1.5l0.4-3.5l-0.6-1.8l-0.3-2.9 l-2.6-2.1l-2.1-3.2l-0.5-2.3l-2.6-3.3l0.4-1.9l-0.6-2.7l0.4-5l1.4-1.1l2.7-6.5l0.9-1.7l-1.8-4.4l-0.8-2.6l-2.5-1.1l-3.3-3.7l1.2-3 l2.5,0.6l1.6-0.4l3.1,0.1L1060.1,502.9L1060.1,502.9z'\n    },\n    'CA': {\n      d: 'M659,276.7l-0.7-3l-2.5,1.9l0.5,2.1l5.6,2.6l1.9-0.4l3.3-2.5l-4.7,0.1L659,276.7L659,276.7z M673.4,260.8l0.2-1.1 l-4.1-2.6l-5.9-1.6l-1.9,0.6l3.5,2.9l5.7,1.9L673.4,260.8L673.4,260.8z M368.1,264.5l0.2-3.4l-3.2-2.6l-0.4-2.9l-0.1-2.1l-4.1-0.7 l-2.4-0.9l-4.1-1.4l-1.4,1.5l-0.6,3.3l4.3,1.1l-0.4,1.8l2.9,2.2v2.2l6.3,2.8L368.1,264.5L368.1,264.5z M704.2,251l3.9-3.8l1.4-1.7 l-2.1-0.3l-4.9,2.2l-4.2,3.5l-8.1,9.8l-5.3,3.7l1.6,1.7l-3.8,2.2l0.2,1.9l9.6,0.1l5.4-0.3l4.4,1.5l-4.4,2.9l2.9,0.2l7.3-5.4l1.2,0.8 l-2.5,5.1l3,1.2l2.3-0.2l3.5-5.5l-0.5-3.9l0.3-3.3l-3.7,1.1l2.8-4.6l-4.3-1.9l-2.7,1.5l-3.9-1.7l2.4-2.1l-2.9-1.3l-3.8,2L704.2,251 L704.2,251z M347.4,229.8l-1.9,2l-1.4,2.6l0.9,1.9l-0.6,2.8l0.7,2.8h1.9l-0.2-4.9l7.1-6.9l-4.9,0.5L347.4,229.8L347.4,229.8z M628.3,182.8l-0.4-1.2l-1.7-0.1l-2.8,1.7l-0.4,0.4l0.1,1.7l1.7,0.5L628.3,182.8L628.3,182.8z M618.7,179.6l0.8-1.1l-6-0.1l-4.9,2.7 v1.5l3,0.2L618.7,179.6L618.7,179.6z M615.6,163l-2.7-0.5l-5,5.2l-3.6,4.4l-5.7,2.8l6.3-0.6l-0.8,3.4l8.2-3l6.2-3l0.8,2.6l5.9,1.3 l4.9-1.8l-1.9-1.8l-3.4,0.4l1.3-2.7l-3.7-1.7l-3.4-1.9l-1.5-1.5l-2.8,0.9L615.6,163L615.6,163z M660.2,154.8l3.7-1.7l1-0.7l1.4-2.3 l-2.3-1.5l-4.2,0.7l-3.8,3.1l-0.7,2.6L660.2,154.8L660.2,154.8z M586.4,144.1l-0.8-2l-0.3-1l-1.6-1l-3-1.5l-4.9,2.3l-5,1.7l3.5,2.4 l3.8-0.6l4.1,1.6L586.4,144.1z M608.8,142l-6.6-1l5.7-2.6l-0.4-6l-1.9-2.3l-4.5-0.8l-8.1,3.8l-5.5,5.8l2.9,2.1l1.6,3.3l-6.3,5.5 l-3.2-0.2l-6.2,4.4l4.2-5.2l-4.8-1.8l-4.5,0.9l-2.4,3.4l-5.9-0.1l-7.2,0.8l-5.1-2.4l-5,0.4l-1.5-2.9l-2.1-1.3l-3.8,0.5l-5.2,0.3 l-4.4,1.8l2,2.3l-7,2.8l-1.4-3.3l-4.4,1l-11.8,0.6l-6.4-1.2l8.5-2.6l-2.8-2.8l-4.4,0.4l-4.7-1l-7.5-1.9l-3.8-2.3l-4.5-0.3l-3.3,1.6 l-5.9,0.9l3.9-4.1l-9.4,3.6l-1.4-4.7l-2.1-0.6l-3.8,2.5l-4.5,1.2l-0.2-2.2l-8.2,1.4l-8.8,2.3l-5.2-0.6l-7,1.6l-6.2,2.3l-3.7-0.5 l-3.3-2.6l-5.9-1.3l0,0l-24.3,20.2l-35.4,32.4l4.2,0.1l2.7,1.6l0.6,2.6l0.2,3.9l7.6-3.3l6.4-1.9l-0.5,3l0.7,2.4l1.7,2.7l-1.1,4.2 l-1.5,6.8l4.6,3.8l-3.1,3.7l-5.1,2.9l0,0l-2.5,3.1l2.1,4.4l-3.1,4.9l4.1,2.6l-3.6,3.7l-1.3,5.5l6.9,2.5l1.6,2.7l5.4,6.1h0.7h13.9 h14.6h4.8h15h14.5h14.7h14.8h16.7h16.8h10.1l1.3-2.4h1.6l-0.8,3.4l1,1l3.2,0.4l4.6,1l3.8,1.9l4.4-0.8l5.3,1.6l0,0l3.2-2.4l3.2-1 l1.8-1.5l1.5-0.8l4,1.2l3.3,0.2l0.8,0.8l0.1,3.5l5.2,1l-1.7,1.7l1.2,1.9l-1.9,2.3l1.8,0.8l-1.9,2.1l0,0l1.2,0.2l1.3-0.9l0.5,1.4 l3.4,0.7l3.8,0.1l3.8,0.6l4,1.2l0.8,2l1.4,4.7l-2.4,2l-3.8-0.8l-1-3.8l-0.9,3.9l-3.8,3.4l-0.8,2.9l-1.1,1.7l-4.1,2l0,0l-3.7,3.4 l-2,2.2l2.7,0.4l4.5-2l2.9-1.7l1.6-0.3l2.6,0.6l1.7-0.9l2.8-0.8l4.7-0.8l0,0l0,0l0.3-1.8l-0.3,0.1l-1.7,0.3l-1.8-0.6l2.3-2.1 l1.9-0.7l3.9-0.9l4.6-0.9l1.8,1.2l1.9-1.4l1.9-0.8l0.9,0.4l0.1,0.1l6.7-4.2l2.7-1.2h7.7h9.3l1-1.6l1.7-0.3l2.5-0.9l2.7-2.8l3.2-4.9 l5.5-4.7l1.1,1.7l3.7-1.1l1.5,1.8l-2.8,8.5l2.1,3.5l5.9-0.8l8.1-0.2l-10.4,5.1l-1.5,5.2l3.7,0.5l7.1-4.5l5.8-2.4l12.2-3.7l7.5-4.1 l-2.6-2.2l1-4.5l-7.1,7l-8.6,0.8l-5.5-3.1l-0.1-4.6l0.6-6.8l6.1-4.1l-3.3-3.1l-7.6,0.6l-12.1,5.2l-10.9,8.2l-4.6,1l7.8-5.7l10.1-8.3 l7.2-2.7l5.7-4.4l5.2-0.5l7.3,0.1l10,1.3l8.6-1l7.8-5.1l8.7-2.2l4.2-2.1l4.2-2.3l2-6.8l-1.1-2.3l-3.4-0.8v-5.1l-2.3-1.9l-6.9-1.6 l-2.8-3.4l-4.8-3.4l3.4-3.7l-2-7.1l-2.6-7.5l-1-5.2l-4.3,2.7l-7.4,6.5l-8.1,3.2l-1.6-3.4l-3.7-1l2.2-7.3l2.6-4.9l-7.7-0.5l-0.1-2.2 l-3.6-3.3l-3-2l-4.5,1.5l-4.2-0.5l-6.6-1.6l-3.9,1.3l-3.8,9l-1,5.3l-8.8,6.1l3.1,4.5l0.5,5l-1.7,4l-4.7,4.1L610,224l-9,2.8l1.7,3.2 l-2.2,9.6l-5.6,6.3l-4.6,1.9l-4.4-5.8l-0.1-6.8l1.7-6l3.6-5.2l-4.8-0.6l-7.5-0.4l-3.6-2.5l-4.8-1.6l-1.7-2.9l-3.3-2.2l-7-2.6 l-7.1,1.2l0.7-4.5l1.5-5.5l-6-1l4.9-6.8l4.9-4.6l9.4-6.5l8.6-4.6l5.6-0.7l2.9-3.7l5.1-2.4l6.4-0.4l7.7-3.8l2.9-2.4l7.4-4.7l3.2-2.8 l3.2,1.7l6.5-0.9L637,155l2.3-2.7l-0.8-2.9l5-2.9l1.7-2.7l-3.5-2.6l-5.4-0.8l-5.5-0.4l-4.6,5.9l-6.5,4.6l-7.2,4l-1.3-3.7l4.2-4 l-2.2-3.5l-8.7,4.2L608.8,142L608.8,142z M533.3,123.1l-2.8-1l-14.1,3.2l-5.1,2l-7.8,3.9l5.4,1.4l6.2-0.1l-11.5,2.1v1.9l5.6,0.1 l9-0.4l6.5,1.2l-6.2,1l-5.5-0.3l-7.1,0.9l-3.3,0.6l0.6,4.2l4.2-0.6l4.1,1.5l-0.3,2.5l7.8-0.5l11.2-0.8l9.4-1.8l5-0.4l5.7,1.5 l6.7,0.8l3.1-1.9l-0.7-2.1l7-0.4l2.6-2.4l-5-2.5l-4.2-2.6l2.4-3.6l2.7-5.1l-2.2-2l-3-0.9l-4.2,0.8l-2.8,5.3l-4.3,2.1l2.2-5.1 l-1.7-1.7l-7.3,2.7L539,124l-10.4,1.5L533.3,123.1L533.3,123.1z M572.4,121.6l-1.7-1.1l-5.4,0.2l-2.1,0.7l2.2,3.6 C565.4,125,572.4,121.6,572.4,121.6z M680.1,123.2l-4.4-2.8l-8.4-0.5l-2.1,0.3l-1.7,1.8l2,2.8l0.9,0.3l4.8-0.7l4.1,0.1l4.1,0.1 L680.1,123.2L680.1,123.2z M640.7,122.9l5.7-3.2l-11.2,1.3l-5.8,2.1l-7.1,4.6l-3.3,5.2l5.6,0.1l-6.1,2.3l1.8,1.9l5.9,0.8l7.3,1.5 l13.8,1.2l7.9-0.6l3.2-1.6l2,1.8l3.3,0.3l2,3.3l-3.5,1.4l7.1,1.8l4.6,2.6l0.5,1.9L674,154l-8.6,5.4l-3.2,2.7l0.2,2l-9.2,0.7l-8,0.1 l-5.4,4.2l2.4,1.9l13-0.9l0.9-1.6l4.7,2.7l4.7,2.9l-2.4,1.6l3.8,2.8l7.6,3.3l10.7,2.3l0.3-2l-2.8-3.5l-3.5-4.9l8.5,4.6l4.7,1.5 l3.6-4.1v-5.6l-1-1.5l-4.4-2.5l-2.7-3.3l2.3-3.2l5.8-0.7l3.8,5.4l4,2.4l10.7-6.5l3.3-3.9l-6.4-0.3l-3.2-5.1l-5.9-1.2l-7.7-3.5l9-2.5 l-0.8-5l-2.2-2.1l-8.3-2.1l-1.9-3.3l-8.2,1.2l1.1-2.3l-3.6-2.5l-6.8-2.6l-5.2,2.1l-9,1.5l3.3-3.4l-2.3-5.3l-11.6,2.1l-7.1,4.1 L640.7,122.9L640.7,122.9z M590.7,119.5l-7.1,2.4l0.9,3.4l-7.4-0.7l-1.7,1.7l5.8,3.9l0.9,2l3.4,0.5l8.4-2l5.1-4.7l-3.8-2.2l6-2.4 l0.5-1.5l-7.5,0.6L590.7,119.5L590.7,119.5z M613,124.9l5.6-1l10-4.5l-6.1-1.2l-7.8-0.2l-5.2,1.4l-4.2,2.1l-2.5,2.6l-1.8,4.5 l4.3,0.2L613,124.9z M498.3,132.1l2.6-2.3l9.1-3.6l13.8-3.6l6.4-1.3l-1.6-2.1l-1.9-1.5l-9.4-0.2l-4.1-1.1l-14,0.8l-0.3,3.1l-7.6,3.3 l-7.4,3.8l-4.3,2.2l5.9,2.7l-0.6,2.3L498.3,132.1L498.3,132.1z M622.4,113.8l0.3-1.6l-1.4-1.7l-6.9,1.3L610,114l3.2,1.3l5.1,0.4 L622.4,113.8L622.4,113.8z M613.7,105.2l-1.1,0.7l-4.8-0.3l-7.6,1.6l-3.8-0.1l-4.3,3.8l6.6-0.4l-3.4,2.9l3.2,0.8l6.8-0.5l5.8-3.7 l2.8-2.5L613.7,105.2z M574.6,107.7l1.8-2.3l-3.1-0.5l-5.7,1.7l-0.7,4.7l-6.1-0.4L558,108l-8.2-1.6l-5.4,1.4l-11.6,4.8l4.1,0.8 l17.8-0.5l-10.6,2.2l-1.5,1.6l5.9-0.1l12.2-2.2l13.8-0.8l5.1-2.3l2.3-2.4l-3.7-0.2l-4.3,0.8C573.9,109.5,574.6,107.7,574.6,107.7z M629.8,103.4l-7.1-0.3l-3.8,2l2.6,1.5l7,0.6l1.4,2.1l-2.2,2.4l-1.5,2.8l8.5,1.6l5.5,0.6l8-0.1l11.6-0.8l4.3,0.6l6.7-1l3.5-1.4l1-2 l-2.3-1.9l-5.8-0.3l-8,0.4l-7,1.1l-5.1-0.4l-4.8-0.3l-1.2-1.1l-3.1-1.1l2.8-1.9l-1.4-1.6l-7.3,0.1L629.8,103.4L629.8,103.4z M554.8,100.8l-6,0.7l-5.5-0.1l-12.1,3.1l-11.6,3.7l0,0l3.6,1l7-0.7l9.8-2.1l3.8-0.3l5.2-1.6L554.8,100.8z M635.3,101.4l1-0.5 l-1.5-0.9l-7.2-0.1l-0.6,1.3l6.4,0.3L635.3,101.4L635.3,101.4z M576.9,100.6l3.2-1.4l-4.1-0.8l-5.9,0.5l-5.1,1.5l3.3,1.5 C568.3,101.9,576.9,100.6,576.9,100.6z M584.7,96.4l-3.3-0.9l-1.6-0.2l-5.7,1.3l-1,0.7h6L584.7,96.4z M631.1,98.9l3-1.7l-2.3-1.6 l-1.7-0.3l-4.4-0.1l-2.1,1.8l-0.7,1.8l1.6,1.1L631.1,98.9L631.1,98.9z M617.4,97.7l0.1-2.2l-7.4-1.7l-6.1-0.6l-2.1,1.7l2.8,1.1 l-5.3,1.4l7.7,0.2l4,1.5l5.2,0.5L617.4,97.7z M671.1,91.6l0.6-2.8L667,88l-4.7-0.9l-1.6-2.2l-8.2,0.2l0.3,0.9l-3.9,0.3l-4.1,1.3 l-4.9,1.9l-0.3,1.9l2,1.5h6.5l-4.3,1.2l-2.1,1.6l1.6,1.9l6.7,0.6l6.8-0.4l10.5-3.4l6.4-1.3L671.1,91.6z M749.6,77.8l-7-0.2l-6.9-0.3 l-10.2,0.6l-1.4-0.4l-10.3,0.2l-6.4,0.4l-5.1,0.6l-5,2l-2.3-1l-3.9-0.2l-6.7,1.4l-7.4,0.6l-4.1,0.1l-6,0.8l-1.1,1.3l2.5,1.2l0.8,1.6 l4.4,1.5l12.4-0.3l7.2,0.5l-7.2,1.5l-2.2-0.4l-9.3-0.2l-1.1,2.2l3,1.7l-2.8,1.6l-7.5,1.1l-4.9,1.7l4.8,0.9l1.7,3l-7.5-2l-2.5,0.3 l-2,3.4l-8,1.1l-2,2.3l6.7,0.3l4.9,0.6l11.7-0.8l8.4,1.4l12.6-3l1-1.1l-6.4,0.2l0.5-1.1l6.5-1.4l3.6-1.9l6.8-1.3l5-1.6l-0.8-2.2 l3.3-0.8l-4.3-0.6l11.1-0.4l3.2-0.9l7.9-0.8l9.3-3.5l6.8-1.1l10.3-2.5h-7.4l3.9-0.9l9-0.8l9.7-1.6l1.1-1.1l-5.2-1l-6.7-0.4 L749.6,77.8L749.6,77.8z'\n    },\n    'CV': {\n      d: 'M841.4,477.6l0.1-0.4l-0.2-0.6l-0.3-0.1l-0.6,0.4l-0.1,0.3l0.1,0.3l0.3,0.3l0.3,0.1L841.4,477.6L841.4,477.6z M847.7,475.9l0.4-0.2V475l-0.1-0.3h-0.4l-0.2,0.4v0.1v0.4L847.7,475.9L847.7,475.9L847.7,475.9z M846.3,476.7l-0.5-0.9l-0.3-0.1 l-0.6-0.7v-0.3l-0.3-0.1v0.2v0.4l-0.2,0.5v0.5l0.4,0.8l0.4,0.2l0.7,0.1L846.3,476.7L846.3,476.7z M849.4,468.9v0.5l-0.3,0.7l0.5,0.3 l0.3,0.1l0.6-0.4l0.2-0.5l-0.1-0.3l-0.3-0.3l-0.3-0.1l-0.1,0.1L849.4,468.9L849.4,468.9z M843,466.4l-1-0.1l-0.6-0.2h-0.1v0.3 l0.4,0.8l0.2-0.5l0.2-0.1l0.8,0.2l0.4-0.1l-0.1-0.1L843,466.4L843,466.4z M849.7,466.2l-0.1-0.5V465h-0.2l-0.3,0.2l0.1,0.7l0.1,0.1 l0.2,0.5L849.7,466.2L849.7,466.2z M838.6,465.2V465l-0.3-0.5l-0.3,0.1l-0.4,0.2l-0.1,0.3l0.4,0.2h0.2L838.6,465.2L838.6,465.2z M837.1,464.3l0.8-0.6l0.2-0.3l-0.2-0.5l-0.5-0.1l-1.2,0.6l-0.1,0.2l0.1,0.3l0.1,0.5l0.2,0.1L837.1,464.3L837.1,464.3z'\n    },\n    'KY': {\n      d: 'M527,449.1l-0.1-0.3l-0.1,0.1v0.6h0.5h0.2l0.3-0.2h0.6l-0.1-0.2l-0.8-0.1l-0.1,0.1l-0.2,0.1L527,449.1L527,449.1z M535,446.8L535,446.8l-0.1-0.1h-0.1l-0.3,0.1h-0.1h-0.1l-0.1,0.1l-0.1,0.1h0.2l0.4-0.2H535L535,446.8L535,446.8z M535.8,446.7 l0.5-0.2l0,0l-0.1-0.1h-0.1l-0.1,0.1h-0.1l-0.5,0.3h0.2L535.8,446.7L535.8,446.7z'\n    },\n    'CF': {\n      d: 'M1110.5,517.3l-0.5-0.3l-2-1.8l-0.3-2l0.8-2.6V508l-3.3-4l-0.7-2.7l-3.5,1.1l-2.8,2.5l-4,7l-5.2,2.9l-5.4-0.4 l-1.6,0.6l0.6,2.3l-2.9,2.2l-2.3,2.5l-7.1,2.4l-1.4-1.4l-0.9-0.2l-1,1.7l-4.7,0.4l-2.7,6.5l-1.4,1.1l-0.4,5l0.6,2.7l-0.4,1.9 l2.6,3.3l0.5,2.3l2.1,3.2l2.6,2.1l0.3,2.9l0.6,1.8l2.9-5.9l3.3-3.4l3.8,1.1l3.6,0.4l0.5-4.5l2.2-3.2l3-2l4.6,2.1l3.6,2.4l4.1,0.6 l4.2,1.2l1.6-3.8l0.8-0.5l2.6,0.6l6.2-3.1l2.2,1.3l1.8-0.2l0.9-1.5l2-0.6l4.3,0.7l3.6,0.1l1.8-0.6l-0.9-2.1l-4.2-2.5l-1.5-3.8 l-2.4-2.7l-3.8-3.4l-0.1-2l-3.1-2.6L1110.5,517.3L1110.5,517.3z'\n    },\n    'TD': {\n      d: 'M1108.4,447.6l-22.4-12.2l-22.3-12.2l-5.4,3.5l1.6,9.9l2,1.6l0.2,2.1l2.3,2.2l-1.1,2.7l-1.8,12.9l-0.2,8.3l-6.9,6 l-2.3,8.4l2.4,2.3v4.1l3.6,0.2l-0.5,2.9l2.2,4.1l0.5,4.2l-0.2,4.3l3.1,5.8l-3.1-0.1l-1.6,0.4l-2.5-0.6l-1.2,3l3.3,3.7l2.5,1.1 l0.8,2.6l1.8,4.4l-0.9,1.7l4.7-0.4l1-1.7l0.9,0.2l1.4,1.4l7.1-2.4l2.3-2.5l2.9-2.2l-0.6-2.3l1.6-0.6l5.4,0.4l5.2-2.9l4-7l2.8-2.5 l3.5-1.1v-1.6l-2.1-1.8l-0.1-3.7l-1.2-2.5l-2,0.4l0.5-2.4l1.4-2.6l-0.7-2.7l1.8-1.9l-1.2-1.5l1.4-3.9l2.4-4.7l4.8,0.4L1108.4,447.6 L1108.4,447.6z'\n    },\n    'CL': {\n      d: 'M648.4,905.2l-3.7-0.7l-3.3,2.5l0.2,4.1l-1.2,2.8l-7.2-2.2l-8.6-4l-4.5-1.3l9.7,6.8l6.3,3.2l7.5,3.4l5.3,0.9 l4.3,1.8l3,0.5l2.3,0.1l3.2-1.8l0.5-2.4l-2.9-0.2h-5L648.4,905.2L648.4,905.2z M601.1,708.9l-3.7-7.1l1.1-6.2l-3.2-2.7l-1.2-4.6 L591,684l-1.2,3.3l-2.7,1.6l2.1,9l1.5,10.4l-0.1,14.2v13.2l0.9,12.3l-1.9,7.8l2.1,7.8l-0.5,5.3l3.2,9.5l-0.1,9.5l-1.2,10.2 l-0.6,10.5l-2.1,0.2l2.4,7.3l3.3,6.3l-1.1,4.3l1.9,11.6l1.5,8.8l3.5,0.9l-1.1-7.7l4,1.6l1.8,12.7l-6.4-2.1l2,10.2l-2.7,5.5l8.2,1.8 l-3.4,4.8l0.2,6l5,10.6l4.2,4.1l0.2,3.6l3.3,3.8l7.5,3.5l0,0l7.4,4.2l6.2,2l2-0.1l-1.8-5.7l3.4-2.2l1.7-1.5h4.2l-4.8-0.9l-12-0.8 l-3.5-3.6l-1.8-4.6l-3.1,0.4l-2.6-2.2l-3.1-6.6l2.7-2.7l0.1-3.9l-1.8-3.2l0.7-5.3l-1.1-8.2l-1.8-3.7l1.8-1.1l-1.3-2.3l-2.8-1.3 l0.8-2.6l-3.1-2.3l-3.6-7.1l1.6-1.2l-3.3-7.6l-0.7-6.4l-0.3-5.7l2.5-2.4l-3.3-6.3l-1.5-5.9l2.9-4.3l-1.4-5.4l1.6-6.2l-1.3-5.9 l-1.6-1.2l-4.9-10.9l2.1-6.5l-1.7-6.2l0.9-5.8l2.6-5.9l3.2-4l-2-2.5l0.9-2l-1.6-10.6l5.6-3.2l1.1-6.6l-0.9-1.6l-3.8,0.9L601.1,708.9 L601.1,708.9z'\n    },\n    'CN': {\n      d: 'M1587.2,453.3l0.6-3.6l2-2.8l-1.6-2.5l-3.2-0.1l-5.8,1.8l-2.2,2.8l1,5.5l4.9,2L1587.2,453.3L1587.2,453.3z M1600.4,256.8l-6.1-6.1l-4.4-3.7l-3.8-2.7l-7.7-6.1l-5.9-2.3l-8.5-1.8l-6.2,0.2l-5.1,1.1l-1.7,3l3.7,1.5l2.5,3.3l-1.2,2l0.1,6.5 l1.9,2.7l-4.4,3.9l-7.3-2.3l0.6,4.6l0.3,6.2l2.7,2.6l2.4-0.8l5.4,1l2.5-2.3l5.1,2l7.2,4.3l0.7,2.2l-4.3-0.7l-6.8,0.8l-2.4,1.8 l-1.4,4.1l-6.3,2.4l-3.1,3.3l-5.9-1.3l-3.2-0.5l-0.4,4l2.9,2.3l1.9,2.1l-2.5,2l-1.9,3.3l-4.9,2.2l-7.5,0.2l-7.2,2.2l-4.4,3.3l-3.2-2 l-6.2,0.1l-9.3-3.8l-5.5-0.9l-6.4,0.8l-11.2-1.3l-5.5,0.1l-4.7-3.6l-4.9-5.7l-3.4-0.7l-7.9-3.8l-7.2-0.9l-6.4-1l-3-2.7l-1.3-7.3 l-5.8-5l-8.1-2.3l-5.7-3.3l-3.3-4.4l-1.7,0.5l-1.8,4.2l-3.8,0.6l2.5,6.2l-1.6,2.8l-10.7-2l1,11.1l-2,1.4l-9,2.4l8.7,10.7l-2.9,1.6 l1.7,3.5l-0.2,1.4l-6.8,3.4l-1,2.4l-6.4,0.8l-0.6,4l-5.7-0.9l-3.2,1.2l-4,3l1.1,1.5l-1,1.5l3,5.9l1.6-0.6l3.5,1.4l0.6,2.5l1.8,3.7 l1.4,1.9l4.7,3l2.9,5l9.4,2.6l7.6,7.5l0.8,5.2l3,3.3l0.6,3.3l-4.1-0.9l3.2,7l6.2,4l8.5,4.4l1.9-1.5l4.7,2l6.4,4.1l3.2,0.9l2.5,3.1 l4.5,1.2l5,2.8l6.4,1.5l6.5,0.6l3-1.4l1.5,5.1l2.6-4.8l2.6-1.6l4.2,1.5l2.9,0.1l2.7,1.8l4.2-0.8l3.9-4.8l5.3-4l4.9,1.5l3.2-2.6 l3.5,3.9l-1.2,2.7l6.1,0.9l3-0.4l2.7,3.7l2.7,1.5l1.3,4.9l0.8,5.3l-4.1,5.3l0.7,7.5l5.6-1l2.3,5.8l3.7,1.3l-0.8,5.2l4.5,2.4l2.5,1.2 l3.8-1.8l0.6,2.6l0.7,1.5l2.9,0.1l-1.9-7.2l2.7-1l2.7-1.5h4.3l5.3-0.7l4.1-3.4l3,2.4l5.2,1.1l-0.2,3.7l3,2.6l5.9,1.6l2.4-1l7.7,2 l-0.9,2.5l2.2,4.6l3-0.4l0.8-6.7l5.6-0.9l7.2-3.2l2.5-3.2l2.3,2.1l2.8-2.9l6.1-0.7l6.6-5.3l6.3-5.9l3.3-7.6l2.3-8.4l2.1-6.9l2.8-0.5 l-0.1-5.1l-0.8-5.1l-3.8-2l-2.5-3.4l2.8-1.7l-1.6-4.7l-5.4-4.9l-5.4-5.8l-4.6-6.3l-7.1-3.5l0.9-4.6l3.8-3.2l1-3.5l6.7-1.8l-2.4-3.4 l-3.4-0.2l-5.8-2.5l-3.9,4.6l-4.9-1.9l-1.5-2.9l-4.7-1l-4.7-4.4l1.2-3l5-0.3l1.2-4.1l3.6-4.4l3.4-2.2l4.4,3.3l-1.9,4.2l2.3,2.5 l-1.4,3l4.8-1.8l2.4-2.9l6.3-1.9l2.1-4l3.8-3.4l1-4.4l3.6,2l4.6,0.2l-2.7-3.3l6.3-2.6l-0.1-3.5l5.5,3.6l0,0l-1.9-3.1l2.5-0.1 l-3.8-7.3l-4.7-5.3l2.9-2.2l6.8,1.1l-0.6-6l-2.8-6.8l0.4-2.3l-1.3-5.6l-6.9,1.8l-2.6,2.5h-7.5l-6-5.8l-8.9-4.5L1600.4,256.8 L1600.4,256.8z'\n    },\n    'CO': {\n      d: 'M578.3,497.2l1.2-2.1l-1.3-1.7l-2-0.4l-2.9,3.1l-2.3,1.4l-4.6,3.2l-4.3-0.5l-0.5,1.3l-3.6,0.1l-3.3,3l-1.4,5.4 l-0.1,2.1l-2.4,0.7l-4.4,4.4l-2.9-0.2l-0.7,0.9l1.1,3.8l-1.1,1.9l-1.8-0.5l-0.9,3.1l2.2,3.4l0.6,5.4l-1.2,1.6l1.1,5.9l-1.2,3.7 l2,1.5l-2.2,3.3l-2.5,4l-2.8,0.4l-1.4,2.3l0.2,3.2l-2.1,0.5l0.8,2l5.6,3.6l1-0.1l1.4,2.7l4.7,0.9l1.6-1l2.8,2.1l2.4,1.5l1.5-0.6 l3.7,3l1.8,3l2.7,1.7l3.4,6.7l4.2,0.8l3-1.7l2.1,1.1l3.3-0.6l4.4,3l-3.5,6.5l1.7,0.1l2.9,3.4l2.2-17.4l0.1-2.8l-0.9-3.6l-2.5-2.4 v-4.6l3.2-1l1.1,0.6l0.2-2.4l-3.3-0.7v-3.9l10.9,0.1l1.9-2.2l1.6,2l1,3.8l1.1-0.8l-1.7-6.4l-1.4-2.2l-2-1.4l2.9-3.1l-0.2-1.5 l-1.5-1.9l-1-4.2l0.5-4.6l1.3-2.1l1.2-3.4l-2-1.1l-3.2,0.7l-4-0.3l-2.3,0.7l-3.8-5.5l-3.2-0.8l-7.2,0.6l-1.3-2.2l-1.3-0.6l-0.2-1.3 l0.8-2.4l-0.4-2.5l-1.1-1.4l-0.6-2.9l-2.9-0.5l1.8-3.7l0.9-4.5l1.8-2.4l2.2-1.8l1.6-3.2L578.3,497.2L578.3,497.2z'\n    },\n    'KM': {\n      d: 'M1221.1,650.5l-0.4-0.4h-0.4v0.2l0.1,0.4l1.1,0.2L1221.1,650.5L1221.1,650.5z M1225,649L1225,649l-0.3,0.1l-0.1,0.2 l-0.1,0.3h-0.3h-0.2h-0.4l0.8,0.5l0.5,0.5l0.2,0.2l0.1-0.2l0.1-0.7L1225,649L1225,649z M1219.4,647.9l0.2-0.3l-0.2-0.7l-0.4-0.8 l0.1-1.4l-0.2-0.2h-0.3l-0.1,0.1l-0.1,0.3l-0.3,2l0.4,0.6l0.3,0.1L1219.4,647.9L1219.4,647.9L1219.4,647.9z'\n    },\n    'CG': {\n      d: 'M1080.3,549.9l-3.6-0.4l-3.8-1.1l-3.3,3.4l-2.9,5.9l-0.4,3.5l-4.5-1.5l-4.5-1.7l-7.1-0.3l-0.4,2.8l1.5,3.3l4.2-0.5 l1.4,1.2l-2.4,7.4l2.7,3.8l0.6,4.9l-0.8,4.3l-1.7,3l-4.9-0.3l-3-3l-0.5,2.8l-3.8,0.8l-1.9,1.6l2.1,4.2l-4.3,3.5l4.6,6.7l2.2-2.7 l1.8-1.1l2,2.2l1.5,0.6l1.9-2.4l3.1,0.1l0.4,1.8l2,1.1l3.4-4l3.3-3.1l1.4-2l-0.2-5.3l2.5-6.2l2.6-3.2l3.7-3.1l0.6-2l0.2-2.4l0.9-2.2 l-0.3-3.6l0.7-5.6l1.1-4l1.6-3.4L1080.3,549.9L1080.3,549.9z'\n    },\n    'CR': {\n      d: 'M509.1,502.6l-1.4,1.3l-1.7-0.4l-0.8-1.3l-1.7-0.5l-1.4,0.8l-3.5-1.7l-0.9,0.8l-1.4,1.2l1.5,0.9l-0.9,2l-0.1,2 l0.7,1.3l1.7,0.6l1.2,1.8l1.2-1.6l-0.3-1.8l1.4,1.1l0.3,1.9l1.9,0.8l2.1,1.3l1.5,1.5l0.1,1.4l-0.7,1.1l1.1,1.3l2.9,1.4l0.4-1.2 l0.5-1.3l-0.1-1.2l0.8-0.7l-1.1-1l0.1-2.5l2.2-0.6l-2.4-2.7l-2-2.6L509.1,502.6L509.1,502.6z'\n    },\n    'HR': {\n      d: 'M1065,280.4l-4-2.6l-1.6-0.8l-3.9,1.7l-0.3,2.5l-1.7,0.6l0.2,1.7l-2-0.1l-1.8-1l-0.8,1l-3.5-0.2l-0.2,0.1v2.2l1.7,2 l1.3-2.6l3.3,1l0.3,2l2.5,2.6l-1,0.5l4.6,4.5l4.8,1.8l3.1,2.2l5,2.3l0,0l0.5-1l-4.7-2.4l-2.2-2.5l-2-1.4l-2.5-2.3l-1.3-1.9l-2.7-2.9 l0.9-2.5l1.9,1.4l1-1.3l2.3-0.1l4.4,1l3.5-0.1l2.4,1.4l0,0l1.7-2.3l-1.7-1.8l-1.5-2.4l0,0l-1.8,0.9L1065,280.4L1065,280.4z'\n    },\n    'CU': {\n      d: 'M539,427.3l-4.9-2.1l-4.3-0.1l-4.7-0.5l-1.4,0.7l-4.2,0.6l-3,1.3l-2.7,1.4l-1.5,2.3l-3.1,2l2.2,0.6l2.9-0.7l0.9-1.6 l2.3-0.1l4.4-3.3l5.4,0.3l-2.3,1.6l1.8,1.3l7,1l1.5,1.3l4.9,1.7l3.2-0.2l0.8,3.6l1.7,1.8l3.5,0.4l2.1,1.7l-4.1,3.5l7.9-0.6l3.8,0.5 l3.7-0.3l3.8-0.8l0.8-1.5l-3.9-2.6l-4-0.3l0.6-1.7l-3.1-1.3h-1.9l-3-2.8l-4.2-4l-1.8-1.5l-5.2,0.8L539,427.3L539,427.3z'\n    },\n    'CW': {\n      d: 'M595.9,494.9v-0.6l-0.9-0.4v0.3l0.1,0.2l0.3,0.1l0.1,0.2l-0.1,0.6l0.2,0.3L595.9,494.9L595.9,494.9z'\n    },\n    'CY': {\n      d: 'M1149.9,348.4l-0.3-0.1l-0.5,0.2l-0.4,0.4l-0.4,0.3l-0.5-0.3l0.2,0.9l0.6,1.1l0.2,0.3l0.3,0.2l1.1,0.3h0.3h0.6 l0.2,0.1l0.2,0.4h0.4v-0.1v-0.3l0.2-0.2l0.3-0.2h0.3l0.6-0.1l0.6-0.2l0.5-0.4l0.9-1h0.3h0.3h0.6l0.6-0.1l-0.2-0.4l-0.1-0.1l-0.4-0.5 l-0.2-0.4l0.1-0.6l2.5-1.9l0.5-0.5l-0.8,0.2l-0.6,0.4l-0.4,0.2l-0.7,0.4l-2.3,0.8l-0.8,0.1h-0.8l-1-0.1l-0.9-0.2v0.7l-0.2,0.6 l-0.6,0.2L1149.9,348.4L1149.9,348.4z'\n    },\n    'CZ': {\n      d: 'M1049.4,248.5l-2.1,0.6l-1.4-0.7l-1.1,1.2l-3.4,1.2l-1.7,1.5l-3.4,1.3l1,1.9l0.7,2.6l2.6,1.5l2.9,2.6l3.8,2l2.6-2.5 l1.7-0.5l4,1.9l2.3-0.3l2.3,1.2l0.6-1.4l2.2,0.1l1.6-0.6l0.1-0.6l0.9-0.3l0.2-1.4l1.1-0.3l0.6-1.1h1.5l-2.6-3.1l-3.6-0.3l-0.7-2 l-3.4-0.6l-0.6,1.5l-2.7-1.2l0.1-1.7l-3.7-0.6L1049.4,248.5L1049.4,248.5z'\n    },\n    'CD': {\n      d: 'M1124.9,539.4l-4.3-0.7l-2,0.6l-0.9,1.5l-1.8,0.2l-2.2-1.3l-6.2,3.1l-2.6-0.6l-0.8,0.5l-1.6,3.8l-4.2-1.2l-4.1-0.6 l-3.6-2.4l-4.6-2.1l-3,2l-2.2,3.2l-0.5,4.5l-0.3,3.8l-1.6,3.4l-1.1,4l-0.7,5.6l0.3,3.6l-0.9,2.2l-0.2,2.4l-0.6,2l-3.7,3.1l-2.6,3.2 l-2.5,6.2l0.2,5.3l-1.4,2l-3.3,3.1l-3.4,4l-2-1.1l-0.4-1.8l-3.1-0.1l-1.9,2.4l-1.5-0.6l-2,1.3l-0.9,1.7l-0.2,2.7l-1.5,0.7l0.8,2 l2.3-0.9l1.7,0.1l1.9-0.7l16.6,0.1l1.3,4.7l1.6,3.8l1.3,2.1l2.1,3.3l3.7-0.5l1.9-0.9l3,0.9l0.9-1.6l1.5-3.7l3.4-0.3l0.3-1.1h2.9 l-0.5,2.3h6.8v4l1.2,2.4l-0.9,3.8l0.3,4l1.9,2.3l-0.5,7.6l1.4-0.6l2.4,0.2l3.5-1l2.6,0.4l1.9,0.1l0.3,2l2.6-0.1l3.5,0.6l1.8,2.8 l4.5,0.9l3.4-2l1.2,3.4l4.3,0.8l2,2.8l2.1,3.5h4.3l-0.3-6.9l-1.5,1.2l-3.9-2.5l-1.4-1.1l0.8-6.4l1.2-7.5l-1.2-2.8l1.6-4.1l1.6-0.7 l7.5-1.1l1,0.3l0.2-1.1l-1.5-1.7l-0.7-3.5l-3.4-3.5l-1.8-4.5l1-2.7l-1.5-3.6l1.1-10.2l0.1,0.1l-0.1-1.1l-1.4-2.9l0.6-3.5l0.8-0.4 l0.2-3.8l1.6-1.8l0.1-4.8l1.3-2.4l0.3-5.1l1.2-3l2.1-3.3l2.2-1.7l1.8-2.3l-2.3-0.8l0.3-7.5l0,0l-5-4.2l-1.4-2.7l-3.1,1.3l-2.6-0.4 l-1.5,1.1l-2.5-0.8l-3.5-5.2l-1.8,0.6L1124.9,539.4L1124.9,539.4z'\n    },\n    'DK': {\n      d: 'M1035.9,221.2l-1.7-3l-6.7,2l0.9,2.5l5.1,3.4L1035.9,221.2L1035.9,221.2z M1027.3,216.1l-2.6-0.9l-0.7-1.6l1.3-2 l-0.1-3l-3.6,1.6l-1.5,1.7l-4,0.4l-1.2,1.7l-0.7,1.6l0.4,6.1l2.1,3.4l3.6,0.8l3-0.9l-1.5-3l3.1-4.3l1.4,0.7L1027.3,216.1 L1027.3,216.1z'\n    },\n    'DJ': {\n      d: 'M1217.8,499.2l-2.5-1.7l3.1-1.5l0.1-2.7l-1.4-1.9l-1.6,1.5l-2.4-0.5l-1.9,2.8l-1.8,3l0.5,1.7l0.2,2l3.1,0.1l1.3-0.5 l1.3,1.1L1217.8,499.2L1217.8,499.2z'\n    },\n    'DM': {\n      d: 'M635.8,475.1l0.3-0.7l-0.1-1l-0.2-0.4l-0.8-0.3v0.2l-0.1,0.5l0.3,0.8l0.1,1.1L635.8,475.1z'\n    },\n    'DO': {\n      d: 'M579.6,457.4v1.8l1.4,1l2.6-4.4l2-0.9l0.6,1.6l2.2-0.4l1.1-1.2l1.8,0.3l2.6-0.2l2.5,1.3l2.3-2.6l-2.5-2.3l-2.4-0.2 l0.3-1.9l-3,0.1l-0.8-2.2l-1.4,0.1l-3.1-1.6l-4.4-0.1l-0.8,1.1l0.2,3.5l-0.7,2.4l-1.5,1.1l1.2,1.9L579.6,457.4L579.6,457.4z'\n    },\n    'EC': {\n      d: 'M553.1,573.1l-2.4-1.5l-2.8-2.1l-1.6,1l-4.7-0.9l-1.4-2.7l-1,0.1l-5.6-3.6l-3.9,2.5l-3.1,1.4l0.4,2.6l-2.2,4.1 l-1,3.9l-1.9,1l1,5.8l-1.1,1.8l3.4,2.7l2.1-2.9l1.3,2.8l-2.9,4.7l0.7,2.7l-1.5,1.5l0.2,2.3l2.3-0.5l2.3,0.7l2.5,3.2l3.1-2.6l0.9-4.3 l3.3-5.5l6.7-2.5l6-6.7l1.7-4.1L553.1,573.1z'\n    },\n    'EG': {\n      d: 'M1129.7,374.8l-5.5-1.9l-5.3-1.7l-7.1,0.2l-1.8,3l1.1,2.7l-1.2,3.9l2,5.1l1.3,22.7l1,23.4h22.1h21.4h21.8l-1-1.3 l-6.8-5.7l-0.4-4.2l1-1.1l-5.3-7l-2-3.6l-2.3-3.5l-4.8-9.9l-3.9-6.4l-2.8-6.7l0.5-0.6l4.6,9.1l2.7,2.9l2,2l1.2-1.1l1.2-3.3l0.7-4.8 l1.3-2.5l-0.7-1.7l-3.9-9.2l0,0l-2.5,1.6l-4.2-0.4l-4.4-1.5l-1.1,2.1l-1.7-3.2l-3.9-0.8l-4.7,0.6l-2.1,1.8l-3.9,2L1129.7,374.8 L1129.7,374.8z'\n    },\n    'SV': {\n      d: 'M487.2,487l0.6-2.5l-0.7-0.7l-1.1-0.5l-2.5,0.8l-0.1-0.9l-1.6-1l-1.1-1.3l-1.5-0.5l-1.4,0.4l0.2,0.7l-1.1,0.7 l-2.1,1.6l-0.2,1l1.4,1.3l3.1,0.4l2.2,1.3l1.9,0.6l3.3,0.1L487.2,487L487.2,487z'\n    },\n    'GQ': {\n      d: 'M 1040.1 557.8 l -9.2 -0.2 l -1.9 7.2 l 1 0.9 l 1.9 -0.3 h 8.2 V 557.8 L 1040.1 557.8 z M 1023 551 L 1023.6 550.2 L 1023.6 549.8 L 1024.6 548.25 L 1024.45 547.5 L 1023.04 547.4 L 1022.5 548.2 L 1022.55 548.55 L 1022.25 549.36 L 1021.55 549.5 L 1021.25 550.15 L 1021.5 550.7 L 1023 551 M 1003.8 580.2 L 1003.9 580.44 L 1003.82 580.62 L 1003.65 580.55 L 1003.63 580.232 L 1003.8 580.2'\n    },\n    'ER': {\n      d: 'M1198.1,474l-3.2-3.1l-1.8-5.9l-3.7-7.3l-2.6,3.6l-4,1l-1.6,2l-0.4,4.2l-1.9,9.4l0.7,2.5l6.5,1.3l1.5-4.7l3.5,2.9 l3.2-1.5l1.4,1.3l3.9,0.1l4.9,2.5l1.6,2.2l2.5,2.1l2.5,3.7l2,2.1l2.4,0.5l1.6-1.5l-2.8-1.9l-1.9-2.2l-3.2-3.7l-3.2-3.6L1198.1,474z'\n    },\n    'EE': {\n      d: 'M1093.2,197.5l-5.5,0.9l-5.4,1.6l0.9,3.4l3.3,2.1l1.5-0.8l0.1,3.5l3.7-1l2.1,0.7l4.4,2.2h3.8l1.6-1.9l-2.5-5.5 l2.6-3.4l-0.9-1l0,0l-4.6,0.2L1093.2,197.5z'\n    },\n    'ET': {\n      d: 'M1187.6,477l-1.5,4.7l-6.5-1.3l-0.7,5.5l-2.1,6.2l-3.2,3.2l-2.3,4.8l-0.5,2.6l-2.6,1.8l-1.4,6.7v0.7l0.2,5l-0.8,2 l-3,0.1l-1.8,3.6l3.4,0.5l2.9,3.1l1,2.5l2.6,1.5l3.5,6.9l2.9,1.1v3.6l2,2.1h3.9l7.2,5.4h1.8l1.3-0.1l1.2,0.7l3.8,0.5l1.6-2.7 l5.1-2.6l2.3,2.1h3.8l1.5-2l3.6-0.1l4.9-4.5l7.4-0.3l15.4-19.1l-4.8,0.1l-18.5-7.6l-2.2-2.2l-2.1-3.1l-2.2-3.5l1.1-2.3l-1.3-1.1 l-1.3,0.5l-3.1-0.1l-0.2-2l-0.5-1.7l1.8-3l1.9-2.8l-2-2.1l-2.5-3.7l-2.5-2.1l-1.6-2.2l-4.9-2.5l-3.9-0.1l-1.4-1.3l-3.2,1.5 L1187.6,477L1187.6,477z'\n    },\n    'FK': {\n      d: 'M690.3,902.7l-0.1-0.3l-0.4-0.2l-0.2-0.1l0.1,0.2l0.1,0.3l0.1,0.2l0.2,0.1L690.3,902.7L690.3,902.7z M695.8,901.4 L695.8,901.4l-0.3-0.1l-0.1,0.2l0.2,0.3l0.4,0.1L695.8,901.4L695.8,901.4z M682.9,900l-0.1,0.2l-0.4,0.1l0.2,0.3l0.6,0.4h0.4 l0.1-0.3l-0.1-0.6h-0.3L682.9,900L682.9,900z M685.7,898l-0.9-0.3l-0.4-0.3h-0.3l0.4,0.4l0.1,0.2l0.1,0.2l0.6,0.3l0.6,0.3l0.4,0.3 l-0.1,0.1l-0.8,0.3h-0.3l-0.2,0.1l0.4,0.2l0.6-0.1l0.2-0.1h0.2l0.3,0.1v0.2l-0.1,0.2l-0.2,0.2l-0.4,0.3l-0.6,0.4h-0.8l-0.7,0.7 l0.9,0.5l0.7,0.3h0.9v-0.1l0.2-0.1h0.3l0.1-0.1l0.2-0.4v-0.6h0.2l0.3,0.1l0.7-0.1l0.3-0.1l0.6-0.9l0.4-0.8l0.2-0.4l0.3-0.2l0.1-0.2 l0.1-0.3l0.3-0.2v-0.3l-0.4-0.2l-0.3-0.2l-0.3,0.3l-0.2-0.1l-0.9,0.3h-0.4l-0.3-0.2l-0.4-0.1l-0.4,0.1l-0.5,0.5L685.7,898L685.7,898 z M686.4,897.6l0.1-0.3l-0.1-0.2l-0.5-0.2h-0.5l0.2,0.5l0.2,0.2H686.4z M692.3,896.9h-0.4l0.4,0.5l-0.8,0.8l0.2,0.6l0.3,0.4l0.1,0.2 l-0.1,0.1l-0.4,0.1l-0.3,0.1l-0.2,0.3l-0.9,0.9l0.2,0.2l-0.3,0.7l0.2,0.3l0.8,0.7l0.8,0.4v-0.7l0.4-0.1l0.4,0.2l0.4-0.2l-0.9-1h0.3 l2.5,0.5l-0.1-0.4l-0.1-0.2l-0.3-0.4l1.5-0.4l0.5-0.3l0.2-0.3l0.6-0.1l0.8-0.3l-0.1-0.1l0.1-0.3l-0.4-0.2l-0.5-0.1l0.1-0.3l0.5-0.1 l-0.8-0.7l-0.3-0.1l-1,0.1l-0.3,0.1v0.2l0.1,0.3l0.3,0.3l0.1,0.2l-0.2-0.1l-1.1-0.4l-0.2-0.1l-0.2-0.4l0.2-0.1l0.3,0.1l0.1-0.3 l-0.4-0.3l-0.4-0.1l-0.9,0.1L692.3,896.9L692.3,896.9z'\n    },\n    'FO': {\n      d: 'M947,186.9v-0.3l-0.1-0.3v-0.2h-0.1l-0.5-0.1l-0.1-0.2h-0.1v0.2l0.1,0.4l0.5,0.4L947,186.9L947,186.9L947,186.9zM947.5,184.8v-0.1l-0.2-0.2l-0.5-0.2l-0.2-0.1l-0.2,0.1v0.2l0.1,0.1l0.4,0.1l0.4,0.3h0.1L947.5,184.8L947.5,184.8z M945.1,182.9l-0.2-0.1l-0.5,0.1h-0.3l0.1,0.3l0.6,0.2h0.3h0.3l0.2-0.1l-0.1-0.2L945.1,182.9L945.1,182.9z M947.6,182.4l-0.8-0.2l-0.6-0.3l-1,0.1l0.7,1.1l0.8,0.7l0.4,0.2v-0.1v-0.2l-0.4-0.5l-0.1-0.1V183l0.1-0.1h0.2l0.3,0.2h0.2L947.6,182.4L947.6,182.4z M948.6,182.2l-0.3-0.2l-0.4-0.4v0.5v0.3v0.1h0.1l0.3,0.1L948.6,182.2L948.6,182.2z'\n    },\n    'FJ': {\n      d: 'M1976.7,674.4l-3.7,2l-1.9,0.3l-3.1,1.3l0.2,2.4l3.9-1.3l3.9-1.6L1976.7,674.4L1976.7,674.4z M1965.7,682.5l-1.6,1 l-2.3-0.8l-2.7,2.2l-0.2,2.8l2.9,0.8l3.6-0.9l1.8-3.3L1965.7,682.5L1965.7,682.5z'\n    },\n    'FI': {\n      d: 'M1093.4,144.4l0.8-3.8l-5.7-2.1l-5.8,1.8l-1.1,3.9l-3.4,2.4l-4.7-1.3l-5.3,0.3l-5.1-2.9l-2.1,1.4l5.9,2.7l7.2,3.7 l1.7,8.4l1.9,2.2l6.4,2.6l0.9,2.3l-2.6,1.2l-8.7,6.1l-3.3,3.6l-1.5,3.3l2.9,5.2l-0.1,5.7l4.7,1.9l3.1,3.1l7.1-1.2l7.5-2.1l8-0.5l0,0 l7.9-7.4l3.3-3.3l0.9-2.9l-7.3-3.9l0.9-3.7l-4.9-4.1l1.7-4.8l-6.4-6.3l2.8-4.1l-7.2-3.7L1093.4,144.4L1093.4,144.4z'\n    },\n    'FR': {\n      d: 'M1012.2,290.9l2.7,0.8l-0.5,2.7l-0.1,0.1l-0.3-0.2l-0.5,0.6l0,0.3l-3.6,2.6l-10-1.6l-7.4,2l-0.5,3.7l-6,0.8 l-1.3-0.7l0.7-0.3l0.2-0.4l-0.2-0.2l-0.7-0.2l-0.3-0.1l-0.4,0.3l-0.1,0.3l0.1,0.1v0.2l-3.7-1.8l-1.9,1.3l-9.4-2.8l-2-2.4l2.7-3.7 l1-12.3l-5.1-6.5l-3.6-3.1l-7.5-2.4l-0.4-4.6l6.4-1.3l8.2,1.6l-1.4-7l4.6,2.6l11.3-4.8l1.4-5.1l4.3-1.2l0.7,2.2l2.2,0.1l2.4,2.4 l3.4,2.9l2.5-0.4l4.4,2.8l0,0l1.1,0.5l1.4-0.1l2.4,1.6l7.1,1.2l-2.3,4.2l-0.5,4.5l-1.3,1l-2.3-0.6l0.2,1.6l-3.5,3.5v2.8l2.4-0.9 l1.8,2.7l0,0l-0.2,1.7l1.6,2.4l-1.7,1.8L1012.2,290.9z M1025.6,304.3l-1-6l-0.6,1.6l-2.7,1.1l-0.7,4.3l3,3.7L1025.6,304.3z'\n    },\n    'GF': {\n      d: 'M681.4,556.2l1.8-4.7l3.5-5.8l-0.9-2.6l-5.8-5.4l-4.1-1.5l-1.9-0.7l-3.1,5.5l0.4,4.4l2.1,3.7l-1,2.7l-0.6,2.9 l-1.4,2.8l2.4,1.3l1.8-1.8l1.2,0.3l0.8,1.8l2.7-0.5L681.4,556.2z'\n    },\n    'PF': {\n      d: 'M213.2,704.9l-0.1-0.3l-0.2-0.3l-0.1,0.1l0.1,0.1l0.2,0.3v0.2L213.2,704.9z M222.5,690.2l-0.2-0.2l-0.4-0.2 l-0.2-0.1l-0.2-0.1l-0.1,0.1l0.1,0.1h0.1l0.3,0.2l0.3,0.1L222.5,690.2L222.5,690.2L222.5,690.2L222.5,690.2z M198,689.1l-0.6-0.3 l0.1,0.2l0.4,0.2l0.2,0.1L198,689.1L198,689.1z M218.5,688.9l-0.4-0.5h-0.3L218.5,688.9L218.5,688.9z M196.9,687.9l-0.4-0.4 l-0.2-0.3l-0.3-0.1l0.1,0.1l0.4,0.4l0.3,0.4l0.2,0.1L196.9,687.9z M196.6,685.8l-0.1-0.1l0,0v-0.3l0.2-0.3l0.6-0.4v-0.1l0,0 l-0.2,0.1l-0.4,0.2l-0.2,0.2l-0.1,0.2l-0.1,0.3l0.1,0.2l0.1,0.1h0.2L196.6,685.8L196.6,685.8z M149.2,684.7l-0.2-0.6l-0.3-0.5 l-0.8-0.1l-0.5,0.2l-0.1,0.2l0.1,0.4l0.5,0.7l0.5,0.1l0.8-0.1l0.4,0.6l0.2,0.1l0.4,0.1l0.1-0.3l-0.2-0.5L149.2,684.7L149.2,684.7z M146.3,683.8l0.1-0.4l-0.2-0.1h-0.5v0.2l0.1,0.2l0.1,0.1l0.3,0.2L146.3,683.8L146.3,683.8z M136.6,679.5h0.2l-0.4-0.6l-0.3-0.2v0.1 v0.7l0.3,0.1L136.6,679.5z M180.5,677.9h-0.2H180h-0.1l0.5,0.1l0.4,0.2L180.5,677.9L180.5,677.9z M179.8,678l-0.3-0.1l-0.3-0.2h-0.3 l0.7,0.3H179.8L179.8,678z M136,678.1l0.1-0.2l-0.1-0.1l-0.4-0.2l0.1,0.3v0.2H136L136,678.1L136,678.1z M168.8,676.1l-0.3-0.4 l-0.2-0.3l-0.2-0.4l-0.4-0.5l0.1,0.3l0.1,0.2l0.2,0.2l0.2,0.4l0.1,0.2l0.3,0.4h0.1L168.8,676.1L168.8,676.1z M185,674.6l0.1-0.5 h-0.2L185,674.6L185,674.6L185,674.6z M170.6,673l-0.6-0.6h-0.1l0.1,0.2l0.5,0.5l0.1,0.2V673L170.6,673z M201.4,639.1l0.1-0.2v-0.2 l-0.1-0.1l-0.3-0.1l0.1,0.7L201.4,639.1L201.4,639.1z M198.7,635.4l-0.1-0.2h-0.2l-0.1,0.1v0.5L198.7,635.4L198.7,635.4z M198.8,633.8l-0.8,0.5l0.2,0.4l0.4,0.1l0.2-0.2l0.8-0.1l0.3-0.4l-0.3,0.1L198.8,633.8L198.8,633.8z M192.7,632.1l0.2-0.5l-0.2-0.1 l-0.4,0.2v0.2l0.3,0.4L192.7,632.1L192.7,632.1z M195.3,629l0.3-0.1v-0.1l-0.2-0.2l-0.3-0.1l-0.1,0.1l-0.1,0.2l0.1,0.3L195.3,629 L195.3,629z M192.4,628.9l0.1-0.3v-0.2l-0.1-0.2l-0.9-0.2l-0.1,0.1v0.4l0.2,0.5h0.3L192.4,628.9z'\n    },\n    'GA': {\n      d: 'M1050.2,557.7l-0.7-0.3l-3.4,0.8l-3.4-0.8l-2.6,0.4v7.6h-8.2l-1.9,0.3l-1.1,4.8l-1.3,4.6l-1.3,2l-0.2,2.1l3.4,6.6 l3.7,5.3l5.8,6.4l4.3-3.5l-2.1-4.2l1.9-1.6l3.8-0.8l0.5-2.8l3,3l4.9,0.3l1.7-3l0.8-4.3l-0.6-4.9l-2.7-3.8l2.4-7.4l-1.4-1.2l-4.2,0.5 l-1.5-3.3L1050.2,557.7L1050.2,557.7z'\n    },\n    'GM': {\n      d: 'M882.8,488.5l5,0.1l1.4-0.9h1l2.1-1.5l2.4,1.4l2.4,0.1l2.4-1.5l-1.1-1.8l-1.8,1.1l-1.8-0.1l-2.1-1.5l-1.8,0.1 l-1.3,1.5l-6.1,0.2L882.8,488.5L882.8,488.5z'\n    },\n    'GE': {\n      d: 'M1200,300.2l-7.5-2.9l-7.7-1l-4.5-1.1l-0.5,0.7l2.2,1.9l3,0.7l3.4,2.3l2.1,4.2l-0.3,2.7l5.4-0.3l5.6,3l6.9-1l1.1-1 l4.2,1.8l2.8,0.4l0.6-0.7l-3.2-3.4l1.1-0.9l-3.5-1.4l-2.1-2.5l-5.1-1.3l-2.9,1L1200,300.2L1200,300.2z'\n    },\n    'DE': {\n      d: 'M1043.6,232.3l-2.4-1.9l-5.5-2.4l-2.5,1.7l-4.7,1.1l-0.1-2.1l-4.9-1.4l-0.2-2.3l-3,0.9l-3.6-0.8l0.4,3.4l1.2,2.2 l-3,3l-1-1.3l-3.9,0.3l-0.9,1.3l1,2l-1,5.6l-1.1,2.3h-2.9l1.1,6.4l-0.4,4.2l1,1.4l-0.2,2.7l2.4,1.6l7.1,1.2l-2.3,4.2l-0.5,4.5h4.2 l1-1.4l5.4,1.9l1.5-0.3l2.6,1.7l0.6-1.6l4.4,0.3l3.4-1.2l2.4,0.2l1.7,1.3l0.4-1.1l-1-4l1.7-0.8l1.5-2.9l-2.9-2.6l-2.6-1.5l-0.7-2.6 l-1-1.9l3.4-1.3l1.7-1.5l3.4-1.2l1.1-1.2l1.4,0.7l2.1-0.6l-2.3-3.9l0.1-2.1l-1.4-3.3l-2-2.2l1.2-1.6L1043.6,232.3L1043.6,232.3z'\n    },\n    'GH': {\n      d: 'M976.8,502.1l-2.6-0.5l-1.8,1l-2.4-0.5l-9.7,0.3l-0.2,3.6l0.8,4.8l1.4,9.1l-2.3,5.3l-1.5,7.2l2.4,5.5l-0.2,2.5 l5,1.8l5-1.9l3.2-2.1l8.7-3.8l-1.2-2.2l-1.5-4l-0.4-3.2l1.2-5.7l-1.4-2.3l-0.6-5.1l0.1-4.6l-2.4-3.3L976.8,502.1L976.8,502.1z'\n    },\n    'GR': {\n      d: 'M1101.9,344.9l-0.8,2.8l6.6,1.2v1.1l7.6-0.6l0.5-1.9l-2.8,0.8v-1.1l-3.9-0.5l-4.1,0.4L1101.9,344.9L1101.9,344.9z M1113.4,307.5l-2.7-1.6l0.3,3l-4.6,0.6l-3.9-2.1l-3.9,1.7l-3.8-0.2l-1,0.2l-0.7,1.1l-2.8-0.1l-1.9,1.3l-3.3,0.6v1.6l-1.6,0.9 l-0.1,2.1l-2.1,3l0.5,1.9l2.9,3.6l2.3,3l1.3,4.3l2.3,5.1l4.6,2.9l3.4-0.1l-2.4-5.7l3.3-0.7l-1.9-3.3l5,1.7l-0.4-3.7l-2.7-1.8l-3.2-3 l1.8-1.4l-2.8-3l-1.6-3.8l0.9-1.3l3,3.2h2.9l2.5-1l-3.9-3.6l6.1-1.6l2.7,0.6l3.2,0.2l1.1-0.7L1113.4,307.5L1113.4,307.5z'\n    },\n    'GL': {\n      d: 'M887.4,76.3l-26-0.4l-11.8,0.3l-5,1.3l-11.5-0.1l-12.7,2.1l-1.6,1.7l6.7,2.1l-6.2-1.3l-4.5-0.3l-7-1.4l-10.6,2.1 l-2.7-1.2h-10.4l-10.9,0.6l-8.9,1l-0.2,1.8l-5.3,0.5L744.2,88l-4.6,1.7l8.1,1.5l-2.8,1.6L730,95l-15.5,2.2l-2.2,1.7l6.4,2l14.5,1.2 l-7.5,0.2l-10.9,1.5l3.8,3.1l3,1.5l9.4-0.3l10.1-0.2l7.6,0.3l8,2.9l-1.4,2.1l3.6,1.9l1.4,5.3l1,3.6l1.4,1.9l-7,4.8l2.6,1.3l4.4-0.8 l2.6,1.8l5.3,3.4l-7.5-1.4h-3.8l-3,2.8l-1.5,3.6l4.2,1.8l4-0.8l2.6-0.8l5.5-1.9l-2.8,4.2l-2.6,2.3l-7.1,2l-7,6.3l2,2l-3.4,4l3.7,5.2 l-1.5,5l0.7,3.7l4.8,7.1l0.8,5.6l3.1,3.2h8.9l5,4.7l6.5-0.3l4.1-5.7l3.5-4.8l-0.3-4.4l8.6-4.6l3.3-3.7l1.4-3.9l4.7-3.5l6.5-1.3 l6.1-1.4l3-0.2l10.2-3.9l7.4-5.7l4.8-2.1l4.6-0.1l12.5-1.8l12.1-4.3l11.9-4.6l-5.5-0.3l-10.6-0.2l5.3-2.8l-0.5-3.6l4.2,3l2.7,2.1 l7.3-1l-0.6-4.3l-4.5-3.1l-5-1.3l2.4-1.4l7.2,2.1l0.5-2.3l-4.1-3.4h5.4l5.6-0.8l1.7-1.8l-4-2.1l8.6-0.3l-4-4.3l4.1-0.5l0.1-4.2 l-6.2-2.5l6.4-1.6l5.8-0.1l-3.6-3.2l1.1-5.1l3.6-2.9l4.9-3.2l-8-0.2l11.3-0.7l2.2-1l14.6-2.9l-1.6-1.7l-10-0.8l-16.9,1.5l-9.2,1.5 l4.5-2.3l-2.3-1.4l-7,1.2l-9.7-1.4l-12.1,0.5l-1.4-0.7l18.3-0.4l12.9-0.2l6.6-1.4L887.4,76.3L887.4,76.3z'\n    },\n    'GD': {\n      d: 'M632.1,495.7l0.5-0.2l0.2-1.1l-0.3-0.1l-0.3,0.3l-0.3,0.5v0.4l-0.2,0.3L632.1,495.7L632.1,495.7z'\n    },\n    'GP': {\n      d: 'M636.4,471.1l0.2-0.2v-0.3l-0.2-0.3l-0.2,0.1l-0.2,0.3v0.3l0.1,0.1H636.4L636.4,471.1z M634.5,470.3l0.2-0.2v-1.2 l0.1-0.3l-0.2-0.1l-0.2-0.2l-0.6-0.2l-0.1,0.1l-0.2,0.3l0.1,1.5l0.2,0.5l0.2,0.1L634.5,470.3L634.5,470.3z M636.1,468.9l0.8-0.2 l-0.9-0.6l-0.2-0.4v-0.3l-0.4-0.3l-0.2,0.2l-0.1,0.3l0.1,0.5l-0.3,0.4l0.1,0.4l0.4,0.1L636.1,468.9L636.1,468.9z'\n    },\n    'GT': {\n      d: 'M482.8,458.9l-5.1-0.1h-5.2l-0.4,3.6h-2.6l1.8,2.1l1.9,1.5l0.5,1.4l0.8,0.4l-0.4,2.1H467l-3.3,5.2l0.7,1.2l-0.8,1.5 l-0.4,1.9l2.7,2.6l2.5,1.3l3.4,0.1l2.8,1.1l0.2-1l2.1-1.6l1.1-0.7l-0.2-0.7l1.4-0.4l1.3-1.6l-0.3-1.3l0.5-1.2l2.8-1.8l2.8-2.4 l-1.5-0.8l-0.6,0.9l-1.7-1.1h-1.6l1.2-7.2L482.8,458.9L482.8,458.9z'\n    },\n    'GN': {\n      d: 'M912.4,493l-0.8,0.4l-3-0.5l-0.4,0.7l-1.3,0.1l-4-1.5l-2.7-0.1l-0.1,2.1l-0.6,0.7l0.4,2.1l-0.8,0.9h-1.3l-1.4,1 l-1.7-0.1l-2.6,3.1l1.6,1.1l0.8,1.4l0.7,2.8l1.3,1.2l1.5,0.9l2.1,2.5l2.4,3.7l3-2.8l0.7-1.7l1-1.4l1.5-0.2l1.3-1.2h4.5l1.5,2.3 l1.2,2.7L917,515l0.9,1.7v2.3l1.5-0.3l1.2-0.2l1.5-0.7l2.3,3.9l-0.4,2.6l1.1,1.3l1.6,0.1l1.1-2.6l1.6,0.2h0.9l0.3-2.8l-0.4-1.2 l0.6-0.9l2-0.8l-1.3-5.1l-1.3-2.6l0.5-2.2l1.1-0.5l-1.7-1.8l0.3-1.9l-0.7-0.7l-1.2,0.6l0.2-2.1l1.2-1.6l-2.3-2.7l-0.6-1.7l-1.3-1.4 l-1.1-0.2l-1.3,0.9l-1.8,0.8l-1.6,1.4l-2.4-0.5l-1.5-1.6l-0.9-0.2l-1.5,0.8h-0.9L912.4,493L912.4,493z'\n    },\n    'GW': {\n      d: 'M900.2,492.1l-10.3-0.3l-1.5,0.7l-1.8-0.2l-3,1.1l0.3,1.3l1.7,1.4v0.9l1.2,1.8l2.4,0.5l2.9,2.6l2.6-3.1l1.7,0.1 l1.4-1h1.3l0.8-0.9l-0.4-2.1l0.6-0.7L900.2,492.1L900.2,492.1z'\n    },\n    'GY': {\n      d: 'M656.1,534.2l-2.1-2.3l-2.9-3.1l-2.1-0.1l-0.1-3.3l-3.3-4.1l-3.6-2.4l-4.6,3.8l-0.6,2.3l1.9,2.3l-1.5,1.2l-3.4,1.1 v2.9l-1.6,1.8l3.7,4.8l2.9-0.3l1.3,1.5l-0.8,2.8l1.9,0.9l1.2,3l-1.6,2.2l-1,5.4l1.4,3.3l0.3,2.9l3.5,3l2.7,0.3l0.7-1.3l1.7-0.2 l2.6-1.1l1.8-1.7l3.1,0.5l1.4-0.2l-3.3-5.6L655,551l-1.8-0.1l-2.4-4.6l1.1-3.3l-0.3-1.5l3.5-1.6L656.1,534.2L656.1,534.2z'\n    },\n    'HT': {\n      d: 'M580.6,446.7l-4.6-1l-3.4-0.2l-1.4,1.7l3.4,1l-0.3,2.4l2.2,2.8l-2.1,1.4l-4.2-0.5l-5-0.9l-0.7,2.1l2.8,1.9l2.7-1.1 l3.3,0.4l2.7-0.4l3.6,1.1l0.2-1.8l-1.2-1.9l1.5-1.1l0.7-2.4L580.6,446.7z'\n    },\n    'HN': {\n      d: 'M514.1,476.8l-1.3-1.8l-1.9-1l-1.5-1.4l-1.6-1.2l-0.8-0.1l-2.5-0.9l-1.1,0.5l-1.5,0.2l-1.3-0.4l-1.7-0.4l-0.8,0.7 l-1.8,0.7l-2.6,0.2l-2.5-0.6l-0.9,0.4l-0.5-0.6l-1.6,0.1l-1.3,1.1l-0.6-0.2l-2.8,2.4l-2.8,1.8l-0.5,1.2l0.3,1.3l-1.3,1.6l1.5,0.5 l1.1,1.3l1.6,1l0.1,0.9l2.5-0.8l1.1,0.5l0.7,0.7l-0.6,2.5l1.7,0.6l0.7,2l1.8-0.3l0.8-1.5h0.8l0.2-3.1l1.3-0.2h1.2l1.4-1.7l1.5,1.3 l0.6-0.8l1.1-0.7l2.1-1.8l0.3-1.3l0.5,0.1l0.8-1.5l0.6-0.2l0.9,0.9l1.1,0.3l1.3-0.8h1.4l2-0.8l0.9-0.9L514.1,476.8L514.1,476.8z'\n    },\n    'HK': {\n      d: 'M1604.9,430.9v-0.2v-0.2l-0.4-0.2h-0.3l0.1,0.2l0.4,0.5L1604.9,430.9L1604.9,430.9z M1603.6,430.9l-0.1-0.5l0.2-0.3 l-0.9,0.3l-0.1,0.3v0.1l0.2,0.1H1603.6L1603.6,430.9z M1605.2,429.7l-0.1-0.3l-0.2-0.1l-0.1-0.3l-0.1-0.2l0,0l-0.3-0.1l-0.2-0.1 h-0.4l-0.1,0.1h-0.2l-0.2,0.2l0,0v0.2l-0.5,0.4v0.2l0.3,0.2l0.5-0.1l0.6,0.2l0.8,0.3v-0.2v-0.3L1605.2,429.7L1605.2,429.7z'\n    },\n    'HU': {\n      d: 'M1079.1,263.8l-1.6,0.4l-1,1.5l-2.2,0.7l-0.6-0.4l-2.3,1l-1.9,0.2l-0.3,1.2l-4.1,0.8l-1.9-0.7l-2.6-1.6l-0.2,2.6 h-2.8l1.1,1.3l-1.3,4l0.8,0.1l1.2,2.1l1.6,0.8l4,2.6l4.2,1.2l1.8-0.9l0,0l3.7-1.6l3.2,0.2l3.8-1.1l2.6-4.3l1.9-4.2l2.9-1.3l-0.6-1.6 l-2.9-1.7l-1,0.6L1079.1,263.8L1079.1,263.8z'\n    },\n    'IS': {\n      d: 'M915.7,158.6l-6.9-0.4l-7.3,2.9l-5.1-1.5l-6.9,3l-5.9-3.8l-6.5,0.8l-3.6,3.7l8.7,1.3l-0.1,1.6l-7.8,1.1l8.8,2.7 l-4.6,2.5l11.7,1.8l5.6,0.8l3.9-1l12.9-3.9l6.1-4.2l-4.4-3.8L915.7,158.6L915.7,158.6z'\n    },\n    'IN': {\n      d: 'M1414.1,380.1l-8.5-4.4l-6.2-4l-3.2-7l4.1,0.9l-0.6-3.3l-3-3.3l-0.8-5.2l-7.6-7.5l-3.7,5.4l-5.7,1l-8.5-1.6 l-1.9,2.8l3.2,5.6l2.9,4.3l5,3.1l-3.7,3.7l1,4.5l-3.9,6.3l-2.1,6.5l-4.5,6.7l-6.4-0.5l-4.9,6.6l4,2.9l1.3,4.9l3.5,3.2l1.8,5.5h-12 l-3.2,4.2l7.1,5.4l1.9,2.5l-2.4,2.3l8,7.7l4,0.8l7.6-3.8l1.7,5.9l0.8,7.8l2.5,8.1l3.6,12.3l5.8,8.8l1.3,3.9l2,8l3.4,6.1l2.2,3 l2.5,6.4l3.1,8.9l5.5,6l2.2-1.8l1.7-4.4l5-1.8l-1.8-2.1l2.2-4.8l2.9-0.3l-0.7-10.8l1.9-6.1l-0.7-5.3l-1.9-8.2l1.2-4.9l2.5-0.3 l4.8-2.3l2.6-1.6l-0.3-2.9l5-4.2l3.7-4l5.3-7.5l7.4-4.2l2.4-3.8l-0.9-4.8l6.6-1.3l3.7,0.1l0.5-2.4l-1.6-5.2l-2.6-4.8l0.4-3.8 l-3.7-1.7l0.8-2.3l3.1-2.4l-4.6-3.4l1.2-4.3l4.8,2.7l2.7,0.4l1.2,4.4l5.4,0.9l5-0.1l3.4,1.1l-1.6,5.3l-2.4,0.4l-1.1,3.6l3.5,3.3 l0.2-4l1.5-0.1l4.5,10.1l2.4-1.5l-0.9-2.7l0.9-2.1l-0.9-6.6l4.6,1.4l1.5-5.2l-0.3-3.1l2.1-5.4l-0.9-3.6l6.1-4.4l4.1,1.1l-1.3-3.9 l1.6-1.2l-0.9-2.4l-6.1-0.9l1.2-2.7l-3.5-3.9l-3.2,2.6l-4.9-1.5l-5.3,4l-3.9,4.8l-4.2,0.8l2.7,2l0.4,3.9l-4.4,0.2l-4.7-0.4l-3.2,1 l-5.5-2.5l-0.3-1.2l-1.5-5.1l-3,1.4l0.1,2.7l1.5,4.1l-0.1,2.5l-4.6,0.1l-6.8-1.5l-4.3-0.6l-3.8-3.2l-7.6-0.9l-7.7-3.5l-5.8-3.1 l-5.7-2.5l0.9-5.9L1414.1,380.1L1414.1,380.1z'\n    },\n    'ID': {\n      d: 'M1651.9,637.3l0.5-1.7l-1.8-1.9l-2.8-2l-5.3,1.3l7,4.4L1651.9,637.3L1651.9,637.3z M1672.8,636.7l4-4.8l0.1-1.9 l-0.5-1.3l-5.7,2.6l-2.8,3.9l-0.7,2.1l0.6,0.8L1672.8,636.7L1672.8,636.7z M1637.2,623.7l-1.6,2.2l-3.1,0.1l-2.2,3.6l3,0.1l3.9-0.9 l6.6-1.2l-1.2-2.8l-3.5,0.6L1637.2,623.7L1637.2,623.7z M1665.3,623.7l-5.2,2.3l-3.8,0.5l-3.4-1.9l-4.5,1.3l-0.2,2.3l7.4,0.8 l8.6-1.8L1665.3,623.7L1665.3,623.7z M1585.8,615.3l-0.7-2.3l-2.3-0.5l-4.4-2.4l-6.8-0.4l-4.1,6.1l5.1,0.4l0.8,2.8l10,2.6l2.4-0.8 l4.1,0.6l6.3,2.4l5.2,1.2l5.8,0.5l5.1-0.2l5.9,2.5l6.6-2.4l-6.6-3.8l-8.3-1.1l-1.8-4.1l-10.3-3.1l-1.3,2.6L1585.8,615.3 L1585.8,615.3z M1732.4,611.7l0.2-3l-1.2-1.9l-1.3,2.2l-1.2,2.2l0.3,4.8L1732.4,611.7z M1691.4,594.2l-1.4-2.1l-5.7,0.3l1,2.7 l3.9,1.2L1691.4,594.2L1691.4,594.2z M1709.5,591.8l-6.1-1.8l-6.9,0.3l-1.5,3.5l3.9,0.2l3.2-0.4l4.6,0.5l4.7,2.6L1709.5,591.8 L1709.5,591.8z M1730.5,579.5l-0.8-2.4l-9-2.6l-2.9,2.1l-7.6,1.5l2.3,3.2l5,1.2l2.1,3.7l8.3,0.1l0.4,1.6l-4-0.1l-6.2,2.3l4.2,3.1 l-0.1,2.8l1.2,2.3l2.1-0.5l1.8-3.1l8.2,5.9l4.6,0.5l10.6,5.4l2.3,5.3l1,6.9l-3.7,1.8l-2.8,5.2l7.1-0.2l1.6-1.8l5.5,1.3l4.6,5.2 l1.5-20.8l1-20.7l-6-1.2l-4.1-2.3l-4.7-2.2h-5l-6.6,3.8l-4.9,6.8l-5.7-3.8L1730.5,579.5z M1680.5,563.1l-1-1.4l-5.5,4.6l-6.5,0.3 l-7.1-0.9l-4.4-1.9l-4.7,4.8l-1.2,2.6l-2.9,9.6l-0.9,5l-2.4,4.2l1.6,4.3l2.3,0.1l0.6,6.1l-1.9,5.9l2.3,1.9l3.6-1l0.3-9.1l-0.2-7.4 l3.8-1.9l-0.7,6.2l3.9,3.7l-0.8,2.5l1.3,1.7l5.6-2.4l-3,5.2l2.1,2.2l3.1-1.9l0.3-4.1l-4.7-7.4l1.1-2.2l-5.1-8.1l5-2.5l2.6-3.7 l2.4,0.9l0.5-2.9l-10.5,2.1l-3.1,2.9l-5-5.6l0.9-4.8l4.9-1l9.3-0.3l5.4,1.3l4.3-1.3L1680.5,563.1L1680.5,563.1z M1699.9,565 l-0.6-2.6l-3.3-0.6l-0.5-3.5l-1.8,2.3l-1,5.1l1.7,8.2l2.2,4l1.6-0.8l-2.3-3.3l0.9-3.9l2.9,0.6L1699.9,565L1699.9,565z M1639,560.5 l0.9-2.9l-4.3-6l3-5.8l-5-1h-6.4l-1.7,7.2l-2,2.2l-2.7,8.9l-4.5,1.3l-5.4-1.8l-2.7,0.6l-3.2,3.2l-3.6-0.4l-3.6,1.2l-3.9-3.5l-1-4.3 l-3.3,4.2l-0.6,5.9l0.8,5.6l2.6,5.4l2.8,1.8l0.7,8.5l4.6,0.8l3.6-0.4l2,3.1l6.7-2.3l2.8,2l4,0.4l2,3.9l6.5-2.9l0.8,2.3l2.5-9.7 l0.3-6.4l5.5-4.3l-0.2-5.8l1.8-4.3l6.7-0.8L1639,560.5L1639,560.5z M1570.3,609.4l0.7-9.8l1.7-8l-2.6-4l-4.1-0.5l-1.9-3.6l-0.9-4.4 l-2-0.2l-3.2-2.2l2.3-5.2l-4.3-2.9l-3.3-5.3l-4.8-4.4l-5.7-0.1l-5.5-6.8l-3.2-2.7l-4.5-4.3l-5.2-6.2l-8.8-1.2l-3.6-0.3l0.6,3.2 l6.1,7l4.4,3.6l3.1,5.5l5.1,4l2.2,4.9l1.7,5.5l4.9,5.3l4.1,8.9l2.7,4.8l4.1,5.2l2.2,3.8l7,5.2l4.5,5.3L1570.3,609.4L1570.3,609.4z'\n    },\n    'IR': {\n      d: 'M1213.5,324.4l-3.2-2.9l-1.2-2.4l-3.3,1.8l2.9,7.3l-0.7,2l3.7,5.2l0,0l4.7,7.8l3.7,1.9l1,3.8l-2.3,2.2l-0.5,5 l4.6,6.1l7,3.4l3.5,4.9l-0.2,4.6h1.7l0.5,3.3l3.4,3.4l1.7-2.5l3.7,2.1l2.8-1l5.1,8.4l4.3,6.1l5.5,1.8l6.1,4.9l6.9,2.1l5.1-3.1l4-1.1 l2.8,1.1l3.2,7.8l6.3,0.8l6.1,1.5l10.5,1.9l1.2-7.4l7.4-3.3l-0.9-2.9l-2.7-1l-1-5.7l-5.6-2.7l-2.8-3.9l-3.2-3.3l3.9-5.8l-1.1-4 l-4.3-1.1l-1.1-4l-2.7-5.1l1.6-3.5l-2.5-0.9l0.5-4.7l0.5-8l-1.6-5.5l-3.9-0.2l-7.3-5.7l-4.3-0.7l-6.5-3.3l-3.8-0.6l-2.1,1.2 l-3.5-0.2l-3,3.7l-4.4,1.2l-0.2,1.6l-7.9,1.7l-7.6-1.1l-4.3-3.3l-5.2-1.3l-2.5-4.8l-1.3,0.3l-3.8-3.4l1.2-3.1l-1.9-1.9l-1.9,0.5 l-5.3,4.7l-1.8,0.2L1213.5,324.4L1213.5,324.4z'\n    },\n    'IQ': {\n      d: 'M1207.3,334.9l-6.2-0.9l-2.1,1l-2.1,4.1l-2.7,1.6l1.2,4.7l-0.9,7.8l-11,6.7l3.1,7.7l6.7,1.7l8.5,4.5l16.7,12.7 l10.2,0.5l3.2-6.1l3.7,0.5l3.2,0.4l-3.4-3.4l-0.5-3.3h-1.7l0.2-4.6l-3.5-4.9l-7-3.4l-4.6-6.1l0.5-5l2.3-2.2l-1-3.8l-3.7-1.9 l-4.7-7.8l0,0l-2.3,1.1L1207.3,334.9L1207.3,334.9z'\n    },\n    'IE': {\n      d: 'M947.3,231.7l-3.5-1.3l-2.9,0.1l1.1-3.2l-0.8-3.2l-3.7,2.8l-6.7,4.7l2.1,6.1l-4.2,6.4l6.7,0.9l8.7-3.6l3.9-5.4 L947.3,231.7L947.3,231.7z'\n    },\n    'IL': {\n      d: 'M1167.8,360.5l-1.4,0.1l-0.4,1.1h-1.8l-0.1,0.1l-0.6,1.6l-0.6,4.8l-1.1,2.9l0.4,0.4l-1.4,2.1l0,0l3.9,9.2l0.7,1.7 l1.7-10.2l-0.4-2.4l-2.4,0.8l0.1-1.7l1.2-0.8l-1.4-0.7l0.7-4.3l2,0.9l0.7-2h-0.1l0.6-1L1167.8,360.5L1167.8,360.5z'\n    },\n    'IT': {\n      d: 'M1057.8,328.6l-1.6,5.1l0.9,2l-0.9,3.3l-4.2-2.4l-2.7-0.7l-7.5-3.3l0.6-3.4l6.2,0.6l5.2-0.7L1057.8,328.6z M1072.3,316.2l-0.8,2.3l-3.1-3l-4.5-1l-1.9,4.1l3.9,2.3l-0.4,3.3l-2.1,0.4l-2.5,5.6l-2.1,0.5l-0.1-2l0.8-3.5l1.1-1.3l-2.3-3.7 l-1.8-3.2l-2.2-0.8l-1.7-2.7l-3.4-1.2l-2.3-2.5l-3.9-0.4l-4.2-2.8l-4.9-4l-3.6-3.6l-1.9-6l-2.6-0.7l-4.2-2.1l-2.3,0.9l-2.8,2.8 l-2.1,0.5l0.5-2.7l-2.7-0.8l-1.5-4.8l1.7-1.8l-1.6-2.4l0.2-1.7l2.2,1.3l2.4-0.3l2.7-2.1l0.9,1l2.4-0.2l0.9-2.5l3.8,0.8l2.1-1.1 l0.3-2.5l3.1,0.9l0.5-1.2l4.8-1.1l1.3,2.2l7.2,1.6l-0.3,3l1.4,2.7l-4.1-0.9l-3.9,2.2l0.4,3l-0.5,1.8l1.9,3.1l4.9,3.1l2.9,5.1l6,5 l4-0.1l1.4,1.4l-1.4,1.2l4.8,2.3l3.9,1.9l4.7,3.2L1072.3,316.2z M1040.2,305.3l-0.1-0.6l-0.6,0.1l-0.2,0.5H1040.2z M1040.3,292.4 l-0.9,0.3l0.2,0.9l0.7-0.1L1040.3,292.4z M1021.6,311.6l-2.8-0.3l1.3,3.6l0.4,7.6l2.1,1.7l2-2.1l2.4,0.4l0.4-8.4l-3.3-4.4 L1021.6,311.6z'\n    },\n    'CI': {\n      d: 'M946.5,506.2l-2.3,0.9l-1.3,0.8l-0.9-2.7l-1.6,0.7l-1-0.1l-1,1.9l-4.3-0.1l-1.6-1l-0.7,0.6l-1.1,0.5l-0.5,2.2 l1.3,2.6l1.3,5.1l-2,0.8l-0.6,0.9l0.4,1.2l-0.3,2.8h-0.9l-0.3,1.8l0.6,3.1l-1.2,2.8l1.6,1.8l1.8,0.4l2.3,2.7l0.2,2.5l-0.5,0.8 l-0.5,5.2l1.1,0.2l5.6-2.4l3.9-1.8l6.6-1.1l3.6-0.1l3.9,1.3l2.6-0.1l0.2-2.5l-2.4-5.5l1.5-7.2l2.3-5.3l-1.4-9.1l-3.8-1.6l-2.7,0.2 l-1.9,1.6l-2.5-1.3l-1-2.1L946.5,506.2L946.5,506.2z'\n    },\n    'JM': {\n      d: 'M550.7,458.5l3.9-0.1l-0.8-1.8l-2.7-1.5l-3.7-0.6l-1.2-0.2l-2.4,0.4l-0.8,1.5l2.9,2.3l3,1L550.7,458.5L550.7,458.5z '\n    },\n    'JP': {\n      d: 'M1692.5,354.9l-4.5-1.3l-1.1,2.7l-3.3-0.8l-1.3,3.8l1.2,3l4.2,1.8l-0.1-3.7l2.1-1.5l3.1,2.1l1.3-3.9L1692.5,354.9 L1692.5,354.9z M1716.9,335.6l-3.6-6.7l1.3-6.4l-2.8-5.2l-8.1-8.7l-4.8,1.2l0.2,3.9l5.1,7.1l1,7.9l-1.7,2.5l-4.5,6.5l-5-3.1v11.5 l-6.3-1.3l-9.6,1.9l-1.9,4.4l-3.9,3.3l-1.1,4l-4.3,2l4,4.3l4.1,1.9l0.9,5.7l3.5,2.5l2.5-2.7l-0.8-10.8l-7.3-4.7l6.1-0.1l5-3l8.6-1.4 l2.4,4.8l4.6,2.4l4.4-7.3l9.1-0.4l5.4-3l0.6-4.6l-2.5-3.2L1716.9,335.6L1716.9,335.6z M1705.1,291.4l-5.3-2.1l-10.4-6.4l1.9,4.8 l4.3,8.5l-5.2,0.4l0.6,4.7l4.6,6.1h5.7l-1.6-6.8l10.8,4.2l0.4-6.1l6.4-1.7l-6-6.9l-1.7,2.6L1705.1,291.4L1705.1,291.4z'\n    },\n    'JO': {\n      d: 'M1186.6,367.6l-3.1-7.7l-9.6,6.7l-6.3-2.5l-0.7,2l0.4,3.9l-0.6,1.9l0.4,2.4l-1.7,10.2l0.3,0.9l6.1,1l2.1-2l1.1-2.3 l4-0.8l0.7-2.2l1.7-1l-6.1-6.4l10.4-3.1L1186.6,367.6L1186.6,367.6z'\n    },\n    'KZ': {\n      d: 'M1308.8,223.8l-9-1.3l-3.1,2.5l-10.8,2.2l-1.7,1.5l-16.8,2.1l-1.4,2.1l5,4.1l-3.9,1.6l1.5,1.7l-3.6,2.9l9.4,4.2 l-0.2,3l-6.9-0.3l-0.8,1.8l-7.3-3.2l-7.6,0.2l-4.3,2.5l-6.6-2.4l-11.9-4.3l-7.5,0.2l-8.1,6.6l0.7,4.6l-6-3.6l-2.1,6.8l1.7,1.2 l-1.7,4.7l5.3,4.3l3.6-0.2l4.2,4.1l0.2,3.2l2.8,1l4.4-1.3l5-2.7l4.7,1.5l4.9-0.3l1.9,3.9l0.6,6l-4.6-0.9l-4,1l0.9,4.5l-5-0.6l0.6,2 l3.2,1.6l3.7,5.5l6.4,2.1l1.5,2.1l-0.7,2.6l0.7,1.5l1.8-2l5.5-1.3l3.8,1.7l4.9,4.9l2.5-0.3l-6.2-22.8l11.9-3.6l1.1,0.5l9.1,4.5 l4.8,2.3l6.5,5.5l5.7-0.9l8.6-0.5l7.5,4.5l1.5,6.2l2.5,0.1l2.6,5l6.6,0.2l2.3,3h1.9l0.9-4.5l5.4-4.3l2.5-1.2l0.3-2.7l3.1-0.8 l9.1,2.1l-0.5-3.6l2.5-1.3l8.1,2.6l1.6-0.7l8.6,0.2l7.8,0.6l3.3,2.2l3.5,0.9l-1.7-3.5l2.9-1.6l-8.7-10.7l9-2.4l2-1.4l-1-11.1l10.7,2 l1.6-2.8l-2.5-6.2l3.8-0.6l1.8-4.2l-4.3-3.8l-6,0.9l-3.3-2.6l-3.9-1.2l-4.1-3.6l-3.2-1.1l-6.2,1.6l-8.3-3.6l-1.1,3.3l-18.1-15.5 l-8.3-4.7l0.8-1.9l-9.1,5.7l-4.4,0.4l-1.2-3.3l-7-2.1l-4.3,1.5L1308.8,223.8L1308.8,223.8z'\n    },\n    'KE': {\n      d: 'M1211.7,547.2h-3.8l-2.3-2.1l-5.1,2.6l-1.6,2.7l-3.8-0.5l-1.2-0.7l-1.3,0.1h-1.8l-7.2-5.4h-3.9l-2-2.1v-3.6 l-2.9-1.1l-3.8,4.2l-3.4,3.8l2.7,4.4l0.7,3.2l2.6,7.3l-2.1,4.7l-2.7,4.2l-1.6,2.6v0.3l1.4,2.4l-0.4,4.7l20.2,13l0.4,3.7l8,6.3 l2.2-2.1l1.2-4.2l1.8-2.6l0.9-4.5l2.1-0.4l1.4-2.7l4-2.5l-3.3-5.3l-0.2-23.2L1211.7,547.2L1211.7,547.2z'\n    },\n    'KW': {\n      d: 'M1235.6,381.4l-3.7-0.5l-3.2,6.1l4.9,0.6l1.7,3.1l3.8-0.2l-2.4-4.8l0.3-1.5L1235.6,381.4L1235.6,381.4z'\n    },\n    'KG': {\n      d: 'M1387.2,302.6l-3.5-0.9l-3.3-2.2l-7.8-0.6l-8.6-0.2l-1.6,0.7l-8.1-2.6l-2.5,1.3l0.5,3.6l-9.1-2.1l-3.1,0.8l-0.3,2.7 l1.8,0.6l-3.1,4.1l4.6,2.3l3.2-1.6l7.1,3.3l-5.2,4.5l-4.1-0.6l-1.4,2l-5.9-1.1l0.6,3.7l5.4-0.5l7.1,2l9.5-0.9l1-1.5l-1.1-1.5l4-3 l3.2-1.2l5.7,0.9l0.6-4l6.4-0.8l1-2.4l6.8-3.4L1387.2,302.6L1387.2,302.6z'\n    },\n    'LA': {\n      d: 'M1574.8,481.8l0.2-6.4l-2-4.5l-4.8-4.4l-4.3-5.6l-5.7-7.5l-7.3-3.8l1.3-2.3l3.3-1.7l-3-5.5l-6.8-0.1l-3.4-5.7 l-4-5.1l-2.7,1l1.9,7.2l-2.9-0.1l-0.7-1.5l-4.1,4.1l-0.8,2.4l2.6,1.9l0.9,3.8l3.8,0.3l-0.4,6.7l1,5.7l5.3-3.8l1.8,1.2l3.2-0.2 l0.8-2.2l4.3,0.4l4.9,5.2l1.3,6.3l5.2,5.5l0.5,5.4l-1.5,2.9l4.9,2.4l2-4.3L1574.8,481.8L1574.8,481.8z'\n    },\n    'LV': {\n      d: 'M1102.1,210.1h-3.8l-4.4-2.2l-2.1-0.7l-3.7,1l-0.2,4.6l-3.6,0.1l-4.4-4.5l-4,2.1l-1.7,3.7l0.5,4.5l5-1.9l7.9,0.4 l4.4-0.6l0.9,1.3l2.5,0.4l5,2.9l2.6-1l4.6-2.3l-2.1-3.6l-1-2.8L1102.1,210.1L1102.1,210.1z'\n    },\n    'LB': {\n      d: 'M1167.8,360.5l0.9-3.5l2.6-2.4l-1.2-2.5l-2.4-0.3l-0.1,0.2l-2.1,4.5l-1.3,5.2h1.8l0.4-1.1L1167.8,360.5 L1167.8,360.5z'\n    },\n    'LS': {\n      d: 'M1128.1,766.5l1.1-2l3.1-1l1.1-2.1l1.9-3.1l-1.7-1.9l-2.3-2l-2.6,1.3l-3.1,2.5l-3.2,4l3.7,4.9L1128.1,766.5 L1128.1,766.5z'\n    },\n    'LR': {\n      d: 'M929.4,523.3l-1.6-0.2l-1.1,2.6l-1.6-0.1l-1.1-1.3l0.4-2.6l-2.3-3.9l-1.5,0.7l-1.2,0.2l-2.6,3l-2.6,3.4l-0.3,1.9 l-1.3,2l3.7,4.1l4.8,3.5l5.1,4.8l5.7,3.1l1.5-0.1l0.5-5.2l0.5-0.8l-0.2-2.5l-2.3-2.7l-1.8-0.4l-1.6-1.8l1.2-2.8l-0.6-3.1 L929.4,523.3L929.4,523.3z'\n    },\n    'LY': {\n      d: 'M1111.8,371.4l-1.5-2.1l-5.4-0.8l-1.8-1.1h-2l-2-2.8l-7.3-1.3l-3.6,0.8l-3.7,3l-1.5,3.1l1.5,4.8l-2.4,3l-2.5,1.6 l-5.9-3.1l-7.7-2.7l-4.9-1.2l-2.8-5.7l-7.2-2.8l-4.5-1.1l-2.2,0.6l-6.4-2.2l-0.1,4.9l-2.6,1.8l-1.5,2l-3.7,2.5l0.7,2.6l-0.4,2.7 l-2.6,1.4l1.9,5.6l0.4,3l-0.9,5.2l0.5,2.9l-0.6,3.5l0.5,4l-2.1,2.6l3.4,4.7l0.2,2.7l2,3.6l2.6-1.2l4.3,2.9l2.5,4l8.8,2.8l3.1,3.5 l3.9-2.4l5.4-3.5l22.3,12.2l22.4,12.2v-2.7h6.3l-0.5-12.7l-1-23.4l-1.3-22.7l-2-5.1l1.2-3.9l-1.1-2.7L1111.8,371.4L1111.8,371.4z'\n    },\n    'LI': {\n      d: 'M1024.4,273.6v-0.2l0.1-0.2l-0.1-0.1l-0.1-0.2l-0.1-0.1v-0.2l-0.1-0.1v-0.2l-0.1-0.1l-0.2,0.6v0.5l0.1,0.2h0.1 L1024.4,273.6L1024.4,273.6z'\n    },\n    'LT': {\n      d: 'M1100.4,221.2l-5-2.9l-2.5-0.4l-0.9-1.3l-4.4,0.6l-7.9-0.4l-5,1.9l1.7,5l5,1.1l2.2,0.9l-0.2,1.7l0.6,1.5l2.5,0.6 l1.4,1.9h4.6l4.8-2.2l0.5-3.4l3.5-2L1100.4,221.2L1100.4,221.2z'\n    },\n    'LU': {\n      d: 'M1007,258.6l0.2-2.7l-1-1.4l-1.3,0.2l-0.4,3.5l1.1,0.5L1007,258.6z'\n    },\n    'MK': {\n      d: 'M1094,304.8l-2.8-2l-2.4,0.1l-1.7,0.4l-1.1,0.2l-2.9,1l-0.1,1.2h-0.7l0,0l-0.4,2.1l0.9,2.6l2.3,1.6l3.3-0.6l1.9-1.3 l2.8,0.1l0.7-1.1l1-0.2L1094,304.8L1094,304.8z'\n    },\n    'MG': {\n      d: 'M1255.7,658.4l-1.1-4.2l-1.4-2.7l-1.8-2.7l-2,2.8l-0.3,3.8l-3.3,4.5l-2.3-0.8l0.6,2.7l-1.8,3.2l-4.8,3.9l-3.4,3.7 h-2.4l-2.2,1.2l-3.1,1.3l-2.8,0.2l-1,4.1l-2.2,3.5l0.1,5.9l0.8,4l1.1,3l-0.8,4.1l-2.9,4.8l-0.2,2.1l-2.6,1.1l-1.3,4.6l0.2,4.6l1.6,5 l-0.1,5.7l1.2,3.3l4.2,2.3l3,1.7l5-2.7l4.6-1.5l3.1-7.4l2.8-8.9l4.3-12l3.3-8.8l2.7-7.4l0.8-5.4l1.6-1.5l0.7-2.7l-0.8-4.7l1.2-1.9 l1.6,3.8l1.1-1.9l0.8-3.1l-1.3-2.9L1255.7,658.4L1255.7,658.4z'\n    },\n    'MW': {\n      d: 'M1169.2,661.5l0.1-2.3l-1.2-1.9l0.1-2.8l-1.5-4.7l1.7-3.5l-0.1-7.7l-1.9-4.1l0.2-0.7l0,0l-1.1-1.7l-5.4-1.2l2.6,2.8 l1.2,5.4l-1,1.8l-1.2,5.1l0.9,5.3l-1.8,2.2l-1.9,5.9l2.9,1.7l3,3l1.6-0.6l2.1,1.6l0.3,2.6l-1.3,2.9l0.2,4.5l3.4,4l1.9-4.5l2.5-1.3 l-0.1-8.2l-2.2-4.6l-1.9-2h-0.3v0.8l1.1,0.3l1,3.4l-0.2,0.8l-1.9-2.5l-1,1.6L1169.2,661.5L1169.2,661.5z'\n    },\n    'MY': {\n      d: 'M1558.1,554.4l-0.5-3.8l-0.6-2.1l0.5-2.9l-0.5-4.3l-2.6-4.3l-3.5-3.8l-1.3-0.6l-1.7,2.6l-3.7,0.8l-0.6-3.3l-4.7-2.8 l-0.9,1.1l1.4,2.7l-0.4,4.7l2.1,3.4l1,5.3l3.4,4.3l0.8,3.2l6.7,5l5.4,4.8l4-0.5l0.1-2.1l-2.3-5.6L1558.1,554.4z M1560.9,563.3 l0.2,0.2l-0.1,0.2l-0.9,0.4l-0.9-0.4l0.3-0.6l0.6-0.1l0.5,0.2L1560.9,563.3z M1645.2,540.2l-3.8,0.4l1.2,3.1l-4,2.1l-5-1h-6.4 l-1.7,7.2l-2,2.2l-2.7,8.9l-4.5,1.3l-5.4-1.8l-2.7,0.6l-3.2,3.2l-3.6-0.4l-3.6,1.2l-3.9-3.5l-1-4.3l4.1,2.2l4.4-1.2l0.9-5.4l2.4-1.2 l6.7-1.4l3.8-5l2.6-4l2.7,3.3l1.1-2.2l2.7,0.2l0.1-4.1l0.1-3.1l4.1-4.4l2.5-5h2.3l3.1,3.2l0.4,2.8l3.8,1.7l4.8,2L1645.2,540.2z'\n    },\n    'MV': {\n      d: 'M1389.1,551.6L1389.1,551.6l0.1-0.3l-0.1-0.1h-0.1l-0.1,0.2v0.1v0.1H1389.1z M1389.4,545.7l0.1-0.2v-0.1v-0.1v-0.1 v-0.1l-0.1,0.1l-0.1,0.2v0.1l-0.1,0.1v0.1H1389.4L1389.4,545.7z'\n    },\n    'ML': {\n      d: 'M1000.3,450.3l-6.1,0.6l-0.1-4l-2.6-1.1l-3.4-1.8l-1.3-3l-18.6-13.8l-18.4-13.9l-8.4,0.1l2.4,27.4l2.4,27.5l1,0.8 l-1.3,4.4l-22.3,0.1l-0.9,1.4l-2.1-0.4l-3.2,1.3l-3.8-1.8l-1.8,0.2l-1,3.7l-1.9,1.2l0.2,3.9l1.1,3.7l2.1,1.8l0.4,2.4l-0.3,2l0.3,2.3 h0.9l1.5-0.8l0.9,0.2l1.5,1.6l2.4,0.5l1.6-1.4l1.8-0.8l1.3-0.9l1.1,0.2l1.3,1.4l0.6,1.7l2.3,2.7l-1.2,1.6l-0.2,2.1l1.2-0.6l0.7,0.7 l-0.3,1.9l1.7,1.8l0.7-0.6l1.6,1l4.3,0.1l1-1.9l1,0.1l1.6-0.7l0.9,2.7l1.3-0.8l2.3-0.9l-0.4-3.7l1.6-2.7l-0.2-2.2l4.5-5.2l0.8-4.4 l1.6-1.6l2.7,0.9l2.3-1.3l0.8-1.6l4.3-2.9l1.1-2l5.2-2.6l3-0.9l1.4,1.2h3.6l3.6-0.3l2-2.2l7.6-0.6l4.9-1l0.5-3.9l3-4.3L1000.3,450.3 L1000.3,450.3z'\n    },\n    'MT': {\n      d: 'M1053.6,344l-0.2-0.2l-0.5-0.5l-0.5-0.1l0.1,0.6l0.4,0.4h0.5L1053.6,344L1053.6,344z M1052.2,342.8L1052.2,342.8 v-0.2l-0.3-0.1l-0.4,0.1l0.1,0.1l0.3,0.2L1052.2,342.8z'\n    },\n    'MQ': {\n      d: 'M638,479.9l-0.2-0.7l-0.1-0.2l-0.2-0.3l0.1-0.3v-0.1h-0.2l-0.3-0.5l-0.6-0.3h-0.3l-0.2,0.2v0.3l0.3,0.9l0.2,0.2 l0.5,0.2l-0.4,0.4v0.1l0.1,0.3h0.9l0.2,0.3l0.1-0.1L638,479.9L638,479.9z'\n    },\n    'MR': {\n      d: 'M949.8,413.3l-20.3-15.5l-0.2,9.7l-17.9-0.3l-0.2,16.3L906,424l-1.4,3.3l0.9,9.2l-21.6-0.1l-1.2,2.2l2.8,2.7l1.4,3 l-0.7,3.2l0.6,3.2l0.5,6.3l-0.8,5.9l-1.7,3.2l0.4,3.4l2-2l2.7,0.5l2.8-1.4h3.1l2.6,1.8l3.7,1.7l3.2,4.7l3.6,4.4l1.9-1.2l1-3.7 l1.8-0.2l3.8,1.8l3.2-1.3l2.1,0.4l0.9-1.4l22.3-0.1l1.3-4.4l-1-0.8l-2.4-27.5l-2.4-27.4L949.8,413.3L949.8,413.3z'\n    },\n    'MU': {\n      d: 'M1294.7,702.5l0.3-0.3l0.2-0.4l0.3-0.3l0.1-0.7l-0.2-0.8l-0.4-0.7l-0.5,0.1l-0.3,0.4l-0.2,0.5l-0.5,0.3l-0.1,0.3 l-0.2,0.7l-0.1,0.4l-0.2,0.1v0.2l0.3,0.3l0.8,0.1L1294.7,702.5L1294.7,702.5z'\n    },\n    'YT': {\n      d: 'M1228.7,654.7v-0.3l0.2-0.5v-0.1l0.1-0.5l-0.3-0.3h-0.2l-0.2-0.3l-0.3,0.3l0.3,0.5l-0.1,0.3l-0.1,0.4l0.1,0.4 l0.2,0.2L1228.7,654.7L1228.7,654.7z'\n    },\n    'MX': {\n      d: 'M444.4,407.8l-3.6-1.4l-3.9-2l-0.8-3l-0.2-4.5l-2.4-3.6l-1-3.7l-1.6-4.4l-3.1-2.5l-4.4,0.1l-4.8,5l-4-1.9l-2.2-1.9 l-0.4-3.5l-0.8-3.3l-2.4-2.8l-2.1-2l-1.3-2.2h-9.3l-0.8,2.6H391h-10.7l-10.7-4.4l-7.1-3.1l1-1.3l-7,0.7l-6.3,0.5l0.2,5.7l0.7,5.1 l0.7,4.1l0.8,4l2.6,1.8l2.9,4.5l-1,2.9l-2.7,2.3l-2.1-0.3l-0.6,0.5l2.3,3.7l2.9,1.5l1,1.7l0.9-0.9l3.1,2.9l2.1,2l0.1,3.4l-1.2,4.7 l2.5,1.6l3.3,3.1l2.9,3.6l0.7,3.9h1l2.7-2.3l0.4-1.2l-1.5-2.8l-1.6-2.9l-2.6-0.2l0.4-3.4l-0.9-3l-1-2.8l-0.5-5.9l-2.6-3.2l-0.6-2.3 l-1.2-1.6v-4.1l-1,0.1l-0.1-2.2l-0.7-0.5l-0.4-1.4l-2.7-4.4l-1.1-2.6l1-4.8l0.1-3l1.8-2.6l2.4,1.7l1.9-0.2l3.1,2.5l-0.9,2.4l0.4,4.9 l1.5,4.7l-0.4,2l1.7,3.1l2.3,3.4l2.7,0.5l0.3,4.4l2.4,3.1l2.5,1.5l-1.8,4l0.7,1.5l4.1,2.6l1.9,4l4.5,4.9l3.8,6.4l1.3,3.2v2.5 l1.4,2.9l-0.3,2.2l-1.6,1.6l0.3,1.8l-1.9,0.7l0.8,3.1l2.2,4l5.3,3.6l1.9,2.9l5.4,2l3,0.4l1.2,1.7l4.2,3l5.9,3l4,0.9l4.8,2.9l4,1.2 l3.7,1.7l2.9-0.7l4.8-2.4l3.1-0.4l4.4,1.6l2.6,2.1l5.5,6.9l0.4-1.9l0.8-1.5l-0.7-1.2l3.3-5.2h7.1l0.4-2.1l-0.8-0.4l-0.5-1.4 l-1.9-1.5l-1.8-2.1h2.6l0.4-3.6h5.2l5.1,0.1l0.1-1l0.7-0.3l0.9,0.8l2.5-3.9h1l1.2-0.1l1.2,1.6l2-5l1.2-2.7l-0.9-1.1l1.8-3.9l3.5-3.8 l0.6-3.1l-1.2-1.3l-3.4,0.5l-4.8-0.2l-6,1.5l-4,1.7l-1.2,1.8l-1.2,5.4l-1.8,3.7l-3.9,2.6l-3.6,1.1l-4.3,1.1l-4.3,0.6l-5.1,1.8 l-1.9-2.6l-5.6-1.7l-1.8-3.2l-0.7-3.6l-3-4.7l-0.4-5l-1.2-3.1l-0.5-3.4l1.1-3.1l1.8-8.6l1.8-4.5l3.1-5.6L444.4,407.8L444.4,407.8z'\n    },\n    'MD': {\n      d: 'M1118.5,283.3l1.2-0.7l0.5-2.1l1.1-2l-0.5-1.1l1-0.5l0.6,0.9l3,0.2l1.2-0.5l-1-0.6l0.2-1l-2-1.5l-1.1-2.6l-1.9-1.1 v-2.1l-2.5-1.6l-2-0.3l-3.9-1.9l-3.2,0.6l-1.1,0.9l1.6,0.6l1.8,1.9l1.9,2.6l3.4,3.7l0.6,2.7l-0.2,2.7L1118.5,283.3z'\n    },\n    'MC': {\n      d: 'M1013.5,295.2l0-0.3l0.5-0.6l0.3,0.2L1013.5,295.2z'\n    },\n    'MN': {\n      d: 'M1473.7,252.1l-3.7-4.6l-6.6-1.5l-4.8-0.8l-6.9-2.5l-1.3,6.4l4,3.6l-2.4,4.3l-7.9-1.6l-5-0.2l-4.7-2.9l-5.1-0.1 l-5.3-1.9l-5.9,2.9l-6.6,5.4l-4.7,1l3.3,4.4l5.7,3.3l8.1,2.3l5.8,5l1.3,7.3l3,2.7l6.4,1l7.2,0.9l7.9,3.8l3.4,0.7l4.9,5.7l4.7,3.6 l5.5-0.1l11.2,1.3l6.4-0.8l5.5,0.9l9.3,3.8l6.2-0.1l3.2,2l4.4-3.3l7.2-2.2l7.5-0.2l4.9-2.2l1.9-3.3l2.5-2l-1.9-2.1l-2.9-2.3l0.4-4 l3.2,0.5l5.9,1.3l3.1-3.3l6.3-2.4l1.4-4.1l2.4-1.8l6.8-0.8l4.3,0.7l-0.7-2.2l-7.2-4.3l-5.1-2l-2.5,2.3l-5.4-1l-2.4,0.8l-2.7-2.6 l-0.3-6.2l-0.6-4.6l-5.5,0.5l-3.9-2.1l-3.3-0.7l-4.5,4.4l-5.8,1l-3.6,1.6l-6.7-1h-4.5l-4.9-3.1l-6.5-3l-5.4-0.8l-5.7,0.8l-3.9,1.1 L1473.7,252.1L1473.7,252.1z'\n    },\n    'ME': {\n      d: 'M1080,299.8l0.4-0.6l-2-1.2l-1.8-0.7l-0.8-0.8l-1.5-1.1l-0.9,0.6l-1.5,1.4l-0.4,3.4l-0.5,1l0,0l2.3,1.2l1.6,2.1 l1.1,0.4l0,0l-0.5-1.9l2-3.1l0.4,1.2l1.3-0.5L1080,299.8z'\n    },\n    'MS': {\n      d: 'M631.8,465.7l-0.1-0.5h-0.1l-0.2,0.4v0.3l0.3,0.1L631.8,465.7z'\n    },\n    'MA': {\n      d: 'M965.2,348.4l-2.3-0.1l-5.5-1.4l-5,0.4l-3.1-2.7h-3.9l-1.8,3.9l-3.7,6.7l-4,2.6l-5.4,2.9L927,365l-0.9,3.4l-2.1,5.4 l1.1,7.9l-4.7,5.3l-2.7,1.7l-4.4,4.4l-5.1,0.7l-2.8,2.4l-0.1,0.1l-3.6,6.5l-3.7,2.3l-2.1,4l-0.2,3.3l-1.6,3.8l-1.9,1l-3.1,4l-2,4.5 l0.3,2.2l-1.9,3.3l-2.2,1.7l-0.3,3h0.1l12.4-0.5l0.7-2.3l2.3-2.9l2-8.8l7.8-6.8l2.8-8.1l1.7-0.4l1.9-5l4.6-0.7l1.9,0.9h2.5l1.8-1.5 l3.4-0.2l-0.1-3.4l0,0h0.8l0.1-7.5l8.9-4.7l5.4-1l4.4-1.7l2.1-3.2l6.3-2.5l0.3-4.7l3.1-0.5l2.5-2.4l7-1l1-2.5l-1.4-1.4l-1.8-6.7 l-0.3-3.9L965.2,348.4L965.2,348.4z'\n    },\n    'MZ': {\n      d: 'M1203,640.7l-0.8-2.9l0,0l0,0l-4.6,3.7l-6.2,2.5l-3.3-0.1l-2.1,1.9l-3.9,0.1l-1.4,0.8l-6.7-1.8l-2.1,0.3l-1.6,6 l0.7,7.3h0.3l1.9,2l2.2,4.6l0.1,8.2l-2.5,1.3l-1.9,4.5l-3.4-4l-0.2-4.5l1.3-2.9l-0.3-2.6l-2.1-1.6l-1.6,0.6l-3-3l-17.1,5.2l0.3,4.5 l0.3,2.4l4.6-0.1l2.6,1.3l1.1,1.6l2.6,0.5l2.8,2l-0.3,8.1l-1.3,4.4l-0.5,4.7l0.8,1.9l-0.8,3.7l-0.9,0.6l-1.6,4.6l-6.2,7.2l2.2,9 l1.1,4.5l-1.4,7.1l0.4,2.3l0.6,2.9l0.3,2.8h4.1l0.7-3.3l-1.4-0.5l-0.3-2.6l2.6-2.4l6.8-3.4l4.6-2.2l2.5-2.3l0.9-2.6l-1.2-1.1l1.1-3 l0.5-6.2l-1,0.3v-1.9l-0.8-3.7l-2.4-4.8l0.7-4.6l2.3-1.4l4.1-4.6l2.2-1.1l6.7-6.8l6.4-3.1l5.2-2.5l3.7-3.9l2.4-4.4l1.9-4.6l-0.9-3.1 l0.2-9.9l-0.4-5.6L1203,640.7L1203,640.7z'\n    },\n    'MM': {\n      d: 'M1533.9,435.8l-0.6-2.6l-3.8,1.8l-2.5-1.2l-4.5-2.4l0.8-5.2l-3.7-1.3l-2.3-5.8l-5.6,1l-0.7-7.5l4.1-5.3l-0.8-5.3 l-1.3-4.9l-2.7-1.5l-2.7-3.7l-3,0.4l0.9,2.4l-1.6,1.2l1.3,3.9l-4.1-1.1l-6.1,4.4l0.9,3.6l-2.1,5.4l0.3,3.1l-1.5,5.2l-4.6-1.4 l0.9,6.6l-0.9,2.1l0.9,2.7l-2.4,1.5l0.5,4.6l-2.1-1l1.1,5.1l4.6,5.2l3.4,0.9l-0.4,2.2l5.4,7.4l1.9,5.9l-0.9,7.9l3.6,1.5l3.2,0.6 l5.8-4.6l3.2-3.1l3.1,5.2l2,8.1l2.6,7.6l2.6,3.3l0.2,6.9l2.2,3.8l-1.3,4.8l0.9,4.8l2.2-6.6l2.6-5.9l-2.8-5.8l-0.2-3l-1-3.5l-4.2-5.1 l-1.7-3.2l1.7-1.1l1.4-5.6l-2.9-4.2l-4.1-4.6l-3.5-5.6l2.2-1.1l1.5-6.9l3.9-0.3l2.8-2.8l3-1.4l0.8-2.4L1533.9,435.8L1533.9,435.8z'\n    },\n    'NA': {\n      d: 'M1105.4,683.7l-10.3,2.5l-13.4-0.9l-3.7-3l-22.5,0.3l-0.9,0.4l-3.2-2.9l-3.6-0.1l-3.3,1l-2.7,1.2l0.2,4.9l4.4,6.2 l1.1,4l2.8,7.7l2.7,5.2l2.1,2.6l0.6,3.5v7.6l1.6,9.8l1.2,4.6l1,6.2l1.9,4.7l3.9,4.8l2.7-3.2l2.1,1.8l0.8,2.7l2.4,0.5l3.3,1.2 l2.9-0.5l5-3.2l1.1-23.6l0.6-18.5l5.4-0.2l0.9-22.7l4.1-0.2l8.6-2.2l2,2.6l3.7-2.5h1.6l3.2-1.5V684l-2.1-1.4l-3.6-0.4L1105.4,683.7 L1105.4,683.7z'\n    },\n    'NR': {\n      d: 'M1915,575.5v-0.2h-0.1h-0.1l-0.1,0.2l0.1,0.1l0.1,0.1L1915,575.5L1915,575.5z'\n    },\n    'NP': {\n      d: 'M1455.2,394.8l-6.5-0.6l-6.4-1.5l-5-2.8l-4.5-1.2l-2.5-3.1l-3.2-0.9l-6.4-4.1l-4.7-2l-1.9,1.5l-2.8,2.9l-0.9,5.9 l5.7,2.5l5.8,3.1l7.7,3.5l7.6,0.9l3.8,3.2l4.3,0.6l6.8,1.5l4.6-0.1l0.1-2.5l-1.5-4.1L1455.2,394.8L1455.2,394.8z'\n    },\n    'NL': {\n      d: 'M1005.5,243.9h2.9l1.1-2.3l1-5.6l-1-2l-3.9-0.2l-6.5,2.6l-3.9,8.9l-2.5,1.7l0,0l3.6,0.5l4.4-1.3l3.1,2.7l2.8,1.4 L1005.5,243.9L1005.5,243.9z'\n    },\n    'NC': {\n      d: 'M1897.3,716.1v-0.3l-0.4-0.2l-0.2,0.5v0.1l0.2,0.1h0.2L1897.3,716.1L1897.3,716.1z M1901.9,708.5L1901.9,708.5 l-0.1-0.4l0.1-0.2l-0.4,0.2l-0.6,0.2l0.1,0.8l-0.1,0.4l0.3,0.1l0.1,0.3h0.2l0.7-0.2l0.3-1.1h-0.4L1901.9,708.5L1901.9,708.5z M1898.9,706.8l0.3-0.5l0.1-0.2l-0.2-0.7l-0.3-0.3l0.3-1l-0.1-0.2l-0.4-0.2l-0.9,0.3l-0.1,0.2l0.5,0.1l0.2,0.2l-0.5,0.7l-0.5,0.1 l0.1,0.5l0.2,0.4l0.7,0.2l0.3,0.4H1898.9z M1895,703.9l0.3-0.3l0.3-0.4l-0.1-0.1v-0.3l0.2-0.4l0.3-0.1l-0.2-0.2l-0.2-0.1v0.3 l-0.3,0.7l-0.1,0.3l-0.5,0.6H1895L1895,703.9z M1882.7,701l-0.6-0.7l-0.1,0.2l-0.1,0.4v0.3l0.3,0.2l0.1,0.2l-0.1,0.5v0.4l0.6,0.9 l0.1,0.7l0.3,0.6l0.5,0.5l0.4,0.5l0.8,1.4l0.2,0.5l0.4,0.3l1,1.2l0.4,0.4l0.4,0.2l0.9,0.7l0.6,0.3l0.3,0.5l0.6,0.3l0.8,0.4l0.1,0.2 v0.3l0.1,0.3l0.5,0.4l0.6,0.3l0.1,0.2l0.1,0.2l0.3-0.1l0.3,0.1l0.9,0.7l0.4-0.1h0.3l0.5-0.2l0.3-0.4l-0.1-1.1l-0.5-0.5l-0.7-0.4 l-0.4-0.5l-0.4-0.5l-0.8-1l-1.1-1l-0.5-0.2l-0.3-0.4l-0.3-0.1l-0.2-0.3l-0.5-0.3l-0.3-0.6l-0.6-0.6l-0.1-0.3l0.1-0.3l-0.1-0.3 l-0.4-0.3l-0.2-0.5l-0.2-0.3l-0.4-0.2l-0.7-0.4l-1.6-1.9l-0.7-0.6l-0.7,0.2L1882.7,701L1882.7,701z M1860.7,695l0.2-0.4l0.1-0.8 l-0.2,0.4l-0.2,1L1860.7,695z'\n    },\n    'NZ': {\n      d: 'M1868.6,832.8l0.9-2.6l-5.8,2.9l-3.4,3.4l-3.2,1.6l-5.9,4.6l-5.6,3.2l-7,3.2l-5.5,2.4l-4.3,1.1l-11.3,6.1l-6.4,4.6 l-1.1,2.3l5.1,0.4l1.5,2.1l4.5,0.1l4-1.8l6.3-2.8l8.1-6.2l4.7-4.1l6.2-2.3l4-0.1l0.6-2.9l4.6-2.5l7-4.5l4.2-2.9l2.1-2.6l0.5-2.6 l-5.6,2.5L1868.6,832.8L1868.6,832.8z M1897.4,802.3l1.9-5.7l-3.1-1.7l-0.8-3.6l-2.3,0.5l-0.4,4.6l0.8,5.7l0.9,2.7l-0.9,1.1 l-0.6,4.4l-2.4,4.1l-4.2,5l-5.3,2.2l-1.7,2.4l3.7,2.5l-0.8,3.5l-6.9,5.1l1.4,0.9l-0.4,1.6l5.9-2.5l5.9-4.2l4.5-3.4l1.6-1.2l1.5-2.7 l2.8-2l3.8,0.2l4.2-3.8l5.1-5.7l-2.1-0.8l-4.6,2.5l-3.2-0.5l-2.9-2.1l2.3-4.9l-1.2-1.8l-2.9,4.4L1897.4,802.3L1897.4,802.3z'\n    },\n    'NI': {\n      d: 'M514.1,476.8l-1.9-0.2l-0.9,0.9l-2,0.8h-1.4l-1.3,0.8l-1.1-0.3l-0.9-0.9l-0.6,0.2l-0.8,1.5l-0.5-0.1l-0.3,1.3 l-2.1,1.8l-1.1,0.7l-0.6,0.8l-1.5-1.3l-1.4,1.7h-1.2l-1.3,0.2l-0.2,3.1h-0.8l-0.8,1.5l-1.8,0.3l-0.4,0.4l-0.9-1l-0.7,1l2.6,2.9 l2.2,2l1,2.1l2.5,2.6l1.8,2l0.9-0.8l3.5,1.7l1.4-0.8l1.7,0.5l0.8,1.3l1.7,0.4l1.4-1.3l-0.8-1.1l-0.1-1.7l1.2-1.6l-0.2-1.7l0.7-2.7 l0.9-0.7l0.1-2.8l-0.2-1.7l0.4-2.8l0.9-2.5l1.4-2.2l-0.3-2.3l0.4-1.4L514.1,476.8L514.1,476.8z'\n    },\n    'NE': {\n      d: 'M1051.3,425.6l-8.8-2.8l-18.6,12.2l-15.8,12.5l-7.8,2.8l0.1,14.6l-3,4.3l-0.5,3.9l-4.9,1l-7.6,0.6l-2,2.2l-3.6,0.3 l-0.5,3.1l0.8,2.9l3.1,4.1l0.2,3.1l6.4,1.4l-0.1,4.4l1.9-1.9h2l4.3,3.7l0.3-5.7l1.6-2.6l0.8-3.6l1.4-1.4l6-0.8l5.6,2.4l2.1,2.4 l2.9,0.1l2.6-1.5l6.8,3.3l2.8-0.2l3.3-2.7l3.3,0.2l1.6-0.9l3,0.4l4.3,1.8l4.3-3.5l1.3,0.2l3.9,7l1-0.2l0.2-2l1.6-0.4l0.5-2.9 l-3.6-0.2v-4.1l-2.4-2.3l2.3-8.4l6.9-6l0.2-8.3l1.8-12.9l1.1-2.7l-2.3-2.2l-0.2-2.1l-2-1.6l-1.6-9.9l-3.9,2.4L1051.3,425.6 L1051.3,425.6z'\n    },\n    'NG': {\n      d: 'M1055.8,492.7l-1,0.2l-3.9-7l-1.3-0.2l-4.3,3.5l-4.3-1.8l-3-0.4l-1.6,0.9l-3.3-0.2l-3.3,2.7l-2.8,0.2l-6.8-3.3 l-2.6,1.5l-2.9-0.1l-2.1-2.4l-5.6-2.4l-6,0.8l-1.4,1.4l-0.8,3.6l-1.6,2.6l-0.3,5.7l-0.2,2.1l1.2,3.8l-1.1,2.5l0.6,1.7l-2.7,4 L993,514l-1,4l0.1,4.1l-0.3,10.2h4.9h4.3l3.9,4.2l1.9,4.6l3,3.9l4.5,0.2l2.2-1.4l2.1,0.3l5.8-2.3l1.4-4.5l2.7-6.1l1.6-0.1l3.3-3.7 l2.1-0.1l3.2,2.6l3.9-2.2l0.5-2.6l1.2-2.6l0.8-3.2l3-2.6l1.1-4.5l1.2-1.4l0.7-3.3l1.5-4l4.6-5l0.3-2.1l0.6-1.1L1055.8,492.7 L1055.8,492.7z'\n    },\n    'KP': {\n      d: 'M1644.7,302.3L1644.7,302.3l-5.5-3.6l0.1,3.5l-6.3,2.6l2.7,3.3l-4.6-0.2l-3.6-2l-1,4.4l-3.8,3.4l-2.1,4l3.3,1.7 l3.4,0.7l0.8,1l0.4,3.5l1.1,1.2l-0.9,0.7l-0.1,2.9l1.9,1l1.6,0.6l0.8,1.2l1.3-0.5v-1.3l3.1,1.3l0.1-0.6l2.4,0.2l0.7-2.9l3.5-0.3 l2.1-0.4l-0.1-1.6l-4.3-2.8l-2.6-1l0.2-0.7l-1.2-2.8l1.3-1.7l2.9-1l1-1.9l0.3-1.1l1.9-1.4l-2.8-4.5l0.3-2.1l0.9-2l2.2,0.3l0,0l0,0 l0,0L1644.7,302.3L1644.7,302.3z'\n    },\n    'NO': {\n      d: 'M1088.8,133.1l-6.9,1.1l-7.3-0.3l-5.1,4.4l-6.7-0.3l-8.5,2.3l-10.1,6.8l-6.4,4l-8.8,10.7l-7.1,7.8l-8.1,5.8 l-11.2,4.8l-3.9,3.6l1.9,13.4l1.9,6.3l6.4,3l6-1.4l8.5-6.8l3.3,3.6l1.7-3.3l3.4-4l0.9-6.9l-3.1-2.9l-1-7.6l2.3-5.3l4.3,0.1l1.3-2.2 l-1.8-1.9l5.7-7.9l3.4-6.1l2.2-3.9l4,0.1l0.6-3.1l7.9,0.9v-3.5l2.5-0.3l2.1-1.4l5.1,2.9l5.3-0.3l4.7,1.3l3.4-2.4l1.1-3.9l5.8-1.8 l5.7,2.1l-0.8,3.8l3.2-0.5l6.4-2.2l0,0l-5.4-3.3l4.8-1.4L1088.8,133.1L1088.8,133.1z M1066.2,99.8l-5.6-1l-1.9-1.7l-7.2,0.9l2.6,1.5 l-2.2,1.2l6.7,1.1L1066.2,99.8z M1040.8,91.5l-4.8-1.6l-5.1,0.2l-1,1.5h-5l-2.2-1.5l-9.3,1.6l3.2,3.5l7.6,3.8l5.7,1.4l-3,1.7 l8.4,2.9l4.4-0.2l0.9-3.9l3-0.9l1.2-3.4l8.5-1.8C1053.3,94.8,1040.8,91.5,1040.8,91.5z M1065,88.4l-9.1-1l-3.2,1.2l-5.3-1l-10.4,1.2 l4.3,2h5.1l0.9,1.3l10.6,0.7l10.1-0.5l4.3-2.4C1072.3,89.9,1065,88.4,1065,88.4z'\n    },\n    'OM': {\n      d: 'M1301,437.8l2.1-2l0.8-1.8l1.6-3.8l-0.1-1.4l-2.1-0.8l-1.6-2.1l-2.9-3.7l-3.3-1.1l-4.1-0.9l-3.3-2.3l-2.9-4.3h-2.8 l-0.1,4.2l1.1,0.8l-2.4,1.3l0.3,2.6l-1.4,2.6l0.1,2.6l2.9,4.5l-2.6,12.7l-16.1,6.4l5.2,10.5l2.1,4.4l2.5-0.3l3.6-2.2l3.1,0.6 l2.5-1.8l-0.2-2.5l2.1-1.6h3.4l1.2-1.3l0.2-3.1l3.3-2.4h2.6l0.4-0.8l-1-4.2l0.6-3.2l1-1.5l2.5,0.3L1301,437.8L1301,437.8z M1284.4,407.4l0.2-2.6l-0.7-0.6l-1.3,2.2l1.3,2.2L1284.4,407.4z'\n    },\n    'PK': {\n      d: 'M1388.3,346.3l-9.4-2.6l-2.9-5l-4.7-3l-2.8,0.7l-2.4,1.2l-5.8,0.8l-5.3,1.3l-2.4,2.8l1.9,2.8l1.4,3.2l-2,2.7 l0.8,2.5l-0.9,2.3l-5.1-0.2l3,4.2l-3,1.6l-1.5,3.8l1.1,3.8l-1.7,1.8l-2.1-0.6l-4,0.9l-0.2,1.7h-4l-2.3,3.6l0.8,5.4l-6.6,2.6 l-3.8-0.5l-0.9,1.4l-3.3-0.8l-5.3,0.9l-9.6-3.2l3.2,3.3l2.8,3.9l5.6,2.7l1,5.7l2.7,1l0.9,2.9l-7.4,3.3l-1.2,7.4l7.6-0.9l8.9-0.1 l9.9-1.2l4.9,4.8l2.1,4.6l4.2,1.6l3.2-4.2h12l-1.8-5.5l-3.5-3.2l-1.3-4.9l-4-2.9l4.9-6.6l6.4,0.5l4.5-6.7l2.1-6.5l3.9-6.3l-1-4.5 l3.7-3.7l-5-3.1l-2.9-4.3l-3.2-5.6l1.9-2.8l8.5,1.6l5.7-1L1388.3,346.3L1388.3,346.3z'\n    },\n    'PS': {\n      d: 'M1166.9,366.1l-2-0.9l-0.7,4.3l1.4,0.7l-1.2,0.8l-0.1,1.7l2.4-0.8l0.6-1.9L1166.9,366.1L1166.9,366.1z'\n    },\n    'PA': {\n      d: 'M543.5,517l-2-1.8l-1.7-1.9l-2.5-1.1l-3.1-0.2l0.3-0.6l-3.1-0.4l-2,1.9l-3.5,1.3l-2.5,1.6l-2.7,0.5l-1.5-1.6 l-0.5,0.5l-2.3-0.3l0.2-1.3l-1.9-2.3l-2.2,0.6l-0.1,2.5l1.1,1l-0.8,0.7l0.1,1.2l-0.5,1.3l-0.4,1.2l0.6,1l0.3-1.4h2.4l1.4,0.7 l2.3,0.5l1,2.5l1.8,0.4l0.8-1.1l0.8,3.8l2.6-0.3l0.9-0.9l1.5-0.9l-2.5-3.4l0.6-1.3l1.3-0.3l2.3-1.6l1.2-2.2l2.5-0.4l2.7,1.8l1,2.1 l1.4,0.4l-1.5,1.7l1,3.5l1.8,1.8l0.9-3.1l1.8,0.5l1.1-1.9l-1.1-3.8L543.5,517z'\n    },\n    'PG': {\n      d: 'M1850.7,615.6l0.9-1.8l-2.4-2.2l-2.5-4l-1.6-1.5l-0.5-1.9l-0.8,0.7l0.9,4.8l2.2,4l2.2,2.5L1850.7,615.6 L1850.7,615.6z M1829.5,607l2.1-3.9l0.4-3.5l-1.1-1l-3.4,0.1l0.4,3.7l-3.3,2.3l-1.7,2.2l-3.2,0.5l-0.4-3.4l-0.8,0.1l-1,3.1l-3.1,0.5 l-5-0.9l-0.6,1.9l3.1,1.8l4.5,1.9h2.9l3-1.5l3.2-1.6l1-1.8L1829.5,607L1829.5,607z M1801.7,619.2l-0.9-4.3l5.2-0.7l-1.1-3.3l-9.1-4 l-0.6-3.7l-2.9-3.2l-3.7-3.3l-10.2-3.6l-9.6-4.4l-1,20.7l-1.5,20.8l5.7,0.2l3.1,1.1l4.6-2.2l-0.3-4.7l3.6-2.1l4.9-1.8l7,2.8l2.4,5.6 l2.9,3.5l3.9,4l5.5,1l4.8,0.7l1.1,1.6l3.8-0.4l0.8-1.8l-5.6-2.7l1.8-1.2l-4.2-1.1l0.5-2.8l-3.2,0.2l-3-6.8L1801.7,619.2 L1801.7,619.2z M1836.4,600.8l-0.5-3.3l-2-2.1l-2.1-2.6l-2.3-1.5l-1.9-1.4l-2.9-1.8l-1.6,1.5l3.9,1.9l3.1,2.7l2.4,2.1l1.2,2.4 l0.8,3.8L1836.4,600.8L1836.4,600.8z'\n    },\n    'PY': {\n      d: 'M655.7,700.5l-0.3-1.9l-5.4-3.3l-5.1-0.1l-9.5,1.9l-2.1,5.6l0.2,3.4l-1.5,7.6l11.2,10.4l4.6,1l7.2,4.7l5.9,2.5 l1.1,2.8l-4.2,9.6l5.7,1.8l6.2,1l4.2-1.1l4.3-4.8l0.3-5.7l0.7-3.6l0.3-3.8l-0.3-3.5l-2.1-1.2l-2,1.1l-2-0.3l-0.9-2.5l-1-5.8 l-1.2-1.9l-3.9-1.7l-2.1,1.2l-6-1.2l-0.4-8.6L655.7,700.5L655.7,700.5z'\n    },\n    'PE': {\n      d: 'M584.3,599.5l-2.9-3.4l-1.7-0.1l3.5-6.5l-4.4-3l-3.3,0.6l-2.1-1.1l-3,1.7l-4.2-0.8l-3.4-6.7l-2.7-1.7l-1.8-3l-3.7-3 l-1.5,0.6l0.8,4.9l-1.7,4.1l-6,6.7l-6.7,2.5l-3.3,5.5l-0.9,4.3l-3.1,2.6l-2.5-3.2l-2.3-0.7l-2.3,0.5l-0.2-2.3l1.5-1.5l-0.7-2.7 l-4.4,4l-1.6,4.5l3,6.1l-1.7,2.8l4.1,2.6l4.5,4.1l2,4.7l2.4,2.9l6,12.7l6.2,11.7l5.4,8.4l-0.8,1.8l2.8,5.3l4.6,3.9l10.7,6.9 l11.6,6.4l0.7,2.6l5.9,3.7l2.7-1.6l1.2-3.3l2.8-6.9l-2.8-5.3l1.1-2.1l-1.2-2.4l1.9-3.2l-0.3-5.4l-0.1-4.5l1.1-2.1l-5.5-10.3l-3,1.1 l-2.6-0.7l-0.2-9.7l-4.4,3.8l-4.9-0.2l-2.3-3.4l-3.7-0.3l1-2.8l-3.3-3.8L562,620l1.5-1.1l-0.1-2.7l3.3-1.9l-0.7-3.4l1.3-2.2l0.4-3 l6.2-4.3l4.6-1.2l0.7-1L584.3,599.5L584.3,599.5z'\n    },\n    'PH': {\n      d: 'M1684.6,518.6l-0.6-2.3l-0.8-3.2l-4.8-3l0.8,4.9l-3.9,0.2l-0.7,2.8l-4.2,1.7l-2.2-2.8l-2.8,2.4l-3.4,1.7l-1.9,5.4 l1.1,1.9l3.9-3.6l2.7,0.3l1.5-2.7l3.8,3l-1.5,3.1l1.9,4.6l6.8,3.7l1.4-3l-2.1-4.7l2.4-3.2l2.5,6.4l1.5-5.8l-0.6-3.5L1684.6,518.6 L1684.6,518.6z M1670.1,506.8v-6.1l-3.6,6.1l0.5-4.2l-3,0.3l-0.3,4l-1.2,1.8l-1,1.7l3.8,4.4l1.6-1.9l1.4-4L1670.1,506.8 L1670.1,506.8z M1640,512.9l2.6-4.4l3.4-3.5l-1.5-5.2l-2.4,6.3l-2.9,4.4l-3.8,4l-2.4,4.4L1640,512.9L1640,512.9z M1657.4,496.5 l1.2,3l-0.1,3.3l0.5,2.9l3.3-1.9l2.4-2.7l-0.2-2.6h-3.6L1657.4,496.5L1657.4,496.5z M1677.4,494.8l-1.8-2.4l-5.4-0.1l4,4.8l0.3,2.4 l-3.3-0.5l1.2,3.9l1.7,0.3l0.7,4.5l2.5-1.4l-1.7-4l-0.4-2.1l4.5,1.7L1677.4,494.8L1677.4,494.8z M1654.5,489l-2.2-2.3l-4.8-0.2 l3.4,4.8l2.8,3.2L1654.5,489L1654.5,489z M1648.1,454.4h-3.3l-0.9,5.8l1.1,9.9l-2.6-2l1.2,6l1.2,2.8l3.3,3.7l0.4-2.3l1.8,1.4 l-1.5,1.7l0.1,2.6l2.9,1.4l5-0.9l4,3.8l1.1-2.4l2.5,3.4l4.8,3.1l0.2-2.9l-2-1.6l0.1-3.4l-7.5-3.6l-2.3,0.8l-3.1-0.7l-2-5.1l0.1-5.1 l3-2.1l0.6-5.3l-2.7-4.6l0.4-2.6l-0.7-1.6l-1.5,1.6L1648.1,454.4L1648.1,454.4z'\n    },\n    'PN': {\n      d: 'M274.2,727.4v-0.2l-0.1-0.2l-0.2-0.1l-0.1,0.1l0.1,0.2l0.2,0.2H274.2L274.2,727.4z'\n    },\n    'PL': {\n      d: 'M1069.4,228.3l-4.6-0.1l-0.5-1.4l-4.8-1.1l-5.7,2.1l-7.1,2.8l-3.1,1.7l1.4,3.1l-1.2,1.6l2,2.2l1.4,3.3l-0.1,2.1 l2.3,3.9l2.4,1.9l3.7,0.6l-0.1,1.7l2.7,1.2l0.6-1.5l3.4,0.6l0.7,2l3.6,0.3l2.6,3.1l0.3,0.4l1.9-0.9l2.7,2.2l2.8-1.3l2.4,0.6l3.4-0.8 l4.9,2.3l1.1,0.4l-1.6-2.8l3.8-5.1l2.3-0.7l0.3-1.8l-3.1-5.3l-0.5-2.7l-1.9-2.9l2.7-1.2l-0.3-2.4l-1.7-2.3l-0.6-2.7l-1.4-1.9 l-2.5-0.6l-8.7,0.1L1069.4,228.3L1069.4,228.3z'\n    },\n    'PT': {\n      d: 'M937.6,335.9l-0.4-2.1l2-2.5l0.8-1.7l-1.8-1.9l1.6-4.3l-2-3.8l2.2-0.5l0.3-3l0.9-0.9l0.2-4.9l2.4-1.7l-1.3-3.1 l-3-0.2l-0.9,0.8h-3l-1.2-3.1l-2.1,0.9l-1.9,1.6l0.1,2.1l0.9,2.2l0.1,2.7l-1.3,3.8l-0.4,2.5l-2.2,2.3l-0.6,4.2l1.2,2.4l2.3,0.6 l0.4,4l-1,5.1l2.8-0.7l2.7,0.9L937.6,335.9L937.6,335.9z'\n    },\n    'PR': {\n      d: 'M600.8,457.3v-0.1l0,0h0.1v-0.1l0.1-0.1l0,0v-0.1h-0.1l0,0h-0.3h-0.1v0.1v0.1l0.2,0.1l0,0L600.8,457.3L600.8,457.3 L600.8,457.3z M614.4,457l0.7-0.2v-0.1l-0.4-0.1h-0.6l-0.5,0.2l0.1,0.2h0.2H614.4z M610.7,454.8l-0.1-0.2h-0.2l-3.5-0.1l-1.3-0.2 l-0.3,0.1l-0.3,0.1l-0.1,0.4l-0.2,0.2l-0.3,0.2l0.1,0.3l0.1,0.2l0.2,0.4l-0.1,0.5l-0.2,1l0.3,0.2l0.7-0.1l0.3,0.1l0.3,0.1l0.4-0.1 l0.4-0.2l0.9,0.1l0.5-0.1l0.6,0.3l0.4-0.1l0.2,0.1h0.3h0.6l0.9-0.2l0.8-0.5l0.3-0.5l0.4-0.3l0.6-0.4v-0.9l-0.7-0.1l-0.6-0.3 l-1.1-0.1h-0.1l0.1,0.2h-0.1L610.7,454.8L610.7,454.8z'\n    },\n    'QA': {\n      d: 'M1258,415.5l0.8-3.8l-0.5-3.7l-1.9-2l-1.4,0.7l-1.1,3.3l0.8,4.7l1.8,1.2L1258,415.5L1258,415.5z'\n    },\n    'RE': {\n      d: 'M1284,707.9l0.2-0.4l0.1-0.8l-0.4-0.8l-0.4-0.7l-0.4-0.2l-0.8-0.1l-0.7,0.3l-0.4,0.6l-0.2,0.3l0.4,1.1l0.2,0.3 l1.1,0.6h0.5L1284,707.9L1284,707.9z'\n    },\n    'RO': {\n      d: 'M1108.1,266.3h-2.1l-1,1.5l-3.6,0.6l-1.6,0.9l-2.4-1.5h-3.2l-3.2-0.7l-1.9,1.3l-2.9,1.3l-1.9,4.2l-2.6,4.3l-3.8,1.1 l2.9,2.5l0.8,1.9l3.2,1.5l0.7,2.5l3.1,1.8l1.4-1.3l1.4,0.7l-1.1,1.1l1,1l1.8,2.6l1.9-0.5l4,1l7.5,0.3l2.3-1.6l5.8-1.4l4,2.2l3,0.7 l0.4-7.4l1.6,0.5l2.3-1.3l-0.4-1.6l-2.4-1.1l-2.2,1l-2.4-1.1l-1.3-2.8l0.2-2.7l-0.6-2.7l-3.4-3.7l-1.9-2.6l-1.8-1.9L1108.1,266.3 L1108.1,266.3z'\n    },\n    'RU': {\n      d: 'M1332.3,95.1l-4.5-4l-13.6-4.1l-9.4-2.1l-6.2,0.9l-5.3,2.9l5.8,0.8l6.6,3.2l8,1.7l11.5,1.3 C1325.2,95.7,1332.3,95.1,1332.3,95.1z M1153.6,87.8l0.9-0.6l-5.7-0.9L1146,87l-1.3,1l-1.5-1.2l-5.2,0.1l-6.2,0.8l7.7,0.1l-1.1,1.3 l4.4,1l3.6-0.7l0.1-0.7l2.9-0.3C1149.4,88.4,1153.6,87.8,1153.6,87.8z M1354.1,97.7l-1.5-1.8l-12.5-2.6l-3-0.3l-2.2,0.5l1.2,6 C1336.1,99.5,1354.1,97.7,1354.1,97.7z M1369.3,104l-9.2-0.7l3.4-1.2l-8.2-1.5l-6.1,1.9l-1,2l1.5,2.1l-6.9-0.1l-5.3,2.6l-4.3-1.1 l-9.3,0.5l0.3,1.3l-9.2,0.7l-4.9,2.4l-4.2,0.2l-1.2,3.3l5.5,2.6l-7.7,0.7l-9.5-0.3l-5.8,1.1l4.8,5.4l6.9,4.3l-9.6-3l-7.9,0.3l-5.1,2 l4.5,3.8l-4.9-1l-2.1-5l-4.2-2.8l-1.8,0.1l3.6,3.7l-4.6,3.5l8.1,4.2l0.4,5.4l2.9,2.9l4.7,0.5l0.4,3.5l4.4,3.1l-1.9,2.6l0.5,2.7 l-3.7,1.4l-0.5,2l-5.3-0.8l3.5-7.8l-0.5-3.6l-6.7-3.3l-3.8-7.3l-3.7-3.7l-3.6-1.6l0.8-4.2l-2.9-2.9l-11.3-1.4l-2.1,1l0.5,4.7 l-4.3,4.7l1.2,1.7l4.7,4.1l0.1,2.6l5.3,0.5l0.8,1.1l5.8,2.9l-1,2.8l-18.5-6.1l-6.6-1.7l-12.8-1.6l-1.2,1.7l5.9,3.1l-2.7,3.6 l-6.4-3.2l-5,2.2l-7.6,0.1l-2.1,1.9l-5.3-0.6l2.5-3.3l-3.2-0.2l-12.3,4.6l-7.6,2.6l0.4,3.5l-6,1.2l-4-1.9l-1.2-3l5-0.7l-3.6-3 l-12.2-1.8l4.3,3.4l-0.8,3.2l4.7,3.3l-1.1,3.8l-4.6-1.9l-4-0.3l-8,5.4l4.2,4.1l-3.2,1.4l-11.4-3.5l-2.1,2.1l3.3,2.4l0.2,2.7 l-3.8-1.4l-6-1.7l-1.9-5.8l-1-2.6l-8-4l2.9-0.7l20.1,4.2l6.4-1.5l3.7-2.9l-1.6-3.6l-4-2.6l-17.6-6.1l-11.6-1.3l-7.6-3.2l-3.6,1.8 l0,0l-6.4,2.2l-3.2,0.5l0.4,3.7l7.2,3.7l-2.8,4.1l6.4,6.3l-1.7,4.8l4.9,4.1l-0.9,3.7l7.3,3.9l-0.9,2.9l-3.3,3.3l-7.9,7.4l0,0 l5.3,2.8l-4.5,3.2l0,0l0.9,1l-2.6,3.4l2.5,5.5l-1.6,1.9l2.4,1.4l1,2.8l2.1,3.6l5.2,1.5l1,1.4l2.3-0.7l4.8,1.4l1,2.9l-0.6,1.6 l3.7,3.9l2.2,1.1l-0.1,1.1l3.4,1.1l1.7,1.6l-1.6,1.3l-3.9-0.2l-0.8,0.6l1.5,2l2,3.9l0,0l1.8,0.2l1-1.4l1.5,0.3l4.8-0.5l3.8,3.4 l-0.9,1.3l0.7,1.9l4,0.2l2.2,2.7l0.2,1.2l6.6,2.2l3.5-1l3.6,2.9l2.9-0.1l7.6,2l0.4,1.9l-1.3,3.2l1.8,3.4l-0.3,2.1l-4.7,0.5l-2.2,1.7 l0.4,2.8l4.2-1l0.4,1.3l-6.8,2.6l3.2,2.4l-3.2,5.2l-3.4,1l5,3.6l6.2,2.4l7.4,5.1l0.5-0.7l4.5,1.1l7.7,1l7.5,2.9l1.1,1.2l2.9-1 l5.1,1.3l2.1,2.5l3.5,1.4l1.5,0.2l4.3,3.8l2.4,0.4l0.5-1.5l2.6-2.5l0,0l-7.3-7.3l-0.4-4.1l-5.9-5.9l3.5-6.3l4.6-1.1l1.4-3.7l-2.8-1 l-0.2-3.2l-4.2-4.1l-3.6,0.2l-5.3-4.3l1.7-4.7l-1.7-1.2l2.1-6.8l6,3.6l-0.7-4.6l8.1-6.6l7.5-0.2l11.9,4.3l6.6,2.4l4.3-2.5l7.6-0.2 l7.3,3.2l0.8-1.8l6.9,0.3l0.2-3l-9.4-4.2l3.6-2.9l-1.5-1.7l3.9-1.6l-5-4.1l1.4-2.1l16.8-2.1l1.7-1.5l10.8-2.2l3.1-2.5l9,1.3l4.3,6.3 l4.3-1.5l7,2.1l1.2,3.3l4.4-0.4l9.1-5.7l-0.8,1.9l8.3,4.7l18.1,15.5l1.1-3.3l8.3,3.6l6.2-1.6l3.2,1.1l4.1,3.6l3.9,1.2l3.3,2.6l6-0.9 l4.3,3.8l1.7-0.5l4.7-1l6.6-5.4l5.9-2.9l5.3,1.9l5.1,0.1l4.7,2.9l5,0.2l7.9,1.6l2.4-4.3l-4-3.6l1.3-6.4l6.9,2.5l4.8,0.8l6.6,1.5 l3.7,4.6l8.4,2.6l3.9-1.1l5.7-0.8l5.4,0.8l6.5,3l4.9,3.1h4.5l6.7,1l3.6-1.6l5.8-1l4.5-4.4l3.3,0.7l3.9,2.1l5.5-0.5l7.3,2.3l4.4-3.9 l-1.9-2.7l-0.1-6.5l1.2-2l-2.5-3.3l-3.7-1.5l1.7-3l5.1-1.1l6.2-0.2l8.5,1.8l5.9,2.3l7.7,6.1l3.8,2.7l4.4,3.7l6.1,6.1l9.9,1.9 l8.9,4.5l6,5.8h7.5l2.6-2.5l6.9-1.8l1.3,5.6l-0.4,2.3l2.8,6.8l0.6,6l-6.8-1.1l-2.9,2.2l4.7,5.3l3.8,7.3l-2.5,0.1l1.9,3.1l0,0 l1.4,1.1l0,0l0,0l0,0l-0.4-2l4-4.5l5.1,3l3.2-0.1l4.4-3.6l1-3.7l2.1-7.1l1.9-7.2l-1.3-4.3l1-9l-5.2-9.9l-5.5-7.3l-1.3-6.2l-4.7-5.1 l-12.7-6.7l-5.6-0.4l-0.3,3l-5.8-1.3l-5.7-3.8l-8-0.7l4.9-14.1l3.5-11.5l13.1-1.8l14.9,1l2.5-2.8l7.9,0.8l4.3,4.3l6.4-0.6l8.4-1.6 l-7.7-3.5v-9.8l9.1-1.9l12.1,7.1l3.6-6.4l-3.2-4.7l4.7-0.5l6.5,8.1l-2.4,4.6l-0.8,6l0.3,7.5l-5.7,1.3l2.8,2.7l-0.1,3.6l6.4,8.3 l16,13.4l10.5,8.8l5.7,4.3l1.6-5.7l-4.5-6.2l5.7-1.5l-5.4-6.9l5-3.1l-4.7-2.6l-3.4-5l4.1-0.2l-9-8.6l-6.7-1.4l-2.9-2.4l-1.1-5.6 l-3.1-3.9l7,0.8l1.3-2.5l4.7,2.2l6.1-4.6l11.4,4l-1.7-2.6l2-3.6l1.5-4l3.1-0.7l6.5-4.3l9.8,1.2l-0.9-1.5l-3.8-2.3l-4.1-1.6l-9.1-4.6 l-8.1-3l6.1,0.4l2-2.5l0,0l-32.9-21.9l-9.4-2.3l-15.7-2.6l-7.9,0.3l-15.2-1.4l1.8,2.3l8.5,3.4l-2.5,1.8l-14.2-4.8l-6.8,0.6l-9.2-1.1 l-7,0.2l-3.9,1.1l-7.2-1.6l-5.1-3.8l-6.5-2.2l-9.2-0.9l-14.7,1l-16.1-4l-7.8-3l-40.1-3.4l-2.1,2.2l9.3,4.8l-7.5-0.7l-1,1.5l-9.7-1.6 l-5,1.4l-9.3-2.4l3,5.5l-8.9-2.1l-10-4.1l-0.4-2.2l-6-3.3l-9.8-2.6h-6.1l-9.3-0.9l4.7,3.9l-17.2-0.8l-3.9-2.3l-13.3-0.9l-5.3,0.8 l-0.1,1.3l-5.8-3.2l-2.3,0.9l-7.2-1.2l-5.6-0.7l1.1-1.5l6.6-2.8l2.3-1.5l-2.4-2.5l-5.5-1.9l-11.5-2.3l-10.8-0.1l-1.9,1.2L1369.3,104 L1369.3,104z M1207.1,135.6l-9.9-4.3l-3.1-4.3l3.3-4.9l2.8-5l8.6-4.7l9.8-2.4l11.3-2.4l1.3-1.5l-4.2-1.9l-6.6,0.6l-4.9,1.8 l-11.7,0.9l-10.1,3.1l-6.8,2.7l2.5,2.2l-6.6,4.4l3.9,0.7l-5.4,4.3l1.6,2.8l-3.4,1.1l1.9,2.8l7.9,1.4l2.2,2.3l13.4,0.7L1207.1,135.6 L1207.1,135.6z M1521.1,110.9l-17.9-2.6l-10.2-0.2l-3.4,0.9l3.4,3.4l12.4,3.2l4.5-1.2l14.2,0.2 C1524.1,114.6,1521.1,110.9,1521.1,110.9z M1546.3,113.2l-11.7-1.3l-8.2-0.7l1.7,1.6l10.3,2l6.8,0.4L1546.3,113.2L1546.3,113.2z M1533.8,122.7l-2.5-1.4l-8.3-1.9l-4.1,0.5l-0.8,2l1.1,0.2l8.8,0.6C1528,122.7,1533.8,122.7,1533.8,122.7z M1696.4,135l-6-3.6 l-1.4,2.2l3.5,1.6L1696.4,135z M1084,228.9l-0.6-1.5l0.2-1.7l-2.2-0.9l-5-1.1l-6.3,2l-0.7,2.6l5.9,0.7L1084,228.9z M1673.7,250.7 l-7.2-6.2l-5.1-6l-6.8-5.8l-4.9-4l-1.3,0.8l4.4,2.8l-1.9,2.8l6.8,8.3l7.8,6l6.4,8.3l2.4,4.6l5.5,6.8l3.8,6l4.6,5.2l-0.1-4.8l6.5,3.8 l-3-4.4l-9.5-6.3l-3.7-9l8.9,2L1673.7,250.7L1673.7,250.7z'\n    },\n    'RW': {\n      d: 'M1147.6,579.4l-3.3,1.9l-1.4-0.6l-1.6,1.8l-0.2,3.8l-0.8,0.4l-0.6,3.5l3.5,0.5l1.7-3.6l3,0.4l0,0l1.6-0.8l0.4-3.7 L1147.6,579.4L1147.6,579.4z'\n    },\n    'KN': {\n      d: 'M629.9,463.2v-0.3l-0.2-0.2h-0.3v0.5l0.2,0.2L629.9,463.2z M629.4,462.5l-0.1-0.2l-0.1-0.1l-0.2-0.4l-0.4-0.4 l-0.2,0.1l-0.1,0.2v0.1l0,0l0.3,0.3l0.4,0.1l0.2,0.4L629.4,462.5L629.4,462.5z'\n    },\n    'LC': {\n      d: 'M637.4,484.2l0.1-1.2l-0.1-0.5l-0.2,0.1l-0.3,0.4l-0.4,0.6l-0.1,0.3v0.6l0.6,0.4L637.4,484.2L637.4,484.2z'\n    },\n    'VC': {\n      d: 'M634.5,491.4L634.5,491.4v-0.1h0.1v-0.1l0,0v-0.1h-0.1v0.1l0,0v0.1h-0.1L634.5,491.4L634.5,491.4L634.5,491.4 L634.5,491.4z M635.2,489.5l0.1-0.2l0.1-0.1l0,0l0,0l-0.1-0.1l0,0v0.1l-0.2,0.1l0,0v0.1l0,0v0.1H635h-0.1l0,0h0.1l0,0l0.1,0.1l0,0 l0,0l0,0L635.2,489.5L635.2,489.5z M635.5,488.4l0.3-0.2l0.1-0.6l-0.1-0.4h-0.2l-0.3,0.1l-0.2,0.3l-0.1,0.5L635.5,488.4L635.5,488.4 L635.5,488.4z'\n    },\n    'SM': {\n      d: 'M1040.3,293.5l-0.7,0.1l-0.2-0.9l0.9-0.3L1040.3,293.5z'\n    },\n    'ST': {\n      d: 'M1014.1,571.4l0.5-0.8v-0.5l-0.3-0.5h-0.4l-0.5,0.4l-0.3,0.4v0.3l0.1,0.7l0.1,0.3l0.3,0.2L1014.1,571.4 L1014.1,571.4z M1018.4,562.2l0.2-0.4v-0.2l-0.1-0.1l-0.1-0.1l-0.2,0.1l-0.3,0.5l0.1,0.2l0.2,0.2L1018.4,562.2L1018.4,562.2z'\n    },\n    'SA': {\n      d: 'M1228.7,387l-10.2-0.5l-16.7-12.7l-8.5-4.5l-6.7-1.7l-0.9,1l-10.4,3.1l6.1,6.4l-1.7,1l-0.7,2.2l-4,0.8l-1.1,2.3 l-2.1,2l-6.1-1l-0.5,2.5v2.2l-0.6,3.5h2.7l3.2,4.4l3.7,5.1l2.5,4.7l1.7,1.5l1.7,3.3l-0.2,1.4l2.1,3.7l3,1.3l2.8,2.5l3.6,7v3.8 l0.9,4.4l4,6.1l2.5,1l4.1,4.4l1.9,5.2l3.2,5.3l3,2.3l0.6,2.5l1.8,1.9l0.9,2.8l2.3-2.1l-0.7-2.7l1.2-3.1l2.4,1.7l1.5-0.6l6.4-0.2 l1,0.7l5.4,0.6l2.1-0.3l1.6,2.1l2.5-1l3.5-6.7l5-2.9l15.7-2.4l16.1-6.4l2.6-12.7l-2.9-4.5l-1,1.3l-16.8-3.2l-2.6-6.4l-0.4-1.5 l-1.2-2.4l-1.5,0.4l-1.8-1.2l-1-1.6l-0.9-2.1l-1.7-1.8l-1-2.1l0.4-2.1l-0.6-2.7l-4-2.6l-1.2-2.3l-2.9-1.4l-2.7-5.5l-3.8,0.2 l-1.7-3.1L1228.7,387L1228.7,387z'\n    },\n    'SN': {\n      d: 'M908.9,479.2l-3.6-4.4l-3.2-4.7l-3.7-1.7l-2.6-1.8h-3.1l-2.8,1.4l-2.7-0.5l-2,2l-1.3,3.3l-2.8,4.4l-2.5,1.2l2.7,2.3 l2.2,5l6.1-0.2l1.3-1.5l1.8-0.1l2.1,1.5l1.8,0.1l1.8-1.1l1.1,1.8l-2.4,1.5l-2.4-0.1l-2.4-1.4l-2.1,1.5h-1l-1.4,0.9l-5-0.1l0.8,4.9 l3-1.1l1.8,0.2l1.5-0.7l10.3,0.3l2.7,0.1l4,1.5l1.3-0.1l0.4-0.7l3,0.5l0.8-0.4l0.3-2l-0.4-2.4l-2.1-1.8l-1.1-3.7L908.9,479.2 L908.9,479.2z'\n    },\n    'RS': {\n      d: 'M1084.8,285.2l-3.2-1.5l-0.8-1.9l-2.9-2.5l-3.2-0.2l-3.7,1.6l0,0l1.5,2.4l1.7,1.8l-1.7,2.3l0,0h1.8l-1,2.7l2.7,2.3 l-0.5,2.9l-1.2,0.3l1.5,1.1l0.8,0.8l1.8,0.7l2,1.2l-0.4,0.6l1.2-0.5l0.5-2l0.9-0.4l0.8,0.9l1,0.4l0.8,1l0.8,0.3l1.1,1.1h0.8 l-0.5,1.5l-0.5,0.7l0.2,0.5l1.7-0.4l2.4-0.1l0.7-0.9l-0.6-0.7l0.7-2l1.7-1.9l-2.8-2.6l-0.7-2.3l1.1-1.4l-1-1l1.1-1.1l-1.4-0.7 l-1.4,1.3l-3.1-1.8L1084.8,285.2L1084.8,285.2z'\n    },\n    'SC': {\n      d: 'M1288.5,602l-0.5-0.8l-0.4,0.3l0.2,0.3l0.3,0.2l0.1,0.4l0.3,0.2V602L1288.5,602z'\n    },\n    'SL': {\n      d: 'M919.4,518.7l-1.5,0.3v-2.3L917,515l0.2-1.8l-1.2-2.7l-1.5-2.3H910l-1.3,1.2l-1.5,0.2l-1,1.4l-0.7,1.7l-3,2.8 l0.7,4.7l0.9,2.3l2.9,3.5l4.1,2.5l1.5,0.5l1.3-2l0.3-1.9l2.6-3.4L919.4,518.7L919.4,518.7z'\n    },\n    'SG': {\n      d: 'M1561,563.7l0.1-0.2l-0.2-0.2l-0.3-0.1l-0.5-0.2l-0.6,0.1l-0.3,0.6l0.9,0.4L1561,563.7L1561,563.7z'\n    },\n    'SX': {\n      d: 'M627.1,457.2L627.1,457.2l0.2,0.2l0.3,0.1l0.1-0.1v-0.2H627.1z'\n    },\n    'SK': {\n      d: 'M1087.4,260.9l-4.9-2.3l-3.4,0.8l-2.4-0.6l-2.8,1.3l-2.7-2.2l-1.9,0.9l-0.3-0.4h-1.5l-0.6,1.1l-1.1,0.3l-0.2,1.4 l-0.9,0.3l-0.1,0.6l-1.6,0.6l-2.2-0.1l-0.6,1.4l-0.3,0.8l0.7,2.1l2.6,1.6l1.9,0.7l4.1-0.8l0.3-1.2l1.9-0.2l2.3-1l0.6,0.4l2.2-0.7 l1-1.5l1.6-0.4l5.5,1.9l1-0.6l0.7-2.5L1087.4,260.9L1087.4,260.9z'\n    },\n    'SI': {\n      d: 'M1059.4,277l-1.2-2.1l-0.8-0.1l-0.9,1.1l-4.3,0.1l-2.4,1.4l-4.2-0.4l-0.3,3l1.4,2.7l-1.1,0.5l3.5,0.2l0.8-1l1.8,1 l2,0.1l-0.2-1.7l1.7-0.6l0.3-2.5L1059.4,277L1059.4,277z'\n    },\n    'SB': {\n      d: 'M1909.1,646.4l-0.2-0.2l-0.1-0.4h-0.3l-0.3,0.1l0.2,0.6h0.2L1909.1,646.4L1909.1,646.4z M1873.5,647.2l-0.1-0.2 l-0.5-0.4l-1.9-1.3l-0.4-0.1l-0.1,0.1l-0.1,0.3l0.1,0.2l0.5,0.1v0.1l0.3,0.2l0.7,0.2l0.4,0.3l0.1,0.5l0.3,0.1l0.3,0.1L1873.5,647.2 L1873.5,647.2z M1905.5,640.6L1905.5,640.6l0.2-0.4l-0.2-0.1l-0.5-0.1l-0.7,0.1l-0.3,0.2l-0.2,0.3h-0.2v0.2l0.1,0.4l0.2-0.1l0.2,0.1 l0.5-0.5h0.3h0.1L1905.5,640.6L1905.5,640.6z M1881.1,638.3l-0.1-0.2l-0.2-0.1l-0.9-0.7l-0.5-0.2h-0.5l-0.1,0.5v0.3h0.6l0.4,0.2v0.6 l0.2,0.2v0.5l1.2,0.9l0.7,0.4l0.7,0.1l0.4,0.2l0.5-0.1l0.5,0.2l0.4-0.1l-0.4-0.3v-0.4l-0.5-1.3l-0.3-0.3l-0.5,0.1l-0.5-0.2h-0.4 L1881.1,638.3L1881.1,638.3z M1880.7,633.4l-0.6-1.6l-0.2-0.1l0.1,0.6l0.1,0.4l-0.1,0.5l-0.1,0.6l0.2,0.2l0.2-0.2l0.4,0.5v-0.2 V633.4z M1870.9,631.2l-0.3-0.1l-0.4,0.3l-0.1,0.3l-0.1,0.7v0.4l0.3,0.7l0.3,0.5l0.3,0.3l0.2,0.2l0.9,0.1l1.7,0.1l0.9,0.4l0.9,0.2 l0.4-0.1l0.5-0.2l0.1-0.1l-0.1-0.6l-0.2-0.3l-0.4-0.2l-0.2-0.6l-0.5-0.4l-0.9-0.7h-1.6l-0.6,0.1L1870.9,631.2L1870.9,631.2z M1873.5,629.4l-0.5,0.2v0.3l0.4,0.1l0.4,0.2l0.1,0.3l0,0l0.2-0.1l0.4,0.2l0.2-0.3l-0.4-0.5l-0.4-0.3h-0.1L1873.5,629.4 L1873.5,629.4z M1867.9,630.2l0.3-0.2v-0.4h-0.3l-0.1-0.2h-0.2l-0.3,0.2l-0.2,0.3l0.1,0.2h0.4L1867.9,630.2L1867.9,630.2 L1867.9,630.2z M1859.5,627.9l-0.1-0.2l-0.3-0.2h-0.2l-0.5,0.1l0.1,0.1l0.6,0.3l0.3,0.1L1859.5,627.9L1859.5,627.9z M1862.6,628.3 l0.3-0.2l-0.1-0.2l-0.1-0.5l-0.4,0.7l0.1,0.2H1862.6z M1862.1,627.4v-0.2V627l-0.2-0.1l0.4-0.3l-0.1-0.1l-0.6-0.2l-0.2,0.2l-0.2,0.1 l-0.1,0.1l-0.1,0.1l-0.1,0.5l0.2,0.4l0.4,0.2L1862.1,627.4L1862.1,627.4z M1858.1,627.6l-0.3-0.4l0.1-0.5l0.2-0.1l0.2-0.5l-0.1-0.4 l-0.2,0.1l-0.7,0.6l-0.1,0.3l0.6,0.8L1858.1,627.6L1858.1,627.6L1858.1,627.6z M1871.1,626.3l-0.2-0.4v-0.2l-0.3-0.2l-0.2,0.1 l-0.1,0.3l0.1,0.2l0.4,0.3L1871.1,626.3L1871.1,626.3z M1877.1,625.1h-0.2l-0.1,0.1h-0.2h-0.3l-0.1,0.2l0.6,1.1l-0.3,0.5l0.4,2.2 l0.4,1.2l0.8,0.8v0.2l0.8,0.5l0.6,1.3l0.2,0.1l0.1-0.2v-0.6l-0.5-1.1l0.1-0.8l-0.2-0.3V630l-0.2-0.8l-0.6-0.7l-0.3-0.1l-0.2-0.3 l0.2-0.6l0.2-0.2l0.1-0.3L1877.1,625.1L1877.1,625.1z M1860.5,624.6l-0.6-0.2l-0.2-0.3v-1l-0.6-0.3l-0.3,0.2l-0.6,0.7l-0.2,0.4 l-0.5,0.3l-0.1,0.3v0.4l0.4,0.1l0.3-0.4l0.9-0.1l0.3,0.1v0.4l0.1,0.7l0.3,0.3l0.5,0.2l0.4,0.6l0.1-0.3h0.2l0.2-0.4l-0.3-1.2 L1860.5,624.6L1860.5,624.6z M1854,624.2l0.1-0.5l-0.1-0.9l-0.2,0.1v0.2l-0.1,0.4L1854,624.2L1854,624.2z M1857.2,623.8l0.2-0.2 v-0.4v-0.5l-0.2-0.4l-0.2-0.2l-0.5,0.1l-0.4,0.5v0.5l0.4,0.6L1857.2,623.8L1857.2,623.8L1857.2,623.8z M1854.6,622.6l0.2-0.3 l0.5-0.7l0.1-0.3l-0.5-0.2l-0.4-0.5l-0.4-0.2l-0.3,0.4v0.4l0.5,0.6l-0.1,0.4l0.2,0.1l0.1,0.4L1854.6,622.6L1854.6,622.6z M1872.1,626.5l-0.1-0.5l-0.3-0.4l0.4-0.5l-2.2-1.9l-0.3-0.2l-0.4-0.1l-0.5-0.4l-0.5-0.1l-0.5-0.4l-0.2-0.3l-0.6-0.4l-0.6-0.8 l-1.5-0.3l0.1,0.2l0.4,0.4l0.1,0.7l0.5,0.4l0.5,0.6l0.2,0.1l0.2,0.2l0.4,0.5l0.8,0.4l0.8,0.6l0.3,0.1l0.3,0.3l1.5,0.7l0.5,0.7 L1872.1,626.5L1872.1,626.5L1872.1,626.5z M1850.3,617.3l0.2-0.3l-0.7-0.5l-0.2,0.3l-0.2,0.5l0.4,0.2L1850.3,617.3L1850.3,617.3z M1859.4,618.8L1859.4,618.8l-0.4-0.1l-0.4-0.2l-0.7-0.8l-0.2-0.3l-0.2-1l-0.4-0.4l-1.4-0.8l-0.8-0.8l-0.7-0.2l-0.2,0.2v0.5l0.2,0.3 l1,0.9l1.1,1.7l1,1l0.8,0.1h0.4v0.1l0.1,0.2l0.5,0.2l0.5-0.4L1859.4,618.8L1859.4,618.8z'\n    },\n    'SO': {\n      d: 'M1223.4,505.7l-2.6-2.7l-1.2-2.6l-1.8-1.2l-2,3.4l-1.1,2.3l2.2,3.5l2.1,3.1l2.2,2.2l18.5,7.6l4.8-0.1l-15.4,19.1 l-7.4,0.3l-4.9,4.5l-3.6,0.1l-1.5,2l-4.8,7.2l0.2,23.2l3.3,5.3l1.3-1.5l1.3-3.4l6.1-7.7l5.3-4.8l8.3-6.4l5.6-5.1l6.4-8.7l4.7-7.1 l4.6-9.3l3.2-8.2l2.5-7.1l1.3-6.8l1.1-2.3l-0.2-3.4l0.4-3.7l-0.2-1.7h-2.1l-2.6,2.2l-2.9,0.6l-2.5,0.9l-1.8,0.2l0,0l-3.2,0.2 l-1.9,1.1l-2.8,0.5l-4.8,1.9l-6.1,0.8l-5.2,1.6L1223.4,505.7L1223.4,505.7z'\n    },\n    'ZA': {\n      d: 'M1148.2,713.7l-2.9-0.6l-1.9,0.8l-2.6-1.1l-2.2-0.1l-8,4.7l-5.2,4.7l-2,4.3l-1.7,2.4l-3,0.5l-1.2,3l-0.6,2l-3.6,1.5 l-4.4-0.3l-2.5-1.8l-2.3-0.8l-2.7,1.5l-1.5,3.1l-2.7,1.9l-2.8,2.8l-4,0.7l-1.1-2.3l0.7-3.8l-3-6.1l-1.4-1l-1.1,23.6l-5,3.2l-2.9,0.5 l-3.3-1.2l-2.4-0.5l-0.8-2.7l-2.1-1.8l-2.7,3.2l3.5,8.2v0.1l2.5,5.3l3.2,6l-0.2,4.8l-1.7,1.2l1.4,4.2l-0.2,3.8l0.6,1.7l0.3-0.9 l2.1,2.9l1.8,0.1l2.1,2.3l2.4-0.2l3.5-2.4l4.6-1l5.6-2.5l2.2,0.3l3.3-0.8l5.7,1.2l2.7-1.2l3.2,1l0.8-1.8l2.7-0.3l5.8-2.5l4.3-2.9 l4.1-3.8l6.7-6.5l3.4-4.6l1.8-3.2l2.5-3.3l1.2-0.9l3.9-3.2l1.6-2.9l1.1-5.2l1.7-4.7h-4.1l-1.3,2.8l-3.3,0.7l-3-3.5l0.1-2.2l1.6-2.4 l0.7-1.8l1.6-0.5l2.7,1.2l-0.4-2.3l1.4-7.1l-1.1-4.5L1148.2,713.7L1148.2,713.7z M1128.1,766.5l-2,0.6l-3.7-4.9l3.2-4l3.1-2.5 l2.6-1.3l2.3,2l1.7,1.9l-1.9,3.1l-1.1,2.1l-3.1,1L1128.1,766.5L1128.1,766.5z'\n    },\n    'KR': {\n      d: 'M1637.3,331.7l6.2,5.5l-3.4,1.1l5.2,6.8l1.1,4.8l2.1,3.5l4.5-0.5l3.2-2.7l4.2-1.2l0.5-3.6l-3.4-7.5l-3.3-4.2 l-8.2-7.6l0.1,1.6l-2.1,0.4l-3.5,0.3l-0.7,2.9l-2.4-0.2L1637.3,331.7L1637.3,331.7z'\n    },\n    'SS': {\n      d: 'M1166,508.7l-0.7-2.2l-2.9-2.5l-0.8-4.6l0.5-4.7l-2.6-0.5l-0.3,1.5l-3.4,0.3l1.4,1.8l0.6,3.9l-3,3.5l-2.7,4.5 l-2.8,0.7l-4.8-3.7l-2.1,1.3l-0.5,1.9l-2.9,1.2l-0.2,1.3h-5.5l-0.8-1.3l-4.1-0.3l-2,1.1l-1.5-0.5l-3-3.7l-1-1.8l-4,0.9l-1.5,2.9 l-1.3,5.7l-1.9,1.2l-1.7,0.7l3.8,2.5l3.1,2.6l0.1,2l3.8,3.4l2.4,2.7l1.5,3.8l4.2,2.5l0.9,2.1l3.5,5.2l2.5,0.8l1.5-1.1l2.6,0.4 l3.1-1.3l1.4,2.7l5,4.2l0,0l2.3-1.7l3.5,1.4l4.5-1.5l4,0.1l3.4-3l3.4-3.8l3.8-4.2l-3.5-6.9l-2.6-1.5l-1-2.5l-2.9-3.1l-3.4-0.5 l1.8-3.6l3-0.1l0.8-2l-0.2-5l-0.8-0.1L1166,508.7L1166,508.7z'\n    },\n    'ES': {\n      d: 'M888.3,390.4l1-0.1v0.3l-1.2,1l-0.5,1.4l-0.4,0.6l-0.3,0.2l-0.6,0.2l-0.7-0.9l-0.4-1l-0.2-0.3l0.4-0.2h0.5l1-0.1 l0.3-0.1L888.3,390.4z M883.3,392.7h-0.2l-0.2,0.2l-0.2,0.4l0.3,0.5l0.2,0.1h0.2l0.5-0.4v-0.2l-0.1-0.3L883.3,392.7z M880.6,389 l-0.3-0.4h-0.7l-0.4,0.6l0.6,1.2l0.1,0.5h0.1l0.5-0.5l0.1-0.3l-0.1-0.5l0.2-0.2L880.6,389z M878.7,395.5h-0.6l0.1,0.2l0.1,0.2 l0.7,0.4l0.6-1.1l-0.2-0.2L878.7,395.5z M901.1,389.3l-0.3,0.2l-0.1,0.6l-0.7,1.3l-0.5,1.2l-0.7,0.6l-0.7,0.2l0.1,0.1l0.7,0.1 l0.8-0.7l1.5-0.5l0.3-1l0.3-1.1v-0.7l-0.3-0.3L901.1,389.3L901.1,389.3z M893.1,393.1L893.1,393.1L893.1,393.1h-0.2l-1.3-0.1 l-0.2,0.6l-0.5,0.4v0.7l0.5,0.7l0.3,0.1l0.5,0.1l0.7-0.4l0.2-0.4l0.1-0.8l-0.1-0.4V393.1z M994.3,318.7l-0.3-0.1l-0.5,0.2l-0.5-0.2 l0.1-0.3l0.1-0.2l0.1-0.1l-0.2-0.2v-0.1l0.2-0.2l-0.2-0.1l-1.3,0.4l-0.7,0.4l-2.1,1.5v0.3l0.1,0.2h0.4l0.2,0.4l0.4-0.4l0.3-0.1 l0.3,0.1l0.3,0.2l0.1,0.6l0.1,0.2l0.6,0.1l0.9,0.4l0.4-0.2l0.5-0.3l0.2-0.6l0.3-0.5l0.3-0.5l0.3-0.4l-0.1-0.4L994.3,318.7z M998.6,317.1l-0.9-0.3l-1,0.1l-0.1,0.1v0.4l0.1,0.1l0.6,0.1l1.6,0.7h0.1l0.1-0.4v-0.1L998.6,317.1z M992,301.9l-6,0.8l-1.3-0.7 l-0.2,0.1h-0.4l-0.1-0.2v-0.2l-3.7-1.8l-1.9,1.3l-9.4-2.8l-2-2.4l-8.2-0.2l-4.2,0.3l-5.4-1h-6.8l-6.2-1.1l-7.4,4.5l2,2.6l-0.4,4.4 l1.9-1.6l2.1-0.9l1.2,3.1h3l0.9-0.8l3,0.2l1.3,3.1l-2.4,1.7l-0.2,4.9l-0.9,0.9l-0.3,3l-2.2,0.5l2,3.8l-1.6,4.3l1.8,1.9l-0.8,1.7 l-2,2.5l0.4,2.1l4.8,1l1.4,3.7l2,2.2l2.5,0.6l2.1-2.5l3.3-2.3l5,0.1h6.7l3.8-5l3.9-1.3l1.2-4.2l3-2.9l-2-3.7l2-5.1l3.1-3.5l0.5-2.1 l6.6-1.3l4.8-4.2L992,301.9z M903.7,386.3l-0.2,0.4l-0.6,0.2l-0.8,0.4l-0.2,0.3l-0.2,0.9l0.4,0.1l0.3-0.4l0.9-0.3l0.5-0.3l0.1-0.9 l0.2-0.3l-0.2-0.3L903.7,386.3z M983.7,323.1l-0.2,0.3v0.3l-0.3,0.1l-0.1,0.4l0.1,0.2l0.8,0.1l0.2-0.4h0.3l0.6-0.7v-0.3l-0.3-0.2 L983.7,323.1z M984.2,325.1l-0.1,0.2l-0.1,0.2v0.2h0.5l0.4,0.1l0.1-0.1v-0.2h-0.5L984.2,325.1z'\n    },\n    'LK': {\n      d: 'M1432.2,532.7l2.3-1.8l0.6-6.6l-3-6.6l-2.9-4.5l-4.1-3.5l-1.9,10.3l1.4,9.1l2.8,5.1L1432.2,532.7L1432.2,532.7z'\n    },\n    'SD': {\n      d: 'M1180.8,468.5l0.4-4.2l1.6-2l4-1l2.6-3.6l-3.1-2.4l-2.2-1.6l-2.5-7.6l-1.1-6.5l1.1-1.2l-2.1-6.2h-21.8h-21.4h-22.1 l0.5,12.7h-6.3v2.7l1.1,25.2l-4.8-0.4l-2.4,4.7l-1.4,3.9l1.2,1.5l-1.8,1.9l0.7,2.7l-1.4,2.6l-0.5,2.4l2-0.4l1.2,2.5l0.1,3.7l2.1,1.8 v1.6l0.7,2.7l3.3,4v2.6l-0.8,2.6l0.3,2l2,1.8l0.5,0.3l1.7-0.7l1.9-1.2l1.3-5.7l1.5-2.9l4-0.9l1,1.8l3,3.7l1.5,0.5l2-1.1l4.1,0.3 l0.8,1.3h5.5l0.2-1.3l2.9-1.2l0.5-1.9l2.1-1.3l4.8,3.7l2.8-0.7l2.7-4.5l3-3.5l-0.6-3.9l-1.4-1.8l3.4-0.3l0.3-1.5l2.6,0.5l-0.5,4.7 l0.8,4.6l2.9,2.5l0.7,2.2v3.1l0.8,0.1v-0.7l1.4-6.7l2.6-1.8l0.5-2.6l2.3-4.8l3.2-3.2l2.1-6.2l0.7-5.5l-0.7-2.5L1180.8,468.5 L1180.8,468.5z'\n    },\n    'SR': {\n      d: 'M668,533.8l-4.6,0.5l-0.6,1.1l-6.7-1.2l-1,5.7l-3.5,1.6l0.3,1.5l-1.1,3.3l2.4,4.6l1.8,0.1l0.7,3.5l3.3,5.6l3.1,0.5 l0.5-1.3l-0.9-1.3l0.5-1.8l2.3,0.6l2.7-0.7l3.2,1.4l1.4-2.7l0.6-2.9l1-2.8l-2.1-3.7l-0.4-4.4l3.1-5.5L668,533.8L668,533.8z'\n    },\n    'SZ': {\n      d: 'M1150.5,736.6l-2.7-1.2l-1.6,0.5l-0.7,1.8l-1.6,2.4l-0.1,2.2l3,3.5l3.3-0.7l1.3-2.8l-0.3-2.8L1150.5,736.6 L1150.5,736.6z'\n    },\n    'SE': {\n      d: 'M1077.7,161.1l-1.9-2.2l-1.7-8.4l-7.2-3.7l-5.9-2.7l-2.5,0.3v3.5l-7.9-0.9l-0.6,3.1l-4-0.1l-2.2,3.9l-3.4,6.1 l-5.7,7.9l1.8,1.9l-1.3,2.2l-4.3-0.1l-2.3,5.3l1,7.6l3.1,2.9l-0.9,6.9l-3.4,4l-1.7,3.3l4.2,8.4l4.4,6.7l2,5.7l5.3-0.3l2.2-4.7 l5.7,0.5l2-5.5l0.6-10l4.6-1.3l3.3-6.6l-4.8-3.3l-3.6-4l2.1-8.1l7.7-4.9l6.1-4.5l-1.2-3.5l3.4-3.9L1077.7,161.1L1077.7,161.1z'\n    },\n    'CH': {\n      d: 'M1024.3,270.6l-5.4-1.9l-1,1.4h-4.2l-1.3,1l-2.3-0.6l0.2,1.6l-3.5,3.5v2.8l2.4-0.9l1.8,2.7l2.2,1.3l2.4-0.3l2.7-2.1 l0.9,1l2.4-0.2l0.9-2.5l3.8,0.8l2.1-1.1l0.3-2.5l-2.6-0.2l-2.3-1.1l0.7-1.6L1024.3,270.6L1024.3,270.6z'\n    },\n    'SY': {\n      d: 'M1183.5,359.9l11-6.7l0.9-7.8l-1.2-4.7l2.7-1.6l2.1-4.1l-5.9,1.1l-2.8-0.2l-5.7,2.5h-4.3l-3-1.2l-5.5,1.8l-1.9-1.3 l0.1,3.6l-1.2,1.5l-1.2,1.4l-1,2.6l1.1,5l2.4,0.3l1.2,2.5l-2.6,2.4l-0.9,3.5l0.3,2.6l-0.6,1h0.1l6.3,2.5L1183.5,359.9L1183.5,359.9z '\n    },\n    'TW': {\n      d: 'M1642.3,427.2l1.2-10.2l0.1-3.9l-2.9-1.9l-3.3,4.8l-1.9,6.3l1.5,4.7l4,5.4L1642.3,427.2L1642.3,427.2z'\n    },\n    'TJ': {\n      d: 'M1344.1,315.7l-2.1,0.2l-1.3-1.8l0.2-2.9l-6.4,1.5l-0.5,4l-1.5,3.5l-4.4-0.3l-0.6,2.8l4.2,1.6l2.4,4.7l-1.3,6.6 l1.8,0.8l3.3-2.1l2.1,1.3l0.9-3l3.2,0.1l0.6-0.9l-0.2-2.6l1.7-2.3l3.2,1.5v2l1.6,0.3l1,5.4l2.6,2.1l1.5-1.3l2.1-0.7l2.5-2.9l3.8,0.5 h5.4l-1.8-3.7l-0.6-2.5l-3.5-1.4l-1.6,0.6l-3-5.9l-9.5,0.9l-7.1-2l-5.4,0.5l-0.6-3.7l5.9,1.1L1344.1,315.7L1344.1,315.7z'\n    },\n    'TZ': {\n      d: 'M1149.6,578.6l-2,0.8l2.3,3.6l-0.4,3.7l-1.6,0.8l0,0l0.3,2.5l1.2,1.5v2l-1.4,1.4l-2.2,3.3l-2.1,2.3l-0.6,0.1 l-0.3,2.7l1.1,0.9l-0.2,2.7l1,2.6l-1.3,2.4l4.5,4.3l0.3,3.9l2.7,6.5l0,0l0.3,0.2l2.2,1.1l3.5,1.1l3.2,1.9l5.4,1.2l1.1,1.7l0,0 l0.4-1.2l2.8,3.4l0.3,6.7l1.8,2.4v0.1l2.1-0.3l6.7,1.8l1.4-0.8l3.9-0.1l2.1-1.9l3.3,0.1l6.2-2.5l4.6-3.7l0,0l-2-1.4l-2.2-6.3 l-1.8-3.9l0.4-3.1l-0.3-1.9l1.7-3.9l-0.2-1.6l-3.5-2.3l-0.3-3.6l2.8-7.9l-8-6.3l-0.4-3.7l-20.2-13l0,0l-2.8,2.8l-1.9,2.9l2.2,2.2 l-3.2,1.6l-0.7-0.8l-3.2,0.4l-2.5,1.4l-1.6-2.4l1.1-4.5l0.2-3.8l0,0l0,0L1149.6,578.6L1149.6,578.6z'\n    },\n    'TH': {\n      d: 'M1562.7,481.4l1.5-2.9l-0.5-5.4l-5.2-5.5l-1.3-6.3l-4.9-5.2l-4.3-0.4l-0.8,2.2l-3.2,0.2l-1.8-1.2l-5.3,3.8l-1-5.7 l0.4-6.7l-3.8-0.3l-0.9-3.8l-2.6-1.9l-3,1.4l-2.8,2.8l-3.9,0.3l-1.5,6.9l-2.2,1.1l3.5,5.6l4.1,4.6l2.9,4.2l-1.4,5.6l-1.7,1.1 l1.7,3.2l4.2,5.1l1,3.5l0.2,3l2.8,5.8l-2.6,5.9l-2.2,6.6l-1.3,6.1l-0.3,3.9l1.2,3.6l0.7-3.8l2.9,3.1l3.2,3.5l1.1,3.2l2.4,2.4 l0.9-1.1l4.7,2.8l0.6,3.3l3.7-0.8l1.7-2.6l-3.1-3.3l-3.4-0.8l-3.3-3.6l-1.4-5.5l-2.6-5.8l-3.7-0.2l-0.7-4.6l1.4-5.6l2.2-9.3l-0.2-7 l4.9-0.1l-0.3,5l4.7-0.1l5.3,2.9l-2.1-7.7l3-5.2l7.1-1.3L1562.7,481.4L1562.7,481.4z'\n    },\n    'TL': {\n      d: 'M1676.8,631.9l4.9-1.8l6-2.8l2.2-1.7l-2-0.8l-1.8,0.8l-4,0.2l-4.9,1.4l-0.8,1.5l0.5,1.3L1676.8,631.9L1676.8,631.9z '\n    },\n    'TG': {\n      d: 'M981.7,502.2l-4.9-0.1l-0.4,1.9l2.4,3.3l-0.1,4.6l0.6,5.1l1.4,2.3l-1.2,5.7l0.4,3.2l1.5,4l1.2,2.2l4.6-1.3l-1.4-4.4 l0.2-14.6l-1.1-1.3l-0.2-3.1l-2-2.3l-1.7-1.9L981.7,502.2L981.7,502.2z'\n    },\n    'TO': {\n      d: 'M13.3,707.7L13.3,707.7l-0.2,0.3v0.2l0.4,0.4L13.3,707.7z M11.7,706.8h-0.2H11.7l-0.4-0.3h-0.4l-0.2-0.1v-0.2 l-0.2,0.3l0.2,0.3l0.9,0.4l0.3,0.2l0.2-0.6v-0.2l-0.3,0.1v0.1H11.7z M14.2,690.8l0.1-0.2v-0.2l-0.3-0.1h-0.1l-0.3,0.5l0.1,0.1 l0.3,0.2h0.1L14.2,690.8z'\n    },\n    'TT': {\n      d: 'M635.4,507.7l0.1-0.2v-0.6l0.2-0.4l-0.2-0.4l-0.1-0.6l0.1-0.5v-0.7l0.2-0.3l0.5-0.8h-0.9l-0.6,0.2l-1.1,0.1 l-0.5,0.2l-0.7,0.1L632,504l0.1,0.1l0.5,0.2l0.2,0.2l0.1,0.2l0.1,0.4l-0.3,1.7l-0.1,0.1L632,507l-0.2,0.3l-1.4,0.8l0.8-0.1l0.9,0.1 l2.4-0.1L635.4,507.7L635.4,507.7z M637.2,501l1.2-0.5l0.1-0.4h-0.2l-0.8,0.3l-0.6,0.5v0.2L637.2,501z'\n    },\n    'TN': {\n      d: 'M1038,361.4l-2-1l-1.5-3l-2.8-0.1l-1.1-3.5l3.4-3.2l0.5-5.6l-1.9-1.6l-0.1-3l2.5-3.2l-0.4-1.3l-4.4,2.4l0.1-3.3 l-3.7-0.7l-5.6,2.6l-1,3.3l1,6.2l-1.1,5.3l-3.2,3.6l0.6,4.8l4.5,3.8v1.5l3.4,2.6l2.6,11.3l2.6-1.4l0.4-2.7l-0.7-2.6l3.7-2.5l1.5-2 l2.6-1.8L1038,361.4L1038,361.4z'\n    },\n    'TR': {\n      d: 'M1166.6,308.9l-9.7-4.4l-8.5,0.2l-5.7,1.7l-5.6,4l-9.9-0.8l-1.6,4.8l-7.9,0.2l-5.1,6.1l3.6,3l-2,5l4.2,3.6l3.7,6.4 l5.8-0.1l5.4,3.5l3.6-0.8l0.9-2.7l5.7,0.2l4.6,3.5l8-0.7l3.1-3.7l4.6,1.5l3.2-0.6l-1.7,2.4l2.3,3l1.2-1.4l1.2-1.5l-0.1-3.6l1.9,1.3 l5.5-1.8l3,1.2h4.3l5.7-2.5l2.8,0.2l5.9-1.1l2.1-1l6.2,0.9l2.1,1.6l2.3-1.1l0,0l-3.7-5.2l0.7-2l-2.9-7.3l3.3-1.8l-2.4-1.9l-4.2-1.5 v-3.1l-1.3-2.2l-5.6-3l-5.4,0.3l-5.5,3.2l-4.5-0.6l-5.8,1L1166.6,308.9L1166.6,308.9z M1117,312.9l2-1.9l6.1-0.4l0.7-1.5l-4.7-2 l-0.9-2.4l-4.5-0.8l-5,2l2.7,1.6l-1.2,3.9l-1.1,0.7l0.1,1.3l1.9,2.9L1117,312.9L1117,312.9z'\n    },\n    'TM': {\n      d: 'M1325.6,334.2l-0.8-4l-7.7-2.7l-6.2-3.2l-4.2-3l-7-4.4l-4.3-6.4l-2-1.2l-5.5,0.3l-2.3-1.3l-1.9-4.9l-7.8-3.3 l-3.3,3.6l-3.8,2.2l1.6,3.1l-5.8,0.1l-2.5,0.3l-4.9-4.9l-3.8-1.7l-5.5,1.3l-1.8,2l2.5,4l-0.5-4.5l3.7-1.6l2.4,3.6l4.6,3.7l-4,2 l-5.3-1.5l0.1,5.2l3.5,0.4l-0.4,4.4l4.5,2.1l0.7,6.8l1.8,4.5l4.4-1.2l3-3.7l3.5,0.2l2.1-1.2l3.8,0.6l6.5,3.3l4.3,0.7l7.3,5.7 l3.9,0.2l1.6,5.5l5.9,2.4l3.9-0.8l0.4-3l4-0.9l2.5-2l-0.1-5.2l4.1-1.2l0.3-2.3l2.9,1.7L1325.6,334.2L1325.6,334.2z'\n    },\n    'TC': {\n      d: 'M578.7,433.1l-0.1,0.4v0.2l0.2,0.1l0.6-0.1l0.1-0.1l0.2-0.1v-0.1l-0.4,0.1L578.7,433.1z M582.3,433.7l0.2-0.2 l-0.2-0.2l-0.7-0.2l-0.2,0.1v0.3h0.6L582.3,433.7L582.3,433.7L582.3,433.7z M581.2,433.2l-0.1-0.1l-0.1-0.6h-0.5v0.2l0.1,0.2h0.1 l0.1,0.2l0.3,0.2L581.2,433.2L581.2,433.2z'\n    },\n    'UG': {\n      d: 'M1167.6,545.1l-3.4,3l-4-0.1l-4.5,1.5l-3.5-1.4l-2.3,1.7l0,0l-0.3,7.5l2.3,0.8l-1.8,2.3l-2.2,1.7l-2.1,3.3l-1.2,3 l-0.3,5.1l-1.3,2.4l-0.1,4.8l1.4,0.6l3.3-1.9l2-0.8l6.2,0.1l0,0l-0.3-2.5l2.6-3.7l3.5-0.9l2.4-1.5l2.9,1.2l0.3,0.5v-0.3l1.6-2.6 l2.7-4.2l2.1-4.7l-2.6-7.3l-0.7-3.2L1167.6,545.1L1167.6,545.1z'\n    },\n    'UA': {\n      d: 'M1138.5,241l-4.8,0.5l-1.5-0.3l-1,1.4l-1.8-0.2l0,0l-4.1,0.3l-1.2,1.4l0.2,3.1l-2-0.6l-4.3,0.3l-1.5-1.5l-1.6,1.1 l-2-0.9l-3.8-0.1l-5.6-1.5l-5-0.5l-3.7,0.2l-2.4,1.6l-2.2,0.3l3.1,5.3l-0.3,1.8l-2.3,0.7l-3.8,5.1l1.6,2.8l-1.1-0.4l-1.1,1.7 l-0.7,2.5l2.9,1.7l0.6,1.6l1.9-1.3l3.2,0.7h3.2l2.4,1.5l1.6-0.9l3.6-0.6l1-1.5h2.1l1.1-0.9l3.2-0.6l3.9,1.9l2,0.3l2.5,1.6v2.1 l1.9,1.1l1.1,2.6l2,1.5l-0.2,1l1,0.6l-1.2,0.5l-3-0.2l-0.6-0.9l-1,0.5l0.5,1.1l-1.1,2l-0.5,2.1l-1.2,0.7l2.4,1.1l2.2-1l2.4,1.1 l3.3-4.6l1.3-3.4l4.5-0.8l0.7,2.4l8,1.5l1.7,1.4l-4.5,2.1l-0.7,1.2l5.8,1.8l-0.6,2.9l3,1.3l6.3-3.6l5.3-1.1l0.6-2.2l-5.1,0.4 l-2.7-1.5l-1-3.9l3.9-2.3l4.6-0.3l3-2l3.9-0.5l-0.4-2.8l2.2-1.7l4.7-0.5l0.3-2.1l-1.8-3.4l1.3-3.2l-0.4-1.9l-7.6-2l-2.9,0.1 l-3.6-2.9l-3.5,1l-6.6-2.2l-0.2-1.2l-2.2-2.7l-4-0.2l-0.7-1.9l0.9-1.3L1138.5,241L1138.5,241z'\n    },\n    'AE': {\n      d: 'M1283.9,408.6l-1.3-2.2l-3,3.9l-3.7,4.1l-3.3,4.3l-3.3-0.2l-4.6-0.2l-4.2,1l-0.3-1.7l-1,0.3l0.4,1.5l2.6,6.4 l16.8,3.2l1-1.3l-0.1-2.6l1.4-2.6l-0.3-2.6l2.4-1.3l-1.1-0.8l0.1-4.2h2.8L1283.9,408.6L1283.9,408.6z'\n    },\n    'GB': {\n      d: 'M950,227.5l-4.9-3.7l-3.9,0.3l0.8,3.2l-1.1,3.2l2.9-0.1l3.5,1.3L950,227.5z M963,203.2l-5.5,0.5l-3.6-0.4l-3.7,4.8 l-1.9,6.1l2.2,3l0.1,5.8l2.6-2.8l1.4,1.6l-1.7,2.7l1,1.6l5.7,1.1h0.1l3.1,3.8l-0.8,3.5l0,0l-7.1-0.6l-1,4l2.6,3.3l-5.1,1.9l1.3,2.4 l7.5,1l0,0l-4.3,1.3l-7.3,6.5l2.5,1.2l3.5-2.3l4.5,0.7l3.3-2.9l2.2,1.2l8.3-1.7l6.5,0.1l4.3-3.3l-1.9-3.1l2.4-1.8l0.5-3.9l-5.8-1.2 l-1.3-2.3l-2.9-6.9l-3.2-1l-4.1-7.1l-0.4-0.6l-4.8-0.4l4.2-5.3l1.3-4.9h-5l-4.7,0.8L963,203.2L963,203.2z'\n    },\n    'US': {\n      d: 'M116.7,450.7l2-0.9l2.5-1.4l0.2-0.4l-0.9-2.2l-0.7-0.8l-0.8-0.6l-1.9-1.1l-0.4-0.1l-0.4,0.6v1.3l-1.2,1l-0.4,0.7 l0.4,2.3l-0.6,1.8l1.2,0.9L116.7,450.7L116.7,450.7z M116.1,440.8l0.6-0.7l-1.2-1l-1.8-0.6L113,439v0.4l0.5,0.5l0.6,1.4L116.1,440.8 L116.1,440.8z M113.1,437.4l-2.6-0.2l-0.6,0.7l2.9,0.2L113.1,437.4z M108.4,436.5l-1.1-2.1L107,434l-1.7,0.9l0.1,0.2l0.4,1.5 l1.8,0.2l0.4,0.1L108.4,436.5L108.4,436.5z M100.1,432.3l0.3-1.5l-1.3-0.1l-1,0.6l-0.4,0.5l1.6,1.1L100.1,432.3z M512.2,259.1h-1.6 l-1.3,2.4h-10.1h-16.8h-16.7h-14.8h-14.7h-14.5h-15h-4.8h-14.6h-13.9l-1.6,5.1l-2.4,5.1l-2.3,1.6l1.1-5.9l-5.8-2.1l-1.4,1.2 l-0.4,2.9l-1.8,5.4l-4.2,8.3l-4,5.6l-4,5.6l-5.4,5.8l-1.1,4.7l-2.8,5.3l-3.9,5.2l1,3.4l-1.9,5.2l1.5,5.4l1.3,2.2l-0.8,1.5l0.4,9 l2.5,6.5l-0.8,3.5l1,1l4.6,0.7l1.3,1.7l2.8,0.3l-0.1,1.9l2.2,0.7l2.1,3.7l-0.3,3.2l6.3-0.5l7-0.7l-1,1.3l7.1,3.1l10.7,4.4H391h4.3 l0.8-2.6h9.3l1.3,2.2l2.1,2l2.4,2.8l0.8,3.3l0.4,3.5l2.2,1.9l4,1.9l4.8-5l4.4-0.1l3.1,2.5l1.6,4.4l1,3.7l2.4,3.6l0.2,4.5l0.8,3 l3.9,2l3.6,1.4l2.1-0.2l-0.6-2.2l0.4-3.1l1-4.4l1.9-2.8l3.7-3.1l6-2.7l6.1-4.7l4.9-1.5l3.5-0.4l3.5,1.4l4.9-0.8l3.3,3.4l3.8,0.2 l2.4-1.2l1.7,0.9l1.3-0.8l-0.9-1.3l0.7-2.5l-0.5-1.7l2.4-1l4.2-0.4l4.7,0.7l6.2-0.8l3,1.5l2,3l0.9,0.3l6.1-2.9l1.9,1l3,5.3l0.8,3.5 l-2,4.2l0.4,2.5l1.6,4.9l2,5.5l1.8,1.4l0.4,2.8l2.6,0.8l1.7-0.8l2-3.9l0.7-2.5l0.9-4.3l-1.2-7.4l0.5-2.7l-1.5-4.5l-0.7-5.4l0.1-4.4 l1.8-4.5l3.5-3.8l3.7-3l6.9-4.1l1.3-2.2l3.3-2.3l2.8-0.4l4.4-3.8l6-1.9l4.6-4.8l0.9-6.5l0.1-2.2l-1.4-0.4l1.5-6.2l-3-2.1l3.2,1v-4.1 l1.9-2.7l-1,5.3l2,2.5l-2.9,4.4l0.4,0.2l4.4-5.1l2.4-2.5l0.6-2.5l-0.9-1.1l-0.1-3.5l1.2,1.6l1.1,0.4l-0.1,1.6l5.2-4.9l2.5-4.5 l-1.4-0.3l2.1-1.8l-0.4,0.8h3.3l7.8-1.9l-1.1-1.2l-7.9,1.2l4.8-1.8l3.1-0.3l2.4-0.3l4.1-1.1l2.4,0.1l3.8-1l1-1.7l-1.1-1.4l-0.2,2.2 L615,306l-0.6-3.3l1.1-3.3l1.4-1.3l3.9-3.7l5.9-1.8l6-2.1l6.3-3l-0.2-2l-2.1-3.5l2.8-8.5l-1.5-1.8l-3.7,1.1l-1.1-1.7l-5.5,4.7 l-3.2,4.9l-2.7,2.8l-2.5,0.9l-1.7,0.3l-1,1.6h-9.3h-7.7l-2.7,1.2l-6.7,4.2l0.2,0.9l-0.6,2.4l-4.6,2l-3.9-0.5l-4-0.2l-2.6,0.7 l-0.3,1.8l0,0l-0.1,0.6l-5.8,3.7l-4.5,1.8l-2.9,0.8l-3.7,1.7l-4,0.9l-2.5-0.3l-2.7-1.3l2.7-2.4l0,0l2-2.2l3.7-3.4l0,0l0,0l0.7-2.5 l0.5-3.5l-1.6-0.7l-4.3,2.8l-0.9-0.1l0.3-1.5l3.8-2.5l1.6-2.8l0.7-2.8l-2.7-2.4l-3.7-1.3l-1.7,2.4l-1.4,0.6l-2.2,3.1l0.4-2.1 l-2.6,1.5l-2.1,2l-2.6,3.1l-1.3,2.6l0.1,3.8l-1.8,4l-3.3,3l-1.4,0.9l-1.6,0.7h-1.8l-0.3-0.4l-0.1-3.3l0.7-1.6l0.7-1.5l0.6-3l2.5-3.5 l2.9-4.3l4.6-4.7h-0.7l-5.4,4l-0.4-0.7l2.9-2.3l4.7-4l3.7-0.5l4.4-1.3l3.7,0.7h0.1l4.7-0.5l-1.5-2.5l0,0l-1.2-0.2l0,0l0,0l-1.4-0.3 l-0.4-1.7l-5.1,0.5l-5,1.4l-2.5-2.3l-2.5-0.8l3.1-3.3l-5.3,2l-4.9,2.1l-4.6,1.5l-2.1-2.1l-5.5,1.3l0.4-0.9l4.6-2.6l4.7-2.5l5.9-2.1 l0,0l0,0l-5.3-1.6l-4.4,0.8l-3.8-1.9l-4.6-1l-3.2-0.4l-1-1L512.2,259.1L512.2,259.1z M271.6,212.2l6.9-2.8v-1.8l-2.6-0.4l-3.4,0.9 l-6.4,2.1l-2.2,2.7l0.7,1.6L271.6,212.2z M232.9,195.8l2.3-2.3l-2.9-0.5l-5.7,1l0.8,1.6l1.6,1.1L232.9,195.8L232.9,195.8z M234.1,173.5l-3.1,2.2l0.4,0.5l4.2-0.4l0.3,1.1l1.7,1.2l4.9-1.2l1.2-0.6l-3.3-0.8l-1.6-1.5l-3.4,0.6L234.1,173.5L234.1,173.5z M359,133.3l-4.4-1.1l-10.2,2.8l-3.2-0.3l-11,2.3l-4.8,0.6l-7.8,2.5l-4.8,2.6l-8.6,2.5l-7.6,0.1l-6.3,2.9l3.2,1.7l0.7,2.3l-0.8,2.7 l2.3,2.1l-1.2,3.5l-9.2,0.2l4.3-2.8h-3.4l-13.1,2.7l-9.1,2.3l1,3.3l-1.2,2.2l4.5,1.4l6.9-0.7l1.8,1.3l2.9-1.3l6.1-1.2h2.7l-5.9,2.1 l1.1,1l-2.5,2.6l-5.5,1.8l-2.5-0.5l-7,2.7l-1.8-0.9l-4.1,0.4l-5.3,3l-7.6,3.1l-5.8,3.4l0.3,2.4l-4,3.3l1.4,1.4l0.5,2.7l7.2-1.1 l0.4,2.1l-3.3,2.1l-3.6,3.5h2.8l7.2-2.3l-1.6,2.9l3.6-2.1l-0.4,3l4.8-2.2l0.4,1.1l7.2-1.8l-6.2,3.4l-5.7,4.5l-5.7,2.1l-2.3,1.2 l-10.3,3.6l-4.9,2.4l-6.5,0.7l-8.5,3.3l-6.6,1.8l-8.1,2.8l-0.4,1l10-1.7l6-2l6.9-2l6.1-1.7l2.8,0.5l8.1-2.6l4.5-2.8l10.5-3.1 l3.9-2.6l6.6-1.8l7.6-2.5l8.9-4.2l-0.2-2.9l11.1-4.1l7.4-3.9l9.2-3.2l-0.4,1.4l-6.7,1.8l-8.3,5.7l-3.2,3.5l6.4-1.3l6.1-1.9l6.5-1.3 l2.9-0.3l3.5-4.1l6.3-1.2l2.6,2.5l6,2.7l6.7-0.5l5.7,2l3.2,1.1l3.3,6.1l3.7,1.7l7.1,0.2l4.1,0.4l-2.7,5.5l1.6,4.9l-3.3,5.2l2.5,1.9 l0.6,2.2l0,0l5.1-2.9l3.1-3.7l-4.6-3.8l1.5-6.8l1.1-4.2l-1.7-2.7l-0.7-2.4l0.5-3l-6.4,1.9l-7.6,3.3l-0.2-3.9l-0.6-2.6l-2.7-1.6 l-4.2-0.1l35.4-32.4l24.3-20.2l0,0l0,0l-3.5-0.7l-4.1-1.6l-6.5,0.8l-2.2-0.7l-7.1-0.5l-6.2-1.6l-4.8,0.5l-4.9-0.9l2-1.2l-6.3-0.3 l-3.3,1L359,133.3L359,133.3z'\n    },\n    'VI': {\n      d: 'M617.9,458.9l-0.7,0.2l-0.1,0.4h1.1l0.7-0.3h-0.6L617.9,458.9L617.9,458.9z M618.8,455.4l-0.5-0.1l-0.2,0.2l0,0 l0.3,0.1L618.8,455.4z M617.7,455.5l-0.2-0.2l-0.3-0.1l-0.4,0.1l0.5,0.3L617.7,455.5L617.7,455.5z'\n    },\n    'UY': {\n      d: 'M692.5,787l-2.1-3.7l1.9-3l-3.8-4.3l-4.8-3.5l-6.2-4.1l-1.9,0.2l-6.2-4.9l-3.4,0.7l-0.5,5.1l-0.3,6.5l1.1,6.3 l-0.9,1.4l0.4,4.2l3.9,3.5l3.6-0.2l5.4,2.7l2.7-0.6l4.2,1.2l5.3-3.5L692.5,787L692.5,787z'\n    },\n    'UZ': {\n      d: 'M1339.8,303.1l-2.5,1.2l-5.4,4.3l-0.9,4.5h-1.9l-2.3-3l-6.6-0.2l-2.6-5l-2.5-0.1l-1.5-6.2l-7.5-4.5l-8.6,0.5 l-5.7,0.9l-6.5-5.5l-4.8-2.3l-9.1-4.5l-1.1-0.5l-11.9,3.6l6.2,22.8l5.8-0.1l-1.6-3.1l3.8-2.2l3.3-3.6l7.8,3.3l1.9,4.9l2.3,1.3 l5.5-0.3l2,1.2l4.3,6.4l7,4.4l4.2,3l6.2,3.2l7.7,2.7l0.8,4h2.9l4.3,1.4l1.3-6.6l-2.4-4.7l-4.2-1.6l0.6-2.8l4.4,0.3l1.5-3.5l0.5-4 l6.4-1.5l-0.2,2.9l1.3,1.8l2.1-0.2l4.1,0.6l5.2-4.5l-7.1-3.3l-3.2,1.6l-4.6-2.3l3.1-4.1L1339.8,303.1L1339.8,303.1z'\n    },\n    'VU': {\n      d: 'M1908.6,676.9l-2.7-3.6l-0.6,1.7l1.3,2.8L1908.6,676.9L1908.6,676.9z M1906.6,667.2l-2.3-2l-0.9,4.9l0.5,1.8 l1.2-0.4l1.3,0.8L1906.6,667.2L1906.6,667.2z'\n    },\n    'VA': {\n      d: 'M1039.5,304.8l0.6-0.1l0.1,0.6h-0.9L1039.5,304.8z'\n    },\n    'VE': {\n      d: 'M642,518.9l-2.2-1.5l-2.9,0.2l-0.7-5.1l-4.1-3.2l-4.4-0.4l-1.8-3l4.8-1.9l-6.7,0.1l-6.9,0.4l-0.2,1.6l-3.2,1.9 l-4.2-0.7l-3.1-2.9l-6,0.7l-5-0.1l-0.1-2.1l-3.5-3.5l-3.9-0.1l-1.7-4.5l-2.1,2l0.6,3l-7.1,2.6v4.8l1.6,2.2l-1.5,4.6l-2.4,0.4l-1.9-5 l2.7-3.7l0.3-3.3l-1.7-2.9l3.3-0.8l0.3-1.5l-3.7,1.1l-1.6,3.2l-2.2,1.8l-1.8,2.4l-0.9,4.5l-1.8,3.7l2.9,0.5l0.6,2.9l1.1,1.4l0.4,2.5 l-0.8,2.4l0.2,1.3l1.3,0.6l1.3,2.2l7.2-0.6l3.2,0.8l3.8,5.5l2.3-0.7l4,0.3l3.2-0.7l2,1.1l-1.2,3.4l-1.3,2.1l-0.5,4.6l1,4.2l1.5,1.9 l0.2,1.5l-2.9,3.1l2,1.4l1.4,2.2l1.7,6.4l3,3.4l4.4-0.5l1.1-1.9l4.2-1.5l2.3-1l0.7-2.7l4.1-1.8l-0.3-1.4l-4.8-0.5l-0.7-4l0.3-4.3 l-2.4-1.6l1-0.6l4.2,0.8l4.4,1.6l1.7-1.5l4-1l6.4-2.4l2.1-2.4l-0.7-1.8l-3.7-4.8l1.6-1.8v-2.9l3.4-1.1l1.5-1.2l-1.9-2.3l0.6-2.3 L642,518.9L642,518.9z'\n    },\n    'VN': {\n      d: 'M1571.6,435l-5.9-1.6l-3-2.6l0.2-3.7l-5.2-1.1l-3-2.4l-4.1,3.4l-5.3,0.7h-4.3l-2.7,1.5l4,5.1l3.4,5.7l6.8,0.1l3,5.5 l-3.3,1.7l-1.3,2.3l7.3,3.8l5.7,7.5l4.3,5.6l4.8,4.4l2,4.5l-0.2,6.4l1.8,4.2l0.1,7.7l-8.9,4.9l2.8,3.8l-5.8,0.5l-4.7,2.5l4.5,3.7 l-1.3,4.3l2.3,4l6.6-5.9l4.1-5.3l6.1-4.1l4.3-4.2l-0.4-11.2l-4-11.7l-4.1-5.1l-5.6-4l-6.4-8.3l-5.3-6.7l0.5-4.4l3.7-6L1571.6,435z'\n    },\n    'EH': {\n      d: 'M928.8,396.2h0.8v0.4l-0.1,1.2l-0.2,9.7l-17.9-0.3l-0.2,16.3L906,424l-1.4,3.3l0.9,9.2l-21.6-0.1l-1.2,2.2l0.3-2.7 h0.1l12.4-0.5l0.7-2.3l2.3-2.9l2-8.8l7.8-6.8l2.8-8.1l1.7-0.4l1.9-5l4.6-0.7l1.9,0.9h2.5l1.8-1.5l3.4-0.2L928.8,396.2z'\n    },\n    'YE': {\n      d: 'M1271.5,466.2l-2.1-4.4l-5.2-10.5l-15.7,2.4l-5,2.9l-3.5,6.7l-2.5,1l-1.6-2.1l-2.1,0.3l-5.4-0.6l-1-0.7l-6.4,0.2 l-1.5,0.6l-2.4-1.7l-1.2,3.1l0.7,2.7l-2.3,2.1l0.4,2.7l-0.6,1.3l0.7,2.9l-1.1,0.3l1.7,2.6l1.3,4.7l1,1.9v3.4l1.6,3.8l3.9,0.3 l1.8-0.9l2.7,0.2l0.8-1.7l1.5-0.4l1.1-1.7l1.4-0.4l4.7-0.3l3.5-1.2l3.1-2.7l1.7,0.4l2.4-0.3l4.7-4.5l8.8-3l5.3-2.7v-2.1l0.9-2.9 L1271.5,466.2L1271.5,466.2z'\n    },\n    'ZM': {\n      d: 'M1149.2,626.7l-1.9-0.5l0.4-1.3l-1-0.3l-7.5,1.1l-1.6,0.7l-1.6,4.1l1.2,2.8l-1.2,7.5l-0.8,6.4l1.4,1.1l3.9,2.5 l1.5-1.2l0.3,6.9h-4.3l-2.1-3.5l-2-2.8l-4.3-0.8l-1.2-3.4l-3.4,2l-4.5-0.9l-1.8-2.8l-3.5-0.6l-2.6,0.1l-0.3-2l-1.9-0.1l0.5,2l-0.7,3 l0.9,3l-0.9,2.4l0.5,2.2l-11.6-0.1l-0.8,20.3l3.6,5.2l3.5,4l4.6-1.5l3.6,0.4l2.1,1.4v0.5l1,0.5l6.2,0.7l1.7,0.7l1.9-0.1l3.2-4.1 l5.1-5.3l2-0.5l0.7-2.2l3.3-2.5l4.2-0.9l-0.3-4.5l17.1-5.2l-2.9-1.7l1.9-5.9l1.8-2.2l-0.9-5.3l1.2-5.1l1-1.8l-1.2-5.4l-2.6-2.8 l-3.2-1.9l-3.5-1.1l-2.2-1.1l-0.3-0.2l0,0l0.5,1.1l-1,0.4L1149.2,626.7L1149.2,626.7z'\n    },\n    'ZW': {\n      d: 'M1148.2,713.7l6.2-7.2l1.6-4.6l0.9-0.6l0.8-3.7l-0.8-1.9l0.5-4.7l1.3-4.4l0.3-8.1l-2.8-2l-2.6-0.5l-1.1-1.6 l-2.6-1.3l-4.6,0.1l-0.3-2.4l-4.2,0.9l-3.3,2.5l-0.7,2.2l-2,0.5l-5.1,5.3l-3.2,4.1l-1.9,0.1l-1.7-0.7l-6.2-0.7l1.9,5.1l1.1,1.1 l1.6,3.7l6,7l2.3,0.7l-0.1,2.2l1.5,4.1l4.2,0.9l3.4,2.9l2.2,0.1l2.6,1.1l1.9-0.8L1148.2,713.7L1148.2,713.7z'\n    },\n    'XK': {\n      d: 'M1080,299.8l1.2-0.5l0.5-2l0.9-0.4l0.8,0.9l1,0.4l0.8,1l0.8,0.3l1.1,1.1h0.8l-0.5,1.5l-0.5,0.7l0.2,0.5l-1.1,0.2l-2.9,1l-0.1,1.2h-0.7l-0.5-2.3l-1.3-0.6l-1.3-1.6L1080,299.8z'\n    },\n    'MA-EH': {\n      d: 'M969.3,363.1l-1.8-6.7l-0.3-3.9l-2-4.1l-2.3-0.1l-5.5-1.4l-5,0.4l-3.1-2.7h-3.9l-1.8,3.9l-3.7,6.7l-4,2.6 l-5.4,2.9L927,365l-0.9,3.4l-2.1,5.4l1.1,7.9l-4.7,5.3l-2.7,1.7l-4.4,4.4l-5.1,0.7l-2.8,2.4l-0.1,0.1l-3.6,6.5l-3.7,2.3l-2.1,4 l-0.2,3.3l-1.6,3.8l-1.9,1l-3.1,4l-2,4.5l0.3,2.2l-1.9,3.3l-2.2,1.7l-0.3,3l-0.3,2.7l1.2-2.2l21.6,0.1l-0.9-9.2l1.4-3.3l5.2-0.5 l0.2-16.3l17.9,0.3l0.2-9.7l0.1-1.2v-0.4l0,0l0,0l0,0l0.1-7.5l8.9-4.7l5.4-1l4.4-1.7l2.1-3.2l6.3-2.5l0.3-4.7l3.1-0.5l2.5-2.4l7-1 l1-2.5L969.3,363.1z'\n    }\n  };\n\n  // Create the tooltip\n\n  createTooltip() {\n    if (this.tooltip) {\n      return false;\n    }\n    this.tooltip = this.createElement(\n      'div',\n      'svgMap-tooltip',\n      document.getElementsByTagName('body')[0]\n    );\n    this.tooltipContent = this.createElement(\n      'div',\n      'svgMap-tooltip-content-wrapper',\n      this.tooltip\n    );\n    this.tooltipPointer = this.createElement(\n      'div',\n      'svgMap-tooltip-pointer',\n      this.tooltip\n    );\n\n    this.tooltip.addEventListener('mouseenter', function () {}.bind(this), {\n      passive: true\n    });\n\n    this.tooltip.addEventListener(\n      'mouseleave',\n      function () {\n        this.hideTooltip();\n      }.bind(this),\n      { passive: true }\n    );\n  }\n\n  // Set the tooltips content\n\n  setTooltipContent(content) {\n    if (!this.tooltip) {\n      return;\n    }\n    this.tooltipContent.innerHTML = '';\n    this.tooltipContent.append(content);\n  }\n\n  // Show the tooltip\n\n  showTooltip(e) {\n    if (!this.tooltip) {\n      return;\n    }\n    this.tooltip.classList.add('svgMap-active');\n    this.moveTooltip(e);\n  }\n\n  // Hide the tooltip\n\n  hideTooltip() {\n    if (!this.tooltip) {\n      return;\n    }\n    this.tooltip.classList.remove('svgMap-active');\n  }\n\n  // Move the tooltip\n\n  moveTooltip(e) {\n    if (!this.tooltip) {\n      return;\n    }\n    var x = e.pageX || (e.touches && e.touches[0] ? e.touches[0].pageX : null);\n    var y = e.pageY || (e.touches && e.touches[0] ? e.touches[0].pageY : null);\n\n    if (x === null || y === null) {\n      return;\n    }\n\n    var offsetToWindow = 6;\n    var offsetToPointer = 12;\n    var offsetToPointerFlipped = 32;\n\n    var wWidth = window.innerWidth;\n    var tWidth = this.tooltip.offsetWidth;\n    var tHeight = this.tooltip.offsetHeight;\n\n    // Adjust pointer when reaching window sides\n    var left = x - tWidth / 2;\n    if (left <= offsetToWindow) {\n      x = offsetToWindow + tWidth / 2;\n      this.tooltipPointer.style.marginLeft = left - offsetToWindow + 'px';\n    } else if (left + tWidth >= wWidth - offsetToWindow) {\n      x = wWidth - offsetToWindow - tWidth / 2;\n      this.tooltipPointer.style.marginLeft =\n        (wWidth - offsetToWindow - e.pageX - tWidth / 2) * -1 + 'px';\n    } else {\n      this.tooltipPointer.style.marginLeft = '0px';\n    }\n\n    // Flip tooltip when reaching top window edge\n    var top = y - offsetToPointer - tHeight;\n    if (top <= offsetToWindow) {\n      this.tooltip.classList.add('svgMap-tooltip-flipped');\n      y += offsetToPointerFlipped;\n    } else {\n      this.tooltip.classList.remove('svgMap-tooltip-flipped');\n      y -= offsetToPointer;\n    }\n\n    this.tooltip.style.left = x + 'px';\n    this.tooltip.style.top = y + 'px';\n  }\n\n  // Log error to console\n\n  error(error) {\n    (console.error || console.log)(\n      'svgMap error: ' + (error || 'Unknown error')\n    );\n  }\n\n  // Helper to create an element with a class name\n\n  createElement(type, className, appendTo, innerhtml) {\n    var element = document.createElement(type);\n    if (className) {\n      className = className.split(' ');\n      className.forEach(function (item) {\n        element.classList.add(item);\n      });\n    }\n    innerhtml && (element.innerHTML = innerhtml);\n    appendTo && appendTo.appendChild(element);\n    return element;\n  }\n\n  // Print numbers with commas\n\n  numberWithCommas(nr, separator) {\n    return nr.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, separator || ',');\n  }\n\n  // Get a color between two other colors\n\n  getColor(color1, color2, ratio) {\n    color1 = color1.slice(-6);\n    color2 = color2.slice(-6);\n    ratio = parseFloat(ratio).toFixed(1);\n    var r = Math.ceil(\n      parseInt(color1.substring(0, 2), 16) * ratio +\n        parseInt(color2.substring(0, 2), 16) * (1 - ratio)\n    );\n    var g = Math.ceil(\n      parseInt(color1.substring(2, 4), 16) * ratio +\n        parseInt(color2.substring(2, 4), 16) * (1 - ratio)\n    );\n    var b = Math.ceil(\n      parseInt(color1.substring(4, 6), 16) * ratio +\n        parseInt(color2.substring(4, 6), 16) * (1 - ratio)\n    );\n    return '#' + this.getHex(r) + this.getHex(g) + this.getHex(b);\n  }\n\n  /**\n   * convert color to hex to allow users of the map to pass in\n   * colors in formats other than full hex value.\n   * @param color\n   * @param element\n   * @returns {string}\n   */\n  toHex(color, element = document.documentElement) {\n    // Resolve CSS variables\n    if (color.startsWith('var(')) {\n      const cssVar = color.slice(4, -1).trim().replaceAll(/[\"']+/g, '');\n      color = getComputedStyle(element).getPropertyValue(cssVar).trim();\n    }\n\n    // Create an offscreen canvas\n    const canvas = new OffscreenCanvas(1, 1);\n    const ctx = canvas.getContext('2d');\n\n    // Use canvas to parse the color\n    ctx.fillStyle = color;\n\n    // computed color is full hex code in the case of one color only\n    return ctx.fillStyle;\n  }\n\n  // Get a hex value\n\n  getHex(value) {\n    value = value.toString(16);\n    return ('0' + value).slice(-2);\n  }\n\n  // Get the name of a country by its ID\n\n  getCountryName(countryID) {\n    return this.options.countryNames && this.options.countryNames[countryID]\n      ? this.options.countryNames[countryID]\n      : this.countries[countryID];\n  }\n}\n"],"names":["require$$0","this","require$$1","require$$2","require$$3","require$$4"],"mappings":"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,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE;AACR,GAAG;;AAEH,EAAE,UAAU,GAAG;AACf,IAAI,EAAE,EAAE;AACR,MAAM,GAAG,EAA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AI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IA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","x_google_ignoreList":[0,1,2,3,4,5]}