From 9da8d8dd2ee98edb1dc06403a1bb431695e290a1 Mon Sep 17 00:00:00 2001 From: lang Date: Mon, 22 Feb 2016 20:01:58 +0800 Subject: [PATCH] Dump 3.0.2 --- build/zrender.js | 381 ++++++++++++++++++++++++++++--------------- build/zrender.min.js | 8 +- package.json | 2 +- src/zrender.js | 2 +- 4 files changed, 258 insertions(+), 135 deletions(-) diff --git a/build/zrender.js b/build/zrender.js index 87860ff32..3807b9c24 100644 --- a/build/zrender.js +++ b/build/zrender.js @@ -22,25 +22,31 @@ define( * @author firede[firede@firede.us] * @desc thanks zepto. */ -define('zrender/core/env',[],function() { - +define('zrender/core/env',[],function () { + var env = {}; if (typeof navigator === 'undefined') { // In node - return { + env = { browser: {}, os: {}, node: true, // Assume canvas is supported canvasSupported: true - } + }; } + else { + env = detect(navigator.userAgent); + } + + return env; + // Zepto.js // (c) 2010-2013 Thomas Fuchs // Zepto.js may be freely distributed under the MIT license. function detect(ua) { - var os = this.os = {}; - var browser = this.browser = {}; + var os = {}; + var browser = {}; var webkit = ua.match(/Web[kK]it[\/]{0,1}([\d.]+)/); var android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); var ipad = ua.match(/(iPad).*OS\s([\d_]+)/); @@ -56,10 +62,12 @@ define('zrender/core/env',[],function() { var playbook = ua.match(/PlayBook/); var chrome = ua.match(/Chrome\/([\d.]+)/) || ua.match(/CriOS\/([\d.]+)/); var firefox = ua.match(/Firefox\/([\d.]+)/); - var ie = ua.match(/MSIE ([\d.]+)/); var safari = webkit && ua.match(/Mobile\//) && !chrome; var webview = ua.match(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/) && !chrome; - var ie = ua.match(/MSIE\s([\d.]+)/); + var ie = ua.match(/MSIE\s([\d.]+)/) + // IE 11 Trident/7.0; rv:11.0 + || ua.match(/Trident\/.+?rv:(([\d.]+))/); + var edge = ua.match(/Edge\/([\d.]+)/); // IE 12 and 12+ // Todo: clean this up with a better OS/browser seperation: // - discern (more) between multiple browsers on android @@ -88,6 +96,7 @@ define('zrender/core/env',[],function() { if (safari && (ua.match(/Safari/) || !!os.ios)) browser.safari = true; if (webview) browser.webview = true; if (ie) browser.ie = true, browser.version = ie[1]; + if (edge) browser.edge = true, browser.version = edge[1]; os.tablet = !!(ipad || playbook || (android && !ua.match(/Mobile/)) || (firefox && ua.match(/Tablet/)) || (ie && !ua.match(/Phone/) && ua.match(/Touch/))); @@ -101,11 +110,19 @@ define('zrender/core/env',[],function() { node: false, // 原生canvas支持,改极端点了 // canvasSupported : !(browser.ie && parseFloat(browser.version) < 9) - canvasSupported : document.createElement('canvas').getContext ? true : false + canvasSupported : document.createElement('canvas').getContext ? true : false, + // @see + // works on most browsers + // IE10/11 does not support touch event, and MS Edge supports them but not by + // default, so we dont check navigator.maxTouchPoints for them here. + touchEventsSupported: 'ontouchstart' in window && !browser.ie && !browser.edge, + // . + pointerEventsSupported: 'onpointerdown' in window + // Firefox supports pointer but not by default, + // only MS browsers are reliable on pointer events currently. + && (browser.edge || (browser.ie && browser.version >= 10)) }; } - - return detect(navigator.userAgent); }); define('zrender/graphic/Gradient',['require'],function (require) { @@ -1242,15 +1259,21 @@ define('zrender/Handler',['require','./core/env','./core/event','./core/util','. var Eventful = require('./mixin/Eventful'); - var domHandlerNames = [ - 'click', 'dblclick', - 'mousewheel', 'mousemove', 'mouseout', 'mouseup', 'mousedown' + var mouseHandlerNames = [ + 'click', 'dblclick', 'mousewheel', 'mouseout' ]; + !usePointerEvent() && mouseHandlerNames.push( + 'mouseup', 'mousedown', 'mousemove' + ); var touchHandlerNames = [ 'touchstart', 'touchend', 'touchmove' ]; + var pointerHandlerNames = [ + 'pointerdown', 'pointerup', 'pointermove' + ]; + var TOUCH_CLICK_DELAY = 300; // touch指尖错觉的尝试偏移量配置 @@ -1265,10 +1288,6 @@ define('zrender/Handler',['require','./core/env','./core/event','./core/util','. var removeEventListener = eventTool.removeEventListener; var normalizeEvent = eventTool.normalizeEvent; - function proxyEventName(name) { - return '_' + name + 'Handler'; - } - function makeEventPacket(eveType, target, event) { return { type: eveType, @@ -1362,9 +1381,11 @@ define('zrender/Handler',['require','./core/env','./core/event','./core/util','. // 平板补充一次findHover // this._mobileFindFixed(event); // Trigger mousemove and mousedown - this._mousemoveHandler(event); + domHandlers.mousemove.call(this, event); - this._mousedownHandler(event); + domHandlers.mousedown.call(this, event); + + setTouchTimer(this); }, /** @@ -1381,7 +1402,9 @@ define('zrender/Handler',['require','./core/env','./core/event','./core/util','. // Mouse move should always be triggered no matter whether // there is gestrue event, because mouse move and pinch may // be used at the same time. - this._mousemoveHandler(event); + domHandlers.mousemove.call(this, event); + + setTouchTimer(this); }, /** @@ -1395,14 +1418,16 @@ define('zrender/Handler',['require','./core/env','./core/event','./core/util','. processGesture(this, event, 'end'); - this._mouseupHandler(event); + domHandlers.mouseup.call(this, event); // click event should always be triggered no matter whether // there is gestrue event. System click can not be prevented. if (+new Date() - this._lastTouchMoment < TOUCH_CLICK_DELAY) { // this._mobileFindFixed(event); - this._clickHandler(event); + domHandlers.click.call(this, event); } + + setTouchTimer(this); } }; @@ -1410,13 +1435,20 @@ define('zrender/Handler',['require','./core/env','./core/event','./core/util','. util.each(['click', 'mousedown', 'mouseup', 'mousewheel', 'dblclick'], function (name) { domHandlers[name] = function (event) { event = normalizeEvent(this.root, event); - // Find hover again to avoid click event is dispatched manually. Or click is triggered without mouseover var hovered = this._findHover(event.zrX, event.zrY, null); this._dispatchProxy(hovered, name, event); }; }); + // Pointer event handlers + // util.each(['pointerdown', 'pointermove', 'pointerup'], function (name) { + // domHandlers[name] = function (event) { + // var mouseName = name.replace('pointer', 'mouse'); + // domHandlers[mouseName].call(this, event); + // }; + // }); + function processGesture(zrHandler, event, stage) { var gestureMgr = zrHandler._gestureMgr; @@ -1445,11 +1477,24 @@ define('zrender/Handler',['require','./core/env','./core/event','./core/util','. * @param {module:zrender/Handler} instance 控制类实例 */ function initDomHandler(instance) { - var handlerNames = domHandlerNames.concat(touchHandlerNames); - var len = handlerNames.length; - while (len--) { - var name = handlerNames[len]; - instance[proxyEventName(name)] = util.bind(domHandlers[name], instance); + var handlerNames = touchHandlerNames.concat(pointerHandlerNames); + for (var i = 0; i < handlerNames.length; i++) { + var name = handlerNames[i]; + instance._handlers[name] = util.bind(domHandlers[name], instance); + } + + for (var i = 0; i < mouseHandlerNames.length; i++) { + var name = mouseHandlerNames[i]; + instance._handlers[name] = makeMouseHandler(domHandlers[name], instance); + } + + function makeMouseHandler(fn, instance) { + return function () { + if (instance._touching) { + return; + } + return fn.apply(instance, arguments); + }; } } @@ -1457,9 +1502,9 @@ define('zrender/Handler',['require','./core/env','./core/event','./core/util','. * @alias module:zrender/Handler * @constructor * @extends module:zrender/mixin/Eventful - * @param {HTMLElement} root 绘图区域 - * @param {module:zrender/Storage} storage Storage实例 - * @param {module:zrender/Painter} painter Painter实例 + * @param {HTMLElement} root Main HTML element for painting. + * @param {module:zrender/Storage} storage Storage instance. + * @param {module:zrender/Painter} painter Painter instance. */ var Handler = function(root, storage, painter) { Eventful.call(this); @@ -1470,49 +1515,82 @@ define('zrender/Handler',['require','./core/env','./core/event','./core/util','. /** * @private + * @type {boolean} */ this._hovered; + /** * @private + * @type {Date} */ this._lastTouchMoment; + /** * @private + * @type {number} */ this._lastX; + /** * @private + * @type {number} */ this._lastY; + /** * @private + * @type {string} */ - this._defaultCursorStyle = 'default' + this._defaultCursorStyle = 'default'; + /** * @private + * @type {module:zrender/core/GestureMgr} */ this._gestureMgr = new GestureMgr(); - initDomHandler(this); + /** + * @private + * @type {Array.} + */ + this._handlers = []; + + /** + * @private + * @type {boolean} + */ + this._touching = false; + + /** + * @private + * @type {number} + */ + this._touchTimer; - if (env.os.tablet || env.os.phone) { - // mobile支持 - // mobile的click/move/up/down自己模拟 - util.each(touchHandlerNames, function (name) { - addEventListener(root, name, this[proxyEventName(name)]); - }, this); + initDomHandler(this); - addEventListener(root, 'mouseout', this._mouseoutHandler); + if (usePointerEvent()) { + mountHandlers(pointerHandlerNames, this); } - else { - util.each(domHandlerNames, function (name) { - addEventListener(root, name, this[proxyEventName(name)]); - }, this); - // Firefox - addEventListener(root, 'DOMMouseScroll', this._mousewheelHandler); + else if (useTouchEvent()) { + mountHandlers(touchHandlerNames, this); + + // Handler of 'mouseout' event is needed in touch mode, which will be mounted below. + // addEventListener(root, 'mouseout', this._mouseoutHandler); } + // Considering some devices that both enable touch and mouse event (like MS Surface + // and lenovo X240, @see #2350), we make mouse event be always listened, otherwise + // mouse event can not be handle in those devices. + mountHandlers(mouseHandlerNames, this); + Draggable.call(this); + + function mountHandlers(handlerNames, instance) { + util.each(handlerNames, function (name) { + addEventListener(root, eventNameFix(name), instance._handlers[name]); + }, instance); + } }; Handler.prototype = { @@ -1532,8 +1610,8 @@ define('zrender/Handler',['require','./core/env','./core/event','./core/util','. * @param {event=} eventArgs */ dispatch: function (eventName, eventArgs) { - var handler = this[proxyEventName(eventName)]; - handler && handler(eventArgs); + var handler = this._handlers[eventName]; + handler && handler.call(this, eventArgs); }, /** @@ -1542,16 +1620,13 @@ define('zrender/Handler',['require','./core/env','./core/event','./core/util','. dispose: function () { var root = this.root; - var handlerNames = domHandlerNames.concat(touchHandlerNames); + var handlerNames = mouseHandlerNames.concat(touchHandlerNames); for (var i = 0; i < handlerNames.length; i++) { var name = handlerNames[i]; - removeEventListener(root, name, this[proxyEventName(name)]); + removeEventListener(root, eventNameFix(name), this._handlers[name]); } - // Firefox - removeEventListener(root, 'DOMMouseScroll', this._mousewheelHandler); - this.root = this.storage = this.painter = null; @@ -1643,12 +1718,50 @@ define('zrender/Handler',['require','./core/env','./core/event','./core/util','. return false; } + /** + * Prevent mouse event from being dispatched after Touch Events action + * @see + * 1. Mobile browsers dispatch mouse events 300ms after touchend. + * 2. Chrome for Android dispatch mousedown for long-touch about 650ms + * Result: Blocking Mouse Events for 700ms. + */ + function setTouchTimer(instance) { + instance._touching = true; + clearTimeout(instance._touchTimer); + instance._touchTimer = setTimeout(function () { + instance._touching = false; + }, 700); + } + + /** + * Althought MS Surface support screen touch, IE10/11 do not support + * touch event and MS Edge supported them but not by default (but chrome + * and firefox do). Thus we use Pointer event on MS browsers to handle touch. + */ + function usePointerEvent() { + // TODO + // pointermove event dont trigger when using finger. + // We may figger it out latter. + return false; + // return env.pointerEventsSupported + // In no-touch device we dont use pointer but just traditional way for + // avoiding problem. + // && window.navigator.maxTouchPoints; + } + + function useTouchEvent() { + return env.touchEventsSupported; + } + + function eventNameFix(name) { + return (name === 'mousewheel' && env.firefox) ? 'DOMMouseScroll' : name; + } + util.mixin(Handler, Eventful); util.mixin(Handler, Draggable); return Handler; }); - define('zrender/core/matrix',[],function () { var ArrayCtor = typeof Float32Array === 'undefined' ? Array @@ -6434,11 +6547,21 @@ define('zrender/graphic/helper/roundRect',['require'],function (require) { var width = shape.width; var height = shape.height; var r = shape.r; - var r1; - var r2; - var r3; + var r1; + var r2; + var r3; var r4; - + + // Convert width and height to positive for better borderRadius + if (width < 0) { + x = x + width; + width = -width; + } + if (height < 0) { + y = y + height; + height = -height; + } + if (typeof r === 'number') { r1 = r2 = r3 = r4 = r; } @@ -6465,7 +6588,7 @@ define('zrender/graphic/helper/roundRect',['require'],function (require) { else { r1 = r2 = r3 = r4 = 0; } - + var total; if (r1 + r2 > width) { total = r1 + r2; @@ -6504,7 +6627,7 @@ define('zrender/graphic/helper/roundRect',['require'],function (require) { r1 !== 0 && ctx.quadraticCurveTo(x, y, x + r1, y); } } -}); +}); // Simple LRU cache use doubly linked list // @module zrender/core/LRU define('zrender/core/LRU',['require'],function(require) { @@ -7522,9 +7645,9 @@ define('zrender/graphic/Image',['require','./Displayable','../core/BoundingRect' ctx.clearRect(0, 0, width * dpr, height * dpr); var pathTransform = { - position : path.position, - rotation : path.rotation, - scale : path.scale + position: path.position, + rotation: path.rotation, + scale: path.scale }; path.position = [0, 0, 0]; path.rotation = 0; @@ -7535,11 +7658,11 @@ define('zrender/graphic/Image',['require','./Displayable','../core/BoundingRect' var ImageShape = require('./graphic/Image'); var imgShape = new ImageShape({ - id : id, - style : { - x : 0, - y : 0, - image : canvas + id: id, + style: { + x: 0, + y: 0, + image: canvas } }); @@ -7602,7 +7725,7 @@ define('zrender/zrender',['require','./core/guid','./core/env','./Handler','./St /** * @type {string} */ - zrender.version = '3.0.1'; + zrender.version = '3.0.2'; /** * @param {HTMLElement} dom @@ -7695,9 +7818,6 @@ define('zrender/zrender',['require','./core/guid','./core/env','./Handler','./St this.storage = storage; this.painter = painter; - // VML 下为了性能可能会直接操作 VMLRoot 的位置 - // 因此鼠标的相对位置应该是相对于 VMLRoot - // PENDING if (!env.node) { this.handler = new Handler(painter.getViewportRoot(), storage, painter); } @@ -7848,7 +7968,7 @@ define('zrender/zrender',['require','./core/guid','./core/env','./Handler','./St /** * 将常规shape转成image shape - * @param {module:zrender/shape/Base} e + * @param {module:zrender/graphic/Path} e * @param {number} width * @param {number} height */ @@ -10232,7 +10352,11 @@ define('zrender/graphic/Path',['require','./Displayable','../core/util','../core var w = style.lineWidth; // PENDING, Min line width is needed when line is horizontal or vertical var lineScale = style.strokeNoScale ? this.getLineScale() : 1; - w = Math.max(w, this.strokeContainThreshold); + + // Only add extra hover lineWidth when there are no fill + if (!pathHasFill(style)) { + w = Math.max(w, this.strokeContainThreshold); + } // Consider line width // Line scale can't be 0; if (lineScale > 1e-10) { @@ -10260,14 +10384,16 @@ define('zrender/graphic/Path',['require','./Displayable','../core/util','../core var lineWidth = style.lineWidth; var lineScale = style.strokeNoScale ? this.getLineScale() : 1; // Line scale can't be 0; - if (lineScale < 1e-10) { - return false; - } - lineWidth = Math.max(lineWidth, this.strokeContainThreshold); - if (pathContain.containStroke( - pathData, lineWidth / lineScale, x, y - )) { - return true; + if (lineScale > 1e-10) { + // Only add extra hover lineWidth when there are no fill + if (!pathHasFill(style)) { + lineWidth = Math.max(lineWidth, this.strokeContainThreshold); + } + if (pathContain.containStroke( + pathData, lineWidth / lineScale, x, y + )) { + return true; + } } } if (pathHasFill(style)) { @@ -11382,12 +11508,9 @@ define('zrender/graphic/shape/Polygon',['require','../helper/poly','../Path'],fu } }); }); -define('zrender/vml/core',['require','../core/env'],function (require) { - - if (require('../core/env').canvasSupported) { - return; - } +define('zrender/vml/core',['require','exports','module','../core/env'],function (require, exports, module) { +if (!require('../core/env').canvasSupported) { var urn = 'urn:schemas-microsoft-com:vml'; var createNode; @@ -11409,7 +11532,7 @@ define('zrender/vml/core',['require','../core/env'],function (require) { } // From raphael - function initVML() { + var initVML = function () { if (vmlInited) { return; } @@ -11421,24 +11544,23 @@ define('zrender/vml/core',['require','../core/env'],function (require) { } else { // http://msdn.microsoft.com/en-us/library/ms531194%28VS.85%29.aspx - styleSheets[0].addRule('.zrvml', 'behavior:url(#default#VML)') + styleSheets[0].addRule('.zrvml', 'behavior:url(#default#VML)'); } - } + }; - return { + // Not useing return to avoid error when converting to CommonJS module + module.exports = { doc: doc, initVML: initVML, createNode: createNode }; +} }); // http://www.w3.org/TR/NOTE-VML // TODO Use proxy like svg instead of overwrite brush methods define('zrender/vml/graphic',['require','../core/env','../core/vector','../core/BoundingRect','../core/PathProxy','../tool/color','../contain/text','../graphic/mixin/RectText','../graphic/Displayable','../graphic/Image','../graphic/Text','../graphic/Path','../graphic/Gradient','./core'],function (require) { - if (require('../core/env').canvasSupported) { - return; - } - +if (!require('../core/env').canvasSupported) { var vec2 = require('../core/vector'); var BoundingRect = require('../core/BoundingRect'); var CMD = require('../core/PathProxy').CMD; @@ -11472,42 +11594,42 @@ define('zrender/vml/graphic',['require','../core/env','../core/vector','../core/ var ZLEVEL_BASE = 100000; var Z_BASE = 1000; - function initRootElStyle(el) { + var initRootElStyle = function (el) { el.style.cssText = 'position:absolute;left:0;top:0;width:1px;height:1px;'; el.coordsize = Z + ',' + Z; el.coordorigin = '0,0'; - } + }; - function encodeHtmlAttribute(s) { + var encodeHtmlAttribute = function (s) { return String(s).replace(/&/g, '&').replace(/"/g, '"'); - } + }; - function rgb2Str(r, g, b) { + var rgb2Str = function (r, g, b) { return 'rgb(' + [r, g, b].join(',') + ')'; - } + }; - function append(parent, child) { + var append = function (parent, child) { if (child && parent && child.parentNode !== parent) { parent.appendChild(child); } - } + }; - function remove(parent, child) { + var remove = function (parent, child) { if (child && parent && child.parentNode === parent) { parent.removeChild(child); } - } + }; - function getZIndex(zlevel, z, z2) { + var getZIndex = function (zlevel, z, z2) { // z 的取值范围为 [0, 1000] return (parseFloat(zlevel) || 0) * ZLEVEL_BASE + (parseFloat(z) || 0) * Z_BASE + z2; - } + }; /*************************************************** * PATH **************************************************/ - function setColorAndOpacity(el, color, opacity) { + var setColorAndOpacity = function (el, color, opacity) { var colorArr = colorTool.parse(color); opacity = +opacity; if (isNaN(opacity)) { @@ -11517,17 +11639,17 @@ define('zrender/vml/graphic',['require','../core/env','../core/vector','../core/ el.color = rgb2Str(colorArr[0], colorArr[1], colorArr[2]); el.opacity = opacity * colorArr[3]; } - } + }; - function getColorAndAlpha(color) { + var getColorAndAlpha = function (color) { var colorArr = colorTool.parse(color); return [ rgb2Str(colorArr[0], colorArr[1], colorArr[2]), colorArr[3] ]; - } + }; - function updateFillNode(el, style, zrEl) { + var updateFillNode = function (el, style, zrEl) { // TODO pattern var fill = style.fill; if (fill != null) { @@ -11637,9 +11759,9 @@ define('zrender/vml/graphic',['require','../core/env','../core/vector','../core/ setColorAndOpacity(el, fill, style.opacity); } } - } + }; - function updateStrokeNode(el, style) { + var updateStrokeNode = function (el, style) { if (style.lineJoin != null) { el.joinstyle = style.lineJoin; } @@ -11655,9 +11777,9 @@ define('zrender/vml/graphic',['require','../core/env','../core/vector','../core/ if (style.stroke != null && !(style.stroke instanceof Gradient)) { setColorAndOpacity(el, style.stroke, style.opacity); } - } + }; - function updateFillAndStroke(vmlEl, type, style, zrEl) { + var updateFillAndStroke = function (vmlEl, type, style, zrEl) { var isFill = type == 'fill'; var el = vmlEl.getElementsByTagName(type)[0]; // Stroke must have lineWidth @@ -11678,10 +11800,10 @@ define('zrender/vml/graphic',['require','../core/env','../core/vector','../core/ vmlEl[isFill ? 'filled' : 'stroked'] = 'false'; remove(vmlEl, el); } - } + }; var points = [[], [], []]; - function pathDataToString(data, m) { + var pathDataToString = function (data, m) { var M = CMD.M; var C = CMD.C; var L = CMD.L; @@ -11914,11 +12036,11 @@ define('zrender/vml/graphic',['require','../core/env','../core/vector','../core/ /*************************************************** * IMAGE **************************************************/ - function isImage(img) { + var isImage = function (img) { // FIXME img instanceof Image 如果 img 是一个字符串的时候,IE8 下会报错 return (typeof img === 'object') && img.tagName && img.tagName.toUpperCase() === 'IMG'; // return img instanceof Image; - } + }; // Rewrite the original path method ZImage.prototype.brush = function (vmlRoot) { @@ -12154,7 +12276,7 @@ define('zrender/vml/graphic',['require','../core/env','../core/vector','../core/ var MAX_FONT_CACHE_SIZE = 100; var fontEl = document.createElement('div'); - function getFontStyle(fontString) { + var getFontStyle = function (fontString) { var fontStyle = fontStyleCache[fontString]; if (!fontStyle) { // Clear cache @@ -12184,7 +12306,7 @@ define('zrender/vml/graphic',['require','../core/env','../core/vector','../core/ fontStyleCacheCount++; } return fontStyle; - } + }; var textMeasureEl; // Overwrite measure text method @@ -12213,7 +12335,7 @@ define('zrender/vml/graphic',['require','../core/env','../core/vector','../core/ var tmpRect = new BoundingRect(); - function drawRectText(vmlRoot, rect, textRect, fromTextEl) { + var drawRectText = function (vmlRoot, rect, textRect, fromTextEl) { var style = this.style; var text = style.text; @@ -12387,16 +12509,16 @@ define('zrender/vml/graphic',['require','../core/env','../core/vector','../core/ // Attached to root append(vmlRoot, textVmlEl); - } + }; - function removeRectText(vmlRoot) { + var removeRectText = function (vmlRoot) { remove(vmlRoot, this._textVmlEl); this._textVmlEl = null; - } + }; - function appendRectText(vmlRoot) { + var appendRectText = function (vmlRoot) { append(vmlRoot, this._textVmlEl); - } + }; var list = [RectText, Displayable, ZImage, Path, Text]; @@ -12425,6 +12547,7 @@ define('zrender/vml/graphic',['require','../core/env','../core/vector','../core/ Text.prototype.onAddToStorage = function (vmlRoot) { this.appendRectText(vmlRoot); }; +} }); /** * VML Painter. diff --git a/build/zrender.min.js b/build/zrender.min.js index 9fa837a79..1fc82ca81 100644 --- a/build/zrender.min.js +++ b/build/zrender.min.js @@ -1,4 +1,4 @@ -define("zrender/core/guid",[],function(){var t=2311;return function(){return"zr_"+t++}}),define("zrender/core/env",[],function(){function t(t){var e=this.os={},r=this.browser={},i=t.match(/Web[kK]it[\/]{0,1}([\d.]+)/),n=t.match(/(Android);?[\s\/]+([\d.]+)?/),a=t.match(/(iPad).*OS\s([\d_]+)/),o=t.match(/(iPod)(.*OS\s([\d_]+))?/),s=!a&&t.match(/(iPhone\sOS)\s([\d_]+)/),h=t.match(/(webOS|hpwOS)[\s\/]([\d.]+)/),c=h&&t.match(/TouchPad/),l=t.match(/Kindle\/([\d.]+)/),u=t.match(/Silk\/([\d._]+)/),f=t.match(/(BlackBerry).*Version\/([\d.]+)/),d=t.match(/(BB10).*Version\/([\d.]+)/),p=t.match(/(RIM\sTablet\sOS)\s([\d.]+)/),v=t.match(/PlayBook/),g=t.match(/Chrome\/([\d.]+)/)||t.match(/CriOS\/([\d.]+)/),m=t.match(/Firefox\/([\d.]+)/),y=t.match(/MSIE ([\d.]+)/),_=i&&t.match(/Mobile\//)&&!g,x=t.match(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/)&&!g,y=t.match(/MSIE\s([\d.]+)/);return(r.webkit=!!i)&&(r.version=i[1]),n&&(e.android=!0,e.version=n[2]),s&&!o&&(e.ios=e.iphone=!0,e.version=s[2].replace(/_/g,".")),a&&(e.ios=e.ipad=!0,e.version=a[2].replace(/_/g,".")),o&&(e.ios=e.ipod=!0,e.version=o[3]?o[3].replace(/_/g,"."):null),h&&(e.webos=!0,e.version=h[2]),c&&(e.touchpad=!0),f&&(e.blackberry=!0,e.version=f[2]),d&&(e.bb10=!0,e.version=d[2]),p&&(e.rimtabletos=!0,e.version=p[2]),v&&(r.playbook=!0),l&&(e.kindle=!0,e.version=l[1]),u&&(r.silk=!0,r.version=u[1]),!u&&e.android&&t.match(/Kindle Fire/)&&(r.silk=!0),g&&(r.chrome=!0,r.version=g[1]),m&&(r.firefox=!0,r.version=m[1]),y&&(r.ie=!0,r.version=y[1]),_&&(t.match(/Safari/)||e.ios)&&(r.safari=!0),x&&(r.webview=!0),y&&(r.ie=!0,r.version=y[1]),e.tablet=!!(a||v||n&&!t.match(/Mobile/)||m&&t.match(/Tablet/)||y&&!t.match(/Phone/)&&t.match(/Touch/)),e.phone=!(e.tablet||e.ipod||!(n||s||h||f||d||g&&t.match(/Android/)||g&&t.match(/CriOS\/([\d.]+)/)||m&&t.match(/Mobile/)||y&&t.match(/Touch/))),{browser:r,os:e,node:!1,canvasSupported:document.createElement("canvas").getContext?!0:!1}}return"undefined"==typeof navigator?{browser:{},os:{},node:!0,canvasSupported:!0}:t(navigator.userAgent)}),define("zrender/graphic/Gradient",["require"],function(t){var e=function(t){this.colorStops=t||[]};return e.prototype={constructor:e,addColorStop:function(t,e){this.colorStops.push({offset:t,color:e})}},e}),define("zrender/core/util",["require","../graphic/Gradient"],function(t){function e(t){if("object"==typeof t&&null!==t){var r=t;if(t instanceof Array){r=[];for(var i=0,n=t.length;n>i;i++)r[i]=e(t[i])}else if(!T(t)&&!P(t)){r={};for(var a in t)t.hasOwnProperty(a)&&(r[a]=e(t[a]))}return r}return t}function r(t,i,n){if(!w(i)||!w(t))return n?e(i):t;for(var a in i)if(i.hasOwnProperty(a)){var o=t[a],s=i[a];!w(s)||!w(o)||_(s)||_(o)||P(s)||P(o)||T(s)||T(o)?!n&&a in t||(t[a]=e(i[a],!0)):r(o,s,n)}return t}function i(t,e){for(var i=t[0],n=1,a=t.length;a>n;n++)i=r(i,t[n],e);return i}function n(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return t}function a(t,e,r){for(var i in e)e.hasOwnProperty(i)&&(r?null!=e[i]:null==t[i])&&(t[i]=e[i]);return t}function o(){return document.createElement("canvas")}function s(){return C||(C=E.createCanvas().getContext("2d")),C}function h(t,e){if(t){if(t.indexOf)return t.indexOf(e);for(var r=0,i=t.length;i>r;r++)if(t[r]===e)return r}return-1}function c(t,e){function r(){}var i=t.prototype;r.prototype=e.prototype,t.prototype=new r;for(var n in i)t.prototype[n]=i[n];t.prototype.constructor=t,t.superClass=e}function l(t,e,r){t="prototype"in t?t.prototype:t,e="prototype"in e?e.prototype:e,a(t,e,r)}function u(t){return t?"string"==typeof t?!1:"number"==typeof t.length:void 0}function f(t,e,r){if(t&&e)if(t.forEach&&t.forEach===q)t.forEach(e,r);else if(t.length===+t.length)for(var i=0,n=t.length;n>i;i++)e.call(r,t[i],i,t);else for(var a in t)t.hasOwnProperty(a)&&e.call(r,t[a],a,t)}function d(t,e,r){if(t&&e){if(t.map&&t.map===D)return t.map(e,r);for(var i=[],n=0,a=t.length;a>n;n++)i.push(e.call(r,t[n],n,t));return i}}function p(t,e,r,i){if(t&&e){if(t.reduce&&t.reduce===O)return t.reduce(e,r,i);for(var n=0,a=t.length;a>n;n++)r=e.call(i,r,t[n],n,t);return r}}function v(t,e,r){if(t&&e){if(t.filter&&t.filter===B)return t.filter(e,r);for(var i=[],n=0,a=t.length;a>n;n++)e.call(r,t[n],n,t)&&i.push(t[n]);return i}}function g(t,e,r){if(t&&e)for(var i=0,n=t.length;n>i;i++)if(e.call(r,t[i],i,t))return t[i]}function m(t,e){var r=I.call(arguments,2);return function(){return t.apply(e,r.concat(I.call(arguments)))}}function y(t){var e=I.call(arguments,1);return function(){return t.apply(this,e.concat(I.call(arguments)))}}function _(t){return"[object Array]"===R.call(t)}function x(t){return"function"==typeof t}function b(t){return"[object String]"===R.call(t)}function w(t){var e=typeof t;return"function"===e||!!t&&"object"==e}function T(t){return!!L[R.call(t)]||t instanceof S}function P(t){return t&&1===t.nodeType&&"string"==typeof t.nodeName}function z(t){for(var e=0,r=arguments.length;r>e;e++)if(null!=arguments[e])return arguments[e]}function M(){return Function.call.apply(I,arguments)}function k(t,e){if(!t)throw new Error(e)}var C,S=t("../graphic/Gradient"),L={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1},R=Object.prototype.toString,A=Array.prototype,q=A.forEach,B=A.filter,I=A.slice,D=A.map,O=A.reduce,E={inherits:c,mixin:l,clone:e,merge:r,mergeAll:i,extend:n,defaults:a,getContext:s,createCanvas:o,indexOf:h,slice:M,find:g,isArrayLike:u,each:f,map:d,reduce:p,filter:v,bind:m,curry:y,isArray:_,isString:b,isObject:w,isFunction:x,isBuildInObject:T,isDom:P,retrieve:z,assert:k,noop:function(){}};return E}),define("zrender/mixin/Eventful",["require","../core/util"],function(t){var e=Array.prototype.slice,r=t("../core/util"),i=r.indexOf,n=function(){this._$handlers={}};return n.prototype={constructor:n,one:function(t,e,r){var n=this._$handlers;return e&&t?(n[t]||(n[t]=[]),i(n[t],t)>=0?this:(n[t].push({h:e,one:!0,ctx:r||this}),this)):this},on:function(t,e,r){var i=this._$handlers;return e&&t?(i[t]||(i[t]=[]),i[t].push({h:e,one:!1,ctx:r||this}),this):this},isSilent:function(t){var e=this._$handlers;return e[t]&&e[t].length},off:function(t,e){var r=this._$handlers;if(!t)return this._$handlers={},this;if(e){if(r[t]){for(var i=[],n=0,a=r[t].length;a>n;n++)r[t][n].h!=e&&i.push(r[t][n]);r[t]=i}r[t]&&0===r[t].length&&delete r[t]}else delete r[t];return this},trigger:function(t){if(this._$handlers[t]){var r=arguments,i=r.length;i>3&&(r=e.call(r,1));for(var n=this._$handlers[t],a=n.length,o=0;a>o;){switch(i){case 1:n[o].h.call(n[o].ctx);break;case 2:n[o].h.call(n[o].ctx,r[1]);break;case 3:n[o].h.call(n[o].ctx,r[1],r[2]);break;default:n[o].h.apply(n[o].ctx,r)}n[o].one?(n.splice(o,1),a--):o++}}return this},triggerWithContext:function(t){if(this._$handlers[t]){var r=arguments,i=r.length;i>4&&(r=e.call(r,1,r.length-1));for(var n=r[r.length-1],a=this._$handlers[t],o=a.length,s=0;o>s;){switch(i){case 1:a[s].h.call(n);break;case 2:a[s].h.call(n,r[1]);break;case 3:a[s].h.call(n,r[1],r[2]);break;default:a[s].h.apply(n,r)}a[s].one?(a.splice(s,1),o--):s++}}return this}},n}),define("zrender/core/event",["require","../mixin/Eventful"],function(t){function e(t){return t.getBoundingClientRect?t.getBoundingClientRect():{left:0,top:0}}function r(t,r){if(r=r||window.event,null!=r.zrX)return r;var i=r.type,n=i&&i.indexOf("touch")>=0;if(n){var a="touchend"!=i?r.targetTouches[0]:r.changedTouches[0];if(a){var o=e(t);r.zrX=a.clientX-o.left,r.zrY=a.clientY-o.top}}else{var s=0,h=0;r.pageX||r.pageY?(s=r.pageX,h=r.pageY):(s=r.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,h=r.clientY+document.body.scrollTop+document.documentElement.scrollTop);var c=e(t),l=c.top+(window.pageYOffset||t.scrollTop)-(t.clientTop||0),u=c.left+(window.pageXOffset||t.scrollLeft)-(t.clientLeft||0);r.zrX=s-u,r.zrY=h-l,r.zrDelta=r.wheelDelta?r.wheelDelta/120:-(r.detail||0)/3}return r}function i(t,e,r){o?t.addEventListener(e,r):t.attachEvent("on"+e,r)}function n(t,e,r){o?t.removeEventListener(e,r):t.detachEvent("on"+e,r)}var a=t("../mixin/Eventful"),o="undefined"!=typeof window&&!!window.addEventListener,s=o?function(t){t.preventDefault(),t.stopPropagation(),t.cancelBubble=!0}:function(t){t.returnValue=!1,t.cancelBubble=!0};return{normalizeEvent:r,addEventListener:i,removeEventListener:n,stop:s,Dispatcher:a}}),define("zrender/mixin/Draggable",["require"],function(t){function e(){this.on("mousedown",this._dragStart,this),this.on("mousemove",this._drag,this),this.on("mouseup",this._dragEnd,this),this.on("globalout",this._dragEnd,this)}return e.prototype={constructor:e,_dragStart:function(t){var e=t.target;e&&e.draggable&&(this._draggingTarget=e,e.dragging=!0,this._x=t.offsetX,this._y=t.offsetY,this._dispatchProxy(e,"dragstart",t.event))},_drag:function(t){var e=this._draggingTarget;if(e){var r=t.offsetX,i=t.offsetY,n=r-this._x,a=i-this._y;this._x=r,this._y=i,e.drift(n,a,t),this._dispatchProxy(e,"drag",t.event);var o=this._findHover(r,i,e),s=this._dropTarget;this._dropTarget=o,e!==o&&(s&&o!==s&&this._dispatchProxy(s,"dragleave",t.event),o&&o!==s&&this._dispatchProxy(o,"dragenter",t.event))}},_dragEnd:function(t){var e=this._draggingTarget;e&&(e.dragging=!1),this._dispatchProxy(e,"dragend",t.event),this._dropTarget&&this._dispatchProxy(this._dropTarget,"drop",t.event),this._draggingTarget=null,this._dropTarget=null}},e}),define("zrender/core/GestureMgr",["require"],function(t){function e(t){var e=t[1][0]-t[0][0],r=t[1][1]-t[0][1];return Math.sqrt(e*e+r*r)}function r(t){return[(t[0][0]+t[1][0])/2,(t[0][1]+t[1][1])/2]}var i=function(){this._track=[]};i.prototype={constructor:i,recognize:function(t,e){return this._doTrack(t,e),this._recognize(t)},clear:function(){return this._track.length=0,this},_doTrack:function(t,e){var r=t.touches;if(r){for(var i={points:[],touches:[],target:e,event:t},n=0,a=r.length;a>n;n++){var o=r[n];i.points.push([o.clientX,o.clientY]),i.touches.push(o)}this._track.push(i)}},_recognize:function(t){for(var e in n)if(n.hasOwnProperty(e)){var r=n[e](this._track,t);if(r)return r}}};var n={pinch:function(t,i){var n=t.length;if(n){var a=(t[n-1]||{}).points,o=(t[n-2]||{}).points||a;if(o&&o.length>1&&a&&a.length>1){var s=e(a)/e(o);!isFinite(s)&&(s=1),i.pinchScale=s;var h=r(a);return i.pinchX=h[0],i.pinchY=h[1],{type:"pinch",target:t[0].target,event:i}}}}};return i}),define("zrender/Handler",["require","./core/env","./core/event","./core/util","./mixin/Draggable","./core/GestureMgr","./mixin/Eventful"],function(t){function e(t){return"_"+t+"Handler"}function r(t,e,r){return{type:t,event:r,target:e,cancelBubble:!1,offsetX:r.zrX,offsetY:r.zrY,gestureEvent:r.gestureEvent,pinchX:r.pinchX,pinchY:r.pinchY,pinchScale:r.pinchScale,wheelDelta:r.zrDelta}}function i(t,e,r){var i=t._gestureMgr;"start"===r&&i.clear();var n=i.recognize(e,t._findHover(e.zrX,e.zrY,null));if("end"===r&&i.clear(),n){var a=n.type;e.gestureEvent=a,t._dispatchProxy(n.target,a,n.event)}}function n(t){for(var r=f.concat(d),i=r.length;i--;){var n=r[i];t[e(n)]=h.bind(y[n],t)}}function a(t,e,r){if(t[t.rectHover?"rectContain":"contain"](e,r)){for(var i=t.parent;i;){if(i.clipPath&&!i.clipPath.contain(e,r))return!1;i=i.parent}return!0}return!1}var o=t("./core/env"),s=t("./core/event"),h=t("./core/util"),c=t("./mixin/Draggable"),l=t("./core/GestureMgr"),u=t("./mixin/Eventful"),f=["click","dblclick","mousewheel","mousemove","mouseout","mouseup","mousedown"],d=["touchstart","touchend","touchmove"],p=300,v=s.addEventListener,g=s.removeEventListener,m=s.normalizeEvent,y={mousemove:function(t){t=m(this.root,t);var e=t.zrX,r=t.zrY,i=this._findHover(e,r,null),n=this._hovered;this._hovered=i,this.root.style.cursor=i?i.cursor:this._defaultCursorStyle,n&&i!==n&&n.__zr&&this._dispatchProxy(n,"mouseout",t),this._dispatchProxy(i,"mousemove",t),i&&i!==n&&this._dispatchProxy(i,"mouseover",t)},mouseout:function(t){t=m(this.root,t);var e=t.toElement||t.relatedTarget;if(e!=this.root)for(;e&&9!=e.nodeType;){if(e===this.root)return;e=e.parentNode}this._dispatchProxy(this._hovered,"mouseout",t),this.trigger("globalout",{event:t})},touchstart:function(t){t=m(this.root,t),this._lastTouchMoment=new Date,i(this,t,"start"),this._mousemoveHandler(t),this._mousedownHandler(t)},touchmove:function(t){t=m(this.root,t),i(this,t,"change"),this._mousemoveHandler(t)},touchend:function(t){t=m(this.root,t),i(this,t,"end"),this._mouseupHandler(t),+new Date-this._lastTouchMoment=0;n--)if(!i[n].silent&&i[n]!==r&&a(i[n],t,e))return i[n]}},h.mixin(_,u),h.mixin(_,c),_}),define("zrender/core/matrix",[],function(){var t="undefined"==typeof Float32Array?Array:Float32Array,e={create:function(){var r=new t(6);return e.identity(r),r},identity:function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},copy:function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t},mul:function(t,e,r){var i=e[0]*r[0]+e[2]*r[1],n=e[1]*r[0]+e[3]*r[1],a=e[0]*r[2]+e[2]*r[3],o=e[1]*r[2]+e[3]*r[3],s=e[0]*r[4]+e[2]*r[5]+e[4],h=e[1]*r[4]+e[3]*r[5]+e[5];return t[0]=i,t[1]=n,t[2]=a,t[3]=o,t[4]=s,t[5]=h,t},translate:function(t,e,r){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4]+r[0],t[5]=e[5]+r[1],t},rotate:function(t,e,r){var i=e[0],n=e[2],a=e[4],o=e[1],s=e[3],h=e[5],c=Math.sin(r),l=Math.cos(r);return t[0]=i*l+o*c,t[1]=-i*c+o*l,t[2]=n*l+s*c,t[3]=-n*c+l*s,t[4]=l*a+c*h,t[5]=l*h-c*a,t},scale:function(t,e,r){var i=r[0],n=r[1];return t[0]=e[0]*i,t[1]=e[1]*n,t[2]=e[2]*i,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*n,t},invert:function(t,e){var r=e[0],i=e[2],n=e[4],a=e[1],o=e[3],s=e[5],h=r*o-a*i;return h?(h=1/h,t[0]=o*h,t[1]=-a*h,t[2]=-i*h,t[3]=r*h,t[4]=(i*s-o*n)*h,t[5]=(a*n-r*s)*h,t):null}};return e}),define("zrender/core/vector",[],function(){var t="undefined"==typeof Float32Array?Array:Float32Array,e={create:function(e,r){var i=new t(2);return i[0]=e||0,i[1]=r||0,i},copy:function(t,e){return t[0]=e[0],t[1]=e[1],t},clone:function(e){var r=new t(2);return r[0]=e[0],r[1]=e[1],r},set:function(t,e,r){return t[0]=e,t[1]=r,t},add:function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t},scaleAndAdd:function(t,e,r,i){return t[0]=e[0]+r[0]*i,t[1]=e[1]+r[1]*i,t},sub:function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t},len:function(t){return Math.sqrt(this.lenSquare(t))},lenSquare:function(t){return t[0]*t[0]+t[1]*t[1]},mul:function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t},div:function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t},dot:function(t,e){return t[0]*e[0]+t[1]*e[1]},scale:function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t},normalize:function(t,r){var i=e.len(r);return 0===i?(t[0]=0,t[1]=0):(t[0]=r[0]/i,t[1]=r[1]/i),t},distance:function(t,e){return Math.sqrt((t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1]))},distanceSquare:function(t,e){return(t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1])},negate:function(t,e){return t[0]=-e[0],t[1]=-e[1],t},lerp:function(t,e,r,i){return t[0]=e[0]+i*(r[0]-e[0]),t[1]=e[1]+i*(r[1]-e[1]),t},applyTransform:function(t,e,r){var i=e[0],n=e[1];return t[0]=r[0]*i+r[2]*n+r[4],t[1]=r[1]*i+r[3]*n+r[5],t},min:function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t},max:function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t}};return e.length=e.len,e.lengthSquare=e.lenSquare,e.dist=e.distance,e.distSquare=e.distanceSquare,e}),define("zrender/mixin/Transformable",["require","../core/matrix","../core/vector"],function(t){function e(t){return t>a||-a>t}var r=t("../core/matrix"),i=t("../core/vector"),n=r.identity,a=5e-5,o=function(t){t=t||{},t.position||(this.position=[0,0]),null==t.rotation&&(this.rotation=0),t.scale||(this.scale=[1,1]),this.origin=this.origin||null},s=o.prototype;s.transform=null,s.needLocalTransform=function(){return e(this.rotation)||e(this.position[0])||e(this.position[1])||e(this.scale[0]-1)||e(this.scale[1]-1)},s.updateTransform=function(){var t=this.parent,e=t&&t.transform,i=this.needLocalTransform(),a=this.transform;return i||e?(a=a||r.create(),i?this.getLocalTransform(a):n(a),e&&(i?r.mul(a,t.transform,a):r.copy(a,t.transform)),this.transform=a,this.invTransform=this.invTransform||r.create(),void r.invert(this.invTransform,a)):void(a&&n(a))},s.getLocalTransform=function(t){t=t||[],n(t);var e=this.origin,i=this.scale,a=this.rotation,o=this.position;return e&&(t[4]-=e[0],t[5]-=e[1]),r.scale(t,t,i),a&&r.rotate(t,t,a),e&&(t[4]+=e[0],t[5]+=e[1]),t[4]+=o[0],t[5]+=o[1],t},s.setTransform=function(t){var e=this.transform;e&&t.transform(e[0],e[1],e[2],e[3],e[4],e[5])};var h=[];return s.decomposeTransform=function(){if(this.transform){var t=this.parent,i=this.transform;t&&t.transform&&(r.mul(h,t.invTransform,i),i=h);var n=i[0]*i[0]+i[1]*i[1],a=i[2]*i[2]+i[3]*i[3],o=this.position,s=this.scale;e(n-1)&&(n=Math.sqrt(n)),e(a-1)&&(a=Math.sqrt(a)),i[0]<0&&(n=-n),i[3]<0&&(a=-a),o[0]=i[4],o[1]=i[5],s[0]=n,s[1]=a,this.rotation=Math.atan2(-i[1]/a,i[0]/n)}},s.transformCoordToLocal=function(t,e){var r=[t,e],n=this.invTransform;return n&&i.applyTransform(r,r,n),r},s.transformCoordToGlobal=function(t,e){var r=[t,e],n=this.transform;return n&&i.applyTransform(r,r,n),r},o}),define("zrender/animation/easing",[],function(){var t={linear:function(t){return t},quadraticIn:function(t){return t*t},quadraticOut:function(t){return t*(2-t)},quadraticInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quarticIn:function(t){return t*t*t*t},quarticOut:function(t){return 1- --t*t*t*t},quarticInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quinticIn:function(t){return t*t*t*t*t},quinticOut:function(t){return--t*t*t*t*t+1},quinticInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sinusoidalIn:function(t){return 1-Math.cos(t*Math.PI/2)},sinusoidalOut:function(t){return Math.sin(t*Math.PI/2)},sinusoidalInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},exponentialIn:function(t){return 0===t?0:Math.pow(1024,t-1)},exponentialOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},exponentialInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(-Math.pow(2,-10*(t-1))+2)},circularIn:function(t){return 1-Math.sqrt(1-t*t)},circularOut:function(t){return Math.sqrt(1- --t*t)},circularInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,r=.1,i=.4;return 0===t?0:1===t?1:(!r||1>r?(r=1,e=i/4):e=i*Math.asin(1/r)/(2*Math.PI),-(r*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)))},elasticOut:function(t){var e,r=.1,i=.4;return 0===t?0:1===t?1:(!r||1>r?(r=1,e=i/4):e=i*Math.asin(1/r)/(2*Math.PI),r*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/i)+1)},elasticInOut:function(t){var e,r=.1,i=.4;return 0===t?0:1===t?1:(!r||1>r?(r=1,e=i/4):e=i*Math.asin(1/r)/(2*Math.PI),(t*=2)<1?-.5*(r*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)):r*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)*.5+1)},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?.5*(t*t*((e+1)*t-e)):.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(e){return 1-t.bounceOut(1-e)},bounceOut:function(t){return 1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(e){return.5>e?.5*t.bounceIn(2*e):.5*t.bounceOut(2*e-1)+.5}};return t}),define("zrender/animation/Clip",["require","./easing"],function(t){function e(t){this._target=t.target,this._life=t.life||1e3,this._delay=t.delay||0,this._initialized=!1,this.loop=null==t.loop?!1:t.loop,this.gap=t.gap||0,this.easing=t.easing||"Linear",this.onframe=t.onframe,this.ondestroy=t.ondestroy,this.onrestart=t.onrestart}var r=t("./easing");return e.prototype={constructor:e,step:function(t){this._initialized||(this._startTime=(new Date).getTime()+this._delay,this._initialized=!0);var e=(t-this._startTime)/this._life;if(!(0>e)){e=Math.min(e,1);var i=this.easing,n="string"==typeof i?r[i]:i,a="function"==typeof n?n(e):e;return this.fire("frame",a),1==e?this.loop?(this.restart(),"restart"):(this._needsRemove=!0,"destroy"):null}},restart:function(){var t=(new Date).getTime(),e=(t-this._startTime)%this._life;this._startTime=(new Date).getTime()-e+this.gap,this._needsRemove=!1},fire:function(t,e){t="on"+t,this[t]&&this[t](this._target,e)}},e}),define("zrender/tool/color",["require"],function(t){function e(t){return t=Math.round(t),0>t?0:t>255?255:t}function r(t){return t=Math.round(t),0>t?0:t>360?360:t}function i(t){return 0>t?0:t>1?1:t}function n(t){return e(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100*255:parseInt(t,10))}function a(t){return i(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100:parseFloat(t))}function o(t,e,r){return 0>r?r+=1:r>1&&(r-=1),1>6*r?t+(e-t)*r*6:1>2*r?e:2>3*r?t+(e-t)*(2/3-r)*6:t}function s(t,e,r){return t+(e-t)*r}function h(t){if(t){t+="";var e=t.replace(/ /g,"").toLowerCase();if(e in _)return _[e].slice();if("#"!==e.charAt(0)){var r=e.indexOf("("),i=e.indexOf(")");if(-1!==r&&i+1===e.length){var o=e.substr(0,r),s=e.substr(r+1,i-(r+1)).split(","),h=1;switch(o){case"rgba":if(4!==s.length)return;h=a(s.pop());case"rgb":if(3!==s.length)return;return[n(s[0]),n(s[1]),n(s[2]),h];case"hsla":if(4!==s.length)return;return s[3]=a(s[3]),c(s);case"hsl":if(3!==s.length)return;return c(s);default:return}}}else{if(4===e.length){var l=parseInt(e.substr(1),16);if(!(l>=0&&4095>=l))return;return[(3840&l)>>4|(3840&l)>>8,240&l|(240&l)>>4,15&l|(15&l)<<4,1]}if(7===e.length){var l=parseInt(e.substr(1),16);if(!(l>=0&&16777215>=l))return;return[(16711680&l)>>16,(65280&l)>>8,255&l,1]}}}}function c(t){var r=(parseFloat(t[0])%360+360)%360/360,i=a(t[1]),n=a(t[2]),s=.5>=n?n*(i+1):n+i-n*i,h=2*n-s,c=[e(255*o(h,s,r+1/3)),e(255*o(h,s,r)),e(255*o(h,s,r-1/3))];return 4===t.length&&(c[3]=t[3]),c}function l(t){if(t){var e,r,i=t[0]/255,n=t[1]/255,a=t[2]/255,o=Math.min(i,n,a),s=Math.max(i,n,a),h=s-o,c=(s+o)/2;if(0===h)e=0,r=0;else{r=.5>c?h/(s+o):h/(2-s-o);var l=((s-i)/6+h/2)/h,u=((s-n)/6+h/2)/h,f=((s-a)/6+h/2)/h;i===s?e=f-u:n===s?e=1/3+l-f:a===s&&(e=2/3+u-l),0>e&&(e+=1),e>1&&(e-=1)}var d=[360*e,r,c];return null!=t[3]&&d.push(t[3]),d}}function u(t,e){var r=h(t);if(r){for(var i=0;3>i;i++)0>e?r[i]=r[i]*(1-e)|0:r[i]=(255-r[i])*e+r[i]|0;return y(r,4===r.length?"rgba":"rgb")}}function f(t,e){var r=h(t);return r?((1<<24)+(r[0]<<16)+(r[1]<<8)+ +r[2]).toString(16).slice(1):void 0}function d(t,r,i){if(r&&r.length&&t>=0&&1>=t){i=i||[0,0,0,0];var n=t*(r.length-1),a=Math.floor(n),o=Math.ceil(n),h=r[a],c=r[o],l=n-a;return i[0]=e(s(h[0],c[0],l)),i[1]=e(s(h[1],c[1],l)),i[2]=e(s(h[2],c[2],l)),i[3]=e(s(h[3],c[3],l)),i}}function p(t,r,n){if(r&&r.length&&t>=0&&1>=t){var a=t*(r.length-1),o=Math.floor(a),c=Math.ceil(a),l=h(r[o]),u=h(r[c]),f=a-o,d=y([e(s(l[0],u[0],f)),e(s(l[1],u[1],f)),e(s(l[2],u[2],f)),i(s(l[3],u[3],f))],"rgba");return n?{color:d,leftIndex:o,rightIndex:c,value:a}:d}}function v(t,e){if(!(2!==t.length||t[1]0&&s>=h;h++)n.push({color:e[h],offset:(h-r.value)/a});return n.push({color:i.color,offset:1}),n}}function g(t,e,i,n){return t=h(t),t?(t=l(t),null!=e&&(t[0]=r(e)),null!=i&&(t[1]=a(i)),null!=n&&(t[2]=a(n)),y(c(t),"rgba")):void 0}function m(t,e){return t=h(t),t&&null!=e?(t[3]=i(e),y(t,"rgba")):void 0}function y(t,e){return("rgb"===e||"hsv"===e||"hsl"===e)&&(t=t.slice(0,3)),e+"("+t.join(",")+")"}var _={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};return{parse:h,lift:u,toHex:f,fastMapToColor:d,mapToColor:p,mapIntervalToColor:v,modifyHSL:g,modifyAlpha:m,stringify:y}}),define("zrender/animation/Animator",["require","./Clip","../tool/color","../core/util"],function(t){function e(t,e){return t[e]}function r(t,e,r){t[e]=r}function i(t,e,r){return(e-t)*r+t}function n(t,e,r){return r>.5?e:t}function a(t,e,r,n,a){var o=t.length;if(1==a)for(var s=0;o>s;s++)n[s]=i(t[s],e[s],r);else for(var h=t[0].length,s=0;o>s;s++)for(var c=0;h>c;c++)n[s][c]=i(t[s][c],e[s][c],r)}function o(t,e,r){var i=t.length,n=e.length;if(i!==n){var a=i>n;if(a)t.length=n;else for(var o=i;n>o;o++)t.push(1===r?e[o]:m.call(e[o]))}}function s(t,e,r){if(t===e)return!0;var i=t.length;if(i!==e.length)return!1;if(1===r){for(var n=0;i>n;n++)if(t[n]!==e[n])return!1}else for(var a=t[0].length,n=0;i>n;n++)for(var o=0;a>o;o++)if(t[n][o]!==e[n][o])return!1;return!0}function h(t,e,r,i,n,a,o,s,h){var l=t.length;if(1==h)for(var u=0;l>u;u++)s[u]=c(t[u],e[u],r[u],i[u],n,a,o);else for(var f=t[0].length,u=0;l>u;u++)for(var d=0;f>d;d++)s[u][d]=c(t[u][d],e[u][d],r[u][d],i[u][d],n,a,o)}function c(t,e,r,i,n,a,o){var s=.5*(r-t),h=.5*(i-e);return(2*(e-r)+s+h)*o+(-3*(e-r)-2*s-h)*a+s*n+e}function l(t){if(g(t)){var e=t.length;if(g(t[0])){for(var r=[],i=0;e>i;i++)r.push(m.call(t[i]));return r}return m.call(t)}return t}function u(t){return t[0]=Math.floor(t[0]),t[1]=Math.floor(t[1]),t[2]=Math.floor(t[2]),"rgba("+t.join(",")+")"}function f(t,e,r,l,f){var v=t._getter,m=t._setter,y="spline"===e,_=l.length;if(_){var x,b=l[0].value,w=g(b),T=!1,P=!1,z=w&&g(b[0])?2:1;l.sort(function(t,e){return t.time-e.time}),x=l[_-1].time;for(var M=[],k=[],C=l[0].value,S=!0,L=0;_>L;L++){M.push(l[L].time/x);var R=l[L].value;if(w&&s(R,C,z)||!w&&R===C||(S=!1),C=R,"string"==typeof R){var A=p.parse(R);A?(R=A,T=!0):P=!0}k.push(R)}if(!S){if(w){for(var q=k[_-1],L=0;_-1>L;L++)o(k[L],q,z);o(v(t._target,f),q,z)}var B,I,D,O,E,F,H=0,W=0;if(T)var j=[0,0,0,0];var V=function(t,e){var r;if(W>e){for(B=Math.min(H+1,_-1),r=B;r>=0&&!(M[r]<=e);r--);r=Math.min(r,_-2)}else{for(r=H;_>r&&!(M[r]>e);r++);r=Math.min(r-1,_-2)}H=r,W=e;var o=M[r+1]-M[r];if(0!==o)if(I=(e-M[r])/o,y)if(O=k[r],D=k[0===r?r:r-1],E=k[r>_-2?_-1:r+1],F=k[r>_-3?_-1:r+2],w)h(D,O,E,F,I,I*I,I*I*I,v(t,f),z);else{var s;if(T)s=h(D,O,E,F,I,I*I,I*I*I,j,1),s=u(j);else{if(P)return n(O,E,I);s=c(D,O,E,F,I,I*I,I*I*I)}m(t,f,s)}else if(w)a(k[r],k[r+1],I,v(t,f),z);else{var s;if(T)a(k[r],k[r+1],I,j,1),s=u(j);else{if(P)return n(k[r],k[r+1],I);s=i(k[r],k[r+1],I)}m(t,f,s)}},N=new d({target:t._target,life:x,loop:t._loop,delay:t._delay,onframe:V,ondestroy:r});return e&&"spline"!==e&&(N.easing=e),N}}}var d=t("./Clip"),p=t("../tool/color"),v=t("../core/util"),g=v.isArrayLike,m=Array.prototype.slice,y=function(t,i,n,a){this._tracks={},this._target=t,this._loop=i||!1,this._getter=n||e,this._setter=a||r,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};return y.prototype={when:function(t,e){var r=this._tracks;for(var i in e){if(!r[i]){r[i]=[];var n=this._getter(this._target,i);if(null==n)continue;0!==t&&r[i].push({time:0,value:l(n)})}r[i].push({time:t,value:e[i]})}return this},during:function(t){return this._onframeList.push(t),this},_doneCallback:function(){this._tracks={},this._clipList.length=0;for(var t=this._doneList,e=t.length,r=0;e>r;r++)t[r].call(this)},start:function(t){var e,r=this,i=0,n=function(){i--,i||r._doneCallback(); -};for(var a in this._tracks){var o=f(this,t,n,this._tracks[a],a);o&&(this._clipList.push(o),i++,this.animation&&this.animation.addClip(o),e=o)}if(e){var s=e.onframe;e.onframe=function(t,e){s(t,e);for(var i=0;i1)for(var t in arguments)console.log(arguments[t])}}),define("zrender/mixin/Animatable",["require","../animation/Animator","../core/util","../core/log"],function(t){var e=t("../animation/Animator"),r=t("../core/util"),i=r.isString,n=r.isFunction,a=r.isObject,o=t("../core/log"),s=function(){this.animators=[]};return s.prototype={constructor:s,animate:function(t,i){var n,a=!1,s=this,h=this.__zr;if(t){var c=t.split("."),l=s;a="shape"===c[0];for(var u=0,f=c.length;f>u;u++)l&&(l=l[c[u]]);l&&(n=l)}else n=s;if(!n)return void o('Property "'+t+'" is not existed in element '+s.id);var d=s.animators,p=new e(n,i);return p.during(function(t){s.dirty(a)}).done(function(){d.splice(r.indexOf(d,p),1)}),d.push(p),h&&h.animation.addAnimator(p),p},stopAnimation:function(t){for(var e=this.animators,r=e.length,i=0;r>i;i++)e[i].stop(t);return e.length=0,this},animateTo:function(t,e,r,a,o){function s(){c--,c||o&&o()}i(r)?(o=a,a=r,r=0):n(a)?(o=a,a="linear",r=0):n(r)?(o=r,r=0):n(e)?(o=e,e=500):e||(e=500),this.stopAnimation(),this._animateToShallow("",this,t,e,r,a,o);var h=this.animators.slice(),c=h.length;c||o&&o();for(var l=0;l0&&this.animate(t,!1).when(null==n?500:n,s).delay(o||0),this}},s}),define("zrender/Element",["require","./core/guid","./mixin/Eventful","./mixin/Transformable","./mixin/Animatable","./core/util"],function(t){var e=t("./core/guid"),r=t("./mixin/Eventful"),i=t("./mixin/Transformable"),n=t("./mixin/Animatable"),a=t("./core/util"),o=function(t){i.call(this,t),r.call(this,t),n.call(this,t),this.id=t.id||e()};return o.prototype={type:"element",name:"",__zr:null,ignore:!1,clipPath:null,drift:function(t,e){switch(this.draggable){case"horizontal":e=0;break;case"vertical":t=0}var r=this.transform;r||(r=this.transform=[1,0,0,1,0,0]),r[4]+=t,r[5]+=e,this.decomposeTransform(),this.dirty()},beforeUpdate:function(){},afterUpdate:function(){},update:function(){this.updateTransform()},traverse:function(t,e){},attrKV:function(t,e){if("position"===t||"scale"===t||"origin"===t){if(e){var r=this[t];r||(r=this[t]=[]),r[0]=e[0],r[1]=e[1]}}else this[t]=e},hide:function(){this.ignore=!0,this.__zr&&this.__zr.refresh()},show:function(){this.ignore=!1,this.__zr&&this.__zr.refresh()},attr:function(t,e){if("string"==typeof t)this.attrKV(t,e);else if(a.isObject(t))for(var r in t)t.hasOwnProperty(r)&&this.attrKV(r,t[r]);return this.dirty(),this},setClipPath:function(t){var e=this.__zr;e&&t.addSelfToZr(e),this.clipPath&&this.clipPath!==t&&this.removeClipPath(),this.clipPath=t,t.__zr=e,t.__clipTarget=this,this.dirty()},removeClipPath:function(){var t=this.clipPath;t&&(t.__zr&&t.removeSelfFromZr(t.__zr),t.__zr=null,t.__clipTarget=null,this.clipPath=null,this.dirty())},addSelfToZr:function(t){this.__zr=t;var e=this.animators;if(e)for(var r=0;ri||r>s||h>a||n>c)},contain:function(t,e){var r=this;return t>=r.x&&t<=r.x+r.width&&e>=r.y&&e<=r.y+r.height},clone:function(){return new e(this.x,this.y,this.width,this.height)},copy:function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height}},e}),define("zrender/container/Group",["require","../core/util","../Element","../core/BoundingRect"],function(t){var e=t("../core/util"),r=t("../Element"),i=t("../core/BoundingRect"),n=function(t){t=t||{},r.call(this,t);for(var e in t)this[e]=t[e];this._children=[],this.__storage=null,this.__dirty=!0};return n.prototype={constructor:n,type:"group",children:function(){return this._children.slice()},childAt:function(t){return this._children[t]},childOfName:function(t){for(var e=this._children,r=0;r=0&&(r.splice(i,0,t),this._doAdd(t))}return this},_doAdd:function(t){t.parent&&t.parent.remove(t),t.parent=this;var e=this.__storage,r=this.__zr;e&&e!==t.__storage&&(e.addToMap(t),t instanceof n&&t.addChildrenToStorage(e)),r&&r.refresh()},remove:function(t){var r=this.__zr,i=this.__storage,a=this._children,o=e.indexOf(a,t);return 0>o?this:(a.splice(o,1),t.parent=null,i&&(i.delFromMap(t.id),t instanceof n&&t.delChildrenFromStorage(i)),r&&r.refresh(),this)},removeAll:function(){var t,e,r=this._children,i=this.__storage;for(e=0;ei;i++){var a=t[i];this._updateAndAddDisplayable(a)}r.length=this._displayListLen;for(var i=0,n=r.length;n>i;i++)r[i].__renderidx=i;r.sort(e)},_updateAndAddDisplayable:function(t,e){if(!t.ignore){t.beforeUpdate(),t.update(),t.afterUpdate();var r=t.clipPath;if(r&&(r.parent=t,r.updateTransform(),e?(e=e.slice(),e.push(r)):e=[r]),"group"==t.type){for(var i=t._children,n=0;ne;e++)this.delRoot(t[e]);else{var o;o="string"==typeof t?this._elements[t]:t;var s=r.indexOf(this._roots,o);s>=0&&(this.delFromMap(o.id),this._roots.splice(s,1),o instanceof i&&o.delChildrenFromStorage(this))}},addToMap:function(t){return t instanceof i&&(t.__storage=this),t.dirty(),this._elements[t.id]=t,this},get:function(t){return this._elements[t]},delFromMap:function(t){var e=this._elements,r=e[t];return r&&(delete e[t],r instanceof i&&(r.__storage=null)),this},dispose:function(){this._elements=this._renderList=this._roots=null}},n}),define("zrender/animation/Animation",["require","../core/util","../core/event","./Animator"],function(t){var e=t("../core/util"),r=t("../core/event").Dispatcher,i="undefined"!=typeof window&&(window.requestAnimationFrame||window.msRequestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(t){setTimeout(t,16)},n=t("./Animator"),a=function(t){t=t||{},this.stage=t.stage||{},this.onframe=t.onframe||function(){},this._clips=[],this._running=!1,this._time=0,r.call(this)};return a.prototype={constructor:a,addClip:function(t){this._clips.push(t)},addAnimator:function(t){t.animation=this;for(var e=t.getClips(),r=0;r=0&&this._clips.splice(r,1)},removeAnimator:function(t){for(var e=t.getClips(),r=0;ro;o++){var s=r[o],h=s.step(t);h&&(n.push(h),a.push(s))}for(var o=0;i>o;)r[o]._needsRemove?(r[o]=r[i-1],r.pop(),i--):o++;i=n.length;for(var o=0;i>o;o++)a[o].fire(n[o]);this._time=t,this.onframe(e),this.trigger("frame",e),this.stage.update&&this.stage.update()},start:function(){function t(){e._running&&(i(t),e._update())}var e=this;this._running=!0,this._time=(new Date).getTime(),i(t)},stop:function(){this._running=!1},clear:function(){this._clips=[]},animate:function(t,e){e=e||{};var r=new n(t,e.loop,e.getter,e.setter);return r}},e.mixin(a,r),a}),define("zrender/Layer",["require","./core/util","./config"],function(t){function e(){return!1}function r(t,e,r,i){var n=document.createElement(e),a=r.getWidth(),o=r.getHeight(),s=n.style;return s.position="absolute",s.left=0,s.top=0,s.width=a+"px",s.height=o+"px",n.width=a*i,n.height=o*i,n.setAttribute("data-zr-dom-id",t),n}var i=t("./core/util"),n=t("./config"),a=function(t,a,o){var s;o=o||n.devicePixelRatio,"string"==typeof t?s=r(t,"canvas",a,o):i.isObject(t)&&(s=t,t=s.id),this.id=t,this.dom=s;var h=s.style;h&&(s.onselectstart=e,h["-webkit-user-select"]="none",h["user-select"]="none",h["-webkit-touch-callout"]="none",h["-webkit-tap-highlight-color"]="rgba(0,0,0,0)"),this.domBack=null,this.ctxBack=null,this.painter=a,this.config=null,this.clearColor=0,this.motionBlur=!1,this.lastFrameAlpha=.7,this.dpr=o};return a.prototype={constructor:a,elCount:0,__dirty:!0,initContext:function(){this.ctx=this.dom.getContext("2d");var t=this.dpr;1!=t&&this.ctx.scale(t,t)},createBackBuffer:function(){var t=this.dpr;this.domBack=r("back-"+this.id,"canvas",this.painter,t),this.ctxBack=this.domBack.getContext("2d"),1!=t&&this.ctxBack.scale(t,t)},resize:function(t,e){var r=this.dpr,i=this.dom,n=i.style,a=this.domBack;n.width=t+"px",n.height=e+"px",i.width=t*r,i.height=e*r,1!=r&&this.ctx.scale(r,r),a&&(a.width=t*r,a.height=e*r,1!=r&&this.ctxBack.scale(r,r))},clear:function(t){var e=this.dom,r=this.ctx,i=e.width,n=e.height,a=this.clearColor,o=this.motionBlur&&!t,s=this.lastFrameAlpha,h=this.dpr;if(o&&(this.domBack||this.createBackBuffer(),this.ctxBack.globalCompositeOperation="copy",this.ctxBack.drawImage(e,0,0,i/h,n/h)),r.clearRect(0,0,i/h,n/h),a&&(r.save(),r.fillStyle=this.clearColor,r.fillRect(0,0,i/h,n/h),r.restore()),o){var c=this.domBack;r.save(),r.globalAlpha=s,r.drawImage(c,0,0,i/h,n/h),r.restore()}}},a}),define("zrender/graphic/Style",["require"],function(t){var e=["lineCap","lineJoin","miterLimit","shadowBlur","shadowOffsetX","shadowOffsetY","shadowColor"],r=function(t){this.extendFrom(t)};r.prototype={constructor:r,fill:"#000000",stroke:null,opacity:1,lineDash:null,lineDashOffset:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,lineWidth:1,strokeNoScale:!1,text:null,textFill:"#000",textStroke:null,textPosition:"inside",textBaseline:null,textAlign:null,textDistance:5,textShadowBlur:0,textShadowOffsetX:0,textShadowOffsetY:0,bind:function(t,r){for(var i=this.fill,n=this.stroke,a=0;aa;a++)n=Math.max(f.measureText(i[a],e).width,n);return h>c&&(h=0,s={}),h++,s[r]=n,n}function r(t,r,i,n){var a=((t||"")+"").split("\n").length,o=e(t,r),s=e("国",r),h=a*s,c=new u(0,0,o,h);switch(c.lineHeight=s,n){case"bottom":case"alphabetic":c.y-=s;break;case"middle":c.y-=s/2}switch(i){case"end":case"right":c.x-=c.width;break;case"center":c.x-=c.width/2}return c}function i(t,e,r,i){var n=e.x,a=e.y,o=e.height,s=e.width,h=r.height,c=o/2-h/2,l="left";switch(t){case"left":n-=i,a+=c,l="right";break;case"right":n+=i+s,a+=c,l="left";break;case"top":n+=s/2,a-=i+h,l="center";break;case"bottom":n+=s/2,a+=o+i,l="center";break;case"inside":n+=s/2,a+=c,l="center";break;case"insideLeft":n+=i,a+=c,l="left";break;case"insideRight":n+=s-i,a+=c,l="right";break;case"insideTop":n+=s/2,a+=i,l="center";break;case"insideBottom":n+=s/2,a+=o-h-i,l="center";break;case"insideTopLeft":n+=i,a+=i,l="left";break;case"insideTopRight":n+=s-i,a+=i,l="right";break;case"insideBottomLeft":n+=i,a+=o-h-i;break;case"insideBottomRight":n+=s-i,a+=o-h-i,l="right"}return{x:n,y:a,textAlign:l,textBaseline:"top"}}function n(t,r,i,n){if(!i)return"";n=l.defaults({ellipsis:"...",minCharacters:3,maxIterations:3,cnCharWidth:e("国",r),ascCharWidth:e("a",r)},n,!0),i-=e(n.ellipsis);for(var o=(t+"").split("\n"),s=0,h=o.length;h>s;s++)o[s]=a(o[s],r,i,n);return o.join("\n")}function a(t,r,i,n){for(var a=0;;a++){var s=e(t,r);if(i>s||a>=n.maxIterations){t+=n.ellipsis;break}var h=0===a?o(t,i,n):Math.floor(t.length*i/s);if(hn&&e>i;n++){var o=t.charCodeAt(n);i+=o>=0&&127>=o?r.ascCharWidth:r.cnCharWidth}return n}var s={},h=0,c=5e3,l=t("../core/util"),u=t("../core/BoundingRect"),f={getWidth:e,getBoundingRect:r,adjustTextPositionOnRect:i,ellipsis:n,measureText:function(t,e){var r=l.getContext();return r.font=e,r.measureText(t)}};return f}),define("zrender/graphic/mixin/RectText",["require","../../contain/text","../../core/BoundingRect"],function(t){function e(t,e){return"string"==typeof t?t.lastIndexOf("%")>=0?parseFloat(t)/100*e:parseFloat(t):t}function r(t,e){t.transform(e[0],e[1],e[2],e[3],e[4],e[5])}var i=t("../../contain/text"),n=t("../../core/BoundingRect"),a=new n,o=function(){};return o.prototype={constructor:o,drawRectText:function(t,n,o){var s=this.style,h=s.text;if(null!=h&&(h+=""),h){var c,l,u=s.textPosition,f=s.textDistance,d=s.textAlign,p=s.textFont||s.font,v=s.textBaseline;o=o||i.getBoundingRect(h,p,d,v);var g=this.transform,m=this.invTransform;if(g&&(a.copy(n),a.applyTransform(g),n=a,r(t,m)),u instanceof Array)c=n.x+e(u[0],n.width),l=n.y+e(u[1],n.height),d=d||"left",v=v||"top";else{var y=i.adjustTextPositionOnRect(u,n,o,f);c=y.x,l=y.y,d=d||y.textAlign,v=v||y.textBaseline}t.textAlign=d,t.textBaseline=v;var _=s.textFill,x=s.textStroke;_&&(t.fillStyle=_),x&&(t.strokeStyle=x),t.font=p,t.shadowColor=s.textShadowColor,t.shadowBlur=s.textShadowBlur,t.shadowOffsetX=s.textShadowOffsetX,t.shadowOffsetY=s.textShadowOffsetY;for(var b=h.split("\n"),w=0;wh&&(u=r+i,r*=h/u,i*=h/u),n+a>h&&(u=n+a,n*=h/u,a*=h/u),i+n>c&&(u=i+n,i*=c/u,n*=c/u),r+a>c&&(u=r+a,r*=c/u,a*=c/u),t.moveTo(o+r,s),t.lineTo(o+h-i,s),0!==i&&t.quadraticCurveTo(o+h,s,o+h,s+i),t.lineTo(o+h,s+c-n),0!==n&&t.quadraticCurveTo(o+h,s+c,o+h-n,s+c),t.lineTo(o+a,s+c),0!==a&&t.quadraticCurveTo(o,s+c,o,s+c-a),t.lineTo(o,s+r),0!==r&&t.quadraticCurveTo(o,s,o+r,s)}}}),define("zrender/core/LRU",["require"],function(t){var e=function(){this.head=null,this.tail=null,this._len=0},r=e.prototype;r.insert=function(t){var e=new i(t);return this.insertEntry(e),e},r.insertEntry=function(t){this.head?(this.tail.next=t,t.prev=this.tail,this.tail=t):this.head=this.tail=t,this._len++},r.remove=function(t){var e=t.prev,r=t.next;e?e.next=r:this.head=r,r?r.prev=e:this.tail=e,t.next=t.prev=null,this._len--},r.len=function(){return this._len};var i=function(t){this.value=t,this.next,this.prev},n=function(t){this._list=new e,this._map={},this._maxSize=t||10},a=n.prototype;return a.put=function(t,e){var r=this._list,i=this._map;if(null==i[t]){var n=r.len();if(n>=this._maxSize&&n>0){var a=r.head;r.remove(a),delete i[a.key]}var o=r.insert(e);o.key=t,i[t]=o}},a.get=function(t){var e=this._map[t],r=this._list;return null!=e?(e!==r.tail&&(r.remove(e),r.insertEntry(e)),e.value):void 0},a.clear=function(){this._list.clear(),this._map={}},n}),define("zrender/graphic/Image",["require","./Displayable","../core/BoundingRect","../core/util","./helper/roundRect","../core/LRU"],function(t){var e=t("./Displayable"),r=t("../core/BoundingRect"),i=t("../core/util"),n=t("./helper/roundRect"),a=t("../core/LRU"),o=new a(50),s=function(t){e.call(this,t)};return s.prototype={constructor:s,type:"image",brush:function(t){var e,r=this.style,i=r.image;if(e="string"==typeof i?this._image:i,!e&&i){var a=o.get(i);if(!a)return e=new Image,e.onload=function(){e.onload=null;for(var t=0;tp;p++){var g=t[p],m=this._singleCanvas?0:g.zlevel;if(h!==m&&(h=m,r=this.getLayer(h),r.isBuildin||l("ZLevel "+h+" has been used by unkown layer "+r.id),c=r.ctx,r.__unusedCount=0,(r.__dirty||e)&&r.clear()),(r.__dirty||e)&&!g.invisible&&0!==g.style.opacity&&g.scale[0]&&g.scale[1]&&(!g.culling||!a(g,u,f))){var y=g.__clipPaths;o(y,d)&&(d&&c.restore(),y&&(c.save(),s(y,c)),d=y),g.beforeBrush&&g.beforeBrush(c),g.brush(c,!1),g.afterBrush&&g.afterBrush(c)}g.__dirty=!1}d&&c.restore(),this.eachBuildinLayer(n)},getLayer:function(t){if(this._singleCanvas)return this._layers[0];var e=this._layers[t];return e||(e=new f("zr_"+t,this,this.dpr),e.isBuildin=!0,this._layerConfig[t]&&c.merge(e,this._layerConfig[t],!0),this.insertLayer(t,e),e.initContext()),e},insertLayer:function(t,e){var i=this._layers,n=this._zlevelList,a=n.length,o=null,s=-1,h=this._domRoot;if(i[t])return void l("ZLevel "+t+" has been used already");if(!r(e))return void l("Layer of zlevel "+t+" is not valid");if(a>0&&t>n[0]){for(s=0;a-1>s&&!(n[s]t);s++);o=i[n[s]]}if(n.splice(s+1,0,t),o){var c=o.dom;c.nextSibling?h.insertBefore(e.dom,c.nextSibling):h.appendChild(e.dom)}else h.firstChild?h.insertBefore(e.dom,h.firstChild):h.appendChild(e.dom);i[t]=e},eachLayer:function(t,e){var r,i,n=this._zlevelList;for(i=0;ii;i++){var a=t[i],o=this._singleCanvas?0:a.zlevel,s=e[o];if(s){if(s.elCount++,s.__dirty)continue;s.__dirty=a.__dirty}}this.eachBuildinLayer(function(t,e){r[e]!==t.elCount&&(t.__dirty=!0)})},clear:function(){return this.eachBuildinLayer(this._clearLayer),this},_clearLayer:function(t){t.clear()},configLayer:function(t,e){if(e){var r=this._layerConfig;r[t]?c.merge(r[t],e,!0):r[t]=e;var i=this._layers[t];i&&c.merge(i,r[t],!0)}},delLayer:function(t){var e=this._layers,r=this._zlevelList,i=e[t];i&&(i.dom.parentNode.removeChild(i.dom),delete e[t],r.splice(c.indexOf(r,t),1))},resize:function(t,e){var r=this._domRoot;if(r.style.display="none",t=t||this._getWidth(),e=e||this._getHeight(),r.style.display="",this._width!=t||e!=this._height){r.style.width=t+"px",r.style.height=e+"px";for(var i in this._layers)this._layers[i].resize(t,e);this.refresh(!0)}return this._width=t,this._height=e,this},clearLayer:function(t){var e=this._layers[t];e&&e.clear()},dispose:function(){this.root.innerHTML="",this.root=this.storage=this._domRoot=this._layers=null},getRenderedCanvas:function(t){if(t=t||{},this._singleCanvas)return this._layers[0].dom;var e=new f("image",this,t.pixelRatio||this.dpr);e.initContext();var r=e.ctx;e.clearColor=t.backgroundColor,e.clear();for(var i=this.storage.getDisplayList(!0),n=0;n-x&&x>t}function r(t){return t>x||-x>t}function i(t,e,r,i,n){var a=1-n;return a*a*(a*t+3*n*e)+n*n*(n*i+3*a*r)}function n(t,e,r,i,n){var a=1-n;return 3*(((e-t)*a+2*(r-e)*n)*a+(i-r)*n*n)}function a(t,r,i,n,a,o){var s=n+3*(r-i)-t,h=3*(i-2*r+t),c=3*(r-t),l=t-a,u=h*h-3*s*c,f=h*c-9*s*l,d=c*c-3*h*l,p=0;if(e(u)&&e(f))if(e(h))o[0]=0;else{var v=-c/h;v>=0&&1>=v&&(o[p++]=v)}else{var g=f*f-4*u*d;if(e(g)){var m=f/u,v=-h/s+m,x=-m/2;v>=0&&1>=v&&(o[p++]=v),x>=0&&1>=x&&(o[p++]=x)}else if(g>0){var T=_(g),P=u*h+1.5*s*(-f+T),z=u*h+1.5*s*(-f-T);P=0>P?-y(-P,w):y(P,w),z=0>z?-y(-z,w):y(z,w);var v=(-h-(P+z))/(3*s);v>=0&&1>=v&&(o[p++]=v)}else{var M=(2*u*h-3*s*f)/(2*_(u*u*u)),k=Math.acos(M)/3,C=_(u),S=Math.cos(k),v=(-h-2*C*S)/(3*s),x=(-h+C*(S+b*Math.sin(k)))/(3*s),L=(-h+C*(S-b*Math.sin(k)))/(3*s);v>=0&&1>=v&&(o[p++]=v),x>=0&&1>=x&&(o[p++]=x),L>=0&&1>=L&&(o[p++]=L)}}return p}function o(t,i,n,a,o){var s=6*n-12*i+6*t,h=9*i+3*a-3*t-9*n,c=3*i-3*t,l=0;if(e(h)){if(r(s)){var u=-c/s;u>=0&&1>=u&&(o[l++]=u)}}else{var f=s*s-4*h*c;if(e(f))o[0]=-s/(2*h);else if(f>0){var d=_(f),u=(-s+d)/(2*h),p=(-s-d)/(2*h);u>=0&&1>=u&&(o[l++]=u),p>=0&&1>=p&&(o[l++]=p)}}return l}function s(t,e,r,i,n,a){var o=(e-t)*n+t,s=(r-e)*n+e,h=(i-r)*n+r,c=(s-o)*n+o,l=(h-s)*n+s,u=(l-c)*n+c;a[0]=t,a[1]=o,a[2]=c,a[3]=u,a[4]=u,a[5]=l,a[6]=h,a[7]=i}function h(t,e,r,n,a,o,s,h,c,l,u){var f,d,p,v,g,y=.005,b=1/0;T[0]=c,T[1]=l;for(var w=0;1>w;w+=.05)P[0]=i(t,r,a,s,w),P[1]=i(e,n,o,h,w),v=m(T,P),b>v&&(f=w,b=v);b=1/0;for(var M=0;32>M&&!(x>y);M++)d=f-y,p=f+y,P[0]=i(t,r,a,s,d),P[1]=i(e,n,o,h,d),v=m(P,T),d>=0&&b>v?(f=d,b=v):(z[0]=i(t,r,a,s,p),z[1]=i(e,n,o,h,p),g=m(z,T),1>=p&&b>g?(f=p,b=g):y*=.5);return u&&(u[0]=i(t,r,a,s,f),u[1]=i(e,n,o,h,f)),_(b)}function c(t,e,r,i){var n=1-i;return n*(n*t+2*i*e)+i*i*r}function l(t,e,r,i){return 2*((1-i)*(e-t)+i*(r-e))}function u(t,i,n,a,o){var s=t-2*i+n,h=2*(i-t),c=t-a,l=0;if(e(s)){if(r(h)){var u=-c/h;u>=0&&1>=u&&(o[l++]=u)}}else{var f=h*h-4*s*c;if(e(f)){var u=-h/(2*s);u>=0&&1>=u&&(o[l++]=u)}else if(f>0){var d=_(f),u=(-h+d)/(2*s),p=(-h-d)/(2*s);u>=0&&1>=u&&(o[l++]=u),p>=0&&1>=p&&(o[l++]=p)}}return l}function f(t,e,r){var i=t+r-2*e;return 0===i?.5:(t-e)/i}function d(t,e,r,i,n){var a=(e-t)*i+t,o=(r-e)*i+e,s=(o-a)*i+a;n[0]=t,n[1]=a,n[2]=s,n[3]=s,n[4]=o,n[5]=r}function p(t,e,r,i,n,a,o,s,h){var l,u=.005,f=1/0;T[0]=o,T[1]=s;for(var d=0;1>d;d+=.05){P[0]=c(t,r,n,d),P[1]=c(e,i,a,d);var p=m(T,P);f>p&&(l=d,f=p)}f=1/0;for(var v=0;32>v&&!(x>u);v++){var g=l-u,y=l+u;P[0]=c(t,r,n,g),P[1]=c(e,i,a,g);var p=m(P,T);if(g>=0&&f>p)l=g,f=p;else{z[0]=c(t,r,n,y),z[1]=c(e,i,a,y);var b=m(z,T);1>=y&&f>b?(l=y,f=b):u*=.5}}return h&&(h[0]=c(t,r,n,l),h[1]=c(e,i,a,l)),_(f)}var v=t("./vector"),g=v.create,m=v.distSquare,y=Math.pow,_=Math.sqrt,x=1e-4,b=_(3),w=1/3,T=g(),P=g(),z=g();return{cubicAt:i,cubicDerivativeAt:n,cubicRootAt:a,cubicExtrema:o,cubicSubdivide:s,cubicProjectPoint:h,quadraticAt:c,quadraticDerivativeAt:l,quadraticRootAt:u,quadraticExtremum:f,quadraticSubdivide:d,quadraticProjectPoint:p}}),define("zrender/core/bbox",["require","./vector","./curve"],function(t){var e=t("./vector"),r=t("./curve"),i={},n=Math.min,a=Math.max,o=Math.sin,s=Math.cos,h=e.create(),c=e.create(),l=e.create(),u=2*Math.PI;return i.fromPoints=function(t,e,r){if(0!==t.length){var i,o=t[0],s=o[0],h=o[0],c=o[1],l=o[1];for(i=1;im;m++)y[m]=b(t,i,s,c,y[m]);for(w=x(e,o,h,l,_),m=0;w>m;m++)_[m]=b(e,o,h,l,_[m]);y.push(t,c),_.push(e,l),d=n.apply(null,y),p=a.apply(null,y),v=n.apply(null,_),g=a.apply(null,_),u[0]=d,u[1]=v,f[0]=p,f[1]=g},i.fromQuadratic=function(t,e,i,o,s,h,c,l){var u=r.quadraticExtremum,f=r.quadraticAt,d=a(n(u(t,i,s),1),0),p=a(n(u(e,o,h),1),0),v=f(t,i,s,d),g=f(e,o,h,p);c[0]=n(t,s,v),c[1]=n(e,h,g),l[0]=a(t,s,v),l[1]=a(e,h,g)},i.fromArc=function(t,r,i,n,a,f,d,p,v){var g=e.min,m=e.max,y=Math.abs(a-f);if(1e-4>y%u&&y>1e-4)return p[0]=t-i,p[1]=r-n,v[0]=t+i,void(v[1]=r+n);if(h[0]=s(a)*i+t,h[1]=o(a)*n+r,c[0]=s(f)*i+t,c[1]=o(f)*n+r,g(p,h,c),m(v,h,c),a%=u,0>a&&(a+=u),f%=u,0>f&&(f+=u),a>f&&!d?f+=u:f>a&&d&&(a+=u),d){var _=f;f=a,a=_}for(var x=0;f>x;x+=Math.PI/2)x>a&&(l[0]=s(x)*i+t,l[1]=o(x)*n+r,g(p,l,p),m(v,l,v))},i}),define("zrender/core/PathProxy",["require","./curve","./vector","./bbox","./BoundingRect"],function(t){var e=t("./curve"),r=t("./vector"),i=t("./bbox"),n=t("./BoundingRect"),a={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},o=[],s=[],h=[],c=[],l=Math.min,u=Math.max,f=Math.cos,d=Math.sin,p=Math.sqrt,v="undefined"!=typeof Float32Array,g=function(){this.data=[],this._len=0,this._ctx=null,this._xi=0,this._yi=0,this._x0=0,this._y0=0};return g.prototype={constructor:g,_lineDash:null,_dashOffset:0,_dashIdx:0,_dashSum:0,getContext:function(){return this._ctx},beginPath:function(t){return this._ctx=t,t&&t.beginPath(),this._len=0,this._lineDash&&(this._lineDash=null,this._dashOffset=0),this},moveTo:function(t,e){return this.addData(a.M,t,e),this._ctx&&this._ctx.moveTo(t,e),this._x0=t,this._y0=e,this._xi=t,this._yi=e,this},lineTo:function(t,e){return this.addData(a.L,t,e),this._ctx&&(this._needsDash()?this._dashedLineTo(t,e):this._ctx.lineTo(t,e)),this._xi=t,this._yi=e,this},bezierCurveTo:function(t,e,r,i,n,o){return this.addData(a.C,t,e,r,i,n,o),this._ctx&&(this._needsDash()?this._dashedBezierTo(t,e,r,i,n,o):this._ctx.bezierCurveTo(t,e,r,i,n,o)),this._xi=n,this._yi=o,this},quadraticCurveTo:function(t,e,r,i){return this.addData(a.Q,t,e,r,i),this._ctx&&(this._needsDash()?this._dashedQuadraticTo(t,e,r,i):this._ctx.quadraticCurveTo(t,e,r,i)),this._xi=r,this._yi=i,this},arc:function(t,e,r,i,n,o){return this.addData(a.A,t,e,r,r,i,n-i,0,o?0:1),this._ctx&&this._ctx.arc(t,e,r,i,n,o),this._xi=f(n)*r+t,this._xi=d(n)*r+t,this},arcTo:function(t,e,r,i,n){return this._ctx&&this._ctx.arcTo(t,e,r,i,n),this},rect:function(t,e,r,i){return this._ctx&&this._ctx.rect(t,e,r,i),this.addData(a.R,t,e,r,i),this},closePath:function(){this.addData(a.Z);var t=this._ctx,e=this._x0,r=this._y0;return t&&(this._needsDash()&&this._dashedLineTo(e,r),t.closePath()),this._xi=e,this._yi=r,this},fill:function(t){t&&t.fill(),this.toStatic()},stroke:function(t){t&&t.stroke(),this.toStatic()},setLineDash:function(t){if(t instanceof Array){this._lineDash=t,this._dashIdx=0;for(var e=0,r=0;rr;r++)this.data[r]=t[r];this._len=e},appendPath:function(t){t instanceof Array||(t=[t]);for(var e=t.length,r=0,i=this._len,n=0;e>n;n++)r+=t[n].len();v&&this.data instanceof Float32Array&&(this.data=new Float32Array(i+r));for(var n=0;e>n;n++)for(var a=t[n].data,o=0;oe.length&&(this._expandData(),e=this.data);for(var r=0;ra&&(a=n+a),a%=n,g-=a*f,m-=a*d;f>=0&&t>=g||0>f&&g>t;)i=this._dashIdx,r=o[i],g+=f*r,m+=d*r,this._dashIdx=(i+1)%y,f>0&&h>g||0>f&&g>h||s[i%2?"moveTo":"lineTo"](f>=0?l(g,t):u(g,t),d>=0?l(m,e):u(m,e));f=g-t,d=m-e,this._dashOffset=-p(f*f+d*d)},_dashedBezierTo:function(t,r,i,n,a,o){var s,h,c,l,u,f=this._dashSum,d=this._dashOffset,v=this._lineDash,g=this._ctx,m=this._xi,y=this._yi,_=e.cubicAt,x=0,b=this._dashIdx,w=v.length,T=0;for(0>d&&(d=f+d),d%=f,s=0;1>s;s+=.1)h=_(m,t,i,a,s+.1)-_(m,t,i,a,s),c=_(y,r,n,o,s+.1)-_(y,r,n,o,s),x+=p(h*h+c*c);for(;w>b&&(T+=v[b],!(T>d));b++);for(s=(T-d)/x;1>=s;)l=_(m,t,i,a,s),u=_(y,r,n,o,s),b%2?g.moveTo(l,u):g.lineTo(l,u),s+=v[b]/x,b=(b+1)%w;b%2!==0&&g.lineTo(a,o),h=a-l,c=o-u,this._dashOffset=-p(h*h+c*c)},_dashedQuadraticTo:function(t,e,r,i){var n=r,a=i;r=(r+2*t)/3,i=(i+2*e)/3,t=(this._xi+2*t)/3,e=(this._yi+2*e)/3,this._dashedBezierTo(t,e,r,i,n,a)},toStatic:function(){this.data.length=this._len,v&&this.data instanceof Array&&(this.data=new Float32Array(this.data))},getBoundingRect:function(){o[0]=o[1]=h[0]=h[1]=Number.MAX_VALUE,s[0]=s[1]=c[0]=c[1]=-Number.MAX_VALUE;for(var t=this.data,e=0,l=0,u=0,p=0,v=0;vh?s:h,p=s>h?1:s/h,v=s>h?h/s:1,g=Math.abs(s-h)>.001;g?(t.translate(n,o),t.rotate(u),t.scale(p,v),t.arc(0,0,d,c,c+l,1-f),t.scale(1/p,1/v),t.rotate(-u),t.translate(-n,-o)):t.arc(n,o,d,c,c+l,1-f);break;case a.R:t.rect(e[r++],e[r++],e[r++],e[r++]);break;case a.Z:t.closePath()}}}},g.CMD=a,g}),define("zrender/contain/line",[],function(){return{containStroke:function(t,e,r,i,n,a,o){if(0===n)return!1;var s=n,h=0,c=t;if(o>e+s&&o>i+s||e-s>o&&i-s>o||a>t+s&&a>r+s||t-s>a&&r-s>a)return!1;if(t===r)return Math.abs(a-t)<=s/2;h=(e-i)/(t-r),c=(t*i-r*e)/(t-r);var l=h*a-o+c,u=l*l/(h*h+1);return s/2*s/2>=u}}}),define("zrender/contain/cubic",["require","../core/curve"],function(t){var e=t("../core/curve");return{containStroke:function(t,r,i,n,a,o,s,h,c,l,u){if(0===c)return!1;var f=c;if(u>r+f&&u>n+f&&u>o+f&&u>h+f||r-f>u&&n-f>u&&o-f>u&&h-f>u||l>t+f&&l>i+f&&l>a+f&&l>s+f||t-f>l&&i-f>l&&a-f>l&&s-f>l)return!1;var d=e.cubicProjectPoint(t,r,i,n,a,o,s,h,l,u,null);return f/2>=d}}}),define("zrender/contain/quadratic",["require","../core/curve"],function(t){var e=t("../core/curve");return{containStroke:function(t,r,i,n,a,o,s,h,c){if(0===s)return!1;var l=s;if(c>r+l&&c>n+l&&c>o+l||r-l>c&&n-l>c&&o-l>c||h>t+l&&h>i+l&&h>a+l||t-l>h&&i-l>h&&a-l>h)return!1;var u=e.quadraticProjectPoint(t,r,i,n,a,o,h,c,null);return l/2>=u}}}),define("zrender/contain/util",["require"],function(t){var e=2*Math.PI;return{normalizeRadian:function(t){return t%=e,0>t&&(t+=e),t}}}),define("zrender/contain/arc",["require","./util"],function(t){var e=t("./util").normalizeRadian,r=2*Math.PI;return{containStroke:function(t,i,n,a,o,s,h,c,l){if(0===h)return!1;var u=h;c-=t,l-=i;var f=Math.sqrt(c*c+l*l);if(f-u>n||n>f+u)return!1;if(Math.abs(a-o)%r<1e-4)return!0;if(s){var d=a;a=e(o),o=e(d)}else a=e(a),o=e(o);a>o&&(o+=r);var p=Math.atan2(l,c);return 0>p&&(p+=r),p>=a&&o>=p||p+r>=a&&o>=p+r}}}),define("zrender/contain/windingLine",[],function(){return function(t,e,r,i,n,a){if(a>e&&a>i||e>a&&i>a)return 0;if(i===e)return 0;var o=e>i?1:-1,s=(a-e)/(i-e),h=s*(r-t)+t;return h>n?o:0}}),define("zrender/contain/path",["require","../core/PathProxy","./line","./cubic","./quadratic","./arc","./util","../core/curve","./windingLine"],function(t){function e(t,e){return Math.abs(t-e)e&&l>n&&l>o&&l>h||e>l&&n>l&&o>l&&h>l)return 0;var u=d.cubicRootAt(e,n,o,h,l,y);if(0===u)return 0;for(var f,p,v=0,g=-1,m=0;u>m;m++){var x=y[m],b=d.cubicAt(t,i,a,s,x);c>b||(0>g&&(g=d.cubicExtrema(e,n,o,h,_),_[1]<_[0]&&g>1&&r(),f=d.cubicAt(e,n,o,h,_[0]),g>1&&(p=d.cubicAt(e,n,o,h,_[1]))),v+=2==g?x<_[0]?e>f?1:-1:x<_[1]?f>p?1:-1:p>h?1:-1:x<_[0]?e>f?1:-1:f>h?1:-1)}return v}function n(t,e,r,i,n,a,o,s){if(s>e&&s>i&&s>a||e>s&&i>s&&a>s)return 0;var h=d.quadraticRootAt(e,i,a,s,y);if(0===h)return 0;var c=d.quadraticExtremum(e,i,a);if(c>=0&&1>=c){for(var l=0,u=d.quadraticAt(e,i,a,c),f=0;h>f;f++){var p=d.quadraticAt(t,r,n,y[f]);p>o||(l+=y[f]u?1:-1:u>a?1:-1)}return l}var p=d.quadraticAt(t,r,n,y[0]);return p>o?0:e>a?1:-1}function a(t,e,r,i,n,a,o,s){if(s-=e,s>r||-r>s)return 0;var h=Math.sqrt(r*r-s*s);y[0]=-h,y[1]=h;var c=Math.abs(i-n);if(1e-4>c)return 0;if(1e-4>c%g){i=0,n=g;var l=a?1:-1;return o>=y[0]+t&&o<=y[1]+t?l:0}if(a){var h=i;i=f(n),n=f(h)}else i=f(i),n=f(n);i>n&&(n+=g);for(var u=0,d=0;2>d;d++){var p=y[d];if(p+t>o){var v=Math.atan2(s,p),l=a?1:-1;0>v&&(v=g+v),(v>=i&&n>=v||v+g>=i&&n>=v+g)&&(v>Math.PI/2&&v<1.5*Math.PI&&(l=-l),u+=l)}}return u}function o(t,r,o,h,f){for(var d=0,g=0,m=0,y=0,_=0,x=0;x1&&(o||(d+=p(g,m,y,_,h,f)),0!==d))return!0;switch(1==x&&(g=t[x],m=t[x+1],y=g,_=m),b){case s.M:y=t[x++],_=t[x++],g=y,m=_;break;case s.L:if(o){if(v(g,m,t[x],t[x+1],r,h,f))return!0}else d+=p(g,m,t[x],t[x+1],h,f)||0;g=t[x++],m=t[x++];break;case s.C:if(o){if(c.containStroke(g,m,t[x++],t[x++],t[x++],t[x++],t[x],t[x+1],r,h,f))return!0}else d+=i(g,m,t[x++],t[x++],t[x++],t[x++],t[x],t[x+1],h,f)||0;g=t[x++],m=t[x++];break;case s.Q:if(o){if(l.containStroke(g,m,t[x++],t[x++],t[x],t[x+1],r,h,f))return!0}else d+=n(g,m,t[x++],t[x++],t[x],t[x+1],h,f)||0;g=t[x++],m=t[x++];break;case s.A:var w=t[x++],T=t[x++],P=t[x++],z=t[x++],M=t[x++],k=t[x++],C=(t[x++],1-t[x++]),S=Math.cos(M)*P+w,L=Math.sin(M)*z+T;x>1?d+=p(g,m,S,L,h,f):(y=S,_=L);var R=(h-w)*z/P+w;if(o){if(u.containStroke(w,T,z,M,M+k,C,r,R,f))return!0}else d+=a(w,T,z,M,M+k,C,R,f);g=Math.cos(M+k)*P+w,m=Math.sin(M+k)*z+T;break;case s.R:y=g=t[x++],_=m=t[x++];var A=t[x++],q=t[x++],S=y+A,L=_+q;if(o){if(v(y,_,S,_,r,h,f)||v(S,_,S,L,r,h,f)||v(S,L,y,L,r,h,f)||v(y,L,S,L,r,h,f))return!0}else d+=p(S,_,S,L,h,f),d+=p(y,L,y,_,h,f);break;case s.Z:if(o){if(v(g,m,y,_,r,h,f))return!0}else if(d+=p(g,m,y,_,h,f),0!==d)return!0;g=y,m=_}}return o||e(m,_)||(d+=p(g,m,y,_,h,f)||0),0!==d}var s=t("../core/PathProxy").CMD,h=t("./line"),c=t("./cubic"),l=t("./quadratic"),u=t("./arc"),f=t("./util").normalizeRadian,d=t("../core/curve"),p=t("./windingLine"),v=h.containStroke,g=2*Math.PI,m=1e-4,y=[-1,-1,-1],_=[-1,-1];return{contain:function(t,e,r){return o(t,0,!1,e,r)},containStroke:function(t,e,r,i){return o(t,e,!0,r,i)}}}),define("zrender/graphic/Path",["require","./Displayable","../core/util","../core/PathProxy","../contain/path","./Gradient"],function(t){function e(t){var e=t.fill;return null!=e&&"none"!==e}function r(t){var e=t.stroke;return null!=e&&"none"!==e&&t.lineWidth>0}function i(t){n.call(this,t),this.path=new o}var n=t("./Displayable"),a=t("../core/util"),o=t("../core/PathProxy"),s=t("../contain/path"),h=t("./Gradient"),c=Math.abs;return i.prototype={constructor:i,type:"path",__dirtyPath:!0,strokeContainThreshold:5,brush:function(t){t.save();var i=this.style,n=this.path,a=r(i),o=e(i);this.__dirtyPath&&(o&&i.fill instanceof h&&i.fill.updateCanvasGradient(this,t),a&&i.stroke instanceof h&&i.stroke.updateCanvasGradient(this,t)),i.bind(t,this),this.setTransform(t);var s=i.lineDash,c=i.lineDashOffset,l=!!t.setLineDash;this.__dirtyPath||s&&!l&&a?(n=this.path.beginPath(t),s&&!l&&(n.setLineDash(s),n.setLineDashOffset(c)),this.buildPath(n,this.shape),this.__dirtyPath=!1):(t.beginPath(),this.path.rebuildPath(t)),o&&n.fill(t),s&&l&&(t.setLineDash(s),t.lineDashOffset=c),a&&n.stroke(t),null!=i.text&&this.drawRectText(t,this.getBoundingRect()),t.restore()},buildPath:function(t,e){},getBoundingRect:function(){var t=this._rect,e=this.style;if(!t){var i=this.path;this.__dirtyPath&&(i.beginPath(),this.buildPath(i,this.shape)),t=i.getBoundingRect()}if(r(e)&&(this.__dirty||!this._rect)){var n=this._rectWithStroke||(this._rectWithStroke=t.clone());n.copy(t);var a=e.lineWidth,o=e.strokeNoScale?this.getLineScale():1;return a=Math.max(a,this.strokeContainThreshold),o>1e-10&&(n.width+=a/o,n.height+=a/o,n.x-=a/o/2,n.y-=a/o/2),n}return this._rect=t,t},contain:function(t,i){var n=this.transformCoordToLocal(t,i),a=this.getBoundingRect(),o=this.style;if(t=n[0],i=n[1],a.contain(t,i)){var h=this.path.data;if(r(o)){var c=o.lineWidth,l=o.strokeNoScale?this.getLineScale():1;if(1e-10>l)return!1;if(c=Math.max(c,this.strokeContainThreshold),s.containStroke(h,c/l,t,i))return!0}if(e(o))return s.contain(h,t,i)}return!1},dirty:function(t){0===arguments.length&&(t=!0),t&&(this.__dirtyPath=t,this._rect=null),this.__dirty=!0,this.__zr&&this.__zr.refresh(),this.__clipTarget&&this.__clipTarget.dirty()},animateShape:function(t){return this.animate("shape",t)},attrKV:function(t,e){"shape"===t?this.setShape(e):n.prototype.attrKV.call(this,t,e)},setShape:function(t,e){var r=this.shape;if(r){if(a.isObject(t))for(var i in t)r[i]=t[i];else r[t]=e;this.dirty(!0)}return this},getLineScale:function(){var t=this.transform;return t&&c(t[0]-1)>1e-10&&c(t[3]-1)>1e-10?Math.sqrt(c(t[0]*t[3]-t[2]*t[1])):1}},i.extend=function(t){var e=function(e){i.call(this,e),t.style&&this.style.extendFrom(t.style,!1);var r=t.shape;if(r){this.shape=this.shape||{};var n=this.shape;for(var a in r)!n.hasOwnProperty(a)&&r.hasOwnProperty(a)&&(n[a]=r[a])}t.init&&t.init.call(this,e)};a.inherits(e,i);for(var r in t)"style"!==r&&"shape"!==r&&(e.prototype[r]=t[r]);return e},a.inherits(i,n),i}),define("zrender/graphic/shape/Rose",["require","../Path"],function(t){var e=Math.sin,r=Math.cos,i=Math.PI/180;return t("../Path").extend({type:"rose",shape:{cx:0,cy:0,r:[],k:0,n:1},style:{stroke:"#000",fill:null},buildPath:function(t,n){var a,o,s,h=n.r,c=n.k,l=n.n,u=n.cx,f=n.cy;t.moveTo(u,f);for(var d=0,p=h.length;p>d;d++){s=h[d];for(var v=0;360*l>=v;v++)a=s*e(c/l*v%360*i)*r(v*i)+u,o=s*e(c/l*v%360*i)*e(v*i)+f,t.lineTo(a,o)}}})}),define("zrender/graphic/shape/Trochoid",["require","../Path"],function(t){var e=Math.cos,r=Math.sin;return t("../Path").extend({type:"trochoid",shape:{cx:0,cy:0,r:0,r0:0,d:0,location:"out"},style:{stroke:"#000",fill:null},buildPath:function(t,i){var n,a,o,s,h=i.r,c=i.r0,l=i.d,u=i.cx,f=i.cy,d="out"==i.location?1:-1;if(!(i.location&&c>=h)){var p,v=0,g=1;n=(h+d*c)*e(0)-d*l*e(0)+u,a=(h+d*c)*r(0)-l*r(0)+f,t.moveTo(n,a);do v++;while(c*v%(h+d*c)!==0);do p=Math.PI/180*g,o=(h+d*c)*e(p)-d*l*e((h/c+d)*p)+u,s=(h+d*c)*r(p)-l*r((h/c+d)*p)+f,t.lineTo(o,s),g++;while(c*v/(h+d*c)*360>=g)}}})}),define("zrender/graphic/shape/Circle",["require","../Path"],function(t){return t("../Path").extend({type:"circle",shape:{cx:0,cy:0,r:0},buildPath:function(t,e){t.moveTo(e.cx+e.r,e.cy),t.arc(e.cx,e.cy,e.r,0,2*Math.PI,!0)}})}),define("zrender/graphic/shape/Sector",["require","../Path"],function(t){return t("../Path").extend({type:"sector",shape:{cx:0,cy:0,r0:0,r:0,startAngle:0,endAngle:2*Math.PI,clockwise:!0},buildPath:function(t,e){var r=e.cx,i=e.cy,n=Math.max(e.r0||0,0),a=Math.max(e.r,0),o=e.startAngle,s=e.endAngle,h=e.clockwise,c=Math.cos(o),l=Math.sin(o);t.moveTo(c*n+r,l*n+i),t.lineTo(c*a+r,l*a+i),t.arc(r,i,a,o,s,!h),t.lineTo(Math.cos(s)*n+r,Math.sin(s)*n+i),0!==n&&t.arc(r,i,n,s,o,h),t.closePath()}})}),define("zrender/graphic/shape/Ring",["require","../Path"],function(t){return t("../Path").extend({type:"ring",shape:{cx:0,cy:0,r:0,r0:0},buildPath:function(t,e){var r=e.cx,i=e.cy,n=2*Math.PI;t.arc(r,i,e.r,0,n,!1),t.moveTo(r+e.r0,i),t.arc(r,i,e.r0,0,n,!0)}})}),define("zrender/graphic/shape/Ellipse",["require","../Path"],function(t){return t("../Path").extend({type:"ellipse",shape:{cx:0,cy:0,rx:0,ry:0},buildPath:function(t,e){var r=.5522848,i=e.cx,n=e.cy,a=e.rx,o=e.ry,s=a*r,h=o*r;t.moveTo(i-a,n),t.bezierCurveTo(i-a,n-h,i-s,n-o,i,n-o),t.bezierCurveTo(i+s,n-o,i+a,n-h,i+a,n),t.bezierCurveTo(i+a,n+h,i+s,n+o,i,n+o),t.bezierCurveTo(i-s,n+o,i-a,n+h,i-a,n),t.closePath()}})}),define("zrender/graphic/shape/Rect",["require","../helper/roundRect","../Path"],function(t){var e=t("../helper/roundRect");return t("../Path").extend({type:"rect",shape:{r:0,x:0,y:0,width:0,height:0},buildPath:function(t,r){var i=r.x,n=r.y,a=r.width,o=r.height;r.r?e.buildPath(t,r):t.rect(i,n,a,o),t.closePath()}})}),define("zrender/graphic/shape/Heart",["require","../Path"],function(t){return t("../Path").extend({type:"heart",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var r=e.cx,i=e.cy,n=e.width,a=e.height;t.moveTo(r,i),t.bezierCurveTo(r+n/2,i-2*a/3,r+2*n,i+a/3,r,i+a),t.bezierCurveTo(r-2*n,i+a/3,r-n/2,i-2*a/3,r,i)}})}),define("zrender/graphic/shape/Droplet",["require","../Path"],function(t){return t("../Path").extend({type:"droplet",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var r=e.cx,i=e.cy,n=e.width,a=e.height;t.moveTo(r,i+n),t.bezierCurveTo(r+n,i+n,r+3*n/2,i-n/3,r,i-a),t.bezierCurveTo(r-3*n/2,i-n/3,r-n,i+n,r,i+n),t.closePath()}})}),define("zrender/graphic/shape/Line",["require","../Path"],function(t){return t("../Path").extend({type:"line",shape:{x1:0,y1:0,x2:0,y2:0,percent:1},style:{stroke:"#000",fill:null},buildPath:function(t,e){var r=e.x1,i=e.y1,n=e.x2,a=e.y2,o=e.percent;0!==o&&(t.moveTo(r,i),1>o&&(n=r*(1-o)+n*o,a=i*(1-o)+a*o),t.lineTo(n,a))},pointAt:function(t){var e=this.shape;return[e.x1*(1-t)+e.x2*t,e.y1*(1-t)+e.y2*t]}})}),define("zrender/graphic/shape/Star",["require","../Path"],function(t){var e=Math.PI,r=Math.cos,i=Math.sin;return t("../Path").extend({type:"star",shape:{cx:0,cy:0,n:3,r0:null,r:0},buildPath:function(t,n){var a=n.n;if(a&&!(2>a)){var o=n.cx,s=n.cy,h=n.r,c=n.r0;null==c&&(c=a>4?h*r(2*e/a)/r(e/a):h/3);var l=e/a,u=-e/2,f=o+h*r(u),d=s+h*i(u);u+=l,t.moveTo(f,d);for(var p,v=0,g=2*a-1;g>v;v++)p=v%2===0?c:h,t.lineTo(o+p*r(u),s+p*i(u)),u+=l;t.closePath()}}})}),define("zrender/graphic/shape/Isogon",["require","../Path"],function(t){var e=Math.PI,r=Math.sin,i=Math.cos;return t("../Path").extend({type:"isogon",shape:{x:0,y:0,r:0,n:0},buildPath:function(t,n){var a=n.n;if(a&&!(2>a)){var o=n.x,s=n.y,h=n.r,c=2*e/a,l=-e/2;t.moveTo(o+h*i(l),s+h*r(l));for(var u=0,f=a-1;f>u;u++)l+=c,t.lineTo(o+h*i(l),s+h*r(l));t.closePath()}}})}),define("zrender/graphic/shape/BezierCurve",["require","../../core/curve","../Path"],function(t){var e=t("../../core/curve"),r=e.quadraticSubdivide,i=e.cubicSubdivide,n=e.quadraticAt,a=e.cubicAt,o=[];return t("../Path").extend({type:"bezier-curve",shape:{x1:0,y1:0,x2:0,y2:0,cpx1:0,cpy1:0,percent:1},style:{stroke:"#000",fill:null},buildPath:function(t,e){var n=e.x1,a=e.y1,s=e.x2,h=e.y2,c=e.cpx1,l=e.cpy1,u=e.cpx2,f=e.cpy2,d=e.percent;0!==d&&(t.moveTo(n,a),null==u||null==f?(1>d&&(r(n,c,s,d,o),c=o[1],s=o[2],r(a,l,h,d,o),l=o[1],h=o[2]),t.quadraticCurveTo(c,l,s,h)):(1>d&&(i(n,c,u,s,d,o),c=o[1],u=o[2],s=o[3],i(a,l,f,h,d,o),l=o[1],f=o[2],h=o[3]),t.bezierCurveTo(c,l,u,f,s,h)))},pointAt:function(t){var e=this.shape,r=e.cpx2,i=e.cpy2;return null===r||null===i?[n(e.x1,e.cpx1,e.x2,t),n(e.y1,e.cpy1,e.y2,t)]:[a(e.x1,e.cpx1,e.cpx1,e.x2,t),a(e.y1,e.cpy1,e.cpy1,e.y2,t)]}})}),define("zrender/graphic/helper/smoothSpline",["require","../../core/vector"],function(t){function e(t,e,r,i,n,a,o){var s=.5*(r-t),h=.5*(i-e);return(2*(e-r)+s+h)*o+(-3*(e-r)-2*s-h)*a+s*n+e}var r=t("../../core/vector");return function(t,i){for(var n=t.length,a=[],o=0,s=1;n>s;s++)o+=r.distance(t[s-1],t[s]);var h=o/2;h=n>h?n:h;for(var s=0;h>s;s++){var c,l,u,f=s/(h-1)*(i?n:n-1),d=Math.floor(f),p=f-d,v=t[d%n];i?(c=t[(d-1+n)%n],l=t[(d+1)%n],u=t[(d+2)%n]):(c=t[0===d?d:d-1],l=t[d>n-2?n-1:d+1],u=t[d>n-3?n-1:d+2]);var g=p*p,m=p*g;a.push([e(c[0],v[0],l[0],u[0],p,g,m),e(c[1],v[1],l[1],u[1],p,g,m)])}return a}}),define("zrender/graphic/helper/smoothBezier",["require","../../core/vector"],function(t){var e=t("../../core/vector"),r=e.min,i=e.max,n=e.scale,a=e.distance,o=e.add;return function(t,s,h,c){var l,u,f,d,p=[],v=[],g=[],m=[];if(c){f=[1/0,1/0],d=[-(1/0),-(1/0)];for(var y=0,_=t.length;_>y;y++)r(f,f,t[y]),i(d,d,t[y]);r(f,f,c[0]),i(d,d,c[1])}for(var y=0,_=t.length;_>y;y++){var x=t[y];if(h)l=t[y?y-1:_-1],u=t[(y+1)%_];else{if(0===y||y===_-1){p.push(e.clone(t[y]));continue}l=t[y-1],u=t[y+1]}e.sub(v,u,l),n(v,v,s);var b=a(x,l),w=a(x,u),T=b+w;0!==T&&(b/=T,w/=T),n(g,v,-b),n(m,v,w);var P=o([],x,g),z=o([],x,m);c&&(i(P,P,f),r(P,P,d),i(z,z,f),r(z,z,d)),p.push(P),p.push(z)}return h&&p.push(p.shift()),p}}),define("zrender/graphic/helper/poly",["require","./smoothSpline","./smoothBezier"],function(t){var e=t("./smoothSpline"),r=t("./smoothBezier");return{buildPath:function(t,i,n){var a=i.points,o=i.smooth;if(a&&a.length>=2){if(o&&"spline"!==o){var s=r(a,o,n,i.smoothConstraint);t.moveTo(a[0][0],a[0][1]);for(var h=a.length,c=0;(n?h:h-1)>c;c++){var l=s[2*c],u=s[2*c+1],f=a[(c+1)%h];t.bezierCurveTo(l[0],l[1],u[0],u[1],f[0],f[1])}}else{"spline"===o&&(a=e(a,n)),t.moveTo(a[0][0],a[0][1]);for(var c=1,d=a.length;d>c;c++)t.lineTo(a[c][0],a[c][1])}n&&t.closePath()}}}}),define("zrender/graphic/shape/Polyline",["require","../helper/poly","../Path"],function(t){var e=t("../helper/poly");return t("../Path").extend({type:"polyline",shape:{points:null,smooth:!1,smoothConstraint:null},style:{stroke:"#000",fill:null},buildPath:function(t,r){e.buildPath(t,r,!1)}})}),define("zrender/graphic/shape/Polygon",["require","../helper/poly","../Path"],function(t){var e=t("../helper/poly");return t("../Path").extend({type:"polygon",shape:{points:null,smooth:!1,smoothConstraint:null},buildPath:function(t,r){e.buildPath(t,r,!0)}})}),define("zrender/vml/core",["require","../core/env"],function(t){function e(){if(!o){o=!0;var t=a.styleSheets;t.length<31?a.createStyleSheet().addRule(".zrvml","behavior:url(#default#VML)"):t[0].addRule(".zrvml","behavior:url(#default#VML)")}}if(!t("../core/env").canvasSupported){var r,i="urn:schemas-microsoft-com:vml",n=window,a=n.document,o=!1;try{!a.namespaces.zrvml&&a.namespaces.add("zrvml",i),r=function(t){return a.createElement("')}}catch(s){r=function(t){return a.createElement("<"+t+' xmlns="'+i+'" class="zrvml">')}}return{doc:a,initVML:e,createNode:r}}}),define("zrender/vml/graphic",["require","../core/env","../core/vector","../core/BoundingRect","../core/PathProxy","../tool/color","../contain/text","../graphic/mixin/RectText","../graphic/Displayable","../graphic/Image","../graphic/Text","../graphic/Path","../graphic/Gradient","./core"],function(t){function e(t){t.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px;",t.coordsize=F+","+F,t.coordorigin="0,0"}function r(t){return String(t).replace(/&/g,"&").replace(/"/g,""")}function i(t,e,r){return"rgb("+[t,e,r].join(",")+")"}function n(t,e){e&&t&&e.parentNode!==t&&t.appendChild(e)}function a(t,e){e&&t&&e.parentNode===t&&t.removeChild(e)}function o(t,e,r){return(parseFloat(t)||0)*W+(parseFloat(e)||0)*j+r}function s(t,e,r){var n=b.parse(e);r=+r,isNaN(r)&&(r=1),n&&(t.color=i(n[0],n[1],n[2]),t.opacity=r*n[3])}function h(t){var e=b.parse(t);return[i(e[0],e[1],e[2]),e[3]]}function c(t,e,r){var i=e.fill;if(null!=i)if(i instanceof C){var n,a=0,o=[0,0],c=0,l=1,u=r.getBoundingRect(),f=u.width,d=u.height;if("linear"===i.type){n="gradient";var p=r.transform,v=[i.x*f,i.y*d],g=[i.x2*f,i.y2*d];p&&(D(v,v,p),D(g,g,p));var m=g[0]-v[0],y=g[1]-v[1];a=180*Math.atan2(m,y)/Math.PI,0>a&&(a+=360),1e-6>a&&(a=0)}else{n="gradientradial";var v=[i.x*f,i.y*d],p=r.transform,_=r.scale,x=f,b=d;o=[(v[0]-u.x)/x,(v[1]-u.y)/b],p&&D(v,v,p),x/=_[0]*F,b/=_[1]*F;var w=I(x,b);c=0/w,l=2*i.r/w-c}var T=i.colorStops.slice();T.sort(function(t,e){return t.offset-e.offset});for(var P=T.length,z=[],M=[],k=0;P>k;k++){var S=T[k],L=h(S.color);M.push(S.offset*l+c+" "+L[0]),(0===k||k===P-1)&&z.push(L)}if(P>=2){var R=z[0][0],A=z[1][0],q=z[0][1]*e.opacity,B=z[1][1]*e.opacity;t.type=n,t.method="none",t.focus="100%",t.angle=a,t.color=R,t.color2=A,t.colors=M.join(","),t.opacity=B,t.opacity2=q}"radial"===n&&(t.focusposition=o.join(","))}else s(t,i,e.opacity)}function l(t,e){null!=e.lineJoin&&(t.joinstyle=e.lineJoin),null!=e.miterLimit&&(t.miterlimit=e.miterLimit*F),null!=e.lineCap&&(t.endcap=e.lineCap),null!=e.lineDash&&(t.dashstyle=e.lineDash.join(" ")),null==e.stroke||e.stroke instanceof C||s(t,e.stroke,e.opacity)}function u(t,e,r,i){var o="fill"==e,s=t.getElementsByTagName(e)[0];null!=r[e]&&"none"!==r[e]&&(o||!o&&r.lineWidth)?(t[o?"filled":"stroked"]="true",r[e]instanceof C&&a(t,s),s||(s=S.createNode(e)),o?c(s,r,i):l(s,r),n(t,s)):(t[o?"filled":"stroked"]="false",a(t,s))}function f(t,e){var r,i,n,a,o,s,h=x.M,c=x.C,l=x.L,u=x.A,f=x.Q,d=[];for(a=0;a0){d.push(i);for(var G=0;r>G;G++){var Z=V[G];e&&D(Z,Z,e),d.push(L(Z[0]*F-H),O,L(Z[1]*F-H),r-1>G?O:"")}}}return d.join("")}function d(t){return"object"==typeof t&&t.tagName&&"IMG"===t.tagName.toUpperCase()}function p(t){var e=Y[t];if(!e){G>Z&&(G=0,Y={});var r,i=U.style;try{i.font=t,r=i.fontFamily.split(",")[0]}catch(n){}e={style:i.fontStyle||X,variant:i.fontVariant||X,weight:i.fontWeight||X,size:0|parseFloat(i.fontSize||12),family:r||"Microsoft YaHei"},Y[t]=e,G++}return e}function v(t,i,a,s){var h=this.style,c=h.text;if(c){var l,f,d=h.textAlign,v=p(h.textFont),g=v.style+" "+v.variant+" "+v.weight+" "+v.size+'px "'+v.family+'"',m=h.textBaseline;a=a||w.getBoundingRect(c,g,d,m);var y=this.transform;if(y&&!s&&(K.copy(i),K.applyTransform(y),i=K),s)l=i.x,f=i.y;else{var _=h.textPosition,x=h.textDistance;if(_ instanceof Array)l=i.x+_[0],f=i.y+_[1],d=d||"left",m=m||"top";else{var b=w.adjustTextPositionOnRect(_,i,a,x);l=b.x,f=b.y,d=d||b.textAlign,m=m||b.textBaseline}}var T=v.size;switch(m){case"hanging":case"top":f+=T/1.75;break;case"middle":break;default:f-=T/2.25}switch(d){case"left":break;case"center":l-=a.width/2;break;case"right":l-=a.width}var P,z,M,k=S.createNode,C=this._textVmlEl;C?(M=C.firstChild,P=M.nextSibling,z=P.nextSibling):(C=k("line"),P=k("path"),z=k("textpath"),M=k("skew"),z.style["v-text-align"]="left",e(C),P.textpathok=!0,z.on=!0,C.from="0 0",C.to="1000 0.05",n(C,M),n(C,P),n(C,z),this._textVmlEl=C);var R=[l,f],A=C.style;y&&s?(D(R,R,y),M.on=!0,M.matrix=y[0].toFixed(3)+O+y[2].toFixed(3)+O+y[1].toFixed(3)+O+y[3].toFixed(3)+",0,0",M.offset=(L(R[0])||0)+","+(L(R[1])||0), -M.origin="0 0",A.left="0px",A.top="0px"):(M.on=!1,A.left=L(l)+"px",A.top=L(f)+"px"),z.string=r(c);try{z.style.font=g}catch(q){}u(C,"fill",{fill:s?h.fill:h.textFill,opacity:h.opacity},this),u(C,"stroke",{stroke:s?h.stroke:h.textStroke,opacity:h.opacity,lineDash:h.lineDash},this),C.style.zIndex=o(this.zlevel,this.z,this.z2),n(t,C)}}function g(t){a(t,this._textVmlEl),this._textVmlEl=null}function m(t){n(t,this._textVmlEl)}if(!t("../core/env").canvasSupported){var y=t("../core/vector"),_=t("../core/BoundingRect"),x=t("../core/PathProxy").CMD,b=t("../tool/color"),w=t("../contain/text"),T=t("../graphic/mixin/RectText"),P=t("../graphic/Displayable"),z=t("../graphic/Image"),M=t("../graphic/Text"),k=t("../graphic/Path"),C=t("../graphic/Gradient"),S=t("./core"),L=Math.round,R=Math.sqrt,A=Math.abs,q=Math.cos,B=Math.sin,I=Math.max,D=y.applyTransform,O=",",E="progid:DXImageTransform.Microsoft",F=21600,H=F/2,W=1e5,j=1e3,V=[[],[],[]];k.prototype.brush=function(t){var r=this.style,i=this._vmlEl;i||(i=S.createNode("shape"),e(i),this._vmlEl=i),u(i,"fill",r,this),u(i,"stroke",r,this);var a=this.transform,s=null!=a,h=i.getElementsByTagName("stroke")[0];if(h){var c=r.lineWidth;if(s&&!r.strokeNoScale){var l=a[0]*a[3]-a[1]*a[2];c*=R(A(l))}h.weight=c+"px"}var d=this.path;this.__dirtyPath&&(d.beginPath(),this.buildPath(d,this.shape),this.__dirtyPath=!1),i.path=f(d.data,this.transform),i.style.zIndex=o(this.zlevel,this.z,this.z2),n(t,i),r.text&&this.drawRectText(t,this.getBoundingRect())},k.prototype.onRemoveFromStorage=function(t){a(t,this._vmlEl),this.removeRectText(t)},k.prototype.onAddToStorage=function(t){n(t,this._vmlEl),this.appendRectText(t)},z.prototype.brush=function(t){var r,i,a=this.style,s=a.image;if(d(s)){var h=s.src;if(h===this._imageSrc)r=this._imageWidth,i=this._imageHeight;else{var c=s.runtimeStyle,l=c.width,u=c.height;c.width="auto",c.height="auto",r=s.width,i=s.height,c.width=l,c.height=u,this._imageSrc=h,this._imageWidth=r,this._imageHeight=i}s=h}else s===this._imageSrc&&(r=this._imageWidth,i=this._imageHeight);if(s){var f=a.x||0,p=a.y||0,v=a.width,g=a.height,m=a.sWidth,y=a.sHeight,_=a.sx||0,x=a.sy||0,b=m&&y,w=this._vmlEl;w||(w=S.doc.createElement("div"),e(w),this._vmlEl=w);var T,P=w.style,z=!1,M=1,k=1;if(this.transform&&(T=this.transform,M=R(T[0]*T[0]+T[1]*T[1]),k=R(T[2]*T[2]+T[3]*T[3]),z=T[1]||T[2]),z){var C=[f,p],A=[f+v,p],q=[f,p+g],B=[f+v,p+g];D(C,C,T),D(A,A,T),D(q,q,T),D(B,B,T);var F=I(C[0],A[0],q[0],B[0]),H=I(C[1],A[1],q[1],B[1]),W=[];W.push("M11=",T[0]/M,O,"M12=",T[2]/k,O,"M21=",T[1]/M,O,"M22=",T[3]/k,O,"Dx=",L(f*M+T[4]),O,"Dy=",L(p*k+T[5])),P.padding="0 "+L(F)+"px "+L(H)+"px 0",P.filter=E+".Matrix("+W.join("")+", SizingMethod=clip)"}else T&&(f=f*M+T[4],p=p*k+T[5]),P.filter="",P.left=L(f)+"px",P.top=L(p)+"px";var j=this._imageEl,V=this._cropEl;j||(j=S.doc.createElement("div"),this._imageEl=j);var N=j.style;if(b){if(r&&i)N.width=L(M*r*v/m)+"px",N.height=L(k*i*g/y)+"px";else{var X=new Image,Y=this;X.onload=function(){X.onload=null,r=X.width,i=X.height,N.width=L(M*r*v/m)+"px",N.height=L(k*i*g/y)+"px",Y._imageWidth=r,Y._imageHeight=i,Y._imageSrc=s},X.src=s}V||(V=S.doc.createElement("div"),V.style.overflow="hidden",this._cropEl=V);var G=V.style;G.width=L((v+_*v/m)*M),G.height=L((g+x*g/y)*k),G.filter=E+".Matrix(Dx="+-_*v/m*M+",Dy="+-x*g/y*k+")",V.parentNode||w.appendChild(V),j.parentNode!=V&&V.appendChild(j)}else N.width=L(M*v)+"px",N.height=L(k*g)+"px",w.appendChild(j),V&&V.parentNode&&(w.removeChild(V),this._cropEl=null);var Z="",U=a.opacity;1>U&&(Z+=".Alpha(opacity="+L(100*U)+") "),Z+=E+".AlphaImageLoader(src="+s+", SizingMethod=scale)",N.filter=Z,w.style.zIndex=o(this.zlevel,this.z,this.z2),n(t,w),a.text&&this.drawRectText(t,this.getBoundingRect())}},z.prototype.onRemoveFromStorage=function(t){a(t,this._vmlEl),this._vmlEl=null,this._cropEl=null,this._imageEl=null,this.removeRectText(t)},z.prototype.onAddToStorage=function(t){n(t,this._vmlEl),this.appendRectText(t)};var N,X="normal",Y={},G=0,Z=100,U=document.createElement("div");w.measureText=function(t,e){var r=S.doc;N||(N=r.createElement("div"),N.style.cssText="position:absolute;top:-20000px;left:0; padding:0;margin:0;border:none;white-space:pre;",S.doc.body.appendChild(N));try{N.style.font=e}catch(i){}return N.innerHTML="",N.appendChild(r.createTextNode(t)),{width:N.offsetWidth}};for(var K=new _,Q=[T,P,z,k,M],$=0;$=10)}}var e={};return e="undefined"==typeof navigator?{browser:{},os:{},node:!0,canvasSupported:!0}:t(navigator.userAgent)}),define("zrender/graphic/Gradient",["require"],function(t){var e=function(t){this.colorStops=t||[]};return e.prototype={constructor:e,addColorStop:function(t,e){this.colorStops.push({offset:t,color:e})}},e}),define("zrender/core/util",["require","../graphic/Gradient"],function(t){function e(t){if("object"==typeof t&&null!==t){var r=t;if(t instanceof Array){r=[];for(var i=0,n=t.length;n>i;i++)r[i]=e(t[i])}else if(!T(t)&&!P(t)){r={};for(var a in t)t.hasOwnProperty(a)&&(r[a]=e(t[a]))}return r}return t}function r(t,i,n){if(!w(i)||!w(t))return n?e(i):t;for(var a in i)if(i.hasOwnProperty(a)){var o=t[a],s=i[a];!w(s)||!w(o)||_(s)||_(o)||P(s)||P(o)||T(s)||T(o)?!n&&a in t||(t[a]=e(i[a],!0)):r(o,s,n)}return t}function i(t,e){for(var i=t[0],n=1,a=t.length;a>n;n++)i=r(i,t[n],e);return i}function n(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return t}function a(t,e,r){for(var i in e)e.hasOwnProperty(i)&&(r?null!=e[i]:null==t[i])&&(t[i]=e[i]);return t}function o(){return document.createElement("canvas")}function s(){return C||(C=O.createCanvas().getContext("2d")),C}function h(t,e){if(t){if(t.indexOf)return t.indexOf(e);for(var r=0,i=t.length;i>r;r++)if(t[r]===e)return r}return-1}function c(t,e){function r(){}var i=t.prototype;r.prototype=e.prototype,t.prototype=new r;for(var n in i)t.prototype[n]=i[n];t.prototype.constructor=t,t.superClass=e}function l(t,e,r){t="prototype"in t?t.prototype:t,e="prototype"in e?e.prototype:e,a(t,e,r)}function u(t){return t?"string"==typeof t?!1:"number"==typeof t.length:void 0}function f(t,e,r){if(t&&e)if(t.forEach&&t.forEach===q)t.forEach(e,r);else if(t.length===+t.length)for(var i=0,n=t.length;n>i;i++)e.call(r,t[i],i,t);else for(var a in t)t.hasOwnProperty(a)&&e.call(r,t[a],a,t)}function d(t,e,r){if(t&&e){if(t.map&&t.map===D)return t.map(e,r);for(var i=[],n=0,a=t.length;a>n;n++)i.push(e.call(r,t[n],n,t));return i}}function p(t,e,r,i){if(t&&e){if(t.reduce&&t.reduce===E)return t.reduce(e,r,i);for(var n=0,a=t.length;a>n;n++)r=e.call(i,r,t[n],n,t);return r}}function v(t,e,r){if(t&&e){if(t.filter&&t.filter===B)return t.filter(e,r);for(var i=[],n=0,a=t.length;a>n;n++)e.call(r,t[n],n,t)&&i.push(t[n]);return i}}function g(t,e,r){if(t&&e)for(var i=0,n=t.length;n>i;i++)if(e.call(r,t[i],i,t))return t[i]}function m(t,e){var r=I.call(arguments,2);return function(){return t.apply(e,r.concat(I.call(arguments)))}}function y(t){var e=I.call(arguments,1);return function(){return t.apply(this,e.concat(I.call(arguments)))}}function _(t){return"[object Array]"===R.call(t)}function x(t){return"function"==typeof t}function b(t){return"[object String]"===R.call(t)}function w(t){var e=typeof t;return"function"===e||!!t&&"object"==e}function T(t){return!!L[R.call(t)]||t instanceof S}function P(t){return t&&1===t.nodeType&&"string"==typeof t.nodeName}function z(t){for(var e=0,r=arguments.length;r>e;e++)if(null!=arguments[e])return arguments[e]}function M(){return Function.call.apply(I,arguments)}function k(t,e){if(!t)throw new Error(e)}var C,S=t("../graphic/Gradient"),L={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1},R=Object.prototype.toString,A=Array.prototype,q=A.forEach,B=A.filter,I=A.slice,D=A.map,E=A.reduce,O={inherits:c,mixin:l,clone:e,merge:r,mergeAll:i,extend:n,defaults:a,getContext:s,createCanvas:o,indexOf:h,slice:M,find:g,isArrayLike:u,each:f,map:d,reduce:p,filter:v,bind:m,curry:y,isArray:_,isString:b,isObject:w,isFunction:x,isBuildInObject:T,isDom:P,retrieve:z,assert:k,noop:function(){}};return O}),define("zrender/mixin/Eventful",["require","../core/util"],function(t){var e=Array.prototype.slice,r=t("../core/util"),i=r.indexOf,n=function(){this._$handlers={}};return n.prototype={constructor:n,one:function(t,e,r){var n=this._$handlers;return e&&t?(n[t]||(n[t]=[]),i(n[t],t)>=0?this:(n[t].push({h:e,one:!0,ctx:r||this}),this)):this},on:function(t,e,r){var i=this._$handlers;return e&&t?(i[t]||(i[t]=[]),i[t].push({h:e,one:!1,ctx:r||this}),this):this},isSilent:function(t){var e=this._$handlers;return e[t]&&e[t].length},off:function(t,e){var r=this._$handlers;if(!t)return this._$handlers={},this;if(e){if(r[t]){for(var i=[],n=0,a=r[t].length;a>n;n++)r[t][n].h!=e&&i.push(r[t][n]);r[t]=i}r[t]&&0===r[t].length&&delete r[t]}else delete r[t];return this},trigger:function(t){if(this._$handlers[t]){var r=arguments,i=r.length;i>3&&(r=e.call(r,1));for(var n=this._$handlers[t],a=n.length,o=0;a>o;){switch(i){case 1:n[o].h.call(n[o].ctx);break;case 2:n[o].h.call(n[o].ctx,r[1]);break;case 3:n[o].h.call(n[o].ctx,r[1],r[2]);break;default:n[o].h.apply(n[o].ctx,r)}n[o].one?(n.splice(o,1),a--):o++}}return this},triggerWithContext:function(t){if(this._$handlers[t]){var r=arguments,i=r.length;i>4&&(r=e.call(r,1,r.length-1));for(var n=r[r.length-1],a=this._$handlers[t],o=a.length,s=0;o>s;){switch(i){case 1:a[s].h.call(n);break;case 2:a[s].h.call(n,r[1]);break;case 3:a[s].h.call(n,r[1],r[2]);break;default:a[s].h.apply(n,r)}a[s].one?(a.splice(s,1),o--):s++}}return this}},n}),define("zrender/core/event",["require","../mixin/Eventful"],function(t){function e(t){return t.getBoundingClientRect?t.getBoundingClientRect():{left:0,top:0}}function r(t,r){if(r=r||window.event,null!=r.zrX)return r;var i=r.type,n=i&&i.indexOf("touch")>=0;if(n){var a="touchend"!=i?r.targetTouches[0]:r.changedTouches[0];if(a){var o=e(t);r.zrX=a.clientX-o.left,r.zrY=a.clientY-o.top}}else{var s=0,h=0;r.pageX||r.pageY?(s=r.pageX,h=r.pageY):(s=r.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,h=r.clientY+document.body.scrollTop+document.documentElement.scrollTop);var c=e(t),l=c.top+(window.pageYOffset||t.scrollTop)-(t.clientTop||0),u=c.left+(window.pageXOffset||t.scrollLeft)-(t.clientLeft||0);r.zrX=s-u,r.zrY=h-l,r.zrDelta=r.wheelDelta?r.wheelDelta/120:-(r.detail||0)/3}return r}function i(t,e,r){o?t.addEventListener(e,r):t.attachEvent("on"+e,r)}function n(t,e,r){o?t.removeEventListener(e,r):t.detachEvent("on"+e,r)}var a=t("../mixin/Eventful"),o="undefined"!=typeof window&&!!window.addEventListener,s=o?function(t){t.preventDefault(),t.stopPropagation(),t.cancelBubble=!0}:function(t){t.returnValue=!1,t.cancelBubble=!0};return{normalizeEvent:r,addEventListener:i,removeEventListener:n,stop:s,Dispatcher:a}}),define("zrender/mixin/Draggable",["require"],function(t){function e(){this.on("mousedown",this._dragStart,this),this.on("mousemove",this._drag,this),this.on("mouseup",this._dragEnd,this),this.on("globalout",this._dragEnd,this)}return e.prototype={constructor:e,_dragStart:function(t){var e=t.target;e&&e.draggable&&(this._draggingTarget=e,e.dragging=!0,this._x=t.offsetX,this._y=t.offsetY,this._dispatchProxy(e,"dragstart",t.event))},_drag:function(t){var e=this._draggingTarget;if(e){var r=t.offsetX,i=t.offsetY,n=r-this._x,a=i-this._y;this._x=r,this._y=i,e.drift(n,a,t),this._dispatchProxy(e,"drag",t.event);var o=this._findHover(r,i,e),s=this._dropTarget;this._dropTarget=o,e!==o&&(s&&o!==s&&this._dispatchProxy(s,"dragleave",t.event),o&&o!==s&&this._dispatchProxy(o,"dragenter",t.event))}},_dragEnd:function(t){var e=this._draggingTarget;e&&(e.dragging=!1),this._dispatchProxy(e,"dragend",t.event),this._dropTarget&&this._dispatchProxy(this._dropTarget,"drop",t.event),this._draggingTarget=null,this._dropTarget=null}},e}),define("zrender/core/GestureMgr",["require"],function(t){function e(t){var e=t[1][0]-t[0][0],r=t[1][1]-t[0][1];return Math.sqrt(e*e+r*r)}function r(t){return[(t[0][0]+t[1][0])/2,(t[0][1]+t[1][1])/2]}var i=function(){this._track=[]};i.prototype={constructor:i,recognize:function(t,e){return this._doTrack(t,e),this._recognize(t)},clear:function(){return this._track.length=0,this},_doTrack:function(t,e){var r=t.touches;if(r){for(var i={points:[],touches:[],target:e,event:t},n=0,a=r.length;a>n;n++){var o=r[n];i.points.push([o.clientX,o.clientY]),i.touches.push(o)}this._track.push(i)}},_recognize:function(t){for(var e in n)if(n.hasOwnProperty(e)){var r=n[e](this._track,t);if(r)return r}}};var n={pinch:function(t,i){var n=t.length;if(n){var a=(t[n-1]||{}).points,o=(t[n-2]||{}).points||a;if(o&&o.length>1&&a&&a.length>1){var s=e(a)/e(o);!isFinite(s)&&(s=1),i.pinchScale=s;var h=r(a);return i.pinchX=h[0],i.pinchY=h[1],{type:"pinch",target:t[0].target,event:i}}}}};return i}),define("zrender/Handler",["require","./core/env","./core/event","./core/util","./mixin/Draggable","./core/GestureMgr","./mixin/Eventful"],function(t){function e(t,e,r){return{type:t,event:r,target:e,cancelBubble:!1,offsetX:r.zrX,offsetY:r.zrY,gestureEvent:r.gestureEvent,pinchX:r.pinchX,pinchY:r.pinchY,pinchScale:r.pinchScale,wheelDelta:r.zrDelta}}function r(t,e,r){var i=t._gestureMgr;"start"===r&&i.clear();var n=i.recognize(e,t._findHover(e.zrX,e.zrY,null));if("end"===r&&i.clear(),n){var a=n.type;e.gestureEvent=a,t._dispatchProxy(n.target,a,n.event)}}function i(t){function e(t,e){return function(){return e._touching?void 0:t.apply(e,arguments)}}for(var r=g.concat(m),i=0;i=0;a--)if(!i[a].silent&&i[a]!==r&&n(i[a],t,e))return i[a]}},u.mixin(T,p),u.mixin(T,f),T}),define("zrender/core/matrix",[],function(){var t="undefined"==typeof Float32Array?Array:Float32Array,e={create:function(){var r=new t(6);return e.identity(r),r},identity:function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},copy:function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t},mul:function(t,e,r){var i=e[0]*r[0]+e[2]*r[1],n=e[1]*r[0]+e[3]*r[1],a=e[0]*r[2]+e[2]*r[3],o=e[1]*r[2]+e[3]*r[3],s=e[0]*r[4]+e[2]*r[5]+e[4],h=e[1]*r[4]+e[3]*r[5]+e[5];return t[0]=i,t[1]=n,t[2]=a,t[3]=o,t[4]=s,t[5]=h,t},translate:function(t,e,r){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4]+r[0],t[5]=e[5]+r[1],t},rotate:function(t,e,r){var i=e[0],n=e[2],a=e[4],o=e[1],s=e[3],h=e[5],c=Math.sin(r),l=Math.cos(r);return t[0]=i*l+o*c,t[1]=-i*c+o*l,t[2]=n*l+s*c,t[3]=-n*c+l*s,t[4]=l*a+c*h,t[5]=l*h-c*a,t},scale:function(t,e,r){var i=r[0],n=r[1];return t[0]=e[0]*i,t[1]=e[1]*n,t[2]=e[2]*i,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*n,t},invert:function(t,e){var r=e[0],i=e[2],n=e[4],a=e[1],o=e[3],s=e[5],h=r*o-a*i;return h?(h=1/h,t[0]=o*h,t[1]=-a*h,t[2]=-i*h,t[3]=r*h,t[4]=(i*s-o*n)*h,t[5]=(a*n-r*s)*h,t):null}};return e}),define("zrender/core/vector",[],function(){var t="undefined"==typeof Float32Array?Array:Float32Array,e={create:function(e,r){var i=new t(2);return i[0]=e||0,i[1]=r||0,i},copy:function(t,e){return t[0]=e[0],t[1]=e[1],t},clone:function(e){var r=new t(2);return r[0]=e[0],r[1]=e[1],r},set:function(t,e,r){return t[0]=e,t[1]=r,t},add:function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t},scaleAndAdd:function(t,e,r,i){return t[0]=e[0]+r[0]*i,t[1]=e[1]+r[1]*i,t},sub:function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t},len:function(t){return Math.sqrt(this.lenSquare(t))},lenSquare:function(t){return t[0]*t[0]+t[1]*t[1]},mul:function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t},div:function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t},dot:function(t,e){return t[0]*e[0]+t[1]*e[1]},scale:function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t},normalize:function(t,r){var i=e.len(r);return 0===i?(t[0]=0,t[1]=0):(t[0]=r[0]/i,t[1]=r[1]/i),t},distance:function(t,e){return Math.sqrt((t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1]))},distanceSquare:function(t,e){return(t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1])},negate:function(t,e){return t[0]=-e[0],t[1]=-e[1],t},lerp:function(t,e,r,i){return t[0]=e[0]+i*(r[0]-e[0]),t[1]=e[1]+i*(r[1]-e[1]),t},applyTransform:function(t,e,r){var i=e[0],n=e[1];return t[0]=r[0]*i+r[2]*n+r[4],t[1]=r[1]*i+r[3]*n+r[5],t},min:function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t},max:function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t}};return e.length=e.len,e.lengthSquare=e.lenSquare,e.dist=e.distance,e.distSquare=e.distanceSquare,e}),define("zrender/mixin/Transformable",["require","../core/matrix","../core/vector"],function(t){function e(t){return t>a||-a>t}var r=t("../core/matrix"),i=t("../core/vector"),n=r.identity,a=5e-5,o=function(t){t=t||{},t.position||(this.position=[0,0]),null==t.rotation&&(this.rotation=0),t.scale||(this.scale=[1,1]),this.origin=this.origin||null},s=o.prototype;s.transform=null,s.needLocalTransform=function(){return e(this.rotation)||e(this.position[0])||e(this.position[1])||e(this.scale[0]-1)||e(this.scale[1]-1)},s.updateTransform=function(){var t=this.parent,e=t&&t.transform,i=this.needLocalTransform(),a=this.transform;return i||e?(a=a||r.create(),i?this.getLocalTransform(a):n(a),e&&(i?r.mul(a,t.transform,a):r.copy(a,t.transform)),this.transform=a,this.invTransform=this.invTransform||r.create(),void r.invert(this.invTransform,a)):void(a&&n(a))},s.getLocalTransform=function(t){t=t||[],n(t);var e=this.origin,i=this.scale,a=this.rotation,o=this.position;return e&&(t[4]-=e[0],t[5]-=e[1]),r.scale(t,t,i),a&&r.rotate(t,t,a),e&&(t[4]+=e[0],t[5]+=e[1]),t[4]+=o[0],t[5]+=o[1],t},s.setTransform=function(t){var e=this.transform;e&&t.transform(e[0],e[1],e[2],e[3],e[4],e[5])};var h=[];return s.decomposeTransform=function(){if(this.transform){var t=this.parent,i=this.transform;t&&t.transform&&(r.mul(h,t.invTransform,i),i=h);var n=i[0]*i[0]+i[1]*i[1],a=i[2]*i[2]+i[3]*i[3],o=this.position,s=this.scale;e(n-1)&&(n=Math.sqrt(n)),e(a-1)&&(a=Math.sqrt(a)),i[0]<0&&(n=-n),i[3]<0&&(a=-a),o[0]=i[4],o[1]=i[5],s[0]=n,s[1]=a,this.rotation=Math.atan2(-i[1]/a,i[0]/n)}},s.transformCoordToLocal=function(t,e){var r=[t,e],n=this.invTransform;return n&&i.applyTransform(r,r,n),r},s.transformCoordToGlobal=function(t,e){var r=[t,e],n=this.transform;return n&&i.applyTransform(r,r,n),r},o}),define("zrender/animation/easing",[],function(){var t={linear:function(t){return t},quadraticIn:function(t){return t*t},quadraticOut:function(t){return t*(2-t)},quadraticInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quarticIn:function(t){return t*t*t*t},quarticOut:function(t){return 1- --t*t*t*t},quarticInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quinticIn:function(t){return t*t*t*t*t},quinticOut:function(t){return--t*t*t*t*t+1},quinticInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sinusoidalIn:function(t){return 1-Math.cos(t*Math.PI/2)},sinusoidalOut:function(t){return Math.sin(t*Math.PI/2)},sinusoidalInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},exponentialIn:function(t){return 0===t?0:Math.pow(1024,t-1)},exponentialOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},exponentialInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(-Math.pow(2,-10*(t-1))+2)},circularIn:function(t){return 1-Math.sqrt(1-t*t)},circularOut:function(t){return Math.sqrt(1- --t*t)},circularInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,r=.1,i=.4;return 0===t?0:1===t?1:(!r||1>r?(r=1,e=i/4):e=i*Math.asin(1/r)/(2*Math.PI),-(r*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)))},elasticOut:function(t){var e,r=.1,i=.4;return 0===t?0:1===t?1:(!r||1>r?(r=1,e=i/4):e=i*Math.asin(1/r)/(2*Math.PI),r*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/i)+1)},elasticInOut:function(t){var e,r=.1,i=.4;return 0===t?0:1===t?1:(!r||1>r?(r=1,e=i/4):e=i*Math.asin(1/r)/(2*Math.PI),(t*=2)<1?-.5*(r*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)):r*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)*.5+1)},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?.5*(t*t*((e+1)*t-e)):.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(e){return 1-t.bounceOut(1-e)},bounceOut:function(t){return 1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(e){return.5>e?.5*t.bounceIn(2*e):.5*t.bounceOut(2*e-1)+.5}};return t}),define("zrender/animation/Clip",["require","./easing"],function(t){function e(t){this._target=t.target,this._life=t.life||1e3,this._delay=t.delay||0,this._initialized=!1,this.loop=null==t.loop?!1:t.loop,this.gap=t.gap||0,this.easing=t.easing||"Linear",this.onframe=t.onframe,this.ondestroy=t.ondestroy,this.onrestart=t.onrestart}var r=t("./easing");return e.prototype={constructor:e,step:function(t){this._initialized||(this._startTime=(new Date).getTime()+this._delay,this._initialized=!0);var e=(t-this._startTime)/this._life;if(!(0>e)){e=Math.min(e,1);var i=this.easing,n="string"==typeof i?r[i]:i,a="function"==typeof n?n(e):e;return this.fire("frame",a),1==e?this.loop?(this.restart(),"restart"):(this._needsRemove=!0,"destroy"):null}},restart:function(){var t=(new Date).getTime(),e=(t-this._startTime)%this._life;this._startTime=(new Date).getTime()-e+this.gap,this._needsRemove=!1},fire:function(t,e){t="on"+t,this[t]&&this[t](this._target,e)}},e}),define("zrender/tool/color",["require"],function(t){function e(t){return t=Math.round(t),0>t?0:t>255?255:t}function r(t){return t=Math.round(t),0>t?0:t>360?360:t}function i(t){return 0>t?0:t>1?1:t}function n(t){return e(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100*255:parseInt(t,10))}function a(t){return i(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100:parseFloat(t))}function o(t,e,r){return 0>r?r+=1:r>1&&(r-=1),1>6*r?t+(e-t)*r*6:1>2*r?e:2>3*r?t+(e-t)*(2/3-r)*6:t}function s(t,e,r){return t+(e-t)*r}function h(t){if(t){t+="";var e=t.replace(/ /g,"").toLowerCase();if(e in _)return _[e].slice();if("#"!==e.charAt(0)){var r=e.indexOf("("),i=e.indexOf(")");if(-1!==r&&i+1===e.length){var o=e.substr(0,r),s=e.substr(r+1,i-(r+1)).split(","),h=1;switch(o){case"rgba":if(4!==s.length)return;h=a(s.pop());case"rgb":if(3!==s.length)return;return[n(s[0]),n(s[1]),n(s[2]),h];case"hsla":if(4!==s.length)return;return s[3]=a(s[3]),c(s);case"hsl":if(3!==s.length)return;return c(s);default:return}}}else{if(4===e.length){var l=parseInt(e.substr(1),16);if(!(l>=0&&4095>=l))return;return[(3840&l)>>4|(3840&l)>>8,240&l|(240&l)>>4,15&l|(15&l)<<4,1]}if(7===e.length){var l=parseInt(e.substr(1),16);if(!(l>=0&&16777215>=l))return;return[(16711680&l)>>16,(65280&l)>>8,255&l,1]}}}}function c(t){var r=(parseFloat(t[0])%360+360)%360/360,i=a(t[1]),n=a(t[2]),s=.5>=n?n*(i+1):n+i-n*i,h=2*n-s,c=[e(255*o(h,s,r+1/3)),e(255*o(h,s,r)),e(255*o(h,s,r-1/3))];return 4===t.length&&(c[3]=t[3]),c}function l(t){if(t){var e,r,i=t[0]/255,n=t[1]/255,a=t[2]/255,o=Math.min(i,n,a),s=Math.max(i,n,a),h=s-o,c=(s+o)/2;if(0===h)e=0,r=0;else{r=.5>c?h/(s+o):h/(2-s-o);var l=((s-i)/6+h/2)/h,u=((s-n)/6+h/2)/h,f=((s-a)/6+h/2)/h;i===s?e=f-u:n===s?e=1/3+l-f:a===s&&(e=2/3+u-l),0>e&&(e+=1),e>1&&(e-=1)}var d=[360*e,r,c];return null!=t[3]&&d.push(t[3]),d}}function u(t,e){var r=h(t);if(r){for(var i=0;3>i;i++)0>e?r[i]=r[i]*(1-e)|0:r[i]=(255-r[i])*e+r[i]|0;return y(r,4===r.length?"rgba":"rgb")}}function f(t,e){var r=h(t);return r?((1<<24)+(r[0]<<16)+(r[1]<<8)+ +r[2]).toString(16).slice(1):void 0}function d(t,r,i){if(r&&r.length&&t>=0&&1>=t){i=i||[0,0,0,0];var n=t*(r.length-1),a=Math.floor(n),o=Math.ceil(n),h=r[a],c=r[o],l=n-a;return i[0]=e(s(h[0],c[0],l)),i[1]=e(s(h[1],c[1],l)),i[2]=e(s(h[2],c[2],l)),i[3]=e(s(h[3],c[3],l)),i}}function p(t,r,n){if(r&&r.length&&t>=0&&1>=t){var a=t*(r.length-1),o=Math.floor(a),c=Math.ceil(a),l=h(r[o]),u=h(r[c]),f=a-o,d=y([e(s(l[0],u[0],f)),e(s(l[1],u[1],f)),e(s(l[2],u[2],f)),i(s(l[3],u[3],f))],"rgba");return n?{color:d,leftIndex:o,rightIndex:c,value:a}:d}}function v(t,e){if(!(2!==t.length||t[1]0&&s>=h;h++)n.push({color:e[h],offset:(h-r.value)/a});return n.push({color:i.color,offset:1}),n}}function g(t,e,i,n){return t=h(t),t?(t=l(t),null!=e&&(t[0]=r(e)),null!=i&&(t[1]=a(i)),null!=n&&(t[2]=a(n)),y(c(t),"rgba")):void 0}function m(t,e){return t=h(t),t&&null!=e?(t[3]=i(e),y(t,"rgba")):void 0}function y(t,e){return("rgb"===e||"hsv"===e||"hsl"===e)&&(t=t.slice(0,3)),e+"("+t.join(",")+")"}var _={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};return{parse:h,lift:u,toHex:f,fastMapToColor:d,mapToColor:p,mapIntervalToColor:v,modifyHSL:g,modifyAlpha:m,stringify:y}}),define("zrender/animation/Animator",["require","./Clip","../tool/color","../core/util"],function(t){function e(t,e){return t[e]}function r(t,e,r){t[e]=r}function i(t,e,r){return(e-t)*r+t}function n(t,e,r){return r>.5?e:t}function a(t,e,r,n,a){var o=t.length;if(1==a)for(var s=0;o>s;s++)n[s]=i(t[s],e[s],r);else for(var h=t[0].length,s=0;o>s;s++)for(var c=0;h>c;c++)n[s][c]=i(t[s][c],e[s][c],r)}function o(t,e,r){var i=t.length,n=e.length;if(i!==n){var a=i>n;if(a)t.length=n;else for(var o=i;n>o;o++)t.push(1===r?e[o]:m.call(e[o]))}}function s(t,e,r){if(t===e)return!0;var i=t.length;if(i!==e.length)return!1;if(1===r){for(var n=0;i>n;n++)if(t[n]!==e[n])return!1}else for(var a=t[0].length,n=0;i>n;n++)for(var o=0;a>o;o++)if(t[n][o]!==e[n][o])return!1;return!0}function h(t,e,r,i,n,a,o,s,h){var l=t.length;if(1==h)for(var u=0;l>u;u++)s[u]=c(t[u],e[u],r[u],i[u],n,a,o);else for(var f=t[0].length,u=0;l>u;u++)for(var d=0;f>d;d++)s[u][d]=c(t[u][d],e[u][d],r[u][d],i[u][d],n,a,o)}function c(t,e,r,i,n,a,o){var s=.5*(r-t),h=.5*(i-e);return(2*(e-r)+s+h)*o+(-3*(e-r)-2*s-h)*a+s*n+e}function l(t){if(g(t)){var e=t.length;if(g(t[0])){for(var r=[],i=0;e>i;i++)r.push(m.call(t[i]));return r}return m.call(t)}return t}function u(t){return t[0]=Math.floor(t[0]),t[1]=Math.floor(t[1]),t[2]=Math.floor(t[2]),"rgba("+t.join(",")+")"}function f(t,e,r,l,f){var v=t._getter,m=t._setter,y="spline"===e,_=l.length;if(_){var x,b=l[0].value,w=g(b),T=!1,P=!1,z=w&&g(b[0])?2:1;l.sort(function(t,e){return t.time-e.time}),x=l[_-1].time;for(var M=[],k=[],C=l[0].value,S=!0,L=0;_>L;L++){M.push(l[L].time/x);var R=l[L].value;if(w&&s(R,C,z)||!w&&R===C||(S=!1),C=R,"string"==typeof R){var A=p.parse(R);A?(R=A,T=!0):P=!0}k.push(R)}if(!S){if(w){for(var q=k[_-1],L=0;_-1>L;L++)o(k[L],q,z);o(v(t._target,f),q,z)}var B,I,D,E,O,F,H=0,W=0;if(T)var j=[0,0,0,0];var V=function(t,e){var r;if(W>e){for(B=Math.min(H+1,_-1),r=B;r>=0&&!(M[r]<=e);r--);r=Math.min(r,_-2)}else{for(r=H;_>r&&!(M[r]>e);r++);r=Math.min(r-1,_-2)}H=r,W=e;var o=M[r+1]-M[r];if(0!==o)if(I=(e-M[r])/o,y)if(E=k[r],D=k[0===r?r:r-1],O=k[r>_-2?_-1:r+1],F=k[r>_-3?_-1:r+2],w)h(D,E,O,F,I,I*I,I*I*I,v(t,f),z);else{var s;if(T)s=h(D,E,O,F,I,I*I,I*I*I,j,1),s=u(j);else{if(P)return n(E,O,I);s=c(D,E,O,F,I,I*I,I*I*I)}m(t,f,s)}else if(w)a(k[r],k[r+1],I,v(t,f),z);else{var s;if(T)a(k[r],k[r+1],I,j,1),s=u(j);else{if(P)return n(k[r],k[r+1],I);s=i(k[r],k[r+1],I)}m(t,f,s)}},N=new d({target:t._target,life:x,loop:t._loop,delay:t._delay,onframe:V,ondestroy:r});return e&&"spline"!==e&&(N.easing=e),N}}}var d=t("./Clip"),p=t("../tool/color"),v=t("../core/util"),g=v.isArrayLike,m=Array.prototype.slice,y=function(t,i,n,a){this._tracks={},this._target=t,this._loop=i||!1,this._getter=n||e,this._setter=a||r, +this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};return y.prototype={when:function(t,e){var r=this._tracks;for(var i in e){if(!r[i]){r[i]=[];var n=this._getter(this._target,i);if(null==n)continue;0!==t&&r[i].push({time:0,value:l(n)})}r[i].push({time:t,value:e[i]})}return this},during:function(t){return this._onframeList.push(t),this},_doneCallback:function(){this._tracks={},this._clipList.length=0;for(var t=this._doneList,e=t.length,r=0;e>r;r++)t[r].call(this)},start:function(t){var e,r=this,i=0,n=function(){i--,i||r._doneCallback()};for(var a in this._tracks){var o=f(this,t,n,this._tracks[a],a);o&&(this._clipList.push(o),i++,this.animation&&this.animation.addClip(o),e=o)}if(e){var s=e.onframe;e.onframe=function(t,e){s(t,e);for(var i=0;i1)for(var t in arguments)console.log(arguments[t])}}),define("zrender/mixin/Animatable",["require","../animation/Animator","../core/util","../core/log"],function(t){var e=t("../animation/Animator"),r=t("../core/util"),i=r.isString,n=r.isFunction,a=r.isObject,o=t("../core/log"),s=function(){this.animators=[]};return s.prototype={constructor:s,animate:function(t,i){var n,a=!1,s=this,h=this.__zr;if(t){var c=t.split("."),l=s;a="shape"===c[0];for(var u=0,f=c.length;f>u;u++)l&&(l=l[c[u]]);l&&(n=l)}else n=s;if(!n)return void o('Property "'+t+'" is not existed in element '+s.id);var d=s.animators,p=new e(n,i);return p.during(function(t){s.dirty(a)}).done(function(){d.splice(r.indexOf(d,p),1)}),d.push(p),h&&h.animation.addAnimator(p),p},stopAnimation:function(t){for(var e=this.animators,r=e.length,i=0;r>i;i++)e[i].stop(t);return e.length=0,this},animateTo:function(t,e,r,a,o){function s(){c--,c||o&&o()}i(r)?(o=a,a=r,r=0):n(a)?(o=a,a="linear",r=0):n(r)?(o=r,r=0):n(e)?(o=e,e=500):e||(e=500),this.stopAnimation(),this._animateToShallow("",this,t,e,r,a,o);var h=this.animators.slice(),c=h.length;c||o&&o();for(var l=0;l0&&this.animate(t,!1).when(null==n?500:n,s).delay(o||0),this}},s}),define("zrender/Element",["require","./core/guid","./mixin/Eventful","./mixin/Transformable","./mixin/Animatable","./core/util"],function(t){var e=t("./core/guid"),r=t("./mixin/Eventful"),i=t("./mixin/Transformable"),n=t("./mixin/Animatable"),a=t("./core/util"),o=function(t){i.call(this,t),r.call(this,t),n.call(this,t),this.id=t.id||e()};return o.prototype={type:"element",name:"",__zr:null,ignore:!1,clipPath:null,drift:function(t,e){switch(this.draggable){case"horizontal":e=0;break;case"vertical":t=0}var r=this.transform;r||(r=this.transform=[1,0,0,1,0,0]),r[4]+=t,r[5]+=e,this.decomposeTransform(),this.dirty()},beforeUpdate:function(){},afterUpdate:function(){},update:function(){this.updateTransform()},traverse:function(t,e){},attrKV:function(t,e){if("position"===t||"scale"===t||"origin"===t){if(e){var r=this[t];r||(r=this[t]=[]),r[0]=e[0],r[1]=e[1]}}else this[t]=e},hide:function(){this.ignore=!0,this.__zr&&this.__zr.refresh()},show:function(){this.ignore=!1,this.__zr&&this.__zr.refresh()},attr:function(t,e){if("string"==typeof t)this.attrKV(t,e);else if(a.isObject(t))for(var r in t)t.hasOwnProperty(r)&&this.attrKV(r,t[r]);return this.dirty(),this},setClipPath:function(t){var e=this.__zr;e&&t.addSelfToZr(e),this.clipPath&&this.clipPath!==t&&this.removeClipPath(),this.clipPath=t,t.__zr=e,t.__clipTarget=this,this.dirty()},removeClipPath:function(){var t=this.clipPath;t&&(t.__zr&&t.removeSelfFromZr(t.__zr),t.__zr=null,t.__clipTarget=null,this.clipPath=null,this.dirty())},addSelfToZr:function(t){this.__zr=t;var e=this.animators;if(e)for(var r=0;ri||r>s||h>a||n>c)},contain:function(t,e){var r=this;return t>=r.x&&t<=r.x+r.width&&e>=r.y&&e<=r.y+r.height},clone:function(){return new e(this.x,this.y,this.width,this.height)},copy:function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height}},e}),define("zrender/container/Group",["require","../core/util","../Element","../core/BoundingRect"],function(t){var e=t("../core/util"),r=t("../Element"),i=t("../core/BoundingRect"),n=function(t){t=t||{},r.call(this,t);for(var e in t)this[e]=t[e];this._children=[],this.__storage=null,this.__dirty=!0};return n.prototype={constructor:n,type:"group",children:function(){return this._children.slice()},childAt:function(t){return this._children[t]},childOfName:function(t){for(var e=this._children,r=0;r=0&&(r.splice(i,0,t),this._doAdd(t))}return this},_doAdd:function(t){t.parent&&t.parent.remove(t),t.parent=this;var e=this.__storage,r=this.__zr;e&&e!==t.__storage&&(e.addToMap(t),t instanceof n&&t.addChildrenToStorage(e)),r&&r.refresh()},remove:function(t){var r=this.__zr,i=this.__storage,a=this._children,o=e.indexOf(a,t);return 0>o?this:(a.splice(o,1),t.parent=null,i&&(i.delFromMap(t.id),t instanceof n&&t.delChildrenFromStorage(i)),r&&r.refresh(),this)},removeAll:function(){var t,e,r=this._children,i=this.__storage;for(e=0;ei;i++){var a=t[i];this._updateAndAddDisplayable(a)}r.length=this._displayListLen;for(var i=0,n=r.length;n>i;i++)r[i].__renderidx=i;r.sort(e)},_updateAndAddDisplayable:function(t,e){if(!t.ignore){t.beforeUpdate(),t.update(),t.afterUpdate();var r=t.clipPath;if(r&&(r.parent=t,r.updateTransform(),e?(e=e.slice(),e.push(r)):e=[r]),"group"==t.type){for(var i=t._children,n=0;ne;e++)this.delRoot(t[e]);else{var o;o="string"==typeof t?this._elements[t]:t;var s=r.indexOf(this._roots,o);s>=0&&(this.delFromMap(o.id),this._roots.splice(s,1),o instanceof i&&o.delChildrenFromStorage(this))}},addToMap:function(t){return t instanceof i&&(t.__storage=this),t.dirty(),this._elements[t.id]=t,this},get:function(t){return this._elements[t]},delFromMap:function(t){var e=this._elements,r=e[t];return r&&(delete e[t],r instanceof i&&(r.__storage=null)),this},dispose:function(){this._elements=this._renderList=this._roots=null}},n}),define("zrender/animation/Animation",["require","../core/util","../core/event","./Animator"],function(t){var e=t("../core/util"),r=t("../core/event").Dispatcher,i="undefined"!=typeof window&&(window.requestAnimationFrame||window.msRequestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(t){setTimeout(t,16)},n=t("./Animator"),a=function(t){t=t||{},this.stage=t.stage||{},this.onframe=t.onframe||function(){},this._clips=[],this._running=!1,this._time=0,r.call(this)};return a.prototype={constructor:a,addClip:function(t){this._clips.push(t)},addAnimator:function(t){t.animation=this;for(var e=t.getClips(),r=0;r=0&&this._clips.splice(r,1)},removeAnimator:function(t){for(var e=t.getClips(),r=0;ro;o++){var s=r[o],h=s.step(t);h&&(n.push(h),a.push(s))}for(var o=0;i>o;)r[o]._needsRemove?(r[o]=r[i-1],r.pop(),i--):o++;i=n.length;for(var o=0;i>o;o++)a[o].fire(n[o]);this._time=t,this.onframe(e),this.trigger("frame",e),this.stage.update&&this.stage.update()},start:function(){function t(){e._running&&(i(t),e._update())}var e=this;this._running=!0,this._time=(new Date).getTime(),i(t)},stop:function(){this._running=!1},clear:function(){this._clips=[]},animate:function(t,e){e=e||{};var r=new n(t,e.loop,e.getter,e.setter);return r}},e.mixin(a,r),a}),define("zrender/Layer",["require","./core/util","./config"],function(t){function e(){return!1}function r(t,e,r,i){var n=document.createElement(e),a=r.getWidth(),o=r.getHeight(),s=n.style;return s.position="absolute",s.left=0,s.top=0,s.width=a+"px",s.height=o+"px",n.width=a*i,n.height=o*i,n.setAttribute("data-zr-dom-id",t),n}var i=t("./core/util"),n=t("./config"),a=function(t,a,o){var s;o=o||n.devicePixelRatio,"string"==typeof t?s=r(t,"canvas",a,o):i.isObject(t)&&(s=t,t=s.id),this.id=t,this.dom=s;var h=s.style;h&&(s.onselectstart=e,h["-webkit-user-select"]="none",h["user-select"]="none",h["-webkit-touch-callout"]="none",h["-webkit-tap-highlight-color"]="rgba(0,0,0,0)"),this.domBack=null,this.ctxBack=null,this.painter=a,this.config=null,this.clearColor=0,this.motionBlur=!1,this.lastFrameAlpha=.7,this.dpr=o};return a.prototype={constructor:a,elCount:0,__dirty:!0,initContext:function(){this.ctx=this.dom.getContext("2d");var t=this.dpr;1!=t&&this.ctx.scale(t,t)},createBackBuffer:function(){var t=this.dpr;this.domBack=r("back-"+this.id,"canvas",this.painter,t),this.ctxBack=this.domBack.getContext("2d"),1!=t&&this.ctxBack.scale(t,t)},resize:function(t,e){var r=this.dpr,i=this.dom,n=i.style,a=this.domBack;n.width=t+"px",n.height=e+"px",i.width=t*r,i.height=e*r,1!=r&&this.ctx.scale(r,r),a&&(a.width=t*r,a.height=e*r,1!=r&&this.ctxBack.scale(r,r))},clear:function(t){var e=this.dom,r=this.ctx,i=e.width,n=e.height,a=this.clearColor,o=this.motionBlur&&!t,s=this.lastFrameAlpha,h=this.dpr;if(o&&(this.domBack||this.createBackBuffer(),this.ctxBack.globalCompositeOperation="copy",this.ctxBack.drawImage(e,0,0,i/h,n/h)),r.clearRect(0,0,i/h,n/h),a&&(r.save(),r.fillStyle=this.clearColor,r.fillRect(0,0,i/h,n/h),r.restore()),o){var c=this.domBack;r.save(),r.globalAlpha=s,r.drawImage(c,0,0,i/h,n/h),r.restore()}}},a}),define("zrender/graphic/Style",["require"],function(t){var e=["lineCap","lineJoin","miterLimit","shadowBlur","shadowOffsetX","shadowOffsetY","shadowColor"],r=function(t){this.extendFrom(t)};r.prototype={constructor:r,fill:"#000000",stroke:null,opacity:1,lineDash:null,lineDashOffset:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,lineWidth:1,strokeNoScale:!1,text:null,textFill:"#000",textStroke:null,textPosition:"inside",textBaseline:null,textAlign:null,textDistance:5,textShadowBlur:0,textShadowOffsetX:0,textShadowOffsetY:0,bind:function(t,r){for(var i=this.fill,n=this.stroke,a=0;aa;a++)n=Math.max(f.measureText(i[a],e).width,n);return h>c&&(h=0,s={}),h++,s[r]=n,n}function r(t,r,i,n){var a=((t||"")+"").split("\n").length,o=e(t,r),s=e("国",r),h=a*s,c=new u(0,0,o,h);switch(c.lineHeight=s,n){case"bottom":case"alphabetic":c.y-=s;break;case"middle":c.y-=s/2}switch(i){case"end":case"right":c.x-=c.width;break;case"center":c.x-=c.width/2}return c}function i(t,e,r,i){var n=e.x,a=e.y,o=e.height,s=e.width,h=r.height,c=o/2-h/2,l="left";switch(t){case"left":n-=i,a+=c,l="right";break;case"right":n+=i+s,a+=c,l="left";break;case"top":n+=s/2,a-=i+h,l="center";break;case"bottom":n+=s/2,a+=o+i,l="center";break;case"inside":n+=s/2,a+=c,l="center";break;case"insideLeft":n+=i,a+=c,l="left";break;case"insideRight":n+=s-i,a+=c,l="right";break;case"insideTop":n+=s/2,a+=i,l="center";break;case"insideBottom":n+=s/2,a+=o-h-i,l="center";break;case"insideTopLeft":n+=i,a+=i,l="left";break;case"insideTopRight":n+=s-i,a+=i,l="right";break;case"insideBottomLeft":n+=i,a+=o-h-i;break;case"insideBottomRight":n+=s-i,a+=o-h-i,l="right"}return{x:n,y:a,textAlign:l,textBaseline:"top"}}function n(t,r,i,n){if(!i)return"";n=l.defaults({ellipsis:"...",minCharacters:3,maxIterations:3,cnCharWidth:e("国",r),ascCharWidth:e("a",r)},n,!0),i-=e(n.ellipsis);for(var o=(t+"").split("\n"),s=0,h=o.length;h>s;s++)o[s]=a(o[s],r,i,n);return o.join("\n")}function a(t,r,i,n){for(var a=0;;a++){var s=e(t,r);if(i>s||a>=n.maxIterations){t+=n.ellipsis;break}var h=0===a?o(t,i,n):Math.floor(t.length*i/s);if(hn&&e>i;n++){var o=t.charCodeAt(n);i+=o>=0&&127>=o?r.ascCharWidth:r.cnCharWidth}return n}var s={},h=0,c=5e3,l=t("../core/util"),u=t("../core/BoundingRect"),f={getWidth:e,getBoundingRect:r,adjustTextPositionOnRect:i,ellipsis:n,measureText:function(t,e){var r=l.getContext();return r.font=e,r.measureText(t)}};return f}),define("zrender/graphic/mixin/RectText",["require","../../contain/text","../../core/BoundingRect"],function(t){function e(t,e){return"string"==typeof t?t.lastIndexOf("%")>=0?parseFloat(t)/100*e:parseFloat(t):t}function r(t,e){t.transform(e[0],e[1],e[2],e[3],e[4],e[5])}var i=t("../../contain/text"),n=t("../../core/BoundingRect"),a=new n,o=function(){};return o.prototype={constructor:o,drawRectText:function(t,n,o){var s=this.style,h=s.text;if(null!=h&&(h+=""),h){var c,l,u=s.textPosition,f=s.textDistance,d=s.textAlign,p=s.textFont||s.font,v=s.textBaseline;o=o||i.getBoundingRect(h,p,d,v);var g=this.transform,m=this.invTransform;if(g&&(a.copy(n),a.applyTransform(g),n=a,r(t,m)),u instanceof Array)c=n.x+e(u[0],n.width),l=n.y+e(u[1],n.height),d=d||"left",v=v||"top";else{var y=i.adjustTextPositionOnRect(u,n,o,f);c=y.x,l=y.y,d=d||y.textAlign,v=v||y.textBaseline}t.textAlign=d,t.textBaseline=v;var _=s.textFill,x=s.textStroke;_&&(t.fillStyle=_),x&&(t.strokeStyle=x),t.font=p,t.shadowColor=s.textShadowColor,t.shadowBlur=s.textShadowBlur,t.shadowOffsetX=s.textShadowOffsetX,t.shadowOffsetY=s.textShadowOffsetY;for(var b=h.split("\n"),w=0;wh&&(o+=h,h=-h),0>c&&(s+=c,c=-c),"number"==typeof l?r=i=n=a=l:l instanceof Array?1===l.length?r=i=n=a=l[0]:2===l.length?(r=n=l[0],i=a=l[1]):3===l.length?(r=l[0],i=a=l[1],n=l[2]):(r=l[0],i=l[1],n=l[2],a=l[3]):r=i=n=a=0;var u;r+i>h&&(u=r+i,r*=h/u,i*=h/u),n+a>h&&(u=n+a,n*=h/u,a*=h/u),i+n>c&&(u=i+n,i*=c/u,n*=c/u),r+a>c&&(u=r+a,r*=c/u,a*=c/u),t.moveTo(o+r,s),t.lineTo(o+h-i,s),0!==i&&t.quadraticCurveTo(o+h,s,o+h,s+i),t.lineTo(o+h,s+c-n),0!==n&&t.quadraticCurveTo(o+h,s+c,o+h-n,s+c),t.lineTo(o+a,s+c),0!==a&&t.quadraticCurveTo(o,s+c,o,s+c-a),t.lineTo(o,s+r),0!==r&&t.quadraticCurveTo(o,s,o+r,s)}}}),define("zrender/core/LRU",["require"],function(t){var e=function(){this.head=null,this.tail=null,this._len=0},r=e.prototype;r.insert=function(t){var e=new i(t);return this.insertEntry(e),e},r.insertEntry=function(t){this.head?(this.tail.next=t,t.prev=this.tail,this.tail=t):this.head=this.tail=t,this._len++},r.remove=function(t){var e=t.prev,r=t.next;e?e.next=r:this.head=r,r?r.prev=e:this.tail=e,t.next=t.prev=null,this._len--},r.len=function(){return this._len};var i=function(t){this.value=t,this.next,this.prev},n=function(t){this._list=new e,this._map={},this._maxSize=t||10},a=n.prototype;return a.put=function(t,e){var r=this._list,i=this._map;if(null==i[t]){var n=r.len();if(n>=this._maxSize&&n>0){var a=r.head;r.remove(a),delete i[a.key]}var o=r.insert(e);o.key=t,i[t]=o}},a.get=function(t){var e=this._map[t],r=this._list;return null!=e?(e!==r.tail&&(r.remove(e),r.insertEntry(e)),e.value):void 0},a.clear=function(){this._list.clear(),this._map={}},n}),define("zrender/graphic/Image",["require","./Displayable","../core/BoundingRect","../core/util","./helper/roundRect","../core/LRU"],function(t){var e=t("./Displayable"),r=t("../core/BoundingRect"),i=t("../core/util"),n=t("./helper/roundRect"),a=t("../core/LRU"),o=new a(50),s=function(t){e.call(this,t)};return s.prototype={constructor:s,type:"image",brush:function(t){var e,r=this.style,i=r.image;if(e="string"==typeof i?this._image:i,!e&&i){var a=o.get(i);if(!a)return e=new Image,e.onload=function(){e.onload=null;for(var t=0;tp;p++){var g=t[p],m=this._singleCanvas?0:g.zlevel;if(h!==m&&(h=m,r=this.getLayer(h),r.isBuildin||l("ZLevel "+h+" has been used by unkown layer "+r.id),c=r.ctx,r.__unusedCount=0,(r.__dirty||e)&&r.clear()),(r.__dirty||e)&&!g.invisible&&0!==g.style.opacity&&g.scale[0]&&g.scale[1]&&(!g.culling||!a(g,u,f))){var y=g.__clipPaths;o(y,d)&&(d&&c.restore(),y&&(c.save(),s(y,c)),d=y),g.beforeBrush&&g.beforeBrush(c),g.brush(c,!1),g.afterBrush&&g.afterBrush(c)}g.__dirty=!1}d&&c.restore(),this.eachBuildinLayer(n)},getLayer:function(t){if(this._singleCanvas)return this._layers[0];var e=this._layers[t];return e||(e=new f("zr_"+t,this,this.dpr),e.isBuildin=!0,this._layerConfig[t]&&c.merge(e,this._layerConfig[t],!0),this.insertLayer(t,e),e.initContext()),e},insertLayer:function(t,e){var i=this._layers,n=this._zlevelList,a=n.length,o=null,s=-1,h=this._domRoot;if(i[t])return void l("ZLevel "+t+" has been used already");if(!r(e))return void l("Layer of zlevel "+t+" is not valid");if(a>0&&t>n[0]){for(s=0;a-1>s&&!(n[s]t);s++);o=i[n[s]]}if(n.splice(s+1,0,t),o){var c=o.dom;c.nextSibling?h.insertBefore(e.dom,c.nextSibling):h.appendChild(e.dom)}else h.firstChild?h.insertBefore(e.dom,h.firstChild):h.appendChild(e.dom);i[t]=e},eachLayer:function(t,e){var r,i,n=this._zlevelList;for(i=0;ii;i++){var a=t[i],o=this._singleCanvas?0:a.zlevel,s=e[o];if(s){if(s.elCount++,s.__dirty)continue;s.__dirty=a.__dirty}}this.eachBuildinLayer(function(t,e){r[e]!==t.elCount&&(t.__dirty=!0)})},clear:function(){return this.eachBuildinLayer(this._clearLayer),this},_clearLayer:function(t){t.clear()},configLayer:function(t,e){if(e){var r=this._layerConfig;r[t]?c.merge(r[t],e,!0):r[t]=e;var i=this._layers[t];i&&c.merge(i,r[t],!0)}},delLayer:function(t){var e=this._layers,r=this._zlevelList,i=e[t];i&&(i.dom.parentNode.removeChild(i.dom),delete e[t],r.splice(c.indexOf(r,t),1))},resize:function(t,e){var r=this._domRoot;if(r.style.display="none",t=t||this._getWidth(),e=e||this._getHeight(),r.style.display="",this._width!=t||e!=this._height){r.style.width=t+"px",r.style.height=e+"px";for(var i in this._layers)this._layers[i].resize(t,e);this.refresh(!0)}return this._width=t,this._height=e,this},clearLayer:function(t){var e=this._layers[t];e&&e.clear()},dispose:function(){this.root.innerHTML="",this.root=this.storage=this._domRoot=this._layers=null},getRenderedCanvas:function(t){if(t=t||{},this._singleCanvas)return this._layers[0].dom;var e=new f("image",this,t.pixelRatio||this.dpr);e.initContext();var r=e.ctx;e.clearColor=t.backgroundColor,e.clear();for(var i=this.storage.getDisplayList(!0),n=0;n-x&&x>t}function r(t){return t>x||-x>t}function i(t,e,r,i,n){var a=1-n;return a*a*(a*t+3*n*e)+n*n*(n*i+3*a*r)}function n(t,e,r,i,n){var a=1-n;return 3*(((e-t)*a+2*(r-e)*n)*a+(i-r)*n*n)}function a(t,r,i,n,a,o){var s=n+3*(r-i)-t,h=3*(i-2*r+t),c=3*(r-t),l=t-a,u=h*h-3*s*c,f=h*c-9*s*l,d=c*c-3*h*l,p=0;if(e(u)&&e(f))if(e(h))o[0]=0;else{var v=-c/h;v>=0&&1>=v&&(o[p++]=v)}else{var g=f*f-4*u*d;if(e(g)){var m=f/u,v=-h/s+m,x=-m/2;v>=0&&1>=v&&(o[p++]=v),x>=0&&1>=x&&(o[p++]=x)}else if(g>0){var T=_(g),P=u*h+1.5*s*(-f+T),z=u*h+1.5*s*(-f-T);P=0>P?-y(-P,w):y(P,w),z=0>z?-y(-z,w):y(z,w);var v=(-h-(P+z))/(3*s);v>=0&&1>=v&&(o[p++]=v)}else{var M=(2*u*h-3*s*f)/(2*_(u*u*u)),k=Math.acos(M)/3,C=_(u),S=Math.cos(k),v=(-h-2*C*S)/(3*s),x=(-h+C*(S+b*Math.sin(k)))/(3*s),L=(-h+C*(S-b*Math.sin(k)))/(3*s);v>=0&&1>=v&&(o[p++]=v),x>=0&&1>=x&&(o[p++]=x),L>=0&&1>=L&&(o[p++]=L)}}return p}function o(t,i,n,a,o){var s=6*n-12*i+6*t,h=9*i+3*a-3*t-9*n,c=3*i-3*t,l=0;if(e(h)){if(r(s)){var u=-c/s;u>=0&&1>=u&&(o[l++]=u)}}else{var f=s*s-4*h*c;if(e(f))o[0]=-s/(2*h);else if(f>0){var d=_(f),u=(-s+d)/(2*h),p=(-s-d)/(2*h);u>=0&&1>=u&&(o[l++]=u),p>=0&&1>=p&&(o[l++]=p)}}return l}function s(t,e,r,i,n,a){var o=(e-t)*n+t,s=(r-e)*n+e,h=(i-r)*n+r,c=(s-o)*n+o,l=(h-s)*n+s,u=(l-c)*n+c;a[0]=t,a[1]=o,a[2]=c,a[3]=u,a[4]=u,a[5]=l,a[6]=h,a[7]=i}function h(t,e,r,n,a,o,s,h,c,l,u){var f,d,p,v,g,y=.005,b=1/0;T[0]=c,T[1]=l;for(var w=0;1>w;w+=.05)P[0]=i(t,r,a,s,w),P[1]=i(e,n,o,h,w),v=m(T,P),b>v&&(f=w,b=v);b=1/0;for(var M=0;32>M&&!(x>y);M++)d=f-y,p=f+y,P[0]=i(t,r,a,s,d),P[1]=i(e,n,o,h,d),v=m(P,T),d>=0&&b>v?(f=d,b=v):(z[0]=i(t,r,a,s,p),z[1]=i(e,n,o,h,p),g=m(z,T),1>=p&&b>g?(f=p,b=g):y*=.5);return u&&(u[0]=i(t,r,a,s,f),u[1]=i(e,n,o,h,f)),_(b)}function c(t,e,r,i){var n=1-i;return n*(n*t+2*i*e)+i*i*r}function l(t,e,r,i){return 2*((1-i)*(e-t)+i*(r-e))}function u(t,i,n,a,o){var s=t-2*i+n,h=2*(i-t),c=t-a,l=0;if(e(s)){if(r(h)){var u=-c/h;u>=0&&1>=u&&(o[l++]=u)}}else{var f=h*h-4*s*c;if(e(f)){var u=-h/(2*s);u>=0&&1>=u&&(o[l++]=u)}else if(f>0){var d=_(f),u=(-h+d)/(2*s),p=(-h-d)/(2*s);u>=0&&1>=u&&(o[l++]=u),p>=0&&1>=p&&(o[l++]=p)}}return l}function f(t,e,r){var i=t+r-2*e;return 0===i?.5:(t-e)/i}function d(t,e,r,i,n){var a=(e-t)*i+t,o=(r-e)*i+e,s=(o-a)*i+a;n[0]=t,n[1]=a,n[2]=s,n[3]=s,n[4]=o,n[5]=r}function p(t,e,r,i,n,a,o,s,h){var l,u=.005,f=1/0;T[0]=o,T[1]=s;for(var d=0;1>d;d+=.05){P[0]=c(t,r,n,d),P[1]=c(e,i,a,d);var p=m(T,P);f>p&&(l=d,f=p)}f=1/0;for(var v=0;32>v&&!(x>u);v++){var g=l-u,y=l+u;P[0]=c(t,r,n,g),P[1]=c(e,i,a,g);var p=m(P,T);if(g>=0&&f>p)l=g,f=p;else{z[0]=c(t,r,n,y),z[1]=c(e,i,a,y);var b=m(z,T);1>=y&&f>b?(l=y,f=b):u*=.5}}return h&&(h[0]=c(t,r,n,l),h[1]=c(e,i,a,l)),_(f)}var v=t("./vector"),g=v.create,m=v.distSquare,y=Math.pow,_=Math.sqrt,x=1e-4,b=_(3),w=1/3,T=g(),P=g(),z=g();return{cubicAt:i,cubicDerivativeAt:n,cubicRootAt:a,cubicExtrema:o,cubicSubdivide:s,cubicProjectPoint:h,quadraticAt:c,quadraticDerivativeAt:l,quadraticRootAt:u,quadraticExtremum:f,quadraticSubdivide:d,quadraticProjectPoint:p}}),define("zrender/core/bbox",["require","./vector","./curve"],function(t){var e=t("./vector"),r=t("./curve"),i={},n=Math.min,a=Math.max,o=Math.sin,s=Math.cos,h=e.create(),c=e.create(),l=e.create(),u=2*Math.PI;return i.fromPoints=function(t,e,r){if(0!==t.length){var i,o=t[0],s=o[0],h=o[0],c=o[1],l=o[1];for(i=1;im;m++)y[m]=b(t,i,s,c,y[m]);for(w=x(e,o,h,l,_),m=0;w>m;m++)_[m]=b(e,o,h,l,_[m]);y.push(t,c),_.push(e,l),d=n.apply(null,y),p=a.apply(null,y),v=n.apply(null,_),g=a.apply(null,_),u[0]=d,u[1]=v,f[0]=p,f[1]=g},i.fromQuadratic=function(t,e,i,o,s,h,c,l){var u=r.quadraticExtremum,f=r.quadraticAt,d=a(n(u(t,i,s),1),0),p=a(n(u(e,o,h),1),0),v=f(t,i,s,d),g=f(e,o,h,p);c[0]=n(t,s,v),c[1]=n(e,h,g),l[0]=a(t,s,v),l[1]=a(e,h,g)},i.fromArc=function(t,r,i,n,a,f,d,p,v){var g=e.min,m=e.max,y=Math.abs(a-f);if(1e-4>y%u&&y>1e-4)return p[0]=t-i,p[1]=r-n,v[0]=t+i,void(v[1]=r+n);if(h[0]=s(a)*i+t,h[1]=o(a)*n+r,c[0]=s(f)*i+t,c[1]=o(f)*n+r,g(p,h,c),m(v,h,c),a%=u,0>a&&(a+=u),f%=u,0>f&&(f+=u),a>f&&!d?f+=u:f>a&&d&&(a+=u),d){var _=f;f=a,a=_}for(var x=0;f>x;x+=Math.PI/2)x>a&&(l[0]=s(x)*i+t,l[1]=o(x)*n+r,g(p,l,p),m(v,l,v))},i}),define("zrender/core/PathProxy",["require","./curve","./vector","./bbox","./BoundingRect"],function(t){var e=t("./curve"),r=t("./vector"),i=t("./bbox"),n=t("./BoundingRect"),a={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},o=[],s=[],h=[],c=[],l=Math.min,u=Math.max,f=Math.cos,d=Math.sin,p=Math.sqrt,v="undefined"!=typeof Float32Array,g=function(){this.data=[],this._len=0,this._ctx=null,this._xi=0,this._yi=0,this._x0=0,this._y0=0};return g.prototype={constructor:g,_lineDash:null,_dashOffset:0,_dashIdx:0,_dashSum:0,getContext:function(){return this._ctx},beginPath:function(t){return this._ctx=t,t&&t.beginPath(),this._len=0,this._lineDash&&(this._lineDash=null,this._dashOffset=0),this},moveTo:function(t,e){return this.addData(a.M,t,e),this._ctx&&this._ctx.moveTo(t,e),this._x0=t,this._y0=e,this._xi=t,this._yi=e,this},lineTo:function(t,e){return this.addData(a.L,t,e),this._ctx&&(this._needsDash()?this._dashedLineTo(t,e):this._ctx.lineTo(t,e)),this._xi=t,this._yi=e,this},bezierCurveTo:function(t,e,r,i,n,o){return this.addData(a.C,t,e,r,i,n,o),this._ctx&&(this._needsDash()?this._dashedBezierTo(t,e,r,i,n,o):this._ctx.bezierCurveTo(t,e,r,i,n,o)),this._xi=n,this._yi=o,this},quadraticCurveTo:function(t,e,r,i){return this.addData(a.Q,t,e,r,i),this._ctx&&(this._needsDash()?this._dashedQuadraticTo(t,e,r,i):this._ctx.quadraticCurveTo(t,e,r,i)),this._xi=r,this._yi=i,this},arc:function(t,e,r,i,n,o){return this.addData(a.A,t,e,r,r,i,n-i,0,o?0:1),this._ctx&&this._ctx.arc(t,e,r,i,n,o),this._xi=f(n)*r+t,this._xi=d(n)*r+t,this},arcTo:function(t,e,r,i,n){return this._ctx&&this._ctx.arcTo(t,e,r,i,n),this},rect:function(t,e,r,i){return this._ctx&&this._ctx.rect(t,e,r,i),this.addData(a.R,t,e,r,i),this},closePath:function(){this.addData(a.Z);var t=this._ctx,e=this._x0,r=this._y0;return t&&(this._needsDash()&&this._dashedLineTo(e,r),t.closePath()),this._xi=e,this._yi=r,this},fill:function(t){t&&t.fill(),this.toStatic()},stroke:function(t){t&&t.stroke(),this.toStatic()},setLineDash:function(t){if(t instanceof Array){this._lineDash=t,this._dashIdx=0;for(var e=0,r=0;rr;r++)this.data[r]=t[r];this._len=e},appendPath:function(t){t instanceof Array||(t=[t]);for(var e=t.length,r=0,i=this._len,n=0;e>n;n++)r+=t[n].len();v&&this.data instanceof Float32Array&&(this.data=new Float32Array(i+r));for(var n=0;e>n;n++)for(var a=t[n].data,o=0;oe.length&&(this._expandData(),e=this.data);for(var r=0;ra&&(a=n+a),a%=n,g-=a*f,m-=a*d;f>=0&&t>=g||0>f&&g>t;)i=this._dashIdx,r=o[i],g+=f*r,m+=d*r,this._dashIdx=(i+1)%y,f>0&&h>g||0>f&&g>h||s[i%2?"moveTo":"lineTo"](f>=0?l(g,t):u(g,t),d>=0?l(m,e):u(m,e));f=g-t,d=m-e,this._dashOffset=-p(f*f+d*d)},_dashedBezierTo:function(t,r,i,n,a,o){var s,h,c,l,u,f=this._dashSum,d=this._dashOffset,v=this._lineDash,g=this._ctx,m=this._xi,y=this._yi,_=e.cubicAt,x=0,b=this._dashIdx,w=v.length,T=0;for(0>d&&(d=f+d),d%=f,s=0;1>s;s+=.1)h=_(m,t,i,a,s+.1)-_(m,t,i,a,s),c=_(y,r,n,o,s+.1)-_(y,r,n,o,s),x+=p(h*h+c*c);for(;w>b&&(T+=v[b],!(T>d));b++);for(s=(T-d)/x;1>=s;)l=_(m,t,i,a,s),u=_(y,r,n,o,s),b%2?g.moveTo(l,u):g.lineTo(l,u),s+=v[b]/x,b=(b+1)%w;b%2!==0&&g.lineTo(a,o),h=a-l,c=o-u,this._dashOffset=-p(h*h+c*c)},_dashedQuadraticTo:function(t,e,r,i){var n=r,a=i;r=(r+2*t)/3,i=(i+2*e)/3,t=(this._xi+2*t)/3,e=(this._yi+2*e)/3,this._dashedBezierTo(t,e,r,i,n,a)},toStatic:function(){this.data.length=this._len,v&&this.data instanceof Array&&(this.data=new Float32Array(this.data))},getBoundingRect:function(){o[0]=o[1]=h[0]=h[1]=Number.MAX_VALUE,s[0]=s[1]=c[0]=c[1]=-Number.MAX_VALUE;for(var t=this.data,e=0,l=0,u=0,p=0,v=0;vh?s:h,p=s>h?1:s/h,v=s>h?h/s:1,g=Math.abs(s-h)>.001;g?(t.translate(n,o),t.rotate(u),t.scale(p,v),t.arc(0,0,d,c,c+l,1-f),t.scale(1/p,1/v),t.rotate(-u),t.translate(-n,-o)):t.arc(n,o,d,c,c+l,1-f);break;case a.R:t.rect(e[r++],e[r++],e[r++],e[r++]);break;case a.Z:t.closePath()}}}},g.CMD=a,g}),define("zrender/contain/line",[],function(){return{containStroke:function(t,e,r,i,n,a,o){if(0===n)return!1;var s=n,h=0,c=t;if(o>e+s&&o>i+s||e-s>o&&i-s>o||a>t+s&&a>r+s||t-s>a&&r-s>a)return!1;if(t===r)return Math.abs(a-t)<=s/2;h=(e-i)/(t-r),c=(t*i-r*e)/(t-r);var l=h*a-o+c,u=l*l/(h*h+1);return s/2*s/2>=u}}}),define("zrender/contain/cubic",["require","../core/curve"],function(t){var e=t("../core/curve");return{containStroke:function(t,r,i,n,a,o,s,h,c,l,u){if(0===c)return!1;var f=c;if(u>r+f&&u>n+f&&u>o+f&&u>h+f||r-f>u&&n-f>u&&o-f>u&&h-f>u||l>t+f&&l>i+f&&l>a+f&&l>s+f||t-f>l&&i-f>l&&a-f>l&&s-f>l)return!1;var d=e.cubicProjectPoint(t,r,i,n,a,o,s,h,l,u,null);return f/2>=d}}}),define("zrender/contain/quadratic",["require","../core/curve"],function(t){var e=t("../core/curve");return{containStroke:function(t,r,i,n,a,o,s,h,c){if(0===s)return!1;var l=s;if(c>r+l&&c>n+l&&c>o+l||r-l>c&&n-l>c&&o-l>c||h>t+l&&h>i+l&&h>a+l||t-l>h&&i-l>h&&a-l>h)return!1;var u=e.quadraticProjectPoint(t,r,i,n,a,o,h,c,null);return l/2>=u}}}),define("zrender/contain/util",["require"],function(t){var e=2*Math.PI;return{normalizeRadian:function(t){return t%=e,0>t&&(t+=e),t}}}),define("zrender/contain/arc",["require","./util"],function(t){var e=t("./util").normalizeRadian,r=2*Math.PI;return{containStroke:function(t,i,n,a,o,s,h,c,l){if(0===h)return!1;var u=h;c-=t,l-=i;var f=Math.sqrt(c*c+l*l);if(f-u>n||n>f+u)return!1;if(Math.abs(a-o)%r<1e-4)return!0;if(s){var d=a;a=e(o),o=e(d)}else a=e(a),o=e(o);a>o&&(o+=r);var p=Math.atan2(l,c);return 0>p&&(p+=r),p>=a&&o>=p||p+r>=a&&o>=p+r}}}),define("zrender/contain/windingLine",[],function(){return function(t,e,r,i,n,a){if(a>e&&a>i||e>a&&i>a)return 0;if(i===e)return 0;var o=e>i?1:-1,s=(a-e)/(i-e),h=s*(r-t)+t;return h>n?o:0}}),define("zrender/contain/path",["require","../core/PathProxy","./line","./cubic","./quadratic","./arc","./util","../core/curve","./windingLine"],function(t){function e(t,e){return Math.abs(t-e)e&&l>n&&l>o&&l>h||e>l&&n>l&&o>l&&h>l)return 0;var u=d.cubicRootAt(e,n,o,h,l,y);if(0===u)return 0;for(var f,p,v=0,g=-1,m=0;u>m;m++){var x=y[m],b=d.cubicAt(t,i,a,s,x);c>b||(0>g&&(g=d.cubicExtrema(e,n,o,h,_),_[1]<_[0]&&g>1&&r(),f=d.cubicAt(e,n,o,h,_[0]),g>1&&(p=d.cubicAt(e,n,o,h,_[1]))),v+=2==g?x<_[0]?e>f?1:-1:x<_[1]?f>p?1:-1:p>h?1:-1:x<_[0]?e>f?1:-1:f>h?1:-1)}return v}function n(t,e,r,i,n,a,o,s){if(s>e&&s>i&&s>a||e>s&&i>s&&a>s)return 0;var h=d.quadraticRootAt(e,i,a,s,y);if(0===h)return 0;var c=d.quadraticExtremum(e,i,a);if(c>=0&&1>=c){for(var l=0,u=d.quadraticAt(e,i,a,c),f=0;h>f;f++){var p=d.quadraticAt(t,r,n,y[f]);p>o||(l+=y[f]u?1:-1:u>a?1:-1)}return l}var p=d.quadraticAt(t,r,n,y[0]);return p>o?0:e>a?1:-1}function a(t,e,r,i,n,a,o,s){if(s-=e,s>r||-r>s)return 0;var h=Math.sqrt(r*r-s*s);y[0]=-h,y[1]=h;var c=Math.abs(i-n);if(1e-4>c)return 0;if(1e-4>c%g){i=0,n=g;var l=a?1:-1;return o>=y[0]+t&&o<=y[1]+t?l:0}if(a){var h=i;i=f(n),n=f(h)}else i=f(i),n=f(n);i>n&&(n+=g);for(var u=0,d=0;2>d;d++){var p=y[d];if(p+t>o){var v=Math.atan2(s,p),l=a?1:-1;0>v&&(v=g+v),(v>=i&&n>=v||v+g>=i&&n>=v+g)&&(v>Math.PI/2&&v<1.5*Math.PI&&(l=-l),u+=l)}}return u}function o(t,r,o,h,f){for(var d=0,g=0,m=0,y=0,_=0,x=0;x1&&(o||(d+=p(g,m,y,_,h,f)),0!==d))return!0;switch(1==x&&(g=t[x],m=t[x+1],y=g,_=m),b){case s.M:y=t[x++],_=t[x++],g=y,m=_;break;case s.L:if(o){if(v(g,m,t[x],t[x+1],r,h,f))return!0}else d+=p(g,m,t[x],t[x+1],h,f)||0;g=t[x++],m=t[x++];break;case s.C:if(o){if(c.containStroke(g,m,t[x++],t[x++],t[x++],t[x++],t[x],t[x+1],r,h,f))return!0}else d+=i(g,m,t[x++],t[x++],t[x++],t[x++],t[x],t[x+1],h,f)||0;g=t[x++],m=t[x++];break;case s.Q:if(o){if(l.containStroke(g,m,t[x++],t[x++],t[x],t[x+1],r,h,f))return!0}else d+=n(g,m,t[x++],t[x++],t[x],t[x+1],h,f)||0;g=t[x++],m=t[x++];break;case s.A:var w=t[x++],T=t[x++],P=t[x++],z=t[x++],M=t[x++],k=t[x++],C=(t[x++],1-t[x++]),S=Math.cos(M)*P+w,L=Math.sin(M)*z+T;x>1?d+=p(g,m,S,L,h,f):(y=S,_=L);var R=(h-w)*z/P+w;if(o){if(u.containStroke(w,T,z,M,M+k,C,r,R,f))return!0}else d+=a(w,T,z,M,M+k,C,R,f);g=Math.cos(M+k)*P+w,m=Math.sin(M+k)*z+T;break;case s.R:y=g=t[x++],_=m=t[x++];var A=t[x++],q=t[x++],S=y+A,L=_+q;if(o){if(v(y,_,S,_,r,h,f)||v(S,_,S,L,r,h,f)||v(S,L,y,L,r,h,f)||v(y,L,S,L,r,h,f))return!0}else d+=p(S,_,S,L,h,f),d+=p(y,L,y,_,h,f);break;case s.Z:if(o){if(v(g,m,y,_,r,h,f))return!0}else if(d+=p(g,m,y,_,h,f),0!==d)return!0;g=y,m=_}}return o||e(m,_)||(d+=p(g,m,y,_,h,f)||0),0!==d}var s=t("../core/PathProxy").CMD,h=t("./line"),c=t("./cubic"),l=t("./quadratic"),u=t("./arc"),f=t("./util").normalizeRadian,d=t("../core/curve"),p=t("./windingLine"),v=h.containStroke,g=2*Math.PI,m=1e-4,y=[-1,-1,-1],_=[-1,-1];return{contain:function(t,e,r){return o(t,0,!1,e,r)},containStroke:function(t,e,r,i){return o(t,e,!0,r,i)}}}),define("zrender/graphic/Path",["require","./Displayable","../core/util","../core/PathProxy","../contain/path","./Gradient"],function(t){function e(t){var e=t.fill;return null!=e&&"none"!==e}function r(t){var e=t.stroke;return null!=e&&"none"!==e&&t.lineWidth>0}function i(t){n.call(this,t),this.path=new o}var n=t("./Displayable"),a=t("../core/util"),o=t("../core/PathProxy"),s=t("../contain/path"),h=t("./Gradient"),c=Math.abs;return i.prototype={constructor:i,type:"path",__dirtyPath:!0,strokeContainThreshold:5,brush:function(t){t.save();var i=this.style,n=this.path,a=r(i),o=e(i);this.__dirtyPath&&(o&&i.fill instanceof h&&i.fill.updateCanvasGradient(this,t),a&&i.stroke instanceof h&&i.stroke.updateCanvasGradient(this,t)),i.bind(t,this),this.setTransform(t);var s=i.lineDash,c=i.lineDashOffset,l=!!t.setLineDash;this.__dirtyPath||s&&!l&&a?(n=this.path.beginPath(t),s&&!l&&(n.setLineDash(s),n.setLineDashOffset(c)),this.buildPath(n,this.shape),this.__dirtyPath=!1):(t.beginPath(),this.path.rebuildPath(t)),o&&n.fill(t),s&&l&&(t.setLineDash(s),t.lineDashOffset=c),a&&n.stroke(t),null!=i.text&&this.drawRectText(t,this.getBoundingRect()),t.restore()},buildPath:function(t,e){},getBoundingRect:function(){var t=this._rect,i=this.style;if(!t){var n=this.path;this.__dirtyPath&&(n.beginPath(),this.buildPath(n,this.shape)),t=n.getBoundingRect()}if(r(i)&&(this.__dirty||!this._rect)){var a=this._rectWithStroke||(this._rectWithStroke=t.clone());a.copy(t);var o=i.lineWidth,s=i.strokeNoScale?this.getLineScale():1;return e(i)||(o=Math.max(o,this.strokeContainThreshold)),s>1e-10&&(a.width+=o/s,a.height+=o/s,a.x-=o/s/2,a.y-=o/s/2),a}return this._rect=t,t},contain:function(t,i){var n=this.transformCoordToLocal(t,i),a=this.getBoundingRect(),o=this.style;if(t=n[0],i=n[1],a.contain(t,i)){var h=this.path.data;if(r(o)){var c=o.lineWidth,l=o.strokeNoScale?this.getLineScale():1;if(l>1e-10&&(e(o)||(c=Math.max(c,this.strokeContainThreshold)),s.containStroke(h,c/l,t,i)))return!0}if(e(o))return s.contain(h,t,i)}return!1},dirty:function(t){0===arguments.length&&(t=!0),t&&(this.__dirtyPath=t,this._rect=null),this.__dirty=!0,this.__zr&&this.__zr.refresh(),this.__clipTarget&&this.__clipTarget.dirty()},animateShape:function(t){return this.animate("shape",t)},attrKV:function(t,e){"shape"===t?this.setShape(e):n.prototype.attrKV.call(this,t,e)},setShape:function(t,e){var r=this.shape;if(r){if(a.isObject(t))for(var i in t)r[i]=t[i];else r[t]=e;this.dirty(!0)}return this},getLineScale:function(){var t=this.transform;return t&&c(t[0]-1)>1e-10&&c(t[3]-1)>1e-10?Math.sqrt(c(t[0]*t[3]-t[2]*t[1])):1}},i.extend=function(t){var e=function(e){i.call(this,e),t.style&&this.style.extendFrom(t.style,!1);var r=t.shape;if(r){this.shape=this.shape||{};var n=this.shape;for(var a in r)!n.hasOwnProperty(a)&&r.hasOwnProperty(a)&&(n[a]=r[a])}t.init&&t.init.call(this,e)};a.inherits(e,i);for(var r in t)"style"!==r&&"shape"!==r&&(e.prototype[r]=t[r]);return e},a.inherits(i,n),i}),define("zrender/graphic/shape/Rose",["require","../Path"],function(t){var e=Math.sin,r=Math.cos,i=Math.PI/180;return t("../Path").extend({type:"rose",shape:{cx:0,cy:0,r:[],k:0,n:1},style:{stroke:"#000",fill:null},buildPath:function(t,n){var a,o,s,h=n.r,c=n.k,l=n.n,u=n.cx,f=n.cy;t.moveTo(u,f);for(var d=0,p=h.length;p>d;d++){s=h[d];for(var v=0;360*l>=v;v++)a=s*e(c/l*v%360*i)*r(v*i)+u,o=s*e(c/l*v%360*i)*e(v*i)+f,t.lineTo(a,o)}}})}),define("zrender/graphic/shape/Trochoid",["require","../Path"],function(t){var e=Math.cos,r=Math.sin;return t("../Path").extend({type:"trochoid",shape:{cx:0,cy:0,r:0,r0:0,d:0,location:"out"},style:{stroke:"#000",fill:null},buildPath:function(t,i){var n,a,o,s,h=i.r,c=i.r0,l=i.d,u=i.cx,f=i.cy,d="out"==i.location?1:-1;if(!(i.location&&c>=h)){var p,v=0,g=1;n=(h+d*c)*e(0)-d*l*e(0)+u,a=(h+d*c)*r(0)-l*r(0)+f,t.moveTo(n,a);do v++;while(c*v%(h+d*c)!==0);do p=Math.PI/180*g,o=(h+d*c)*e(p)-d*l*e((h/c+d)*p)+u,s=(h+d*c)*r(p)-l*r((h/c+d)*p)+f,t.lineTo(o,s),g++;while(c*v/(h+d*c)*360>=g)}}})}),define("zrender/graphic/shape/Circle",["require","../Path"],function(t){return t("../Path").extend({type:"circle",shape:{cx:0,cy:0,r:0},buildPath:function(t,e){t.moveTo(e.cx+e.r,e.cy),t.arc(e.cx,e.cy,e.r,0,2*Math.PI,!0)}})}),define("zrender/graphic/shape/Sector",["require","../Path"],function(t){return t("../Path").extend({type:"sector",shape:{cx:0,cy:0,r0:0,r:0,startAngle:0,endAngle:2*Math.PI,clockwise:!0},buildPath:function(t,e){var r=e.cx,i=e.cy,n=Math.max(e.r0||0,0),a=Math.max(e.r,0),o=e.startAngle,s=e.endAngle,h=e.clockwise,c=Math.cos(o),l=Math.sin(o);t.moveTo(c*n+r,l*n+i),t.lineTo(c*a+r,l*a+i),t.arc(r,i,a,o,s,!h),t.lineTo(Math.cos(s)*n+r,Math.sin(s)*n+i),0!==n&&t.arc(r,i,n,s,o,h),t.closePath()}})}),define("zrender/graphic/shape/Ring",["require","../Path"],function(t){return t("../Path").extend({type:"ring",shape:{cx:0,cy:0,r:0,r0:0},buildPath:function(t,e){var r=e.cx,i=e.cy,n=2*Math.PI;t.arc(r,i,e.r,0,n,!1),t.moveTo(r+e.r0,i),t.arc(r,i,e.r0,0,n,!0)}})}),define("zrender/graphic/shape/Ellipse",["require","../Path"],function(t){return t("../Path").extend({type:"ellipse",shape:{cx:0,cy:0,rx:0,ry:0},buildPath:function(t,e){var r=.5522848,i=e.cx,n=e.cy,a=e.rx,o=e.ry,s=a*r,h=o*r;t.moveTo(i-a,n),t.bezierCurveTo(i-a,n-h,i-s,n-o,i,n-o),t.bezierCurveTo(i+s,n-o,i+a,n-h,i+a,n),t.bezierCurveTo(i+a,n+h,i+s,n+o,i,n+o),t.bezierCurveTo(i-s,n+o,i-a,n+h,i-a,n),t.closePath()}})}),define("zrender/graphic/shape/Rect",["require","../helper/roundRect","../Path"],function(t){var e=t("../helper/roundRect");return t("../Path").extend({type:"rect",shape:{r:0,x:0,y:0,width:0,height:0},buildPath:function(t,r){var i=r.x,n=r.y,a=r.width,o=r.height;r.r?e.buildPath(t,r):t.rect(i,n,a,o),t.closePath()}})}),define("zrender/graphic/shape/Heart",["require","../Path"],function(t){return t("../Path").extend({type:"heart",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var r=e.cx,i=e.cy,n=e.width,a=e.height;t.moveTo(r,i),t.bezierCurveTo(r+n/2,i-2*a/3,r+2*n,i+a/3,r,i+a),t.bezierCurveTo(r-2*n,i+a/3,r-n/2,i-2*a/3,r,i)}})}),define("zrender/graphic/shape/Droplet",["require","../Path"],function(t){return t("../Path").extend({type:"droplet",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var r=e.cx,i=e.cy,n=e.width,a=e.height;t.moveTo(r,i+n),t.bezierCurveTo(r+n,i+n,r+3*n/2,i-n/3,r,i-a),t.bezierCurveTo(r-3*n/2,i-n/3,r-n,i+n,r,i+n),t.closePath()}})}),define("zrender/graphic/shape/Line",["require","../Path"],function(t){return t("../Path").extend({type:"line",shape:{x1:0,y1:0,x2:0,y2:0,percent:1},style:{stroke:"#000",fill:null},buildPath:function(t,e){var r=e.x1,i=e.y1,n=e.x2,a=e.y2,o=e.percent;0!==o&&(t.moveTo(r,i),1>o&&(n=r*(1-o)+n*o,a=i*(1-o)+a*o),t.lineTo(n,a))},pointAt:function(t){var e=this.shape;return[e.x1*(1-t)+e.x2*t,e.y1*(1-t)+e.y2*t]}})}),define("zrender/graphic/shape/Star",["require","../Path"],function(t){var e=Math.PI,r=Math.cos,i=Math.sin;return t("../Path").extend({type:"star",shape:{cx:0,cy:0,n:3,r0:null,r:0},buildPath:function(t,n){var a=n.n;if(a&&!(2>a)){var o=n.cx,s=n.cy,h=n.r,c=n.r0;null==c&&(c=a>4?h*r(2*e/a)/r(e/a):h/3);var l=e/a,u=-e/2,f=o+h*r(u),d=s+h*i(u);u+=l,t.moveTo(f,d);for(var p,v=0,g=2*a-1;g>v;v++)p=v%2===0?c:h,t.lineTo(o+p*r(u),s+p*i(u)),u+=l;t.closePath()}}})}),define("zrender/graphic/shape/Isogon",["require","../Path"],function(t){var e=Math.PI,r=Math.sin,i=Math.cos;return t("../Path").extend({type:"isogon",shape:{x:0,y:0,r:0,n:0},buildPath:function(t,n){var a=n.n;if(a&&!(2>a)){var o=n.x,s=n.y,h=n.r,c=2*e/a,l=-e/2;t.moveTo(o+h*i(l),s+h*r(l));for(var u=0,f=a-1;f>u;u++)l+=c,t.lineTo(o+h*i(l),s+h*r(l));t.closePath()}}})}),define("zrender/graphic/shape/BezierCurve",["require","../../core/curve","../Path"],function(t){var e=t("../../core/curve"),r=e.quadraticSubdivide,i=e.cubicSubdivide,n=e.quadraticAt,a=e.cubicAt,o=[];return t("../Path").extend({type:"bezier-curve",shape:{x1:0,y1:0,x2:0,y2:0,cpx1:0,cpy1:0,percent:1},style:{stroke:"#000",fill:null},buildPath:function(t,e){var n=e.x1,a=e.y1,s=e.x2,h=e.y2,c=e.cpx1,l=e.cpy1,u=e.cpx2,f=e.cpy2,d=e.percent;0!==d&&(t.moveTo(n,a),null==u||null==f?(1>d&&(r(n,c,s,d,o),c=o[1],s=o[2],r(a,l,h,d,o),l=o[1],h=o[2]),t.quadraticCurveTo(c,l,s,h)):(1>d&&(i(n,c,u,s,d,o),c=o[1],u=o[2],s=o[3],i(a,l,f,h,d,o),l=o[1],f=o[2],h=o[3]),t.bezierCurveTo(c,l,u,f,s,h)))},pointAt:function(t){var e=this.shape,r=e.cpx2,i=e.cpy2;return null===r||null===i?[n(e.x1,e.cpx1,e.x2,t),n(e.y1,e.cpy1,e.y2,t)]:[a(e.x1,e.cpx1,e.cpx1,e.x2,t),a(e.y1,e.cpy1,e.cpy1,e.y2,t)]}})}),define("zrender/graphic/helper/smoothSpline",["require","../../core/vector"],function(t){function e(t,e,r,i,n,a,o){var s=.5*(r-t),h=.5*(i-e);return(2*(e-r)+s+h)*o+(-3*(e-r)-2*s-h)*a+s*n+e}var r=t("../../core/vector");return function(t,i){for(var n=t.length,a=[],o=0,s=1;n>s;s++)o+=r.distance(t[s-1],t[s]);var h=o/2;h=n>h?n:h;for(var s=0;h>s;s++){var c,l,u,f=s/(h-1)*(i?n:n-1),d=Math.floor(f),p=f-d,v=t[d%n];i?(c=t[(d-1+n)%n],l=t[(d+1)%n],u=t[(d+2)%n]):(c=t[0===d?d:d-1],l=t[d>n-2?n-1:d+1],u=t[d>n-3?n-1:d+2]);var g=p*p,m=p*g;a.push([e(c[0],v[0],l[0],u[0],p,g,m),e(c[1],v[1],l[1],u[1],p,g,m)])}return a}}),define("zrender/graphic/helper/smoothBezier",["require","../../core/vector"],function(t){var e=t("../../core/vector"),r=e.min,i=e.max,n=e.scale,a=e.distance,o=e.add;return function(t,s,h,c){var l,u,f,d,p=[],v=[],g=[],m=[];if(c){f=[1/0,1/0],d=[-(1/0),-(1/0)];for(var y=0,_=t.length;_>y;y++)r(f,f,t[y]),i(d,d,t[y]);r(f,f,c[0]),i(d,d,c[1])}for(var y=0,_=t.length;_>y;y++){var x=t[y];if(h)l=t[y?y-1:_-1],u=t[(y+1)%_];else{if(0===y||y===_-1){p.push(e.clone(t[y]));continue}l=t[y-1],u=t[y+1]}e.sub(v,u,l),n(v,v,s);var b=a(x,l),w=a(x,u),T=b+w;0!==T&&(b/=T,w/=T),n(g,v,-b),n(m,v,w);var P=o([],x,g),z=o([],x,m);c&&(i(P,P,f),r(P,P,d),i(z,z,f),r(z,z,d)),p.push(P),p.push(z)}return h&&p.push(p.shift()),p}}),define("zrender/graphic/helper/poly",["require","./smoothSpline","./smoothBezier"],function(t){var e=t("./smoothSpline"),r=t("./smoothBezier");return{buildPath:function(t,i,n){var a=i.points,o=i.smooth;if(a&&a.length>=2){if(o&&"spline"!==o){var s=r(a,o,n,i.smoothConstraint);t.moveTo(a[0][0],a[0][1]);for(var h=a.length,c=0;(n?h:h-1)>c;c++){var l=s[2*c],u=s[2*c+1],f=a[(c+1)%h];t.bezierCurveTo(l[0],l[1],u[0],u[1],f[0],f[1])}}else{"spline"===o&&(a=e(a,n)),t.moveTo(a[0][0],a[0][1]);for(var c=1,d=a.length;d>c;c++)t.lineTo(a[c][0],a[c][1])}n&&t.closePath()}}}}),define("zrender/graphic/shape/Polyline",["require","../helper/poly","../Path"],function(t){var e=t("../helper/poly");return t("../Path").extend({type:"polyline",shape:{points:null,smooth:!1,smoothConstraint:null},style:{stroke:"#000",fill:null},buildPath:function(t,r){e.buildPath(t,r,!1)}})}),define("zrender/graphic/shape/Polygon",["require","../helper/poly","../Path"],function(t){var e=t("../helper/poly");return t("../Path").extend({type:"polygon",shape:{points:null,smooth:!1,smoothConstraint:null},buildPath:function(t,r){e.buildPath(t,r,!0)}})}),define("zrender/vml/core",["require","exports","module","../core/env"],function(t,e,r){if(!t("../core/env").canvasSupported){var i,n="urn:schemas-microsoft-com:vml",a=window,o=a.document,s=!1;try{!o.namespaces.zrvml&&o.namespaces.add("zrvml",n),i=function(t){return o.createElement("')}}catch(h){i=function(t){return o.createElement("<"+t+' xmlns="'+n+'" class="zrvml">')}}var c=function(){if(!s){s=!0;var t=o.styleSheets;t.length<31?o.createStyleSheet().addRule(".zrvml","behavior:url(#default#VML)"):t[0].addRule(".zrvml","behavior:url(#default#VML)")}};r.exports={doc:o,initVML:c,createNode:i}}}),define("zrender/vml/graphic",["require","../core/env","../core/vector","../core/BoundingRect","../core/PathProxy","../tool/color","../contain/text","../graphic/mixin/RectText","../graphic/Displayable","../graphic/Image","../graphic/Text","../graphic/Path","../graphic/Gradient","./core"],function(t){if(!t("../core/env").canvasSupported){var e=t("../core/vector"),r=t("../core/BoundingRect"),i=t("../core/PathProxy").CMD,n=t("../tool/color"),a=t("../contain/text"),o=t("../graphic/mixin/RectText"),s=t("../graphic/Displayable"),h=t("../graphic/Image"),c=t("../graphic/Text"),l=t("../graphic/Path"),u=t("../graphic/Gradient"),f=t("./core"),d=Math.round,p=Math.sqrt,v=Math.abs,g=Math.cos,m=Math.sin,y=Math.max,_=e.applyTransform,x=",",b="progid:DXImageTransform.Microsoft",w=21600,T=w/2,P=1e5,z=1e3,M=function(t){t.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px;",t.coordsize=w+","+w,t.coordorigin="0,0"},k=function(t){return String(t).replace(/&/g,"&").replace(/"/g,""")},C=function(t,e,r){return"rgb("+[t,e,r].join(",")+")"},S=function(t,e){e&&t&&e.parentNode!==t&&t.appendChild(e)},L=function(t,e){e&&t&&e.parentNode===t&&t.removeChild(e)},R=function(t,e,r){return(parseFloat(t)||0)*P+(parseFloat(e)||0)*z+r},A=function(t,e,r){var i=n.parse(e);r=+r,isNaN(r)&&(r=1),i&&(t.color=C(i[0],i[1],i[2]),t.opacity=r*i[3])},q=function(t){var e=n.parse(t);return[C(e[0],e[1],e[2]),e[3]]},B=function(t,e,r){var i=e.fill;if(null!=i)if(i instanceof u){var n,a=0,o=[0,0],s=0,h=1,c=r.getBoundingRect(),l=c.width,f=c.height;if("linear"===i.type){n="gradient";var d=r.transform,p=[i.x*l,i.y*f],v=[i.x2*l,i.y2*f];d&&(_(p,p,d),_(v,v,d));var g=v[0]-p[0],m=v[1]-p[1];a=180*Math.atan2(g,m)/Math.PI,0>a&&(a+=360),1e-6>a&&(a=0)}else{n="gradientradial";var p=[i.x*l,i.y*f],d=r.transform,x=r.scale,b=l,T=f;o=[(p[0]-c.x)/b,(p[1]-c.y)/T],d&&_(p,p,d),b/=x[0]*w,T/=x[1]*w;var P=y(b,T);s=0/P,h=2*i.r/P-s}var z=i.colorStops.slice();z.sort(function(t,e){return t.offset-e.offset});for(var M=z.length,k=[],C=[],S=0;M>S;S++){var L=z[S],R=q(L.color);C.push(L.offset*h+s+" "+R[0]),(0===S||S===M-1)&&k.push(R)}if(M>=2){var B=k[0][0],I=k[1][0],D=k[0][1]*e.opacity,E=k[1][1]*e.opacity;t.type=n,t.method="none",t.focus="100%",t.angle=a,t.color=B,t.color2=I,t.colors=C.join(","),t.opacity=E,t.opacity2=D}"radial"===n&&(t.focusposition=o.join(","))}else A(t,i,e.opacity)},I=function(t,e){null!=e.lineJoin&&(t.joinstyle=e.lineJoin),null!=e.miterLimit&&(t.miterlimit=e.miterLimit*w),null!=e.lineCap&&(t.endcap=e.lineCap),null!=e.lineDash&&(t.dashstyle=e.lineDash.join(" ")),null==e.stroke||e.stroke instanceof u||A(t,e.stroke,e.opacity)},D=function(t,e,r,i){var n="fill"==e,a=t.getElementsByTagName(e)[0];null!=r[e]&&"none"!==r[e]&&(n||!n&&r.lineWidth)?(t[n?"filled":"stroked"]="true",r[e]instanceof u&&L(t,a),a||(a=f.createNode(e)),n?B(a,r,i):I(a,r),S(t,a)):(t[n?"filled":"stroked"]="false",L(t,a))},E=[[],[],[]],O=function(t,e){var r,n,a,o,s,h,c=i.M,l=i.C,u=i.L,f=i.A,v=i.Q,y=[];for(o=0;o0){y.push(n);for(var G=0;r>G;G++){var Z=E[G];e&&_(Z,Z,e),y.push(d(Z[0]*w-T),x,d(Z[1]*w-T),r-1>G?x:"")}}}return y.join("")};l.prototype.brush=function(t){var e=this.style,r=this._vmlEl;r||(r=f.createNode("shape"),M(r),this._vmlEl=r),D(r,"fill",e,this),D(r,"stroke",e,this);var i=this.transform,n=null!=i,a=r.getElementsByTagName("stroke")[0];if(a){var o=e.lineWidth;if(n&&!e.strokeNoScale){var s=i[0]*i[3]-i[1]*i[2];o*=p(v(s))}a.weight=o+"px"} +var h=this.path;this.__dirtyPath&&(h.beginPath(),this.buildPath(h,this.shape),this.__dirtyPath=!1),r.path=O(h.data,this.transform),r.style.zIndex=R(this.zlevel,this.z,this.z2),S(t,r),e.text&&this.drawRectText(t,this.getBoundingRect())},l.prototype.onRemoveFromStorage=function(t){L(t,this._vmlEl),this.removeRectText(t)},l.prototype.onAddToStorage=function(t){S(t,this._vmlEl),this.appendRectText(t)};var F=function(t){return"object"==typeof t&&t.tagName&&"IMG"===t.tagName.toUpperCase()};h.prototype.brush=function(t){var e,r,i=this.style,n=i.image;if(F(n)){var a=n.src;if(a===this._imageSrc)e=this._imageWidth,r=this._imageHeight;else{var o=n.runtimeStyle,s=o.width,h=o.height;o.width="auto",o.height="auto",e=n.width,r=n.height,o.width=s,o.height=h,this._imageSrc=a,this._imageWidth=e,this._imageHeight=r}n=a}else n===this._imageSrc&&(e=this._imageWidth,r=this._imageHeight);if(n){var c=i.x||0,l=i.y||0,u=i.width,v=i.height,g=i.sWidth,m=i.sHeight,w=i.sx||0,T=i.sy||0,P=g&&m,z=this._vmlEl;z||(z=f.doc.createElement("div"),M(z),this._vmlEl=z);var k,C=z.style,L=!1,A=1,q=1;if(this.transform&&(k=this.transform,A=p(k[0]*k[0]+k[1]*k[1]),q=p(k[2]*k[2]+k[3]*k[3]),L=k[1]||k[2]),L){var B=[c,l],I=[c+u,l],D=[c,l+v],E=[c+u,l+v];_(B,B,k),_(I,I,k),_(D,D,k),_(E,E,k);var O=y(B[0],I[0],D[0],E[0]),H=y(B[1],I[1],D[1],E[1]),W=[];W.push("M11=",k[0]/A,x,"M12=",k[2]/q,x,"M21=",k[1]/A,x,"M22=",k[3]/q,x,"Dx=",d(c*A+k[4]),x,"Dy=",d(l*q+k[5])),C.padding="0 "+d(O)+"px "+d(H)+"px 0",C.filter=b+".Matrix("+W.join("")+", SizingMethod=clip)"}else k&&(c=c*A+k[4],l=l*q+k[5]),C.filter="",C.left=d(c)+"px",C.top=d(l)+"px";var j=this._imageEl,V=this._cropEl;j||(j=f.doc.createElement("div"),this._imageEl=j);var N=j.style;if(P){if(e&&r)N.width=d(A*e*u/g)+"px",N.height=d(q*r*v/m)+"px";else{var X=new Image,Y=this;X.onload=function(){X.onload=null,e=X.width,r=X.height,N.width=d(A*e*u/g)+"px",N.height=d(q*r*v/m)+"px",Y._imageWidth=e,Y._imageHeight=r,Y._imageSrc=n},X.src=n}V||(V=f.doc.createElement("div"),V.style.overflow="hidden",this._cropEl=V);var G=V.style;G.width=d((u+w*u/g)*A),G.height=d((v+T*v/m)*q),G.filter=b+".Matrix(Dx="+-w*u/g*A+",Dy="+-T*v/m*q+")",V.parentNode||z.appendChild(V),j.parentNode!=V&&V.appendChild(j)}else N.width=d(A*u)+"px",N.height=d(q*v)+"px",z.appendChild(j),V&&V.parentNode&&(z.removeChild(V),this._cropEl=null);var Z="",U=i.opacity;1>U&&(Z+=".Alpha(opacity="+d(100*U)+") "),Z+=b+".AlphaImageLoader(src="+n+", SizingMethod=scale)",N.filter=Z,z.style.zIndex=R(this.zlevel,this.z,this.z2),S(t,z),i.text&&this.drawRectText(t,this.getBoundingRect())}},h.prototype.onRemoveFromStorage=function(t){L(t,this._vmlEl),this._vmlEl=null,this._cropEl=null,this._imageEl=null,this.removeRectText(t)},h.prototype.onAddToStorage=function(t){S(t,this._vmlEl),this.appendRectText(t)};var H,W="normal",j={},V=0,N=100,X=document.createElement("div"),Y=function(t){var e=j[t];if(!e){V>N&&(V=0,j={});var r,i=X.style;try{i.font=t,r=i.fontFamily.split(",")[0]}catch(n){}e={style:i.fontStyle||W,variant:i.fontVariant||W,weight:i.fontWeight||W,size:0|parseFloat(i.fontSize||12),family:r||"Microsoft YaHei"},j[t]=e,V++}return e};a.measureText=function(t,e){var r=f.doc;H||(H=r.createElement("div"),H.style.cssText="position:absolute;top:-20000px;left:0; padding:0;margin:0;border:none;white-space:pre;",f.doc.body.appendChild(H));try{H.style.font=e}catch(i){}return H.innerHTML="",H.appendChild(r.createTextNode(t)),{width:H.offsetWidth}};for(var G=new r,Z=function(t,e,r,i){var n=this.style,o=n.text;if(o){var s,h,c=n.textAlign,l=Y(n.textFont),u=l.style+" "+l.variant+" "+l.weight+" "+l.size+'px "'+l.family+'"',p=n.textBaseline;r=r||a.getBoundingRect(o,u,c,p);var v=this.transform;if(v&&!i&&(G.copy(e),G.applyTransform(v),e=G),i)s=e.x,h=e.y;else{var g=n.textPosition,m=n.textDistance;if(g instanceof Array)s=e.x+g[0],h=e.y+g[1],c=c||"left",p=p||"top";else{var y=a.adjustTextPositionOnRect(g,e,r,m);s=y.x,h=y.y,c=c||y.textAlign,p=p||y.textBaseline}}var b=l.size;switch(p){case"hanging":case"top":h+=b/1.75;break;case"middle":break;default:h-=b/2.25}switch(c){case"left":break;case"center":s-=r.width/2;break;case"right":s-=r.width}var w,T,P,z=f.createNode,C=this._textVmlEl;C?(P=C.firstChild,w=P.nextSibling,T=w.nextSibling):(C=z("line"),w=z("path"),T=z("textpath"),P=z("skew"),T.style["v-text-align"]="left",M(C),w.textpathok=!0,T.on=!0,C.from="0 0",C.to="1000 0.05",S(C,P),S(C,w),S(C,T),this._textVmlEl=C);var L=[s,h],A=C.style;v&&i?(_(L,L,v),P.on=!0,P.matrix=v[0].toFixed(3)+x+v[2].toFixed(3)+x+v[1].toFixed(3)+x+v[3].toFixed(3)+",0,0",P.offset=(d(L[0])||0)+","+(d(L[1])||0),P.origin="0 0",A.left="0px",A.top="0px"):(P.on=!1,A.left=d(s)+"px",A.top=d(h)+"px"),T.string=k(o);try{T.style.font=u}catch(q){}D(C,"fill",{fill:i?n.fill:n.textFill,opacity:n.opacity},this),D(C,"stroke",{stroke:i?n.stroke:n.textStroke,opacity:n.opacity,lineDash:n.lineDash},this),C.style.zIndex=R(this.zlevel,this.z,this.z2),S(t,C)}},U=function(t){L(t,this._textVmlEl),this._textVmlEl=null},K=function(t){S(t,this._textVmlEl)},Q=[o,s,h,l,c],$=0;$