nL +D  550  H ? M x ,D"v ] q v ;6 * Z qn )ZP 0   !1 A "#a$2Qr  Tiny File Manager | jquery.vmap.min-20261105062345.js
/*! * JQVMap: jQuery Vector Map Library * @author JQVMap <me@peterschmalfeldt.com> * @version 1.5.1 * @link http://jqvmap.com * @license https://github.com/manifestinteractive/jqvmap/blob/master/LICENSE * @builddate 2016/06/02 */ var VectorCanvas = function(a, b, c) { if (this.mode = window.SVGAngle ? "svg" : "vml", this.params = c, "svg" === this.mode) this.createSvgNode = function(a) { return document.createElementNS(this.svgns, a) }; else { try { document.namespaces.rvml || document.namespaces.add("rvml", "urn:schemas-microsoft-com:vml"), this.createVmlNode = function(a) { return document.createElement("<rvml:" + a + ' class="rvml">') } } catch (d) { this.createVmlNode = function(a) { return document.createElement("<" + a + ' xmlns="urn:schemas-microsoft.com:vml" class="rvml">') } } document.createStyleSheet().addRule(".rvml", "behavior:url(#default#VML)") } "svg" === this.mode ? this.canvas = this.createSvgNode("svg") : (this.canvas = this.createVmlNode("group"), this.canvas.style.position = "absolute"), this.setSize(a, b) }; VectorCanvas.prototype = { svgns: "http://www.w3.org/2000/svg", mode: "svg", width: 0, height: 0, canvas: null }; var ColorScale = function(a, b, c, d) { a && this.setColors(a), b && this.setNormalizeFunction(b), c && this.setMin(c), c && this.setMax(d) }; ColorScale.prototype = { colors: [] }; var JQVMap = function(a) { a = a || {}; var b, c = this, d = JQVMap.maps[a.map]; if (!d) throw new Error('Invalid "' + a.map + '" map parameter. Please make sure you have loaded this map file in your HTML.'); this.selectedRegions = [], this.multiSelectRegion = a.multiSelectRegion, this.container = a.container, this.defaultWidth = d.width, this.defaultHeight = d.height, this.color = a.color, this.selectedColor = a.selectedColor, this.hoverColor = a.hoverColor, this.hoverColors = a.hoverColors, this.hoverOpacity = a.hoverOpacity, this.setBackgroundColor(a.backgroundColor), this.width = a.container.width(), this.height = a.container.height(), this.resize(), jQuery(window).resize(function() { var d = a.container.width(), e = a.container.height(); if (d && e) { c.width = d, c.height = e, c.resize(), c.canvas.setSize(c.width, c.height), c.applyTransform(); var f = jQuery.Event("resize.jqvmap"); jQuery(a.container).trigger(f, [d, e]), b && (jQuery(".jqvmap-pin").remove(), c.pinHandlers = !1, c.placePins(b.pins, b.mode)) } }), this.canvas = new VectorCanvas(this.width, this.height, a), a.container.append(this.canvas.canvas), this.makeDraggable(), this.rootGroup = this.canvas.createGroup(!0), this.index = JQVMap.mapIndex, this.label = jQuery("<div/>").addClass("jqvmap-label").appendTo(jQuery("body")).hide(), a.enableZoom && (jQuery("<div/>").addClass("jqvmap-zoomin").text("+").appendTo(a.container), jQuery("<div/>").addClass("jqvmap-zoomout").html("&#x2212;").appendTo(a.container)), c.countries = []; for (var e in d.paths) { var f = this.canvas.createPath({ path: d.paths[e].path }); f.setFill(this.color), f.id = c.getCountryId(e), c.countries[e] = f, "svg" === this.canvas.mode ? f.setAttribute("class", "jqvmap-region") : jQuery(f).addClass("jqvmap-region"), jQuery(this.rootGroup).append(f) } if (jQuery(a.container).delegate("svg" === this.canvas.mode ? "path" : "shape", "mouseover mouseout", function(b) { var e = b.target, f = b.target.id.split("_").pop(), g = jQuery.Event("labelShow.jqvmap"), h = jQuery.Event("regionMouseOver.jqvmap"); f = f.toLowerCase(), "mouseover" === b.type ? (jQuery(a.container).trigger(h, [f, d.paths[f].name]), h.isDefaultPrevented() || c.highlight(f, e), a.showTooltip && (c.label.text(d.paths[f].name), jQuery(a.container).trigger(g, [c.label, f]), g.isDefaultPrevented() || (c.label.show(), c.labelWidth = c.label.width(), c.labelHeight = c.label.height()))) : (c.unhighlight(f, e), c.label.hide(), jQuery(a.container).trigger("regionMouseOut.jqvmap", [f, d.paths[f].name])) }), jQuery(a.container).delegate("svg" === this.canvas.mode ? "path" : "shape", "click", function(b) { var e = b.target, f = b.target.id.split("_").pop(), g = jQuery.Event("regionClick.jqvmap"); if (f = f.toLowerCase(), jQuery(a.container).trigger(g, [f, d.paths[f].name]), !a.multiSelectRegion && !g.isDefaultPrevented()) for (var h in d.paths) c.countries[h].currentFillColor = c.countries[h].getOriginalFill(), c.countries[h].setFill(c.countries[h].getOriginalFill()); g.isDefaultPrevented() || (c.isSelected(f) ? c.deselect(f, e) : c.select(f, e)) }), a.showTooltip && a.container.mousemove(function(a) { if (c.label.is(":visible")) { var b = a.pageX - 15 - c.labelWidth, d = a.pageY - 15 - c.labelHeight; 0 > b && (b = a.pageX + 15), 0 > d && (d = a.pageY + 15), c.label.css({ left: b, top: d }) } }), this.setColors(a.colors), this.canvas.canvas.appendChild(this.rootGroup), this.applyTransform(), this.colorScale = new ColorScale(a.scaleColors, a.normalizeFunction, a.valueMin, a.valueMax), a.values && (this.values = a.values, this.setValues(a.values)), a.selectedRegions) if (a.selectedRegions instanceof Array) for (var g in a.selectedRegions) this.select(a.selectedRegions[g].toLowerCase()); else this.select(a.selectedRegions.toLowerCase()); if (this.bindZoomButtons(), a.pins && (b = { pins: a.pins, mode: a.pinMode }, this.pinHandlers = !1, this.placePins(a.pins, a.pinMode)), a.showLabels) { this.pinHandlers = !1; var h = {}; for (e in c.countries) "function" != typeof c.countries[e] && (a.pins && a.pins[e] || (h[e] = e.toUpperCase())); b = { pins: h, mode: "content" }, this.placePins(h, "content") } JQVMap.mapIndex++ }; JQVMap.prototype = { transX: 0, transY: 0, scale: 1, baseTransX: 0, baseTransY: 0, baseScale: 1, width: 0, height: 0, countries: {}, countriesColors: {}, countriesData: {}, zoomStep: 1.4, zoomMaxStep: 4, zoomCurStep: 1 }, JQVMap.xlink = "http://www.w3.org/1999/xlink", JQVMap.mapIndex = 1, JQVMap.maps = {}, function() { var a = { colors: 1, values: 1, backgroundColor: 1, scaleColors: 1, normalizeFunction: 1, enableZoom: 1, showTooltip: 1, borderColor: 1, borderWidth: 1, borderOpacity: 1, selectedRegions: 1, multiSelectRegion: 1 }, b = { onLabelShow: "labelShow", onLoad: "load", onRegionOver: "regionMouseOver", onRegionOut: "regionMouseOut", onRegionClick: "regionClick", onRegionSelect: "regionSelect", onRegionDeselect: "regionDeselect", onResize: "resize" }; jQuery.fn.vectorMap = function(c) { var d = { map: "world_en", backgroundColor: "#a5bfdd", color: "#f4f3f0", hoverColor: "#c9dfaf", hoverColors: {}, selectedColor: "#c9dfaf", scaleColors: ["#b6d6ff", "#005ace"], normalizeFunction: "linear", enableZoom: !0, showTooltip: !0, borderColor: "#818181", borderWidth: 1, borderOpacity: .25, selectedRegions: null, multiSelectRegion: !1 }, e = this.data("mapObject"); if ("addMap" === c) JQVMap.maps[arguments[1]] = arguments[2]; else { if ("set" !== c || !a[arguments[1]]) { if ("string" == typeof c && "function" == typeof e[c]) return e[c].apply(e, Array.prototype.slice.call(arguments, 1)); jQuery.extend(d, c), d.container = this, this.css({ position: "relative", overflow: "hidden" }), e = new JQVMap(d), this.data("mapObject", e), this.unbind(".jqvmap"); for (var f in b) d[f] && this.bind(b[f] + ".jqvmap", d[f]); var g = jQuery.Event("load.jqvmap"); return jQuery(d.container).trigger(g, e), e } e["set" + arguments[1].charAt(0).toUpperCase() + arguments[1].substr(1)].apply(e, Array.prototype.slice.call(arguments, 2)) } } }(jQuery), ColorScale.arrayToRgb = function(a) { for (var b, c = "#", d = 0; d < a.length; d++) b = a[d].toString(16), c += 1 === b.length ? "0" + b : b; return c }, ColorScale.prototype.getColor = function(a) { "function" == typeof this.normalize && (a = this.normalize(a)); for (var b, c = [], d = 0, e = 0; e < this.colors.length - 1; e++) b = this.vectorLength(this.vectorSubtract(this.colors[e + 1], this.colors[e])), c.push(b), d += b; var f = (this.maxValue - this.minValue) / d; for (e = 0; e < c.length; e++) c[e] *= f; for (e = 0, a -= this.minValue; a - c[e] >= 0;) a -= c[e], e++; var g; for (g = e === this.colors.length - 1 ? this.vectorToNum(this.colors[e]).toString(16) : this.vectorToNum(this.vectorAdd(this.colors[e], this.vectorMult(this.vectorSubtract(this.colors[e + 1], this.colors[e]), a / c[e]))).toString(16); g.length < 6;) g = "0" + g; return "#" + g }, ColorScale.rgbToArray = function(a) { return a = a.substr(1), [parseInt(a.substr(0, 2), 16), parseInt(a.substr(2, 2), 16), parseInt(a.substr(4, 2), 16)] }, ColorScale.prototype.setColors = function(a) { for (var b = 0; b < a.length; b++) a[b] = ColorScale.rgbToArray(a[b]); this.colors = a }, ColorScale.prototype.setMax = function(a) { this.clearMaxValue = a, "function" == typeof this.normalize ? this.maxValue = this.normalize(a) : this.maxValue = a }, ColorScale.prototype.setMin = function(a) { this.clearMinValue = a, "function" == typeof this.normalize ? this.minValue = this.normalize(a) : this.minValue = a }, ColorScale.prototype.setNormalizeFunction = function(a) { "polynomial" === a ? this.normalize = function(a) { return Math.pow(a, .2) } : "linear" === a ? delete this.normalize : this.normalize = a, this.setMin(this.clearMinValue), this.setMax(this.clearMaxValue) }, ColorScale.prototype.vectorAdd = function(a, b) { for (var c = [], d = 0; d < a.length; d++) c[d] = a[d] + b[d]; return c }, ColorScale.prototype.vectorLength = function(a) { for (var b = 0, c = 0; c < a.length; c++) b += a[c] * a[c]; return Math.sqrt(b) }, ColorScale.prototype.vectorMult = function(a, b) { for (var c = [], d = 0; d < a.length; d++) c[d] = a[d] * b; return c }, ColorScale.prototype.vectorSubtract = function(a, b) { for (var c = [], d = 0; d < a.length; d++) c[d] = a[d] - b[d]; return c }, ColorScale.prototype.vectorToNum = function(a) { for (var b = 0, c = 0; c < a.length; c++) b += Math.round(a[c]) * Math.pow(256, a.length - c - 1); return b }, JQVMap.prototype.applyTransform = function() { var a, b, c, d; this.defaultWidth * this.scale <= this.width ? (a = (this.width - this.defaultWidth * this.scale) / (2 * this.scale), c = (this.width - this.defaultWidth * this.scale) / (2 * this.scale)) : (a = 0, c = (this.width - this.defaultWidth * this.scale) / this.scale), this.defaultHeight * this.scale <= this.height ? (b = (this.height - this.defaultHeight * this.scale) / (2 * this.scale), d = (this.height - this.defaultHeight * this.scale) / (2 * this.scale)) : (b = 0, d = (this.height - this.defaultHeight * this.scale) / this.scale), this.transY > b ? this.transY = b : this.transY < d && (this.transY = d), this.transX > a ? this.transX = a : this.transX < c && (this.transX = c), this.canvas.applyTransformParams(this.scale, this.transX, this.transY) }, JQVMap.prototype.bindZoomButtons = function() { var a = this; this.container.find(".jqvmap-zoomin").click(function() { a.zoomIn() }), this.container.find(".jqvmap-zoomout").click(function() { a.zoomOut() }) }, JQVMap.prototype.deselect = function(a, b) { if (a = a.toLowerCase(), b = b || jQuery("#" + this.getCountryId(a))[0], this.isSelected(a)) this.selectedRegions.splice(this.selectIndex(a), 1), jQuery(this.container).trigger("regionDeselect.jqvmap", [a]), b.currentFillColor = b.getOriginalFill(), b.setFill(b.getOriginalFill()); else for (var c in this.countries) this.selectedRegions.splice(this.selectedRegions.indexOf(c), 1), this.countries[c].currentFillColor = this.color, this.countries[c].setFill(this.color) }, JQVMap.prototype.getCountryId = function(a) { return "jqvmap" + this.index + "_" + a }, JQVMap.prototype.getPin = function(a) { var b = jQuery("#" + this.getPinId(a)); return b.html() }, JQVMap.prototype.getPinId = function(a) { return this.getCountryId(a) + "_pin" }, JQVMap.prototype.getPins = function() { var a = this.container.find(".jqvmap-pin"), b = {}; return jQuery.each(a, function(a, c) { c = jQuery(c); var d = c.attr("for").toLowerCase(), e = c.html(); b[d] = e }), JSON.stringify(b) }, JQVMap.prototype.highlight = function(a, b) { b = b || jQuery("#" + this.getCountryId(a))[0], this.hoverOpacity ? b.setOpacity(this.hoverOpacity) : this.hoverColors && a in this.hoverColors ? (b.currentFillColor = b.getFill() + "", b.setFill(this.hoverColors[a])) : this.hoverColor && (b.currentFillColor = b.getFill() + "", b.setFill(this.hoverColor)) }, JQVMap.prototype.isSelected = function(a) { return this.selectIndex(a) >= 0 }, JQVMap.prototype.makeDraggable = function() { var a, b, c = !1, d = this; d.isMoving = !1, d.isMovingTimeout = !1; var e, f, g, h, i, j, k; this.container.mousemove(function(e) { return c && (d.transX -= (a - e.pageX) / d.scale, d.transY -= (b - e.pageY) / d.scale, d.applyTransform(), a = e.pageX, b = e.pageY, d.isMoving = !0, d.isMovingTimeout && clearTimeout(d.isMovingTimeout), d.container.trigger("drag")), !1 }).mousedown(function(d) { return c = !0, a = d.pageX, b = d.pageY, !1 }).mouseup(function() { return c = !1, clearTimeout(d.isMovingTimeout), d.isMovingTimeout = setTimeout(function() { d.isMoving = !1 }, 100), !1 }).mouseout(function() { return c && d.isMoving ? (clearTimeout(d.isMovingTimeout), d.isMovingTimeout = setTimeout(function() { c = !1, d.isMoving = !1 }, 100), !1) : void 0 }), jQuery(this.container).bind("touchmove", function(a) { var b, c, l, m, n = a.originalEvent.touches; if (1 === n.length) { if (1 === e) { if (j === n[0].pageX && k === n[0].pageY) return; l = d.transX, m = d.transY, d.transX -= (j - n[0].pageX) / d.scale, d.transY -= (k - n[0].pageY) / d.scale, d.applyTransform(), (l !== d.transX || m !== d.transY) && a.preventDefault(), d.isMoving = !0, d.isMovingTimeout && clearTimeout(d.isMovingTimeout) } j = n[0].pageX, k = n[0].pageY } else 2 === n.length && (2 === e ? (c = Math.sqrt(Math.pow(n[0].pageX - n[1].pageX, 2) + Math.pow(n[0].pageY - n[1].pageY, 2)) / h, d.setScale(i * c, f, g), a.preventDefault()) : (b = jQuery(d.container).offset(), f = n[0].pageX > n[1].pageX ? n[1].pageX + (n[0].pageX - n[1].pageX) / 2 : n[0].pageX + (n[1].pageX - n[0].pageX) / 2, g = n[0].pageY > n[1].pageY ? n[1].pageY + (n[0].pageY - n[1].pageY) / 2 : n[0].pageY + (n[1].pageY - n[0].pageY) / 2, f -= b.left, g -= b.top, i = d.scale, h = Math.sqrt(Math.pow(n[0].pageX - n[1].pageX, 2) + Math.pow(n[0].pageY - n[1].pageY, 2)))); e = n.length }), jQuery(this.container).bind("touchstart", function() { e = 0 }), jQuery(this.container).bind("touchend", function() { e = 0 }) }, JQVMap.prototype.placePins = function(a, b) { var c = this; if ((!b || "content" !== b && "id" !== b) && (b = "content"), "content" === b ? jQuery.each(a, function(a, b) { if (0 !== jQuery("#" + c.getCountryId(a)).length) { var d = c.getPinId(a), e = jQuery("#" + d); e.length > 0 && e.remove(), c.container.append('<div id="' + d + '" for="' + a + '" class="jqvmap-pin" style="position:absolute">' + b + "</div>") } }) : jQuery.each(a, function(a, b) { if (0 !== jQuery("#" + c.getCountryId(a)).length) { var d = c.getPinId(a), e = jQuery("#" + d); e.length > 0 && e.remove(), c.container.append('<div id="' + d + '" for="' + a + '" class="jqvmap-pin" style="position:absolute"></div>'), e.append(jQuery("#" + b)) } }), this.positionPins(), !this.pinHandlers) { this.pinHandlers = !0; var d = function() { c.positionPins() }; this.container.bind("zoomIn", d).bind("zoomOut", d).bind("drag", d) } }, JQVMap.prototype.positionPins = function() { var a = this, b = this.container.find(".jqvmap-pin"); jQuery.each(b, function(b, c) { c = jQuery(c); var d = a.getCountryId(c.attr("for").toLowerCase()), e = jQuery("#" + d), f = e[0].getBBox(), g = a.scale, h = a.canvas.rootGroup.getBoundingClientRect(), i = a.container[0].getBoundingClientRect(), j = { left: h.left - i.left, top: h.top - i.top }, k = f.x * g + f.width * g / 2, l = f.y * g + f.height * g / 2; c.css({ left: j.left + k - c.width() / 2, top: j.top + l - c.height() / 2 }) }) }, JQVMap.prototype.removePin = function(a) { a = a.toLowerCase(), jQuery("#" + this.getPinId(a)).remove() }, JQVMap.prototype.removePins = function() { this.container.find(".jqvmap-pin").remove() }, JQVMap.prototype.reset = function() { for (var a in this.countries) this.countries[a].setFill(this.color); this.scale = this.baseScale, this.transX = this.baseTransX, this.transY = this.baseTransY, this.applyTransform() }, JQVMap.prototype.resize = function() { var a = this.baseScale; this.width / this.height > this.defaultWidth / this.defaultHeight ? (this.baseScale = this.height / this.defaultHeight, this.baseTransX = Math.abs(this.width - this.defaultWidth * this.baseScale) / (2 * this.baseScale)) : (this.baseScale = this.width / this.defaultWidth, this.baseTransY = Math.abs(this.height - this.defaultHeight * this.baseScale) / (2 * this.baseScale)), this.scale *= this.baseScale / a, this.transX *= this.baseScale / a, this.transY *= this.baseScale / a }, JQVMap.prototype.select = function(a, b) { a = a.toLowerCase(), b = b || jQuery("#" + this.getCountryId(a))[0], this.isSelected(a) || (this.multiSelectRegion ? this.selectedRegions.push(a) : this.selectedRegions = [a], jQuery(this.container).trigger("regionSelect.jqvmap", [a]), this.selectedColor && b && (b.currentFillColor = this.selectedColor, b.setFill(this.selectedColor))) }, JQVMap.prototype.selectIndex = function(a) { a = a.toLowerCase(); for (var b = 0; b < this.selectedRegions.length; b++) if (a === this.selectedRegions[b]) return b; return -1 }, JQVMap.prototype.setBackgroundColor = function(a) { this.container.css("background-color", a) }, JQVMap.prototype.setColors = function(a, b) { if ("string" == typeof a) this.countries[a].setFill(b), this.countries[a].setAttribute("original", b); else { var c = a; for (var d in c) this.countries[d] && (this.countries[d].setFill(c[d]), this.countries[d].setAttribute("original", c[d])) } }, JQVMap.prototype.setNormalizeFunction = function(a) { this.colorScale.setNormalizeFunction(a), this.values && this.setValues(this.values) }, JQVMap.prototype.setScale = function(a) { this.scale = a, this.applyTransform() }, JQVMap.prototype.setScaleColors = function(a) { this.colorScale.setColors(a), this.values && this.setValues(this.values) }, JQVMap.prototype.setValues = function(a) { var b, c = 0, d = Number.MAX_VALUE; for (var e in a) e = e.toLowerCase(), b = parseFloat(a[e]), isNaN(b) || (b > c && (c = a[e]), d > b && (d = b)); d === c && c++, this.colorScale.setMin(d), this.colorScale.setMax(c); var f = {}; for (e in a) e = e.toLowerCase(), b = parseFloat(a[e]), f[e] = isNaN(b) ? this.color : this.colorScale.getColor(b); this.setColors(f), this.values = a }, JQVMap.prototype.unhighlight = function(a, b) { a = a.toLowerCase(), b = b || jQuery("#" + this.getCountryId(a))[0], b.setOpacity(1), b.currentFillColor && b.setFill(b.currentFillColor) }, JQVMap.prototype.zoomIn = function() { var a = this, b = (jQuery("#zoom").innerHeight() - 12 - 30 - 6 - 7 - 6) / (this.zoomMaxStep - this.zoomCurStep); if (a.zoomCurStep < a.zoomMaxStep) { a.transX -= (a.width / a.scale - a.width / (a.scale * a.zoomStep)) / 2, a.transY -= (a.height / a.scale - a.height / (a.scale * a.zoomStep)) / 2, a.setScale(a.scale * a.zoomStep), a.zoomCurStep++; var c = jQuery("#zoomSlider"); c.css("top", parseInt(c.css("top"), 10) - b), a.container.trigger("zoomIn") } }, JQVMap.prototype.zoomOut = function() { var a = this, b = (jQuery("#zoom").innerHeight() - 12 - 30 - 6 - 7 - 6) / (this.zoomMaxStep - this.zoomCurStep); if (a.zoomCurStep > 1) { a.transX += (a.width / (a.scale / a.zoomStep) - a.width / a.scale) / 2, a.transY += (a.height / (a.scale / a.zoomStep) - a.height / a.scale) / 2, a.setScale(a.scale / a.zoomStep), a.zoomCurStep--; var c = jQuery("#zoomSlider"); c.css("top", parseInt(c.css("top"), 10) + b), a.container.trigger("zoomOut") } }, VectorCanvas.prototype.applyTransformParams = function(a, b, c) { "svg" === this.mode ? this.rootGroup.setAttribute("transform", "scale(" + a + ") translate(" + b + ", " + c + ")") : (this.rootGroup.coordorigin = this.width - b + "," + (this.height - c), this.rootGroup.coordsize = this.width / a + "," + this.height / a) }, VectorCanvas.prototype.createGroup = function(a) { var b; return "svg" === this.mode ? b = this.createSvgNode("g") : (b = this.createVmlNode("group"), b.style.width = this.width + "px", b.style.height = this.height + "px", b.style.left = "0px", b.style.top = "0px", b.coordorigin = "0 0", b.coordsize = this.width + " " + this.height), a && (this.rootGroup = b), b }, VectorCanvas.prototype.createPath = function(a) { var b; if ("svg" === this.mode) b = this.createSvgNode("path"), b.setAttribute("d", a.path), null !== this.params.borderColor && b.setAttribute("stroke", this.params.borderColor), this.params.borderWidth > 0 && (b.setAttribute("stroke-width", this.params.borderWidth), b.setAttribute("stroke-linecap", "round"), b.setAttribute("stroke-linejoin", "round")), this.params.borderOpacity > 0 && b.setAttribute("stroke-opacity", this.params.borderOpacity), b.setFill = function(a) { this.setAttribute("fill", a), null === this.getAttribute("original") && this.setAttribute("original", a) }, b.getFill = function() { return this.getAttribute("fill") }, b.getOriginalFill = function() { return this.getAttribute("original") }, b.setOpacity = function(a) { this.setAttribute("fill-opacity", a) }; else { b = this.createVmlNode("shape"), b.coordorigin = "0 0", b.coordsize = this.width + " " + this.height, b.style.width = this.width + "px", b.style.height = this.height + "px", b.fillcolor = JQVMap.defaultFillColor, b.stroked = !1, b.path = VectorCanvas.pathSvgToVml(a.path); var c = this.createVmlNode("skew"); c.on = !0, c.matrix = "0.01,0,0,0.01,0,0", c.offset = "0,0", b.appendChild(c); var d = this.createVmlNode("fill"); b.appendChild(d), b.setFill = function(a) { this.getElementsByTagName("fill")[0].color = a, null === this.getAttribute("original") && this.setAttribute("original", a) }, b.getFill = function() { return this.getElementsByTagName("fill")[0].color }, b.getOriginalFill = function() { return this.getAttribute("original") }, b.setOpacity = function(a) { this.getElementsByTagName("fill")[0].opacity = parseInt(100 * a, 10) + "%" } } return b }, VectorCanvas.prototype.pathSvgToVml = function(a) { var b, c, d = "", e = 0, f = 0; return a.replace(/([MmLlHhVvCcSs])((?:-?(?:\d+)?(?:\.\d+)?,?\s?)+)/g, function(a, g, h) { h = h.replace(/(\d)-/g, "$1,-").replace(/\s+/g, ",").split(","), h[0] || h.shift(); for (var i = 0, j = h.length; j > i; i++) h[i] = Math.round(100 * h[i]); switch (g) { case "m": e += h[0], f += h[1], d = "t" + h.join(","); break; case "M": e = h[0], f = h[1], d = "m" + h.join(","); break; case "l": e += h[0], f += h[1], d = "r" + h.join(","); break; case "L": e = h[0], f = h[1], d = "l" + h.join(","); break; case "h": e += h[0], d = "r" + h[0] + ",0"; break; case "H": e = h[0], d = "l" + e + "," + f; break; case "v": f += h[0], d = "r0," + h[0]; break; case "V": f = h[0], d = "l" + e + "," + f; break; case "c": b = e + h[h.length - 4], c = f + h[h.length - 3], e += h[h.length - 2], f += h[h.length - 1], d = "v" + h.join(","); break; case "C": b = h[h.length - 4], c = h[h.length - 3], e = h[h.length - 2], f = h[h.length - 1], d = "c" + h.join(","); break; case "s": h.unshift(f - c), h.unshift(e - b), b = e + h[h.length - 4], c = f + h[h.length - 3], e += h[h.length - 2], f += h[h.length - 1], d = "v" + h.join(","); break; case "S": h.unshift(f + f - c), h.unshift(e + e - b), b = h[h.length - 4], c = h[h.length - 3], e = h[h.length - 2], f = h[h.length - 1], d = "c" + h.join(",") } return d }).replace(/z/g, "") }, VectorCanvas.prototype.setSize = function(a, b) { if ("svg" === this.mode) this.canvas.setAttribute("width", a), this.canvas.setAttribute("height", b); else if (this.canvas.style.width = a + "px", this.canvas.style.height = b + "px", this.canvas.coordsize = a + " " + b, this.canvas.coordorigin = "0 0", this.rootGroup) { for (var c = this.rootGroup.getElementsByTagName("shape"), d = 0, e = c.length; e > d; d++) c[d].coordsize = a + " " + b, c[d].style.width = a + "px", c[d].style.height = b + "px"; this.rootGroup.coordsize = a + " " + b, this.rootGroup.style.width = a + "px", this.rootGroup.style.height = b + "px" } this.width = a, this.height = b };