{"version":3,"sources":["webpack:///(webpack)/buildin/harmony-module.js","webpack:///./node_modules/zrender/lib/Storage.js","webpack:///./node_modules/zrender/lib/Handler.js","webpack:///./node_modules/zrender/lib/Element.js","webpack:///(webpack)/buildin/global.js"],"names":["module","exports","originalModule","webpackPolyfill","Object","create","children","defineProperty","enumerable","get","l","i","invalidZErrorLogged","logInvalidZError","console","warn","shapeCompareFunc","a","b","zlevel","z","z2","Storage","this","_roots","_displayList","_displayListLen","displayableSortFunc","prototype","traverse","cb","context","length","getDisplayList","update","includeIgnore","displayList","updateDisplayList","roots","len","_updateAndAddDisplayable","env","canvasSupported","timsort","el","clipPaths","ignore","beforeUpdate","afterUpdate","userSetClipPath","getClipPath","ignoreClip","slice","currentClipPath","parentClipPath","parent","updateTransform","push","childrenRef","child","__dirty","Element","REDARAW_BIT","disp","__clipPaths","isNaN","decalEl","getDecalElement","textGuide","getTextGuideLine","textEl","getTextContent","addRoot","__zr","storage","delRoot","Array","idx","util","splice","delAllRoots","getRoots","dispose","SILENT","stopEvent","eventTool","event","EmptyProxy","_super","_this","apply","arguments","handler","__extends","setCursor","Eventful","HoveredResult","x","y","handlerNames","Handler","painter","proxy","painterRoot","call","_hovered","setHandlerProxy","_draggingMgr","Draggable","name","on","mousemove","zrX","zrY","isOutside","isOutsideBoundary","lastHovered","lastHoveredTarget","target","findHover","hovered","hoveredTarget","cursor","dispatchToElement","mouseout","eventControl","zrEventControl","trigger","type","resize","dispatch","eventName","eventArgs","setCursorStyle","cursorStyle","targetInfo","silent","eventKey","eventPacket","eveType","topTarget","cancelBubble","offsetX","offsetY","gestureEvent","pinchX","pinchY","pinchScale","wheelDelta","zrDelta","zrByTouch","which","stop","makeEventPacket","__hostTarget","eachOtherLayer","layer","exclude","list","out","hoverCheckResult","isHover","processGesture","stage","_gestureMgr","GestureMgr","gestureMgr","clear","gestureInfo","recognize","dom","res","displayable","rectHover","isSilent","clipPath","contain","hostEl","handlerInstance","getWidth","getHeight","_downEl","_downPoint","_upEl","vec2","PRIMARY_STATES_KEYS","DEFAULT_ANIMATABLE_MAP","scaleX","scaleY","originX","originY","rotation","tmpTextPosCalcRes","tmpBoundingRect","BoundingRect","props","id","guid","animators","currentStates","states","_init","attr","drift","dx","dy","e","draggable","m","transform","decomposeTransform","markRedraw","updateInnerText","forceUpdate","_textContent","textConfig","isLocal","local","attachedTransform","textAlign","textVerticalAlign","textStyleChanged","innerOrigin","position","layoutRect","copy","getBoundingRect","applyTransform","calculateTextPosition","align","verticalAlign","textOrigin","origin","relOriginX","relOriginY","width","height","parsePercent","textOffset","offset","isInside","inside","indexOf","innerTextDefaultStyle","_innerTextDefaultStyle","textFill","textStroke","autoStroke","canBeInsideText","insideFill","insideStroke","getInsideTextFill","getInsideTextStroke","outsideFill","outsideStroke","getOutsideFill","getOutsideStroke","fill","stroke","setDefaultTextStyle","dirtyStyle","isDarkMode","LIGHT_LABEL_COLOR","DARK_LABEL_COLOR","backgroundColor","getBackgroundColor","colorArr","parse","alpha","isDark","stringify","attrKV","key","value","setTextConfig","setTextContent","setClipPath","extra","extend","hide","show","keyOrObj","isObject","obj","keysArr","keys","saveCurrentToNormalState","toState","_innerSaveToNormal","normalState","_normalState","animator","fromStateTransition","__fromStateTransition","targetName","saveFinalToTarget","_savePrimaryToNormal","primaryKeys","hasState","getState","ensureState","clearStates","noAnimation","useState","stateName","keepCurrentStates","toNormalState","animationCfg","stateTransition","state","stateProxy","useHoverLayer","hoverLayer","_toggleHoverLayerFlag","_applyStateObj","__inHover","duration","_textGuide","_updateAnimationTargets","logError","useStates","stateObjects","notChange","stateObj","mergedState","_mergeStates","join","changeTarget","removeState","replaceState","oldState","newState","forceAdd","newStateExists","toggleState","enable","mergedTextConfig","transition","needsRestoreToNormal","transitionTarget","hasTransition","propNeedsTransition","__changeFinalValue","_transitionState","_attachComponent","componentEl","Error","zr","addSelfToZr","_detachComponent","removeSelfFromZr","_clipPath","removeClipPath","previousTextContent","removeTextContent","Transformable","cfg","removeTextConfig","setTextGuideLine","guideLine","removeTextGuideLine","refreshHover","refresh","dirty","inHover","textContent","animation","addAnimator","removeAnimator","animate","loop","Animator","during","updateDuringAnimation","done","wakeUp","stopAnimation","scope","forwardToLast","leftAnimators","animateTo","animationProps","animateFrom","getPaintRect","initDefaultProps","elProto","isGroup","dragging","logs","logDeprecatedError","xKey","yKey","createLegacyProperty","privateKey","enhanceArray","self","pos","set","val","browser","ie","version","animatable","reverse","animateToShallow","topKey","source","animatableKeys","changedKeys","targetKeys","delay","additive","setToFinal","animateAll","k","innerKey","isArrayLike","keyLen","force","existsAnimators","existsAnimatorsOnSameTarget","stopTracks","revertedSource","reversedTarget","sourceClone","cloneValue","copyValue","whenWithKeys","finishCount","doneHappened","cfgDone","cfgAborted","aborted","doneCb","abortedCb","percent","start","easing","copyArrShallow","isTypedArray","constructor","sourceArr","targetArr","len0","len1","mixin","g","Function","window"],"mappings":"6EAAAA,EAAOC,QAAU,SAASC,GACzB,IAAKA,EAAeC,gBAAiB,CACpC,IAAIH,EAASI,OAAOC,OAAOH,GAEtBF,EAAOM,WAAUN,EAAOM,SAAW,IACxCF,OAAOG,eAAeP,EAAQ,SAAU,CACvCQ,YAAY,EACZC,IAAK,WACJ,OAAOT,EAAOU,KAGhBN,OAAOG,eAAeP,EAAQ,KAAM,CACnCQ,YAAY,EACZC,IAAK,WACJ,OAAOT,EAAOW,KAGhBP,OAAOG,eAAeP,EAAQ,UAAW,CACxCQ,YAAY,IAEbR,EAAOG,gBAAkB,EAE1B,OAAOH,I,iCCtBR,oCAIIY,GAAsB,EAC1B,SAASC,IACDD,IAGJA,GAAsB,EACtBE,QAAQC,KAAK,iFAEjB,SAASC,EAAiBC,EAAGC,GACzB,OAAID,EAAEE,SAAWD,EAAEC,OACXF,EAAEG,IAAMF,EAAEE,EACHH,EAAEI,GAAKH,EAAEG,GAEbJ,EAAEG,EAAIF,EAAEE,EAEZH,EAAEE,OAASD,EAAEC,OAExB,IAAIG,EAAW,WACX,SAASA,IACLC,KAAKC,OAAS,GACdD,KAAKE,aAAe,GACpBF,KAAKG,gBAAkB,EACvBH,KAAKI,oBAAsBX,EAkI/B,OAhIAM,EAAQM,UAAUC,SAAW,SAAUC,EAAIC,GACvC,IAAK,IAAIpB,EAAI,EAAGA,EAAIY,KAAKC,OAAOQ,OAAQrB,IACpCY,KAAKC,OAAOb,GAAGkB,SAASC,EAAIC,IAGpCT,EAAQM,UAAUK,eAAiB,SAAUC,EAAQC,GACjDA,EAAgBA,IAAiB,EACjC,IAAIC,EAAcb,KAAKE,aAIvB,OAHIS,GAAWE,EAAYJ,QACvBT,KAAKc,kBAAkBF,GAEpBC,GAEXd,EAAQM,UAAUS,kBAAoB,SAAUF,GAC5CZ,KAAKG,gBAAkB,EAGvB,IAFA,IAAIY,EAAQf,KAAKC,OACbY,EAAcb,KAAKE,aACdd,EAAI,EAAG4B,EAAMD,EAAMN,OAAQrB,EAAI4B,EAAK5B,IACzCY,KAAKiB,yBAAyBF,EAAM3B,GAAI,KAAMwB,GAElDC,EAAYJ,OAAST,KAAKG,gBAC1Be,IAAIC,iBAAmBC,YAAQP,EAAapB,IAEhDM,EAAQM,UAAUY,yBAA2B,SAAUI,EAAIC,EAAWV,GAClE,IAAIS,EAAGE,QAAWX,EAAlB,CAGAS,EAAGG,eACHH,EAAGV,SACHU,EAAGI,cACH,IAAIC,EAAkBL,EAAGM,cACzB,GAAIN,EAAGO,WACHN,EAAY,UAEX,GAAII,EAAiB,CAElBJ,EADAA,EACYA,EAAUO,QAGV,GAIhB,IAFA,IAAIC,EAAkBJ,EAClBK,EAAiBV,EACdS,GACHA,EAAgBE,OAASD,EACzBD,EAAgBG,kBAChBX,EAAUY,KAAKJ,GACfC,EAAiBD,EACjBA,EAAkBA,EAAgBH,cAG1C,GAAIN,EAAGc,YAAa,CAEhB,IADA,IAAIpD,EAAWsC,EAAGc,cACT/C,EAAI,EAAGA,EAAIL,EAAS0B,OAAQrB,IAAK,CACtC,IAAIgD,EAAQrD,EAASK,GACjBiC,EAAGgB,UACHD,EAAMC,SAAWC,IAAQC,aAE7BvC,KAAKiB,yBAAyBmB,EAAOd,EAAWV,GAEpDS,EAAGgB,QAAU,MAEZ,CACD,IAAIG,EAAOnB,EACPC,GAAaA,EAAUb,OACvB+B,EAAKC,YAAcnB,EAEdkB,EAAKC,aAAeD,EAAKC,YAAYhC,OAAS,IACnD+B,EAAKC,YAAc,IAEnBC,MAAMF,EAAK3C,KACXP,IACAkD,EAAK3C,EAAI,GAET6C,MAAMF,EAAK1C,MACXR,IACAkD,EAAK1C,GAAK,GAEV4C,MAAMF,EAAK5C,UACXN,IACAkD,EAAK5C,OAAS,GAElBI,KAAKE,aAAaF,KAAKG,mBAAqBqC,EAEhD,IAAIG,EAAUtB,EAAGuB,iBAAmBvB,EAAGuB,kBACnCD,GACA3C,KAAKiB,yBAAyB0B,EAASrB,EAAWV,GAEtD,IAAIiC,EAAYxB,EAAGyB,mBACfD,GACA7C,KAAKiB,yBAAyB4B,EAAWvB,EAAWV,GAExD,IAAImC,EAAS1B,EAAG2B,iBACZD,GACA/C,KAAKiB,yBAAyB8B,EAAQzB,EAAWV,KAGzDb,EAAQM,UAAU4C,QAAU,SAAU5B,GAC9BA,EAAG6B,MAAQ7B,EAAG6B,KAAKC,UAAYnD,MAGnCA,KAAKC,OAAOiC,KAAKb,IAErBtB,EAAQM,UAAU+C,QAAU,SAAU/B,GAClC,GAAIA,aAAcgC,MACd,IAAK,IAAIjE,EAAI,EAAGD,EAAIkC,EAAGZ,OAAQrB,EAAID,EAAGC,IAClCY,KAAKoD,QAAQ/B,EAAGjC,QAFxB,CAMA,IAAIkE,EAAMC,IAAavD,KAAKC,OAAQoB,GAChCiC,GAAO,GACPtD,KAAKC,OAAOuD,OAAOF,EAAK,KAGhCvD,EAAQM,UAAUoD,YAAc,WAC5BzD,KAAKC,OAAS,GACdD,KAAKE,aAAe,GACpBF,KAAKG,gBAAkB,GAG3BJ,EAAQM,UAAUqD,SAAW,WACzB,OAAO1D,KAAKC,QAEhBF,EAAQM,UAAUsD,QAAU,WACxB3D,KAAKE,aAAe,KACpBF,KAAKC,OAAS,MAEXF,EAvII,GAyIAA,O,iCC9Jf,4DAOI6D,EAAS,SAoBb,SAASC,IACLC,IAAe9D,KAAK+D,OAExB,IAAIC,EAAc,SAAUC,GAExB,SAASD,IACL,IAAIE,EAAmB,OAAXD,GAAmBA,EAAOE,MAAMnE,KAAMoE,YAAcpE,KAEhE,OADAkE,EAAMG,QAAU,KACTH,EAIX,OARAI,YAAUN,EAAYC,GAMtBD,EAAW3D,UAAUsD,QAAU,aAC/BK,EAAW3D,UAAUkE,UAAY,aAC1BP,EATO,CAUhBQ,KACEC,EACA,SAAuBC,EAAGC,GACtB3E,KAAK0E,EAAIA,EACT1E,KAAK2E,EAAIA,GAIbC,EAAe,CACf,QAAS,WAAY,aAAc,WACnC,UAAW,YAAa,YAAa,eAErCC,EAAW,SAAUZ,GAErB,SAASY,EAAQ1B,EAAS2B,EAASC,EAAOC,GACtC,IAAId,EAAQD,EAAOgB,KAAKjF,OAASA,KASjC,OARAkE,EAAMgB,SAAW,IAAIT,EAAc,EAAG,GACtCP,EAAMf,QAAUA,EAChBe,EAAMY,QAAUA,EAChBZ,EAAMc,YAAcA,EACpBD,EAAQA,GAAS,IAAIf,EACrBE,EAAMa,MAAQ,KACdb,EAAMiB,gBAAgBJ,GACtBb,EAAMkB,aAAe,IAAIC,IAAUnB,GAC5BA,EA8HX,OAzIAI,YAAUO,EAASZ,GAanBY,EAAQxE,UAAU8E,gBAAkB,SAAUJ,GACtC/E,KAAK+E,OACL/E,KAAK+E,MAAMpB,UAEXoB,IACAxB,IAAUqB,GAAc,SAAUU,GAC9BP,EAAMQ,IAAMR,EAAMQ,GAAGD,EAAMtF,KAAKsF,GAAOtF,QACxCA,MACH+E,EAAMV,QAAUrE,MAEpBA,KAAK+E,MAAQA,GAEjBF,EAAQxE,UAAUmF,UAAY,SAAUzB,GACpC,IAAIW,EAAIX,EAAM0B,IACVd,EAAIZ,EAAM2B,IACVC,EAAYC,EAAkB5F,KAAM0E,EAAGC,GACvCkB,EAAc7F,KAAKkF,SACnBY,EAAoBD,EAAYE,OAChCD,IAAsBA,EAAkB5C,OAExC4C,GADAD,EAAc7F,KAAKgG,UAAUH,EAAYnB,EAAGmB,EAAYlB,IACxBoB,QAEpC,IAAIE,EAAUjG,KAAKkF,SAAWS,EAAY,IAAIlB,EAAcC,EAAGC,GAAK3E,KAAKgG,UAAUtB,EAAGC,GAClFuB,EAAgBD,EAAQF,OACxBhB,EAAQ/E,KAAK+E,MACjBA,EAAMR,WAAaQ,EAAMR,UAAU2B,EAAgBA,EAAcC,OAAS,WACtEL,GAAqBI,IAAkBJ,GACvC9F,KAAKoG,kBAAkBP,EAAa,WAAY9B,GAEpD/D,KAAKoG,kBAAkBH,EAAS,YAAalC,GACzCmC,GAAiBA,IAAkBJ,GACnC9F,KAAKoG,kBAAkBH,EAAS,YAAalC,IAGrDc,EAAQxE,UAAUgG,SAAW,SAAUtC,GACnC,IAAIuC,EAAevC,EAAMwC,eACJ,mBAAjBD,GACAtG,KAAKoG,kBAAkBpG,KAAKkF,SAAU,WAAYnB,GAEjC,iBAAjBuC,GACAtG,KAAKwG,QAAQ,YAAa,CAAEC,KAAM,YAAa1C,MAAOA,KAG9Dc,EAAQxE,UAAUqG,OAAS,WACvB1G,KAAKkF,SAAW,IAAIT,EAAc,EAAG,IAEzCI,EAAQxE,UAAUsG,SAAW,SAAUC,EAAWC,GAC9C,IAAIxC,EAAUrE,KAAK4G,GACnBvC,GAAWA,EAAQY,KAAKjF,KAAM6G,IAElChC,EAAQxE,UAAUsD,QAAU,WACxB3D,KAAK+E,MAAMpB,UACX3D,KAAKmD,QAAU,KACfnD,KAAK+E,MAAQ,KACb/E,KAAK8E,QAAU,MAEnBD,EAAQxE,UAAUyG,eAAiB,SAAUC,GACzC,IAAIhC,EAAQ/E,KAAK+E,MACjBA,EAAMR,WAAaQ,EAAMR,UAAUwC,IAEvClC,EAAQxE,UAAU+F,kBAAoB,SAAUY,EAAYJ,EAAW7C,GAEnE,IAAI1C,GADJ2F,EAAaA,GAAc,IACPjB,OACpB,IAAI1E,IAAMA,EAAG4F,OAAb,CAKA,IAFA,IAAIC,EAAY,KAAON,EACnBO,EA7HZ,SAAyBC,EAASJ,EAAYjD,GAC1C,MAAO,CACH0C,KAAMW,EACNrD,MAAOA,EACPgC,OAAQiB,EAAWjB,OACnBsB,UAAWL,EAAWK,UACtBC,cAAc,EACdC,QAASxD,EAAM0B,IACf+B,QAASzD,EAAM2B,IACf+B,aAAc1D,EAAM0D,aACpBC,OAAQ3D,EAAM2D,OACdC,OAAQ5D,EAAM4D,OACdC,WAAY7D,EAAM6D,WAClBC,WAAY9D,EAAM+D,QAClBC,UAAWhE,EAAMgE,UACjBC,MAAOjE,EAAMiE,MACbC,KAAMpE,GA6GYqE,CAAgBtB,EAAWI,EAAYjD,GAClD1C,IACHA,EAAG6F,KACKC,EAAYG,eAAiBjG,EAAG6F,GAAUjC,KAAK5D,EAAI8F,IAC3D9F,EAAGmF,QAAQI,EAAWO,GACtB9F,EAAKA,EAAG8G,aAAe9G,EAAG8G,aAAe9G,EAAGW,QACxCmF,EAAYG,gBAIfH,EAAYG,eACbtH,KAAKwG,QAAQI,EAAWO,GACpBnH,KAAK8E,SAAW9E,KAAK8E,QAAQsD,gBAC7BpI,KAAK8E,QAAQsD,gBAAe,SAAUC,GACD,mBAArBA,EAAMnB,IACdmB,EAAMnB,GAAUjC,KAAKoD,EAAOlB,GAE5BkB,EAAM7B,SACN6B,EAAM7B,QAAQI,EAAWO,SAM7CtC,EAAQxE,UAAU2F,UAAY,SAAUtB,EAAGC,EAAG2D,GAG1C,IAFA,IAAIC,EAAOvI,KAAKmD,QAAQzC,iBACpB8H,EAAM,IAAI/D,EAAcC,EAAGC,GACtBvF,EAAImJ,EAAK9H,OAAS,EAAGrB,GAAK,EAAGA,IAAK,CACvC,IAAIqJ,OAAmB,EACvB,GAAIF,EAAKnJ,KAAOkJ,IACRC,EAAKnJ,GAAGmC,SACRkH,EAAmBC,EAAQH,EAAKnJ,GAAIsF,EAAGC,OAC1C6D,EAAInB,YAAcmB,EAAInB,UAAYkB,EAAKnJ,IACpCqJ,IAAqB7E,GAAQ,CAC7B4E,EAAIzC,OAASwC,EAAKnJ,GAClB,OAIZ,OAAOoJ,GAEX3D,EAAQxE,UAAUsI,eAAiB,SAAU5E,EAAO6E,GAC3C5I,KAAK6I,cACN7I,KAAK6I,YAAc,IAAIC,KAE3B,IAAIC,EAAa/I,KAAK6I,YACZ,UAAVD,GAAqBG,EAAWC,QAChC,IAAIC,EAAcF,EAAWG,UAAUnF,EAAO/D,KAAKgG,UAAUjC,EAAM0B,IAAK1B,EAAM2B,IAAK,MAAMK,OAAQ/F,KAAK+E,MAAMoE,KAE5G,GADU,QAAVP,GAAmBG,EAAWC,QAC1BC,EAAa,CACb,IAAIxC,EAAOwC,EAAYxC,KACvB1C,EAAM0D,aAAehB,EACrB,IAAI2C,EAAM,IAAI3E,EACd2E,EAAIrD,OAASkD,EAAYlD,OACzB/F,KAAKoG,kBAAkBgD,EAAK3C,EAAMwC,EAAYlF,SAG/Cc,EA1II,CA2IbL,KA+BF,SAASkE,EAAQW,EAAa3E,EAAGC,GAC7B,GAAI0E,EAAYA,EAAYC,UAAY,cAAgB,WAAW5E,EAAGC,GAAI,CAItE,IAHA,IAAItD,EAAKgI,EACLE,OAAW,EACX3H,GAAa,EACVP,GAAI,CAIP,GAHIA,EAAGO,aACHA,GAAa,IAEZA,EAAY,CACb,IAAI4H,EAAWnI,EAAGM,cAClB,GAAI6H,IAAaA,EAASC,QAAQ/E,EAAGC,GACjC,OAAO,EAEPtD,EAAG4F,SACHsC,GAAW,GAGnB,IAAIG,EAASrI,EAAG8G,aAChB9G,EAAKqI,GAAkBrI,EAAGW,OAE9B,OAAOuH,GAAW3F,EAEtB,OAAO,EAEX,SAASgC,EAAkB+D,EAAiBjF,EAAGC,GAC3C,IAAIG,EAAU6E,EAAgB7E,QAC9B,OAAOJ,EAAI,GAAKA,EAAII,EAAQ8E,YAAcjF,EAAI,GAAKA,EAAIG,EAAQ+E,YAzDnEtG,IAAU,CAAC,QAAS,YAAa,UAAW,aAAc,WAAY,gBAAgB,SAAU+B,GAC5FT,EAAQxE,UAAUiF,GAAQ,SAAUvB,GAChC,IAGIkC,EACAC,EAJAxB,EAAIX,EAAM0B,IACVd,EAAIZ,EAAM2B,IACVC,EAAYC,EAAkB5F,KAAM0E,EAAGC,GAO3C,GAJa,YAATW,GAAuBK,IAEvBO,GADAD,EAAUjG,KAAKgG,UAAUtB,EAAGC,IACJoB,QAEf,cAATT,EACAtF,KAAK8J,QAAU5D,EACflG,KAAK+J,WAAa,CAAChG,EAAM0B,IAAK1B,EAAM2B,KACpC1F,KAAKgK,MAAQ9D,OAEZ,GAAa,YAATZ,EACLtF,KAAKgK,MAAQ9D,OAEZ,GAAa,UAATZ,EAAkB,CACvB,GAAItF,KAAK8J,UAAY9J,KAAKgK,QAClBhK,KAAK+J,YACNE,IAAUjK,KAAK+J,WAAY,CAAChG,EAAM0B,IAAK1B,EAAM2B,MAAQ,EACxD,OAEJ1F,KAAK+J,WAAa,KAEtB/J,KAAKoG,kBAAkBH,EAASX,EAAMvB,OAgC/Bc,O,0HCjPXqF,EAAsB,CAAC,IAAK,IAAK,SAAU,SAAU,UAAW,UAAW,WAAY,UACvFC,EAAyB,CACzBzF,GAAG,EACHC,GAAG,EACHyF,QAAQ,EACRC,QAAQ,EACRC,SAAS,EACTC,SAAS,EACTC,UAAU,EACVjJ,QAAQ,GAERkJ,EAAoB,GACpBC,EAAkB,IAAIC,IAAa,EAAG,EAAG,EAAG,GAC5CrI,EAAW,WACX,SAASA,EAAQsI,GACb5K,KAAK6K,GAAKC,cACV9K,KAAK+K,UAAY,GACjB/K,KAAKgL,cAAgB,GACrBhL,KAAKiL,OAAS,GACdjL,KAAKkL,MAAMN,GAmxBf,OAjxBAtI,EAAQjC,UAAU6K,MAAQ,SAAUN,GAChC5K,KAAKmL,KAAKP,IAEdtI,EAAQjC,UAAU+K,MAAQ,SAAUC,EAAIC,EAAIC,GACxC,OAAQvL,KAAKwL,WACT,IAAK,aACDF,EAAK,EACL,MACJ,IAAK,WACDD,EAAK,EAGb,IAAII,EAAIzL,KAAK0L,UACRD,IACDA,EAAIzL,KAAK0L,UAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAEzCD,EAAE,IAAMJ,EACRI,EAAE,IAAMH,EACRtL,KAAK2L,qBACL3L,KAAK4L,cAETtJ,EAAQjC,UAAUmB,aAAe,aACjCc,EAAQjC,UAAUoB,YAAc,aAChCa,EAAQjC,UAAUM,OAAS,WACvBX,KAAKiC,kBACDjC,KAAKqC,SACLrC,KAAK6L,mBAGbvJ,EAAQjC,UAAUwL,gBAAkB,SAAUC,GAC1C,IAAI/I,EAAS/C,KAAK+L,aAClB,GAAIhJ,KAAYA,EAAOxB,QAAUuK,GAAc,CACtC9L,KAAKgM,aACNhM,KAAKgM,WAAa,IAEtB,IAAIA,EAAahM,KAAKgM,WAClBC,EAAUD,EAAWE,MACrBC,EAAoBpJ,EAAOoJ,kBAC3BC,OAAY,EACZC,OAAoB,EACpBC,GAAmB,EAEnBH,EAAkBnK,OADlBiK,EAC2BjM,KAGA,KAE/B,IAAIuM,GAAc,EAQlB,GAPAJ,EAAkBzH,EAAI3B,EAAO2B,EAC7ByH,EAAkBxH,EAAI5B,EAAO4B,EAC7BwH,EAAkB7B,QAAUvH,EAAOuH,QACnC6B,EAAkB5B,QAAUxH,EAAOwH,QACnC4B,EAAkB3B,SAAWzH,EAAOyH,SACpC2B,EAAkB/B,OAASrH,EAAOqH,OAClC+B,EAAkB9B,OAAStH,EAAOsH,OACP,MAAvB2B,EAAWQ,SAAkB,CAC7B,IAAIC,EAAa/B,EACbsB,EAAWS,WACXA,EAAWC,KAAKV,EAAWS,YAG3BA,EAAWC,KAAK1M,KAAK2M,mBAEpBV,GACDQ,EAAWG,eAAe5M,KAAK0L,WAE/B1L,KAAK6M,sBACL7M,KAAK6M,sBAAsBpC,EAAmBuB,EAAYS,GAG1DI,YAAsBpC,EAAmBuB,EAAYS,GAEzDN,EAAkBzH,EAAI+F,EAAkB/F,EACxCyH,EAAkBxH,EAAI8F,EAAkB9F,EACxCyH,EAAY3B,EAAkBqC,MAC9BT,EAAoB5B,EAAkBsC,cACtC,IAAIC,EAAahB,EAAWiB,OAC5B,GAAID,GAAqC,MAAvBhB,EAAWxB,SAAkB,CAC3C,IAAI0C,OAAa,EACbC,OAAa,EACE,WAAfH,GACAE,EAAgC,GAAnBT,EAAWW,MACxBD,EAAiC,GAApBV,EAAWY,SAGxBH,EAAaI,YAAaN,EAAW,GAAIP,EAAWW,OACpDD,EAAaG,YAAaN,EAAW,GAAIP,EAAWY,SAExDd,GAAc,EACdJ,EAAkB7B,SAAW6B,EAAkBzH,EAAIwI,GAAcjB,EAAU,EAAIQ,EAAW/H,GAC1FyH,EAAkB5B,SAAW4B,EAAkBxH,EAAIwI,GAAclB,EAAU,EAAIQ,EAAW9H,IAGvE,MAAvBqH,EAAWxB,WACX2B,EAAkB3B,SAAWwB,EAAWxB,UAE5C,IAAI+C,EAAavB,EAAWwB,OACxBD,IACApB,EAAkBzH,GAAK6I,EAAW,GAClCpB,EAAkBxH,GAAK4I,EAAW,GAC7BhB,IACDJ,EAAkB7B,SAAWiD,EAAW,GACxCpB,EAAkB5B,SAAWgD,EAAW,KAGhD,IAAIE,EAAgC,MAArBzB,EAAW0B,OACY,iBAAxB1B,EAAWQ,UAAyBR,EAAWQ,SAASmB,QAAQ,WAAa,EACrF3B,EAAW0B,OACbE,EAAwB5N,KAAK6N,yBAA2B7N,KAAK6N,uBAAyB,IACtFC,OAAW,EACXC,OAAa,EACbC,OAAa,EACbP,GAAYzN,KAAKiO,mBACjBH,EAAW9B,EAAWkC,WACtBH,EAAa/B,EAAWmC,aACR,MAAZL,GAAiC,SAAbA,IACpBA,EAAW9N,KAAKoO,qBAEF,MAAdL,GAAqC,SAAfA,IACtBA,EAAa/N,KAAKqO,oBAAoBP,GACtCE,GAAa,KAIjBF,EAAW9B,EAAWsC,YACtBP,EAAa/B,EAAWuC,cACR,MAAZT,GAAiC,SAAbA,IACpBA,EAAW9N,KAAKwO,kBAEF,MAAdT,GAAqC,SAAfA,IACtBA,EAAa/N,KAAKyO,iBAAiBX,GACnCE,GAAa,KAGrBF,EAAWA,GAAY,UACNF,EAAsBc,MAChCX,IAAeH,EAAsBe,QACrCX,IAAeJ,EAAsBI,YACrC5B,IAAcwB,EAAsBd,OACpCT,IAAsBuB,EAAsBb,gBAC/CT,GAAmB,EACnBsB,EAAsBc,KAAOZ,EAC7BF,EAAsBe,OAASZ,EAC/BH,EAAsBI,WAAaA,EACnCJ,EAAsBd,MAAQV,EAC9BwB,EAAsBb,cAAgBV,EACtCtJ,EAAO6L,oBAAoBhB,IAE3BtB,GACAvJ,EAAO8L,aAEX9L,EAAO6I,eAGftJ,EAAQjC,UAAU4N,gBAAkB,WAChC,OAAO,GAEX3L,EAAQjC,UAAU+N,kBAAoB,WAClC,MAAO,QAEX9L,EAAQjC,UAAUgO,oBAAsB,SAAUP,GAC9C,MAAO,QAEXxL,EAAQjC,UAAUmO,eAAiB,WAC/B,OAAOxO,KAAKkD,MAAQlD,KAAKkD,KAAK4L,aAAeC,IAAoBC,KAErE1M,EAAQjC,UAAUoO,iBAAmB,SAAUX,GAC3C,IAAImB,EAAkBjP,KAAKkD,MAAQlD,KAAKkD,KAAKgM,qBACzCC,EAAsC,iBAApBF,GAAgCG,YAAMH,GACvDE,IACDA,EAAW,CAAC,IAAK,IAAK,IAAK,IAI/B,IAFA,IAAIE,EAAQF,EAAS,GACjBG,EAAStP,KAAKkD,KAAK4L,aACd1P,EAAI,EAAGA,EAAI,EAAGA,IACnB+P,EAAS/P,GAAK+P,EAAS/P,GAAKiQ,GAASC,EAAS,EAAI,MAAQ,EAAID,GAGlE,OADAF,EAAS,GAAK,EACPI,YAAUJ,EAAU,SAE/B7M,EAAQjC,UAAUC,SAAW,SAAUC,EAAIC,KAC3C8B,EAAQjC,UAAUmP,OAAS,SAAUC,EAAKC,GAC1B,eAARD,EACAzP,KAAK2P,cAAcD,GAEN,gBAARD,EACLzP,KAAK4P,eAAeF,GAEP,aAARD,EACLzP,KAAK6P,YAAYH,GAEJ,UAARD,GACLzP,KAAK8P,MAAQ9P,KAAK8P,OAAS,GAC3BC,YAAO/P,KAAK8P,MAAOJ,IAGnB1P,KAAKyP,GAAOC,GAGpBpN,EAAQjC,UAAU2P,KAAO,WACrBhQ,KAAKuB,QAAS,EACdvB,KAAK4L,cAETtJ,EAAQjC,UAAU4P,KAAO,WACrBjQ,KAAKuB,QAAS,EACdvB,KAAK4L,cAETtJ,EAAQjC,UAAU8K,KAAO,SAAU+E,EAAUR,GACzC,GAAwB,iBAAbQ,EACPlQ,KAAKwP,OAAOU,EAAUR,QAErB,GAAIS,YAASD,GAGd,IAFA,IAAIE,EAAMF,EACNG,EAAUC,YAAKF,GACVhR,EAAI,EAAGA,EAAIiR,EAAQ5P,OAAQrB,IAAK,CACrC,IAAIqQ,EAAMY,EAAQjR,GAClBY,KAAKwP,OAAOC,EAAKS,EAAST,IAIlC,OADAzP,KAAK4L,aACE5L,MAEXsC,EAAQjC,UAAUkQ,yBAA2B,SAAUC,GACnDxQ,KAAKyQ,mBAAmBD,GAExB,IADA,IAAIE,EAAc1Q,KAAK2Q,aACdvR,EAAI,EAAGA,EAAIY,KAAK+K,UAAUtK,OAAQrB,IAAK,CAC5C,IAAIwR,EAAW5Q,KAAK+K,UAAU3L,GAC1ByR,EAAsBD,EAASE,sBACnC,IAAID,GA1PoB,kBA0PGA,EAA3B,CAGA,IAAIE,EAAaH,EAASG,WACtBhL,EAASgL,EACPL,EAAYK,GAAcL,EAChCE,EAASI,kBAAkBjL,MAGnCzD,EAAQjC,UAAUoQ,mBAAqB,SAAUD,GAC7C,IAAIE,EAAc1Q,KAAK2Q,aAClBD,IACDA,EAAc1Q,KAAK2Q,aAAe,IAElCH,EAAQxE,aAAe0E,EAAY1E,aACnC0E,EAAY1E,WAAahM,KAAKgM,YAElChM,KAAKiR,qBAAqBT,EAASE,EAAaxG,IAEpD5H,EAAQjC,UAAU4Q,qBAAuB,SAAUT,EAASE,EAAaQ,GACrE,IAAK,IAAI9R,EAAI,EAAGA,EAAI8R,EAAYzQ,OAAQrB,IAAK,CACzC,IAAIqQ,EAAMyB,EAAY9R,GACF,MAAhBoR,EAAQf,IAAkBA,KAAOiB,IACjCA,EAAYjB,GAAOzP,KAAKyP,MAIpCnN,EAAQjC,UAAU8Q,SAAW,WACzB,OAAOnR,KAAKgL,cAAcvK,OAAS,GAEvC6B,EAAQjC,UAAU+Q,SAAW,SAAU9L,GACnC,OAAOtF,KAAKiL,OAAO3F,IAEvBhD,EAAQjC,UAAUgR,YAAc,SAAU/L,GACtC,IAAI2F,EAASjL,KAAKiL,OAIlB,OAHKA,EAAO3F,KACR2F,EAAO3F,GAAQ,IAEZ2F,EAAO3F,IAElBhD,EAAQjC,UAAUiR,YAAc,SAAUC,GACtCvR,KAAKwR,SAnSuB,iBAmSU,EAAOD,IAEjDjP,EAAQjC,UAAUmR,SAAW,SAAUC,EAAWC,EAAmBH,GACjE,IAAII,EAtSwB,kBAsSRF,EAEpB,GADgBzR,KAAKmR,aACHQ,EAAlB,CAGA,IAAI3G,EAAgBhL,KAAKgL,cACrB4G,EAAe5R,KAAK6R,gBACxB,KAAIlE,YAAQ3C,EAAeyG,IAAc,KAAMC,GAA8C,IAAzB1G,EAAcvK,OAAlF,CAGA,IAAIqR,EAOJ,GANI9R,KAAK+R,aAAeJ,IACpBG,EAAQ9R,KAAK+R,WAAWN,IAEvBK,IACDA,EAAS9R,KAAKiL,QAAUjL,KAAKiL,OAAOwG,IAEnCK,GAAUH,EAAf,CAIKA,GACD3R,KAAKuQ,yBAAyBuB,GAElC,IAAIE,KAAmBF,IAASA,EAAMG,YA6BtC,OA5BID,GACAhS,KAAKkS,uBAAsB,GAE/BlS,KAAKmS,eAAeV,EAAWK,EAAO9R,KAAK2Q,aAAce,GAAoBH,IAAgBvR,KAAKoS,WAAaR,GAAgBA,EAAaS,SAAW,EAAGT,GACtJ5R,KAAK+L,cACL/L,KAAK+L,aAAayF,SAASC,EAAWC,GAEtC1R,KAAKsS,YACLtS,KAAKsS,WAAWd,SAASC,EAAWC,GAEpCC,GACA3R,KAAKgL,cAAgB,GACrBhL,KAAK2Q,aAAe,IAGfe,EAID1R,KAAKgL,cAAc9I,KAAKuP,GAHxBzR,KAAKgL,cAAgB,CAACyG,GAM9BzR,KAAKuS,0BACLvS,KAAK4L,cACAoG,GAAiBhS,KAAKoS,YACvBpS,KAAKkS,uBAAsB,GAC3BlS,KAAKqC,UAAYC,EAAQC,aAEtBuP,EAnCHU,YAAS,SAAWf,EAAY,mBAqCxCnP,EAAQjC,UAAUoS,UAAY,SAAUxH,EAAQsG,GAC5C,GAAKtG,EAAOxK,OAGP,CACD,IAAIiS,EAAe,GACf1H,EAAgBhL,KAAKgL,cACrBhK,EAAMiK,EAAOxK,OACbkS,EAAY3R,IAAQgK,EAAcvK,OACtC,GAAIkS,EACA,IAAK,IAAIvT,EAAI,EAAGA,EAAI4B,EAAK5B,IACrB,GAAI6L,EAAO7L,KAAO4L,EAAc5L,GAAI,CAChCuT,GAAY,EACZ,MAIZ,GAAIA,EACA,OAEJ,IAASvT,EAAI,EAAGA,EAAI4B,EAAK5B,IAAK,CAC1B,IAAIqS,EAAYxG,EAAO7L,GACnBwT,OAAW,EACX5S,KAAK+R,aACLa,EAAW5S,KAAK+R,WAAWN,EAAWxG,IAErC2H,IACDA,EAAW5S,KAAKiL,OAAOwG,IAEvBmB,GACAF,EAAaxQ,KAAK0Q,GAG1B,IAAIZ,KAAmBU,EAAa1R,EAAM,KAAM0R,EAAa1R,EAAM,GAAGiR,YAClED,GACAhS,KAAKkS,uBAAsB,GAE/B,IAAIW,EAAc7S,KAAK8S,aAAaJ,GAChCd,EAAe5R,KAAK6R,gBACxB7R,KAAKuQ,yBAAyBsC,GAC9B7S,KAAKmS,eAAelH,EAAO8H,KAAK,KAAMF,EAAa7S,KAAK2Q,cAAc,GAAQY,IAAgBvR,KAAKoS,WAAaR,GAAgBA,EAAaS,SAAW,EAAGT,GACvJ5R,KAAK+L,cACL/L,KAAK+L,aAAa0G,UAAUxH,GAE5BjL,KAAKsS,YACLtS,KAAKsS,WAAWG,UAAUxH,GAE9BjL,KAAKuS,0BACLvS,KAAKgL,cAAgBC,EAAOpJ,QAC5B7B,KAAK4L,cACAoG,GAAiBhS,KAAKoS,YACvBpS,KAAKkS,uBAAsB,GAC3BlS,KAAKqC,UAAYC,EAAQC,kBAlD7BvC,KAAKsR,eAsDbhP,EAAQjC,UAAUkS,wBAA0B,WACxC,IAAK,IAAInT,EAAI,EAAGA,EAAIY,KAAK+K,UAAUtK,OAAQrB,IAAK,CAC5C,IAAIwR,EAAW5Q,KAAK+K,UAAU3L,GAC1BwR,EAASG,YACTH,EAASoC,aAAahT,KAAK4Q,EAASG,eAIhDzO,EAAQjC,UAAU4S,YAAc,SAAUnB,GACtC,IAAIxO,EAAMqK,YAAQ3N,KAAKgL,cAAe8G,GACtC,GAAIxO,GAAO,EAAG,CACV,IAAI0H,EAAgBhL,KAAKgL,cAAcnJ,QACvCmJ,EAAcxH,OAAOF,EAAK,GAC1BtD,KAAKyS,UAAUzH,KAGvB1I,EAAQjC,UAAU6S,aAAe,SAAUC,EAAUC,EAAUC,GAC3D,IAAIrI,EAAgBhL,KAAKgL,cAAcnJ,QACnCyB,EAAMqK,YAAQ3C,EAAemI,GAC7BG,EAAiB3F,YAAQ3C,EAAeoI,IAAa,EACrD9P,GAAO,EACFgQ,EAIDtI,EAAcxH,OAAOF,EAAK,GAH1B0H,EAAc1H,GAAO8P,EAMpBC,IAAaC,GAClBtI,EAAc9I,KAAKkR,GAEvBpT,KAAKyS,UAAUzH,IAEnB1I,EAAQjC,UAAUkT,YAAc,SAAUzB,EAAO0B,GACzCA,EACAxT,KAAKwR,SAASM,GAAO,GAGrB9R,KAAKiT,YAAYnB,IAGzBxP,EAAQjC,UAAUyS,aAAe,SAAU7H,GAGvC,IAFA,IACIwI,EADAZ,EAAc,GAETzT,EAAI,EAAGA,EAAI6L,EAAOxK,OAAQrB,IAAK,CACpC,IAAI0S,EAAQ7G,EAAO7L,GACnB2Q,YAAO8C,EAAaf,GAChBA,EAAM9F,aACNyH,EAAmBA,GAAoB,GACvC1D,YAAO0D,EAAkB3B,EAAM9F,aAMvC,OAHIyH,IACAZ,EAAY7G,WAAayH,GAEtBZ,GAEXvQ,EAAQjC,UAAU8R,eAAiB,SAAUV,EAAWK,EAAOpB,EAAagB,EAAmBgC,EAAY9B,GACvG,IAAI+B,IAAyB7B,GAASJ,GAClCI,GAASA,EAAM9F,YACfhM,KAAKgM,WAAa+D,YAAO,GAAI2B,EAAoB1R,KAAKgM,WAAa0E,EAAY1E,YAC/E+D,YAAO/P,KAAKgM,WAAY8F,EAAM9F,aAEzB2H,GACDjD,EAAY1E,aACZhM,KAAKgM,WAAa0E,EAAY1E,YAKtC,IAFA,IAAI4H,EAAmB,GACnBC,GAAgB,EACXzU,EAAI,EAAGA,EAAI8K,EAAoBzJ,OAAQrB,IAAK,CACjD,IAAIqQ,EAAMvF,EAAoB9K,GAC1B0U,EAAsBJ,GAAcvJ,EAAuBsF,GAC3DqC,GAAuB,MAAdA,EAAMrC,GACXqE,GACAD,GAAgB,EAChBD,EAAiBnE,GAAOqC,EAAMrC,IAG9BzP,KAAKyP,GAAOqC,EAAMrC,GAGjBkE,GACmB,MAApBjD,EAAYjB,KACRqE,GACAD,GAAgB,EAChBD,EAAiBnE,GAAOiB,EAAYjB,IAGpCzP,KAAKyP,GAAOiB,EAAYjB,IAKxC,IAAKiE,EACD,IAAStU,EAAI,EAAGA,EAAIY,KAAK+K,UAAUtK,OAAQrB,IAAK,CAC5C,IAAIwR,EAAW5Q,KAAK+K,UAAU3L,GAC1B2R,EAAaH,EAASG,WAC1BH,EAASmD,mBAAmBhD,GACrBe,GAASpB,GAAaK,GACtBe,GAASpB,GAGpBmD,GACA7T,KAAKgU,iBAAiBvC,EAAWmC,EAAkBhC,IAG3DtP,EAAQjC,UAAU4T,iBAAmB,SAAUC,GAC3C,GAAIA,EAAYhR,OAASgR,EAAY/L,aACjC,MAAM,IAAIgM,MAAM,2CAEpB,GAAID,IAAgBlU,KAChB,MAAM,IAAImU,MAAM,mCAEpB,IAAIC,EAAKpU,KAAKkD,KACVkR,GACAF,EAAYG,YAAYD,GAE5BF,EAAYhR,KAAOkR,EACnBF,EAAY/L,aAAenI,MAE/BsC,EAAQjC,UAAUiU,iBAAmB,SAAUJ,GACvCA,EAAYhR,MACZgR,EAAYK,iBAAiBL,EAAYhR,MAE7CgR,EAAYhR,KAAO,KACnBgR,EAAY/L,aAAe,MAE/B7F,EAAQjC,UAAUsB,YAAc,WAC5B,OAAO3B,KAAKwU,WAEhBlS,EAAQjC,UAAUwP,YAAc,SAAUrG,GAClCxJ,KAAKwU,WAAaxU,KAAKwU,YAAchL,GACrCxJ,KAAKyU,iBAETzU,KAAKiU,iBAAiBzK,GACtBxJ,KAAKwU,UAAYhL,EACjBxJ,KAAK4L,cAETtJ,EAAQjC,UAAUoU,eAAiB,WAC/B,IAAIjL,EAAWxJ,KAAKwU,UAChBhL,IACAxJ,KAAKsU,iBAAiB9K,GACtBxJ,KAAKwU,UAAY,KACjBxU,KAAK4L,eAGbtJ,EAAQjC,UAAU2C,eAAiB,WAC/B,OAAOhD,KAAK+L,cAEhBzJ,EAAQjC,UAAUuP,eAAiB,SAAU7M,GACzC,IAAI2R,EAAsB1U,KAAK+L,aAC/B,GAAI2I,IAAwB3R,EAA5B,CAMA,GAHI2R,GAAuBA,IAAwB3R,GAC/C/C,KAAK2U,oBAEL5R,EAAOG,OAASH,EAAOoF,aACvB,MAAM,IAAIgM,MAAM,2CAEpBpR,EAAOoJ,kBAAoB,IAAIyI,IAC/B5U,KAAKiU,iBAAiBlR,GACtB/C,KAAK+L,aAAehJ,EACpB/C,KAAK4L,eAETtJ,EAAQjC,UAAUsP,cAAgB,SAAUkF,GACnC7U,KAAKgM,aACNhM,KAAKgM,WAAa,IAEtB+D,YAAO/P,KAAKgM,WAAY6I,GACxB7U,KAAK4L,cAETtJ,EAAQjC,UAAUyU,iBAAmB,WACjC9U,KAAKgM,WAAa,KAClBhM,KAAK4L,cAETtJ,EAAQjC,UAAUsU,kBAAoB,WAClC,IAAI5R,EAAS/C,KAAK+L,aACdhJ,IACAA,EAAOoJ,kBAAoB,KAC3BnM,KAAKsU,iBAAiBvR,GACtB/C,KAAK+L,aAAe,KACpB/L,KAAK6N,uBAAyB,KAC9B7N,KAAK4L,eAGbtJ,EAAQjC,UAAUyC,iBAAmB,WACjC,OAAO9C,KAAKsS,YAEhBhQ,EAAQjC,UAAU0U,iBAAmB,SAAUC,GACvChV,KAAKsS,YAActS,KAAKsS,aAAe0C,GACvChV,KAAKiV,sBAETjV,KAAKiU,iBAAiBe,GACtBhV,KAAKsS,WAAa0C,EAClBhV,KAAK4L,cAETtJ,EAAQjC,UAAU4U,oBAAsB,WACpC,IAAIpS,EAAY7C,KAAKsS,WACjBzP,IACA7C,KAAKsU,iBAAiBzR,GACtB7C,KAAKsS,WAAa,KAClBtS,KAAK4L,eAGbtJ,EAAQjC,UAAUuL,WAAa,WAC3B5L,KAAKqC,SAAWC,EAAQC,YACxB,IAAI6R,EAAKpU,KAAKkD,KACVkR,IACIpU,KAAKoS,UACLgC,EAAGc,eAGHd,EAAGe,WAGPnV,KAAKmI,cACLnI,KAAKmI,aAAayD,cAG1BtJ,EAAQjC,UAAU+U,MAAQ,WACtBpV,KAAK4L,cAETtJ,EAAQjC,UAAU6R,sBAAwB,SAAUmD,GAChDrV,KAAKoS,UAAYiD,EACjB,IAAIC,EAActV,KAAK+L,aACnBlJ,EAAY7C,KAAKsS,WACjBgD,IACAA,EAAYlD,UAAYiD,GAExBxS,IACAA,EAAUuP,UAAYiD,IAG9B/S,EAAQjC,UAAUgU,YAAc,SAAUD,GACtCpU,KAAKkD,KAAOkR,EACZ,IAAIrJ,EAAY/K,KAAK+K,UACrB,GAAIA,EACA,IAAK,IAAI3L,EAAI,EAAGA,EAAI2L,EAAUtK,OAAQrB,IAClCgV,EAAGmB,UAAUC,YAAYzK,EAAU3L,IAGvCY,KAAKwU,WACLxU,KAAKwU,UAAUH,YAAYD,GAE3BpU,KAAK+L,cACL/L,KAAK+L,aAAasI,YAAYD,GAE9BpU,KAAKsS,YACLtS,KAAKsS,WAAW+B,YAAYD,IAGpC9R,EAAQjC,UAAUkU,iBAAmB,SAAUH,GAC3CpU,KAAKkD,KAAO,KACZ,IAAI6H,EAAY/K,KAAK+K,UACrB,GAAIA,EACA,IAAK,IAAI3L,EAAI,EAAGA,EAAI2L,EAAUtK,OAAQrB,IAClCgV,EAAGmB,UAAUE,eAAe1K,EAAU3L,IAG1CY,KAAKwU,WACLxU,KAAKwU,UAAUD,iBAAiBH,GAEhCpU,KAAK+L,cACL/L,KAAK+L,aAAawI,iBAAiBH,GAEnCpU,KAAKsS,YACLtS,KAAKsS,WAAWiC,iBAAiBH,IAGzC9R,EAAQjC,UAAUqV,QAAU,SAAUjG,EAAKkG,GACvC,IAAI5P,EAAS0J,EAAMzP,KAAKyP,GAAOzP,KAC/B,GAAK+F,EAAL,CAOA,IAAI6K,EAAW,IAAIgF,IAAS7P,EAAQ4P,GAEpC,OADA3V,KAAKwV,YAAY5E,EAAUnB,GACpBmB,EARH4B,YAAS,aACH/C,EACA,+BACAzP,KAAK6K,KAOnBvI,EAAQjC,UAAUmV,YAAc,SAAU5E,EAAUnB,GAChD,IAAI2E,EAAKpU,KAAKkD,KACV7B,EAAKrB,KACT4Q,EAASiF,QAAO,WACZxU,EAAGyU,sBAAsBrG,MAC1BsG,MAAK,WACJ,IAAIhL,EAAY1J,EAAG0J,UACfzH,EAAMqK,YAAQ5C,EAAW6F,GACzBtN,GAAO,GACPyH,EAAUvH,OAAOF,EAAK,MAG9BtD,KAAK+K,UAAU7I,KAAK0O,GAChBwD,GACAA,EAAGmB,UAAUC,YAAY5E,GAE7BwD,GAAMA,EAAG4B,UAEb1T,EAAQjC,UAAUyV,sBAAwB,SAAUrG,GAChDzP,KAAK4L,cAETtJ,EAAQjC,UAAU4V,cAAgB,SAAUC,EAAOC,GAI/C,IAHA,IAAIpL,EAAY/K,KAAK+K,UACjB/J,EAAM+J,EAAUtK,OAChB2V,EAAgB,GACXhX,EAAI,EAAGA,EAAI4B,EAAK5B,IAAK,CAC1B,IAAIwR,EAAW7F,EAAU3L,GACpB8W,GAASA,IAAUtF,EAASsF,MAI7BE,EAAclU,KAAK0O,GAHnBA,EAAS3I,KAAKkO,GAOtB,OADAnW,KAAK+K,UAAYqL,EACVpW,MAEXsC,EAAQjC,UAAUgW,UAAY,SAAUtQ,EAAQ8O,EAAKyB,GACjDD,EAAUrW,KAAM+F,EAAQ8O,EAAKyB,IAEjChU,EAAQjC,UAAUkW,YAAc,SAAUxQ,EAAQ8O,EAAKyB,GACnDD,EAAUrW,KAAM+F,EAAQ8O,EAAKyB,GAAgB,IAEjDhU,EAAQjC,UAAU2T,iBAAmB,SAAUvC,EAAW1L,EAAQ8O,EAAKyB,GAEnE,IADA,IAAIvL,EAAYsL,EAAUrW,KAAM+F,EAAQ8O,EAAKyB,GACpClX,EAAI,EAAGA,EAAI2L,EAAUtK,OAAQrB,IAClC2L,EAAU3L,GAAG0R,sBAAwBW,GAG7CnP,EAAQjC,UAAUsM,gBAAkB,WAChC,OAAO,MAEXrK,EAAQjC,UAAUmW,aAAe,WAC7B,OAAO,MAEXlU,EAAQC,YAAc,EACtBD,EAAQmU,iBAAoB,WACxB,IAAIC,EAAUpU,EAAQjC,UACtBqW,EAAQjQ,KAAO,UACfiQ,EAAQpR,KAAO,GACfoR,EAAQnV,QAAS,EACjBmV,EAAQzP,QAAS,EACjByP,EAAQC,SAAU,EAClBD,EAAQlL,WAAY,EACpBkL,EAAQE,UAAW,EACnBF,EAAQ9U,YAAa,EACrB8U,EAAQtE,WAAY,EACpBsE,EAAQrU,QAAUC,EAAQC,YAC1B,IAAIsU,EAAO,GACX,SAASC,EAAmBrH,EAAKsH,EAAMC,GAC9BH,EAAKpH,EAAMsH,EAAOC,KACnBzX,QAAQC,KAAK,gBAAkBiQ,EAAM,+BAAiCsH,EAAO,OAASC,EAAO,aAC7FH,EAAKpH,EAAMsH,EAAOC,IAAQ,GAGlC,SAASC,EAAqBxH,EAAKyH,EAAYH,EAAMC,GAkBjD,SAASG,EAAaC,EAAMC,GACxBxY,OAAOG,eAAeqY,EAAK,EAAG,CAC1BnY,IAAK,WACD,OAAOkY,EAAKL,IAEhBO,IAAK,SAAUC,GACXH,EAAKL,GAAQQ,KAGrB1Y,OAAOG,eAAeqY,EAAK,EAAG,CAC1BnY,IAAK,WACD,OAAOkY,EAAKJ,IAEhBM,IAAK,SAAUC,GACXH,EAAKJ,GAAQO,KA/BzB1Y,OAAOG,eAAe0X,EAASjH,EAAK,CAChCvQ,IAAK,YACD4X,EAAmBrH,EAAKsH,EAAMC,GACzBhX,KAAKkX,KAENC,EAAanX,KADHA,KAAKkX,GAAc,IAGjC,OAAOlX,KAAKkX,IAEhBI,IAAK,SAAUD,GACXP,EAAmBrH,EAAKsH,EAAMC,GAC9BhX,KAAK+W,GAAQM,EAAI,GACjBrX,KAAKgX,GAAQK,EAAI,GACjBrX,KAAKkX,GAAcG,EACnBF,EAAanX,KAAMqX,MAsB3BxY,OAAOG,kBAAoBkC,IAAIsW,QAAQC,IAAMvW,IAAIsW,QAAQE,QAAU,KACnET,EAAqB,WAAY,aAAc,IAAK,KACpDA,EAAqB,QAAS,eAAgB,SAAU,UACxDA,EAAqB,SAAU,gBAAiB,UAAW,YA3DvC,GA8DrB3U,EAzxBI,GA6xBf,SAAS+T,EAAUsB,EAAY5R,EAAQ8O,EAAKyB,EAAgBsB,GAExD,IAAI7M,EAAY,IAwFpB,SAAS8M,EAAiBF,EAAYG,EAAQC,OAAQhS,EAAQ8O,EAAKyB,EAAgBvL,EAAW6M,GAS1F,IARA,IAAII,EAAiB,GACjBC,EAAc,GACdC,EAAa5H,YAAKvK,GAClBsM,EAAWwC,EAAIxC,SACf8F,EAAQtD,EAAIsD,MACZC,EAAWvD,EAAIuD,SACfC,EAAaxD,EAAIwD,WACjBC,GAAcnI,YAASmG,GAClBiC,EAAI,EAAGA,EAAIL,EAAWzX,OAAQ8X,IAAK,CACxC,IAAIC,EAAWN,EAAWK,GAC1B,GAAwB,MAApBR,OAAOS,IACgB,MAApBzS,EAAOyS,KACNF,GAAchC,EAAekC,IACjC,GAAIrI,YAASpK,EAAOyS,MAAeC,YAAY1S,EAAOyS,IAAY,CAC9D,GAAIV,EAAQ,CACHF,IACDG,OAAOS,GAAYzS,EAAOyS,GAC1Bb,EAAW7B,sBAAsBgC,IAErC,SAEJD,EAAiBF,EAAYa,EAAUT,OAAOS,GAAWzS,EAAOyS,GAAW3D,EAAKyB,GAAkBA,EAAekC,GAAWzN,EAAW6M,QAGvII,EAAe9V,KAAKsW,GACpBP,EAAY/V,KAAKsW,QAGfZ,IACNG,OAAOS,GAAYzS,EAAOyS,GAC1Bb,EAAW7B,sBAAsBgC,GACjCG,EAAY/V,KAAKsW,IAGzB,IAAIE,EAASV,EAAevX,OAC5B,GAAIiY,EAAS,GACL7D,EAAI8D,QAAU5N,EAAUtK,OAAS,CAGrC,IAFA,IAAImY,EAAkBjB,EAAW5M,UAC7B8N,EAA8B,GACzBzZ,EAAI,EAAGA,EAAIwZ,EAAgBnY,OAAQrB,IACpCwZ,EAAgBxZ,GAAG2R,aAAe+G,GAClCe,EAA4B3W,KAAK0W,EAAgBxZ,IAGzD,IAAKgZ,GAAYS,EAA4BpY,OACzC,IAASrB,EAAI,EAAGA,EAAIyZ,EAA4BpY,OAAQrB,IAAK,CAEzD,GADiByZ,EAA4BzZ,GAAG0Z,WAAWb,GAC3C,CACZ,IAAI3U,EAAMqK,YAAQiL,EAAiBC,EAA4BzZ,IAC/DwZ,EAAgBpV,OAAOF,EAAK,IAIxC,IAAIyV,OAAiB,EACjBC,OAAiB,EACjBC,OAAc,EAClB,GAAIrB,EAAS,CACToB,EAAiB,GACbX,IACAU,EAAiB,IAErB,IAAS3Z,EAAI,EAAGA,EAAIsZ,EAAQtZ,IAAK,CACzBoZ,EAAWR,EAAe5Y,GAC9B4Z,EAAeR,GAAYT,OAAOS,GAC9BH,EACAU,EAAeP,GAAYzS,EAAOyS,GAGlCT,OAAOS,GAAYzS,EAAOyS,SAIjC,GAAIH,EAAY,CACjBY,EAAc,GACd,IAAS7Z,EAAI,EAAGA,EAAIsZ,EAAQtZ,IAAK,CACzBoZ,EAAWR,EAAe5Y,GAC9B6Z,EAAYT,GAAYU,YAAWnB,OAAOS,IAC1CW,EAAUpB,OAAQhS,EAAQyS,IAGlC,IAAI5H,EAAW,IAAIgF,IAASmC,QAAQ,EAAOK,EAAWS,EAA8B,MACpFjI,EAASG,WAAa+G,EAClBjD,EAAIqB,QACJtF,EAASsF,MAAQrB,EAAIqB,OAErBmC,GAAcU,GACdnI,EAASwI,aAAa,EAAGL,EAAgBf,GAEzCiB,GACArI,EAASwI,aAAa,EAAGH,EAAajB,GAE1CpH,EAASwI,aAAyB,MAAZ/G,EAAmB,IAAMA,EAAUuF,EAAUoB,EAAiBjT,EAAQiS,GAAgBG,MAAMA,GAAS,GAC3HR,EAAWnC,YAAY5E,EAAUkH,GACjC/M,EAAU7I,KAAK0O,IArLnBiH,CAAiBF,EAAY,GAAIA,EAAY5R,EAF7C8O,EAAMA,GAAO,GAE6CyB,EAAgBvL,EAAW6M,GACrF,IAAIyB,EAActO,EAAUtK,OACxB6Y,GAAe,EACfC,EAAU1E,EAAIkB,KACdyD,EAAa3E,EAAI4E,QACjBC,EAAS,WACTJ,GAAe,IACfD,GACmB,IACfC,EACOC,GAAWA,IACXC,GAAcA,MAGzBG,EAAY,aACZN,GACmB,IACfC,EACOC,GAAWA,IACXC,GAAcA,MAGxBH,GACDE,GAAWA,IAEXxO,EAAUtK,OAAS,GAAKoU,EAAIgB,QAC5B9K,EAAU,GAAG8K,QAAO,SAAU9P,EAAQ6T,GAClC/E,EAAIgB,OAAO+D,MAGnB,IAAK,IAAIxa,EAAI,EAAGA,EAAI2L,EAAUtK,OAAQrB,IAAK,CACvC,IAAIwR,EAAW7F,EAAU3L,GACrBsa,GACA9I,EAASmF,KAAK2D,GAEdC,GACA/I,EAAS6I,QAAQE,GAErB/I,EAASiJ,MAAMhF,EAAIiF,OAAQjF,EAAI8D,OAEnC,OAAO5N,EAEX,SAASgP,EAAehC,OAAQhS,EAAQ/E,GACpC,IAAK,IAAI5B,EAAI,EAAGA,EAAI4B,EAAK5B,IACrB2Y,OAAO3Y,GAAK2G,EAAO3G,GAM3B,SAAS+Z,EAAUpT,EAAQgS,OAAQtI,GAC/B,GAAIgJ,YAAYV,OAAOtI,IAInB,GAHKgJ,YAAY1S,EAAO0J,MACpB1J,EAAO0J,GAAO,IAEduK,YAAajC,OAAOtI,IAAO,CAC3B,IAAIzO,EAAM+W,OAAOtI,GAAKhP,OAClBsF,EAAO0J,GAAKhP,SAAWO,IACvB+E,EAAO0J,GAAO,IAAKsI,OAAOtI,GAAKwK,YAAajZ,GAC5C+Y,EAAehU,EAAO0J,GAAMsI,OAAOtI,GAAMzO,QAG5C,CACD,IAAIkZ,EAAYnC,OAAOtI,GACnB0K,EAAYpU,EAAO0J,GACnB2K,EAAOF,EAAUzZ,OACrB,GAnBOiP,EAmBOwK,EAlBfzB,YAAY/I,EAAM,IAoBb,IADA,IAAI2K,EAAOH,EAAU,GAAGzZ,OACfrB,EAAI,EAAGA,EAAIgb,EAAMhb,IACjB+a,EAAU/a,GAIX2a,EAAeI,EAAU/a,GAAI8a,EAAU9a,GAAIib,GAH3CF,EAAU/a,GAAKiE,MAAMhD,UAAUwB,MAAMoD,KAAKiV,EAAU9a,SAQ5D2a,EAAeI,EAAWD,EAAWE,GAEzCD,EAAU1Z,OAASyZ,EAAUzZ,YAIjCsF,EAAO0J,GAAOsI,OAAOtI,GArC7B,IAAmBC,EApDnB4K,YAAMhY,EAASkC,KACf8V,YAAMhY,EAASsS,KA4LAtS,O,iBC/+Bf,IAAIiY,EAGJA,EAAI,WACH,OAAOva,KADJ,GAIJ,IAECua,EAAIA,GAAK,IAAIC,SAAS,cAAb,GACR,MAAOjP,GAEc,iBAAXkP,SAAqBF,EAAIE,QAOrChc,EAAOC,QAAU6b","file":"vendors~app~2900d54e.js","sourcesContent":["module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","import * as util from './core/util';\nimport env from './core/env';\nimport Element from './Element';\nimport timsort from './core/timsort';\nvar invalidZErrorLogged = false;\nfunction logInvalidZError() {\n if (invalidZErrorLogged) {\n return;\n }\n invalidZErrorLogged = true;\n console.warn('z / z2 / zlevel of displayable is invalid, which may cause unexpected errors');\n}\nfunction shapeCompareFunc(a, b) {\n if (a.zlevel === b.zlevel) {\n if (a.z === b.z) {\n return a.z2 - b.z2;\n }\n return a.z - b.z;\n }\n return a.zlevel - b.zlevel;\n}\nvar Storage = (function () {\n function Storage() {\n this._roots = [];\n this._displayList = [];\n this._displayListLen = 0;\n this.displayableSortFunc = shapeCompareFunc;\n }\n Storage.prototype.traverse = function (cb, context) {\n for (var i = 0; i < this._roots.length; i++) {\n this._roots[i].traverse(cb, context);\n }\n };\n Storage.prototype.getDisplayList = function (update, includeIgnore) {\n includeIgnore = includeIgnore || false;\n var displayList = this._displayList;\n if (update || !displayList.length) {\n this.updateDisplayList(includeIgnore);\n }\n return displayList;\n };\n Storage.prototype.updateDisplayList = function (includeIgnore) {\n this._displayListLen = 0;\n var roots = this._roots;\n var displayList = this._displayList;\n for (var i = 0, len = roots.length; i < len; i++) {\n this._updateAndAddDisplayable(roots[i], null, includeIgnore);\n }\n displayList.length = this._displayListLen;\n env.canvasSupported && timsort(displayList, shapeCompareFunc);\n };\n Storage.prototype._updateAndAddDisplayable = function (el, clipPaths, includeIgnore) {\n if (el.ignore && !includeIgnore) {\n return;\n }\n el.beforeUpdate();\n el.update();\n el.afterUpdate();\n var userSetClipPath = el.getClipPath();\n if (el.ignoreClip) {\n clipPaths = null;\n }\n else if (userSetClipPath) {\n if (clipPaths) {\n clipPaths = clipPaths.slice();\n }\n else {\n clipPaths = [];\n }\n var currentClipPath = userSetClipPath;\n var parentClipPath = el;\n while (currentClipPath) {\n currentClipPath.parent = parentClipPath;\n currentClipPath.updateTransform();\n clipPaths.push(currentClipPath);\n parentClipPath = currentClipPath;\n currentClipPath = currentClipPath.getClipPath();\n }\n }\n if (el.childrenRef) {\n var children = el.childrenRef();\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n if (el.__dirty) {\n child.__dirty |= Element.REDARAW_BIT;\n }\n this._updateAndAddDisplayable(child, clipPaths, includeIgnore);\n }\n el.__dirty = 0;\n }\n else {\n var disp = el;\n if (clipPaths && clipPaths.length) {\n disp.__clipPaths = clipPaths;\n }\n else if (disp.__clipPaths && disp.__clipPaths.length > 0) {\n disp.__clipPaths = [];\n }\n if (isNaN(disp.z)) {\n logInvalidZError();\n disp.z = 0;\n }\n if (isNaN(disp.z2)) {\n logInvalidZError();\n disp.z2 = 0;\n }\n if (isNaN(disp.zlevel)) {\n logInvalidZError();\n disp.zlevel = 0;\n }\n this._displayList[this._displayListLen++] = disp;\n }\n var decalEl = el.getDecalElement && el.getDecalElement();\n if (decalEl) {\n this._updateAndAddDisplayable(decalEl, clipPaths, includeIgnore);\n }\n var textGuide = el.getTextGuideLine();\n if (textGuide) {\n this._updateAndAddDisplayable(textGuide, clipPaths, includeIgnore);\n }\n var textEl = el.getTextContent();\n if (textEl) {\n this._updateAndAddDisplayable(textEl, clipPaths, includeIgnore);\n }\n };\n Storage.prototype.addRoot = function (el) {\n if (el.__zr && el.__zr.storage === this) {\n return;\n }\n this._roots.push(el);\n };\n Storage.prototype.delRoot = function (el) {\n if (el instanceof Array) {\n for (var i = 0, l = el.length; i < l; i++) {\n this.delRoot(el[i]);\n }\n return;\n }\n var idx = util.indexOf(this._roots, el);\n if (idx >= 0) {\n this._roots.splice(idx, 1);\n }\n };\n Storage.prototype.delAllRoots = function () {\n this._roots = [];\n this._displayList = [];\n this._displayListLen = 0;\n return;\n };\n Storage.prototype.getRoots = function () {\n return this._roots;\n };\n Storage.prototype.dispose = function () {\n this._displayList = null;\n this._roots = null;\n };\n return Storage;\n}());\nexport default Storage;\n","import { __extends } from \"tslib\";\nimport * as util from './core/util';\nimport * as vec2 from './core/vector';\nimport Draggable from './mixin/Draggable';\nimport Eventful from './core/Eventful';\nimport * as eventTool from './core/event';\nimport { GestureMgr } from './core/GestureMgr';\nvar SILENT = 'silent';\nfunction makeEventPacket(eveType, targetInfo, event) {\n return {\n type: eveType,\n event: event,\n target: targetInfo.target,\n topTarget: targetInfo.topTarget,\n cancelBubble: false,\n offsetX: event.zrX,\n offsetY: event.zrY,\n gestureEvent: event.gestureEvent,\n pinchX: event.pinchX,\n pinchY: event.pinchY,\n pinchScale: event.pinchScale,\n wheelDelta: event.zrDelta,\n zrByTouch: event.zrByTouch,\n which: event.which,\n stop: stopEvent\n };\n}\nfunction stopEvent() {\n eventTool.stop(this.event);\n}\nvar EmptyProxy = (function (_super) {\n __extends(EmptyProxy, _super);\n function EmptyProxy() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.handler = null;\n return _this;\n }\n EmptyProxy.prototype.dispose = function () { };\n EmptyProxy.prototype.setCursor = function () { };\n return EmptyProxy;\n}(Eventful));\nvar HoveredResult = (function () {\n function HoveredResult(x, y) {\n this.x = x;\n this.y = y;\n }\n return HoveredResult;\n}());\nvar handlerNames = [\n 'click', 'dblclick', 'mousewheel', 'mouseout',\n 'mouseup', 'mousedown', 'mousemove', 'contextmenu'\n];\nvar Handler = (function (_super) {\n __extends(Handler, _super);\n function Handler(storage, painter, proxy, painterRoot) {\n var _this = _super.call(this) || this;\n _this._hovered = new HoveredResult(0, 0);\n _this.storage = storage;\n _this.painter = painter;\n _this.painterRoot = painterRoot;\n proxy = proxy || new EmptyProxy();\n _this.proxy = null;\n _this.setHandlerProxy(proxy);\n _this._draggingMgr = new Draggable(_this);\n return _this;\n }\n Handler.prototype.setHandlerProxy = function (proxy) {\n if (this.proxy) {\n this.proxy.dispose();\n }\n if (proxy) {\n util.each(handlerNames, function (name) {\n proxy.on && proxy.on(name, this[name], this);\n }, this);\n proxy.handler = this;\n }\n this.proxy = proxy;\n };\n Handler.prototype.mousemove = function (event) {\n var x = event.zrX;\n var y = event.zrY;\n var isOutside = isOutsideBoundary(this, x, y);\n var lastHovered = this._hovered;\n var lastHoveredTarget = lastHovered.target;\n if (lastHoveredTarget && !lastHoveredTarget.__zr) {\n lastHovered = this.findHover(lastHovered.x, lastHovered.y);\n lastHoveredTarget = lastHovered.target;\n }\n var hovered = this._hovered = isOutside ? new HoveredResult(x, y) : this.findHover(x, y);\n var hoveredTarget = hovered.target;\n var proxy = this.proxy;\n proxy.setCursor && proxy.setCursor(hoveredTarget ? hoveredTarget.cursor : 'default');\n if (lastHoveredTarget && hoveredTarget !== lastHoveredTarget) {\n this.dispatchToElement(lastHovered, 'mouseout', event);\n }\n this.dispatchToElement(hovered, 'mousemove', event);\n if (hoveredTarget && hoveredTarget !== lastHoveredTarget) {\n this.dispatchToElement(hovered, 'mouseover', event);\n }\n };\n Handler.prototype.mouseout = function (event) {\n var eventControl = event.zrEventControl;\n if (eventControl !== 'only_globalout') {\n this.dispatchToElement(this._hovered, 'mouseout', event);\n }\n if (eventControl !== 'no_globalout') {\n this.trigger('globalout', { type: 'globalout', event: event });\n }\n };\n Handler.prototype.resize = function () {\n this._hovered = new HoveredResult(0, 0);\n };\n Handler.prototype.dispatch = function (eventName, eventArgs) {\n var handler = this[eventName];\n handler && handler.call(this, eventArgs);\n };\n Handler.prototype.dispose = function () {\n this.proxy.dispose();\n this.storage = null;\n this.proxy = null;\n this.painter = null;\n };\n Handler.prototype.setCursorStyle = function (cursorStyle) {\n var proxy = this.proxy;\n proxy.setCursor && proxy.setCursor(cursorStyle);\n };\n Handler.prototype.dispatchToElement = function (targetInfo, eventName, event) {\n targetInfo = targetInfo || {};\n var el = targetInfo.target;\n if (el && el.silent) {\n return;\n }\n var eventKey = ('on' + eventName);\n var eventPacket = makeEventPacket(eventName, targetInfo, event);\n while (el) {\n el[eventKey]\n && (eventPacket.cancelBubble = !!el[eventKey].call(el, eventPacket));\n el.trigger(eventName, eventPacket);\n el = el.__hostTarget ? el.__hostTarget : el.parent;\n if (eventPacket.cancelBubble) {\n break;\n }\n }\n if (!eventPacket.cancelBubble) {\n this.trigger(eventName, eventPacket);\n if (this.painter && this.painter.eachOtherLayer) {\n this.painter.eachOtherLayer(function (layer) {\n if (typeof (layer[eventKey]) === 'function') {\n layer[eventKey].call(layer, eventPacket);\n }\n if (layer.trigger) {\n layer.trigger(eventName, eventPacket);\n }\n });\n }\n }\n };\n Handler.prototype.findHover = function (x, y, exclude) {\n var list = this.storage.getDisplayList();\n var out = new HoveredResult(x, y);\n for (var i = list.length - 1; i >= 0; i--) {\n var hoverCheckResult = void 0;\n if (list[i] !== exclude\n && !list[i].ignore\n && (hoverCheckResult = isHover(list[i], x, y))) {\n !out.topTarget && (out.topTarget = list[i]);\n if (hoverCheckResult !== SILENT) {\n out.target = list[i];\n break;\n }\n }\n }\n return out;\n };\n Handler.prototype.processGesture = function (event, stage) {\n if (!this._gestureMgr) {\n this._gestureMgr = new GestureMgr();\n }\n var gestureMgr = this._gestureMgr;\n stage === 'start' && gestureMgr.clear();\n var gestureInfo = gestureMgr.recognize(event, this.findHover(event.zrX, event.zrY, null).target, this.proxy.dom);\n stage === 'end' && gestureMgr.clear();\n if (gestureInfo) {\n var type = gestureInfo.type;\n event.gestureEvent = type;\n var res = new HoveredResult();\n res.target = gestureInfo.target;\n this.dispatchToElement(res, type, gestureInfo.event);\n }\n };\n return Handler;\n}(Eventful));\nutil.each(['click', 'mousedown', 'mouseup', 'mousewheel', 'dblclick', 'contextmenu'], function (name) {\n Handler.prototype[name] = function (event) {\n var x = event.zrX;\n var y = event.zrY;\n var isOutside = isOutsideBoundary(this, x, y);\n var hovered;\n var hoveredTarget;\n if (name !== 'mouseup' || !isOutside) {\n hovered = this.findHover(x, y);\n hoveredTarget = hovered.target;\n }\n if (name === 'mousedown') {\n this._downEl = hoveredTarget;\n this._downPoint = [event.zrX, event.zrY];\n this._upEl = hoveredTarget;\n }\n else if (name === 'mouseup') {\n this._upEl = hoveredTarget;\n }\n else if (name === 'click') {\n if (this._downEl !== this._upEl\n || !this._downPoint\n || vec2.dist(this._downPoint, [event.zrX, event.zrY]) > 4) {\n return;\n }\n this._downPoint = null;\n }\n this.dispatchToElement(hovered, name, event);\n };\n});\nfunction isHover(displayable, x, y) {\n if (displayable[displayable.rectHover ? 'rectContain' : 'contain'](x, y)) {\n var el = displayable;\n var isSilent = void 0;\n var ignoreClip = false;\n while (el) {\n if (el.ignoreClip) {\n ignoreClip = true;\n }\n if (!ignoreClip) {\n var clipPath = el.getClipPath();\n if (clipPath && !clipPath.contain(x, y)) {\n return false;\n }\n if (el.silent) {\n isSilent = true;\n }\n }\n var hostEl = el.__hostTarget;\n el = hostEl ? hostEl : el.parent;\n }\n return isSilent ? SILENT : true;\n }\n return false;\n}\nfunction isOutsideBoundary(handlerInstance, x, y) {\n var painter = handlerInstance.painter;\n return x < 0 || x > painter.getWidth() || y < 0 || y > painter.getHeight();\n}\nexport default Handler;\n","import Transformable from './core/Transformable';\nimport Animator, { cloneValue } from './animation/Animator';\nimport BoundingRect from './core/BoundingRect';\nimport Eventful from './core/Eventful';\nimport { calculateTextPosition, parsePercent } from './contain/text';\nimport { guid, isObject, keys, extend, indexOf, logError, mixin, isArrayLike, isTypedArray } from './core/util';\nimport { LIGHT_LABEL_COLOR, DARK_LABEL_COLOR } from './config';\nimport { parse, stringify } from './tool/color';\nimport env from './core/env';\nexport var PRESERVED_NORMAL_STATE = '__zr_normal__';\nvar PRIMARY_STATES_KEYS = ['x', 'y', 'scaleX', 'scaleY', 'originX', 'originY', 'rotation', 'ignore'];\nvar DEFAULT_ANIMATABLE_MAP = {\n x: true,\n y: true,\n scaleX: true,\n scaleY: true,\n originX: true,\n originY: true,\n rotation: true,\n ignore: false\n};\nvar tmpTextPosCalcRes = {};\nvar tmpBoundingRect = new BoundingRect(0, 0, 0, 0);\nvar Element = (function () {\n function Element(props) {\n this.id = guid();\n this.animators = [];\n this.currentStates = [];\n this.states = {};\n this._init(props);\n }\n Element.prototype._init = function (props) {\n this.attr(props);\n };\n Element.prototype.drift = function (dx, dy, e) {\n switch (this.draggable) {\n case 'horizontal':\n dy = 0;\n break;\n case 'vertical':\n dx = 0;\n break;\n }\n var m = this.transform;\n if (!m) {\n m = this.transform = [1, 0, 0, 1, 0, 0];\n }\n m[4] += dx;\n m[5] += dy;\n this.decomposeTransform();\n this.markRedraw();\n };\n Element.prototype.beforeUpdate = function () { };\n Element.prototype.afterUpdate = function () { };\n Element.prototype.update = function () {\n this.updateTransform();\n if (this.__dirty) {\n this.updateInnerText();\n }\n };\n Element.prototype.updateInnerText = function (forceUpdate) {\n var textEl = this._textContent;\n if (textEl && (!textEl.ignore || forceUpdate)) {\n if (!this.textConfig) {\n this.textConfig = {};\n }\n var textConfig = this.textConfig;\n var isLocal = textConfig.local;\n var attachedTransform = textEl.attachedTransform;\n var textAlign = void 0;\n var textVerticalAlign = void 0;\n var textStyleChanged = false;\n if (isLocal) {\n attachedTransform.parent = this;\n }\n else {\n attachedTransform.parent = null;\n }\n var innerOrigin = false;\n attachedTransform.x = textEl.x;\n attachedTransform.y = textEl.y;\n attachedTransform.originX = textEl.originX;\n attachedTransform.originY = textEl.originY;\n attachedTransform.rotation = textEl.rotation;\n attachedTransform.scaleX = textEl.scaleX;\n attachedTransform.scaleY = textEl.scaleY;\n if (textConfig.position != null) {\n var layoutRect = tmpBoundingRect;\n if (textConfig.layoutRect) {\n layoutRect.copy(textConfig.layoutRect);\n }\n else {\n layoutRect.copy(this.getBoundingRect());\n }\n if (!isLocal) {\n layoutRect.applyTransform(this.transform);\n }\n if (this.calculateTextPosition) {\n this.calculateTextPosition(tmpTextPosCalcRes, textConfig, layoutRect);\n }\n else {\n calculateTextPosition(tmpTextPosCalcRes, textConfig, layoutRect);\n }\n attachedTransform.x = tmpTextPosCalcRes.x;\n attachedTransform.y = tmpTextPosCalcRes.y;\n textAlign = tmpTextPosCalcRes.align;\n textVerticalAlign = tmpTextPosCalcRes.verticalAlign;\n var textOrigin = textConfig.origin;\n if (textOrigin && textConfig.rotation != null) {\n var relOriginX = void 0;\n var relOriginY = void 0;\n if (textOrigin === 'center') {\n relOriginX = layoutRect.width * 0.5;\n relOriginY = layoutRect.height * 0.5;\n }\n else {\n relOriginX = parsePercent(textOrigin[0], layoutRect.width);\n relOriginY = parsePercent(textOrigin[1], layoutRect.height);\n }\n innerOrigin = true;\n attachedTransform.originX = -attachedTransform.x + relOriginX + (isLocal ? 0 : layoutRect.x);\n attachedTransform.originY = -attachedTransform.y + relOriginY + (isLocal ? 0 : layoutRect.y);\n }\n }\n if (textConfig.rotation != null) {\n attachedTransform.rotation = textConfig.rotation;\n }\n var textOffset = textConfig.offset;\n if (textOffset) {\n attachedTransform.x += textOffset[0];\n attachedTransform.y += textOffset[1];\n if (!innerOrigin) {\n attachedTransform.originX = -textOffset[0];\n attachedTransform.originY = -textOffset[1];\n }\n }\n var isInside = textConfig.inside == null\n ? (typeof textConfig.position === 'string' && textConfig.position.indexOf('inside') >= 0)\n : textConfig.inside;\n var innerTextDefaultStyle = this._innerTextDefaultStyle || (this._innerTextDefaultStyle = {});\n var textFill = void 0;\n var textStroke = void 0;\n var autoStroke = void 0;\n if (isInside && this.canBeInsideText()) {\n textFill = textConfig.insideFill;\n textStroke = textConfig.insideStroke;\n if (textFill == null || textFill === 'auto') {\n textFill = this.getInsideTextFill();\n }\n if (textStroke == null || textStroke === 'auto') {\n textStroke = this.getInsideTextStroke(textFill);\n autoStroke = true;\n }\n }\n else {\n textFill = textConfig.outsideFill;\n textStroke = textConfig.outsideStroke;\n if (textFill == null || textFill === 'auto') {\n textFill = this.getOutsideFill();\n }\n if (textStroke == null || textStroke === 'auto') {\n textStroke = this.getOutsideStroke(textFill);\n autoStroke = true;\n }\n }\n textFill = textFill || '#000';\n if (textFill !== innerTextDefaultStyle.fill\n || textStroke !== innerTextDefaultStyle.stroke\n || autoStroke !== innerTextDefaultStyle.autoStroke\n || textAlign !== innerTextDefaultStyle.align\n || textVerticalAlign !== innerTextDefaultStyle.verticalAlign) {\n textStyleChanged = true;\n innerTextDefaultStyle.fill = textFill;\n innerTextDefaultStyle.stroke = textStroke;\n innerTextDefaultStyle.autoStroke = autoStroke;\n innerTextDefaultStyle.align = textAlign;\n innerTextDefaultStyle.verticalAlign = textVerticalAlign;\n textEl.setDefaultTextStyle(innerTextDefaultStyle);\n }\n if (textStyleChanged) {\n textEl.dirtyStyle();\n }\n textEl.markRedraw();\n }\n };\n Element.prototype.canBeInsideText = function () {\n return true;\n };\n Element.prototype.getInsideTextFill = function () {\n return '#fff';\n };\n Element.prototype.getInsideTextStroke = function (textFill) {\n return '#000';\n };\n Element.prototype.getOutsideFill = function () {\n return this.__zr && this.__zr.isDarkMode() ? LIGHT_LABEL_COLOR : DARK_LABEL_COLOR;\n };\n Element.prototype.getOutsideStroke = function (textFill) {\n var backgroundColor = this.__zr && this.__zr.getBackgroundColor();\n var colorArr = typeof backgroundColor === 'string' && parse(backgroundColor);\n if (!colorArr) {\n colorArr = [255, 255, 255, 1];\n }\n var alpha = colorArr[3];\n var isDark = this.__zr.isDarkMode();\n for (var i = 0; i < 3; i++) {\n colorArr[i] = colorArr[i] * alpha + (isDark ? 0 : 255) * (1 - alpha);\n }\n colorArr[3] = 1;\n return stringify(colorArr, 'rgba');\n };\n Element.prototype.traverse = function (cb, context) { };\n Element.prototype.attrKV = function (key, value) {\n if (key === 'textConfig') {\n this.setTextConfig(value);\n }\n else if (key === 'textContent') {\n this.setTextContent(value);\n }\n else if (key === 'clipPath') {\n this.setClipPath(value);\n }\n else if (key === 'extra') {\n this.extra = this.extra || {};\n extend(this.extra, value);\n }\n else {\n this[key] = value;\n }\n };\n Element.prototype.hide = function () {\n this.ignore = true;\n this.markRedraw();\n };\n Element.prototype.show = function () {\n this.ignore = false;\n this.markRedraw();\n };\n Element.prototype.attr = function (keyOrObj, value) {\n if (typeof keyOrObj === 'string') {\n this.attrKV(keyOrObj, value);\n }\n else if (isObject(keyOrObj)) {\n var obj = keyOrObj;\n var keysArr = keys(obj);\n for (var i = 0; i < keysArr.length; i++) {\n var key = keysArr[i];\n this.attrKV(key, keyOrObj[key]);\n }\n }\n this.markRedraw();\n return this;\n };\n Element.prototype.saveCurrentToNormalState = function (toState) {\n this._innerSaveToNormal(toState);\n var normalState = this._normalState;\n for (var i = 0; i < this.animators.length; i++) {\n var animator = this.animators[i];\n var fromStateTransition = animator.__fromStateTransition;\n if (fromStateTransition && fromStateTransition !== PRESERVED_NORMAL_STATE) {\n continue;\n }\n var targetName = animator.targetName;\n var target = targetName\n ? normalState[targetName] : normalState;\n animator.saveFinalToTarget(target);\n }\n };\n Element.prototype._innerSaveToNormal = function (toState) {\n var normalState = this._normalState;\n if (!normalState) {\n normalState = this._normalState = {};\n }\n if (toState.textConfig && !normalState.textConfig) {\n normalState.textConfig = this.textConfig;\n }\n this._savePrimaryToNormal(toState, normalState, PRIMARY_STATES_KEYS);\n };\n Element.prototype._savePrimaryToNormal = function (toState, normalState, primaryKeys) {\n for (var i = 0; i < primaryKeys.length; i++) {\n var key = primaryKeys[i];\n if (toState[key] != null && !(key in normalState)) {\n normalState[key] = this[key];\n }\n }\n };\n Element.prototype.hasState = function () {\n return this.currentStates.length > 0;\n };\n Element.prototype.getState = function (name) {\n return this.states[name];\n };\n Element.prototype.ensureState = function (name) {\n var states = this.states;\n if (!states[name]) {\n states[name] = {};\n }\n return states[name];\n };\n Element.prototype.clearStates = function (noAnimation) {\n this.useState(PRESERVED_NORMAL_STATE, false, noAnimation);\n };\n Element.prototype.useState = function (stateName, keepCurrentStates, noAnimation) {\n var toNormalState = stateName === PRESERVED_NORMAL_STATE;\n var hasStates = this.hasState();\n if (!hasStates && toNormalState) {\n return;\n }\n var currentStates = this.currentStates;\n var animationCfg = this.stateTransition;\n if (indexOf(currentStates, stateName) >= 0 && (keepCurrentStates || currentStates.length === 1)) {\n return;\n }\n var state;\n if (this.stateProxy && !toNormalState) {\n state = this.stateProxy(stateName);\n }\n if (!state) {\n state = (this.states && this.states[stateName]);\n }\n if (!state && !toNormalState) {\n logError(\"State \" + stateName + \" not exists.\");\n return;\n }\n if (!toNormalState) {\n this.saveCurrentToNormalState(state);\n }\n var useHoverLayer = !!(state && state.hoverLayer);\n if (useHoverLayer) {\n this._toggleHoverLayerFlag(true);\n }\n this._applyStateObj(stateName, state, this._normalState, keepCurrentStates, !noAnimation && !this.__inHover && animationCfg && animationCfg.duration > 0, animationCfg);\n if (this._textContent) {\n this._textContent.useState(stateName, keepCurrentStates);\n }\n if (this._textGuide) {\n this._textGuide.useState(stateName, keepCurrentStates);\n }\n if (toNormalState) {\n this.currentStates = [];\n this._normalState = {};\n }\n else {\n if (!keepCurrentStates) {\n this.currentStates = [stateName];\n }\n else {\n this.currentStates.push(stateName);\n }\n }\n this._updateAnimationTargets();\n this.markRedraw();\n if (!useHoverLayer && this.__inHover) {\n this._toggleHoverLayerFlag(false);\n this.__dirty &= ~Element.REDARAW_BIT;\n }\n return state;\n };\n Element.prototype.useStates = function (states, noAnimation) {\n if (!states.length) {\n this.clearStates();\n }\n else {\n var stateObjects = [];\n var currentStates = this.currentStates;\n var len = states.length;\n var notChange = len === currentStates.length;\n if (notChange) {\n for (var i = 0; i < len; i++) {\n if (states[i] !== currentStates[i]) {\n notChange = false;\n break;\n }\n }\n }\n if (notChange) {\n return;\n }\n for (var i = 0; i < len; i++) {\n var stateName = states[i];\n var stateObj = void 0;\n if (this.stateProxy) {\n stateObj = this.stateProxy(stateName, states);\n }\n if (!stateObj) {\n stateObj = this.states[stateName];\n }\n if (stateObj) {\n stateObjects.push(stateObj);\n }\n }\n var useHoverLayer = !!(stateObjects[len - 1] && stateObjects[len - 1].hoverLayer);\n if (useHoverLayer) {\n this._toggleHoverLayerFlag(true);\n }\n var mergedState = this._mergeStates(stateObjects);\n var animationCfg = this.stateTransition;\n this.saveCurrentToNormalState(mergedState);\n this._applyStateObj(states.join(','), mergedState, this._normalState, false, !noAnimation && !this.__inHover && animationCfg && animationCfg.duration > 0, animationCfg);\n if (this._textContent) {\n this._textContent.useStates(states);\n }\n if (this._textGuide) {\n this._textGuide.useStates(states);\n }\n this._updateAnimationTargets();\n this.currentStates = states.slice();\n this.markRedraw();\n if (!useHoverLayer && this.__inHover) {\n this._toggleHoverLayerFlag(false);\n this.__dirty &= ~Element.REDARAW_BIT;\n }\n }\n };\n Element.prototype._updateAnimationTargets = function () {\n for (var i = 0; i < this.animators.length; i++) {\n var animator = this.animators[i];\n if (animator.targetName) {\n animator.changeTarget(this[animator.targetName]);\n }\n }\n };\n Element.prototype.removeState = function (state) {\n var idx = indexOf(this.currentStates, state);\n if (idx >= 0) {\n var currentStates = this.currentStates.slice();\n currentStates.splice(idx, 1);\n this.useStates(currentStates);\n }\n };\n Element.prototype.replaceState = function (oldState, newState, forceAdd) {\n var currentStates = this.currentStates.slice();\n var idx = indexOf(currentStates, oldState);\n var newStateExists = indexOf(currentStates, newState) >= 0;\n if (idx >= 0) {\n if (!newStateExists) {\n currentStates[idx] = newState;\n }\n else {\n currentStates.splice(idx, 1);\n }\n }\n else if (forceAdd && !newStateExists) {\n currentStates.push(newState);\n }\n this.useStates(currentStates);\n };\n Element.prototype.toggleState = function (state, enable) {\n if (enable) {\n this.useState(state, true);\n }\n else {\n this.removeState(state);\n }\n };\n Element.prototype._mergeStates = function (states) {\n var mergedState = {};\n var mergedTextConfig;\n for (var i = 0; i < states.length; i++) {\n var state = states[i];\n extend(mergedState, state);\n if (state.textConfig) {\n mergedTextConfig = mergedTextConfig || {};\n extend(mergedTextConfig, state.textConfig);\n }\n }\n if (mergedTextConfig) {\n mergedState.textConfig = mergedTextConfig;\n }\n return mergedState;\n };\n Element.prototype._applyStateObj = function (stateName, state, normalState, keepCurrentStates, transition, animationCfg) {\n var needsRestoreToNormal = !(state && keepCurrentStates);\n if (state && state.textConfig) {\n this.textConfig = extend({}, keepCurrentStates ? this.textConfig : normalState.textConfig);\n extend(this.textConfig, state.textConfig);\n }\n else if (needsRestoreToNormal) {\n if (normalState.textConfig) {\n this.textConfig = normalState.textConfig;\n }\n }\n var transitionTarget = {};\n var hasTransition = false;\n for (var i = 0; i < PRIMARY_STATES_KEYS.length; i++) {\n var key = PRIMARY_STATES_KEYS[i];\n var propNeedsTransition = transition && DEFAULT_ANIMATABLE_MAP[key];\n if (state && state[key] != null) {\n if (propNeedsTransition) {\n hasTransition = true;\n transitionTarget[key] = state[key];\n }\n else {\n this[key] = state[key];\n }\n }\n else if (needsRestoreToNormal) {\n if (normalState[key] != null) {\n if (propNeedsTransition) {\n hasTransition = true;\n transitionTarget[key] = normalState[key];\n }\n else {\n this[key] = normalState[key];\n }\n }\n }\n }\n if (!transition) {\n for (var i = 0; i < this.animators.length; i++) {\n var animator = this.animators[i];\n var targetName = animator.targetName;\n animator.__changeFinalValue(targetName\n ? (state || normalState)[targetName]\n : (state || normalState));\n }\n }\n if (hasTransition) {\n this._transitionState(stateName, transitionTarget, animationCfg);\n }\n };\n Element.prototype._attachComponent = function (componentEl) {\n if (componentEl.__zr && !componentEl.__hostTarget) {\n throw new Error('Text element has been added to zrender.');\n }\n if (componentEl === this) {\n throw new Error('Recursive component attachment.');\n }\n var zr = this.__zr;\n if (zr) {\n componentEl.addSelfToZr(zr);\n }\n componentEl.__zr = zr;\n componentEl.__hostTarget = this;\n };\n Element.prototype._detachComponent = function (componentEl) {\n if (componentEl.__zr) {\n componentEl.removeSelfFromZr(componentEl.__zr);\n }\n componentEl.__zr = null;\n componentEl.__hostTarget = null;\n };\n Element.prototype.getClipPath = function () {\n return this._clipPath;\n };\n Element.prototype.setClipPath = function (clipPath) {\n if (this._clipPath && this._clipPath !== clipPath) {\n this.removeClipPath();\n }\n this._attachComponent(clipPath);\n this._clipPath = clipPath;\n this.markRedraw();\n };\n Element.prototype.removeClipPath = function () {\n var clipPath = this._clipPath;\n if (clipPath) {\n this._detachComponent(clipPath);\n this._clipPath = null;\n this.markRedraw();\n }\n };\n Element.prototype.getTextContent = function () {\n return this._textContent;\n };\n Element.prototype.setTextContent = function (textEl) {\n var previousTextContent = this._textContent;\n if (previousTextContent === textEl) {\n return;\n }\n if (previousTextContent && previousTextContent !== textEl) {\n this.removeTextContent();\n }\n if (textEl.__zr && !textEl.__hostTarget) {\n throw new Error('Text element has been added to zrender.');\n }\n textEl.attachedTransform = new Transformable();\n this._attachComponent(textEl);\n this._textContent = textEl;\n this.markRedraw();\n };\n Element.prototype.setTextConfig = function (cfg) {\n if (!this.textConfig) {\n this.textConfig = {};\n }\n extend(this.textConfig, cfg);\n this.markRedraw();\n };\n Element.prototype.removeTextConfig = function () {\n this.textConfig = null;\n this.markRedraw();\n };\n Element.prototype.removeTextContent = function () {\n var textEl = this._textContent;\n if (textEl) {\n textEl.attachedTransform = null;\n this._detachComponent(textEl);\n this._textContent = null;\n this._innerTextDefaultStyle = null;\n this.markRedraw();\n }\n };\n Element.prototype.getTextGuideLine = function () {\n return this._textGuide;\n };\n Element.prototype.setTextGuideLine = function (guideLine) {\n if (this._textGuide && this._textGuide !== guideLine) {\n this.removeTextGuideLine();\n }\n this._attachComponent(guideLine);\n this._textGuide = guideLine;\n this.markRedraw();\n };\n Element.prototype.removeTextGuideLine = function () {\n var textGuide = this._textGuide;\n if (textGuide) {\n this._detachComponent(textGuide);\n this._textGuide = null;\n this.markRedraw();\n }\n };\n Element.prototype.markRedraw = function () {\n this.__dirty |= Element.REDARAW_BIT;\n var zr = this.__zr;\n if (zr) {\n if (this.__inHover) {\n zr.refreshHover();\n }\n else {\n zr.refresh();\n }\n }\n if (this.__hostTarget) {\n this.__hostTarget.markRedraw();\n }\n };\n Element.prototype.dirty = function () {\n this.markRedraw();\n };\n Element.prototype._toggleHoverLayerFlag = function (inHover) {\n this.__inHover = inHover;\n var textContent = this._textContent;\n var textGuide = this._textGuide;\n if (textContent) {\n textContent.__inHover = inHover;\n }\n if (textGuide) {\n textGuide.__inHover = inHover;\n }\n };\n Element.prototype.addSelfToZr = function (zr) {\n this.__zr = zr;\n var animators = this.animators;\n if (animators) {\n for (var i = 0; i < animators.length; i++) {\n zr.animation.addAnimator(animators[i]);\n }\n }\n if (this._clipPath) {\n this._clipPath.addSelfToZr(zr);\n }\n if (this._textContent) {\n this._textContent.addSelfToZr(zr);\n }\n if (this._textGuide) {\n this._textGuide.addSelfToZr(zr);\n }\n };\n Element.prototype.removeSelfFromZr = function (zr) {\n this.__zr = null;\n var animators = this.animators;\n if (animators) {\n for (var i = 0; i < animators.length; i++) {\n zr.animation.removeAnimator(animators[i]);\n }\n }\n if (this._clipPath) {\n this._clipPath.removeSelfFromZr(zr);\n }\n if (this._textContent) {\n this._textContent.removeSelfFromZr(zr);\n }\n if (this._textGuide) {\n this._textGuide.removeSelfFromZr(zr);\n }\n };\n Element.prototype.animate = function (key, loop) {\n var target = key ? this[key] : this;\n if (!target) {\n logError('Property \"'\n + key\n + '\" is not existed in element '\n + this.id);\n return;\n }\n var animator = new Animator(target, loop);\n this.addAnimator(animator, key);\n return animator;\n };\n Element.prototype.addAnimator = function (animator, key) {\n var zr = this.__zr;\n var el = this;\n animator.during(function () {\n el.updateDuringAnimation(key);\n }).done(function () {\n var animators = el.animators;\n var idx = indexOf(animators, animator);\n if (idx >= 0) {\n animators.splice(idx, 1);\n }\n });\n this.animators.push(animator);\n if (zr) {\n zr.animation.addAnimator(animator);\n }\n zr && zr.wakeUp();\n };\n Element.prototype.updateDuringAnimation = function (key) {\n this.markRedraw();\n };\n Element.prototype.stopAnimation = function (scope, forwardToLast) {\n var animators = this.animators;\n var len = animators.length;\n var leftAnimators = [];\n for (var i = 0; i < len; i++) {\n var animator = animators[i];\n if (!scope || scope === animator.scope) {\n animator.stop(forwardToLast);\n }\n else {\n leftAnimators.push(animator);\n }\n }\n this.animators = leftAnimators;\n return this;\n };\n Element.prototype.animateTo = function (target, cfg, animationProps) {\n animateTo(this, target, cfg, animationProps);\n };\n Element.prototype.animateFrom = function (target, cfg, animationProps) {\n animateTo(this, target, cfg, animationProps, true);\n };\n Element.prototype._transitionState = function (stateName, target, cfg, animationProps) {\n var animators = animateTo(this, target, cfg, animationProps);\n for (var i = 0; i < animators.length; i++) {\n animators[i].__fromStateTransition = stateName;\n }\n };\n Element.prototype.getBoundingRect = function () {\n return null;\n };\n Element.prototype.getPaintRect = function () {\n return null;\n };\n Element.REDARAW_BIT = 1;\n Element.initDefaultProps = (function () {\n var elProto = Element.prototype;\n elProto.type = 'element';\n elProto.name = '';\n elProto.ignore = false;\n elProto.silent = false;\n elProto.isGroup = false;\n elProto.draggable = false;\n elProto.dragging = false;\n elProto.ignoreClip = false;\n elProto.__inHover = false;\n elProto.__dirty = Element.REDARAW_BIT;\n var logs = {};\n function logDeprecatedError(key, xKey, yKey) {\n if (!logs[key + xKey + yKey]) {\n console.warn(\"DEPRECATED: '\" + key + \"' has been deprecated. use '\" + xKey + \"', '\" + yKey + \"' instead\");\n logs[key + xKey + yKey] = true;\n }\n }\n function createLegacyProperty(key, privateKey, xKey, yKey) {\n Object.defineProperty(elProto, key, {\n get: function () {\n logDeprecatedError(key, xKey, yKey);\n if (!this[privateKey]) {\n var pos = this[privateKey] = [];\n enhanceArray(this, pos);\n }\n return this[privateKey];\n },\n set: function (pos) {\n logDeprecatedError(key, xKey, yKey);\n this[xKey] = pos[0];\n this[yKey] = pos[1];\n this[privateKey] = pos;\n enhanceArray(this, pos);\n }\n });\n function enhanceArray(self, pos) {\n Object.defineProperty(pos, 0, {\n get: function () {\n return self[xKey];\n },\n set: function (val) {\n self[xKey] = val;\n }\n });\n Object.defineProperty(pos, 1, {\n get: function () {\n return self[yKey];\n },\n set: function (val) {\n self[yKey] = val;\n }\n });\n }\n }\n if (Object.defineProperty && (!env.browser.ie || env.browser.version > 8)) {\n createLegacyProperty('position', '_legacyPos', 'x', 'y');\n createLegacyProperty('scale', '_legacyScale', 'scaleX', 'scaleY');\n createLegacyProperty('origin', '_legacyOrigin', 'originX', 'originY');\n }\n })();\n return Element;\n}());\nmixin(Element, Eventful);\nmixin(Element, Transformable);\nfunction animateTo(animatable, target, cfg, animationProps, reverse) {\n cfg = cfg || {};\n var animators = [];\n animateToShallow(animatable, '', animatable, target, cfg, animationProps, animators, reverse);\n var finishCount = animators.length;\n var doneHappened = false;\n var cfgDone = cfg.done;\n var cfgAborted = cfg.aborted;\n var doneCb = function () {\n doneHappened = true;\n finishCount--;\n if (finishCount <= 0) {\n doneHappened\n ? (cfgDone && cfgDone())\n : (cfgAborted && cfgAborted());\n }\n };\n var abortedCb = function () {\n finishCount--;\n if (finishCount <= 0) {\n doneHappened\n ? (cfgDone && cfgDone())\n : (cfgAborted && cfgAborted());\n }\n };\n if (!finishCount) {\n cfgDone && cfgDone();\n }\n if (animators.length > 0 && cfg.during) {\n animators[0].during(function (target, percent) {\n cfg.during(percent);\n });\n }\n for (var i = 0; i < animators.length; i++) {\n var animator = animators[i];\n if (doneCb) {\n animator.done(doneCb);\n }\n if (abortedCb) {\n animator.aborted(abortedCb);\n }\n animator.start(cfg.easing, cfg.force);\n }\n return animators;\n}\nfunction copyArrShallow(source, target, len) {\n for (var i = 0; i < len; i++) {\n source[i] = target[i];\n }\n}\nfunction is2DArray(value) {\n return isArrayLike(value[0]);\n}\nfunction copyValue(target, source, key) {\n if (isArrayLike(source[key])) {\n if (!isArrayLike(target[key])) {\n target[key] = [];\n }\n if (isTypedArray(source[key])) {\n var len = source[key].length;\n if (target[key].length !== len) {\n target[key] = new (source[key].constructor)(len);\n copyArrShallow(target[key], source[key], len);\n }\n }\n else {\n var sourceArr = source[key];\n var targetArr = target[key];\n var len0 = sourceArr.length;\n if (is2DArray(sourceArr)) {\n var len1 = sourceArr[0].length;\n for (var i = 0; i < len0; i++) {\n if (!targetArr[i]) {\n targetArr[i] = Array.prototype.slice.call(sourceArr[i]);\n }\n else {\n copyArrShallow(targetArr[i], sourceArr[i], len1);\n }\n }\n }\n else {\n copyArrShallow(targetArr, sourceArr, len0);\n }\n targetArr.length = sourceArr.length;\n }\n }\n else {\n target[key] = source[key];\n }\n}\nfunction animateToShallow(animatable, topKey, source, target, cfg, animationProps, animators, reverse) {\n var animatableKeys = [];\n var changedKeys = [];\n var targetKeys = keys(target);\n var duration = cfg.duration;\n var delay = cfg.delay;\n var additive = cfg.additive;\n var setToFinal = cfg.setToFinal;\n var animateAll = !isObject(animationProps);\n for (var k = 0; k < targetKeys.length; k++) {\n var innerKey = targetKeys[k];\n if (source[innerKey] != null\n && target[innerKey] != null\n && (animateAll || animationProps[innerKey])) {\n if (isObject(target[innerKey]) && !isArrayLike(target[innerKey])) {\n if (topKey) {\n if (!reverse) {\n source[innerKey] = target[innerKey];\n animatable.updateDuringAnimation(topKey);\n }\n continue;\n }\n animateToShallow(animatable, innerKey, source[innerKey], target[innerKey], cfg, animationProps && animationProps[innerKey], animators, reverse);\n }\n else {\n animatableKeys.push(innerKey);\n changedKeys.push(innerKey);\n }\n }\n else if (!reverse) {\n source[innerKey] = target[innerKey];\n animatable.updateDuringAnimation(topKey);\n changedKeys.push(innerKey);\n }\n }\n var keyLen = animatableKeys.length;\n if (keyLen > 0\n || (cfg.force && !animators.length)) {\n var existsAnimators = animatable.animators;\n var existsAnimatorsOnSameTarget = [];\n for (var i = 0; i < existsAnimators.length; i++) {\n if (existsAnimators[i].targetName === topKey) {\n existsAnimatorsOnSameTarget.push(existsAnimators[i]);\n }\n }\n if (!additive && existsAnimatorsOnSameTarget.length) {\n for (var i = 0; i < existsAnimatorsOnSameTarget.length; i++) {\n var allAborted = existsAnimatorsOnSameTarget[i].stopTracks(changedKeys);\n if (allAborted) {\n var idx = indexOf(existsAnimators, existsAnimatorsOnSameTarget[i]);\n existsAnimators.splice(idx, 1);\n }\n }\n }\n var revertedSource = void 0;\n var reversedTarget = void 0;\n var sourceClone = void 0;\n if (reverse) {\n reversedTarget = {};\n if (setToFinal) {\n revertedSource = {};\n }\n for (var i = 0; i < keyLen; i++) {\n var innerKey = animatableKeys[i];\n reversedTarget[innerKey] = source[innerKey];\n if (setToFinal) {\n revertedSource[innerKey] = target[innerKey];\n }\n else {\n source[innerKey] = target[innerKey];\n }\n }\n }\n else if (setToFinal) {\n sourceClone = {};\n for (var i = 0; i < keyLen; i++) {\n var innerKey = animatableKeys[i];\n sourceClone[innerKey] = cloneValue(source[innerKey]);\n copyValue(source, target, innerKey);\n }\n }\n var animator = new Animator(source, false, additive ? existsAnimatorsOnSameTarget : null);\n animator.targetName = topKey;\n if (cfg.scope) {\n animator.scope = cfg.scope;\n }\n if (setToFinal && revertedSource) {\n animator.whenWithKeys(0, revertedSource, animatableKeys);\n }\n if (sourceClone) {\n animator.whenWithKeys(0, sourceClone, animatableKeys);\n }\n animator.whenWithKeys(duration == null ? 500 : duration, reverse ? reversedTarget : target, animatableKeys).delay(delay || 0);\n animatable.addAnimator(animator, topKey);\n animators.push(animator);\n }\n}\nexport default Element;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n"],"sourceRoot":""}