diff --git a/dist/graphics.js b/dist/graphics.js index 6e9202e..c6fa351 100644 --- a/dist/graphics.js +++ b/dist/graphics.js @@ -2680,6 +2680,9 @@ goog.math.Coordinate.prototype.getX = function() { goog.math.Coordinate.prototype.getY = function() { return this.y; }; +acgraph.math.coordinate = function(opt_x, opt_y) { + return new goog.math.Coordinate(opt_x, opt_y); +}; goog.math.Rect.prototype.getLeft = function() { return this.left; }; @@ -2698,6 +2701,9 @@ goog.math.Rect.prototype.getRight = function() { goog.math.Rect.prototype.getBottom = function() { return this.top + this.height; }; +acgraph.math.rect = function(x, y, w, h) { + return new goog.math.Rect(x, y, w, h); +}; goog.math.Size.prototype.getWidth = function() { return this.width; }; @@ -2705,9 +2711,10 @@ goog.math.Size.prototype.getHeight = function() { return this.height; }; (function() { - goog.exportSymbol("acgraph.math.Coordinate", goog.math.Coordinate); - goog.exportSymbol("acgraph.math.Rect", goog.math.Rect); goog.exportSymbol("acgraph.math.Size", goog.math.Size); + goog.exportSymbol("acgraph.math.coordinate", acgraph.math.coordinate); + goog.exportSymbol("acgraph.math.rect", acgraph.math.rect); + goog.exportSymbol("acgraph.math.Rect", goog.math.Rect); var proto = goog.math.Coordinate.prototype; proto["getX"] = proto.getX; proto["getY"] = proto.getY; @@ -10121,6 +10128,8 @@ goog.require("goog.math.Rect"); acgraph.vector.Element = function() { acgraph.vector.Element.base(this, "constructor"); this.attributes_ = {}; + this.isSuspended_ = false; + this.suspendedState_ = 0; this.setDirtyState(acgraph.vector.Element.DirtyState.ALL); }; goog.inherits(acgraph.vector.Element, goog.events.EventTarget); @@ -10256,16 +10265,28 @@ acgraph.vector.Element.prototype.isDirty = function() { acgraph.vector.Element.prototype.hasDirtyState = function(state) { return !!(this.dirtyState_ & state); }; +acgraph.vector.Element.prototype.suspend = function() { + this.isSuspended_ = true; +}; +acgraph.vector.Element.prototype.resume = function() { + this.isSuspended_ = false; + this.setDirtyState(this.suspendedState_); + this.suspendedState_ = 0; +}; acgraph.vector.Element.prototype.setDirtyState = function(value) { value &= this.SUPPORTED_DIRTY_STATES; - if (!!value) { - this.dirtyState_ |= value; - if (this.parent_) { - this.parent_.setDirtyState(acgraph.vector.Element.DirtyState.CHILDREN); - } - var stage = this.getStage(); - if (stage && !stage.isSuspended() && !stage.isRendering() && !this.isRendering()) { - this.render(); + if (value) { + if (this.isSuspended_) { + this.suspendedState_ |= value; + } else { + this.dirtyState_ |= value; + if (this.parent_) { + this.parent_.setDirtyState(acgraph.vector.Element.DirtyState.CHILDREN); + } + var stage = this.getStage(); + if (stage && !stage.isSuspended() && !stage.isRendering() && !this.isRendering()) { + this.render(); + } } } }; @@ -10885,6 +10906,10 @@ acgraph.vector.Shape.prototype.stroke = function(opt_strokeOrFill, opt_thickness } return this; }; +acgraph.vector.Shape.prototype.setNullFillAndStroke = function() { + this.fill_ = null; + this.stroke_ = null; +}; acgraph.vector.Shape.prototype.strokeThickness = function(opt_value) { if (goog.isDef(opt_value)) { if (goog.isString(this.stroke_)) { @@ -13732,8 +13757,9 @@ acgraph.utils.HTMLParser.prototype.parseText = function(textElem) { } var isNotLetterOrDigit = /(_|\W)/.test(symbol); if (isNotLetterOrDigit) { - var nextState = symbol == "<" ? s.READ_TAG : s.READ_TEXT; - this.finalizeEntity_(nextState, symbol); + var openTag = symbol == "<"; + var nextState = openTag ? s.READ_TAG : s.READ_TEXT; + this.finalizeEntity_(nextState, openTag ? "" : symbol); break; } var isDigit = /\d/.test(symbol); @@ -14052,7 +14078,7 @@ goog.provide("acgraph.vector.Text"); goog.provide("acgraph.vector.Text.TextOverflow"); goog.require("acgraph.utils.HTMLParser"); goog.require("acgraph.utils.IdGenerator"); -goog.require("acgraph.vector.Element"); +goog.require("acgraph.vector.Shape"); goog.require("acgraph.vector.TextSegment"); goog.require("goog.math.Rect"); acgraph.vector.Text = function(opt_x, opt_y) { @@ -14085,8 +14111,9 @@ acgraph.vector.Text = function(opt_x, opt_y) { this.style_ = this.defaultStyle_; this.textPath = null; goog.base(this); + this.setNullFillAndStroke(); }; -goog.inherits(acgraph.vector.Text, acgraph.vector.Element); +goog.inherits(acgraph.vector.Text, acgraph.vector.Shape); acgraph.vector.Text.WordBreak = {NORMAL:"normal", KEEP_ALL:"keep-all", BREAK_ALL:"break-all"}; acgraph.vector.Text.WordWrap = {NORMAL:"normal", BREAK_WORD:"break-word"}; acgraph.vector.Text.TextOverflow = {CLIP:"", ELLIPSIS:"..."}; @@ -14096,7 +14123,7 @@ acgraph.vector.Text.Decoration = {BLINK:"blink", LINE_THROUGH:"line-through", OV acgraph.vector.Text.FontVariant = {NORMAL:"normal", SMALL_CAP:"small-caps"}; acgraph.vector.Text.FontStyle = {NORMAL:"normal", ITALIC:"italic", OBLIQUE:"oblique"}; acgraph.vector.Text.Direction = {LTR:"ltr", RTL:"rtl"}; -acgraph.vector.Text.prototype.SUPPORTED_DIRTY_STATES = acgraph.vector.Element.prototype.SUPPORTED_DIRTY_STATES | acgraph.vector.Element.DirtyState.DATA | acgraph.vector.Element.DirtyState.STYLE | acgraph.vector.Element.DirtyState.POSITION | acgraph.vector.Element.DirtyState.CHILDREN; +acgraph.vector.Text.prototype.SUPPORTED_DIRTY_STATES = acgraph.vector.Shape.prototype.SUPPORTED_DIRTY_STATES | acgraph.vector.Element.DirtyState.DATA | acgraph.vector.Element.DirtyState.STYLE | acgraph.vector.Element.DirtyState.POSITION | acgraph.vector.Element.DirtyState.CHILDREN; acgraph.vector.Text.prototype.style_ = null; acgraph.vector.Text.prototype.text_ = null; acgraph.vector.Text.prototype.x = function(opt_value) { @@ -14959,42 +14986,14 @@ acgraph.vector.Text.prototype.textDefragmentation = function() { var q = /\n/g; this.text_ = goog.string.canonicalizeNewlines(goog.string.normalizeSpaces(this.text_)); var textArr = this.text_.split(q); - if (textArr.length == 1 && !goog.isDef(this.style_["width"]) && !this.path()) { - if (!this.domElement()) { - this.createDom(true); - } - if (this.hasDirtyState(acgraph.vector.Element.DirtyState.STYLE)) { - this.renderStyle(); - } - segment = new acgraph.vector.TextSegment(this.text_, {}); - this.currentLine_.push(segment); - this.segments_.push(segment); - segment.parent(this); - if (this.hasDirtyState(acgraph.vector.Element.DirtyState.DATA)) { - this.renderData(); - } - var bounds = acgraph.getRenderer().getBBox(this.domElement(), this.text_, this.style_); - segment.baseLine = -bounds.top; - segment.height = bounds.height; - segment.width = bounds.width; - this.currentLineHeight_ = bounds.height; - this.currentLineWidth_ = bounds.width + this.textIndent_; - this.currentBaseLine_ = segment.baseLine; - this.currentLineEmpty_ = this.text_.length == 0; - this.finalizeTextLine(); - this.currentNumberSeqBreaks_++; - var height = this.currentLine_[0] ? this.currentLine_[0].height : 0; - this.accumulatedHeight_ += goog.isString(this.lineHeight_) ? parseInt(this.lineHeight_, 0) + height : this.lineHeight_ * height; - } else { - for (i = 0; i < textArr.length; i++) { - text = goog.string.trimLeft(textArr[i]); - if (goog.isDefAndNotNull(text)) { - if (text == "") { - this.addBreak(); - } else { - this.addSegment(text); - this.addBreak(); - } + for (i = 0; i < textArr.length; i++) { + text = goog.string.trimLeft(textArr[i]); + if (goog.isDefAndNotNull(text)) { + if (text == "") { + this.addBreak(); + } else { + this.addSegment(text); + this.addBreak(); } } } @@ -15561,19 +15560,23 @@ acgraph.vector.svg.Renderer.prototype.createSVGElement_ = function(tag) { return goog.global["document"].createElementNS(acgraph.vector.svg.Renderer.SVG_NS_, tag); }; acgraph.vector.svg.Renderer.prototype.createMeasurement = function() { - this.measurement_ = this.createSVGElement_("svg"); - this.measurementText_ = this.createTextElement(); - this.measurementTextNode_ = this.createTextNode(""); - this.mesurmentDef_ = this.createDefsElement(); - goog.dom.appendChild(this.measurementText_, this.measurementTextNode_); - goog.dom.appendChild(this.measurement_, this.measurementText_); - goog.dom.appendChild(this.measurement_, this.mesurmentDef_); - goog.dom.appendChild(goog.global["document"].body, this.measurement_); - this.measurementLayerForBBox_ = this.createLayerElement(); - goog.dom.appendChild(this.measurement_, this.measurementLayerForBBox_); - this.setAttrs(this.measurement_, {"display":"block", "width":0, "height":0}); - this.measurementGroupNode_ = this.createLayerElement(); - goog.dom.appendChild(this.measurement_, this.measurementGroupNode_); + if (!this.measurement_) { + this.measurement_ = this.createSVGElement_("svg"); + this.measurementText_ = this.createTextElement(); + this.measurementTextNode_ = this.createTextNode(""); + this.mesurmentDef_ = this.createDefsElement(); + goog.dom.appendChild(this.measurementText_, this.measurementTextNode_); + goog.dom.appendChild(this.measurement_, this.measurementText_); + goog.dom.appendChild(this.measurement_, this.mesurmentDef_); + this.measurementLayerForBBox_ = this.createLayerElement(); + goog.dom.appendChild(this.measurement_, this.measurementLayerForBBox_); + this.setAttrs(this.measurement_, {"width":0, "height":0}); + this.measurement_.style.cssText = "position: absolute; left: -99999px; top: -99999px"; + this.measurementGroupNode_ = this.createLayerElement(); + goog.dom.appendChild(this.measurement_, this.measurementGroupNode_); + goog.dom.appendChild(goog.global["document"].body, this.measurement_); + } + return this.measurement_; }; acgraph.vector.svg.Renderer.prototype.disposeMeasurement = function() { goog.dom.removeNode(this.measurementText_); @@ -15590,9 +15593,7 @@ acgraph.vector.svg.Renderer.prototype.disposeMeasurement = function() { this.measurement_ = null; }; acgraph.vector.svg.Renderer.prototype.measure = function(text, style) { - if (!this.measurement_) { - this.createMeasurement(); - } + this.createMeasurement(); var spaceWidth = null; var additionWidth = 0; if (text.length == 0) { @@ -15608,16 +15609,31 @@ acgraph.vector.svg.Renderer.prototype.measure = function(text, style) { additionWidth += spaceWidth || this.getSpaceBounds(style).width; } } - style["fontStyle"] ? this.setAttr(this.measurementText_, "font-style", style["fontStyle"]) : this.removeAttr(this.measurementText_, "font-style"); - style["fontVariant"] ? this.setAttr(this.measurementText_, "font-variant", style["fontVariant"]) : this.removeAttr(this.measurementText_, "font-variant"); - style["fontFamily"] ? this.setAttr(this.measurementText_, "font-family", style["fontFamily"]) : this.removeAttr(this.measurementText_, "font-family"); - style["fontSize"] ? this.setAttr(this.measurementText_, "font-size", style["fontSize"]) : this.removeAttr(this.measurementText_, "font-size"); - style["fontWeight"] ? this.setAttr(this.measurementText_, "font-weight", style["fontWeight"]) : this.removeAttr(this.measurementText_, "font-weight"); - style["letterSpacing"] ? this.setAttr(this.measurementText_, "letter-spacing", style["letterSpacing"]) : this.removeAttr(this.measurementText_, "letter-spacing"); - style["decoration"] ? this.setAttr(this.measurementText_, "text-decoration", style["decoration"]) : this.removeAttr(this.measurementText_, "text-decoration"); + var cssString = ""; + if (style["fontStyle"]) { + cssString += "font-style: " + style["fontStyle"] + ";"; + } + if (style["fontVariant"]) { + cssString += "font-variant: " + style["fontVariant"] + ";"; + } + if (style["fontFamily"]) { + cssString += "font-family: " + style["fontFamily"] + ";"; + } + if (style["fontSize"]) { + cssString += "font-size: " + style["fontSize"] + ";"; + } + if (style["fontWeight"]) { + cssString += "font-weight: " + style["fontWeight"] + ";"; + } + if (style["letterSpacing"]) { + cssString += "letter-spacing: " + style["letterSpacing"] + ";"; + } + if (style["decoration"]) { + cssString += "text-decoration: " + style["decoration"] + ";"; + } + this.measurementText_.style.cssText = cssString; this.measurementTextNode_.nodeValue = text; var bbox = this.measurementText_["getBBox"](); - this.measurementTextNode_.nodeValue = ""; if (style["fontVariant"] && goog.userAgent.OPERA) { this.measurementTextNode_.nodeValue = text.charAt(0).toUpperCase(); bbox.height = this.measurementText_["getBBox"]().height; @@ -15625,9 +15641,7 @@ acgraph.vector.svg.Renderer.prototype.measure = function(text, style) { return new goog.math.Rect(bbox.x, bbox.y, bbox.width + additionWidth, bbox.height); }; acgraph.vector.svg.Renderer.prototype.measureTextDom = function(element) { - if (!this.measurement_) { - this.createMeasurement(); - } + this.createMeasurement(); if (!element.defragmented) { element.textDefragmentation(); } @@ -15664,9 +15678,7 @@ acgraph.vector.svg.Renderer.prototype.measureTextDom = function(element) { return new goog.math.Rect(bbox.x, bbox.y, bbox.width, bbox.height); }; acgraph.vector.svg.Renderer.prototype.getBBox = function(element, text, style) { - if (!this.measurement_) { - this.createMeasurement(); - } + this.createMeasurement(); var boundsCache = this.textBoundsCache; var styleHash = this.getStyleHash(style); var styleCache = boundsCache[styleHash]; @@ -15704,9 +15716,7 @@ acgraph.vector.svg.Renderer.prototype.getBBox = function(element, text, style) { } }; acgraph.vector.svg.Renderer.prototype.measureElement = function(element) { - if (!this.measurement_) { - this.createMeasurement(); - } + this.createMeasurement(); if (goog.isString(element)) { this.measurementGroupNode_.innerHTML = element; } else { @@ -16134,65 +16144,67 @@ acgraph.vector.svg.Renderer.prototype.renderLinearGradient = function(fill, defs }; acgraph.vector.svg.Renderer.prototype.applyFill = function(element) { var fill = element.fill(); - var defs = element.getStage().getDefs(); - var pathPrefix = "url(" + acgraph.getReference() + "#"; - if (fill && fill["opacity"] && fill["opacity"] <= 0.0001 && goog.userAgent.IE && goog.userAgent.isVersionOrHigher("9")) { - fill["opacity"] = 0.0001; - } - if (goog.isString(fill)) { - this.setAttr(element.domElement(), "fill", fill); - this.removeAttr(element.domElement(), "fill-opacity"); - } else { - if (goog.isArray(fill["keys"]) && fill["cx"] && fill["cy"]) { - this.setAttr(element.domElement(), "fill", pathPrefix + this.renderRadialGradient(fill, defs) + ")"); - this.setAttr(element.domElement(), "fill-opacity", goog.isDef(fill["opacity"]) ? fill["opacity"] : 1); + if (fill) { + var defs = element.getStage().getDefs(); + var pathPrefix = "url(" + acgraph.getReference() + "#"; + if (fill && fill["opacity"] && fill["opacity"] <= 0.0001 && goog.userAgent.IE && goog.userAgent.isVersionOrHigher("9")) { + fill["opacity"] = 0.0001; + } + if (goog.isString(fill)) { + this.setAttr(element.domElement(), "fill", fill); + this.removeAttr(element.domElement(), "fill-opacity"); } else { - if (goog.isArray(fill["keys"])) { - if (!element.getBounds()) { - return; - } - this.setAttr(element.domElement(), "fill", pathPrefix + this.renderLinearGradient(fill, defs, element.getBounds()) + ")"); + if (goog.isArray(fill["keys"]) && fill["cx"] && fill["cy"]) { + this.setAttr(element.domElement(), "fill", pathPrefix + this.renderRadialGradient(fill, defs) + ")"); this.setAttr(element.domElement(), "fill-opacity", goog.isDef(fill["opacity"]) ? fill["opacity"] : 1); } else { - if (fill["src"]) { - var b = element.getBoundsWithoutTransform(); - if (b) { - b.width = b.width || 0; - b.height = b.height || 0; - b.left = b.left || 0; - b.top = b.top || 0; - } else { - b = new goog.math.Rect(0, 0, 0, 0); + if (goog.isArray(fill["keys"])) { + if (!element.getBounds()) { + return; } - if (fill["mode"] == acgraph.vector.ImageFillMode.TILE) { - var callback = function(imageFill) { + this.setAttr(element.domElement(), "fill", pathPrefix + this.renderLinearGradient(fill, defs, element.getBounds()) + ")"); + this.setAttr(element.domElement(), "fill-opacity", goog.isDef(fill["opacity"]) ? fill["opacity"] : 1); + } else { + if (fill["src"]) { + var b = element.getBoundsWithoutTransform(); + if (b) { + b.width = b.width || 0; + b.height = b.height || 0; + b.left = b.left || 0; + b.top = b.top || 0; + } else { + b = new goog.math.Rect(0, 0, 0, 0); + } + if (fill["mode"] == acgraph.vector.ImageFillMode.TILE) { + var callback = function(imageFill) { + imageFill.id(); + imageFill.parent(element.getStage()).render(); + acgraph.getRenderer().setAttr(element.domElement(), "fill", pathPrefix + imageFill.id() + ")"); + }; + defs.getImageFill(fill["src"], b, fill["mode"], fill["opacity"], callback); + } else { + var imageFill = defs.getImageFill(fill["src"], b, fill["mode"], fill["opacity"]); imageFill.id(); imageFill.parent(element.getStage()).render(); - acgraph.getRenderer().setAttr(element.domElement(), "fill", pathPrefix + imageFill.id() + ")"); - }; - defs.getImageFill(fill["src"], b, fill["mode"], fill["opacity"], callback); - } else { - var imageFill = defs.getImageFill(fill["src"], b, fill["mode"], fill["opacity"]); - imageFill.id(); - imageFill.parent(element.getStage()).render(); - this.setAttr(element.domElement(), "fill", pathPrefix + imageFill.id() + ")"); - this.setAttr(element.domElement(), "fill-opacity", goog.isDef(fill["opacity"]) ? fill["opacity"] : 1); - } - } else { - if (acgraph.utils.instanceOf(fill, acgraph.vector.HatchFill)) { - var hatch = fill; - hatch = defs.getHatchFill(hatch.type, hatch.color, hatch.thickness, hatch.size); - hatch.id(); - hatch.parent(element.getStage()).render(); - this.setAttr(element.domElement(), "fill", pathPrefix + hatch.id() + ")"); + this.setAttr(element.domElement(), "fill", pathPrefix + imageFill.id() + ")"); + this.setAttr(element.domElement(), "fill-opacity", goog.isDef(fill["opacity"]) ? fill["opacity"] : 1); + } } else { - if (acgraph.utils.instanceOf(fill, acgraph.vector.PatternFill)) { - var pattern = fill; - pattern.id(); - pattern.parent(element.getStage()).render(); - this.setAttr(element.domElement(), "fill", pathPrefix + pattern.id() + ")"); + if (acgraph.utils.instanceOf(fill, acgraph.vector.HatchFill)) { + var hatch = fill; + hatch = defs.getHatchFill(hatch.type, hatch.color, hatch.thickness, hatch.size); + hatch.id(); + hatch.parent(element.getStage()).render(); + this.setAttr(element.domElement(), "fill", pathPrefix + hatch.id() + ")"); } else { - this.setAttrs(element.domElement(), {"fill":fill["color"], "fill-opacity":fill["opacity"]}); + if (acgraph.utils.instanceOf(fill, acgraph.vector.PatternFill)) { + var pattern = fill; + pattern.id(); + pattern.parent(element.getStage()).render(); + this.setAttr(element.domElement(), "fill", pathPrefix + pattern.id() + ")"); + } else { + this.setAttrs(element.domElement(), {"fill":fill["color"], "fill-opacity":fill["opacity"]}); + } } } } @@ -16202,49 +16214,51 @@ acgraph.vector.svg.Renderer.prototype.applyFill = function(element) { }; acgraph.vector.svg.Renderer.prototype.applyStroke = function(element) { var stroke = element.stroke(); - var defs = element.getStage().getDefs(); - var domElement = element.domElement(); - var pathPrefix = "url(" + acgraph.getReference() + "#"; - if (goog.isString(stroke)) { - this.setAttr(domElement, "stroke", stroke); - } else { - if (goog.isArray(stroke["keys"]) && stroke["cx"] && stroke["cy"]) { - this.setAttr(domElement, "stroke", pathPrefix + this.renderRadialGradient(stroke, defs) + ")"); + if (stroke) { + var defs = element.getStage().getDefs(); + var domElement = element.domElement(); + var pathPrefix = "url(" + acgraph.getReference() + "#"; + if (goog.isString(stroke)) { + this.setAttr(domElement, "stroke", stroke); } else { - if (goog.isArray(stroke["keys"])) { - if (!element.getBounds()) { - return; - } - this.setAttr(domElement, "stroke", pathPrefix + this.renderLinearGradient(stroke, defs, element.getBounds()) + ")"); + if (goog.isArray(stroke["keys"]) && stroke["cx"] && stroke["cy"]) { + this.setAttr(domElement, "stroke", pathPrefix + this.renderRadialGradient(stroke, defs) + ")"); } else { - this.setAttr(domElement, "stroke", stroke["color"]); + if (goog.isArray(stroke["keys"])) { + if (!element.getBounds()) { + return; + } + this.setAttr(domElement, "stroke", pathPrefix + this.renderLinearGradient(stroke, defs, element.getBounds()) + ")"); + } else { + this.setAttr(domElement, "stroke", stroke["color"]); + } } } - } - if (stroke["lineJoin"]) { - this.setAttr(domElement, "stroke-linejoin", stroke["lineJoin"]); - } else { - this.removeAttr(domElement, "stroke-linejoin"); - } - if (stroke["lineCap"]) { - this.setAttr(domElement, "stroke-linecap", stroke["lineCap"]); - } else { - this.removeAttr(domElement, "stroke-linecap"); - } - if (stroke["opacity"]) { - this.setAttr(domElement, "stroke-opacity", stroke["opacity"]); - } else { - this.removeAttr(domElement, "stroke-opacity"); - } - if (stroke["thickness"]) { - this.setAttr(domElement, "stroke-width", stroke["thickness"]); - } else { - this.removeAttr(domElement, "stroke-width"); - } - if (stroke["dash"]) { - this.setAttr(domElement, "stroke-dasharray", stroke["dash"]); - } else { - this.removeAttr(domElement, "stroke-dasharray"); + if (stroke["lineJoin"]) { + this.setAttr(domElement, "stroke-linejoin", stroke["lineJoin"]); + } else { + this.removeAttr(domElement, "stroke-linejoin"); + } + if (stroke["lineCap"]) { + this.setAttr(domElement, "stroke-linecap", stroke["lineCap"]); + } else { + this.removeAttr(domElement, "stroke-linecap"); + } + if (stroke["opacity"]) { + this.setAttr(domElement, "stroke-opacity", stroke["opacity"]); + } else { + this.removeAttr(domElement, "stroke-opacity"); + } + if (stroke["thickness"]) { + this.setAttr(domElement, "stroke-width", stroke["thickness"]); + } else { + this.removeAttr(domElement, "stroke-width"); + } + if (stroke["dash"]) { + this.setAttr(domElement, "stroke-dasharray", stroke["dash"]); + } else { + this.removeAttr(domElement, "stroke-dasharray"); + } } }; acgraph.vector.svg.Renderer.prototype.applyFillAndStroke = function(element) { @@ -18916,7 +18930,9 @@ acgraph.vector.Stage.prototype.disposeInternal = function() { this.container_ = null; delete this.internalContainer_; this.domElement_ = null; - acgraph.getRenderer().disposeMeasurement(); + if (goog.object.isEmpty(acgraph.wrappers)) { + acgraph.getRenderer().disposeMeasurement(); + } if (this.credits_) { this.credits_.dispose(); this.credits_ = null; @@ -19266,17 +19282,17 @@ goog.require("goog.cssom"); goog.require("goog.dom"); goog.require("goog.userAgent"); acgraph.WRAPPER_ID_PROP_NAME_ = "data-ac-wrapper-id"; -acgraph.wrappers_ = {}; +acgraph.wrappers = {}; acgraph.register = function(wrapper) { var node = wrapper.domElement(); if (node) { var id = String(goog.getUid(wrapper)); - acgraph.wrappers_[id] = wrapper; + acgraph.wrappers[id] = wrapper; node.setAttribute(acgraph.WRAPPER_ID_PROP_NAME_, id); } }; acgraph.unregister = function(wrapper) { - delete acgraph.wrappers_[String(goog.getUid(wrapper))]; + delete acgraph.wrappers[String(goog.getUid(wrapper))]; var node = wrapper.domElement(); if (node) { node.removeAttribute(acgraph.WRAPPER_ID_PROP_NAME_); @@ -19292,7 +19308,7 @@ acgraph.getWrapperForDOM = function(node, stage) { } node = node.parentNode; } - var res = acgraph.wrappers_[uid || ""] || null; + var res = acgraph.wrappers[uid || ""] || null; return res && res.domElement() == node ? res : null; }; acgraph.StageType = {SVG:"svg", VML:"vml"}; @@ -19448,11 +19464,11 @@ acgraph.updateReferences = function() { } var wrapper; var renderer = acgraph.getRenderer(); - for (var id in acgraph.wrappers_) { - if (!acgraph.wrappers_.hasOwnProperty(id)) { + for (var id in acgraph.wrappers) { + if (!acgraph.wrappers.hasOwnProperty(id)) { continue; } - wrapper = acgraph.wrappers_[id]; + wrapper = acgraph.wrappers[id]; var wrapperStage = wrapper.getStage(); if (!wrapperStage) { continue; diff --git a/dist/graphics.min.js b/dist/graphics.min.js index 7611c39..144c085 100644 --- a/dist/graphics.min.js +++ b/dist/graphics.min.js @@ -1,15 +1,15 @@ /** * GraphicsJS is a lightweight JavaScript graphics library with an intuitive API, based on SVG/VML technology. - * Version: 1.3.4 (2018-10-04) + * Version: 1.3.5 (2018-10-29) * License: BSD 3-clause * Copyright: AnyChart.com 2018. All rights reserved. */ -(function(){var f,aa=aa||{},n=this;function r(a){return void 0!==a}function u(a){return"string"==typeof a}function v(a){return"number"==typeof a}function ba(a){a=a.split(".");for(var b=n,c=0;c>>0),la=0;function ma(a,b,c){return a.call.apply(a.bind,arguments)} function na(a,b,c){if(!a)throw Error();if(2c?null:u(a)?a.charAt(c):a[c]}function Aa(a,b){var c=va(a,b),d;(d=0<=c)&&Ba(a,c);return d} function Ba(a,b){Array.prototype.splice.call(a,b,1)}function Ca(a){return Array.prototype.concat.apply([],arguments)}function Da(a){var b=a.length;if(0p;p++){var q=-3*g[p]+9*h[p]-9*k[p]+3*l[p],t=6*g[p]-12*h[p]+6*k[p];m=3*h[p]-3*g[p];if(0==q)0!=t&&(m=-m/t,0m&&c[p].push(b(g[p],h[p],k[p],l[p],m))); else{var A=t*t-4*m*q;0m&&c[p].push(b(g[p],h[p],k[p],l[p],m)),m=(-t-Math.sqrt(A))/(2*q),0m&&c[p].push(b(g[p],h[p],k[p],l[p],m))):0==A&&(m=-t/(2*q),0m&&c[p].push(b(g[p],h[p],k[p],l[p],m)))}}}d=new B(Math.min.apply(null,c[0]),Math.min.apply(null,c[1]),0,0);d.width=Math.max.apply(null,c[0])-d.left;d.height=Math.max.apply(null,c[1])-d.top;return d} function Va(a){if(0==arguments.length)return null;for(var b=null,c=!1,d=0,e=arguments.length;db.length){c.push(Hc(a)+"(");for(var d=a.arguments,e=0;d&&e=a.keyCode)a.keyCode=-1}catch(b){}};var Xc="closure_listenable_"+(1E6*Math.random()|0);function Yc(a){return!(!a||!a[Xc])}var Zc=0;function $c(a,b,c,d,e){this.listener=a;this.proxy=null;this.src=b;this.type=c;this.capture=!!d;this.od=e;this.key=++Zc;this.bc=this.Wc=!1}function ad(a){a.bc=!0;a.listener=null;a.proxy=null;a.src=null;a.od=null};function bd(a){this.src=a;this.b={};this.c=0}bd.prototype.add=function(a,b,c,d,e){var g=a.toString();a=this.b[g];a||(a=this.b[g]=[],this.c++);var h=cd(a,b,d,e);-1=a.keyCode)a.keyCode=-1}catch(b){}};var Xc="closure_listenable_"+(1E6*Math.random()|0);function Yc(a){return!(!a||!a[Xc])}var Zc=0;function $c(a,b,c,d,e){this.listener=a;this.proxy=null;this.src=b;this.type=c;this.capture=!!d;this.pd=e;this.key=++Zc;this.bc=this.Xc=!1}function ad(a){a.bc=!0;a.listener=null;a.proxy=null;a.src=null;a.pd=null};function bd(a){this.src=a;this.b={};this.c=0}bd.prototype.add=function(a,b,c,d,e){var g=a.toString();a=this.b[g];a||(a=this.b[g]=[],this.c++);var h=cd(a,b,d,e);-1c.keyCode||void 0!=c.returnValue)){a:{var g=!1;if(0==c.keyCode)try{c.keyCode=-1;break a}catch(l){g=!0}if(g||void 0==c.returnValue)c.returnValue=!0}c=[];for(g=d.c;g;g=g.parentNode)c.push(g);g=a.type;for(var h=c.length-1;!d.i&&0<=h;h--){d.c=c[h];var k=sd(c[h],g,!0,d);e=e&&k}for(h=0;!d.i&&h>>0);function jd(a){if("function"==ea(a))return a;a[ud]||(a[ud]=function(b){return a.handleEvent(b)});return a[ud]};x("acgraph.events.listen",hd);x("acgraph.events.listenOnce",id);x("acgraph.events.unlisten",pd);x("acgraph.events.unlistenByKey",qd);x("acgraph.events.removeAll",rd);var vd=!F||9<=Number(xc),wd=F||hc||kc;var xd={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0};function yd(){this.b="";this.c=zd}yd.prototype.sb=!0;yd.prototype.Ha=function(){return this.b};yd.prototype.toString=function(){return"Const{"+this.b+"}"};function Ad(a){return a instanceof yd&&a.constructor===yd&&a.c===zd?a.b:"type_error:Const"}var zd={};function Bd(a){var b=new yd;b.b=a;return b}Bd("");function Cd(){this.b=Dd}Cd.prototype.sb=!0;Cd.prototype.Ha=function(){return""};Cd.prototype.se=!0;Cd.prototype.Xb=function(){return 1};var Dd={};function Ed(){this.b="";this.c=Fd}Ed.prototype.sb=!0;Ed.prototype.Ha=function(){return this.b};Ed.prototype.se=!0;Ed.prototype.Xb=function(){return 1};function Gd(a){if(a instanceof Ed&&a.constructor===Ed&&a.c===Fd)return a.b;ea(a);return"type_error:SafeUrl"}var Hd=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;function Id(a){if(a instanceof Ed)return a;a=a.sb?a.Ha():String(a);Hd.test(a)||(a="about:invalid#zClosurez");return Jd(a)}var Fd={};function Jd(a){var b=new Ed;b.b=a;return b}Jd("about:blank");function Kd(){this.b="";this.c=Ld}Kd.prototype.sb=!0;var Ld={};Kd.prototype.Ha=function(){return this.b};function Md(a){var b=new Kd;b.b=a;return b}var Nd=Md("");function Od(a){if(a instanceof Ed)a='url("'+Gd(a).replace(/>>0);function jd(a){if("function"==ea(a))return a;a[ud]||(a[ud]=function(b){return a.handleEvent(b)});return a[ud]};x("acgraph.events.listen",hd);x("acgraph.events.listenOnce",id);x("acgraph.events.unlisten",pd);x("acgraph.events.unlistenByKey",qd);x("acgraph.events.removeAll",rd);var vd=!F||9<=Number(xc),wd=F||hc||kc;var xd={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0};function yd(){this.b="";this.c=zd}yd.prototype.sb=!0;yd.prototype.Ha=function(){return this.b};yd.prototype.toString=function(){return"Const{"+this.b+"}"};function Ad(a){return a instanceof yd&&a.constructor===yd&&a.c===zd?a.b:"type_error:Const"}var zd={};function Bd(a){var b=new yd;b.b=a;return b}Bd("");function Cd(){this.b=Dd}Cd.prototype.sb=!0;Cd.prototype.Ha=function(){return""};Cd.prototype.ue=!0;Cd.prototype.Xb=function(){return 1};var Dd={};function Ed(){this.b="";this.c=Fd}Ed.prototype.sb=!0;Ed.prototype.Ha=function(){return this.b};Ed.prototype.ue=!0;Ed.prototype.Xb=function(){return 1};function Gd(a){if(a instanceof Ed&&a.constructor===Ed&&a.c===Fd)return a.b;ea(a);return"type_error:SafeUrl"}var Hd=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;function Id(a){if(a instanceof Ed)return a;a=a.sb?a.Ha():String(a);Hd.test(a)||(a="about:invalid#zClosurez");return Jd(a)}var Fd={};function Jd(a){var b=new Ed;b.b=a;return b}Jd("about:blank");function Kd(){this.b="";this.c=Ld}Kd.prototype.sb=!0;var Ld={};Kd.prototype.Ha=function(){return this.b};function Md(a){var b=new Kd;b.b=a;return b}var Nd=Md("");function Od(a){if(a instanceof Ed)a='url("'+Gd(a).replace(/",0);Yd("",0);Yd("
",0);function de(a){return a?new ee(fe(a)):ta||(ta=new ee)}function ge(a){var b=document;return u(a)?b.getElementById(a):a}function he(a,b){return(b||document).getElementsByTagName(String(a))}function ie(a,b){var c=document;c=b||c;var d=a&&"*"!=a?String(a).toUpperCase():"";return c.querySelectorAll&&c.querySelector&&d?c.querySelectorAll(d):c.getElementsByTagName(d||"*")} function je(a,b){Sb(b,function(b,d){b&&b.sb&&(b=b.Ha());"style"==d?a.style.cssText=b:"class"==d?a.className=b:"for"==d?a.htmlFor=b:ke.hasOwnProperty(d)?a.setAttribute(ke[d],b):0==d.lastIndexOf("aria-",0)||0==d.lastIndexOf("data-",0)?a.setAttribute(d,b):a[d]=b})}var ke={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",nonce:"nonce",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"}; @@ -69,10 +69,10 @@ function ne(a,b){var c=String(b[0]),d=b[1];if(!vd&&d&&(d.name||d.type)){c=["<",c function oe(a,b,c){function d(c){c&&b.appendChild(u(c)?a.createTextNode(c):c)}for(var e=2;el&&(l=0);l=Math.sqrt(l);g==h&&(l=-l);g=l*d*c/e;k=-l*e*b/d;l=ab(1,0,(b-g)/d,(c-k)/e);b=ab((b-g)/d,(c-k)/e,(-b-g)/d,(-c-k)/e)%360;!h&&0b&&(b+=360);return Ff(a,d,e,l,b)} -function Ff(a,b,c,d,e){if(0==a.c.length)throw Cc(9);if(0==e)return a;var g=a.J[0]-Ma(d,b),h=a.J[1]-Na(d,c);var k=Math.ceil(Math.abs(e)/359.999-2E-15);for(var l=e/k,m=0;mg;p+=m)switch((Math.floor(p/90)+4)%4){case 0:h.push(a+c);break;case 1:k.push(b+d);break;case 2:h.push(a-c);break;case 3:k.push(b-d)}l.left=Math.min.apply(null,h);l.width=Math.max.apply(null,h)-l.left;l.top=Math.min.apply(null,k);l.height=Math.max.apply(null,k)-l.top;Sa(this.rect,l)};Gf=If; -P.prototype.Qc=function(){var a=0;if(0==this.c.length)return a;var b=[];this.qe(function(c,d){if(1!=c){var e=Ga(b,b.length-2);if(4==c){var g=6;d=Ta(e[0]-Ma(d[2],d[0]),e[1]-Na(d[2],d[1]),d[0],d[1],d[2],d[3])}else 2==c?g=2:3==c&&(g=6);for(var h=0,k=d.length-(g-1);h=q;q++){m=q/100;var D={x:0,y:0};if(0===m)p.push(A[0]);else if(1===m)p.push(A[t]); +P.prototype.Qc=function(){var a=0;if(0==this.c.length)return a;var b=[];this.se(function(c,d){if(1!=c){var e=Ga(b,b.length-2);if(4==c){var g=6;d=Ta(e[0]-Ma(d[2],d[0]),e[1]-Na(d[2],d[1]),d[0],d[1],d[2],d[3])}else 2==c?g=2:3==c&&(g=6);for(var h=0,k=d.length-(g-1);h=q;q++){m=q/100;var D={x:0,y:0};if(0===m)p.push(A[0]);else if(1===m)p.push(A[t]); else{var w=A,I=1-m;if(1===t)m={x:I*w[0].x+m*w[1].x,y:I*w[0].y+m*w[1].y},p.push(m);else if(4>t){var U=I*I,N=m*m,K=0;if(2===t){w=[w[0],w[1],w[2],D];var pb=U;var zb=I*m*2;var Xa=N}else 3===t&&(pb=U*I,zb=U*m*3,Xa=I*N*3,K=m*N);m={x:pb*w[0].x+zb*w[1].x+Xa*w[2].x+K*w[3].x,y:pb*w[0].y+zb*w[1].y+Xa*w[2].y+K*w[3].y};p.push(m)}else{for(w=JSON.parse(JSON.stringify(A));1d.length?d=c=g=e=parseFloat(d[0]):(e=parseFloat(d[0]),g=parseFloat(d[1]),c=parseFloat(d[2]),d=parseFloat(d[3]));this.w[0]=e?e:0;this.v[0]=e?a:void 0;this.w[1]=g?g:0;this.v[1]=g?a:void 0;this.w[2]=c?c:0;this.v[2]=c?a:void 0;this.w[3]=d?d:0;this.v[3]=d?a:void 0}; -function Nf(a){var b=!a.u()||a.u().da();b||a.u().suspend();Df(a);var c=a.w[0];a.vd(a.b.left+c,a.b.top);c=a.w[1];a.Ba(a.b.left+a.b.width-a.w[1],a.b.top);if(a.v[1])switch(a.v[1]){case "round":Ef(a,a.b.left+a.b.width,a.b.top+c,c,c,!1,!0);break;case "round-inner":Ef(a,a.b.left+a.b.width,a.b.top+c,c,c,!1,!1);break;case "cut":a.Ba(a.b.left+a.b.width,a.b.top+c)}c=a.w[2];a.Ba(a.b.left+a.b.width,a.b.top+a.b.height-c);if(a.v[2])switch(a.v[2]){case "round":Ef(a,a.b.left+a.b.width-c,a.b.top+a.b.height,c,c,!1, +P.prototype.K=function(){var a=P.m.K.call(this);a.type="path";return a=Jf(this,a)};P.prototype.A=function(){this.J=this.Ua=null;this.M();this.Ca=null;delete this.c;delete this.f;delete this.g;P.m.A.call(this)};function Bf(a){a.c.length=0;a.f.length=0;a.g.length=0;a.M();a.Ca=null;delete a.Ua;delete a.J;delete a.Ne};function Kf(){P.call(this)}y(Kf,P);f=Kf.prototype;f.sg=function(){return Df(this)};f.moveTo=function(a,b){return this.wd(a,b)};f.lineTo=function(a,b,c){return P.prototype.Ba.apply(this,arguments)};f.Bg=function(a,b,c,d,e,g,h){return P.prototype.bd.apply(this,arguments)};f.$d=function(a,b,c,d,e){return P.prototype.eh.apply(this,arguments)};f.uc=function(a,b,c,d,e,g,h){a+=Ma(e,c);b+=Na(e,d);this.J&&this.J[0]==a&&this.J[1]==b||(h?this.Ba(a,b):this.wd(a,b));return Ff(this,c,d,e,g)}; +f.Ra=function(a,b,c,d,e,g){return Ef(this,a,b,c,d,e,g)};f.rg=function(a,b,c,d){return Ff(this,a,b,c,d)};f.vg=function(a,b,c,d){return this.bf(a,b,c,d)};f.close=function(){return this.ie()};f.Mg=function(){return this.J?new Oa(this.J[0],this.J[1]):null};var Lf=Kf.prototype;x("acgraph.vector.Path",Kf);Lf.moveTo=Lf.moveTo;Lf.lineTo=Lf.lineTo;Lf.curveTo=Lf.Bg;Lf.quadraticCurveTo=Lf.$d;Lf.arcTo=Lf.rg;Lf.arcToByEndPoint=Lf.Ra;Lf.arcToAsCurves=Lf.vg;Lf.circularArc=Lf.uc;Lf.close=Lf.close;Lf.clear=Lf.sg; +Lf.getCurrentPoint=Lf.Mg;Lf.getLength=Lf.Qc;function Mf(a,b,c,d){this.b=new B(a||0,b||0,c||0,d||0);this.v=[];this.w=[0,0,0,0];P.call(this);Nf(this)}y(Mf,P);f=Mf.prototype;f.Z=pf.prototype.Z|32;f.ga=function(){return"rect"};f.Le=function(a){a!=this.b.left&&(this.b.left=a,Nf(this));return this};f.Me=function(a){a!=this.b.top&&(this.b.top=a,Nf(this));return this};f.Ke=function(a){this.b.width!=a&&(this.b.width=a,Nf(this));return this};f.Fe=function(a){this.b.height!=a&&(this.b.height=a,Nf(this));return this}; +f.ih=function(a){var b=this.b;b==a||b&&a&&b.left==a.left&&b.width==a.width&&b.top==a.top&&b.height==a.height||(this.b.left=a.left,this.b.top=a.top,this.b.width=a.width,this.b.height=a.height,Nf(this));return this}; +f.Ce=function(a,b){var c,d;var e=Ga(arguments,1);var g=e[0];u(g)?d=sb(g,4):d=e;4>d.length?d=c=g=e=parseFloat(d[0]):(e=parseFloat(d[0]),g=parseFloat(d[1]),c=parseFloat(d[2]),d=parseFloat(d[3]));this.w[0]=e?e:0;this.v[0]=e?a:void 0;this.w[1]=g?g:0;this.v[1]=g?a:void 0;this.w[2]=c?c:0;this.v[2]=c?a:void 0;this.w[3]=d?d:0;this.v[3]=d?a:void 0}; +function Nf(a){var b=!a.u()||a.u().da();b||a.u().suspend();Df(a);var c=a.w[0];a.wd(a.b.left+c,a.b.top);c=a.w[1];a.Ba(a.b.left+a.b.width-a.w[1],a.b.top);if(a.v[1])switch(a.v[1]){case "round":Ef(a,a.b.left+a.b.width,a.b.top+c,c,c,!1,!0);break;case "round-inner":Ef(a,a.b.left+a.b.width,a.b.top+c,c,c,!1,!1);break;case "cut":a.Ba(a.b.left+a.b.width,a.b.top+c)}c=a.w[2];a.Ba(a.b.left+a.b.width,a.b.top+a.b.height-c);if(a.v[2])switch(a.v[2]){case "round":Ef(a,a.b.left+a.b.width-c,a.b.top+a.b.height,c,c,!1, !0);break;case "round-inner":Ef(a,a.b.left+a.b.width-c,a.b.top+a.b.height,c,c,!1,!1);break;case "cut":a.Ba(a.b.left+a.b.width-c,a.b.top+a.b.height)}c=a.w[3];a.Ba(a.b.left+c,a.b.top+a.b.height);if(a.v[3])switch(a.v[3]){case "round":Ef(a,a.b.left,a.b.top+a.b.height-c,c,c,!1,!0);break;case "round-inner":Ef(a,a.b.left,a.b.top+a.b.height-c,c,c,!1,!1);break;case "cut":a.Ba(a.b.left,a.b.top+a.b.height-c)}c=a.w[0];a.Ba(a.b.left,a.b.top+c);if(a.v[0])switch(a.v[0]){case "round":Ef(a,a.b.left+c,a.b.top,c,c, -!1,!0);break;case "round-inner":Ef(a,a.b.left+c,a.b.top,c,c,!1,!1)}a.ie();b||a.u().resume()}f.round=function(a,b,c,d){Fa(arguments,0,0,"round");this.Ae.apply(this,arguments);Nf(this);return this};f.eh=function(a,b,c,d){Fa(arguments,0,0,"round-inner");this.Ae.apply(this,arguments);Nf(this);return this};f.Ag=function(a,b,c,d){Fa(arguments,0,0,"cut");this.Ae.apply(this,arguments);Nf(this);return this}; -f.F=function(a){Mf.m.F.call(this,a);this.Je(a.x).Ke(a.y).Ie(a.width).De(a.height);a.cornerTypes&&(this.v=sb(a.cornerTypes,4),a=sb(a.cornerSizes,4),wa(a,function(a,c,d){d[c]=parseFloat(a)}),this.w=a,Nf(this))};f.K=function(){var a=Mf.m.K.call(this);a.type="rect";a.x=this.b.left;a.y=this.b.top;a.width=this.b.width;a.height=this.b.height;a.cornerTypes=this.v.join(" ");a.cornerSizes=this.w.join(" ");return a};f.A=function(){this.b=this.v=this.w=null;this.M();Mf.m.A.call(this)};var Of=Mf.prototype; -x("acgraph.vector.Rect",Mf);Of.setX=Of.Je;Of.setY=Of.Ke;Of.setWidth=Of.Ie;Of.setHeight=Of.De;Of.setBounds=Of.gh;Of.cut=Of.Ag;Of.round=Of.round;Of.roundInner=Of.eh;function of(a,b,c,d,e){Nc.call(this);this.c=a;this.g=!1;this.f=[];this.b=this.V=null;this.jb.apply(this,Ga(arguments,1))}y(of,Nc);function Pf(a,b){if(r(b)){a.c=b;if(a.g){var c=a.c;c.da()?c.ob.push(a):a.P()}return a}return a.c}var Qf={rect:Mf,circle:wf,ellipse:uf,path:Kf};f=of.prototype; +!1,!0);break;case "round-inner":Ef(a,a.b.left+c,a.b.top,c,c,!1,!1)}a.ie();b||a.u().resume()}f.round=function(a,b,c,d){Fa(arguments,0,0,"round");this.Ce.apply(this,arguments);Nf(this);return this};f.gh=function(a,b,c,d){Fa(arguments,0,0,"round-inner");this.Ce.apply(this,arguments);Nf(this);return this};f.Cg=function(a,b,c,d){Fa(arguments,0,0,"cut");this.Ce.apply(this,arguments);Nf(this);return this}; +f.F=function(a){Mf.m.F.call(this,a);this.Le(a.x).Me(a.y).Ke(a.width).Fe(a.height);a.cornerTypes&&(this.v=sb(a.cornerTypes,4),a=sb(a.cornerSizes,4),wa(a,function(a,c,d){d[c]=parseFloat(a)}),this.w=a,Nf(this))};f.K=function(){var a=Mf.m.K.call(this);a.type="rect";a.x=this.b.left;a.y=this.b.top;a.width=this.b.width;a.height=this.b.height;a.cornerTypes=this.v.join(" ");a.cornerSizes=this.w.join(" ");return a};f.A=function(){this.b=this.v=this.w=null;this.M();Mf.m.A.call(this)};var Of=Mf.prototype; +x("acgraph.vector.Rect",Mf);Of.setX=Of.Le;Of.setY=Of.Me;Of.setWidth=Of.Ke;Of.setHeight=Of.Fe;Of.setBounds=Of.ih;Of.cut=Of.Cg;Of.round=Of.round;Of.roundInner=Of.gh;function of(a,b,c,d,e){Nc.call(this);this.c=a;this.g=!1;this.f=[];this.b=this.V=null;this.jb.apply(this,Ga(arguments,1))}y(of,Nc);function Pf(a,b){if(r(b)){a.c=b;if(a.g){var c=a.c;c.da()?c.ob.push(a):a.P()}return a}return a.c}var Qf={rect:Mf,circle:wf,ellipse:uf,path:Kf};f=of.prototype; f.jb=function(a,b,c,d){if(arguments.length){if(C(a,pf))if(this.b){var e=!1;for(h in Qf){var g=Qf[h];if(C(this.b,g)&&C(a,g)){e=!0;break}}e?this.b.F(a.K()):(this.b.parent(null),this.b=a,this.b.parent(this))}else this.b=a,this.b.parent(this);else{if(C(a,B)){e=a.left;var h=a.top;g=a.width;var k=a.height}else fa(a)?(e=null!=a[0]?a[0]:0,h=null!=a[1]?a[1]:0,g=null!=a[2]?a[2]:0,k=null!=a[3]?a[3]:0):ia(a)?(e=null!=a.left?a.left:0,h=null!=a.top?a.top:0,g=null!=a.width?a.width:0,k=null!=a.height?a.height:0): -(e=null!=a?a:0,h=null!=b?b:0,g=null!=c?c:0,k=null!=d?d:0);this.b?C(this.b,Mf)?this.b.Je(e).Ke(h).Ie(g).De(k):(this.b.parent(null),this.b=Rf(e,h,g,k),this.b.parent(this)):(this.b=Rf(e,h,g,k),this.b.parent(this))}return this}return this.b};f.La=function(){return this.g};function Sf(a){if(!a.g&&(a.g=!0,a.c)){var b=a.c;b.da()?b.ob.push(a):a.P()}}f.id=function(a){return r(a)?(this.V=a,this):this.V}; +(e=null!=a?a:0,h=null!=b?b:0,g=null!=c?c:0,k=null!=d?d:0);this.b?C(this.b,Mf)?this.b.Le(e).Me(h).Ke(g).Fe(k):(this.b.parent(null),this.b=Rf(e,h,g,k),this.b.parent(this)):(this.b=Rf(e,h,g,k),this.b.parent(this))}return this}return this.b};f.La=function(){return this.g};function Sf(a){if(!a.g&&(a.g=!0,a.c)){var b=a.c;b.da()?b.ob.push(a):a.P()}}f.id=function(a){return r(a)?(this.V=a,this):this.V}; f.P=function(){this.g=!1;if(this.V){L();var a=this.jb();if(a.h())this.jb().P();else{var b=Tf(this.u().ta,this);a.P();b.appendChild(a.h())}}};f.K=function(){return this.b.K()};f.F=function(a){var b=Qf[a.type];b&&(b=new b,b.F(a),this.jb(b))};f.nb=function(a){a.remove();ef(a,this);Sf(this);ff(a,!0);return this};f.removeChild=function(a){ef(a,null);var b=a.h();b&&G(b);Sf(this);ff(a,!1);return a};f.aa=function(){return null};f.Ec=function(){};f.u=function(){return Pf(this)};f.j=function(){Sf(this)}; -f.R=function(){of.m.R.call(this)};f.A=function(){this.c&&Aa(this.c.ob,this);L().xf(this);this.b.R();delete this.c;delete this.V;delete this.f;delete this.g;delete this.b;of.m.A.call(this)};var Uf=of.prototype;Uf.shape=Uf.jb;Uf.dispose=Uf.R;function Q(){this.b=[];this.f=[];J.call(this)}y(Q,J);f=Q.prototype;f.ga=function(){return"layer"};f.Z=J.prototype.Z|224;f.zd=function(){for(var a=0;aa||a>=this.Ma()||0>b||b>=this.Ma())throw Cc(8);if(a!=b){var c=this.b[a];this.b[a]=this.b[b];this.b[b]=c;this.j(128)}return this};f.pd=function(a){return!!a&&0<=va(this.b,a)};f.Ma=function(){return this.b.length};f.yc=function(a,b){r(b)||(b=this);wa(this.b,a,b);return this};f.Zb=function(){var a=Vf();a.parent(this);return a};f.Xd=function(){var a=new Wf(void 0);a.parent(this);return a};f.text=function(a,b,c,d){a=Xf(a,b);d&&a.style(d);c&&a.text(c);a.parent(this);return a}; -f.rd=function(a,b,c,d){a=Xf(a,b);d&&a.style(d);c&&a.be(c);a.parent(this);return a};f.rect=function(a,b,c,d){a=Rf(a,b,c,d);a.parent(this);return a};f.Ka=function(a,b,c,d,e){a=Yf(a,b,c,d,e);a.parent(this);return a};f.Ed=function(a,b){var c=this.path();Fa(arguments,0,0,c);return Zf.apply(this,arguments).parent(this)};f.Dd=function(a,b){var c=this.path();Fa(arguments,0,0,c);return $f.apply(this,arguments).parent(this)};f.Vd=function(a,b){var c=this.path();Fa(arguments,0,0,c);return ag.apply(this,arguments).parent(this)}; -f.Tb=function(a,b,c){a=bg(a,b,c);a.parent(this);return a};f.ellipse=function(a,b,c,d){a=cg(a,b,c,d);a.parent(this);return a};f.path=function(){return dg().parent(this)};f.Kd=function(a,b,c,d,e,g,h){return eg(this.path(),a,b,c,d,e,g,h).parent(this)};f.Md=function(a,b,c){return fg(this.path(),a,b,c).parent(this)};f.Nd=function(a,b,c){return gg(this.path(),a,b,c).parent(this)};f.Od=function(a,b,c){return hg(this.path(),a,b,c).parent(this)};f.Pd=function(a,b,c){return ig(this.path(),a,b,c).parent(this)}; -f.Ld=function(a,b,c){return jg(this.path(),a,b,c).parent(this)};f.Ud=function(a,b,c){return kg(this.path(),a,b,c).parent(this)};f.Rd=function(a,b,c){return lg(this.path(),a,b,c).parent(this)};f.Td=function(a,b,c){return mg(this.path(),a,b,c).parent(this)};f.Sd=function(a,b,c){return ng(this.path(),a,b,c).parent(this)};f.cd=function(a,b,c){return og(this.path(),a,b,c).parent(this)};f.Yc=function(a,b,c){return pg(this.path(),a,b,c).parent(this)};f.bd=function(a,b,c){return qg(this.path(),a,b,c).parent(this)}; -f.nd=function(a,b,c){return rg(this.path(),a,b,c).parent(this)};f.Yd=function(a,b,c){return sg(this.path(),a,b,c).parent(this)};f.yd=function(a,b,c,d,e){return tg(this.path(),a,b,c,d,e).parent(this)};f.ed=function(a,b,c,d,e,g){return ug(this.path(),a,b,c,d,e,g).parent(this)};f.Ga=function(){return L().vc()}; -f.T=function(){this.D(32)&&this.Re();var a=this.u();a=a.qc(Math.floor(Math.max(500-a.Aa,0)/3));this.D(64)&&vg(this);var b=this.u();b.Aa-=a;if(this.D(128)&&(a=this.u().qc(this.b.length+this.f.length+1),b=wg(this,a),ba||a>=this.Ma()||0>b||b>=this.Ma())throw Cc(8);if(a!=b){var c=this.b[a];this.b[a]=this.b[b];this.b[b]=c;this.j(128)}return this};f.qd=function(a){return!!a&&0<=va(this.b,a)};f.Ma=function(){return this.b.length};f.yc=function(a,b){r(b)||(b=this);wa(this.b,a,b);return this};f.Zb=function(){var a=Vf();a.parent(this);return a};f.Yd=function(){var a=new Wf(void 0);a.parent(this);return a};f.text=function(a,b,c,d){a=Xf(a,b);d&&a.style(d);c&&a.text(c);a.parent(this);return a}; +f.sd=function(a,b,c,d){a=Xf(a,b);d&&a.style(d);c&&a.be(c);a.parent(this);return a};f.rect=function(a,b,c,d){a=Rf(a,b,c,d);a.parent(this);return a};f.Ka=function(a,b,c,d,e){a=Yf(a,b,c,d,e);a.parent(this);return a};f.Fd=function(a,b){var c=this.path();Fa(arguments,0,0,c);return Zf.apply(this,arguments).parent(this)};f.Ed=function(a,b){var c=this.path();Fa(arguments,0,0,c);return $f.apply(this,arguments).parent(this)};f.Wd=function(a,b){var c=this.path();Fa(arguments,0,0,c);return ag.apply(this,arguments).parent(this)}; +f.Tb=function(a,b,c){a=bg(a,b,c);a.parent(this);return a};f.ellipse=function(a,b,c,d){a=cg(a,b,c,d);a.parent(this);return a};f.path=function(){return dg().parent(this)};f.Ld=function(a,b,c,d,e,g,h){return eg(this.path(),a,b,c,d,e,g,h).parent(this)};f.Nd=function(a,b,c){return fg(this.path(),a,b,c).parent(this)};f.Od=function(a,b,c){return gg(this.path(),a,b,c).parent(this)};f.Pd=function(a,b,c){return hg(this.path(),a,b,c).parent(this)};f.Qd=function(a,b,c){return ig(this.path(),a,b,c).parent(this)}; +f.Md=function(a,b,c){return jg(this.path(),a,b,c).parent(this)};f.Vd=function(a,b,c){return kg(this.path(),a,b,c).parent(this)};f.Sd=function(a,b,c){return lg(this.path(),a,b,c).parent(this)};f.Ud=function(a,b,c){return mg(this.path(),a,b,c).parent(this)};f.Td=function(a,b,c){return ng(this.path(),a,b,c).parent(this)};f.dd=function(a,b,c){return og(this.path(),a,b,c).parent(this)};f.Zc=function(a,b,c){return pg(this.path(),a,b,c).parent(this)};f.cd=function(a,b,c){return qg(this.path(),a,b,c).parent(this)}; +f.od=function(a,b,c){return rg(this.path(),a,b,c).parent(this)};f.Zd=function(a,b,c){return sg(this.path(),a,b,c).parent(this)};f.zd=function(a,b,c,d,e){return tg(this.path(),a,b,c,d,e).parent(this)};f.fd=function(a,b,c,d,e,g){return ug(this.path(),a,b,c,d,e,g).parent(this)};f.Ga=function(){return L().vc()}; +f.T=function(){this.D(32)&&this.Te();var a=this.u();a=a.qc(Math.floor(Math.max(500-a.Aa,0)/3));this.D(64)&&vg(this);var b=this.u();b.Aa-=a;if(this.D(128)&&(a=this.u().qc(this.b.length+this.f.length+1),b=wg(this,a),b=b&&(p=!1);if(p){for(;l=b&&(p=!1);if(p){for(;l @@ -171,13 +171,13 @@ pa(Bg,2,2,[0,0,1,1]);a["percent-60"]=pa(Bg,4,4,[0,0,2,0,0,1,1,1,3,1,0,2,2,2,1,3, function Fg(a,b,c){for(var d=Ig(a),e=0;e=a?c=180+c:270=a&&(c=360+c);return c%360}f=Rg.prototype;f.Zf=ca;f.He=ca;f.Be=ca;function S(a,b,c){for(var d in c)a.s(b,d,c[d])}f.s=function(a,b,c){a.setAttribute(b,c)};function nf(a,b,c){b&&(c?a.s(b,"id",c):b.removeAttribute("id"))} -function Xg(a,b,c){if(0==b.c.length)return null;var d=[],e=a.Lf;(c?b.Fg:b.qe).call(b,function(a,b){var c=e[a];c&&(d.push(c),4==a?this.Mf(d,b):5!=a&&this.Nf(d,b))},a);return d.join(" ")}f.Mf=function(a,b){var c=b[3];a.push(b[0],b[1],0,180=a?c=180+c:270=a&&(c=360+c);return c%360}f=Rg.prototype;f.ag=ca;f.Je=ca;f.De=ca;function S(a,b,c){for(var d in c)a.s(b,d,c[d])}f.s=function(a,b,c){a.setAttribute(b,c)};function nf(a,b,c){b&&(c?a.s(b,"id",c):b.removeAttribute("id"))} +function Xg(a,b,c){if(0==b.c.length)return null;var d=[],e=a.Nf;(c?b.Fg:b.se).call(b,function(a,b){var c=e[a];c&&(d.push(c),4==a?this.Of(d,b):5!=a&&this.Pf(d,b))},a);return d.join(" ")}f.Of=function(a,b){var c=b[3];a.push(b[0],b[1],0,180b?1:u(a)&&vb(a,"%")?1+parseFloat(a)/100:a} -f.de=function(a){null!=a&&(this.f=a);return vh(this,"textIndent",a)};f.zb=function(a){if(r(a))if("center"==a)a="middle";else{var b=!1;Sb(sh,function(c){a==c&&(b=!0)});b||(a="top")}return vh(this,"vAlign",a)};f.Ja=function(a){if(r(a))if("middle"==a)a="center";else{var b=!1;Sb(rh,function(c){a==c&&(b=!0)});b||(a=T)}return vh(this,"hAlign",a)};f.og=function(a){return vh(this,"wordBreak",a)};f.Ve=function(a){return vh(this,"wordWrap",a)}; +f.de=function(a){null!=a&&(this.f=a);return vh(this,"textIndent",a)};f.zb=function(a){if(r(a))if("center"==a)a="middle";else{var b=!1;Sb(sh,function(c){a==c&&(b=!0)});b||(a="top")}return vh(this,"vAlign",a)};f.Ja=function(a){if(r(a))if("middle"==a)a="center";else{var b=!1;Sb(rh,function(c){a==c&&(b=!0)});b||(a=T)}return vh(this,"hAlign",a)};f.qg=function(a){return vh(this,"wordBreak",a)};f.Xe=function(a){return vh(this,"wordWrap",a)}; f.lb=function(a){null!=a&&(this.hb=a);return vh(this,"textOverflow",a)};f.Ic=function(a){return vh(this,"selectable",a)};f.path=function(a){return r(a)?(this.Qa=a,this.u()&&this.Qa.parent(this.u().ta),(a=!this.u()||this.u().da())||this.u().suspend(),this.H=!1,this.j(17504),this.gb(),a||this.u().resume(),this):this.Qa}; f.style=function(a){if(null!=a){Sb(a,function(a,b){var c=b;switch(b){case "fontDecoration":case "textDecoration":c="decoration";break;case "fontColor":c="color";break;case "fontOpacity":c="opacity"}this.o[c]=a},this);this.ka=parseFloat(this.o.width)||0;this.ua=parseFloat(this.o.height)||0;this.o.lineHeight&&(this.ib=wh(this.o.lineHeight));var b=this.o.vAlign;if(null!=b)if("center"==b)this.o.vAlign="middle";else{var c=!1;Sb(sh,function(a){b==a&&(c=!0)});c||(this.o.vAlign="top")}var d=this.o.hAlign; null!=d&&("middle"==d?this.o.hAlign="center":(c=!1,Sb(rh,function(a){d==a&&(c=!0)}),c||(this.o.hAlign=T)));null!=this.o.direction&&(this.v="rtl"==this.o.direction);null!=this.o.textOverflow&&(this.hb=this.o.textOverflow);null!=this.o.textIndent&&(this.f=this.o.textIndent);this.v&&(this.f=0);(a=!this.u()||this.u().da())||this.u().suspend();this.H=!1;this.j(1024);this.j(32);this.j(16384);this.j(4);this.gb();a||this.u().resume();return this}return this.o}; f.text=function(a){return r(a)?(a!=this.Fa&&(this.Fa=String(a),this.fc=!1,(a=!this.u()||this.u().da())||this.u().suspend(),this.H=!1,this.j(1024),this.j(32),this.j(16384),this.gb(),a||this.u().resume()),this):this.Fa};f.be=function(a){return r(a)?(a!=this.Fa&&(this.Fa=String(a),this.fc=!0,(a=!this.u()||this.u().da())||this.u().suspend(),this.H=!1,this.j(1024),this.j(32),this.j(16384),this.gb(),a||this.u().resume()),this):this.Fa};f.ga=function(){return"text"};f.pa=function(){return this.Na.clone()}; f.Ya=function(a){this.H||this.Mb();return a?nh.m.Ya.call(this,a):this.Rb(null)}; -f.Rb=function(a){if(this.path())if(this.he)var b=this.he;else{b=L();b.Va();this.H||this.Mb();var c=this.path();c.h()||kf(c,!0);b.Ee(c);var d=c.h().parentNode;b.c.appendChild(c.h());d||(d=yb(xb.na(),c.h(),"path"),nf(b,c.h(),d));this.h()||kf(this,!0);this.ye();this.Uc();L().Ge(this);M(this,1024);this.Cd();this.cb();d=yb(xb.na(),c.h(),"path");c=xh();this.ea.setAttributeNS("http://www.w3.org/1999/xlink","href",c+"#"+d);c=this.h();d=c.parentNode;b.va.appendChild(c);b=this.h().getBBox();d&&d.appendChild(c); -b=new B(b.x,b.y,b.width,b.height)}else b=this.Na.clone();return Ya(b,a)};f.M=function(){nh.m.M.call(this);this.he=null};f.If=function(a){for(var b=L().g,c=arguments,d={},e=0,g=b.length;ee&&1e&&1a.ka?a.ka-d.width-e:a.f,0>a.f&&(a.f=0));a.Y=Math.max(a.Y,d.height);a.w+=d.width;0==a.b.length&&(a.w+=a.f);a.N=Math.max(a.N,c.f);a.dc=a.c.length?a.dc&&0==b.length:0==b.length;a.c.push(c);a.b.push(c);c.parent(a);return c} -function Ah(a,b){var c,d=b||ua(a.ja),e=ua(d),g=a.ha(a.hb,e.b),h=a.hb,k=1a.Da){var m=yh(a,a.hb,e.b,0,a.Da,g,!0);h=a.hb.substring(0,m)}m=a.Rc;var p=a.Da;if(""==h)l=va(a.b,e)+1,Fa(a.b,l,a.b.length-l);else if(p-m>=g.width){a.c=d;l=va(a.b,e)+1;Fa(a.b,l,a.b.length-l);var q=zh(a,h,e.b,g);2==a.c.length&&""==a.c[0].text&&(q.c=a.vb-a.c[0].height,q.i=!0)}else{for(k=d.length-1;!c&&0<=k;)e=d[k],g=a.ha(h,e.b),l=a.ha(e.text, -e.b),m-l.width+g.width<=a.Da&&(c=e),m-=l.width,k--;c||1!=a.ja.length||(c=d[0],m-=l.width);c&&(a.c=d,k=a.c[0].c,p-=g.width,l=va(d,c),Fa(d,l,d.length-l),l=va(a.b,c),Fa(a.b,l,a.b.length-l),a.Y=0,a.w=0,a.N=0,l=a.ha(c.text,c.b),m=yh(a,c.text,c.b,m,p,l,!0),1>m&&(m=1),l=c.text.substring(0,m),d=a.ha(l,c.b),l=zh(a,l,c.b,d,g.width),l.x=c.x,l.y=c.y,l.Dg=!0,d.width+g.width>a.Da&&(m=yh(a,a.hb,e.b,d.width,a.Da,g,!0),h=a.hb.substring(0,m)),0a.Da){var m=yh(a,a.hb,e.b,0,a.Da,g,!0);h=a.hb.substring(0,m)}m=a.Rc;var p=a.Da;if(""==h)l=va(a.b,e)+1,Fa(a.b,l,a.b.length-l);else if(p-m>=g.width){a.c=d;l=va(a.b,e)+1;Fa(a.b,l,a.b.length-l);var q=zh(a,h,e.b,g);2==a.c.length&&""==a.c[0].text&&(q.c=a.vb-a.c[0].height,q.i=!0)}else{for(k=d.length-1;!c&&0<=k;)e=d[k],g=a.ha(h,e.b),l=a.ha(e.text, +e.b),m-l.width+g.width<=a.Da&&(c=e),m-=l.width,k--;c||1!=a.ja.length||(c=d[0],m-=l.width);c&&(a.c=d,k=a.c[0].c,p-=g.width,l=va(d,c),Fa(d,l,d.length-l),l=va(a.b,c),Fa(a.b,l,a.b.length-l),a.Y=0,a.w=0,a.N=0,l=a.ha(c.text,c.b),m=yh(a,c.text,c.b,m,p,l,!0),1>m&&(m=1),l=c.text.substring(0,m),d=a.ha(l,c.b),l=zh(a,l,c.b,d,g.width),l.x=c.x,l.y=c.y,l.Eg=!0,d.width+g.width>a.Da&&(m=yh(a,a.hb,e.b,d.width,a.Da,g,!0),h=a.hb.substring(0,m)),0a.Da&&!a.yb;){var h=yh(a,b,c,g+a.w,a.Da,e);1>h&&0==a.c.length&&(h=1);0!=h&&(g=Cb(b.substring(0,h)),e=a.ha(g,c),zh(a,g,c,e));Ch(a);1==b.length&&(a.yb=!0);g=0;b=Cb(b.substring(h,b.length));e=a.ha(b,c)}a.yb||!b.length&&!d||zh(a,b,c,e)}} -function Ch(a){if(!a.yb&&0!=a.c.length){var b=0==a.ja.length;if(a.ua&&a.g+a.Y>a.ua&&0!=a.ja.length)Ah(a),a.yb=!0;else{a.Y=u(a.ib)?parseInt(a.ib,0)+a.Y:a.ib*a.Y;if(L().Jf()){var c;var d=a.v&&a.o.hAlign==T||!a.v&&"end"==a.o.hAlign||"right"==a.o.hAlign;var e="center"==a.o.hAlign;if(a.v&&"end"==a.o.hAlign||!a.v&&a.o.hAlign==T||"left"==a.o.hAlign){e=a.v?0:a.f&&b?a.f:0;var g=0;for(c=a.c.length;ga.Da&&(1a.Da&&!a.yb;){var h=yh(a,b,c,g+a.w,a.Da,e);1>h&&0==a.c.length&&(h=1);0!=h&&(g=Cb(b.substring(0,h)),e=a.ha(g,c),zh(a,g,c,e));Ch(a);1==b.length&&(a.yb=!0);g=0;b=Cb(b.substring(h,b.length));e=a.ha(b,c)}a.yb||!b.length&&!d||zh(a,b,c,e)}} +function Ch(a){if(!a.yb&&0!=a.c.length){var b=0==a.ja.length;if(a.ua&&a.g+a.Y>a.ua&&0!=a.ja.length)Ah(a),a.yb=!0;else{a.Y=u(a.ib)?parseInt(a.ib,0)+a.Y:a.ib*a.Y;if(L().Lf()){var c;var d=a.v&&a.o.hAlign==T||!a.v&&"end"==a.o.hAlign||"right"==a.o.hAlign;var e="center"==a.o.hAlign;if(a.v&&"end"==a.o.hAlign||!a.v&&a.o.hAlign==T||"left"==a.o.hAlign){e=a.v?0:a.f&&b?a.f:0;var g=0;for(c=a.c.length;ga.Da&&(1"!=e)break;"br"==a.c&&Bh(a.ca);a.c="";k=!1;a.b=1;break}if(!a.c&&"<"==e){a.f+="<";break}if(!a.c&&h&&"/"!=e){a.f+="<"+e;a.b=1;break}if(!a.c&&"/"==e){a.b=3;break}if("br"==a.c&&">"==e){Bh(a.ca);a.c="";a.b=1;break}if("br"==a.c&&("/"==e||g)){k=!0;break}a.c&&fh(a);if(a.c&&g){a.b=4;break}if(">"==e){ih(a);break}a.c+=e.toLowerCase();break;case 3:if(k){if(">"!=e)break;hh(a);k=!1;break}if(!a.G&&h){a.f+=""==e){hh(a);k=!1;break}a.G+=e.toLowerCase();break;case 4:if(k){if(">"!=e)break;ih(a,!0);k=!1;break}if(">"==e){ih(a,!0);break}if(g){a.b=5;break}if("="==e){a.g&&(a.b="style"==a.g?6:8);break}a.g+=e.toLowerCase();break;case 5:if(">"==e){ih(a,!0);break}if(g)break;if(a.g&&!h){a.g=e;a.b=4;break}if("="==e){a.g&&(a.b="style"==a.g?6:8);break}a.g+=e;a.b=4;break;case 6:if(g)break;if(">"==e){ih(a,!0);break}if("'"==e||'"'==e){a.Y=e;a.b=9;break}a.l=e;a.b=10;break;case 8:if(g)break;if(">"==e){a.g= "";a.c="";a.b=1;break}if("'"==e||'"'==e){a.Y=e;a.b=7;break}a.b=11;break;case 9:if(g)break;if(e==a.Y){k=!0;jh(a,4,!0);break}if(":"==e){a.b=12;break}a.l+=e.toLowerCase();break;case 12:if(g)break;if(e==a.Y){k=!0;jh(a,4,!0);break}if(";"==e){jh(a,9);break}a.w+=e.toLowerCase();break;case 7:e==a.Y&&(a.g="",a.b=4);break;case 10:if(g){k=!0;jh(a,4,!0);break}if(">"==e){kh(a);break}if(":"==e){a.b=13;break}a.l+=e;break;case 11:if(g){jh(a,4,!0);break}">"==e&&ih(a);break;case 13:if(g){k=!0;jh(a,4,!0);break}if(">"== e){kh(a);break}if(";"==e){jh(a,10);break}a.w+=e.toLowerCase();break;default:throw"Error while parsing HTML: Symbol '"+e+"', position: "+(d-1);}fh(a);Ch(a.ca)}else for(this.Fa=this.Fa.replace(/\xa0|[ \t]+/g," ").replace(/(\r\n|\r|\n)/g,"\n"),c=this.Fa.split(/\n/g),b=0;bg)return a;h=h||0;var l=Ma(h,d),m=Na(h,d),p=360/(2*g),q;a.moveTo(l+b,m+c);if(k)for(q=0;qg)return a;h=h||0;var l=Ma(h,d),m=Na(h,d),p=360/(2*g),q;a.moveTo(l+b,m+c);if(k)for(q=0;q=Math.abs(c)?(a=-.5,b=0>Math.cos(b)):(c=-.5,b=0Math.sin(d)||180==a||360==a;if(90==a||270==a)c+=1E-6;180!=a&&(0>Math.tan(d)||90==a||270==a)&&(e=-1,c=90-c);c=La(c);d=Math.sin(c)*(b.height/2-Math.tan(c)*b.width/2)+b.width/2/Math.cos(c);e*=Math.cos(c)*d;c=Math.sin(c)*d;k&&(e=-e,c=-c);return new Hh(Math.round(g-e),Math.round(h+c),Math.round(g+e),Math.round(h-c))}f.qf=function(){var a=Jh("svg");F||this.s(a,"xmlns","http://www.w3.org/2000/svg");this.s(a,"border","0");return a}; -f.nf=function(){return Jh("linearGradient")};f.lf=function(){return Jh("pattern")};f.mf=function(){return Jh("image")};f.vc=function(){return Jh("g")};f.gf=function(){return Jh("circle")};f.pf=function(){return Jh("path")};f.kf=function(){return Jh("ellipse")};f.je=function(){return Jh("defs")};f.Xc=function(){return Jh("text")};f.rf=function(){return Jh("textPath")};f.me=function(){return Jh("tspan")};f.oc=function(a){return document.createTextNode(String(a))}; -f.ag=function(a){var b=a.pa();S(this,a.h(),{x:b.left,y:b.top,width:b.width,height:b.height,patternUnits:"userSpaceOnUse"})}; -f.bg=function(a){var b=a.pa();this.ud(a.src(),ca);var c=a.src()||"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",d=a.h(),e=b.left,g=b.top,h=b.width;b=b.height;switch(a.align()){case "x-min-y-min":var k="xMinYMin";break;case "x-mid-y-min":k="xMidYMin";break;case "x-max-y-min":k="xMaxYMin";break;case "x-min-y-mid":k="xMinYMid";break;case "x-mid-y-mid":k="xMidYMid";break;case "x-max-y-mid":k="xMaxYMid";break;case "x-min-y-max":k="xMinYMax";break;case "x-mid-y-max":k= -"xMidYMax";break;case "x-max-y-max":k="xMaxYMax";break;default:k="none"}k=k+" "+a.Wb();S(this,d,{x:e,y:g,width:h,height:b,"image-rendering":"optimizeQuality",preserveAspectRatio:k,opacity:a.opacity()});d.setAttributeNS("http://www.w3.org/1999/xlink","href",c)};f.Yf=function(a,b){var c=a.h();c&&(c.style.cursor=b||"")};f.Fe=function(a){var b=a.h();this.s(b,"x",a.G);this.s(b,"y",a.Oa)}; -f.Ge=function(a){var b=a.style(),c=a.path(),d=a.h();if(c&&a.u()){var e=a.u().ta;c.parent(e);c.P();M(c,df);var g=c.h();e.h().appendChild(g);e=yb(xb.na(),g,"path");nf(this,g,e);g=xh();a.ea.setAttributeNS("http://www.w3.org/1999/xlink","href",g+"#"+e)}if(a.Ic()){if(d.style["-webkit-touch-callout"]="",d.style["-webkit-user-select"]="",d.style["-khtml-user-select"]="",d.style["-moz-user-select"]="",d.style["-ms-user-select"]="",d.style["-o-user-select"]="",d.style["user-select"]="",F&&9==xc||hc)d.removeAttribute("unselectable"), +f.Jf=function(a){this.Va();u(a)?this.ra.innerHTML=a:(a=a.cloneNode(!0),this.ra.appendChild(a));a=this.ra.getBBox();qe(this.ra);return new B(a.x,a.y,a.width,a.height)};f.vd=function(a,b){this.b||(Yg(this),this.b={},hd(this.rb,"complete",function(){this.i=!1},!1,this),hd(this.rb,"load",this.ah,!1,this));this.b[ja(b)]=[a,b];this.i=!0;Qg(this.rb,a,a);this.rb.start()}; +f.ah=function(a){var b=a.target;Sb(this.b,function(a,d){a[0]==b.id&&(a[1].call(this,b.naturalWidth,b.naturalHeight),delete this.b[d])},this)};f.If=function(){return this.i};f.Nf={1:"M",2:"L",3:"C",4:"A",5:"Z"};function Lh(a){var b=La(a),c=Math.tan(b);a=1/(2*c);c/=2;.5>=Math.abs(c)?(a=-.5,b=0>Math.cos(b)):(c=-.5,b=0Math.sin(d)||180==a||360==a;if(90==a||270==a)c+=1E-6;180!=a&&(0>Math.tan(d)||90==a||270==a)&&(e=-1,c=90-c);c=La(c);d=Math.sin(c)*(b.height/2-Math.tan(c)*b.width/2)+b.width/2/Math.cos(c);e*=Math.cos(c)*d;c=Math.sin(c)*d;k&&(e=-e,c=-c);return new Hh(Math.round(g-e),Math.round(h+c),Math.round(g+e),Math.round(h-c))}f.sf=function(){var a=Jh("svg");F||this.s(a,"xmlns","http://www.w3.org/2000/svg");this.s(a,"border","0");return a}; +f.qf=function(){return Jh("linearGradient")};f.nf=function(){return Jh("pattern")};f.pf=function(){return Jh("image")};f.vc=function(){return Jh("g")};f.jf=function(){return Jh("circle")};f.rf=function(){return Jh("path")};f.mf=function(){return Jh("ellipse")};f.je=function(){return Jh("defs")};f.Yc=function(){return Jh("text")};f.tf=function(){return Jh("textPath")};f.me=function(){return Jh("tspan")};f.oc=function(a){return document.createTextNode(String(a))}; +f.cg=function(a){var b=a.pa();S(this,a.h(),{x:b.left,y:b.top,width:b.width,height:b.height,patternUnits:"userSpaceOnUse"})}; +f.dg=function(a){var b=a.pa();this.vd(a.src(),ca);var c=a.src()||"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",d=a.h(),e=b.left,g=b.top,h=b.width;b=b.height;switch(a.align()){case "x-min-y-min":var k="xMinYMin";break;case "x-mid-y-min":k="xMidYMin";break;case "x-max-y-min":k="xMaxYMin";break;case "x-min-y-mid":k="xMinYMid";break;case "x-mid-y-mid":k="xMidYMid";break;case "x-max-y-mid":k="xMaxYMid";break;case "x-min-y-max":k="xMinYMax";break;case "x-mid-y-max":k= +"xMidYMax";break;case "x-max-y-max":k="xMaxYMax";break;default:k="none"}k=k+" "+a.Wb();S(this,d,{x:e,y:g,width:h,height:b,"image-rendering":"optimizeQuality",preserveAspectRatio:k,opacity:a.opacity()});d.setAttributeNS("http://www.w3.org/1999/xlink","href",c)};f.$f=function(a,b){var c=a.h();c&&(c.style.cursor=b||"")};f.He=function(a){var b=a.h();this.s(b,"x",a.G);this.s(b,"y",a.Oa)}; +f.Ie=function(a){var b=a.style(),c=a.path(),d=a.h();if(c&&a.u()){var e=a.u().ta;c.parent(e);c.P();M(c,df);var g=c.h();e.h().appendChild(g);e=yb(xb.na(),g,"path");nf(this,g,e);g=xh();a.ea.setAttributeNS("http://www.w3.org/1999/xlink","href",g+"#"+e)}if(a.Ic()){if(d.style["-webkit-touch-callout"]="",d.style["-webkit-user-select"]="",d.style["-khtml-user-select"]="",d.style["-moz-user-select"]="",d.style["-ms-user-select"]="",d.style["-o-user-select"]="",d.style["user-select"]="",F&&9==xc||hc)d.removeAttribute("unselectable"), d.removeAttribute("onselectstart")}else if(d.style["-webkit-touch-callout"]="none",d.style["-webkit-user-select"]="none",d.style["-khtml-user-select"]="none",d.style["-moz-user-select"]="moz-none",d.style["-ms-user-select"]="none",d.style["-o-user-select"]="none",d.style["user-select"]="none",F&&9==xc||hc)this.s(d,"unselectable","on"),this.s(d,"onselectstart","return false;");b.fontStyle?this.s(d,"font-style",b.fontStyle):d.removeAttribute("font-style");b.fontVariant?jc?d.style["font-variant"]=b.fontVariant: this.s(d,"font-variant",b.fontVariant):jc?d.style["font-variant"]="":d.removeAttribute("font-variant");b.fontFamily?this.s(d,"font-family",b.fontFamily):d.removeAttribute("font-family");b.fontSize?this.s(d,"font-size",b.fontSize):d.removeAttribute("font-size");b.fontWeight?this.s(d,"font-weight",b.fontWeight):d.removeAttribute("font-weight");b.color?this.s(d,"fill",b.color):d.removeAttribute("fill");b.letterSpacing?this.s(d,"letter-spacing",b.letterSpacing):d.removeAttribute("letter-spacing");b.decoration? this.s(d,"text-decoration",b.decoration):d.removeAttribute("text-decoration");b.direction?this.s(d,"direction",b.direction):d.removeAttribute("direction");b.hAlign&&!c?this.s(d,"text-anchor","rtl"==b.direction?jc||F?"end"==b.hAlign||"left"==b.hAlign?T:b.hAlign==T||"right"==b.hAlign?"end":"middle":"end"==b.hAlign||"left"==b.hAlign?"end":b.hAlign==T||"right"==b.hAlign?T:"middle":"end"==b.hAlign||"right"==b.hAlign?"end":b.hAlign==T||"left"==b.hAlign?T:"middle"):d.removeAttribute("text-anchor");d.style.opacity= -b.opacity?b.opacity:"1"};f.Se=function(a){var b=a.h(),c=a.parent();(a.i||a.g)&&this.s(b,"x",c.path()?a.g:c.G+a.g);this.s(b,"dy",a.c)}; -f.Te=function(a){var b=a.b,c=a.h(),d=a.parent(),e=this.oc(a.text);c.appendChild(e);if(F&&9==xc||hc)d.Ic()?(c.removeAttribute("onselectstart"),c.removeAttribute("unselectable")):(this.s(c,"onselectstart","return false;"),this.s(c,"unselectable","on"));b.fontStyle&&this.s(c,"font-style",b.fontStyle);b.fontVariant&&this.s(c,"font-variant",b.fontVariant);b.fontFamily&&this.s(c,"font-family",b.fontFamily);b.fontSize&&this.s(c,"font-size",b.fontSize);b.fontWeight&&this.s(c,"font-weight",b.fontWeight);b.color&& +b.opacity?b.opacity:"1"};f.Ue=function(a){var b=a.h(),c=a.parent();(a.i||a.g)&&this.s(b,"x",c.path()?a.g:c.G+a.g);this.s(b,"dy",a.c)}; +f.Ve=function(a){var b=a.b,c=a.h(),d=a.parent(),e=this.oc(a.text);c.appendChild(e);if(F&&9==xc||hc)d.Ic()?(c.removeAttribute("onselectstart"),c.removeAttribute("unselectable")):(this.s(c,"onselectstart","return false;"),this.s(c,"unselectable","on"));b.fontStyle&&this.s(c,"font-style",b.fontStyle);b.fontVariant&&this.s(c,"font-variant",b.fontVariant);b.fontFamily&&this.s(c,"font-family",b.fontFamily);b.fontSize&&this.s(c,"font-size",b.fontSize);b.fontWeight&&this.s(c,"font-weight",b.fontWeight);b.color&& this.s(c,"fill",b.color);b.letterSpacing&&this.s(c,"letter-spacing",b.letterSpacing);b.Cb&&this.s(c,"text-decoration",b.Cb);(a.parent().path()?a.parent().ea:a.parent().h()).appendChild(c)}; -function Nh(a,b,c){var d=Oh(c,b.keys,b.cx,b.cy,b.fx,b.fy,b.opacity,b.mode,b.transform);if(!d.Tc){var e=Jh("radialGradient");nf(a,e,d.id());c.h().appendChild(e);d.nc=c;d.Tc=!0;wa(d.keys,function(a){var b=Jh("stop");S(this,b,{offset:a.offset,style:"stop-color:"+a.color+";stop-opacity:"+(isNaN(a.opacity)?d.opacity:a.opacity)});e.appendChild(b)},a);d.b?S(a,e,{cx:d.c*d.b.width+d.b.left,cy:d.f*d.b.height+d.b.top,fx:d.l*d.b.width+d.b.left,fy:d.v*d.b.height+d.b.top,r:Math.min(d.b.width,d.b.height)/2,spreadMethod:"pad", +function Nh(a,b,c){var d=Oh(c,b.keys,b.cx,b.cy,b.fx,b.fy,b.opacity,b.mode,b.transform);if(!d.Uc){var e=Jh("radialGradient");nf(a,e,d.id());c.h().appendChild(e);d.nc=c;d.Uc=!0;wa(d.keys,function(a){var b=Jh("stop");S(this,b,{offset:a.offset,style:"stop-color:"+a.color+";stop-opacity:"+(isNaN(a.opacity)?d.opacity:a.opacity)});e.appendChild(b)},a);d.b?S(a,e,{cx:d.c*d.b.width+d.b.left,cy:d.f*d.b.height+d.b.top,fx:d.l*d.b.width+d.b.left,fy:d.v*d.b.height+d.b.top,r:Math.min(d.b.width,d.b.height)/2,spreadMethod:"pad", gradientUnits:"userSpaceOnUse"}):S(a,e,{cx:d.c,cy:d.f,fx:d.l,fy:d.v,gradientUnits:"objectBoundingBox"});d.transform&&a.s(e,"gradientTransform",d.transform.toString())}return d.id()} -function Ph(a,b,c,d){var e=Qh(c,b.keys,b.opacity,!0===b.mode?Wg(b.angle,d):b.angle,b.mode,b.transform);if(!e.Sc){var g=a.nf();nf(a,g,e.id());c.h().appendChild(g);e.mc=c;e.Sc=!0;wa(e.keys,function(a){var b=Jh("stop");S(this,b,{offset:a.offset,style:"stop-color:"+a.color+";stop-opacity:"+(isNaN(a.opacity)?e.opacity:a.opacity)});g.appendChild(b)},a);e.c?(b=Mh(e.b,e.c),S(a,g,{x1:b.b,y1:b.f,x2:b.c,y2:b.g,spreadMethod:"pad",gradientUnits:"userSpaceOnUse"})):(b=Lh(e.b),S(a,g,{x1:b.b,y1:b.f,x2:b.c,y2:b.g, +function Ph(a,b,c,d){var e=Qh(c,b.keys,b.opacity,!0===b.mode?Wg(b.angle,d):b.angle,b.mode,b.transform);if(!e.Tc){var g=a.qf();nf(a,g,e.id());c.h().appendChild(g);e.mc=c;e.Tc=!0;wa(e.keys,function(a){var b=Jh("stop");S(this,b,{offset:a.offset,style:"stop-color:"+a.color+";stop-opacity:"+(isNaN(a.opacity)?e.opacity:a.opacity)});g.appendChild(b)},a);e.c?(b=Mh(e.b,e.c),S(a,g,{x1:b.b,y1:b.f,x2:b.c,y2:b.g,spreadMethod:"pad",gradientUnits:"userSpaceOnUse"})):(b=Lh(e.b),S(a,g,{x1:b.b,y1:b.f,x2:b.c,y2:b.g, gradientUnits:"objectBoundingBox"}));e.transform&&a.s(g,"gradientTransform",e.transform.toString())}return e.id()} function Rh(a,b){var c=b.Ea();if(c){var d=b.u().ta,e="url("+xh()+"#";c&&c.opacity&&1E-4>=c.opacity&&F&&wc("9")&&(c.opacity=1E-4);if(u(c))a.s(b.h(),"fill",c),b.h().removeAttribute("fill-opacity");else if(fa(c.keys)&&c.cx&&c.cy)a.s(b.h(),"fill",e+Nh(a,c,d)+")"),a.s(b.h(),"fill-opacity",r(c.opacity)?c.opacity:1);else if(fa(c.keys))b.fa()&&(a.s(b.h(),"fill",e+Ph(a,c,d,b.fa())+")"),a.s(b.h(),"fill-opacity",r(c.opacity)?c.opacity:1));else if(c.src){var g=b.pa();g?(g.width=g.width||0,g.height=g.height|| 0,g.left=g.left||0,g.top=g.top||0):g=new B(0,0,0,0);"tile"==c.mode?Sh(d,c.src,g,c.mode,c.opacity,function(a){a.id();a.parent(b.u()).P();L().s(b.h(),"fill",e+a.id()+")")}):(d=Sh(d,c.src,g,c.mode,c.opacity),d.id(),d.parent(b.u()).P(),a.s(b.h(),"fill",e+d.id()+")"),a.s(b.h(),"fill-opacity",r(c.opacity)?c.opacity:1))}else C(c,sf)?(c=Th(d,c.type,c.color,c.I,c.size),c.id(),c.parent(b.u()).P(),a.s(b.h(),"fill",e+c.id()+")")):C(c,nb)?(c.id(),c.parent(b.u()).P(),a.s(b.h(),"fill",e+c.id()+")")):S(a,b.h(),{fill:c.color, "fill-opacity":c.opacity})}} function Uh(a,b){var c=b.stroke();if(c){var d=b.u().ta,e=b.h(),g="url("+xh()+"#";if(u(c))a.s(e,"stroke",c);else if(fa(c.keys)&&c.cx&&c.cy)a.s(e,"stroke",g+Nh(a,c,d)+")");else if(fa(c.keys)){if(!b.fa())return;a.s(e,"stroke",g+Ph(a,c,d,b.fa())+")")}else a.s(e,"stroke",c.color);c.lineJoin?a.s(e,"stroke-linejoin",c.lineJoin):e.removeAttribute("stroke-linejoin");c.lineCap?a.s(e,"stroke-linecap",c.lineCap):e.removeAttribute("stroke-linecap");c.opacity?a.s(e,"stroke-opacity",c.opacity):e.removeAttribute("stroke-opacity"); -c.thickness?a.s(e,"stroke-width",c.thickness):e.removeAttribute("stroke-width");c.dash?a.s(e,"stroke-dasharray",c.dash):e.removeAttribute("stroke-dasharray")}}f.Ze=function(a){Rh(this,a);Uh(this,a)};f.kg=function(a){a.visible()?a.h().removeAttribute("visibility"):this.s(a.h(),"visibility","hidden")};f.Lb=function(a){var b=a.C;b&&!Za(b)?this.s(a.h(),"transform",b.toString()):a.h().removeAttribute("transform")};f.hg=function(a){var b=a.C;b&&!Za(b)?this.s(a.h(),"patternTransform",b.toString()):a.h().removeAttribute("patternTransform")}; -f.gg=Ih.prototype.Lb;f.cg=Ih.prototype.Lb;f.eg=Ih.prototype.Lb;f.jg=Ih.prototype.Lb;f.$f=Ih.prototype.Lb;f.Id=function(a,b,c){S(this,a,{width:b,height:c})};f.He=function(a,b){var c=a.h();c&&(null!=b?(a.eb||(a.eb=Jh("title"),this.s(a.eb,"aria-label","")),re(a.eb)||c.insertBefore(a.eb,c.childNodes[0]||null),a.eb.innerHTML=b):a.eb&&c.removeChild(a.eb))}; -f.Be=function(a,b){var c=a.h();c&&(null!=b?(a.Wa||(a.Wa=Jh("desc"),this.s(a.Wa,"aria-label","")),re(a.Wa)||c.insertBefore(a.Wa,c.childNodes[0]||null),a.Wa.innerHTML=b):a.Wa&&c.removeChild(a.Wa))};f.Zf=function(a,b){var c=a.h();c&&(b?this.s(c,"vector-effect","non-scaling-stroke"):c.removeAttribute("vector-effect"))};f.dg=ca;f.Xf=function(a){S(this,a.h(),{cx:a.Ab(),cy:a.Bb(),r:a.Of()})};f.Ce=function(a){S(this,a.h(),{cx:a.Ab(),cy:a.Bb(),rx:a.za(),ry:a.kb()})}; -f.Ee=function(a){var b=Xg(this,a,!1);b?this.s(a.h(),"d",b):this.s(a.h(),"d","M 0,0")};f.xf=function(a){for(var b=a.f,c=0;ca&&!isNaN(this.Sb)&&clearTimeout(this.Sb),this.td=a,this.Ta(!0)),this):this.td};f.ef=function(a){return r(a)?(a=ge(a||null),this.qa!=a&&(this.qa=a,Ai(this),this.Ta(!0),this.P()),this):this.qa?this.wa:null};f.Kg=function(){return this.qa};f.Bf=function(){return this.wa};f.suspend=function(){this.Lc++;return this};f.resume=function(a){this.Lc=a?0:Math.max(this.Lc-1,0);this.P();return this};f.ug=function(a){return r(a)?(this.ee=!!a,this):this.ee}; -f.da=function(){return!!this.Lc};f.sd=function(){return this.ab};f.title=function(a){return r(a)?(this.fb!=a&&(this.fb=a,L().He(this,this.fb)),this):this.fb};f.pe=function(a){return r(a)?(this.Xa!=a&&(this.Xa=a,L().Be(this,this.Xa)),this):this.Xa};f.visible=function(a){if(0==arguments.length)return this.B.visible();this.B.visible(a);return this}; -f.data=function(a){if(0==arguments.length)return this.K();var b=a.type;if(b)switch(b){case "rect":var c=this.rect();break;case "circle":c=this.Tb();break;case "ellipse":c=this.ellipse();break;case "image":c=this.Ka();break;case "text":c=this.text();break;case "path":c=this.path();break;case "layer":c=this.Zb();break;default:c=null}else this.F(a);c&&c.F(a);return this};f.remove=function(){return this.ef(null)};f.Eb=function(){return 0};f.Fb=function(){return 0}; -f.fa=function(){return new B(0,0,this.width(),this.height())};f.clip=function(a){return this.B.clip(a)};f.Jg=function(){return this.cf}; -f.fullScreen=function(a){var b=this.Bf();if(r(a))return b&&this.Ff()&&(a=!!a,this.fullScreen()!=a&&(a?b.mozRequestFullScreenWithKeys?b.mozRequestFullScreenWithKeys():b.webkitRequestFullscreen?b.webkitRequestFullscreen():b.webkitRequestFullscreen?b.webkitRequestFullscreen():b.mozRequestFullScreen?b.mozRequestFullScreen():b.msRequestFullscreen?b.msRequestFullscreen():b.requestFullscreen&&b.requestFullscreen():(b=de().b,b.webkitCancelFullScreen?b.webkitCancelFullScreen():b.mozCancelFullScreen?b.mozCancelFullScreen(): -b.msExitFullscreen?b.msExitFullscreen():b.exitFullscreen&&b.exitFullscreen()))),this;if(!(a=!b)){a:{a=de().b;a=[a.webkitFullscreenElement,a.mozFullScreenElement,a.msFullscreenElement,a.fullscreenElement];for(var c=0;ca&&!isNaN(this.Sb)&&clearTimeout(this.Sb),this.ud=a,this.Ta(!0)),this):this.ud};f.gf=function(a){return r(a)?(a=ge(a||null),this.qa!=a&&(this.qa=a,Ai(this),this.Ta(!0),this.P()),this):this.qa?this.wa:null};f.Lg=function(){return this.qa};f.Df=function(){return this.wa};f.suspend=function(){this.Lc++;return this};f.resume=function(a){this.Lc=a?0:Math.max(this.Lc-1,0);this.P();return this};f.wg=function(a){return r(a)?(this.ee=!!a,this):this.ee}; +f.da=function(){return!!this.Lc};f.td=function(){return this.ab};f.title=function(a){return r(a)?(this.fb!=a&&(this.fb=a,L().Je(this,this.fb)),this):this.fb};f.qe=function(a){return r(a)?(this.Xa!=a&&(this.Xa=a,L().De(this,this.Xa)),this):this.Xa};f.visible=function(a){if(0==arguments.length)return this.B.visible();this.B.visible(a);return this}; +f.data=function(a){if(0==arguments.length)return this.K();var b=a.type;if(b)switch(b){case "rect":var c=this.rect();break;case "circle":c=this.Tb();break;case "ellipse":c=this.ellipse();break;case "image":c=this.Ka();break;case "text":c=this.text();break;case "path":c=this.path();break;case "layer":c=this.Zb();break;default:c=null}else this.F(a);c&&c.F(a);return this};f.remove=function(){return this.gf(null)};f.Eb=function(){return 0};f.Fb=function(){return 0}; +f.fa=function(){return new B(0,0,this.width(),this.height())};f.clip=function(a){return this.B.clip(a)};f.Kg=function(){return this.ef}; +f.fullScreen=function(a){var b=this.Df();if(r(a))return b&&this.Hf()&&(a=!!a,this.fullScreen()!=a&&(a?b.mozRequestFullScreenWithKeys?b.mozRequestFullScreenWithKeys():b.webkitRequestFullscreen?b.webkitRequestFullscreen():b.webkitRequestFullscreen?b.webkitRequestFullscreen():b.mozRequestFullScreen?b.mozRequestFullScreen():b.msRequestFullscreen?b.msRequestFullscreen():b.requestFullscreen&&b.requestFullscreen():(b=de().b,b.webkitCancelFullScreen?b.webkitCancelFullScreen():b.mozCancelFullScreen?b.mozCancelFullScreen(): +b.msExitFullscreen?b.msExitFullscreen():b.exitFullscreen&&b.exitFullscreen()))),this;if(!(a=!b)){a:{a=de().b;a=[a.webkitFullscreenElement,a.mozFullScreenElement,a.msFullscreenElement,a.fullscreenElement];for(var c=0;c2*this.f&&Oi(this),!0):!1};function Oi(a){if(a.f!=a.b.length){for(var b=0,c=0;bNumber(sc)&& -(c.ba.src='javascript:""');d=c.ba.style;d.visibility="hidden";d.width=d.height="10px";d.display="none";kc?d.marginTop=d.marginLeft="-10px":(d.position="absolute",d.top=d.left="-10px");if(F&&!wc("11")){c.X.target=c.Hb||"";de(c.X).b.body.appendChild(c.ba);hd(c.ba,"readystatechange",c.xe,!1,c);try{c.b=!1,c.X.submit()}catch(sa){pd(c.ba,"readystatechange",c.xe,!1,c),sj(c)}}else{de(c.X).b.body.appendChild(c.ba);d=c.Hb+"_inner";e=se(c.ba);if(document.baseURI){var g=Eb(d);Bd("Short HTML snippet, input escaped, safe URL, for performance"); -g='';g=Yd(g,null)}else g=Eb(d),Bd("Short HTML snippet, input escaped, for performance"),g=Yd('',null);hc&&!kc?e.documentElement.innerHTML=Wd(g):e.write(Wd(g));hd(e.getElementById(d),"load",c.wd,!1,c);var h=he("TEXTAREA",c.X);g=0;for(var k=h.length;gNumber(sc)&& +(c.ba.src='javascript:""');d=c.ba.style;d.visibility="hidden";d.width=d.height="10px";d.display="none";kc?d.marginTop=d.marginLeft="-10px":(d.position="absolute",d.top=d.left="-10px");if(F&&!wc("11")){c.X.target=c.Hb||"";de(c.X).b.body.appendChild(c.ba);hd(c.ba,"readystatechange",c.ze,!1,c);try{c.b=!1,c.X.submit()}catch(sa){pd(c.ba,"readystatechange",c.ze,!1,c),sj(c)}}else{de(c.X).b.body.appendChild(c.ba);d=c.Hb+"_inner";e=se(c.ba);if(document.baseURI){var g=Eb(d);Bd("Short HTML snippet, input escaped, safe URL, for performance"); +g='';g=Yd(g,null)}else g=Eb(d),Bd("Short HTML snippet, input escaped, for performance"),g=Yd('',null);hc&&!kc?e.documentElement.innerHTML=Wd(g):e.write(Wd(g));hd(e.getElementById(d),"load",c.xd,!1,c);var h=he("TEXTAREA",c.X);g=0;for(var k=h.length;g."); if("A"in be)throw Error("Tag name is not allowed for SafeHtml.");I=null;U="";if(D)for(var Rd in D){if(!$d.test(Rd))throw Error('Invalid attribute name "'+Rd+'".');var ri=D[Rd];if(null!=ri){zb=U;N=Rd;K=ri;if(K instanceof yd)K=Ad(K);else if("style"==N.toLowerCase()){Xa=pb=void 0;g=K;if(!ia(g))throw Error('The "style" attribute requires goog.html.SafeStyle or map of style properties, '+typeof g+" given: "+g);if(!(g instanceof Kd)){k=g;h="";for(Xa in k){if(!/^[-_a-zA-Z0-9]+$/.test(Xa))throw Error("Name allows only [-_a-zA-Z0-9], got: "+ Xa);var Gc=k[Xa];null!=Gc&&(Gc=fa(Gc)?xa(Gc,Od).join(" "):Od(Gc),h+=Xa+":"+Gc+";")}g=h?Md(h):Nd}g instanceof Kd&&g.constructor===Kd&&g.c===Ld?pb=g.b:(ea(g),pb="type_error:SafeStyle");K=pb}else{if(/^on/i.test(N))throw Error('Attribute "'+N+'" requires goog.string.Const value, "'+K+'" given.');if(N.toLowerCase()in ae)if(K instanceof Cd)K instanceof Cd&&K.constructor===Cd&&K.b===Dd?K="":(ea(K),K="type_error:TrustedResourceUrl");else if(K instanceof Ed)K=Gd(K);else if(u(K))K=Id(K).Ha();else throw Error('Attribute "'+ N+'" on tag "a" requires goog.html.SafeUrl, goog.string.Const, or string, value "'+K+'" given.');}K.sb&&(K=K.Ha());var xk=N+'="'+Eb(String(K))+'"';U=zb+(" "+xk)}}var hf="";else{var si=ce(Fc);hf+=">"+Wd(si)+"";I=si.Xb()}var ti=D&&D.dir;ti&&(/^(ltr|rtl|auto)$/i.test(ti)?I=0:I=null);var yk=Yd(hf,I);var ui=ce(wk,yk,Zd("\nLine: "+w.lineNumber+"\n\nBrowser stack:\n"+w.stack+"-> [end]\n\nJS stack traversal:\n"+Dc(void 0)+"-> "))}catch(gf){ui= -Zd("Exception trying to expose exception! You win, we lose. "+gf)}Wd(ui);pd(e.getElementById(d),"load",c.wd,!1,c);e.close();sj(c)}}tj(c)}function rj(a,b){var c=de(a);Mi(b,function(b,e){fa(b)||(b=[b]);wa(b,function(b){b=c.c("INPUT",{type:"hidden",name:e,value:b});a.appendChild(b)})})}f=mj.prototype;f.X=null;f.ba=null;f.Hb=null;f.Yg=0;f.qb=!1;f.Gb=null;f.abort=function(){this.qb&&(rd(uj(this)),this.qb=!1,this.dispatchEvent("abort"),vj(this))}; -f.A=function(){this.qb&&this.abort();mj.m.A.call(this);this.ba&&wj(this);tj(this);delete this.g;this.X=null;delete oj[this.f]};f.xe=function(){if("complete"==this.ba.readyState){pd(this.ba,"readystatechange",this.xe,!1,this);try{var a=se(this.ba);if(F&&"about:blank"==a.location&&!navigator.onLine){sj(this);return}}catch(b){sj(this);return}xj(this,a)}}; -f.wd=function(){if(!hc||kc||"about:blank"!=(this.ba?se(uj(this)):null).location){pd(uj(this),"load",this.wd,!1,this);try{xj(this,this.ba?se(uj(this)):null)}catch(a){sj(this)}}};function xj(a,b){a.qb=!1;var c,d;c||"function"!=typeof a.g||(d=a.g(b))&&(c=4);c?sj(a):(a.dispatchEvent("complete"),a.dispatchEvent("success"),vj(a))}function sj(a){a.b||(a.qb=!1,a.dispatchEvent("complete"),a.dispatchEvent("error"),vj(a),a.b=!0)}function vj(a){wj(a);tj(a);a.X=null;a.dispatchEvent("ready")} -function wj(a){var b=a.ba;b&&(b.onreadystatechange=null,b.onload=null,b.onerror=null,a.c.push(b));a.Gb&&(n.clearTimeout(a.Gb),a.Gb=null);jc||hc&&!kc?a.Gb=ci(a.yf,2E3,a):a.yf();a.ba=null;a.Hb=null}f.yf=function(){this.Gb&&(n.clearTimeout(this.Gb),this.Gb=null);for(;0!=this.c.length;){var a=this.c.pop();G(a)}};function tj(a){a.X&&a.X==pj&&qe(a.X)}function uj(a){return a.ba?F&&!wc("11")?a.ba:se(a.ba).getElementById(a.Hb+"_inner"):null} -f.mg=function(){if(this.qb){var a=this.ba?se(uj(this)):null;a&&!ec(a,"documentUri")?(pd(uj(this),"load",this.wd,!1,this),sj(this)):ci(this.mg,250,this)}};function yj(){}yj.prototype.b=null;function zj(a){var b;(b=a.b)||(b={},Aj(a)&&(b[0]=!0,b[1]=!0),b=a.b=b);return b};var Bj;function Cj(){}y(Cj,yj);function Dj(a){return(a=Aj(a))?new ActiveXObject(a):new XMLHttpRequest}function Aj(a){if(!a.c&&"undefined"==typeof XMLHttpRequest&&"undefined"!=typeof ActiveXObject){for(var b=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],c=0;ck?[k/h*d,k]:[c,k],k[0]-=e||0,k[1]-=g||0,a=a.cc(k[0], -k[1])):a=a.cc(b["pdf-width"],b["pdf-height"]);b.data=a;b.dataType="svg";b.responseType="file"}f.kh=function(a,b,c,d,e,g,h,k){if("svg"==Hi){var l={};bk(this,l,d,e,g,h,k);Xj("pdf",l,!!c,!0,a,b)}else alert(Cc(15))};f.Pg=function(a,b,c,d,e){if("svg"==Hi){var g={};Yj(this,g,c,d,e);Xj("png",g,!0,!1,a,b)}else alert(Cc(15))};f.Mg=function(a,b,c,d,e,g){if("svg"==Hi){var h={};Zj(this,h,c,d,e,g);Xj("jpg",h,!0,!1,a,b)}else alert(Cc(15))}; -f.Rg=function(a,b,c,d){if("svg"==Hi){var e={};ak(this,e,c,d);Xj("svg",e,!0,!1,a,b)}else alert(Cc(15))};f.Og=function(a,b,c,d,e,g){if("svg"==Hi){var h={};bk(this,h,c,d,e,g);Xj("pdf",h,!0,!1,a,b)}else alert(Cc(15))};f.Vf=function(a,b,c,d){if("svg"==Hi){var e={};Yj(this,e,a,b,c,d);qj(Vj+"/png",e)}else alert(Cc(15))};f.Tf=function(a,b,c,d,e){if("svg"==Hi){var g={};Zj(this,g,a,b,c,d,e);qj(Vj+"/jpg",g)}else alert(Cc(15))}; -f.Uf=function(a,b,c,d,e){if("svg"==Hi){var g={};bk(this,g,a,b,c,d,e);qj(Vj+"/pdf",g)}else alert(Cc(15))};f.Wf=function(a,b,c){if("svg"==Hi){var d={};ak(this,d,a,b,c);qj(Vj+"/svg",d)}else alert(Cc(15))}; +k[1])):a=a.cc(b["pdf-width"],b["pdf-height"]);b.data=a;b.dataType="svg";b.responseType="file"}f.mh=function(a,b,c,d,e,g,h,k){if("svg"==Hi){var l={};bk(this,l,d,e,g,h,k);Xj("pdf",l,!!c,!0,a,b)}else alert(Cc(15))};f.Qg=function(a,b,c,d,e){if("svg"==Hi){var g={};Yj(this,g,c,d,e);Xj("png",g,!0,!1,a,b)}else alert(Cc(15))};f.Ng=function(a,b,c,d,e,g){if("svg"==Hi){var h={};Zj(this,h,c,d,e,g);Xj("jpg",h,!0,!1,a,b)}else alert(Cc(15))}; +f.Sg=function(a,b,c,d){if("svg"==Hi){var e={};ak(this,e,c,d);Xj("svg",e,!0,!1,a,b)}else alert(Cc(15))};f.Pg=function(a,b,c,d,e,g){if("svg"==Hi){var h={};bk(this,h,c,d,e,g);Xj("pdf",h,!0,!1,a,b)}else alert(Cc(15))};f.Xf=function(a,b,c,d){if("svg"==Hi){var e={};Yj(this,e,a,b,c,d);qj(Vj+"/png",e)}else alert(Cc(15))};f.Vf=function(a,b,c,d,e){if("svg"==Hi){var g={};Zj(this,g,a,b,c,d,e);qj(Vj+"/jpg",g)}else alert(Cc(15))}; +f.Wf=function(a,b,c,d,e){if("svg"==Hi){var g={};bk(this,g,a,b,c,d,e);qj(Vj+"/pdf",g)}else alert(Cc(15))};f.Yf=function(a,b,c){if("svg"==Hi){var d={};ak(this,d,a,b,c);qj(Vj+"/svg",d)}else alert(Cc(15))}; f.print=function(a,b){if(r(a)||r(b)){var c=tb(a,b,"us-letter"),d=gi().contentWindow.document,e=me("DIV");H(e,{width:c.width,height:c.height});d.body.appendChild(e);c=this.width();d=this.height();var g=Le(e);this.resize(g.width,g.height);g=this.h();"svg"==g.tagName&&g.cloneNode?(g=g.cloneNode(!0),e.appendChild(g)):Ii(e).data(this.data());this.resize(c,d)}else e=gi().contentWindow.document,d=this.h(),"svg"==d.tagName?d.cloneNode?c=d.cloneNode(!0):(d=Ii(e.body),d.data(this.data()),c=d.h()):(d=Ii(e.body), d.data(this.data())),d=L(),g=c,d.s(g,"width","100%"),d.s(g,"height","100%"),d.s(g,"viewBox","0 0 "+this.width()+" "+this.height()),H(g,"width","100%"),H(g,"height",""),H(g,"max-height","100%"),e.body.appendChild(c);ki()}; -f.cc=function(a,b){if("svg"!=Hi)return"";if(r(a)||r(b)){var c=tb(a,b);var d=re(this.h()),e=Ee(d,"width");d=Ee(d,"height");this.resize(c.width,c.height);c=ck(this.h());this.resize(e,d)}else L().Id(this.h(),this.width(),this.height()),c=ck(this.h()),L().Id(this.h(),"100%","100%");return''+c};function ck(a){var b="";a&&(b=(new XMLSerializer).serializeToString(a));return b}x("acgraph.server",function(a){r(a)&&(Vj=a);return Vj});var X=xi.prototype; -X.saveAsPNG=X.Vf;X.saveAsJPG=X.Tf;X.saveAsPDF=X.Uf;X.saveAsSVG=X.Wf;X.saveAsPng=X.Vf;X.saveAsJpg=X.Tf;X.saveAsPdf=X.Uf;X.saveAsSvg=X.Wf;X.shareAsPng=X.lh;X.shareAsJpg=X.jh;X.shareAsPdf=X.kh;X.shareAsSvg=X.mh;X.getPngBase64String=X.Pg;X.getJpgBase64String=X.Mg;X.getSvgBase64String=X.Rg;X.getPdfBase64String=X.Og;X.print=X.print;X.toSvg=X.cc;function dk(a,b,c,d,e){of.call(this,a,b,c,d,e)}y(dk,of);dk.prototype.P=function(){var a=Pf(this),b=a&&!a.da();b&&a.suspend();wa(this.f,function(a){a.j(512)},this);b&&a.resume()};x("acgraph.vml.Clip",dk);function ek(a,b,c,d,e,g,h){pi.call(this,a,b,c,b,b,g,h);this.g=d;this.i=e}y(ek,pi);function fk(a,b,c,d,e,g,h){g=null!=g?z(g,0,1):1;var k=[];wa(a,function(a){k.push(String(a.offset)+a.color+(a.opacity?a.opacity:null))});return k.join("")+g+b+c+d+e+(h?String(h.left)+h.top+h.width+h.height:"")};var gk={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400", +f.cc=function(a,b){if("svg"!=Hi)return"";if(r(a)||r(b)){var c=tb(a,b);var d=re(this.h()),e=Ee(d,"width");d=Ee(d,"height");this.resize(c.width,c.height);c=ck(this.h());this.resize(e,d)}else L().Jd(this.h(),this.width(),this.height()),c=ck(this.h()),L().Jd(this.h(),"100%","100%");return''+c};function ck(a){var b="";a&&(b=(new XMLSerializer).serializeToString(a));return b}x("acgraph.server",function(a){r(a)&&(Vj=a);return Vj});var X=xi.prototype; +X.saveAsPNG=X.Xf;X.saveAsJPG=X.Vf;X.saveAsPDF=X.Wf;X.saveAsSVG=X.Yf;X.saveAsPng=X.Xf;X.saveAsJpg=X.Vf;X.saveAsPdf=X.Wf;X.saveAsSvg=X.Yf;X.shareAsPng=X.nh;X.shareAsJpg=X.lh;X.shareAsPdf=X.mh;X.shareAsSvg=X.oh;X.getPngBase64String=X.Qg;X.getJpgBase64String=X.Ng;X.getSvgBase64String=X.Sg;X.getPdfBase64String=X.Pg;X.print=X.print;X.toSvg=X.cc;function dk(a,b,c,d,e){of.call(this,a,b,c,d,e)}y(dk,of);dk.prototype.P=function(){var a=Pf(this),b=a&&!a.da();b&&a.suspend();wa(this.f,function(a){a.j(512)},this);b&&a.resume()};x("acgraph.vml.Clip",dk);function ek(a,b,c,d,e,g,h){pi.call(this,a,b,c,b,b,g,h);this.g=d;this.i=e}y(ek,pi);function fk(a,b,c,d,e,g,h){g=null!=g?z(g,0,1):1;var k=[];wa(a,function(a){k.push(String(a.offset)+a.color+(a.opacity?a.opacity:null))});return k.join("")+g+b+c+d+e+(h?String(h.left)+h.top+h.width+h.height:"")};var gk={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400", darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc", ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a", lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1", moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57", -seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function hk(a){var b={};a=String(a);var c="#"==a.charAt(0)?a:"#"+a;if(ik.test(c))return b.re=jk(c),b.type="hex",b;a:{var d=a.match(kk);if(d){c=Number(d[1]);var e=Number(d[2]);d=Number(d[3]);if(0<=c&&255>=c&&0<=e&&255>=e&&0<=d&&255>=d){c=[c,e,d];break a}}c=[]}if(c.length)return b.re=qb(c),b.type="rgb",b;if(gk&&(c=gk[a.toLowerCase()]))return b.re=c,b.type="named",b;throw Error(a+" is not a valid color string");}var lk=/#(.)(.)(.)/; +seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function hk(a){var b={};a=String(a);var c="#"==a.charAt(0)?a:"#"+a;if(ik.test(c))return b.te=jk(c),b.type="hex",b;a:{var d=a.match(kk);if(d){c=Number(d[1]);var e=Number(d[2]);d=Number(d[3]);if(0<=c&&255>=c&&0<=e&&255>=e&&0<=d&&255>=d){c=[c,e,d];break a}}c=[]}if(c.length)return b.te=qb(c),b.type="rgb",b;if(gk&&(c=gk[a.toLowerCase()]))return b.te=c,b.type="named",b;throw Error(a+" is not a valid color string");}var lk=/#(.)(.)(.)/; function jk(a){if(!ik.test(a))throw Error("'"+a+"' is not a valid hex color");4==a.length&&(a=a.replace(lk,"#$1$1$2$2$3$3"));return a.toLowerCase()}function mk(a){a=jk(a);return[parseInt(a.substr(1,2),16),parseInt(a.substr(3,2),16),parseInt(a.substr(5,2),16)]} function qb(a){var b=a[0],c=a[1];a=a[2];b=Number(b);c=Number(c);a=Number(a);if(b!=(b&255)||c!=(c&255)||a!=(a&255))throw Error('"('+b+","+c+","+a+'") is not a valid RGB color');b=nk(b.toString(16));c=nk(c.toString(16));a=nk(a.toString(16));return"#"+b+c+a}var ik=/^#(?:[0-9a-f]{3}){1,2}$/i,kk=/^(?:rgb)?\((0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2})\)$/i;function nk(a){return 1==a.length?"0"+a:a} -function ok(a,b,c){c=z(c,0,1);return[Math.round(c*a[0]+(1-c)*b[0]),Math.round(c*a[1]+(1-c)*b[1]),Math.round(c*a[2]+(1-c)*b[2])]};function pk(){Rg.call(this);var a=document;qk()||a.createStyleSheet().addRule("."+rk,"behavior:url(#default#VML)");try{a.namespaces[sk]||a.namespaces.add(sk,tk),this.c=function(a){return me(sk+":"+a,{"class":rk})}}catch(b){this.c=function(a){return me(sk+":"+a,{"class":rk,xmlns:"urn:schemas-microsoft.com:vml"})}}uk&&(this.s=this.fh)}y(pk,Rg);da(pk);var tk="urn:schemas-microsoft-com:vml",sk="any_vml",rk="any_vml",uk=n.document&&n.document.documentMode&&8<=n.document.documentMode; -function Y(a){return u(a)&&vb(a,"%")?parseFloat(a)+"%":parseFloat(String(a))+"px"}function Z(a){return 100*Math.round(a)}f=pk.prototype;f.oa=null;f.U=null;f.Nc=null;f.Jb=null;f.xa=null;f.Cc=null;f.fh=function(a,b,c){a[b]=c};f.ke=function(){return document.createElement("div")}; +function ok(a,b,c){c=z(c,0,1);return[Math.round(c*a[0]+(1-c)*b[0]),Math.round(c*a[1]+(1-c)*b[1]),Math.round(c*a[2]+(1-c)*b[2])]};function pk(){Rg.call(this);var a=document;qk()||a.createStyleSheet().addRule("."+rk,"behavior:url(#default#VML)");try{a.namespaces[sk]||a.namespaces.add(sk,tk),this.c=function(a){return me(sk+":"+a,{"class":rk})}}catch(b){this.c=function(a){return me(sk+":"+a,{"class":rk,xmlns:"urn:schemas-microsoft.com:vml"})}}uk&&(this.s=this.hh)}y(pk,Rg);da(pk);var tk="urn:schemas-microsoft-com:vml",sk="any_vml",rk="any_vml",uk=n.document&&n.document.documentMode&&8<=n.document.documentMode; +function Y(a){return u(a)&&vb(a,"%")?parseFloat(a)+"%":parseFloat(String(a))+"px"}function Z(a){return 100*Math.round(a)}f=pk.prototype;f.oa=null;f.U=null;f.Nc=null;f.Jb=null;f.xa=null;f.Cc=null;f.hh=function(a,b,c){a[b]=c};f.ke=function(){return document.createElement("div")}; f.Va=function(){this.Jb=this.me();vk(this,this.Jb);this.Jb.style.display="none";S(this,this.Jb,{filled:"true",fillcolor:"black",stroked:"false",path:"m0,0 l1,0 e"});document.body.appendChild(this.Jb);this.oa=me("DIV");this.U=me("SPAN");this.Nc=me("SPAN");document.body.appendChild(this.oa);this.oa.appendChild(this.Nc);this.oa.appendChild(this.U);H(this.oa,{position:"absolute",visibility:"hidden",left:0,top:0});H(this.Nc,{"font-size":"0px",border:"0 solid"});this.Nc.innerHTML="a";this.b=me("SPAN"); -this.oa.appendChild(this.b);H(this.b,{"font-size":"0px",border:"0 solid"});this.b.innerHTML="a";this.Cc=me("IMG");H(this.Cc,{position:"absolute",left:0,top:0});this.oa.appendChild(this.Cc);this.ra=me("DIV");this.oa.appendChild(this.ra)};f.ud=function(a){this.oa||this.Va();this.s(this.Cc,"src",a);return Je(this.Cc)}; +this.oa.appendChild(this.b);H(this.b,{"font-size":"0px",border:"0 solid"});this.b.innerHTML="a";this.Cc=me("IMG");H(this.Cc,{position:"absolute",left:0,top:0});this.oa.appendChild(this.Cc);this.ra=me("DIV");this.oa.appendChild(this.ra)};f.vd=function(a){this.oa||this.Va();this.s(this.Cc,"src",a);return Je(this.Cc)}; f.measure=function(a,b){if(""==a)return new B(0,0,0,0);this.oa||this.Va();G(this.xa);this.xa=this.oc("");this.Jb.appendChild(this.xa);var c=null,d=0;if(" "==a)return Sg(this,b);0==a.lastIndexOf(" ",0)&&(d+=c=Sg(this,b).width);vb(a," ")&&(d+=c||Sg(this,b).width);zk(this.U.style,"font-style");zk(this.U.style,"font-variant");zk(this.U.style,"font-family");zk(this.U.style,"font-size");zk(this.U.style,"font-weight");zk(this.U.style,"letter-spacing");zk(this.U.style,"text-decoration");this.U.style.cssText= "";b.fontStyle&&(H(this.U,"font-style",b.fontStyle),H(this.xa,"font-style",b.fontStyle));b.fontVariant&&(H(this.U,"font-variant",b.fontVariant),H(this.xa,"font-variant",b.fontVariant));b.fontFamily&&(H(this.U,"font-family",b.fontFamily),H(this.xa,"font-family",b.fontFamily));b.fontSize&&(H(this.U,"font-size",b.fontSize),H(this.xa,"font-size",b.fontSize));b.fontWeight?(H(this.U,"font-weight",b.fontWeight),H(this.xa,"font-weight",b.fontWeight)):(H(this.U,"font-weight","normal"),H(this.xa,"font-weight", "normal"));b.letterSpacing&&(H(this.U,"letter-spacing",b.letterSpacing),this.xa.style["v-text-spacing"]="normal"==b.letterSpacing?"":b.letterSpacing);b.Cb&&(H(this.U,"text-decoration",b.decoration),H(this.xa,"text-decoration",b.decoration));H(this.U,"border","0 solid");this.s(this.xa,"string",a);c=Je(this.Jb).width;H(this.oa,{left:0,top:0,width:"auto",height:"auto"});this.U.innerHTML=a;var e=Je(this.Nc),g=this.oa;e=-(e.top+e.height);g.style.left=He(0,!1);g.style.top=He(e,!1);g=Je(this.U);g.width= -c+d;--g.left;this.U.innerHTML="";return g};f.Hf=function(a){this.oa||this.Va();u(a)?this.ra.innerHTML=a:(a=a.cloneNode(!0),this.ra.appendChild(a));a=Je(this.ra);this.ra.innerHTML="";return a};function zk(a,b){a[b]&&(a.cssText=a.cssText.replace(new RegExp("(^|; )("+b+": [^;]*)(;|$)","ig"),";"))}function vk(a,b){a.s(b,"coordsize",Z(1)+" "+Z(1));S(a,b.style,{position:"absolute",left:Y(0),top:Y(0),width:Y(1),height:Y(1)})}f.Lf={1:"m",2:"l",3:"c",4:"ae",5:"x"}; -f.Mf=function(a,b){var c=b[2]+b[3];a.push(Z(b[4]-Ma(c,b[0])),Z(b[5]-Na(c,b[1])),Z(b[0]),Z(b[1]),Math.round(-65536*b[2]),Math.round(-65536*b[3]))};f.Nf=function(a,b){Ac(Array.prototype.push,xa(b,Z),a)};function qk(){return!!za(hi(),function(a){return a.selectorText==="."+rk})} +c+d;--g.left;this.U.innerHTML="";return g};f.Jf=function(a){this.oa||this.Va();u(a)?this.ra.innerHTML=a:(a=a.cloneNode(!0),this.ra.appendChild(a));a=Je(this.ra);this.ra.innerHTML="";return a};function zk(a,b){a[b]&&(a.cssText=a.cssText.replace(new RegExp("(^|; )("+b+": [^;]*)(;|$)","ig"),";"))}function vk(a,b){a.s(b,"coordsize",Z(1)+" "+Z(1));S(a,b.style,{position:"absolute",left:Y(0),top:Y(0),width:Y(1),height:Y(1)})}f.Nf={1:"m",2:"l",3:"c",4:"ae",5:"x"}; +f.Of=function(a,b){var c=b[2]+b[3];a.push(Z(b[4]-Ma(c,b[0])),Z(b[5]-Na(c,b[1])),Z(b[0]),Z(b[1]),Math.round(-65536*b[2]),Math.round(-65536*b[3]))};f.Pf=function(a,b){Ac(Array.prototype.push,xa(b,Z),a)};function qk(){return!!za(hi(),function(a){return a.selectorText==="."+rk})} function Ak(a,b){var c=a%90,d=La(a),e=1,g=b.left+b.width/2,h=b.top+b.height/2,k=0>Math.sin(d)||180==a||360==a;if(90==a||270==a)c+=1E-6;180!=a&&(0>Math.tan(d)||90==a||270==a)&&(e=-1,c=90-c);c=La(c);d=Math.tan(c);d=Math.sin(c)*(b.height/2-d*b.width/2)+Math.sqrt(Math.pow(b.width/2,2)*(1+Math.pow(d,2)));e*=Math.cos(c)*d;c=Math.sin(c)*d;k&&(e=-e,c=-c);return{S:new Oa(Math.round(g-e),Math.round(h+c)),ia:new Oa(Math.round(g+e),Math.round(h-c))}} function Bk(a,b){if(b.S.x==b.ia.x){var c=b.S.x;var d=a.y}else b.S.y==b.ia.y?(c=a.x,d=b.S.y):(c=(b.S.x*Math.pow(b.ia.y-b.S.y,2)+a.x*Math.pow(b.ia.x-b.S.x,2)+(b.ia.x-b.S.x)*(b.ia.y-b.S.y)*(a.y-b.S.y))/(Math.pow(b.ia.y-b.S.y,2)+Math.pow(b.ia.x-b.S.x,2)),d=(b.ia.x-b.S.x)*(a.x-c)/(b.ia.y-b.S.y)+a.y);c=new Oa(c,d);d=[z(b.S.x-b.ia.x,-1,1),z(b.S.y-b.ia.y,-1,1)];var e=[z(b.S.x-c.x,-1,1),z(b.S.y-c.y,-1,1)],g=[z(b.ia.x-c.x,-1,1),z(b.ia.y-c.y,-1,1)];return 0>(0==d[0]?(e[1]+g[1])*d[1]:(e[0]+g[0])*d[0])?-Pa(b.S, c):Pa(b.S,c)} -function Ck(a,b,c,d){var e=Ak(c,d);d=Pa(e.S,e.ia);var g=Ak(c,b);b=Pa(g.S,g.ia);c=Bk(e.S,g);e=Bk(e.ia,g);g={offset:Math.round(c/b*100)/100,color:"",opacity:1};var h={offset:Math.round(e/b*100)/100,color:"",opacity:1},k=[];k.toString=function(){for(var a="\n",b=0,c=this.length;bg.offset&&q.offset=h.offset&&!m&&(m={offset:q.offset,color:q.color,opacity:q.opacity})}k.push(h);a=q=1;if(2h&&1>g?l?h>g:hh)?h:g);h=k.width*g;k=k.height*g;switch(e){case Lg:e=b.width;g=b.height;break;case "x-min-y-min":e=b.left;g=b.top;break;case "x-mid-y-min":e=b.left+b.width/2-h/2;g=b.top;break;case "x-max-y-min":e= +a-=0==q?0:Math.abs(e-p)/q;h.color=qb(ok(t,A,a))}else l||0!=m.offset||(l=m),m||1!=l.offset||(m=l),p=b*l.offset,t=b*m.offset,A=mk(String(l.color)),D=mk(String(m.color)),t=Math.abs(t-p),q-=0==t?0:Math.abs(c-p)/t,a-=0==t?0:Math.abs(e-p)/t,g.color=qb(ok(A,D,q)),h.color=qb(ok(A,D,a));g.opacity=l.opacity;h.opacity=m.opacity;for(p=0;ph&&1>g?l?h>g:hh)?h:g);h=k.width*g;k=k.height*g;switch(e){case Lg:e=b.width;g=b.height;break;case "x-min-y-min":e=b.left;g=b.top;break;case "x-mid-y-min":e=b.left+b.width/2-h/2;g=b.top;break;case "x-max-y-min":e= b.left+b.width-h;g=b.top;break;case "x-min-y-mid":e=b.left;g=b.top+b.height/2-k/2;break;default:case "x-mid-y-mid":e=b.left+b.width/2-h/2;g=b.top+b.height/2-k/2;break;case "x-max-y-mid":e=b.left+b.width-h;g=b.top+b.height/2-k/2;break;case "x-min-y-max":e=b.left;g=b.top+b.height-k;break;case "x-mid-y-max":e=b.left+b.width/2-h/2;g=b.top+b.height-k;break;case "x-max-y-max":e=b.left+b.width-h,g=b.top+b.height-k}}S(this,c.style,{position:"absolute",left:Y(e),top:Y(g),width:Y(h),height:Y(k)});this.s(c, -"src",d);a.clip(b)};f.Xf=function(a){this.Ce(a)};f.Ce=function(a){var b=a.h();vk(this,b);var c=a.Ab(),d=a.Bb(),e=a.za(),g=a.kb(),h=a.aa();h&&!Za(h)?(c=Ta(c,d,e,g,0,360,!1),d=c.length,h.transform(c,0,c,0,d/2),h=["m",Z(c[d-2]),Z(c[d-1]),"c"],Ac(Array.prototype.push,xa(c,Z),h)):h=["ae",Z(c),Z(d),Z(e),Z(g),0,-23592960];h.push("x");M(a,4);M(a,256);this.s(b,"path",h.join(" "))}; -f.Ee=function(a){var b=a.h();vk(this,b);var c=Xg(this,a,!0);c?this.s(b,"path",c):(this.s(b,"path","M 0,0"),b.removeAttribute("path"));M(a,4);M(a,256)};f.me=function(){var a=this.c("shape"),b=this.c("path");b.setAttribute("textpathok","t");a.appendChild(b);return a};f.Xc=function(){return document.createElement("span")};f.oc=function(a){var b=this.c("textpath");b.setAttribute("on","t");b.setAttribute("string",a);return b};f.Yf=function(a,b){var c=a.h();c&&(c.style.cursor=b||"")}; -f.Fe=function(a){var b=a.h().style;if(Dk(a)){if(!a.path()){var c=a.Oa;a.b.length&&(c-=a.b[0].f);var d=a.G;S(this,b,{position:"absolute",overflow:"visible",left:Y(d),top:Y(c)})}}else d=a.x(),c=a.y(),a.zb()&&a.height()&&a.height()>a.g&&("middle"==a.zb()&&(c+=a.height()/2-a.g/2),"bottom"==a.zb()&&(c+=a.height()-a.g)),S(this,b,{position:"absolute",overflow:"hidden",left:Y(d),top:Y(c)})}; -f.Ge=function(a){var b=a.h(),c=b.style;b.style.cssText="";if(Dk(a))a.path()||S(this,c,{width:Y(1),height:Y(1)}),b.innerHTML="";else if(null!=a.Ob){a.fontSize()&&H(b,"font-size",a.fontSize());a.color()&&H(b,"color",a.color());a.fontFamily()&&H(b,"font-family",a.fontFamily());a.fontStyle()&&H(b,"font-style",a.fontStyle());a.fontVariant()&&H(b,"font-variant",a.fontVariant());a.fontWeight()&&H(b,"font-weight",a.fontWeight());a.letterSpacing()&&H(b,"letter-spacing",a.letterSpacing());a.Cb()&&H(b,"text-decoration", -a.Cb());a.opacity()&&(c.filter="alpha(opacity="+100*a.opacity()+")");a.ce()&&H(b,"line-height",a.ce());a.de()&&H(b,"text-indent",a.de());"..."==a.lb()&&H(b,"text-overflow","ellipsis");""==a.lb()&&H(b,"text-overflow","clip");a.pc()&&H(b,"direction",a.pc());H(b,"word-break",a.og());H(b,"word-wrap",a.Ve());null!=a.width()?H(this.b,"white-space","normal"):H(this.b,"white-space","nowrap");a.Ja()&&(b.style["text-align"]=a.v?"end"==a.Ja()||"left"==a.Ja()?"left":a.Ja()==T||"right"==a.Ja()?"right":"center": +"src",d);a.clip(b)};f.Zf=function(a){this.Ee(a)};f.Ee=function(a){var b=a.h();vk(this,b);var c=a.Ab(),d=a.Bb(),e=a.za(),g=a.kb(),h=a.aa();h&&!Za(h)?(c=Ta(c,d,e,g,0,360,!1),d=c.length,h.transform(c,0,c,0,d/2),h=["m",Z(c[d-2]),Z(c[d-1]),"c"],Ac(Array.prototype.push,xa(c,Z),h)):h=["ae",Z(c),Z(d),Z(e),Z(g),0,-23592960];h.push("x");M(a,4);M(a,256);this.s(b,"path",h.join(" "))}; +f.Ge=function(a){var b=a.h();vk(this,b);var c=Xg(this,a,!0);c?this.s(b,"path",c):(this.s(b,"path","M 0,0"),b.removeAttribute("path"));M(a,4);M(a,256)};f.me=function(){var a=this.c("shape"),b=this.c("path");b.setAttribute("textpathok","t");a.appendChild(b);return a};f.Yc=function(){return document.createElement("span")};f.oc=function(a){var b=this.c("textpath");b.setAttribute("on","t");b.setAttribute("string",a);return b};f.$f=function(a,b){var c=a.h();c&&(c.style.cursor=b||"")}; +f.He=function(a){var b=a.h().style;if(Dk(a)){if(!a.path()){var c=a.Oa;a.b.length&&(c-=a.b[0].f);var d=a.G;S(this,b,{position:"absolute",overflow:"visible",left:Y(d),top:Y(c)})}}else d=a.x(),c=a.y(),a.zb()&&a.height()&&a.height()>a.g&&("middle"==a.zb()&&(c+=a.height()/2-a.g/2),"bottom"==a.zb()&&(c+=a.height()-a.g)),S(this,b,{position:"absolute",overflow:"hidden",left:Y(d),top:Y(c)})}; +f.Ie=function(a){var b=a.h(),c=b.style;b.style.cssText="";if(Dk(a))a.path()||S(this,c,{width:Y(1),height:Y(1)}),b.innerHTML="";else if(null!=a.Ob){a.fontSize()&&H(b,"font-size",a.fontSize());a.color()&&H(b,"color",a.color());a.fontFamily()&&H(b,"font-family",a.fontFamily());a.fontStyle()&&H(b,"font-style",a.fontStyle());a.fontVariant()&&H(b,"font-variant",a.fontVariant());a.fontWeight()&&H(b,"font-weight",a.fontWeight());a.letterSpacing()&&H(b,"letter-spacing",a.letterSpacing());a.Cb()&&H(b,"text-decoration", +a.Cb());a.opacity()&&(c.filter="alpha(opacity="+100*a.opacity()+")");a.ce()&&H(b,"line-height",a.ce());a.de()&&H(b,"text-indent",a.de());"..."==a.lb()&&H(b,"text-overflow","ellipsis");""==a.lb()&&H(b,"text-overflow","clip");a.pc()&&H(b,"direction",a.pc());H(b,"word-break",a.qg());H(b,"word-wrap",a.Xe());null!=a.width()?H(this.b,"white-space","normal"):H(this.b,"white-space","nowrap");a.Ja()&&(b.style["text-align"]=a.v?"end"==a.Ja()||"left"==a.Ja()?"left":a.Ja()==T||"right"==a.Ja()?"right":"center": "end"==a.Ja()||"right"==a.Ja()?"right":a.Ja()==T||"left"==a.Ja()?"left":"center");var d=!a.Ic(),e=b.getElementsByTagName("*");if(Ke){if(d=d?"none":"",b.style&&(b.style[Ke]=d),e)for(var g=0,h;h=e[g];g++)h.style&&(h.style[Ke]=d)}else if(F||hc)if(d=d?"on":"",b.setAttribute("unselectable",d),e)for(g=0;h=e[g];g++)h.setAttribute("unselectable",d);b.innerHTML=a.Ob;this.s(c,"width",String(a.width()?Y(a.width()):a.fa().width));this.s(c,"height",String(a.height()?Y(a.height()):a.fa().height))}}; -f.Se=function(a){var b=a.h(),c=a.parent().path();if(c){var d=dg();d.F(Jf(c));a.i&&d.translate(a.g,a.c);a=c?Xg(this,d,!0):"m "+Z(a.x)+","+Z(a.y)+" l "+(Z(a.x)+1)+","+Z(a.y)+" e";b.setAttribute("path",a)}}; -f.Te=function(a){var b=a.parent(),c=b.style(),d=a.h();c=Zb(c);ac(c,a.b);a=this.oc(a.text);c.fontStyle&&H(a,"font-style",c.fontStyle);c.fontVariant&&H(a,"font-variant",c.fontVariant);c.fontFamily&&H(a,"font-family",c.fontFamily);c.fontSize&&H(a,"font-size",c.fontSize);c.fontWeight&&H(a,"font-weight",c.fontWeight);c.letterSpacing&&(a.style["v-text-spacing"]="normal"==c.letterSpacing?"":c.letterSpacing);c.decoration&&H(a,"text-decoration",c.decoration);c.hAlign&&(a.style["v-text-align"]=b.v?"end"==c.hAlign|| -"left"==c.hAlign?"left":c.hAlign==T||"right"==c.hAlign?"right":"center":"end"==c.hAlign||"right"==c.hAlign?"right":c.hAlign==T||"left"==c.hAlign?"left":"center");if(c.opacity){var e=this.c("fill");this.s(e,"opacity",c.opacity);d.appendChild(e)}d.appendChild(a);b.Ic()?d.removeAttribute("unselectable"):this.s(d,"unselectable","on");vk(this,d);d.setAttribute("filled","t");d.setAttribute("fillcolor",c.color);d.setAttribute("stroked","f");b.h().appendChild(d)};f.Jf=function(){return!0}; -f.Ze=function(a){var b=a.Ea();C(b,nb)&&(b="black");var c=a.stroke(),d;u(c)?d=c:d="keys"in c?0!=c.keys.length?c.keys[0].color:"#000":c.color;var e=!u(b)&&"keys"in b&&"cx"in b&&"cy"in b,g=!u(b)&&"keys"in b&&!e,h=!e&&!g,k="none"!=b&&"none"!=b.color,l="none"!=d&&0!=c.thickness,m=h&&k&&1!=b.opacity,p=!u(c)&&l&&(1!=c.opacity||"miter"!=c.lineJoin||"butt"!=c.lineCap||"none"!=c.dash);if(e||g||m||p){p=a.u();m=p.ta;var q=C(a,Kf)&&0==a.c.length?new B(0,0,1,1):a.fa();if(g){var t=C(b.mode,B);var A=Ga(b.keys,0); -0!=A[0].offset&&A.unshift({offset:0,color:A[0].color,opacity:A[0].opacity});var D=A[A.length-1];1!=D.offset&&A.push({offset:1,color:D.color,opacity:D.opacity});var w=b.mode?Wg(b.angle,q):b.angle;q=Qh(m,t?Ck(A,b.mode,w,q):A,b.opacity,w,b.mode)}else if(e){if(b.mode){var I=b.mode;D=Math.min(I.width,I.height);w=(b.cx*I.width-(q.left-I.left))/q.width;A=(b.cy*I.height-(q.top-I.top))/q.height;I=D/q.width;q=D/q.height}else w=b.cx,A=b.cy,I=q=1;q=Ek(m,b.keys,w,A,I,q,b.opacity,b.mode)}else q=b;w=Fk(m,q,c);if(!w.Xe){I= -this.c("shapetype");nf(this,I,yb(xb.na(),w));m.h().appendChild(I);w.Xe=!0;var U=null;if(g){var N=q;N.Sc&&(N=new mi(N.keys,N.opacity,N.b,N.mode),w.b=N);U=this.c("fill");A=N.keys;var K=[];wa(A,function(a){K.push(a.offset+" "+a.color)},this);p=Ka(N.b+270);D=A[A.length-1];h=A[0];S(this,U,{type:"gradient",method:"none",colors:K.join(","),angle:p,color:h.color,opacity:t?N.opacity:isNaN(D.opacity)?N.opacity:D.opacity,color2:D.color,"o:opacity2":t?N.opacity:isNaN(h.opacity)?N.opacity:h.opacity});I.appendChild(U); -N.mc=m;N.Sc=!0}else e?(t=q,t.Tc&&(t=new ek(t.keys,t.c,t.f,t.g,t.i,t.opacity,t.b),w.b=t),U=this.c("fill"),A=t.keys,h=A[A.length-1],D=A[0],S(this,U,{src:p.pathToRadialGradientImage,size:t.g+","+t.i,origin:".5, .5",position:t.c+","+t.f,type:"pattern",method:"linear sigma",colors:"0 "+h.color+";1 "+D.color,color:h.color,opacity:isNaN(h.opacity)?t.opacity:h.opacity,color2:D.color,"o:opacity2":isNaN(D.opacity)?t.opacity:D.opacity}),I.appendChild(U),t.nc=m,t.Tc=!0):h&&(U=w.Db?w.Db:w.Db=this.c("fill"),u(b)? +f.Ue=function(a){var b=a.h(),c=a.parent().path();if(c){var d=dg();d.F(Jf(c));a.i&&d.translate(a.g,a.c);a=c?Xg(this,d,!0):"m "+Z(a.x)+","+Z(a.y)+" l "+(Z(a.x)+1)+","+Z(a.y)+" e";b.setAttribute("path",a)}}; +f.Ve=function(a){var b=a.parent(),c=b.style(),d=a.h();c=Zb(c);ac(c,a.b);a=this.oc(a.text);c.fontStyle&&H(a,"font-style",c.fontStyle);c.fontVariant&&H(a,"font-variant",c.fontVariant);c.fontFamily&&H(a,"font-family",c.fontFamily);c.fontSize&&H(a,"font-size",c.fontSize);c.fontWeight&&H(a,"font-weight",c.fontWeight);c.letterSpacing&&(a.style["v-text-spacing"]="normal"==c.letterSpacing?"":c.letterSpacing);c.decoration&&H(a,"text-decoration",c.decoration);c.hAlign&&(a.style["v-text-align"]=b.v?"end"==c.hAlign|| +"left"==c.hAlign?"left":c.hAlign==T||"right"==c.hAlign?"right":"center":"end"==c.hAlign||"right"==c.hAlign?"right":c.hAlign==T||"left"==c.hAlign?"left":"center");if(c.opacity){var e=this.c("fill");this.s(e,"opacity",c.opacity);d.appendChild(e)}d.appendChild(a);b.Ic()?d.removeAttribute("unselectable"):this.s(d,"unselectable","on");vk(this,d);d.setAttribute("filled","t");d.setAttribute("fillcolor",c.color);d.setAttribute("stroked","f");b.h().appendChild(d)};f.Lf=function(){return!0}; +f.af=function(a){var b=a.Ea();C(b,nb)&&(b="black");var c=a.stroke(),d;u(c)?d=c:d="keys"in c?0!=c.keys.length?c.keys[0].color:"#000":c.color;var e=!u(b)&&"keys"in b&&"cx"in b&&"cy"in b,g=!u(b)&&"keys"in b&&!e,h=!e&&!g,k="none"!=b&&"none"!=b.color,l="none"!=d&&0!=c.thickness,m=h&&k&&1!=b.opacity,p=!u(c)&&l&&(1!=c.opacity||"miter"!=c.lineJoin||"butt"!=c.lineCap||"none"!=c.dash);if(e||g||m||p){p=a.u();m=p.ta;var q=C(a,Kf)&&0==a.c.length?new B(0,0,1,1):a.fa();if(g){var t=C(b.mode,B);var A=Ga(b.keys,0); +0!=A[0].offset&&A.unshift({offset:0,color:A[0].color,opacity:A[0].opacity});var D=A[A.length-1];1!=D.offset&&A.push({offset:1,color:D.color,opacity:D.opacity});var w=b.mode?Wg(b.angle,q):b.angle;q=Qh(m,t?Ck(A,b.mode,w,q):A,b.opacity,w,b.mode)}else if(e){if(b.mode){var I=b.mode;D=Math.min(I.width,I.height);w=(b.cx*I.width-(q.left-I.left))/q.width;A=(b.cy*I.height-(q.top-I.top))/q.height;I=D/q.width;q=D/q.height}else w=b.cx,A=b.cy,I=q=1;q=Ek(m,b.keys,w,A,I,q,b.opacity,b.mode)}else q=b;w=Fk(m,q,c);if(!w.Ze){I= +this.c("shapetype");nf(this,I,yb(xb.na(),w));m.h().appendChild(I);w.Ze=!0;var U=null;if(g){var N=q;N.Tc&&(N=new mi(N.keys,N.opacity,N.b,N.mode),w.b=N);U=this.c("fill");A=N.keys;var K=[];wa(A,function(a){K.push(a.offset+" "+a.color)},this);p=Ka(N.b+270);D=A[A.length-1];h=A[0];S(this,U,{type:"gradient",method:"none",colors:K.join(","),angle:p,color:h.color,opacity:t?N.opacity:isNaN(D.opacity)?N.opacity:D.opacity,color2:D.color,"o:opacity2":t?N.opacity:isNaN(h.opacity)?N.opacity:h.opacity});I.appendChild(U); +N.mc=m;N.Tc=!0}else e?(t=q,t.Uc&&(t=new ek(t.keys,t.c,t.f,t.g,t.i,t.opacity,t.b),w.b=t),U=this.c("fill"),A=t.keys,h=A[A.length-1],D=A[0],S(this,U,{src:p.pathToRadialGradientImage,size:t.g+","+t.i,origin:".5, .5",position:t.c+","+t.f,type:"pattern",method:"linear sigma",colors:"0 "+h.color+";1 "+D.color,color:h.color,opacity:isNaN(h.opacity)?t.opacity:h.opacity,color2:D.color,"o:opacity2":isNaN(D.opacity)?t.opacity:D.opacity}),I.appendChild(U),t.nc=m,t.Uc=!0):h&&(U=w.Db?w.Db:w.Db=this.c("fill"),u(b)? (S(this,a.h(),{fillcolor:b,filled:"none"!=b}),S(this,U,{type:"solid",on:"none"!=b,color:b,opacity:1})):(S(this,a.h(),{fillcolor:b.color,filled:"none"!=b.color}),S(this,U,{type:"solid",on:"none"!=b.color,color:b.color,opacity:isNaN(b.opacity)?1:b.opacity})));I.appendChild(U);t=w.Kc?w.Kc:w.Kc=this.c("stroke");m=c.thickness?c.thickness:1;p=(h=Gk(c.dash,m))?"flat":c.lineCap;S(this,t,{joinstyle:c.lineJoin||"miter",endcap:"butt"==p?"flat":p,dashstyle:h,on:l,color:d,opacity:ia(c)&&"opacity"in c?c.opacity: 1,weight:m+"px"});I.appendChild(t)}if(e||g)h=q.keys[q.keys.length-1],S(this,a.h(),{fillcolor:h.color,filled:"none"!=h.color});S(this,a.h(),{filled:k,fillcolor:b.color||b,stroked:l,strokecolor:d,strokeweight:c.thickness?c.thickness+"px":"1px"});S(this,a.h(),{type:"#"+yb(xb.na(),w)})}else S(this,a.h(),{type:"",filled:k,fillcolor:b.color||b,stroked:l,strokecolor:d,strokeweight:c.thickness?c.thickness+"px":"1px"})}; -function Gk(a,b){a=String(a);if(!a)return"none";var c=a.split(" ");0!=c.length%2&&c.push.apply(c,c);for(var d=[],e=0;ea.g&&("middle"==a.zb()&&(e+=a.height()/2-a.g/2),"bottom"==a.zb()&&(e+=a.height()-a.g)),S(this,d,{position:"absolute",overflow:"hidden",left:Y(g+b.i),top:Y(e+b.l)})}};f.Dc=function(){return!0};f.ig=ca;f.xf=ca; -f.ze=function(a){var b=C(a,Q),c=a.clip();if(c){c=c.jb();c=c.Ya(c.C);c=c.clone();var d=a.h().style;if(r(b)&&b)a=a.aa(),c=Ya(c,a);else if(!C(a,Ik)||Dk(a))c.left-=a.Eb()||0,c.top-=a.Fb()||0;a=c.left;b=c.top;this.s(d,"clip",["rect(",b+"px",a+c.width+"px",b+c.height+"px",a+"px",")"].join(" "))}else zk(a.h().style,"clip")};f.we=function(){return!0};function Jk(a,b){Nc.call(this);this.b=a;this.c=b}y(Jk,Nc);function Kk(a){delete a.b;G(a.Db);a.Db=null}f=Jk.prototype;f.Db=null;f.Kc=null;f.Xe=!1;f.ga=function(){return"shape-type"};f.A=function(){delete this.b;delete this.c;G(this.Db);this.Db=null;G(this.Kc);this.Kc=null};function Lk(a){wi.call(this,a);this.f={};this.l={}}y(Lk,wi);Lk.prototype.jc=function(){Xb(this.f);Xb(this.l);Lk.m.jc.call(this)}; +f.bg=function(a){var b=a.h(),c=a.Ab(),d=a.Bb(),e=a.za(),g=a.kb();(a=a.aa())&&!Za(a)?(c=Ta(c,d,e,g,0,360,!1),d=c.length,a.transform(c,0,c,0,d/2),a=["m",Z(c[d-2]),Z(c[d-1]),"c"],Ac(Array.prototype.push,xa(c,Z),a)):a=["ae",Z(c),Z(d),Z(e),Z(g),0,-23592960];a.push("x");this.s(b,"path",a.join(" "))};f.eg=function(a){var b=a.h().style;(a=a.aa())&&this.s(b,"rotation",String(bb(a)))};f.ig=function(a){var b=a.h();(a=Xg(this,a,!0))?this.s(b,"path",a):b.removeAttribute("path")};f.gg=ca; +f.lg=function(a){var b=a.aa();if(b){var c=a.b,d=a.h().style;if(Dk(a)){if(!a.path()){var e=a.Oa;a.b.length&&(e-=a.b[0].f);var g=a.G;S(this,d,{position:"absolute",overflow:"visible",left:Y(g+b.i),top:Y(e+b.l)})}if(Hk(a))for(a=0,d=c.length;aa.g&&("middle"==a.zb()&&(e+=a.height()/2-a.g/2),"bottom"==a.zb()&&(e+=a.height()-a.g)),S(this,d,{position:"absolute",overflow:"hidden",left:Y(g+b.i),top:Y(e+b.l)})}};f.Dc=function(){return!0};f.kg=ca;f.yf=ca; +f.Be=function(a){var b=C(a,Q),c=a.clip();if(c){c=c.jb();c=c.Ya(c.C);c=c.clone();var d=a.h().style;if(r(b)&&b)a=a.aa(),c=Ya(c,a);else if(!C(a,Ik)||Dk(a))c.left-=a.Eb()||0,c.top-=a.Fb()||0;a=c.left;b=c.top;this.s(d,"clip",["rect(",b+"px",a+c.width+"px",b+c.height+"px",a+"px",")"].join(" "))}else zk(a.h().style,"clip")};f.ye=function(){return!0};function Jk(a,b){Nc.call(this);this.b=a;this.c=b}y(Jk,Nc);function Kk(a){delete a.b;G(a.Db);a.Db=null}f=Jk.prototype;f.Db=null;f.Kc=null;f.Ze=!1;f.ga=function(){return"shape-type"};f.A=function(){delete this.b;delete this.c;G(this.Db);this.Db=null;G(this.Kc);this.Kc=null};function Lk(a){wi.call(this,a);this.f={};this.l={}}y(Lk,wi);Lk.prototype.jc=function(){Xb(this.f);Xb(this.l);Lk.m.jc.call(this)}; function Fk(a,b,c){var d="";d=u(b)?d+(b+"1"):C(b,pi)?fk(b.keys,b.c,b.f,b.g,b.i,b.opacity,b.b):C(b,mi)?ni(b.keys,b.opacity,b.b,b.mode):d+(b.color+b.opacity);if(u(c))var e=c;else if("keys"in c){var g=0!=c.keys.length?c.keys[0]:c;e=g.color||"black";e+="opacity"in g?g.opacity:1}else e=c.color,e+="opacity"in c?c.opacity:1;d+=String(c.thickness)+e+c.lineJoin+c.lineCap+c.dash;if(Vb(a.f,d))return a.f[d];b=new Jk(b,c);return a.f[d]=b} -function Ek(a,b,c,d,e,g,h,k){k=null!=k?k:null;var l=fk(b,c,d,e,g,h,k);return Vb(a.l,l)?a.l[l]:a.l[l]=new ek(b,c,d,e,g,h,k)}Lk.prototype.Qf=function(a){for(var b=qi(a.keys,a.c,a.f,a.g,a.i,a.opacity,a.b),c=Tb(this.f),d=0,e=c.length;d element to prevent scrollbar on 100% height of parent container (see DVF-620) this.setAttrs(this.measurement_, {'width': 0, 'height': 0}); - this.measurement_.style.cssText = 'position: absolute; left: -99999; top: -99999'; + this.measurement_.style.cssText = 'position: absolute; left: -99999px; top: -99999px'; this.measurementGroupNode_ = this.createLayerElement(); goog.dom.appendChild(this.measurement_, this.measurementGroupNode_);