From f9f535e0e3fea2453b8f20d257ef7baa26250495 Mon Sep 17 00:00:00 2001 From: xiazeyu_2011 Date: Sat, 11 Nov 2017 22:33:56 +0800 Subject: [PATCH] v2.1.3 --- dist/bundle.js.map | 2 +- dist/index.html | 20 +----------- package-lock.json | 77 +++++++++++++++++++++++++++++----------------- package.json | 2 +- src/index.html | 20 +----------- 5 files changed, 52 insertions(+), 69 deletions(-) diff --git a/dist/bundle.js.map b/dist/bundle.js.map index dfa3890..8dd0127 100755 --- a/dist/bundle.js.map +++ b/dist/bundle.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///bundle.js","webpack:///webpack/bootstrap d20b8d3fcd0215216d39","webpack:///./src/lib/Live2DFramework.js","webpack:///./src/LAppDefine.js","webpack:///./src/lib/MatrixStack.js","webpack:///./src/webglcontext.js","webpack:///./src/main.js","webpack:///./src/LAppLive2DManager.js","webpack:///./src/LAppModel.js","webpack:///./src/PlatformManager.js","webpack:///./src/lib/ModelSettingJson.js","webpack:///./src/lib/live2d.min.js","webpack:///(webpack)/buildin/system.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","L2DBaseModel","this","live2DModel","modelMatrix","eyeBlink","physics","pose","debugMode","initialized","updating","alpha","accAlpha","lipSync","lipSyncValue","accelX","accelY","accelZ","dragX","dragY","startTimeMSec","mainMotionManager","L2DMotionManager","expressionManager","motions","expressions","isTexLoaded","L2DExpressionMotion","AMotion","constructor","paramList","Array","L2DExpressionParam","id","type","L2DEyeBlink","nextBlinkTime","stateStartTime","blinkIntervalMsec","eyeState","EYE_STATE","STATE_FIRST","closingMotionMsec","closedMotionMsec","openingMotionMsec","closeIfZero","eyeID_L","eyeID_R","L2DMatrix44","tr","Float32Array","identity","L2DModelMatrix","w","h","width","height","MotionQueueManager","currentPriority","reservePriority","super","L2DPhysics","physicsList","UtSystem","getUserTimeMSec","L2DPose","lastTime","lastModel","partsGroups","L2DPartsParam","paramIndex","partsIndex","link","L2DTargetPoint","EPSILON","faceTargetX","faceTargetY","faceX","faceY","faceVX","faceVY","lastTimeSec","L2DViewMatrix","screenLeft","screenRight","screenTop","screenBottom","maxLeft","maxRight","maxTop","maxBottom","max","Number","MAX_VALUE","min","Live2DFramework","texCounter","getModelMatrix","setAlpha","a","getAlpha","isInitialized","setInitialized","v","isUpdating","setUpdating","getLive2DModel","setLipSync","setLipSyncValue","setAccel","x","y","z","setDrag","getMainMotionManager","getExpressionManager","loadModelData","path","callback","pm","getPlatformManager","log","thisRef","loadLive2DModel","l2dModel","saveParam","Live2D","getError","console","error","getCanvasWidth","getCanvasHeight","setWidth","setCenterPosition","loadTexture","no","loadMotion","motion","loadBytes","buf","Live2DMotion","loadExpression","loadJson","loadPose","load","e","warn","loadPhysics","hitTestSimple","drawID","testX","testY","drawIndex","getDrawDataIndex","points","getTransformedPoints","left","right","top","bottom","j","length","tx","invertTransformX","ty","invertTransformY","EXPRESSION_DEFAULT","TYPE_SET","TYPE_ADD","TYPE_MULT","ret","json","jsonParseFromBytes","setFadeIn","parseInt","fade_in","setFadeOut","fade_out","params","paramNum","param","paramID","toString","parseFloat","val","calcTypeInt","calc","defaultValue","def","item","push","updateParamExe","model","timeMSec","weight","motionQueueEnt","addToParamFloat","multParamFloat","setParamFloat","calcNextBlink","Math","random","setInterval","setEyeMotion","updateParam","eyeParamValue","time","t","STATE_CLOSING","STATE_CLOSED","STATE_OPENING","STATE_INTERVAL","mul","b","dst","k","getArray","getCopyMatrix","setMatrix","getScaleX","getScaleY","transformX","src","transformY","multTranslate","shiftX","shiftY","tr1","translate","translateX","translateY","multScale","scaleX","scaleY","scale","setPosition","setY","setX","centerX","centerY","setHeight","getCurrentPriority","getReservePriority","reserveMotion","priority","setReservePriority","updated","isFinished","startMotionPrio","startMotion","physics_hair","PhysicsHair","setup","resist","regist","mass","srcList","srcNum","Src","SRC_TO_X","typeStr","ptype","SRC_TO_Y","SRC_TO_G_ANGLE","UtDebug","addSrcParam","targetList","targets","targetNum","target","Target","TARGET_FROM_ANGLE","TARGET_FROM_ANGLE_V","addTargetParam","update","poseListInfo","parts_visible","poseNum","i_pose","poseInfo","idListInfo","group","idNum","partsGroup","i_group","partsInfo","parts","linkListInfo","linkNum","i_link","linkParts","initParam","curTime","deltaTimeSec","normalizePartsOpacityGroup","copyOpacityOtherParts","initIndex","getParamFloat","setPartsOpacity","visibleParts","visibleOpacity","getPartsOpacity","a1","opacity","backOp","partsParam","getParamIndex","getPartsDataIndex","PartsDataID","getID","FRAME_RATE","setPoint","getX","getY","MAX_V","curTimeSec","deltaTimeWeight","FRAME_TO_MAX_SPEED","MAX_A","dx","dy","abs","sqrt","vx","vy","ax","ay","max_v","cur_v","getMaxScale","getMinScale","setMaxScale","setMinScale","isMaxScale","isMinScale","adjustTranslate","adjustScale","cx","cy","targetScale","tr2","tr3","setScreenRect","setMaxScreenRect","getScreenLeft","getScreenRight","getScreenBottom","getScreenTop","getMaxLeft","getMaxRight","getMaxBottom","getMaxTop","platformManager","setPlatformManager","LAppDefine","DEBUG_LOG","DEBUG_MOUSE_LOG","VIEW_MAX_SCALE","VIEW_MIN_SCALE","VIEW_LOGICAL_LEFT","VIEW_LOGICAL_RIGHT","VIEW_LOGICAL_MAX_LEFT","VIEW_LOGICAL_MAX_RIGHT","VIEW_LOGICAL_MAX_BOTTOM","VIEW_LOGICAL_MAX_TOP","PRIORITY_NONE","PRIORITY_IDLE","PRIORITY_NORMAL","PRIORITY_FORCE","MOTION_GROUP_IDLE","MOTION_GROUP_TAP_BODY","MOTION_GROUP_FLICK_HEAD","MOTION_GROUP_PINCH_IN","MOTION_GROUP_PINCH_OUT","MOTION_GROUP_SHAKE","HIT_AREA_HEAD","HIT_AREA_BODY","MatrixStack","matrixStack","depth","currentMatrix","tmp","reset","loadIdentity","nextOffset","pop","myError","offset","getMatrix","multMatrix","matNew","setContext","webglContext","context","getContext","undefined","_interopRequireDefault","obj","default","initL2dCanvas","canvasId","canvas","document","getElementById","addEventListener","window","mouseEvent","touchEvent","init","modelurl","dragMgr","_Live2DFramework","ratio","_LAppDefine2","viewMatrix","projMatrix","deviceToScreen","gl","getWebGLContext","_webglcontext","setGL","clearColor","changeModel","startDraw","isDrawStart","tick","draw","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","_MatrixStack2","live2DMgr","clear","COLOR_BUFFER_BIT","numModels","getModel","reloadFlg","count","dot","A","B","normalize","transformRect","center","transform","rect","angle","Len_X","Len_Y","acos","PI","angleTarget","angleLeftTop","angleLeftBottom","angleRightTop","angleRightBottom","res","y3","x3","modelTurnHead","event","drag","getBoundingClientRect","sx","transformScreenX","clientX","sy","transformScreenY","clientY","head_pos","transformViewX","transformViewY","lastMouseX","lastMouseY","tapEvent","followPointer","lookFront","button","touch","touches","deviceX","screenX","deviceY","screenY","NAMES","ctx","premultipliedAlpha","loadlive2d","headPos","_LAppLive2DManager","_LAppLive2DManager2","_LAppDefine","_MatrixStack","navigator","platform","toLowerCase","LAppLive2DManager","models","_PlatformManager2","_PlatformManager","_LAppModel","_LAppModel2","createModel","releaseModel","release","splice","maxScaleEvent","startRandomMotion","minScaleEvent","hitTest","setRandomExpression","LAppModel","modelHomeDir","modelSetting","tmpMatrix","_ModelSettingJson","_ModelSettingJson2","modelSettingPath","substring","lastIndexOf","loadModelSetting","getModelFile","getTextureNum","texPaths","getTextureFile","getExpressionNum","expName","getExpressionName","expFilePath","getExpressionFile","getPhysicsFile","getPoseFile","getLayout","layout","getInitParamNum","getInitParamID","getInitParamValue","getInitPartsVisibleNum","getInitPartsVisibleID","getInitPartsVisibleValue","preloadMotionGroup","stopAllMotions","deleteTexture","texture","getMotionNum","file","getMotionFile","getMotionFadeIn","getMotionFadeOut","timeSec","loadParam","sin","setExpression","motionName","mtn","setFadeInFadeOut","getMotionSound","soundName","snd","createElement","play","len","getHitAreaNum","getHitAreaName","getHitAreaID","PlatformManager","request","XMLHttpRequest","open","responseType","onload","status","response","send","loadString","Live2DModelWebGL","loadModel","loadedImage","Image","createTexture","isPremultipliedAlpha","pixelStorei","UNPACK_PREMULTIPLY_ALPHA_WEBGL","UNPACK_FLIP_Y_WEBGL","activeTexture","TEXTURE0","bindTexture","TEXTURE_2D","texImage2D","RGBA","UNSIGNED_BYTE","texParameteri","TEXTURE_MAG_FILTER","LINEAR","TEXTURE_MIN_FILTER","LINEAR_MIPMAP_NEAREST","generateMipmap","setTexture","onerror","jsonStr","bomCode","Uint8Array","String","fromCharCode","apply","JSON","parse","txt","ModelSettingJson","NAME","ID","MODEL","TEXTURES","HIT_AREAS","PHYSICS","POSE","EXPRESSIONS","MOTION_GROUPS","SOUND","FADE_IN","FADE_OUT","LAYOUT","INIT_PARAM","INIT_PARTS_VISIBLE","VALUE","FILE","str","NaN","System","aa","_$MT","_$5S","_$NP","_$42","W","aJ","clipContextList","glcontext","dp_webgl","curFrameNo","firstError_clipInNotUpdate","colorBuffer","isInitGLFBFunc","tmpBoundsOnModel","av","Q","glContext","frameBuffers","getMaskRenderTexture","tmpModelToViewMatrix","ac","tmpMatrix2","tmpMatrixForMask","tmpMatrixForDraw","CHANNEL_COLORS","aI","r","g","aH","setChannelFlagAsColor","U","aK","clipIDList","clippingMaskDrawIndexList","clippedDrawContextList","isUsing","layoutChannelNo","layoutBounds","allClippedDrawRect","matrixForMask","matrixForDraw","owner","R","_$gP","drawDataIndex","I","color","ah","_$dP","_$eo","_$V0","_$a0","q","af","_$r","_$0S","F","ak","S","_$vo","_$F2","_$ao","_$1S","u","p1","N","p2","_$Fo","_$Db","_$L2","_$M2","_$ks","_$9b","_$iP","_$iT","_$lL","_$qP","_$p","fx","fy","_$s0","_$70","_$7L","_$HL","at","_$wL","_$tL","aF","_$YP","X","_$fL","_$gL","_$B0","_$z0","_$qT","reflectX","reflectY","aG","ae","_$dr","_$GS","_$qb","_$Lb","_$mS","clipID","_$Eb","_$ps","_$lT","_$C0","_$tT","_$WL","culling","matrix4x4","anisotropy","clippingProcess","CLIPPING_PROCESS_NONE","clipBufPre_clipContextMask","clipBufPre_clipContextDraw","_$ho","blendMode","L2D_COLOR_BLEND_MODE_MULT","_$kP","_$Ai","P","aA","_$VP","_$GP","_$8o","_$ds","_$2r","_$O2","_$ri","G","_$Ob","Z","aD","_$7","_$f","_$H","_$g","_$k","_$w","_$hi","STATE_IDENTITY","_$Z","_$pS","Y","_$7r","_$Co","_$D0","_$yT","_$E","loopFadeIn","_$AS","aE","_$P","size","_$4P","_$I0","_$RP","aw","_$QT","_$co","_$qo","_$pb","_$is","_$_2","_$vr","_$Rr","_$Or","_$fs","_$Js","_$3S","_$aS","_$Bo","_$db","_$8b","_$Hr","_$Ws","_$Vs","_$Er","_$Es","Int16Array","_$Qb","_$ZP","_$1r","_$Ri","_$b0","_$HP","clipManager","ap","ar","_$12","_$bb","_$_L","_$jo","_$iL","_$0L","_$Br","_$Dr","_$Cb","_$mr","az","_$sb","Int32Array","_$As","_$U2","_$NT","_$9r","_$vS","_$no","_$vb","ab","_$Y0","al","_$8r","_$ur","_$Yr","_$Wr","aq","_$NL","_$zo","ao","_$o2","_$rr","_$eP","getUint8","E","_$o","_$A","_$Eo","H","_$Cr","_$hr","visible","_$g0","aj","_$VS","_$e0","D","an","_$4S","au","viewport","_$6r","_$xP","_$3r","_$uP","_$Qo","cacheImages","f","_$TT","_$LT","_$FS","_$IP","_$JS","_$AT","totalScale","_$7s","totalOpacity","J","_$ib","_$LP","_$d0","_$Yo","_$JP","_$5P","_$BP","_$Qi","_$6s","_$ms","gl_cacheImage","instanceNo","ag","aB","drawParamWebGL","C","getGL","V","_$eb","M","_$w0","_$9L","_$z2","_$bs","_$Do","_$sr","_$Gs","am","textures","glno","firstDraw","anisotropyExt","maxAnisotropy","_$Gr","vertShader","fragShader","vertShaderOff","fragShaderOff","T","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","DYNAMIC_DRAW","L","ELEMENT_ARRAY_BUFFER","K","Int8Array","_$R0","DataView","buffer","_$3i","_$hL","_$v0","_$S2","_$Ko","_$T","_$F","ai","aC","_$Us","_$IS","baseOpacity","clipBufPre_clipContext","_$0s","_$4s","_$62","aQ","aU","ArrayBuffer","aN","aS","aM","_$ST","_$gr","_$T7","aL","_$nP","_$s7","_$9T","aT","_$KS","aP","getModelContext","setDrawParam","getDrawParam","aO","_$Rb","getModelImpl","_$zP","arguments","_$Rs","_$li","_$Ds","_$K2","_$s2","_$P7","aR","a0","aY","aW","aV","aZ","getDrawData","_$C2","getIndexArray","getType","_$wb","CHANNEL_COUNT","RENDER_TEXTURE_USE_MIPMAP","NOT_USED_FRAME","_$L7","releaseShader","deleteFramebuffer","framebuffer","getClipIDList","findSameClip","getDrawDataID","addClippedDrawData","createFramebuffer","setupClip","calcClippedDrawTotalBounds","getParameter","FRAMEBUFFER_BINDING","clippingMaskBufferSize","setupLayoutBounds","bindFramebuffer","FRAMEBUFFER","_$jL","expand","aX","setClipBufPre_clipContextForMask","getColorBuffer","a6","a5","_$yo","a4","a3","_$i2","_$No","a2","_$JT","_$pT","getFadeOut","_$4T","_$mT","getDurationMSec","getLoopDurationMSec","_$r2","_$8s","_$fT","start","getSystemTimeMSec","dump","end","_$Ji","_$dL","_$KL","_$nr","stack","_$8P","_$6P","_$EL","_$5T","_$tP","_$27","_$3s","_$F0","_$6L","_$6S","_$Xr","_$E2","_$Yb","_$xT","getPhysicsPoint1","getPhysicsPoint2","_$qr","_$pr","_$5r","_$Cs","atan2","_$oP","_$oo","_$YS","cos","_$bS","_$_T","getFormatVersion","LIVE2D_FORMAT_VERSION_V2_10_SDK2","_$po","_$e","ad","_$ni","isNaN","contains","_$Z2","bb","bo","bp","_$Q2","_$vs","ba","_$Tr","_$zr","bj","bi","a9","a8","br","bq","bn","bm","bg","bf","bu","bt","bl","bk","be","bc","a7","bh","bs","bd","_$br","_$Vr","bV","bW","bC","bX","bH","bw","bI","_$jT","b3","bT","b1","bP","b2","b0","bM","bL","bZ","bN","b8","b7","bU","bS","b6","b5","bQ","bO","bD","bB","by","bx","bG","bE","bv","bA","bz","bY","bK","b4","bJ","bF","bR","_$HT","_$ES","_$8S","_$52","_$R2","_$or","_$Pr","convertClipIDForV2_11","test","split","_$cS","_$Tb","_$MS","_$Nr","_$Zs","_$2b","_$j2","getOpacity","_$zS","getTargetBaseDataID","_$gs","_$32","_$2o","preDraw","_$B2","CLIPPING_PROCESS_OVERWRITE_ALPHA","CLIPPING_PROCESS_MULTIPLY_ALPHA","CLIPPING_PROCESS_DRAW","CLIPPING_PROCESS_CLEAR_ALPHA","getChannelFlagAsColor","_$ZT","_$Uo","setBaseColor","_$WP","_$IT","setPremultipliedAlpha","setAnisotropy","getAnisotropy","getClippingProcess","setClippingProcess","getClipBufPre_clipContextMask","setClipBufPre_clipContextForDraw","getClipBufPre_clipContextDraw","_$c2","_$_b","readV2_opacity","interpolateOpacity","setInterpolatedOpacity","_$nb","_$a2","getBaseDataID","_$W2","_$CS","_$Mo","_$XP","getTimeMSec","setUserTimeMSec","updateUserTimeMSec","Date","getTime","_$Q","_$Pb","getParamID","_$yP","_$N2","_$d2","_$t2","_$Lr","_$wr","_$SL","_$AL","startsWith","getChar","charAt","createString","Uint16Array","_$LS","_$Ur","_$WS","_$v2","_$Xb","Exception","_$J","_$3T","_$h2","_$J2","getParamCount","_$zs","mult","mult_safe","mult_fast","rotateX","fcos","_$9","rotateY","rotateZ","_$kS","_$hb","_$gb","_$fo","_$go","_$RT","_$so","_$CT","_$cs","_$ar","_$D2","_$1T","_$hs","_$xs","_$us","_$qs","_$Ys","_$ws","_$Ns","_$Fr","_$BL","_$r0","_$aL","isLoopFadeIn","setLoopFadeIn","add","_$Ms","_$Qs","_$do","_$Ls","_$FT","_$Ss","_$o7","_$S7","_$77","LIVE2D_FORMAT_VERSION_V2_11_SDK2_1","_$Is","_$h0","_$4L","_$7P","_$uT","_$9o","_$_0","_$V2","_$W0","_$jr","_$ZS","_$tr","_$lr","getBaseData","_$l2","getBaseDataIndex","_$1s","_$02","getDefaultValue","getMinValue","getMaxValue","_$u2","floor","_$sT","_$H7","_$BS","_$UT","_$Zo","getParamMax","getParamMin","_$p2","_$q2","_$Bb","_$5s","_$GT","_$0T","_$5","exists","_$ls","_$3b","_$Xs","_$kb","read","_$C","_$js","write","_$TS","close","flush","_$T2","_$10","_$uo","_$QS","_$7T","_$cr","_$yL","put","_$oT","_$mb","_$Hs","_$as","setTransform","EXPAND_W","drawElements","Error","_$Sr","_$nS","_$Xo","_$io","_$0o","_$Lo","_$To","_$Po","_$gT","_$Ib","pow","_$hS","_$Jr","_$92","_$NS","getTotalScale","setTotalScale_notForClient","getTotalOpacity","setTotalOpacity","getInterpolatedOpacity","_$os","_$Sb","_$1b","getDrawDataList","_$kr","_$xo","_$to","_$er","_$PL","_$nL","_$_o","MTN_PREFIX_FADEIN","MTN_PREFIX_FADEOUT","byteLength","charCodeAt","_$S0","_$U0","_$VT","transformPoints_sdk2","err","printf","transformPoints_sdk1","_$ts","_$8L","isVisible","_$6o","_$3o","_$uL","_$KP","_$ET","_$ob","getPartsID","_$MP","_$Ks","_$50","_$Ti","_$Pi","_$B","_$lP","_$bL","save","beginPath","_$Li","clip","_$ei","restore","globalAlpha","_$PS","ceil","rotate","shear","IGNORE_EXPAND","USE_CACHED_POLYGON_IMAGE","createCanvas","DEBUG_DATA","LDGL_CANVAS_MB","drawImage","cacheCanvas","cacheContext","IGNORE_CLIP","USE_ADJUST_TRANSLATION","expandClip","clipWithTransform","_$P2","moveTo","lineTo","setAttribute","dumpValues","toFixed","getPartsIndex","_$x2","_$2s","_$Kr","_$sP","_$cb","_$Ts","_$fb","L2D_DEFORMER_EXTEND","_$Wb","_$yr","L2D_NO_ERROR","_$i7","_$9s","_$es","_$r7","_$07","_$b7","L2D_COLOR_BLEND_MODE_ADD","L2D_COLOR_BLEND_MODE_INTERPOLATE","_$6b","_$cT","fTexture","USE_CANVAS_TRANSFORM","PROFILE_IOS_SPEED","PROFILE_NAME","PROFILE_IOS_QUALITY","PROFILE_IOS_DEFAULT","PROFILE_ANDROID","PROFILE_DESKTOP","initProfile","isIOS","setupProfile","isAndroid","alert","getVersionStr","getVersionNo","dispose","setClippingMaskBufferSize","getClippingMaskBufferSize","deleteBuffer","PI_F","_$fr","_$Os","_$ns","_$_s","_$_S","getTextureNo","_$ZL","_$H2","getNumPoints","_$Hb","_$72","_$tb","_$qS","_$Zr","_$Bs","concatenate","_$eT","initShader","getExtension","MAX_TEXTURE_MAX_ANISOTROPY_EXT","disable","SCISSOR_TEST","STENCIL_TEST","DEPTH_TEST","frontFace","CW","enable","BLEND","colorMask","CCW","useProgram","shaderProgram","enableVertexAttribArray","a_position_Loc","vertexAttribPointer","FLOAT","TEXTURE1","uniform1i","s_texture0_Loc","a_texCoord_Loc","uniformMatrix4fv","u_matrix_Loc","uniform4f","u_channelFlag","u_baseColor_Loc","u_maskFlag_Loc","shaderProgramOff","a_position_Loc_Off","s_texture0_Loc_Off","a_texCoord_Loc_Off","u_clipMatrix_Loc_Off","u_matrix_Loc_Off","TEXTURE2","s_texture1_Loc_Off","u_channelFlag_Loc_Off","u_baseColor_Loc_Off","CULL_FACE","ONE","ONE_MINUS_SRC_ALPHA","ZERO","DST_COLOR","blendEquationSeparate","FUNC_ADD","blendFuncSeparate","TEXTURE_MAX_ANISOTROPY_EXT","TRIANGLES","UNSIGNED_SHORT","loadShaders2","getAttribLocation","getUniformLocation","disposeShader","deleteProgram","compileShader","createShader","shaderSource","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","deleteShader","createProgram","VERTEX_SHADER","FRAGMENT_SHADER","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","createRenderbuffer","bindRenderbuffer","RENDERBUFFER","renderbufferStorage","RGBA4","framebufferRenderbuffer","COLOR_ATTACHMENT0","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","framebufferTexture2D","renderbuffer","_$fP","_$3L","_$mP","_$zT","getFloat64","getFloat32","getInt32","getInt8","getInt16","_$2T","O","_$bT","_$5b","Float64Array","_$Jb","_$4b","_$wP","_$2S","_$wS","_$kT","_$tS","SYSTEM_INFO","USER_AGENT","userAgent","isIPhone","_isIPhone","_isIPad","_isAndroid","getOSVersion","version","getOS","indexOf","os","LDTransform","LDGL","Live2DModelJS","DrawDataID","BaseDataID","ParamID","import"],"mappings":"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IG,EAAG,IAAIG,EAAG,IAAIN,EAAG,GAAGG,EAAG,IAAIH,EAAG,GAAGG,EAAG,IAAIH,EAAG,GAAGG,EAAG,IAAIH,EAAG,IAAIG,EAAG,IAAIG,EAAG,GAAGN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGG,EAAG,GAAGN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGG,EAAG,GAAGN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,IAAIH,EAAG,IAAIG,EAAG,IAAIG,EAAG,IAAIN,EAAG,GAAGG,EAAG,IAAIH,EAAG,GAAGG,EAAG,IAAIH,EAAG,GAAGG,EAAG,IAAIH,EAAG,IAAIG,EAAG,IAAIG,EAAG,GAAGN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGG,EAAG,GAAGN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGG,EAAG,IAAIN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,IAAIG,EAAG,IAAIH,EAAG,IAAIG,EAAG,IAAIG,EAAG,IAAIN,EAAG,GAAGG,EAAG,IAAIH,EAAG,GAAGG,EAAG,IAAIH,EAAG,IAAIG,EAAG,IAAIH,EAAG,IAAIG,EAAG,IAAIG,EAAG,GAAGN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGG,EAAG,GAAGN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGG,EAAG,IAAIN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,IAAIG,EAAG,IAAIH,EAAG,IAAIG,EAAG,IAAI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","file":"bundle.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 11);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\r\n * EYHN 基于 live2d 官方 Live2DFramework.js 修改\r\n * \r\n * Copyright © 2016 - 2017 EYHN\r\n */\n//============================================================\n//============================================================\n// class L2DBaseModel \n//============================================================\n//============================================================\nfunction L2DBaseModel() {\n this.live2DModel = null; // ALive2DModel\n this.modelMatrix = null; // L2DModelMatrix\n this.eyeBlink = null; // L2DEyeBlink\n this.physics = null; // L2DPhysics\n this.pose = null; // L2DPose\n this.debugMode = false;\n this.initialized = false;\n this.updating = false;\n this.alpha = 1;\n this.accAlpha = 0;\n this.lipSync = false;\n this.lipSyncValue = 0;\n this.accelX = 0;\n this.accelY = 0;\n this.accelZ = 0;\n this.dragX = 0;\n this.dragY = 0;\n this.startTimeMSec = null;\n this.mainMotionManager = new L2DMotionManager(); //L2DMotionManager\n this.expressionManager = new L2DMotionManager(); //L2DMotionManager\n this.motions = {};\n this.expressions = {};\n\n this.isTexLoaded = false;\n}\n\nvar texCounter = 0;\n\n//============================================================\n// L2DBaseModel # getModelMatrix()\n//============================================================\nL2DBaseModel.prototype.getModelMatrix = function () {\n return this.modelMatrix;\n};\n\n//============================================================\n// L2DBaseModel # setAlpha()\n//============================================================\nL2DBaseModel.prototype.setAlpha = function (a /*float*/) {\n if (a > 0.999) a = 1;\n if (a < 0.001) a = 0;\n this.alpha = a;\n};\n\n//============================================================\n// L2DBaseModel # getAlpha()\n//============================================================\nL2DBaseModel.prototype.getAlpha = function () {\n return this.alpha;\n};\n\n//============================================================\n// L2DBaseModel # isInitialized()\n//============================================================\nL2DBaseModel.prototype.isInitialized = function () {\n return this.initialized;\n};\n\n//============================================================\n// L2DBaseModel # setInitialized()\n//============================================================\nL2DBaseModel.prototype.setInitialized = function (v /*boolean*/) {\n this.initialized = v;\n};\n\n//============================================================\n// L2DBaseModel # isUpdating()\n//============================================================\nL2DBaseModel.prototype.isUpdating = function () {\n return this.updating;\n};\n\n//============================================================\n// L2DBaseModel # setUpdating()\n//============================================================\nL2DBaseModel.prototype.setUpdating = function (v /*boolean*/) {\n this.updating = v;\n};\n\n//============================================================\n// L2DBaseModel # getLive2DModel()\n//============================================================\nL2DBaseModel.prototype.getLive2DModel = function () {\n return this.live2DModel;\n};\n\n//============================================================\n// L2DBaseModel # setLipSync()\n//============================================================\nL2DBaseModel.prototype.setLipSync = function (v /*boolean*/) {\n this.lipSync = v;\n};\n\n//============================================================\n// L2DBaseModel # setLipSyncValue()\n//============================================================\nL2DBaseModel.prototype.setLipSyncValue = function (v /*float*/) {\n this.lipSyncValue = v;\n};\n\n//============================================================\n// L2DBaseModel # setAccel()\n//============================================================\nL2DBaseModel.prototype.setAccel = function (x /*float*/, y /*float*/, z /*float*/) {\n this.accelX = x;\n this.accelY = y;\n this.accelZ = z;\n};\n\n//============================================================\n// L2DBaseModel # setDrag()\n//============================================================\nL2DBaseModel.prototype.setDrag = function (x /*float*/, y /*float*/) {\n this.dragX = x;\n this.dragY = y;\n};\n\n//============================================================\n// L2DBaseModel # getMainMotionManager()\n//============================================================\nL2DBaseModel.prototype.getMainMotionManager = function () {\n return this.mainMotionManager;\n};\n\n//============================================================\n// L2DBaseModel # getExpressionManager()\n//============================================================\nL2DBaseModel.prototype.getExpressionManager = function () {\n return this.expressionManager;\n};\n\n//============================================================\n// L2DBaseModel # loadModelData()\n//============================================================\nL2DBaseModel.prototype.loadModelData = function (path /*String*/, callback) {\n /*\r\n if( this.live2DModel != null ) {\r\n this.live2DModel.deleteTextures();\r\n }\r\n */\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\n if (this.debugMode) pm.log(\"Load model : \" + path);\n\n var thisRef = this;\n pm.loadLive2DModel(path, function (l2dModel) {\n thisRef.live2DModel = l2dModel;\n thisRef.live2DModel.saveParam();\n\n var _err = Live2D.getError();\n\n if (_err != 0) {\n console.error(\"Error : Failed to loadModelData().\");\n return;\n }\n\n thisRef.modelMatrix = new L2DModelMatrix(thisRef.live2DModel.getCanvasWidth(), thisRef.live2DModel.getCanvasHeight()); //L2DModelMatrix\n thisRef.modelMatrix.setWidth(2);\n thisRef.modelMatrix.setCenterPosition(0, 0);\n\n callback(thisRef.live2DModel);\n });\n};\n\n//============================================================\n// L2DBaseModel # loadTexture()\n//============================================================\nL2DBaseModel.prototype.loadTexture = function (no /*int*/, path /*String*/, callback) {\n texCounter++;\n\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\n\n if (this.debugMode) pm.log(\"Load Texture : \" + path);\n\n var thisRef = this;\n pm.loadTexture(this.live2DModel, no, path, function () {\n texCounter--;\n if (texCounter == 0) thisRef.isTexLoaded = true;\n if (typeof callback == \"function\") callback();\n });\n};\n\n//============================================================\n// L2DBaseModel # loadMotion()\n//============================================================\nL2DBaseModel.prototype.loadMotion = function (name /*String*/, path /*String*/, callback) {\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\n\n if (this.debugMode) pm.log(\"Load Motion : \" + path);\n\n var motion = null; //Live2DMotion\n\n var thisRef = this;\n pm.loadBytes(path, function (buf) {\n motion = Live2DMotion.loadMotion(buf);\n if (name != null) {\n thisRef.motions[name] = motion;\n }\n callback(motion);\n });\n};\n\n//============================================================\n// L2DBaseModel # loadExpression()\n//============================================================\nL2DBaseModel.prototype.loadExpression = function (name /*String*/, path /*String*/, callback) {\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\n\n if (this.debugMode) pm.log(\"Load Expression : \" + path);\n\n var thisRef = this;\n pm.loadBytes(path, function (buf) {\n if (name != null) {\n thisRef.expressions[name] = L2DExpressionMotion.loadJson(buf);\n }\n if (typeof callback == \"function\") callback();\n });\n};\n\n//============================================================\n// L2DBaseModel # loadPose()\n//============================================================\nL2DBaseModel.prototype.loadPose = function (path /*String*/, callback) {\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\n if (this.debugMode) pm.log(\"Load Pose : \" + path);\n var thisRef = this;\n try {\n pm.loadBytes(path, function (buf) {\n thisRef.pose = L2DPose.load(buf);\n if (typeof callback == \"function\") callback();\n });\n } catch (e) {\n console.warn(e);\n }\n};\n\n//============================================================\n// L2DBaseModel # loadPhysics()\n//============================================================\nL2DBaseModel.prototype.loadPhysics = function (path /*String*/) {\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\n if (this.debugMode) pm.log(\"Load Physics : \" + path);\n var thisRef = this;\n try {\n pm.loadBytes(path, function (buf) {\n thisRef.physics = L2DPhysics.load(buf);\n });\n } catch (e) {\n console.warn(e);\n }\n};\n\n//============================================================\n// L2DBaseModel # hitTestSimple()\n//============================================================\nL2DBaseModel.prototype.hitTestSimple = function (drawID, testX, testY) {\n\n if (this.live2DModel === null) return !1;\n\n var drawIndex = this.live2DModel.getDrawDataIndex(drawID);\n\n if (drawIndex < 0) return false;\n\n var points = this.live2DModel.getTransformedPoints(drawIndex);\n var left = this.live2DModel.getCanvasWidth();\n var right = 0;\n var top = this.live2DModel.getCanvasHeight();\n var bottom = 0;\n\n for (var j = 0; j < points.length; j = j + 2) {\n var x = points[j];\n var y = points[j + 1];\n\n if (x < left) left = x;\n if (x > right) right = x;\n if (y < top) top = y;\n if (y > bottom) bottom = y;\n }\n var tx = this.modelMatrix.invertTransformX(testX);\n var ty = this.modelMatrix.invertTransformY(testY);\n\n return left <= tx && tx <= right && top <= ty && ty <= bottom;\n};\n\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\n\n//============================================================\n//============================================================\n// class L2DExpressionMotion extends AMotion\n//============================================================\n//============================================================\nfunction L2DExpressionMotion() {\n AMotion.prototype.constructor.call(this);\n this.paramList = new Array(); //ArrayList\n}\n\nL2DExpressionMotion.prototype = new AMotion(); // L2DExpressionMotion extends AMotion\n\n//============================================================\nL2DExpressionMotion.EXPRESSION_DEFAULT = \"DEFAULT\";\nL2DExpressionMotion.TYPE_SET = 0;\nL2DExpressionMotion.TYPE_ADD = 1;\nL2DExpressionMotion.TYPE_MULT = 2;\n\n//============================================================\n// static L2DExpressionMotion.loadJson()\n//============================================================\nL2DExpressionMotion.loadJson = function (buf) {\n var ret = new L2DExpressionMotion();\n\n var pm = Live2DFramework.getPlatformManager();\n var json = pm.jsonParseFromBytes(buf);\n\n ret.setFadeIn(parseInt(json.fade_in) > 0 ? parseInt(json.fade_in) : 1000);\n ret.setFadeOut(parseInt(json.fade_out) > 0 ? parseInt(json.fade_out) : 1000);\n\n if (json.params == null) {\n return ret;\n }\n\n var params = json.params;\n var paramNum = params.length;\n ret.paramList = []; //ArrayList\n for (var i = 0; i < paramNum; i++) {\n var param = params[i];\n var paramID = param.id.toString();\n var value = parseFloat(param.val);\n var calcTypeInt = L2DExpressionMotion.TYPE_ADD;\n var calc = param.calc != null ? param.calc.toString() : \"add\";\n if (calc === \"add\") {\n calcTypeInt = L2DExpressionMotion.TYPE_ADD;\n } else if (calc === \"mult\") {\n calcTypeInt = L2DExpressionMotion.TYPE_MULT;\n } else if (calc === \"set\") {\n calcTypeInt = L2DExpressionMotion.TYPE_SET;\n } else {\n calcTypeInt = L2DExpressionMotion.TYPE_ADD;\n }\n if (calcTypeInt == L2DExpressionMotion.TYPE_ADD) {\n var defaultValue = param.def == null ? 0 : parseFloat(param.def);\n value = value - defaultValue;\n } else if (calcTypeInt == L2DExpressionMotion.TYPE_MULT) {\n var defaultValue = param.def == null ? 1 : parseFloat(param.def);\n if (defaultValue == 0) defaultValue = 1;\n value = value / defaultValue;\n }\n\n var item = new L2DExpressionParam();\n item.id = paramID;\n item.type = calcTypeInt;\n item.value = value;\n\n ret.paramList.push(item);\n }\n\n return ret;\n};\n\n//============================================================\n// L2DExpressionMotion # updateParamExe()\n//============================================================\nL2DExpressionMotion.prototype.updateParamExe = function (model /*ALive2DModel*/, timeMSec /*long*/, weight /*float*/, motionQueueEnt /*MotionQueueEnt*/) {\n for (var i = this.paramList.length - 1; i >= 0; --i) {\n var param = this.paramList[i]; //L2DExpressionParam\n // if (!param || !param.type) continue;\n if (param.type == L2DExpressionMotion.TYPE_ADD) {\n model.addToParamFloat(param.id, param.value, weight);\n } else if (param.type == L2DExpressionMotion.TYPE_MULT) {\n model.multParamFloat(param.id, param.value, weight);\n } else if (param.type == L2DExpressionMotion.TYPE_SET) {\n model.setParamFloat(param.id, param.value, weight);\n }\n }\n};\n\n//============================================================\n//============================================================\n// class L2DExpressionParam \n//============================================================\n//============================================================\nfunction L2DExpressionParam() {\n this.id = \"\";\n this.type = -1;\n this.value = null;\n}\n\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\n\n//============================================================\n//============================================================\n// class L2DEyeBlink \n//============================================================\n//============================================================\nfunction L2DEyeBlink() {\n this.nextBlinkTime = null /* TODO NOT INIT */; // \n this.stateStartTime = null /* TODO NOT INIT */; // \n this.blinkIntervalMsec = null /* TODO NOT INIT */; // \n this.eyeState = EYE_STATE.STATE_FIRST;\n this.blinkIntervalMsec = 4000;\n this.closingMotionMsec = 100;\n this.closedMotionMsec = 50;\n this.openingMotionMsec = 150;\n this.closeIfZero = true;\n this.eyeID_L = \"PARAM_EYE_L_OPEN\";\n this.eyeID_R = \"PARAM_EYE_R_OPEN\";\n}\n\n//============================================================\n// L2DEyeBlink # calcNextBlink()\n//============================================================\nL2DEyeBlink.prototype.calcNextBlink = function () {\n var time /*long*/ = UtSystem.getUserTimeMSec();\n var r /*Number*/ = Math.random();\n return (/*(long)*/time + r * (2 * this.blinkIntervalMsec - 1)\n );\n};\n\n//============================================================\n// L2DEyeBlink # setInterval()\n//============================================================\nL2DEyeBlink.prototype.setInterval = function (blinkIntervalMsec /*int*/) {\n this.blinkIntervalMsec = blinkIntervalMsec;\n};\n\n//============================================================\n// L2DEyeBlink # setEyeMotion()\n//============================================================\nL2DEyeBlink.prototype.setEyeMotion = function (closingMotionMsec /*int*/, closedMotionMsec /*int*/, openingMotionMsec /*int*/) {\n this.closingMotionMsec = closingMotionMsec;\n this.closedMotionMsec = closedMotionMsec;\n this.openingMotionMsec = openingMotionMsec;\n};\n\n//============================================================\n// L2DEyeBlink # updateParam()\n//============================================================\nL2DEyeBlink.prototype.updateParam = function (model /*ALive2DModel*/) {\n var time /*:long*/ = UtSystem.getUserTimeMSec();\n var eyeParamValue /*:Number*/;\n var t /*:Number*/ = 0;\n switch (this.eyeState) {\n case EYE_STATE.STATE_CLOSING:\n t = (time - this.stateStartTime) / this.closingMotionMsec;\n if (t >= 1) {\n t = 1;\n this.eyeState = EYE_STATE.STATE_CLOSED;\n this.stateStartTime = time;\n }\n eyeParamValue = 1 - t;\n break;\n case EYE_STATE.STATE_CLOSED:\n t = (time - this.stateStartTime) / this.closedMotionMsec;\n if (t >= 1) {\n this.eyeState = EYE_STATE.STATE_OPENING;\n this.stateStartTime = time;\n }\n eyeParamValue = 0;\n break;\n case EYE_STATE.STATE_OPENING:\n t = (time - this.stateStartTime) / this.openingMotionMsec;\n if (t >= 1) {\n t = 1;\n this.eyeState = EYE_STATE.STATE_INTERVAL;\n this.nextBlinkTime = this.calcNextBlink();\n }\n eyeParamValue = t;\n break;\n case EYE_STATE.STATE_INTERVAL:\n if (this.nextBlinkTime < time) {\n this.eyeState = EYE_STATE.STATE_CLOSING;\n this.stateStartTime = time;\n }\n eyeParamValue = 1;\n break;\n case EYE_STATE.STATE_FIRST:\n default:\n this.eyeState = EYE_STATE.STATE_INTERVAL;\n this.nextBlinkTime = this.calcNextBlink();\n eyeParamValue = 1;\n break;\n }\n if (!this.closeIfZero) eyeParamValue = -eyeParamValue;\n model.setParamFloat(this.eyeID_L, eyeParamValue);\n model.setParamFloat(this.eyeID_R, eyeParamValue);\n};\n\n//== enum EYE_STATE ==\nvar EYE_STATE = function EYE_STATE() {};\n\nEYE_STATE.STATE_FIRST = \"STATE_FIRST\";\nEYE_STATE.STATE_INTERVAL = \"STATE_INTERVAL\";\nEYE_STATE.STATE_CLOSING = \"STATE_CLOSING\";\nEYE_STATE.STATE_CLOSED = \"STATE_CLOSED\";\nEYE_STATE.STATE_OPENING = \"STATE_OPENING\";\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\n\n//============================================================\n//============================================================\n// class L2DMatrix44 \n//============================================================\n//============================================================\nfunction L2DMatrix44() {\n this.tr = new Float32Array(16); // \n this.identity();\n}\n\n//============================================================\n// static L2DMatrix44.mul()\n//============================================================\nL2DMatrix44.mul = function (a /*float[]*/, b /*float[]*/, dst /*float[]*/) {\n var c = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n var n = 4;\n var i, j, k;\n for (i = 0; i < n; i++) {\n for (j = 0; j < n; j++) {\n for (k = 0; k < n; k++) {\n c[i + j * 4] += a[i + k * 4] * b[k + j * 4];\n }\n }\n }\n for (i = 0; i < 16; i++) {\n dst[i] = c[i];\n }\n};\n\n//============================================================\n// L2DMatrix44 # identity()\n//============================================================\nL2DMatrix44.prototype.identity = function () {\n for (var i /*:int*/ = 0; i < 16; i++) {\n this.tr[i] = i % 5 == 0 ? 1 : 0;\n }\n};\n\n//============================================================\n// L2DMatrix44 # getArray()\n//============================================================\nL2DMatrix44.prototype.getArray = function () {\n return this.tr;\n};\n\n//============================================================\n// L2DMatrix44 # getCopyMatrix()\n//============================================================\nL2DMatrix44.prototype.getCopyMatrix = function () {\n return new Float32Array(this.tr); // this.tr.clone();\n};\n\n//============================================================\n// L2DMatrix44 # setMatrix()\n//============================================================\nL2DMatrix44.prototype.setMatrix = function (tr /*float[]*/) {\n if (this.tr == null || this.tr.length != this.tr.length) return;\n for (var i /*:int*/ = 0; i < 16; i++) {\n this.tr[i] = tr[i];\n }\n};\n\n//============================================================\n// L2DMatrix44 # getScaleX()\n//============================================================\nL2DMatrix44.prototype.getScaleX = function () {\n return this.tr[0];\n};\n\n//============================================================\n// L2DMatrix44 # getScaleY()\n//============================================================\nL2DMatrix44.prototype.getScaleY = function () {\n return this.tr[5];\n};\n\n//============================================================\n// L2DMatrix44 # transformX()\n//============================================================\nL2DMatrix44.prototype.transformX = function (src /*float*/) {\n return this.tr[0] * src + this.tr[12];\n};\n\n//============================================================\n// L2DMatrix44 # transformY()\n//============================================================\nL2DMatrix44.prototype.transformY = function (src /*float*/) {\n return this.tr[5] * src + this.tr[13];\n};\n\n//============================================================\n// L2DMatrix44 # invertTransformX()\n//============================================================\nL2DMatrix44.prototype.invertTransformX = function (src /*float*/) {\n return (src - this.tr[12]) / this.tr[0];\n};\n\n//============================================================\n// L2DMatrix44 # invertTransformY()\n//============================================================\nL2DMatrix44.prototype.invertTransformY = function (src /*float*/) {\n return (src - this.tr[13]) / this.tr[5];\n};\n\n//============================================================\n// L2DMatrix44 # multTranslate()\n//============================================================\nL2DMatrix44.prototype.multTranslate = function (shiftX /*float*/, shiftY /*float*/) {\n var tr1 = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, shiftX, shiftY, 0, 1];\n L2DMatrix44.mul(tr1, this.tr, this.tr);\n};\n\n//============================================================\n// L2DMatrix44 # translate()\n//============================================================\nL2DMatrix44.prototype.translate = function (x /*float*/, y /*float*/) {\n this.tr[12] = x;\n this.tr[13] = y;\n};\n\n//============================================================\n// L2DMatrix44 # translateX()\n//============================================================\nL2DMatrix44.prototype.translateX = function (x /*float*/) {\n this.tr[12] = x;\n};\n\n//============================================================\n// L2DMatrix44 # translateY()\n//============================================================\nL2DMatrix44.prototype.translateY = function (y /*float*/) {\n this.tr[13] = y;\n};\n\n//============================================================\n// L2DMatrix44 # multScale()\n//============================================================\nL2DMatrix44.prototype.multScale = function (scaleX /*float*/, scaleY /*float*/) {\n var tr1 = [scaleX, 0, 0, 0, 0, scaleY, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n L2DMatrix44.mul(tr1, this.tr, this.tr);\n};\n\n//============================================================\n// L2DMatrix44 # scale()\n//============================================================\nL2DMatrix44.prototype.scale = function (scaleX /*float*/, scaleY /*float*/) {\n this.tr[0] = scaleX;\n this.tr[5] = scaleY;\n};\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\n\n//============================================================\n//============================================================\n// class L2DModelMatrix extends L2DMatrix44\n//============================================================\n//============================================================\nfunction L2DModelMatrix(w /*float*/, h /*float*/) {\n L2DMatrix44.prototype.constructor.call(this);\n this.width = w;\n this.height = h;\n}\n\n//L2DModelMatrix extends L2DMatrix44\nL2DModelMatrix.prototype = new L2DMatrix44();\n\n//============================================================\n// L2DModelMatrix # setPosition()\n//============================================================\nL2DModelMatrix.prototype.setPosition = function (x /*float*/, y /*float*/) {\n this.translate(x, y);\n};\n\n//============================================================\n// L2DModelMatrix # setCenterPosition()\n//============================================================\nL2DModelMatrix.prototype.setCenterPosition = function (x /*float*/, y /*float*/) {\n var w = this.width * this.getScaleX();\n var h = this.height * this.getScaleY();\n this.translate(x - w / 2, y - h / 2);\n};\n\n//============================================================\n// L2DModelMatrix # top()\n//============================================================\nL2DModelMatrix.prototype.top = function (y /*float*/) {\n this.setY(y);\n};\n\n//============================================================\n// L2DModelMatrix # bottom()\n//============================================================\nL2DModelMatrix.prototype.bottom = function (y /*float*/) {\n var h = this.height * this.getScaleY();\n this.translateY(y - h);\n};\n\n//============================================================\n// L2DModelMatrix # left()\n//============================================================\nL2DModelMatrix.prototype.left = function (x /*float*/) {\n this.setX(x);\n};\n\n//============================================================\n// L2DModelMatrix # right()\n//============================================================\nL2DModelMatrix.prototype.right = function (x /*float*/) {\n var w = this.width * this.getScaleX();\n this.translateX(x - w);\n};\n\n//============================================================\n// L2DModelMatrix # centerX()\n//============================================================\nL2DModelMatrix.prototype.centerX = function (x /*float*/) {\n var w = this.width * this.getScaleX();\n this.translateX(x - w / 2);\n};\n\n//============================================================\n// L2DModelMatrix # centerY()\n//============================================================\nL2DModelMatrix.prototype.centerY = function (y /*float*/) {\n var h = this.height * this.getScaleY();\n this.translateY(y - h / 2);\n};\n\n//============================================================\n// L2DModelMatrix # setX()\n//============================================================\nL2DModelMatrix.prototype.setX = function (x /*float*/) {\n this.translateX(x);\n};\n\n//============================================================\n// L2DModelMatrix # setY()\n//============================================================\nL2DModelMatrix.prototype.setY = function (y /*float*/) {\n this.translateY(y);\n};\n\n//============================================================\n// L2DModelMatrix # setHeight()\n//============================================================\nL2DModelMatrix.prototype.setHeight = function (h /*float*/) {\n var scaleX = h / this.height;\n var scaleY = -scaleX;\n this.scale(scaleX, scaleY);\n};\n\n//============================================================\n// L2DModelMatrix # setWidth()\n//============================================================\nL2DModelMatrix.prototype.setWidth = function (w /*float*/) {\n var scaleX = w / this.width;\n var scaleY = -scaleX;\n this.scale(scaleX, scaleY);\n};\n\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\n\n//============================================================\n//============================================================\n// class L2DMotionManager extends MotionQueueManager\n//============================================================\n//============================================================\nfunction L2DMotionManager() {\n MotionQueueManager.prototype.constructor.call(this);\n this.currentPriority = null;\n this.reservePriority = null;\n\n this.super = MotionQueueManager.prototype;\n}\n\nL2DMotionManager.prototype = new MotionQueueManager();\n\n//============================================================\n// L2DMotionManager # getCurrentPriority()\n//============================================================\nL2DMotionManager.prototype.getCurrentPriority = function () {\n return this.currentPriority;\n};\n\n//============================================================\n// L2DMotionManager # getReservePriority()\n//============================================================\nL2DMotionManager.prototype.getReservePriority = function () {\n return this.reservePriority;\n};\n\n//============================================================\n// L2DMotionManager # reserveMotion()\n//============================================================\nL2DMotionManager.prototype.reserveMotion = function (priority /*int*/) {\n if (this.reservePriority >= priority) {\n return false;\n }\n if (this.currentPriority >= priority) {\n return false;\n }\n\n this.reservePriority = priority;\n\n return true;\n};\n\n//============================================================\n// L2DMotionManager # setReservePriority()\n//============================================================\nL2DMotionManager.prototype.setReservePriority = function (val /*int*/) {\n this.reservePriority = val;\n};\n\n//============================================================\n// L2DMotionManager # updateParam()\n//============================================================\nL2DMotionManager.prototype.updateParam = function (model /*ALive2DModel*/) {\n var updated = MotionQueueManager.prototype.updateParam.call(this, model);\n\n if (this.isFinished()) {\n this.currentPriority = 0;\n }\n\n return updated;\n};\n\n//============================================================\n// L2DMotionManager # startMotionPrio()\n//============================================================\nL2DMotionManager.prototype.startMotionPrio = function (motion /*AMotion*/, priority /*int*/) {\n if (priority == this.reservePriority) {\n this.reservePriority = 0;\n }\n this.currentPriority = priority;\n return this.startMotion(motion, false);\n};\n\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\n\n//============================================================\n//============================================================\n// class L2DPhysics \n//============================================================\n//============================================================\nfunction L2DPhysics() {\n this.physicsList = new Array(); //ArrayList\n this.startTimeMSec = UtSystem.getUserTimeMSec();\n}\n\n//============================================================\n// static L2DPhysics.load()\n//============================================================\nL2DPhysics.load = function (buf /*byte[]*/) {\n var ret = new L2DPhysics(); //L2DPhysicsL2DPhysics\n var pm = Live2DFramework.getPlatformManager();\n var json = pm.jsonParseFromBytes(buf);\n var params = json.physics_hair;\n var paramNum = params.length;\n for (var i = 0; i < paramNum; i++) {\n var param = params[i]; //Value\n var physics = new PhysicsHair(); //PhysicsHairPhysicsHair\n var setup = param.setup; //Value\n var length = parseFloat(setup.length);\n var resist = parseFloat(setup.regist);\n var mass = parseFloat(setup.mass);\n physics.setup(length, resist, mass);\n var srcList = param.src; //Value\n var srcNum = srcList.length;\n for (var j = 0; j < srcNum; j++) {\n var src = srcList[j]; //Value\n var id = src.id; //String\n var type = PhysicsHair.Src.SRC_TO_X;\n var typeStr = src.ptype; //String\n if (typeStr === \"x\") {\n type = PhysicsHair.Src.SRC_TO_X;\n } else if (typeStr === \"y\") {\n type = PhysicsHair.Src.SRC_TO_Y;\n } else if (typeStr === \"angle\") {\n type = PhysicsHair.Src.SRC_TO_G_ANGLE;\n } else {\n UtDebug.error(\"live2d\", \"Invalid parameter:PhysicsHair.Src\");\n }\n var scale = parseFloat(src.scale);\n var weight = parseFloat(src.weight);\n physics.addSrcParam(type, id, scale, weight);\n }\n var targetList = param.targets; //Value\n var targetNum = targetList.length;\n for (var j = 0; j < targetNum; j++) {\n var target = targetList[j]; //Value\n var id = target.id; //String\n var type = PhysicsHair.Target.TARGET_FROM_ANGLE;\n var typeStr = target.ptype; //String\n if (typeStr === \"angle\") {\n type = PhysicsHair.Target.TARGET_FROM_ANGLE;\n } else if (typeStr === \"angle_v\") {\n type = PhysicsHair.Target.TARGET_FROM_ANGLE_V;\n } else {\n UtDebug.error(\"live2d\", \"Invalid parameter:PhysicsHair.Target\");\n }\n var scale = parseFloat(target.scale);\n var weight = parseFloat(target.weight);\n physics.addTargetParam(type, id, scale, weight);\n }\n ret.physicsList.push(physics);\n }\n return ret;\n};\n\n//============================================================\n// L2DPhysics # updateParam()\n//============================================================\nL2DPhysics.prototype.updateParam = function (model /*ALive2DModel*/) {\n var timeMSec = UtSystem.getUserTimeMSec() - this.startTimeMSec;\n for (var i = 0; i < this.physicsList.length; i++) {\n this.physicsList[i].update(model, timeMSec);\n }\n};\n\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\n\n//============================================================\n//============================================================\n// class L2DPose \n//============================================================\n//============================================================\nfunction L2DPose() {\n this.lastTime = 0;\n this.lastModel = null; //ALive2DModel\n this.partsGroups = new Array(); //ArrayList\n}\n\n//============================================================\n// static L2DPose.load()\n//============================================================\nL2DPose.load = function (buf /*byte[]*/) {\n var ret = new L2DPose(); //L2DPose\n var pm = Live2DFramework.getPlatformManager();\n var json = pm.jsonParseFromBytes(buf);\n var poseListInfo = json.parts_visible; //Value\n var poseNum = poseListInfo.length;\n for (var i_pose = 0; i_pose < poseNum; i_pose++) {\n var poseInfo = poseListInfo[i_pose]; //Value\n var idListInfo = poseInfo.group; //Value\n var idNum = idListInfo.length;\n var partsGroup /*L2DPartsParam*/ = new Array();\n for (var i_group = 0; i_group < idNum; i_group++) {\n var partsInfo = idListInfo[i_group]; //Value\n var parts = new L2DPartsParam(partsInfo.id); //L2DPartsParamL2DPartsParam\n partsGroup[i_group] = parts;\n if (partsInfo.link == null) continue;\n var linkListInfo = partsInfo.link; //Value\n var linkNum = linkListInfo.length;\n parts.link = new Array(); //ArrayList\n for (var i_link = 0; i_link < linkNum; i_link++) {\n var linkParts = new L2DPartsParam(linkListInfo[i_link]); //L2DPartsParamL2DPartsParam\n parts.link.push(linkParts);\n }\n }\n ret.partsGroups.push(partsGroup);\n }\n\n return ret;\n};\n\n//============================================================\n// L2DPose # updateParam()\n//============================================================\nL2DPose.prototype.updateParam = function (model /*ALive2DModel*/) {\n if (model == null) return;\n\n if (!(model == this.lastModel)) {\n this.initParam(model);\n }\n this.lastModel = model;\n\n var curTime = UtSystem.getUserTimeMSec();\n var deltaTimeSec = this.lastTime == 0 ? 0 : (curTime - this.lastTime) / 1000.0;\n this.lastTime = curTime;\n if (deltaTimeSec < 0) deltaTimeSec = 0;\n for (var i = 0; i < this.partsGroups.length; i++) {\n this.normalizePartsOpacityGroup(model, this.partsGroups[i], deltaTimeSec);\n this.copyOpacityOtherParts(model, this.partsGroups[i]);\n }\n};\n\n//============================================================\n// L2DPose # initParam()\n//============================================================\nL2DPose.prototype.initParam = function (model /*ALive2DModel*/) {\n if (model == null) return;\n for (var i = 0; i < this.partsGroups.length; i++) {\n var partsGroup = this.partsGroups[i]; //L2DPartsParam\n for (var j = 0; j < partsGroup.length; j++) {\n partsGroup[j].initIndex(model);\n var partsIndex = partsGroup[j].partsIndex;\n var paramIndex = partsGroup[j].paramIndex;\n if (partsIndex < 0) continue;\n var v /*:Boolean*/ = model.getParamFloat(paramIndex) != 0;\n model.setPartsOpacity(partsIndex, v ? 1.0 : 0.0);\n model.setParamFloat(paramIndex, v ? 1.0 : 0.0);\n if (partsGroup[j].link == null) continue;\n for (var k = 0; k < partsGroup[j].link.length; k++) {\n partsGroup[j].link[k].initIndex(model);\n }\n }\n }\n};\n\n//============================================================\n// L2DPose # normalizePartsOpacityGroup()\n//============================================================\nL2DPose.prototype.normalizePartsOpacityGroup = function (model /*ALive2DModel*/, partsGroup /*L2DPartsParam[]*/, deltaTimeSec /*float*/) {\n var visibleParts = -1;\n var visibleOpacity = 1.0;\n var CLEAR_TIME_SEC = 0.5;\n var phi = 0.5;\n var maxBackOpacity = 0.15;\n for (var i = 0; i < partsGroup.length; i++) {\n var partsIndex = partsGroup[i].partsIndex;\n var paramIndex = partsGroup[i].paramIndex;\n if (partsIndex < 0) continue;if (model.getParamFloat(paramIndex) != 0) {\n if (visibleParts >= 0) {\n break;\n }\n visibleParts = i;\n visibleOpacity = model.getPartsOpacity(partsIndex);\n visibleOpacity += deltaTimeSec / CLEAR_TIME_SEC;\n if (visibleOpacity > 1) {\n visibleOpacity = 1;\n }\n }\n }\n if (visibleParts < 0) {\n visibleParts = 0;\n visibleOpacity = 1;\n }\n for (var i = 0; i < partsGroup.length; i++) {\n var partsIndex = partsGroup[i].partsIndex;\n if (partsIndex < 0) continue;if (visibleParts == i) {\n model.setPartsOpacity(partsIndex, visibleOpacity);\n } else {\n var opacity = model.getPartsOpacity(partsIndex);\n var a1;\n if (visibleOpacity < phi) {\n a1 = visibleOpacity * (phi - 1) / phi + 1;\n } else {\n a1 = (1 - visibleOpacity) * phi / (1 - phi);\n }\n var backOp = (1 - a1) * (1 - visibleOpacity);\n if (backOp > maxBackOpacity) {\n a1 = 1 - maxBackOpacity / (1 - visibleOpacity);\n }\n if (opacity > a1) {\n opacity = a1;\n }\n model.setPartsOpacity(partsIndex, opacity);\n }\n }\n};\n\n//============================================================\n// L2DPose # copyOpacityOtherParts()\n//============================================================\nL2DPose.prototype.copyOpacityOtherParts = function (model /*ALive2DModel*/, partsGroup /*L2DPartsParam[]*/) {\n for (var i_group = 0; i_group < partsGroup.length; i_group++) {\n var partsParam = partsGroup[i_group]; //L2DPartsParam\n if (partsParam.link == null) continue;\n if (partsParam.partsIndex < 0) continue;\n var opacity = model.getPartsOpacity(partsParam.partsIndex);\n for (var i_link = 0; i_link < partsParam.link.length; i_link++) {\n var linkParts = partsParam.link[i_link]; //L2DPartsParam\n if (linkParts.partsIndex < 0) continue;\n model.setPartsOpacity(linkParts.partsIndex, opacity);\n }\n }\n};\n\n//============================================================\n//============================================================\n// class L2DPartsParam \n//============================================================\n//============================================================\nfunction L2DPartsParam(id /*String*/) {\n this.paramIndex = -1;\n this.partsIndex = -1;\n this.link = null; // ArrayList\n this.id = id;\n}\n\n//============================================================\n// L2DPartsParam # initIndex()\n//============================================================\nL2DPartsParam.prototype.initIndex = function (model /*ALive2DModel*/) {\n this.paramIndex = model.getParamIndex(\"VISIBLE:\" + this.id);\n this.partsIndex = model.getPartsDataIndex(PartsDataID.getID(this.id));\n model.setParamFloat(this.paramIndex, 1);\n};\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\n\n//============================================================\n//============================================================\n// class L2DTargetPoint \n//============================================================\n//============================================================\nfunction L2DTargetPoint() {\n this.EPSILON = 0.01; // 変化の最小値(この値以下は無視される)\n this.faceTargetX = 0;\n this.faceTargetY = 0;\n this.faceX = 0;\n this.faceY = 0;\n this.faceVX = 0;\n this.faceVY = 0;\n this.lastTimeSec = 0;\n}\n\n//============================================================\nL2DTargetPoint.FRAME_RATE = 30;\n\n//============================================================\n// L2DTargetPoint # set()\n//============================================================\nL2DTargetPoint.prototype.setPoint = function (x /*float*/, y /*float*/) {\n this.faceTargetX = x;\n this.faceTargetY = y;\n};\n\n//============================================================\n// L2DTargetPoint # getX()\n//============================================================\nL2DTargetPoint.prototype.getX = function () {\n return this.faceX;\n};\n\n//============================================================\n// L2DTargetPoint # getY()\n//============================================================\nL2DTargetPoint.prototype.getY = function () {\n return this.faceY;\n};\n\n//============================================================\n// L2DTargetPoint # update()\n//============================================================\nL2DTargetPoint.prototype.update = function () {\n var TIME_TO_MAX_SPEED = 0.15;\n var FACE_PARAM_MAX_V = 40.0 / 7.5;\n var MAX_V = FACE_PARAM_MAX_V / L2DTargetPoint.FRAME_RATE;\n if (this.lastTimeSec == 0) {\n this.lastTimeSec = UtSystem.getUserTimeMSec();\n return;\n }\n var curTimeSec = UtSystem.getUserTimeMSec();\n var deltaTimeWeight = (curTimeSec - this.lastTimeSec) * L2DTargetPoint.FRAME_RATE / 1000.0;\n this.lastTimeSec = curTimeSec;\n var FRAME_TO_MAX_SPEED = TIME_TO_MAX_SPEED * L2DTargetPoint.FRAME_RATE;\n var MAX_A = deltaTimeWeight * MAX_V / FRAME_TO_MAX_SPEED;\n var dx = this.faceTargetX - this.faceX;\n var dy = this.faceTargetY - this.faceY;\n // if(dx == 0 && dy == 0) return;\n if (Math.abs(dx) <= this.EPSILON && Math.abs(dy) <= this.EPSILON) return;\n var d = Math.sqrt(dx * dx + dy * dy);\n var vx = MAX_V * dx / d;\n var vy = MAX_V * dy / d;\n var ax = vx - this.faceVX;\n var ay = vy - this.faceVY;\n var a = Math.sqrt(ax * ax + ay * ay);\n if (a < -MAX_A || a > MAX_A) {\n ax *= MAX_A / a;\n ay *= MAX_A / a;\n a = MAX_A;\n }\n this.faceVX += ax;\n this.faceVY += ay;\n {\n var max_v = 0.5 * (Math.sqrt(MAX_A * MAX_A + 16 * MAX_A * d - 8 * MAX_A * d) - MAX_A);\n var cur_v = Math.sqrt(this.faceVX * this.faceVX + this.faceVY * this.faceVY);\n if (cur_v > max_v) {\n this.faceVX *= max_v / cur_v;\n this.faceVY *= max_v / cur_v;\n }\n }\n this.faceX += this.faceVX;\n this.faceY += this.faceVY;\n};\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\n\n//============================================================\n//============================================================\n// class L2DViewMatrix extends L2DMatrix44\n//============================================================\n//============================================================\nfunction L2DViewMatrix() {\n L2DMatrix44.prototype.constructor.call(this);\n this.screenLeft = null;\n this.screenRight = null;\n this.screenTop = null;\n this.screenBottom = null;\n this.maxLeft = null;\n this.maxRight = null;\n this.maxTop = null;\n this.maxBottom = null;\n this.max = Number.MAX_VALUE;\n this.min = 0;\n}\n\nL2DViewMatrix.prototype = new L2DMatrix44(); //L2DViewMatrix extends L2DMatrix44\n\n//============================================================\n// L2DViewMatrix # getMaxScale()\n//============================================================\nL2DViewMatrix.prototype.getMaxScale = function () {\n return this.max;\n};\n\n//============================================================\n// L2DViewMatrix # getMinScale()\n//============================================================\nL2DViewMatrix.prototype.getMinScale = function () {\n return this.min;\n};\n\n//============================================================\n// L2DViewMatrix # setMaxScale()\n//============================================================\nL2DViewMatrix.prototype.setMaxScale = function (v /*float*/) {\n this.max = v;\n};\n\n//============================================================\n// L2DViewMatrix # setMinScale()\n//============================================================\nL2DViewMatrix.prototype.setMinScale = function (v /*float*/) {\n this.min = v;\n};\n\n//============================================================\n// L2DViewMatrix # isMaxScale()\n//============================================================\nL2DViewMatrix.prototype.isMaxScale = function () {\n return this.getScaleX() == this.max;\n};\n\n//============================================================\n// L2DViewMatrix # isMinScale()\n//============================================================\nL2DViewMatrix.prototype.isMinScale = function () {\n return this.getScaleX() == this.min;\n};\n\n//============================================================\n// L2DViewMatrix # adjustTranslate()\n//============================================================\nL2DViewMatrix.prototype.adjustTranslate = function (shiftX /*float*/, shiftY /*float*/) {\n if (this.tr[0] * this.maxLeft + (this.tr[12] + shiftX) > this.screenLeft) shiftX = this.screenLeft - this.tr[0] * this.maxLeft - this.tr[12];\n if (this.tr[0] * this.maxRight + (this.tr[12] + shiftX) < this.screenRight) shiftX = this.screenRight - this.tr[0] * this.maxRight - this.tr[12];\n if (this.tr[5] * this.maxTop + (this.tr[13] + shiftY) < this.screenTop) shiftY = this.screenTop - this.tr[5] * this.maxTop - this.tr[13];\n if (this.tr[5] * this.maxBottom + (this.tr[13] + shiftY) > this.screenBottom) shiftY = this.screenBottom - this.tr[5] * this.maxBottom - this.tr[13];\n\n var tr1 = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, shiftX, shiftY, 0, 1];\n L2DMatrix44.mul(tr1, this.tr, this.tr);\n};\n\n//============================================================\n// L2DViewMatrix # adjustScale()\n//============================================================\nL2DViewMatrix.prototype.adjustScale = function (cx /*float*/, cy /*float*/, scale /*float*/) {\n var targetScale = scale * this.tr[0];\n if (targetScale < this.min) {\n if (this.tr[0] > 0) scale = this.min / this.tr[0];\n } else if (targetScale > this.max) {\n if (this.tr[0] > 0) scale = this.max / this.tr[0];\n }\n var tr1 = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, cx, cy, 0, 1];\n var tr2 = [scale, 0, 0, 0, 0, scale, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n var tr3 = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -cx, -cy, 0, 1];\n L2DMatrix44.mul(tr3, this.tr, this.tr);\n L2DMatrix44.mul(tr2, this.tr, this.tr);\n L2DMatrix44.mul(tr1, this.tr, this.tr);\n};\n\n//============================================================\n// L2DViewMatrix # setScreenRect()\n//============================================================\nL2DViewMatrix.prototype.setScreenRect = function (left /*float*/, right /*float*/, bottom /*float*/, top /*float*/) {\n this.screenLeft = left;\n this.screenRight = right;\n this.screenTop = top;\n this.screenBottom = bottom;\n};\n\n//============================================================\n// L2DViewMatrix # setMaxScreenRect()\n//============================================================\nL2DViewMatrix.prototype.setMaxScreenRect = function (left /*float*/, right /*float*/, bottom /*float*/, top /*float*/) {\n this.maxLeft = left;\n this.maxRight = right;\n this.maxTop = top;\n this.maxBottom = bottom;\n};\n\n//============================================================\n// L2DViewMatrix # getScreenLeft()\n//============================================================\nL2DViewMatrix.prototype.getScreenLeft = function () {\n return this.screenLeft;\n};\n\n//============================================================\n// L2DViewMatrix # getScreenRight()\n//============================================================\nL2DViewMatrix.prototype.getScreenRight = function () {\n return this.screenRight;\n};\n\n//============================================================\n// L2DViewMatrix # getScreenBottom()\n//============================================================\nL2DViewMatrix.prototype.getScreenBottom = function () {\n return this.screenBottom;\n};\n\n//============================================================\n// L2DViewMatrix # getScreenTop()\n//============================================================\nL2DViewMatrix.prototype.getScreenTop = function () {\n return this.screenTop;\n};\n\n//============================================================\n// L2DViewMatrix # getMaxLeft()\n//============================================================\nL2DViewMatrix.prototype.getMaxLeft = function () {\n return this.maxLeft;\n};\n\n//============================================================\n// L2DViewMatrix # getMaxRight()\n//============================================================\nL2DViewMatrix.prototype.getMaxRight = function () {\n return this.maxRight;\n};\n\n//============================================================\n// L2DViewMatrix # getMaxBottom()\n//============================================================\nL2DViewMatrix.prototype.getMaxBottom = function () {\n return this.maxBottom;\n};\n\n//============================================================\n// L2DViewMatrix # getMaxTop()\n//============================================================\nL2DViewMatrix.prototype.getMaxTop = function () {\n return this.maxTop;\n};\n\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\n\n//============================================================\n//============================================================\n// class Live2DFramework \n//============================================================\n//============================================================\nfunction Live2DFramework() {}\n\n//============================================================\nLive2DFramework.platformManager = null;\n\n//============================================================\n// static Live2DFramework.getPlatformManager()\n//============================================================\nLive2DFramework.getPlatformManager = function () {\n return Live2DFramework.platformManager;\n};\n\n//============================================================\n// static Live2DFramework.setPlatformManager()\n//============================================================\nLive2DFramework.setPlatformManager = function (platformManager /*IPlatformManager*/) {\n Live2DFramework.platformManager = platformManager;\n};\n\nmodule.exports = {\n L2DTargetPoint: L2DTargetPoint,\n Live2DFramework: Live2DFramework,\n L2DViewMatrix: L2DViewMatrix,\n L2DPose: L2DPose,\n L2DPartsParam: L2DPartsParam,\n L2DPhysics: L2DPhysics,\n L2DMotionManager: L2DMotionManager,\n L2DModelMatrix: L2DModelMatrix,\n L2DMatrix44: L2DMatrix44,\n EYE_STATE: EYE_STATE,\n L2DEyeBlink: L2DEyeBlink,\n L2DExpressionParam: L2DExpressionParam,\n L2DExpressionMotion: L2DExpressionMotion,\n L2DBaseModel: L2DBaseModel\n};\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LAppDefine = {\n\n DEBUG_LOG: false,\n DEBUG_MOUSE_LOG: false,\n // DEBUG_DRAW_HIT_AREA : false, \n // DEBUG_DRAW_ALPHA_MODEL : false, \n\n\n VIEW_MAX_SCALE: 2,\n VIEW_MIN_SCALE: 0.8,\n\n VIEW_LOGICAL_LEFT: -1,\n VIEW_LOGICAL_RIGHT: 1,\n\n VIEW_LOGICAL_MAX_LEFT: -2,\n VIEW_LOGICAL_MAX_RIGHT: 2,\n VIEW_LOGICAL_MAX_BOTTOM: -2,\n VIEW_LOGICAL_MAX_TOP: 2,\n\n PRIORITY_NONE: 0,\n PRIORITY_IDLE: 1,\n PRIORITY_NORMAL: 2,\n PRIORITY_FORCE: 3,\n\n MOTION_GROUP_IDLE: \"idle\",\n MOTION_GROUP_TAP_BODY: \"tap_body\",\n MOTION_GROUP_FLICK_HEAD: \"flick_head\",\n MOTION_GROUP_PINCH_IN: \"pinch_in\",\n MOTION_GROUP_PINCH_OUT: \"pinch_out\",\n MOTION_GROUP_SHAKE: \"shake\",\n\n HIT_AREA_HEAD: \"head\",\n HIT_AREA_BODY: \"body\"\n\n};\n\nmodule.exports = LAppDefine;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n *\n * You can modify and use this source freely\n * only for the development of application related Live2D.\n *\n * (c) Live2D Inc. All rights reserved.\n */\n/**\n * EYHN 修改\n * \n * Copyright © 2016 - 2017 EYHN\n */\n\nfunction MatrixStack() {}\n\nMatrixStack.matrixStack = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n\nMatrixStack.depth = 0;\n\nMatrixStack.currentMatrix = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n\nMatrixStack.tmp = new Array(16);\n\nMatrixStack.reset = function () {\n this.depth = 0;\n};\n\nMatrixStack.loadIdentity = function () {\n for (var i = 0; i < 16; i++) {\n this.currentMatrix[i] = i % 5 == 0 ? 1 : 0;\n }\n};\n\nMatrixStack.push = function () {\n var offset = this.depth * 16;\n var nextOffset = (this.depth + 1) * 16;\n\n if (this.matrixStack.length < nextOffset + 16) {\n this.matrixStack.length = nextOffset + 16;\n }\n\n for (var i = 0; i < 16; i++) {\n this.matrixStack[nextOffset + i] = this.currentMatrix[i];\n }\n\n this.depth++;\n};\n\nMatrixStack.pop = function () {\n this.depth--;\n if (this.depth < 0) {\n myError(\"Invalid matrix stack.\");\n this.depth = 0;\n }\n\n var offset = this.depth * 16;\n for (var i = 0; i < 16; i++) {\n this.currentMatrix[i] = this.matrixStack[offset + i];\n }\n};\n\nMatrixStack.getMatrix = function () {\n return this.currentMatrix;\n};\n\nMatrixStack.multMatrix = function (matNew) {\n var i, j, k;\n\n for (i = 0; i < 16; i++) {\n this.tmp[i] = 0;\n }\n\n for (i = 0; i < 4; i++) {\n for (j = 0; j < 4; j++) {\n for (k = 0; k < 4; k++) {\n this.tmp[i + j * 4] += this.currentMatrix[i + k * 4] * matNew[k + j * 4];\n }\n }\n }\n for (i = 0; i < 16; i++) {\n this.currentMatrix[i] = this.tmp[i];\n }\n};\n\nmodule.exports = MatrixStack;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setContext = setContext;\nexports.getContext = getContext;\n\nvar context = undefined;\n\nfunction setContext(webglContext) {\n context = webglContext;\n}\n\nfunction getContext() {\n return context;\n}\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(9);\n\nvar _Live2DFramework = __webpack_require__(0);\n\nvar _LAppLive2DManager = __webpack_require__(5);\n\nvar _LAppLive2DManager2 = _interopRequireDefault(_LAppLive2DManager);\n\nvar _LAppDefine = __webpack_require__(1);\n\nvar _LAppDefine2 = _interopRequireDefault(_LAppDefine);\n\nvar _MatrixStack = __webpack_require__(2);\n\nvar _MatrixStack2 = _interopRequireDefault(_MatrixStack);\n\nvar _webglcontext = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// window.onerror = function (msg, url, line, col, error) {\n// let errmsg = \"file:\" + url + \"
line:\" + line + \" \" + msg;\n// console.error(errmsg);\n// }\n\nvar platform = window.navigator.platform.toLowerCase();\n\nvar live2DMgr = new _LAppLive2DManager2.default();\n\nvar isDrawStart = false;\n\nvar gl = null;\n\nvar canvas = null;\n\nvar dragMgr = null;\n\nvar viewMatrix = null;\n\nvar projMatrix = null;\n\nvar deviceToScreen = null;\n\nvar drag = false;\n\nvar oldLen = 0;\n\nvar lastMouseX = 0;\n\nvar lastMouseY = 0;\n\nvar isModelShown = 0;\n\nvar modelurl = \"\";\n\nvar head_pos = 0.5;\n\nfunction initL2dCanvas(canvasId) {\n canvas = document.getElementById(canvasId);\n if (canvas.addEventListener) {\n //canvas.addEventListener(\"mousewheel\", mouseEvent);\n window.addEventListener(\"click\", mouseEvent);\n window.addEventListener(\"mousedown\", mouseEvent);\n window.addEventListener(\"mousemove\", mouseEvent);\n window.addEventListener(\"mouseup\", mouseEvent);\n document.addEventListener(\"mouseleave\", mouseEvent);\n //canvas.addEventListener(\"contextmenu\", mouseEvent);\n window.addEventListener(\"touchstart\", touchEvent);\n window.addEventListener(\"touchend\", touchEvent);\n window.addEventListener(\"touchmove\", touchEvent);\n }\n}\n\nfunction init(modelurl) {\n var width = canvas.width;\n var height = canvas.height;\n\n dragMgr = new _Live2DFramework.L2DTargetPoint();\n\n var ratio = height / width;\n var left = _LAppDefine2.default.VIEW_LOGICAL_LEFT;\n var right = _LAppDefine2.default.VIEW_LOGICAL_RIGHT;\n var bottom = -ratio;\n var top = ratio;\n\n viewMatrix = new _Live2DFramework.L2DViewMatrix();\n\n viewMatrix.setScreenRect(left, right, bottom, top);\n\n viewMatrix.setMaxScreenRect(_LAppDefine2.default.VIEW_LOGICAL_MAX_LEFT, _LAppDefine2.default.VIEW_LOGICAL_MAX_RIGHT, _LAppDefine2.default.VIEW_LOGICAL_MAX_BOTTOM, _LAppDefine2.default.VIEW_LOGICAL_MAX_TOP);\n\n viewMatrix.setMaxScale(_LAppDefine2.default.VIEW_MAX_SCALE);\n viewMatrix.setMinScale(_LAppDefine2.default.VIEW_MIN_SCALE);\n\n projMatrix = new _Live2DFramework.L2DMatrix44();\n projMatrix.multScale(1, width / height);\n\n deviceToScreen = new _Live2DFramework.L2DMatrix44();\n deviceToScreen.multTranslate(-width / 2.0, -height / 2.0);\n deviceToScreen.multScale(2 / width, -2 / width);\n\n gl = getWebGLContext();\n (0, _webglcontext.setContext)(gl);\n if (!gl) {\n console.error(\"Failed to create WebGL context.\");\n return;\n }\n window.Live2D.setGL(gl);\n gl.clearColor(0.0, 0.0, 0.0, 0.0);\n changeModel(modelurl);\n startDraw();\n}\n\nfunction startDraw() {\n if (!isDrawStart) {\n isDrawStart = true;\n (function tick() {\n draw();\n var requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;\n\n requestAnimationFrame(tick, canvas);\n })();\n }\n}\n\nfunction draw() {\n _MatrixStack2.default.reset();\n _MatrixStack2.default.loadIdentity();\n dragMgr.update();\n live2DMgr.setDrag(dragMgr.getX(), dragMgr.getY());\n\n gl.clear(gl.COLOR_BUFFER_BIT);\n\n _MatrixStack2.default.multMatrix(projMatrix.getArray());\n _MatrixStack2.default.multMatrix(viewMatrix.getArray());\n _MatrixStack2.default.push();\n\n for (var i = 0; i < live2DMgr.numModels(); i++) {\n var model = live2DMgr.getModel(i);\n\n if (model == null) return;\n\n if (model.initialized && !model.updating) {\n model.update();\n model.draw(gl);\n }\n }\n _MatrixStack2.default.pop();\n}\n\nfunction changeModel(modelurl) {\n live2DMgr.reloadFlg = true;\n live2DMgr.count++;\n live2DMgr.changeModel(gl, modelurl);\n}\n\nfunction modelScaling(scale) {\n var isMaxScale = viewMatrix.isMaxScale();\n var isMinScale = viewMatrix.isMinScale();\n\n viewMatrix.adjustScale(0, 0, scale);\n\n if (!isMaxScale) {\n if (viewMatrix.isMaxScale()) {\n live2DMgr.maxScaleEvent();\n }\n }\n\n if (!isMinScale) {\n if (viewMatrix.isMinScale()) {\n live2DMgr.minScaleEvent();\n }\n }\n}\n\nfunction transformRange(center, transform, range) {\n var a = {\n x: transform.x - center.x,\n y: transform.y - center.y\n };\n var r = Math.sqrt(Math.pow(a.x, 2) + Math.pow(a.y, 2));\n if (r > range) {\n a = {\n x: a.x / r * range + center.x,\n y: a.y / r * range + center.y\n };\n return a;\n } else {\n return transform;\n }\n}\n\nfunction dot(A, B) {\n return A.x * B.x + A.y * B.y;\n}\n\nfunction normalize(x, y) {\n var length = Math.sqrt(x * x + y * y);\n return {\n x: x / length,\n y: y / length\n };\n}\n\nfunction transformRect(center, transform, rect) {\n if (transform.x < rect.left + rect.width && transform.y < rect.top + rect.height && transform.x > rect.left && transform.y > rect.top) return transform;\n var Len_X = center.x - transform.x;\n var Len_Y = center.y - transform.y;\n\n function angle(Len_X, Len_Y) {\n return Math.acos(dot({\n x: 0,\n y: 1\n }, normalize(Len_X, Len_Y))) * 180 / Math.PI;\n }\n\n var angleTarget = angle(Len_X, Len_Y);\n if (transform.x < center.x) angleTarget = 360 - angleTarget;\n var angleLeftTop = 360 - angle(rect.left - center.x, (rect.top - center.y) * -1);\n var angleLeftBottom = 360 - angle(rect.left - center.x, (rect.top + rect.height - center.y) * -1);\n var angleRightTop = angle(rect.left + rect.width - center.x, (rect.top - center.y) * -1);\n var angleRightBottom = angle(rect.left + rect.width - center.x, (rect.top + rect.height - center.y) * -1);\n var scale = Len_Y / Len_X;\n var res = {};\n\n if (angleTarget < angleRightTop) {\n var y3 = rect.top - center.y;\n var x3 = y3 / scale;\n res = {\n y: center.y + y3,\n x: center.x + x3\n };\n } else if (angleTarget < angleRightBottom) {\n var _x = rect.left + rect.width - center.x;\n var _y = _x * scale;\n res = {\n y: center.y + _y,\n x: center.x + _x\n };\n } else if (angleTarget < angleLeftBottom) {\n var _y2 = rect.top + rect.height - center.y;\n var _x2 = _y2 / scale;\n res = {\n y: center.y + _y2,\n x: center.x + _x2\n };\n } else if (angleTarget < angleLeftTop) {\n var _x3 = center.x - rect.left;\n var _y3 = _x3 * scale;\n res = {\n y: center.y - _y3,\n x: center.x - _x3\n };\n } else {\n var _y4 = rect.top - center.y;\n var _x4 = _y4 / scale;\n res = {\n y: center.y + _y4,\n x: center.x + _x4\n };\n }\n\n return res;\n}\n\nfunction modelTurnHead(event) {\n drag = true;\n\n var rect = canvas.getBoundingClientRect();\n\n var sx = transformScreenX(event.clientX - rect.left);\n var sy = transformScreenY(event.clientY - rect.top);\n var target = transformRect({\n x: rect.left + rect.width / 2,\n y: rect.top + rect.height * head_pos\n }, {\n x: event.clientX,\n y: event.clientY\n }, rect);\n var vx = transformViewX(target.x - rect.left);\n var vy = transformViewY(target.y - rect.top);\n\n if (_LAppDefine2.default.DEBUG_MOUSE_LOG) console.log(\"onMouseDown device( x:\" + event.clientX + \" y:\" + event.clientY + \" ) view( x:\" + vx + \" y:\" + vy + \")\");\n\n lastMouseX = sx;\n lastMouseY = sy;\n\n dragMgr.setPoint(vx, vy);\n\n live2DMgr.tapEvent(vx, vy);\n}\n\nfunction followPointer(event) {\n var rect = canvas.getBoundingClientRect();\n\n var sx = transformScreenX(event.clientX - rect.left);\n var sy = transformScreenY(event.clientY - rect.top);\n var target = transformRect({\n x: rect.left + rect.width / 2,\n y: rect.top + rect.height * head_pos\n }, {\n x: event.clientX,\n y: event.clientY\n }, rect);\n var vx = transformViewX(target.x - rect.left);\n var vy = transformViewY(target.y - rect.top);\n\n if (_LAppDefine2.default.DEBUG_MOUSE_LOG) console.log(\"onMouseMove device( x:\" + event.clientX + \" y:\" + event.clientY + \" ) view( x:\" + vx + \" y:\" + vy + \")\");\n\n if (drag) {\n lastMouseX = sx;\n lastMouseY = sy;\n dragMgr.setPoint(vx, vy);\n }\n}\n\nfunction lookFront() {\n if (drag) {\n drag = false;\n }\n dragMgr.setPoint(0, 0);\n}\n\nfunction mouseEvent(e) {\n //e.preventDefault();\n if (e.type == \"mousewheel\") {\n // if (e.clientX < 0 || canvas.clientWidth < e.clientX || \n // e.clientY < 0 || canvas.clientHeight < e.clientY)\n // {\n // return;\n // }\n // if (e.wheelDelta > 0) modelScaling(1.1); \n // else modelScaling(0.9); \n } else if (e.type == \"mousedown\") {\n if (\"button\" in e && e.button != 0) return;\n // modelTurnHead(e);\n } else if (e.type == \"mousemove\") {\n modelTurnHead(e);\n } else if (e.type == \"mouseup\") {\n if (\"button\" in e && e.button != 0) return;\n // lookFront();\n } else if (e.type == \"mouseleave\") {\n lookFront();\n }\n}\n\nfunction touchEvent(e) {\n var touch = e.touches[0];\n if (e.type == \"touchstart\") {\n if (e.touches.length == 1) modelTurnHead(touch);\n // onClick(touch);\n } else if (e.type == \"touchmove\") {\n followPointer(touch);\n } else if (e.type == \"touchend\") {\n lookFront();\n }\n}\n\nfunction transformViewX(deviceX) {\n var screenX = deviceToScreen.transformX(deviceX);\n return viewMatrix.invertTransformX(screenX);\n}\n\nfunction transformViewY(deviceY) {\n var screenY = deviceToScreen.transformY(deviceY);\n return viewMatrix.invertTransformY(screenY);\n}\n\nfunction transformScreenX(deviceX) {\n return deviceToScreen.transformX(deviceX);\n}\n\nfunction transformScreenY(deviceY) {\n return deviceToScreen.transformY(deviceY);\n}\n\nfunction getWebGLContext() {\n var NAMES = [\"webgl\", \"experimental-webgl\", \"webkit-3d\", \"moz-webgl\"];\n for (var i = 0; i < NAMES.length; i++) {\n try {\n var ctx = canvas.getContext(NAMES[i], { premultipliedAlpha: true });\n if (ctx) return ctx;\n } catch (e) {}\n }\n return null;\n};\n\nfunction loadlive2d(id, modelurl, headPos) {\n head_pos = typeof headPos === 'undefined' ? 0.5 : headPos;\n initL2dCanvas(id);\n init(modelurl);\n}\n\nwindow.loadlive2d = loadlive2d;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = LAppLive2DManager;\n\nvar _Live2DFramework = __webpack_require__(0);\n\nvar _PlatformManager = __webpack_require__(7);\n\nvar _PlatformManager2 = _interopRequireDefault(_PlatformManager);\n\nvar _LAppModel = __webpack_require__(6);\n\nvar _LAppModel2 = _interopRequireDefault(_LAppModel);\n\nvar _LAppDefine = __webpack_require__(1);\n\nvar _LAppDefine2 = _interopRequireDefault(_LAppDefine);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction LAppLive2DManager() {\n // console.log(\"--> LAppLive2DManager()\");\n\n\n this.models = [];\n\n this.count = -1;\n this.reloadFlg = false;\n\n Live2D.init();\n _Live2DFramework.Live2DFramework.setPlatformManager(new _PlatformManager2.default());\n}\n\nLAppLive2DManager.prototype.createModel = function () {\n\n var model = new _LAppModel2.default();\n this.models.push(model);\n\n return model;\n};\n\nLAppLive2DManager.prototype.changeModel = function (gl, modelurl) {\n // console.log(\"--> LAppLive2DManager.update(gl)\");\n\n if (this.reloadFlg) {\n\n this.reloadFlg = false;\n\n var thisRef = this;\n this.releaseModel(0, gl);\n this.createModel();\n this.models[0].load(gl, modelurl);\n }\n};\n\nLAppLive2DManager.prototype.getModel = function (no) {\n // console.log(\"--> LAppLive2DManager.getModel(\" + no + \")\");\n\n if (no >= this.models.length) return null;\n\n return this.models[no];\n};\n\nLAppLive2DManager.prototype.releaseModel = function (no, gl) {\n // console.log(\"--> LAppLive2DManager.releaseModel(\" + no + \")\");\n\n if (this.models.length <= no) return;\n\n this.models[no].release(gl);\n\n delete this.models[no];\n this.models.splice(no, 1);\n};\n\nLAppLive2DManager.prototype.numModels = function () {\n return this.models.length;\n};\n\nLAppLive2DManager.prototype.setDrag = function (x, y) {\n for (var i = 0; i < this.models.length; i++) {\n this.models[i].setDrag(x, y);\n }\n};\n\nLAppLive2DManager.prototype.maxScaleEvent = function () {\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Max scale event.\");\n for (var i = 0; i < this.models.length; i++) {\n this.models[i].startRandomMotion(_LAppDefine2.default.MOTION_GROUP_PINCH_IN, _LAppDefine2.default.PRIORITY_NORMAL);\n }\n};\n\nLAppLive2DManager.prototype.minScaleEvent = function () {\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Min scale event.\");\n for (var i = 0; i < this.models.length; i++) {\n this.models[i].startRandomMotion(_LAppDefine2.default.MOTION_GROUP_PINCH_OUT, _LAppDefine2.default.PRIORITY_NORMAL);\n }\n};\n\nLAppLive2DManager.prototype.tapEvent = function (x, y) {\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"tapEvent view x:\" + x + \" y:\" + y);\n\n for (var i = 0; i < this.models.length; i++) {\n\n if (this.models[i].hitTest(_LAppDefine2.default.HIT_AREA_HEAD, x, y)) {\n\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Tap face.\");\n\n this.models[i].setRandomExpression();\n } else if (this.models[i].hitTest(_LAppDefine2.default.HIT_AREA_BODY, x, y)) {\n\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Tap body.\" + \" models[\" + i + \"]\");\n\n this.models[i].startRandomMotion(_LAppDefine2.default.MOTION_GROUP_TAP_BODY, _LAppDefine2.default.PRIORITY_NORMAL);\n }\n }\n\n return true;\n};\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = LAppModel;\n\nvar _Live2DFramework = __webpack_require__(0);\n\nvar _ModelSettingJson = __webpack_require__(8);\n\nvar _ModelSettingJson2 = _interopRequireDefault(_ModelSettingJson);\n\nvar _LAppDefine = __webpack_require__(1);\n\nvar _LAppDefine2 = _interopRequireDefault(_LAppDefine);\n\nvar _MatrixStack = __webpack_require__(2);\n\nvar _MatrixStack2 = _interopRequireDefault(_MatrixStack);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n//============================================================\n//============================================================\n// class LAppModel extends L2DBaseModel \n//============================================================\n//============================================================\nfunction LAppModel() {\n //L2DBaseModel.apply(this, arguments);\n _Live2DFramework.L2DBaseModel.prototype.constructor.call(this);\n\n this.modelHomeDir = \"\";\n this.modelSetting = null;\n this.tmpMatrix = [];\n}\n\nLAppModel.prototype = new _Live2DFramework.L2DBaseModel();\n\nLAppModel.prototype.load = function (gl, modelSettingPath, callback) {\n this.setUpdating(true);\n this.setInitialized(false);\n\n this.modelHomeDir = modelSettingPath.substring(0, modelSettingPath.lastIndexOf(\"/\") + 1);\n\n this.modelSetting = new _ModelSettingJson2.default();\n\n var thisRef = this;\n\n this.modelSetting.loadModelSetting(modelSettingPath, function () {\n\n var path = thisRef.modelHomeDir + thisRef.modelSetting.getModelFile();\n thisRef.loadModelData(path, function (model) {\n\n for (var i = 0; i < thisRef.modelSetting.getTextureNum(); i++) {\n\n var texPaths = thisRef.modelHomeDir + thisRef.modelSetting.getTextureFile(i);\n\n thisRef.loadTexture(i, texPaths, function () {\n\n if (thisRef.isTexLoaded) {\n\n if (thisRef.modelSetting.getExpressionNum() > 0) {\n\n thisRef.expressions = {};\n\n for (var j = 0; j < thisRef.modelSetting.getExpressionNum(); j++) {\n var expName = thisRef.modelSetting.getExpressionName(j);\n var expFilePath = thisRef.modelHomeDir + thisRef.modelSetting.getExpressionFile(j);\n\n thisRef.loadExpression(expName, expFilePath);\n }\n } else {\n thisRef.expressionManager = null;\n thisRef.expressions = {};\n }\n\n if (thisRef.eyeBlink == null) {\n thisRef.eyeBlink = new _Live2DFramework.L2DEyeBlink();\n }\n\n if (thisRef.modelSetting.getPhysicsFile() != null) {\n thisRef.loadPhysics(thisRef.modelHomeDir + thisRef.modelSetting.getPhysicsFile());\n } else {\n thisRef.physics = null;\n }\n\n if (thisRef.modelSetting.getPoseFile() != null) {\n thisRef.loadPose(thisRef.modelHomeDir + thisRef.modelSetting.getPoseFile(), function () {\n thisRef.pose.updateParam(thisRef.live2DModel);\n });\n } else {\n thisRef.pose = null;\n }\n\n if (thisRef.modelSetting.getLayout() != null) {\n var layout = thisRef.modelSetting.getLayout();\n if (layout[\"width\"] != null) thisRef.modelMatrix.setWidth(layout[\"width\"]);\n if (layout[\"height\"] != null) thisRef.modelMatrix.setHeight(layout[\"height\"]);\n\n if (layout[\"x\"] != null) thisRef.modelMatrix.setX(layout[\"x\"]);\n if (layout[\"y\"] != null) thisRef.modelMatrix.setY(layout[\"y\"]);\n if (layout[\"center_x\"] != null) thisRef.modelMatrix.centerX(layout[\"center_x\"]);\n if (layout[\"center_y\"] != null) thisRef.modelMatrix.centerY(layout[\"center_y\"]);\n if (layout[\"top\"] != null) thisRef.modelMatrix.top(layout[\"top\"]);\n if (layout[\"bottom\"] != null) thisRef.modelMatrix.bottom(layout[\"bottom\"]);\n if (layout[\"left\"] != null) thisRef.modelMatrix.left(layout[\"left\"]);\n if (layout[\"right\"] != null) thisRef.modelMatrix.right(layout[\"right\"]);\n }\n\n for (var j = 0; j < thisRef.modelSetting.getInitParamNum(); j++) {\n\n thisRef.live2DModel.setParamFloat(thisRef.modelSetting.getInitParamID(j), thisRef.modelSetting.getInitParamValue(j));\n }\n\n for (var j = 0; j < thisRef.modelSetting.getInitPartsVisibleNum(); j++) {\n\n thisRef.live2DModel.setPartsOpacity(thisRef.modelSetting.getInitPartsVisibleID(j), thisRef.modelSetting.getInitPartsVisibleValue(j));\n }\n\n thisRef.live2DModel.saveParam();\n // thisRef.live2DModel.setGL(gl);\n\n\n thisRef.preloadMotionGroup(_LAppDefine2.default.MOTION_GROUP_IDLE);\n thisRef.mainMotionManager.stopAllMotions();\n\n thisRef.setUpdating(false);\n thisRef.setInitialized(true);\n\n if (typeof callback == \"function\") callback();\n }\n });\n }\n });\n });\n};\n\nLAppModel.prototype.release = function (gl) {\n // this.live2DModel.deleteTextures();\n var pm = Live2DFramework.getPlatformManager();\n\n gl.deleteTexture(pm.texture);\n};\n\nLAppModel.prototype.preloadMotionGroup = function (name) {\n var thisRef = this;\n\n for (var i = 0; i < this.modelSetting.getMotionNum(name); i++) {\n var file = this.modelSetting.getMotionFile(name, i);\n this.loadMotion(file, this.modelHomeDir + file, function (motion) {\n motion.setFadeIn(thisRef.modelSetting.getMotionFadeIn(name, i));\n motion.setFadeOut(thisRef.modelSetting.getMotionFadeOut(name, i));\n });\n }\n};\n\nLAppModel.prototype.update = function () {\n // console.log(\"--> LAppModel.update()\");\n\n if (this.live2DModel == null) {\n if (_LAppDefine2.default.DEBUG_LOG) console.error(\"Failed to update.\");\n\n return;\n }\n\n var timeMSec = UtSystem.getUserTimeMSec() - this.startTimeMSec;\n var timeSec = timeMSec / 1000.0;\n var t = timeSec * 2 * Math.PI;\n\n if (this.mainMotionManager.isFinished()) {\n\n this.startRandomMotion(_LAppDefine2.default.MOTION_GROUP_IDLE, _LAppDefine2.default.PRIORITY_IDLE);\n }\n\n //-----------------------------------------------------------------\t\t\n\n\n this.live2DModel.loadParam();\n\n var update = this.mainMotionManager.updateParam(this.live2DModel);\n if (!update) {\n\n if (this.eyeBlink != null) {\n this.eyeBlink.updateParam(this.live2DModel);\n }\n }\n\n this.live2DModel.saveParam();\n\n //-----------------------------------------------------------------\t\t\n\n\n if (this.expressionManager != null && this.expressions != null && !this.expressionManager.isFinished()) {\n this.expressionManager.updateParam(this.live2DModel);\n }\n\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_X\", this.dragX * 30, 1);\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_Y\", this.dragY * 30, 1);\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_Z\", this.dragX * this.dragY * -30, 1);\n\n this.live2DModel.addToParamFloat(\"PARAM_BODY_ANGLE_X\", this.dragX * 10, 1);\n\n this.live2DModel.addToParamFloat(\"PARAM_EYE_BALL_X\", this.dragX, 1);\n this.live2DModel.addToParamFloat(\"PARAM_EYE_BALL_Y\", this.dragY, 1);\n\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_X\", Number(15 * Math.sin(t / 6.5345)), 0.5);\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_Y\", Number(8 * Math.sin(t / 3.5345)), 0.5);\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_Z\", Number(10 * Math.sin(t / 5.5345)), 0.5);\n this.live2DModel.addToParamFloat(\"PARAM_BODY_ANGLE_X\", Number(4 * Math.sin(t / 15.5345)), 0.5);\n this.live2DModel.setParamFloat(\"PARAM_BREATH\", Number(0.5 + 0.5 * Math.sin(t / 3.2345)), 1);\n\n if (this.physics != null) {\n this.physics.updateParam(this.live2DModel);\n }\n\n if (this.lipSync == null) {\n this.live2DModel.setParamFloat(\"PARAM_MOUTH_OPEN_Y\", this.lipSyncValue);\n }\n\n if (this.pose != null) {\n this.pose.updateParam(this.live2DModel);\n }\n\n this.live2DModel.update();\n};\n\nLAppModel.prototype.setRandomExpression = function () {\n var tmp = [];\n for (var name in this.expressions) {\n tmp.push(name);\n }\n\n var no = parseInt(Math.random() * tmp.length);\n\n this.setExpression(tmp[no]);\n};\n\nLAppModel.prototype.startRandomMotion = function (name, priority) {\n var max = this.modelSetting.getMotionNum(name);\n var no = parseInt(Math.random() * max);\n this.startMotion(name, no, priority);\n};\n\nLAppModel.prototype.startMotion = function (name, no, priority) {\n // console.log(\"startMotion : \" + name + \" \" + no + \" \" + priority);\n\n var motionName = this.modelSetting.getMotionFile(name, no);\n\n if (motionName == null || motionName == \"\") {\n if (_LAppDefine2.default.DEBUG_LOG) console.error(\"Failed to motion.\");\n return;\n }\n\n if (priority == _LAppDefine2.default.PRIORITY_FORCE) {\n this.mainMotionManager.setReservePriority(priority);\n } else if (!this.mainMotionManager.reserveMotion(priority)) {\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Motion is running.\");\n return;\n }\n\n var thisRef = this;\n var motion;\n\n if (this.motions[name] == null) {\n this.loadMotion(null, this.modelHomeDir + motionName, function (mtn) {\n motion = mtn;\n\n thisRef.setFadeInFadeOut(name, no, priority, motion);\n });\n } else {\n motion = this.motions[name];\n\n thisRef.setFadeInFadeOut(name, no, priority, motion);\n }\n};\n\nLAppModel.prototype.setFadeInFadeOut = function (name, no, priority, motion) {\n var motionName = this.modelSetting.getMotionFile(name, no);\n\n motion.setFadeIn(this.modelSetting.getMotionFadeIn(name, no));\n motion.setFadeOut(this.modelSetting.getMotionFadeOut(name, no));\n\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Start motion : \" + motionName);\n\n if (this.modelSetting.getMotionSound(name, no) == null) {\n this.mainMotionManager.startMotionPrio(motion, priority);\n } else {\n var soundName = this.modelSetting.getMotionSound(name, no);\n // var player = new Sound(this.modelHomeDir + soundName);\n\n var snd = document.createElement(\"audio\");\n snd.src = this.modelHomeDir + soundName;\n\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Start sound : \" + soundName);\n\n snd.play();\n this.mainMotionManager.startMotionPrio(motion, priority);\n }\n};\n\nLAppModel.prototype.setExpression = function (name) {\n var motion = this.expressions[name];\n\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Expression : \" + name);\n\n this.expressionManager.startMotion(motion, false);\n};\n\nLAppModel.prototype.draw = function (gl) {\n //console.log(\"--> LAppModel.draw()\");\n\n // if(this.live2DModel == null) return;\n\n\n _MatrixStack2.default.push();\n\n _MatrixStack2.default.multMatrix(this.modelMatrix.getArray());\n\n this.tmpMatrix = _MatrixStack2.default.getMatrix();\n this.live2DModel.setMatrix(this.tmpMatrix);\n this.live2DModel.draw();\n\n _MatrixStack2.default.pop();\n};\n\nLAppModel.prototype.hitTest = function (id, testX, testY) {\n var len = this.modelSetting.getHitAreaNum();\n for (var i = 0; i < len; i++) {\n if (id == this.modelSetting.getHitAreaName(i)) {\n var drawID = this.modelSetting.getHitAreaID(i);\n\n return this.hitTestSimple(drawID, testX, testY);\n }\n }\n\n return false;\n};\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = PlatformManager;\n\nvar _webglcontext = __webpack_require__(3);\n\n//============================================================\n//============================================================\n// class PlatformManager extend IPlatformManager\n//============================================================\n//============================================================\nfunction PlatformManager() {}\n\n//============================================================\n// PlatformManager # loadBytes()\n//============================================================\n/**\n *\n * You can modify and use this source freely\n * only for the development of application related Live2D.\n *\n * (c) Live2D Inc. All rights reserved.\n */\nPlatformManager.prototype.loadBytes = function (path /*String*/, callback) {\n var request = new XMLHttpRequest();\n request.open(\"GET\", path, true);\n request.responseType = \"arraybuffer\";\n request.onload = function () {\n switch (request.status) {\n case 200:\n callback(request.response);\n break;\n default:\n console.error(\"Failed to load (\" + request.status + \") : \" + path);\n break;\n }\n };\n request.send(null);\n //return request;\n};\n\n//============================================================\n// PlatformManager # loadString()\n//============================================================\nPlatformManager.prototype.loadString = function (path /*String*/) {\n\n this.loadBytes(path, function (buf) {\n return buf;\n });\n};\n\n//============================================================\n// PlatformManager # loadLive2DModel()\n//============================================================\nPlatformManager.prototype.loadLive2DModel = function (path /*String*/, callback) {\n var model = null;\n\n // load moc\n this.loadBytes(path, function (buf) {\n model = Live2DModelWebGL.loadModel(buf);\n callback(model);\n });\n};\n\n//============================================================\n// PlatformManager # loadTexture()\n//============================================================\nPlatformManager.prototype.loadTexture = function (model /*ALive2DModel*/, no /*int*/, path /*String*/, callback) {\n // load textures\n var loadedImage = new Image();\n loadedImage.src = path;\n\n var thisRef = this;\n loadedImage.onload = function () {\n // create texture\n var gl = (0, _webglcontext.getContext)();\n var texture = gl.createTexture();\n if (!texture) {\n console.error(\"Failed to generate gl texture name.\");return -1;\n }\n\n if (model.isPremultipliedAlpha() == false) {\n // 乗算済アルファテクスチャ以外の場合\n gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 1);\n }\n gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, 1);\n gl.activeTexture(gl.TEXTURE0);\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, loadedImage);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_NEAREST);\n gl.generateMipmap(gl.TEXTURE_2D);\n\n model.setTexture(no, texture);\n\n // テクスチャオブジェクトを解放\n texture = null;\n\n if (typeof callback == \"function\") callback();\n };\n\n loadedImage.onerror = function () {\n console.error(\"Failed to load image : \" + path);\n };\n};\n\n//============================================================\n// PlatformManager # parseFromBytes(buf)\n\n//============================================================\nPlatformManager.prototype.jsonParseFromBytes = function (buf) {\n\n var jsonStr;\n\n var bomCode = new Uint8Array(buf, 0, 3);\n if (bomCode[0] == 239 && bomCode[1] == 187 && bomCode[2] == 191) {\n jsonStr = String.fromCharCode.apply(null, new Uint8Array(buf, 3));\n } else {\n jsonStr = String.fromCharCode.apply(null, new Uint8Array(buf));\n }\n\n var jsonObj = JSON.parse(jsonStr);\n\n return jsonObj;\n};\n\n//============================================================\n// PlatformManager # log()\n//============================================================\nPlatformManager.prototype.log = function (txt /*String*/) {\n //console.log(txt);\n};\n\nfunction getWebGLContext(canvas) {\n var NAMES = [\"webgl\", \"experimental-webgl\", \"webkit-3d\", \"moz-webgl\"];\n for (var i = 0; i < NAMES.length; i++) {\n try {\n var ctx = canvas.getContext(NAMES[i], { premultipliedAlpha: true });\n if (ctx) return ctx;\n } catch (e) {}\n }\n return null;\n};\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ModelSettingJson;\n\nvar _Live2DFramework = __webpack_require__(0);\n\nfunction ModelSettingJson() {\n this.NAME = \"name\";\n this.ID = \"id\";\n this.MODEL = \"model\";\n this.TEXTURES = \"textures\";\n this.HIT_AREAS = \"hit_areas\";\n this.PHYSICS = \"physics\";\n this.POSE = \"pose\";\n this.EXPRESSIONS = \"expressions\";\n this.MOTION_GROUPS = \"motions\";\n this.SOUND = \"sound\";\n this.FADE_IN = \"fade_in\";\n this.FADE_OUT = \"fade_out\";\n this.LAYOUT = \"layout\";\n this.INIT_PARAM = \"init_param\";\n this.INIT_PARTS_VISIBLE = \"init_parts_visible\";\n this.VALUE = \"val\";\n this.FILE = \"file\";\n\n this.json = {};\n}\n\nModelSettingJson.prototype.loadModelSetting = function (path, callback) {\n var thisRef = this;\n var pm = _Live2DFramework.Live2DFramework.getPlatformManager();\n pm.loadBytes(path, function (buf) {\n var str = String.fromCharCode.apply(null, new Uint8Array(buf));\n thisRef.json = JSON.parse(str);\n callback();\n });\n};\n\nModelSettingJson.prototype.getTextureFile = function (n) {\n if (this.json[this.TEXTURES] == null || this.json[this.TEXTURES][n] == null) return null;\n\n return this.json[this.TEXTURES][n];\n};\n\nModelSettingJson.prototype.getModelFile = function () {\n return this.json[this.MODEL];\n};\n\nModelSettingJson.prototype.getTextureNum = function () {\n if (this.json[this.TEXTURES] == null) return 0;\n\n return this.json[this.TEXTURES].length;\n};\n\nModelSettingJson.prototype.getHitAreaNum = function () {\n if (this.json[this.HIT_AREAS] == null) return 0;\n\n return this.json[this.HIT_AREAS].length;\n};\n\nModelSettingJson.prototype.getHitAreaID = function (n) {\n if (this.json[this.HIT_AREAS] == null || this.json[this.HIT_AREAS][n] == null) return null;\n\n return this.json[this.HIT_AREAS][n][this.ID];\n};\n\nModelSettingJson.prototype.getHitAreaName = function (n) {\n if (this.json[this.HIT_AREAS] == null || this.json[this.HIT_AREAS][n] == null) return null;\n\n return this.json[this.HIT_AREAS][n][this.NAME];\n};\n\nModelSettingJson.prototype.getPhysicsFile = function () {\n return this.json[this.PHYSICS];\n};\n\nModelSettingJson.prototype.getPoseFile = function () {\n return this.json[this.POSE];\n};\n\nModelSettingJson.prototype.getExpressionNum = function () {\n return this.json[this.EXPRESSIONS] == null ? 0 : this.json[this.EXPRESSIONS].length;\n};\n\nModelSettingJson.prototype.getExpressionFile = function (n) {\n if (this.json[this.EXPRESSIONS] == null) return null;\n return this.json[this.EXPRESSIONS][n][this.FILE];\n};\n\nModelSettingJson.prototype.getExpressionName = function (n) {\n if (this.json[this.EXPRESSIONS] == null) return null;\n return this.json[this.EXPRESSIONS][n][this.NAME];\n};\n\nModelSettingJson.prototype.getLayout = function () {\n return this.json[this.LAYOUT];\n};\n\nModelSettingJson.prototype.getInitParamNum = function () {\n return this.json[this.INIT_PARAM] == null ? 0 : this.json[this.INIT_PARAM].length;\n};\n\nModelSettingJson.prototype.getMotionNum = function (name) {\n if (this.json[this.MOTION_GROUPS] == null || this.json[this.MOTION_GROUPS][name] == null) return 0;\n\n return this.json[this.MOTION_GROUPS][name].length;\n};\n\nModelSettingJson.prototype.getMotionFile = function (name, n) {\n if (this.json[this.MOTION_GROUPS] == null || this.json[this.MOTION_GROUPS][name] == null || this.json[this.MOTION_GROUPS][name][n] == null) return null;\n\n return this.json[this.MOTION_GROUPS][name][n][this.FILE];\n};\n\nModelSettingJson.prototype.getMotionSound = function (name, n) {\n if (this.json[this.MOTION_GROUPS] == null || this.json[this.MOTION_GROUPS][name] == null || this.json[this.MOTION_GROUPS][name][n] == null || this.json[this.MOTION_GROUPS][name][n][this.SOUND] == null) return null;\n\n return this.json[this.MOTION_GROUPS][name][n][this.SOUND];\n};\n\nModelSettingJson.prototype.getMotionFadeIn = function (name, n) {\n if (this.json[this.MOTION_GROUPS] == null || this.json[this.MOTION_GROUPS][name] == null || this.json[this.MOTION_GROUPS][name][n] == null || this.json[this.MOTION_GROUPS][name][n][this.FADE_IN] == null) return 1000;\n\n return this.json[this.MOTION_GROUPS][name][n][this.FADE_IN];\n};\n\nModelSettingJson.prototype.getMotionFadeOut = function (name, n) {\n if (this.json[this.MOTION_GROUPS] == null || this.json[this.MOTION_GROUPS][name] == null || this.json[this.MOTION_GROUPS][name][n] == null || this.json[this.MOTION_GROUPS][name][n][this.FADE_OUT] == null) return 1000;\n\n return this.json[this.MOTION_GROUPS][name][n][this.FADE_OUT];\n};\n\nModelSettingJson.prototype.getInitParamID = function (n) {\n if (this.json[this.INIT_PARAM] == null || this.json[this.INIT_PARAM][n] == null) return null;\n\n return this.json[this.INIT_PARAM][n][this.ID];\n};\n\nModelSettingJson.prototype.getInitParamValue = function (n) {\n if (this.json[this.INIT_PARAM] == null || this.json[this.INIT_PARAM][n] == null) return NaN;\n\n return this.json[this.INIT_PARAM][n][this.VALUE];\n};\n\nModelSettingJson.prototype.getInitPartsVisibleNum = function () {\n return this.json[this.INIT_PARTS_VISIBLE] == null ? 0 : this.json[this.INIT_PARTS_VISIBLE].length;\n};\n\nModelSettingJson.prototype.getInitPartsVisibleID = function (n) {\n if (this.json[this.INIT_PARTS_VISIBLE] == null || this.json[this.INIT_PARTS_VISIBLE][n] == null) return null;\n return this.json[this.INIT_PARTS_VISIBLE][n][this.ID];\n};\n\nModelSettingJson.prototype.getInitPartsVisibleValue = function (n) {\n if (this.json[this.INIT_PARTS_VISIBLE] == null || this.json[this.INIT_PARTS_VISIBLE][n] == null) return NaN;\n\n return this.json[this.INIT_PARTS_VISIBLE][n][this.VALUE];\n};\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(System) {\n\n(function () {\n var j = true;function aa() {\n if (j) {\n return;\n }this._$MT = null;this._$5S = null;this._$NP = 0;aa._$42++;this._$5S = new y(this);\n }aa._$0s = 1;aa._$4s = 2;aa._$42 = 0;aa._$62 = function (aQ, aU) {\n try {\n if (aU instanceof ArrayBuffer) {\n aU = new DataView(aU);\n }if (!(aU instanceof DataView)) {\n throw new J(\"_$SS#loadModel(b) / b _$x be DataView or ArrayBuffer\");\n }var aS = new K(aU);var aM = aS._$ST();var aK = aS._$ST();var aJ = aS._$ST();var aN;if (aM == 109 && aK == 111 && aJ == 99) {\n aN = aS._$ST();\n } else {\n throw new J(\"_$gi _$C _$li , _$Q0 _$P0.\");\n }aS._$gr(aN);if (aN > ay._$T7) {\n aQ._$NP |= aa._$4s;var aR = ay._$T7;var aI = \"_$gi _$C _$li , _$n0 _$_ version _$li ( SDK : \" + aR + \" < _$f0 : \" + aN + \" )@_$SS#loadModel()\\n\";throw new J(aI);\n }var aL = aS._$nP();if (aN >= ay._$s7) {\n var aH = aS._$9T();var aT = aS._$9T();if (aH != -30584 || aT != -30584) {\n aQ._$NP |= aa._$0s;throw new J(\"_$gi _$C _$li , _$0 _$6 _$Ui.\");\n }\n }aQ._$KS(aL);var aP = aQ.getModelContext();aP.setDrawParam(aQ.getDrawParam());aP.init();\n } catch (aO) {\n q._$Rb(aO);\n }\n };aa.prototype._$KS = function (aH) {\n this._$MT = aH;\n };aa.prototype.getModelImpl = function () {\n if (this._$MT == null) {\n this._$MT = new w();this._$MT._$zP();\n }return this._$MT;\n };aa.prototype.getCanvasWidth = function () {\n if (this._$MT == null) {\n return 0;\n }return this._$MT.getCanvasWidth();\n };aa.prototype.getCanvasHeight = function () {\n if (this._$MT == null) {\n return 0;\n }return this._$MT.getCanvasHeight();\n };aa.prototype.getParamFloat = function (aH) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getParamIndex(z.getID(aH));\n }return this._$5S.getParamFloat(aH);\n };aa.prototype.setParamFloat = function (aH, aJ, aI) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getParamIndex(z.getID(aH));\n }if (arguments.length < 3) {\n aI = 1;\n }this._$5S.setParamFloat(aH, this._$5S.getParamFloat(aH) * (1 - aI) + aJ * aI);\n };aa.prototype.addToParamFloat = function (aH, aJ, aI) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getParamIndex(z.getID(aH));\n }if (arguments.length < 3) {\n aI = 1;\n }this._$5S.setParamFloat(aH, this._$5S.getParamFloat(aH) + aJ * aI);\n };aa.prototype.multParamFloat = function (aH, aJ, aI) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getParamIndex(z.getID(aH));\n }if (arguments.length < 3) {\n aI = 1;\n }this._$5S.setParamFloat(aH, this._$5S.getParamFloat(aH) * (1 + (aJ - 1) * aI));\n };aa.prototype.getParamIndex = function (aH) {\n return this._$5S.getParamIndex(z.getID(aH));\n };aa.prototype.loadParam = function () {\n this._$5S.loadParam();\n };aa.prototype.saveParam = function () {\n this._$5S.saveParam();\n };aa.prototype.init = function () {\n this._$5S.init();\n };aa.prototype.update = function () {\n this._$5S.update();\n };aa.prototype._$Rs = function () {\n q._$li(\"_$60 _$PT _$Rs()\");return -1;\n };aa.prototype._$Ds = function (aH) {\n q._$li(\"_$60 _$PT _$SS#_$Ds() \\n\");\n };aa.prototype._$K2 = function () {};aa.prototype.draw = function () {};aa.prototype.getModelContext = function () {\n return this._$5S;\n };aa.prototype._$s2 = function () {\n return this._$NP;\n };aa.prototype._$P7 = function (aK, aR, aH, a0) {\n var aU = -1;var aY = 0;var aM = this;var aJ = 0.5;var aI = 0.15;var aX = true;if (aH == 0) {\n for (var aV = 0; aV < aK.length; aV++) {\n var aP = aK[aV];var aO = aR[aV];var aS = aM.getParamFloat(aP) != 0;aM.setPartsOpacity(aO, aS ? 1 : 0);\n }return;\n } else {\n if (aK.length == 1) {\n var aP = aK[0];var aT = aM.getParamFloat(aP) != 0;var aO = aR[0];var aQ = aM.getPartsOpacity(aO);var aW = aH / a0;if (aT) {\n aQ += aW;if (aQ > 1) {\n aQ = 1;\n }\n } else {\n aQ -= aW;if (aQ < 0) {\n aQ = 0;\n }\n }aM.setPartsOpacity(aO, aQ);\n } else {\n for (var aV = 0; aV < aK.length; aV++) {\n var aP = aK[aV];var aS = aM.getParamFloat(aP) != 0;if (aS) {\n if (aU >= 0) {\n break;\n }aU = aV;var aO = aR[aV];aY = aM.getPartsOpacity(aO);aY += aH / a0;if (aY > 1) {\n aY = 1;\n }\n }\n }if (aU < 0) {\n console.log(\"No _$wi _$q0/ _$U default[%s]\", aK[0]);aU = 0;aY = 1;aM.loadParam();aM.setParamFloat(aK[aU], aY);aM.saveParam();\n }for (var aV = 0; aV < aK.length; aV++) {\n var aO = aR[aV];if (aU == aV) {\n aM.setPartsOpacity(aO, aY);\n } else {\n var aL = aM.getPartsOpacity(aO);var aZ;if (aY < aJ) {\n aZ = aY * (aJ - 1) / aJ + 1;\n } else {\n aZ = (1 - aY) * aJ / (1 - aJ);\n }if (aX) {\n var aN = (1 - aZ) * (1 - aY);if (aN > aI) {\n aZ = 1 - aI / (1 - aY);\n }\n }if (aL > aZ) {\n aL = aZ;\n }aM.setPartsOpacity(aO, aL);\n }\n }\n }\n }\n };aa.prototype.setPartsOpacity = function (aI, aH) {\n if (typeof aI != \"number\") {\n aI = this._$5S.getPartsDataIndex(i.getID(aI));\n }this._$5S.setPartsOpacity(aI, aH);\n };aa.prototype.getPartsDataIndex = function (aH) {\n if (!(aH instanceof i)) {\n aH = i.getID(aH);\n }return this._$5S.getPartsDataIndex(aH);\n };aa.prototype.getPartsOpacity = function (aH) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getPartsDataIndex(i.getID(aH));\n }if (aH < 0) {\n return 0;\n }return this._$5S.getPartsOpacity(aH);\n };aa.prototype.getDrawParam = function () {};aa.prototype.getDrawDataIndex = function (aH) {\n return this._$5S.getDrawDataIndex(Z.getID(aH));\n };aa.prototype.getDrawData = function (aH) {\n return this._$5S.getDrawData(aH);\n };aa.prototype.getTransformedPoints = function (aH) {\n var aI = this._$5S._$C2(aH);if (aI instanceof ag) {\n return aI.getTransformedPoints();\n }return null;\n };aa.prototype.getIndexArray = function (aI) {\n if (aI < 0 || aI >= this._$5S._$aS.length) {\n return null;\n }var aH = this._$5S._$aS[aI];if (aH != null && aH.getType() == a._$wb) {\n if (aH instanceof b) {\n return aH.getIndexArray();\n }\n }return null;\n };function W(aJ) {\n if (j) {\n return;\n }this.clipContextList = new Array();this.glcontext = aJ.gl;this.dp_webgl = aJ;this.curFrameNo = 0;this.firstError_clipInNotUpdate = true;this.colorBuffer = 0;this.isInitGLFBFunc = false;this.tmpBoundsOnModel = new av();if (Q.glContext.length > Q.frameBuffers.length) {\n this.curFrameNo = this.getMaskRenderTexture();\n } else {}this.tmpModelToViewMatrix = new ac();this.tmpMatrix2 = new ac();this.tmpMatrixForMask = new ac();this.tmpMatrixForDraw = new ac();this.CHANNEL_COLORS = new Array();var aI = new o();aI = new o();aI.r = 0;aI.g = 0;aI.b = 0;aI.a = 1;this.CHANNEL_COLORS.push(aI);aI = new o();aI.r = 1;aI.g = 0;aI.b = 0;aI.a = 0;this.CHANNEL_COLORS.push(aI);aI = new o();aI.r = 0;aI.g = 1;aI.b = 0;aI.a = 0;this.CHANNEL_COLORS.push(aI);aI = new o();aI.r = 0;aI.g = 0;aI.b = 1;aI.a = 0;this.CHANNEL_COLORS.push(aI);for (var aH = 0; aH < this.CHANNEL_COLORS.length; aH++) {\n this.dp_webgl.setChannelFlagAsColor(aH, this.CHANNEL_COLORS[aH]);\n }\n }W.CHANNEL_COUNT = 4;W.RENDER_TEXTURE_USE_MIPMAP = false;W.NOT_USED_FRAME = -100;W.prototype._$L7 = function () {\n if (this.tmpModelToViewMatrix) {\n this.tmpModelToViewMatrix = null;\n }if (this.tmpMatrix2) {\n this.tmpMatrix2 = null;\n }if (this.tmpMatrixForMask) {\n this.tmpMatrixForMask = null;\n }if (this.tmpMatrixForDraw) {\n this.tmpMatrixForDraw = null;\n }if (this.tmpBoundsOnModel) {\n this.tmpBoundsOnModel = null;\n }if (this.CHANNEL_COLORS) {\n for (var aH = this.CHANNEL_COLORS.length - 1; aH >= 0; --aH) {\n this.CHANNEL_COLORS.splice(aH, 1);\n }this.CHANNEL_COLORS = [];\n }this.releaseShader();\n };W.prototype.releaseShader = function () {\n var aI = Q.frameBuffers.length;for (var aH = 0; aH < aI; aH++) {\n this.gl.deleteFramebuffer(Q.frameBuffers[aH].framebuffer);\n }Q.frameBuffers = [];Q.glContext = [];\n };W.prototype.init = function (aO, aN, aL) {\n for (var aM = 0; aM < aN.length; aM++) {\n var aH = aN[aM].getClipIDList();if (aH == null) {\n continue;\n }var aJ = this.findSameClip(aH);if (aJ == null) {\n aJ = new U(this, aO, aH);this.clipContextList.push(aJ);\n }var aI = aN[aM].getDrawDataID();var aK = aO.getDrawDataIndex(aI);aJ.addClippedDrawData(aI, aK);var aP = aL[aM];aP.clipBufPre_clipContext = aJ;\n }\n };W.prototype.getMaskRenderTexture = function () {\n var aH = null;aH = this.dp_webgl.createFramebuffer();Q.frameBuffers[this.dp_webgl.glno] = aH;return this.dp_webgl.glno;\n };W.prototype.setupClip = function (a1, aQ) {\n var aK = 0;for (var aO = 0; aO < this.clipContextList.length; aO++) {\n var aP = this.clipContextList[aO];this.calcClippedDrawTotalBounds(a1, aP);if (aP.isUsing) {\n aK++;\n }\n }if (aK > 0) {\n var aM = aQ.gl.getParameter(aQ.gl.FRAMEBUFFER_BINDING);var aW = new Array(4);aW[0] = 0;aW[1] = 0;aW[2] = aQ.gl.canvas.width;aW[3] = aQ.gl.canvas.height;aQ.gl.viewport(0, 0, Q.clippingMaskBufferSize, Q.clippingMaskBufferSize);this.setupLayoutBounds(aK);aQ.gl.bindFramebuffer(aQ.gl.FRAMEBUFFER, Q.frameBuffers[this.curFrameNo].framebuffer);aQ.gl.clearColor(0, 0, 0, 0);aQ.gl.clear(aQ.gl.COLOR_BUFFER_BIT);for (var aO = 0; aO < this.clipContextList.length; aO++) {\n var aP = this.clipContextList[aO];var aT = aP.allClippedDrawRect;var aN = aP.layoutChannelNo;var aV = aP.layoutBounds;var aJ = 0.05;this.tmpBoundsOnModel._$jL(aT);this.tmpBoundsOnModel.expand(aT.width * aJ, aT.height * aJ);var aZ = aV.width / this.tmpBoundsOnModel.width;var aY = aV.height / this.tmpBoundsOnModel.height;this.tmpMatrix2.identity();this.tmpMatrix2.translate(-1, -1, 0);this.tmpMatrix2.scale(2, 2, 1);this.tmpMatrix2.translate(aV.x, aV.y, 0);this.tmpMatrix2.scale(aZ, aY, 1);this.tmpMatrix2.translate(-this.tmpBoundsOnModel.x, -this.tmpBoundsOnModel.y, 0);this.tmpMatrixForMask.setMatrix(this.tmpMatrix2.m);this.tmpMatrix2.identity();this.tmpMatrix2.translate(aV.x, aV.y, 0);this.tmpMatrix2.scale(aZ, aY, 1);this.tmpMatrix2.translate(-this.tmpBoundsOnModel.x, -this.tmpBoundsOnModel.y, 0);this.tmpMatrixForDraw.setMatrix(this.tmpMatrix2.m);var aH = this.tmpMatrixForMask.getArray();for (var aX = 0; aX < 16; aX++) {\n aP.matrixForMask[aX] = aH[aX];\n }var a0 = this.tmpMatrixForDraw.getArray();for (var aX = 0; aX < 16; aX++) {\n aP.matrixForDraw[aX] = a0[aX];\n }var aS = aP.clippingMaskDrawIndexList.length;for (var aU = 0; aU < aS; aU++) {\n var aR = aP.clippingMaskDrawIndexList[aU];var aI = a1.getDrawData(aR);var aL = a1._$C2(aR);aQ.setClipBufPre_clipContextForMask(aP);aI.draw(aQ, a1, aL);\n }\n }aQ.gl.bindFramebuffer(aQ.gl.FRAMEBUFFER, aM);aQ.setClipBufPre_clipContextForMask(null);aQ.gl.viewport(aW[0], aW[1], aW[2], aW[3]);\n }\n };W.prototype.getColorBuffer = function () {\n return this.colorBuffer;\n };W.prototype.findSameClip = function (aK) {\n for (var aN = 0; aN < this.clipContextList.length; aN++) {\n var aO = this.clipContextList[aN];var aH = aO.clipIDList.length;if (aH != aK.length) {\n continue;\n }var aI = 0;for (var aM = 0; aM < aH; aM++) {\n var aL = aO.clipIDList[aM];for (var aJ = 0; aJ < aH; aJ++) {\n if (aK[aJ] == aL) {\n aI++;break;\n }\n }\n }if (aI == aH) {\n return aO;\n }\n }return null;\n };W.prototype.calcClippedDrawTotalBounds = function (a6, aV) {\n var aU = a6._$Ri.getModelImpl().getCanvasWidth();var a5 = a6._$Ri.getModelImpl().getCanvasHeight();var aJ = aU > a5 ? aU : a5;var aT = aJ;var aR = aJ;var aS = 0;var aP = 0;var aL = aV.clippedDrawContextList.length;for (var aM = 0; aM < aL; aM++) {\n var aW = aV.clippedDrawContextList[aM];var aN = aW.drawDataIndex;var aK = a6._$C2(aN);if (aK._$yo()) {\n var aX = aK.getTransformedPoints();var a4 = aX.length;var aI = [];var aH = [];var aO = 0;for (var a3 = aw._$i2; a3 < a4; a3 += aw._$No) {\n aI[aO] = aX[a3];aH[aO] = aX[a3 + 1];aO++;\n }var a2 = Math.min.apply(null, aI);var a1 = Math.min.apply(null, aH);var a0 = Math.max.apply(null, aI);var aZ = Math.max.apply(null, aH);if (a2 < aT) {\n aT = a2;\n }if (a1 < aR) {\n aR = a1;\n }if (a0 > aS) {\n aS = a0;\n }if (aZ > aP) {\n aP = aZ;\n }\n }\n }if (aT == aJ) {\n aV.allClippedDrawRect.x = 0;aV.allClippedDrawRect.y = 0;aV.allClippedDrawRect.width = 0;aV.allClippedDrawRect.height = 0;aV.isUsing = false;\n } else {\n var aQ = aS - aT;var aY = aP - aR;aV.allClippedDrawRect.x = aT;aV.allClippedDrawRect.y = aR;aV.allClippedDrawRect.width = aQ;aV.allClippedDrawRect.height = aY;aV.isUsing = true;\n }\n };W.prototype.setupLayoutBounds = function (aQ) {\n var aI = aQ / W.CHANNEL_COUNT;var aP = aQ % W.CHANNEL_COUNT;aI = ~~aI;aP = ~~aP;var aH = 0;for (var aJ = 0; aJ < W.CHANNEL_COUNT; aJ++) {\n var aM = aI + (aJ < aP ? 1 : 0);if (aM == 0) {} else {\n if (aM == 1) {\n var aL = this.clipContextList[aH++];aL.layoutChannelNo = aJ;aL.layoutBounds.x = 0;aL.layoutBounds.y = 0;aL.layoutBounds.width = 1;aL.layoutBounds.height = 1;\n } else {\n if (aM == 2) {\n for (var aO = 0; aO < aM; aO++) {\n var aN = aO % 2;var aK = 0;aN = ~~aN;var aL = this.clipContextList[aH++];aL.layoutChannelNo = aJ;aL.layoutBounds.x = aN * 0.5;aL.layoutBounds.y = 0;aL.layoutBounds.width = 0.5;aL.layoutBounds.height = 1;\n }\n } else {\n if (aM <= 4) {\n for (var aO = 0; aO < aM; aO++) {\n var aN = aO % 2;var aK = aO / 2;aN = ~~aN;aK = ~~aK;var aL = this.clipContextList[aH++];aL.layoutChannelNo = aJ;aL.layoutBounds.x = aN * 0.5;aL.layoutBounds.y = aK * 0.5;aL.layoutBounds.width = 0.5;aL.layoutBounds.height = 0.5;\n }\n } else {\n if (aM <= 9) {\n for (var aO = 0; aO < aM; aO++) {\n var aN = aO % 3;var aK = aO / 3;aN = ~~aN;aK = ~~aK;var aL = this.clipContextList[aH++];aL.layoutChannelNo = aJ;aL.layoutBounds.x = aN / 3;aL.layoutBounds.y = aK / 3;aL.layoutBounds.width = 1 / 3;aL.layoutBounds.height = 1 / 3;\n }\n } else {\n q._$li(\"_$6 _$0P mask count : %d\", aM);\n }\n }\n }\n }\n }\n }\n };function U(aH, aK, aI) {\n this.clipIDList = new Array();this.clipIDList = aI;this.clippingMaskDrawIndexList = new Array();for (var aJ = 0; aJ < aI.length; aJ++) {\n this.clippingMaskDrawIndexList.push(aK.getDrawDataIndex(aI[aJ]));\n }this.clippedDrawContextList = new Array();this.isUsing = true;this.layoutChannelNo = 0;this.layoutBounds = new av();this.allClippedDrawRect = new av();this.matrixForMask = new Float32Array(16);this.matrixForDraw = new Float32Array(16);this.owner = aH;\n }U.prototype.addClippedDrawData = function (aJ, aI) {\n var aH = new R(aJ, aI);this.clippedDrawContextList.push(aH);\n };function R(aI, aH) {\n this._$gP = aI;this.drawDataIndex = aH;\n }function I() {\n if (j) {\n return;\n }this.color = null;\n }function ah() {\n if (j) {\n return;\n }this._$dP = null;this._$eo = null;this._$V0 = null;this._$dP = 1000;this._$eo = 1000;this._$V0 = 1;this._$a0();\n }ah._$JT = function (aP, aN, aO) {\n var aQ = aP / aN;var a1 = aO / aN;var aU = a1;var aZ = 1 / 3;var aR = 2 / 3;var a0 = 1 - (1 - a1) * (1 - a1);var a2 = 1 - (1 - aU) * (1 - aU);var aM = 0;var aL = (1 - a1) * aZ * a0 + (aU * aR + (1 - aU) * aZ) * (1 - a0);var aK = (aU + (1 - aU) * aR) * a2 + (a1 * aZ + (1 - a1) * aR) * (1 - a2);var aJ = 1;var aY = aJ - 3 * aK + 3 * aL - aM;var aX = 3 * aK - 6 * aL + 3 * aM;var aW = 3 * aL - 3 * aM;var aV = aM;if (aQ <= 0) {\n return 0;\n } else {\n if (aQ >= 1) {\n return 1;\n }\n }var aS = aQ;var aI = aS * aS;var aH = aS * aI;var aT = aY * aH + aX * aI + aW * aS + aV;return aT;\n };ah.prototype._$a0 = function () {};ah.prototype.setFadeIn = function (aH) {\n this._$dP = aH;\n };ah.prototype.setFadeOut = function (aH) {\n this._$eo = aH;\n };ah.prototype._$pT = function (aH) {\n this._$V0 = aH;\n };ah.prototype.getFadeOut = function () {\n return this._$eo;\n };ah.prototype._$4T = function () {\n return this._$eo;\n };ah.prototype._$mT = function () {\n return this._$V0;\n };ah.prototype.getDurationMSec = function () {\n return -1;\n };ah.prototype.getLoopDurationMSec = function () {\n return -1;\n };ah.prototype.updateParam = function (aJ, aN) {\n if (!aN._$AT || aN._$9L) {\n return;\n }var aL = P.getUserTimeMSec();if (aN._$z2 < 0) {\n aN._$z2 = aL;aN._$bs = aL;var aM = this.getDurationMSec();if (aN._$Do < 0) {\n aN._$Do = aM <= 0 ? -1 : aN._$z2 + aM;\n }\n }var aI = this._$V0;var aH = this._$dP == 0 ? 1 : A._$r2((aL - aN._$bs) / this._$dP);var aK = this._$eo == 0 || aN._$Do < 0 ? 1 : A._$r2((aN._$Do - aL) / this._$eo);aI = aI * aH * aK;if (!(0 <= aI && aI <= 1)) {\n console.log(\"### assert!! ### \");\n }this.updateParamExe(aJ, aL, aI, aN);if (aN._$Do > 0 && aN._$Do < aL) {\n aN._$9L = true;\n }\n };ah.prototype.updateParamExe = function (aH, aI, aJ, aK) {};function q() {}q._$8s = 0;q._$fT = new Object();q.start = function (aI) {\n var aH = q._$fT[aI];if (aH == null) {\n aH = new af();aH._$r = aI;q._$fT[aI] = aH;\n }aH._$0S = P.getSystemTimeMSec();\n };q.dump = function (aJ) {\n var aH = q._$fT[aJ];if (aH != null) {\n var aI = P.getSystemTimeMSec();var aK = aI - aH._$0S;console.log(aJ + \" : \" + aK + \"ms\");return aK;\n } else {\n return -1;\n }\n };q.end = function (aJ) {\n var aH = q._$fT[aJ];if (aH != null) {\n var aI = P.getSystemTimeMSec();return aI - aH._$0S;\n } else {\n return -1;\n }\n };q._$li = function (aI, aH) {\n console.log(\"_$li : \" + aI + \"\\n\", aH);\n };q._$Ji = function (aI, aH) {\n console.log(aI, aH);\n };q._$dL = function (aI, aH) {\n console.log(aI, aH);console.log(\"\\n\");\n };q._$KL = function (aJ, aI) {\n for (var aH = 0; aH < aI; aH++) {\n if (aH % 16 == 0 && aH > 0) {\n console.log(\"\\n\");\n } else {\n if (aH % 8 == 0 && aH > 0) {\n console.log(\" \");\n }\n }console.log(\"%02X \", aJ[aH] & 255);\n }console.log(\"\\n\");\n };q._$nr = function (aL, aI, aK) {\n console.log(\"%s\\n\", aL);var aH = aI.length;for (var aJ = 0; aJ < aH; ++aJ) {\n console.log(\"%5d\", aI[aJ]);console.log(\"%s\\n\", aK);console.log(\",\");\n }console.log(\"\\n\");\n };q._$Rb = function (aH) {\n console.log(\"dump exception : \" + aH);console.log(\"stack :: \" + aH.stack);\n };function af() {\n this._$r = null;this._$0S = null;\n }function F() {\n if (j) {\n return;\n }this.x = null;this.y = null;this.width = null;this.height = null;\n }F.prototype._$8P = function () {\n return 0.5 * (this.x + this.x + this.width);\n };F.prototype._$6P = function () {\n return 0.5 * (this.y + this.y + this.height);\n };F.prototype._$EL = function () {\n return this.x + this.width;\n };F.prototype._$5T = function () {\n return this.y + this.height;\n };F.prototype._$jL = function (aI, aK, aJ, aH) {\n this.x = aI;this.y = aK;this.width = aJ;this.height = aH;\n };F.prototype._$jL = function (aH) {\n this.x = aH.x;this.y = aH.y;this.width = aH.width;this.height = aH.height;\n };function i(aH) {\n if (j) {\n return;\n }ak.prototype.constructor.call(this, aH);\n }i.prototype = new ak();i._$tP = new Object();i._$27 = function () {\n i._$tP.clear();\n };i.getID = function (aH) {\n var aI = i._$tP[aH];if (aI == null) {\n aI = new i(aH);i._$tP[aH] = aI;\n }return aI;\n };i.prototype._$3s = function () {\n return new i();\n };function S() {}function z(aH) {\n if (j) {\n return;\n }ak.prototype.constructor.call(this, aH);\n }z.prototype = new ak();z._$tP = new Object();z._$27 = function () {\n z._$tP.clear();\n };z.getID = function (aH) {\n var aI = z._$tP[aH];if (aI == null) {\n aI = new z(aH);z._$tP[aH] = aI;\n }return aI;\n };z.prototype._$3s = function () {\n return new z();\n };function w() {\n if (j) {\n return;\n }this._$vo = null;this._$F2 = null;this._$ao = 400;this._$1S = 400;w._$42++;\n }w._$42 = 0;w.prototype._$zP = function () {\n if (this._$vo == null) {\n this._$vo = new an();\n }if (this._$F2 == null) {\n this._$F2 = new Array();\n }\n };w.prototype.getCanvasWidth = function () {\n return this._$ao;\n };w.prototype.getCanvasHeight = function () {\n return this._$1S;\n };w.prototype._$F0 = function (aH) {\n this._$vo = aH._$nP();this._$F2 = aH._$nP();this._$ao = aH._$6L();this._$1S = aH._$6L();\n };w.prototype._$6S = function (aH) {\n this._$F2.push(aH);\n };w.prototype._$Xr = function () {\n return this._$F2;\n };w.prototype._$E2 = function () {\n return this._$vo;\n };function u() {\n if (j) {\n return;\n }this.p1 = new N();this.p2 = new N();this._$Fo = 0;this._$Db = 0;this._$L2 = 0;this._$M2 = 0;this._$ks = 0;this._$9b = 0;this._$iP = 0;this._$iT = 0;this._$lL = new Array();this._$qP = new Array();this.setup(0.3, 0.5, 0.1);\n }u.prototype.setup = function (aJ, aI, aH) {\n this._$ks = this._$Yb();this.p2._$xT();if (arguments.length == 3) {\n this._$Fo = aJ;this._$L2 = aI;this.p1._$p = aH;this.p2._$p = aH;this.p2.y = aJ;this.setup();\n }\n };u.prototype.getPhysicsPoint1 = function () {\n return this.p1;\n };u.prototype.getPhysicsPoint2 = function () {\n return this.p2;\n };u.prototype._$qr = function () {\n return this._$Db;\n };u.prototype._$pr = function (aH) {\n this._$Db = aH;\n };u.prototype._$5r = function () {\n return this._$M2;\n };u.prototype._$Cs = function () {\n return this._$9b;\n };u.prototype._$Yb = function () {\n return -180 * Math.atan2(this.p1.x - this.p2.x, -(this.p1.y - this.p2.y)) / Math.PI;\n };u.prototype.addSrcParam = function (aJ, aH, aL, aI) {\n var aK = new h(aJ, aH, aL, aI);this._$lL.push(aK);\n };u.prototype.addTargetParam = function (aJ, aH, aK, aI) {\n var aL = new aF(aJ, aH, aK, aI);this._$qP.push(aL);\n };u.prototype.update = function (aI, aL) {\n if (this._$iP == 0) {\n this._$iP = this._$iT = aL;this._$Fo = Math.sqrt((this.p1.x - this.p2.x) * (this.p1.x - this.p2.x) + (this.p1.y - this.p2.y) * (this.p1.y - this.p2.y));return;\n }var aK = (aL - this._$iT) / 1000;if (aK != 0) {\n for (var aJ = this._$lL.length - 1; aJ >= 0; --aJ) {\n var aM = this._$lL[aJ];aM._$oP(aI, this);\n }this._$oo(aI, aK);this._$M2 = this._$Yb();this._$9b = (this._$M2 - this._$ks) / aK;this._$ks = this._$M2;\n }for (var aJ = this._$qP.length - 1; aJ >= 0; --aJ) {\n var aH = this._$qP[aJ];aH._$YS(aI, this);\n }this._$iT = aL;\n };u.prototype._$oo = function (aN, aI) {\n if (aI < 0.033) {\n aI = 0.033;\n }var aU = 1 / aI;this.p1.vx = (this.p1.x - this.p1._$s0) * aU;this.p1.vy = (this.p1.y - this.p1._$70) * aU;this.p1.ax = (this.p1.vx - this.p1._$7L) * aU;this.p1.ay = (this.p1.vy - this.p1._$HL) * aU;this.p1.fx = this.p1.ax * this.p1._$p;this.p1.fy = this.p1.ay * this.p1._$p;this.p1._$xT();var aM = -Math.atan2(this.p1.y - this.p2.y, this.p1.x - this.p2.x);var aL;var aV;var aR = Math.cos(aM);var aH = Math.sin(aM);var aW = 9.8 * this.p2._$p;var aQ = this._$Db * aC._$bS;var aP = aW * Math.cos(aM - aQ);aL = aP * aH;aV = aP * aR;var aK = -this.p1.fx * aH * aH;var aT = -this.p1.fy * aH * aR;var aJ = -this.p2.vx * this._$L2;var aS = -this.p2.vy * this._$L2;this.p2.fx = aL + aK + aJ;this.p2.fy = aV + aT + aS;this.p2.ax = this.p2.fx / this.p2._$p;this.p2.ay = this.p2.fy / this.p2._$p;this.p2.vx += this.p2.ax * aI;this.p2.vy += this.p2.ay * aI;this.p2.x += this.p2.vx * aI;this.p2.y += this.p2.vy * aI;var aO = Math.sqrt((this.p1.x - this.p2.x) * (this.p1.x - this.p2.x) + (this.p1.y - this.p2.y) * (this.p1.y - this.p2.y));this.p2.x = this.p1.x + this._$Fo * (this.p2.x - this.p1.x) / aO;this.p2.y = this.p1.y + this._$Fo * (this.p2.y - this.p1.y) / aO;this.p2.vx = (this.p2.x - this.p2._$s0) * aU;this.p2.vy = (this.p2.y - this.p2._$70) * aU;this.p2._$xT();\n };function N() {\n this._$p = 1;this.x = 0;this.y = 0;this.vx = 0;this.vy = 0;this.ax = 0;this.ay = 0;this.fx = 0;this.fy = 0;this._$s0 = 0;this._$70 = 0;this._$7L = 0;this._$HL = 0;\n }N.prototype._$xT = function () {\n this._$s0 = this.x;this._$70 = this.y;this._$7L = this.vx;this._$HL = this.vy;\n };function at(aJ, aI, aH) {\n this._$wL = null;this.scale = null;this._$V0 = null;this._$wL = aJ;this.scale = aI;this._$V0 = aH;\n }at.prototype._$oP = function (aI, aH) {};function h(aJ, aK, aI, aH) {\n at.prototype.constructor.call(this, aK, aI, aH);this._$tL = null;this._$tL = aJ;\n }h.prototype = new at();h.prototype._$oP = function (aJ, aH) {\n var aK = this.scale * aJ.getParamFloat(this._$wL);var aL = aH.getPhysicsPoint1();switch (this._$tL) {default:case u.Src.SRC_TO_X:\n aL.x = aL.x + (aK - aL.x) * this._$V0;break;case u.Src.SRC_TO_Y:\n aL.y = aL.y + (aK - aL.y) * this._$V0;break;case u.Src.SRC_TO_G_ANGLE:\n var aI = aH._$qr();aI = aI + (aK - aI) * this._$V0;aH._$pr(aI);break;}\n };function d(aJ, aI, aH) {\n this._$wL = null;this.scale = null;this._$V0 = null;this._$wL = aJ;this.scale = aI;this._$V0 = aH;\n }d.prototype._$YS = function (aI, aH) {};function aF(aI, aK, aJ, aH) {\n d.prototype.constructor.call(this, aK, aJ, aH);this._$YP = null;this._$YP = aI;\n }aF.prototype = new d();aF.prototype._$YS = function (aI, aH) {\n switch (this._$YP) {default:case u.Target.TARGET_FROM_ANGLE:\n aI.setParamFloat(this._$wL, this.scale * aH._$5r(), this._$V0);break;case u.Target.TARGET_FROM_ANGLE_V:\n aI.setParamFloat(this._$wL, this.scale * aH._$Cs(), this._$V0);break;}\n };u.Src = function () {};u.Src.SRC_TO_X = \"SRC_TO_X\";u.Src.SRC_TO_Y = \"SRC_TO_Y\";u.Src.SRC_TO_G_ANGLE = \"SRC_TO_G_ANGLE\";u.Target = function () {};u.Target.TARGET_FROM_ANGLE = \"TARGET_FROM_ANGLE\";u.Target.TARGET_FROM_ANGLE_V = \"TARGET_FROM_ANGLE_V\";function X() {\n if (j) {\n return;\n }this._$fL = 0;this._$gL = 0;this._$B0 = 1;this._$z0 = 1;this._$qT = 0;this.reflectX = false;this.reflectY = false;\n }X.prototype.init = function (aH) {\n this._$fL = aH._$fL;this._$gL = aH._$gL;this._$B0 = aH._$B0;this._$z0 = aH._$z0;this._$qT = aH._$qT;this.reflectX = aH.reflectX;this.reflectY = aH.reflectY;\n };X.prototype._$F0 = function (aH) {\n this._$fL = aH._$_T();this._$gL = aH._$_T();this._$B0 = aH._$_T();this._$z0 = aH._$_T();this._$qT = aH._$_T();if (aH.getFormatVersion() >= ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2) {\n this.reflectX = aH._$po();this.reflectY = aH._$po();\n }\n };X.prototype._$e = function () {};var ad = function ad() {};ad._$ni = function (aL, aJ, aR, aQ, aK, aI, aH, aS, aN) {\n var aM = aH * aI - aS * aK;if (aM == 0) {\n return null;\n } else {\n var aO = ((aL - aR) * aI - (aJ - aQ) * aK) / aM;var aP;if (aK != 0) {\n aP = (aL - aR - aO * aH) / aK;\n } else {\n aP = (aJ - aQ - aO * aS) / aI;\n }if (isNaN(aP)) {\n aP = (aL - aR - aO * aH) / aK;if (isNaN(aP)) {\n aP = (aJ - aQ - aO * aS) / aI;\n }if (isNaN(aP)) {\n console.log(\"a is NaN @UtVector#_$ni() \");console.log(\"v1x : \" + aK);console.log(\"v1x != 0 ? \" + (aK != 0));\n }\n }if (aN == null) {\n return new Array(aP, aO);\n } else {\n aN[0] = aP;aN[1] = aO;return aN;\n }\n }\n };function av() {\n if (j) {\n return;\n }this.x = null;this.y = null;this.width = null;this.height = null;\n }av.prototype._$8P = function () {\n return this.x + 0.5 * this.width;\n };av.prototype._$6P = function () {\n return this.y + 0.5 * this.height;\n };av.prototype._$EL = function () {\n return this.x + this.width;\n };av.prototype._$5T = function () {\n return this.y + this.height;\n };av.prototype._$jL = function (aI, aK, aJ, aH) {\n this.x = aI;this.y = aK;this.width = aJ;this.height = aH;\n };av.prototype._$jL = function (aH) {\n this.x = aH.x;this.y = aH.y;this.width = aH.width;this.height = aH.height;\n };av.prototype.contains = function (aH, aI) {\n return this.x <= this.x && this.y <= this.y && this.x <= this.x + this.width && this.y <= this.y + this.height;\n };av.prototype.expand = function (aH, aI) {\n this.x -= aH;this.y -= aI;this.width += aH * 2;this.height += aI * 2;\n };function aG() {}aG._$Z2 = function (bb, bo, bp, a2) {\n var a1 = bo._$Q2(bb, bp);var a3 = bb._$vs();var ba = bb._$Tr();bo._$zr(a3, ba, a1);if (a1 <= 0) {\n return a2[a3[0]];\n } else {\n if (a1 == 1) {\n var bj = a2[a3[0]];var bi = a2[a3[1]];var a9 = ba[0];return bj + (bi - bj) * a9 | 0;\n } else {\n if (a1 == 2) {\n var bj = a2[a3[0]];var bi = a2[a3[1]];var a0 = a2[a3[2]];var aZ = a2[a3[3]];var a9 = ba[0];var a8 = ba[1];var br = bj + (bi - bj) * a9 | 0;var bq = a0 + (aZ - a0) * a9 | 0;return br + (bq - br) * a8 | 0;\n } else {\n if (a1 == 3) {\n var aP = a2[a3[0]];var aO = a2[a3[1]];var bn = a2[a3[2]];var bm = a2[a3[3]];var aK = a2[a3[4]];var aJ = a2[a3[5]];var bg = a2[a3[6]];var bf = a2[a3[7]];var a9 = ba[0];var a8 = ba[1];var a6 = ba[2];var bj = aP + (aO - aP) * a9 | 0;var bi = bn + (bm - bn) * a9 | 0;var a0 = aK + (aJ - aK) * a9 | 0;var aZ = bg + (bf - bg) * a9 | 0;var br = bj + (bi - bj) * a8 | 0;var bq = a0 + (aZ - a0) * a8 | 0;return br + (bq - br) * a6 | 0;\n } else {\n if (a1 == 4) {\n var aT = a2[a3[0]];var aS = a2[a3[1]];var bu = a2[a3[2]];var bt = a2[a3[3]];var aN = a2[a3[4]];var aM = a2[a3[5]];var bl = a2[a3[6]];var bk = a2[a3[7]];var be = a2[a3[8]];var bc = a2[a3[9]];var aX = a2[a3[10]];var aW = a2[a3[11]];var a7 = a2[a3[12]];var a5 = a2[a3[13]];var aR = a2[a3[14]];var aQ = a2[a3[15]];var a9 = ba[0];var a8 = ba[1];var a6 = ba[2];var a4 = ba[3];var aP = aT + (aS - aT) * a9 | 0;var aO = bu + (bt - bu) * a9 | 0;var bn = aN + (aM - aN) * a9 | 0;var bm = bl + (bk - bl) * a9 | 0;var aK = be + (bc - be) * a9 | 0;var aJ = aX + (aW - aX) * a9 | 0;var bg = a7 + (a5 - a7) * a9 | 0;var bf = aR + (aQ - aR) * a9 | 0;var bj = aP + (aO - aP) * a8 | 0;var bi = bn + (bm - bn) * a8 | 0;var a0 = aK + (aJ - aK) * a8 | 0;var aZ = bg + (bf - bg) * a8 | 0;var br = bj + (bi - bj) * a6 | 0;var bq = a0 + (aZ - a0) * a6 | 0;return br + (bq - br) * a4 | 0;\n } else {\n var aV = 1 << a1;var aY = new Float32Array(aV);for (var bh = 0; bh < aV; bh++) {\n var aI = bh;var aH = 1;for (var aL = 0; aL < a1; aL++) {\n aH *= aI % 2 == 0 ? 1 - ba[aL] : ba[aL];aI /= 2;\n }aY[bh] = aH;\n }var bs = new Float32Array(aV);for (var aU = 0; aU < aV; aU++) {\n bs[aU] = a2[a3[aU]];\n }var bd = 0;for (var aU = 0; aU < aV; aU++) {\n bd += aY[aU] * bs[aU];\n }return bd + 0.5 | 0;\n }\n }\n }\n }\n }\n };aG._$br = function (ba, bo, bp, bg) {\n var a1 = bo._$Q2(ba, bp);var a2 = ba._$vs();var a9 = ba._$Tr();bo._$zr(a2, a9, a1);if (a1 <= 0) {\n return bg[a2[0]];\n } else {\n if (a1 == 1) {\n var bj = bg[a2[0]];var bi = bg[a2[1]];var a8 = a9[0];return bj + (bi - bj) * a8;\n } else {\n if (a1 == 2) {\n var bj = bg[a2[0]];var bi = bg[a2[1]];var a0 = bg[a2[2]];var aZ = bg[a2[3]];var a8 = a9[0];var a7 = a9[1];return (1 - a7) * (bj + (bi - bj) * a8) + a7 * (a0 + (aZ - a0) * a8);\n } else {\n if (a1 == 3) {\n var aP = bg[a2[0]];var aO = bg[a2[1]];var bn = bg[a2[2]];var bm = bg[a2[3]];var aK = bg[a2[4]];var aJ = bg[a2[5]];var bf = bg[a2[6]];var be = bg[a2[7]];var a8 = a9[0];var a7 = a9[1];var a5 = a9[2];return (1 - a5) * ((1 - a7) * (aP + (aO - aP) * a8) + a7 * (bn + (bm - bn) * a8)) + a5 * ((1 - a7) * (aK + (aJ - aK) * a8) + a7 * (bf + (be - bf) * a8));\n } else {\n if (a1 == 4) {\n var aT = bg[a2[0]];var aS = bg[a2[1]];var bs = bg[a2[2]];var br = bg[a2[3]];var aN = bg[a2[4]];var aM = bg[a2[5]];var bl = bg[a2[6]];var bk = bg[a2[7]];var bd = bg[a2[8]];var bb = bg[a2[9]];var aX = bg[a2[10]];var aW = bg[a2[11]];var a6 = bg[a2[12]];var a4 = bg[a2[13]];var aR = bg[a2[14]];var aQ = bg[a2[15]];var a8 = a9[0];var a7 = a9[1];var a5 = a9[2];var a3 = a9[3];return (1 - a3) * ((1 - a5) * ((1 - a7) * (aT + (aS - aT) * a8) + a7 * (bs + (br - bs) * a8)) + a5 * ((1 - a7) * (aN + (aM - aN) * a8) + a7 * (bl + (bk - bl) * a8))) + a3 * ((1 - a5) * ((1 - a7) * (bd + (bb - bd) * a8) + a7 * (aX + (aW - aX) * a8)) + a5 * ((1 - a7) * (a6 + (a4 - a6) * a8) + a7 * (aR + (aQ - aR) * a8)));\n } else {\n var aV = 1 << a1;var aY = new Float32Array(aV);for (var bh = 0; bh < aV; bh++) {\n var aI = bh;var aH = 1;for (var aL = 0; aL < a1; aL++) {\n aH *= aI % 2 == 0 ? 1 - a9[aL] : a9[aL];aI /= 2;\n }aY[bh] = aH;\n }var bq = new Float32Array(aV);for (var aU = 0; aU < aV; aU++) {\n bq[aU] = bg[a2[aU]];\n }var bc = 0;for (var aU = 0; aU < aV; aU++) {\n bc += aY[aU] * bq[aU];\n }return bc;\n }\n }\n }\n }\n }\n };aG._$Vr = function (bV, bW, a5, aI, bC, a3, bX, bH) {\n var aN = bW._$Q2(bV, a5);var bw = bV._$vs();var a2 = bV._$Tr();bW._$zr(bw, a2, aN);var aJ = aI * 2;var aQ = bX;if (aN <= 0) {\n var bI = bw[0];var bq = bC[bI];if (bH == 2 && bX == 0) {\n P._$jT(bq, 0, a3, 0, aJ);\n } else {\n for (var bt = 0; bt < aJ;) {\n a3[aQ] = bq[bt++];a3[aQ + 1] = bq[bt++];aQ += bH;\n }\n }\n } else {\n if (aN == 1) {\n var bq = bC[bw[0]];var bp = bC[bw[1]];var b3 = a2[0];var bT = 1 - b3;for (var bt = 0; bt < aJ;) {\n a3[aQ] = bq[bt] * bT + bp[bt] * b3;++bt;a3[aQ + 1] = bq[bt] * bT + bp[bt] * b3;++bt;aQ += bH;\n }\n } else {\n if (aN == 2) {\n var bq = bC[bw[0]];var bp = bC[bw[1]];var aZ = bC[bw[2]];var aY = bC[bw[3]];var b3 = a2[0];var b1 = a2[1];var bT = 1 - b3;var bP = 1 - b1;var b2 = bP * bT;var b0 = bP * b3;var bM = b1 * bT;var bL = b1 * b3;for (var bt = 0; bt < aJ;) {\n a3[aQ] = b2 * bq[bt] + b0 * bp[bt] + bM * aZ[bt] + bL * aY[bt];++bt;a3[aQ + 1] = b2 * bq[bt] + b0 * bp[bt] + bM * aZ[bt] + bL * aY[bt];++bt;aQ += bH;\n }\n } else {\n if (aN == 3) {\n var ba = bC[bw[0]];var a9 = bC[bw[1]];var aP = bC[bw[2]];var aO = bC[bw[3]];var a6 = bC[bw[4]];var a4 = bC[bw[5]];var aL = bC[bw[6]];var aK = bC[bw[7]];var b3 = a2[0];var b1 = a2[1];var bZ = a2[2];var bT = 1 - b3;var bP = 1 - b1;var bN = 1 - bZ;var b8 = bN * bP * bT;var b7 = bN * bP * b3;var bU = bN * b1 * bT;var bS = bN * b1 * b3;var b6 = bZ * bP * bT;var b5 = bZ * bP * b3;var bQ = bZ * b1 * bT;var bO = bZ * b1 * b3;for (var bt = 0; bt < aJ;) {\n a3[aQ] = b8 * ba[bt] + b7 * a9[bt] + bU * aP[bt] + bS * aO[bt] + b6 * a6[bt] + b5 * a4[bt] + bQ * aL[bt] + bO * aK[bt];++bt;a3[aQ + 1] = b8 * ba[bt] + b7 * a9[bt] + bU * aP[bt] + bS * aO[bt] + b6 * a6[bt] + b5 * a4[bt] + bQ * aL[bt] + bO * aK[bt];++bt;aQ += bH;\n }\n } else {\n if (aN == 4) {\n var bD = bC[bw[0]];var bB = bC[bw[1]];var bo = bC[bw[2]];var bm = bC[bw[3]];var by = bC[bw[4]];var bx = bC[bw[5]];var be = bC[bw[6]];var bd = bC[bw[7]];var bG = bC[bw[8]];var bE = bC[bw[9]];var bv = bC[bw[10]];var bu = bC[bw[11]];var bA = bC[bw[12]];var bz = bC[bw[13]];var bn = bC[bw[14]];var bl = bC[bw[15]];var b3 = a2[0];var b1 = a2[1];var bZ = a2[2];var bY = a2[3];var bT = 1 - b3;var bP = 1 - b1;var bN = 1 - bZ;var bK = 1 - bY;var bk = bK * bN * bP * bT;var bi = bK * bN * bP * b3;var aW = bK * bN * b1 * bT;var aV = bK * bN * b1 * b3;var bc = bK * bZ * bP * bT;var bb = bK * bZ * bP * b3;var aS = bK * bZ * b1 * bT;var aR = bK * bZ * b1 * b3;var bs = bY * bN * bP * bT;var br = bY * bN * bP * b3;var a1 = bY * bN * b1 * bT;var a0 = bY * bN * b1 * b3;var bh = bY * bZ * bP * bT;var bf = bY * bZ * bP * b3;var aU = bY * bZ * b1 * bT;var aT = bY * bZ * b1 * b3;for (var bt = 0; bt < aJ;) {\n a3[aQ] = bk * bD[bt] + bi * bB[bt] + aW * bo[bt] + aV * bm[bt] + bc * by[bt] + bb * bx[bt] + aS * be[bt] + aR * bd[bt] + bs * bG[bt] + br * bE[bt] + a1 * bv[bt] + a0 * bu[bt] + bh * bA[bt] + bf * bz[bt] + aU * bn[bt] + aT * bl[bt];++bt;a3[aQ + 1] = bk * bD[bt] + bi * bB[bt] + aW * bo[bt] + aV * bm[bt] + bc * by[bt] + bb * bx[bt] + aS * be[bt] + aR * bd[bt] + bs * bG[bt] + br * bE[bt] + a1 * bv[bt] + a0 * bu[bt] + bh * bA[bt] + bf * bz[bt] + aU * bn[bt] + aT * bl[bt];++bt;aQ += bH;\n }\n } else {\n var b4 = 1 << aN;var bJ = new Float32Array(b4);for (var bj = 0; bj < b4; bj++) {\n var aH = bj;var aM = 1;for (var bF = 0; bF < aN; bF++) {\n aM *= aH % 2 == 0 ? 1 - a2[bF] : a2[bF];aH /= 2;\n }bJ[bj] = aM;\n }var bg = new Float32Array(b4);for (var aX = 0; aX < b4; aX++) {\n bg[aX] = bC[bw[aX]];\n }for (var bt = 0; bt < aJ;) {\n var a8 = 0,\n a7 = 0;var bR = bt + 1;for (var aX = 0; aX < b4; aX++) {\n a8 += bJ[aX] * bg[aX][bt];a7 += bJ[aX] * bg[aX][bR];\n }bt += 2;a3[aQ] = a8;a3[aQ + 1] = a7;aQ += bH;\n }\n }\n }\n }\n }\n }\n };function e() {\n if (j) {\n return;\n }this.x = null;this.y = null;\n }e.prototype._$HT = function (aH, aI) {\n this.x = aH;this.y = aI;\n };e.prototype._$HT = function (aH) {\n this.x = aH.x;this.y = aH.y;\n };function ae() {\n if (j) {\n return;\n }this._$gP = null;this._$dr = null;this._$GS = null;this._$qb = null;this._$Lb = null;this._$mS = null;this.clipID = null;this.clipIDList = new Array();\n }ae._$ur = -2;ae._$ES = 500;ae._$wb = 2;ae._$8S = 3;ae._$52 = ae._$ES;ae._$R2 = ae._$ES;ae._$or = function () {\n return ae._$52;\n };ae._$Pr = function () {\n return ae._$R2;\n };ae.prototype.convertClipIDForV2_11 = function (aI) {\n var aH = [];if (aI == null) {\n return null;\n }if (aI.length == 0) {\n return null;\n }if (!/,/.test(aI)) {\n aH.push(aI.id);return aH;\n }aH = aI.id.split(\",\");return aH;\n };ae.prototype._$F0 = function (aH) {\n this._$gP = aH._$nP();this._$dr = aH._$nP();this._$GS = aH._$nP();this._$qb = aH._$6L();this._$Lb = aH._$cS();this._$mS = aH._$Tb();if (aH.getFormatVersion() >= ay._$T7) {\n this.clipID = aH._$nP();this.clipIDList = this.convertClipIDForV2_11(this.clipID);\n } else {\n this.clipIDList = [];\n }this._$MS(this._$Lb);\n };ae.prototype.getClipIDList = function () {\n return this.clipIDList;\n };ae.prototype.init = function (aH) {};ae.prototype._$Nr = function (aH, aI) {\n aI._$IS[0] = false;aI._$Us = aG._$Z2(aH, this._$GS, aI._$IS, this._$Lb);if (Q._$Zs) {} else {\n if (aI._$IS[0]) {\n return;\n }\n }aI._$7s = aG._$br(aH, this._$GS, aI._$IS, this._$mS);\n };ae.prototype._$2b = function (aH, aI) {};ae.prototype.getDrawDataID = function () {\n return this._$gP;\n };ae.prototype._$j2 = function (aH) {\n this._$gP = aH;\n };ae.prototype.getOpacity = function (aH, aI) {\n return aI._$7s;\n };ae.prototype._$zS = function (aH, aI) {\n return aI._$Us;\n };ae.prototype._$MS = function (aJ) {\n for (var aI = aJ.length - 1; aI >= 0; --aI) {\n var aH = aJ[aI];if (aH < ae._$52) {\n ae._$52 = aH;\n } else {\n if (aH > ae._$R2) {\n ae._$R2 = aH;\n }\n }\n }\n };ae.prototype.getTargetBaseDataID = function () {\n return this._$dr;\n };ae.prototype._$gs = function (aH) {\n this._$dr = aH;\n };ae.prototype._$32 = function () {\n return this._$dr != null && this._$dr != n._$2o();\n };ae.prototype.preDraw = function (aJ, aH, aI) {};ae.prototype.draw = function (aJ, aH, aI) {};ae.prototype.getType = function () {};ae.prototype._$B2 = function (aI, aH, aJ) {};function ax() {\n if (j) {\n return;\n }this._$Eb = ax._$ps;this._$lT = 1;this._$C0 = 1;this._$tT = 1;this._$WL = 1;this.culling = false;this.matrix4x4 = new Float32Array(16);this.premultipliedAlpha = false;this.anisotropy = 0;this.clippingProcess = ax.CLIPPING_PROCESS_NONE;this.clipBufPre_clipContextMask = null;this.clipBufPre_clipContextDraw = null;this.CHANNEL_COLORS = new Array();\n }ax._$ps = 32;ax.CLIPPING_PROCESS_NONE = 0;ax.CLIPPING_PROCESS_OVERWRITE_ALPHA = 1;ax.CLIPPING_PROCESS_MULTIPLY_ALPHA = 2;ax.CLIPPING_PROCESS_DRAW = 3;ax.CLIPPING_PROCESS_CLEAR_ALPHA = 4;ax.prototype.setChannelFlagAsColor = function (aH, aI) {\n this.CHANNEL_COLORS[aH] = aI;\n };ax.prototype.getChannelFlagAsColor = function (aH) {\n return this.CHANNEL_COLORS[aH];\n };ax.prototype._$ZT = function () {};ax.prototype._$Uo = function (aM, aK, aJ, aL, aN, aI, aH) {};ax.prototype._$Rs = function () {\n return -1;\n };ax.prototype._$Ds = function (aH) {};ax.prototype.setBaseColor = function (aK, aJ, aI, aH) {\n if (aK < 0) {\n aK = 0;\n } else {\n if (aK > 1) {\n aK = 1;\n }\n }if (aJ < 0) {\n aJ = 0;\n } else {\n if (aJ > 1) {\n aJ = 1;\n }\n }if (aI < 0) {\n aI = 0;\n } else {\n if (aI > 1) {\n aI = 1;\n }\n }if (aH < 0) {\n aH = 0;\n } else {\n if (aH > 1) {\n aH = 1;\n }\n }this._$lT = aK;this._$C0 = aJ;this._$tT = aI;this._$WL = aH;\n };ax.prototype._$WP = function (aH) {\n this.culling = aH;\n };ax.prototype.setMatrix = function (aH) {\n for (var aI = 0; aI < 16; aI++) {\n this.matrix4x4[aI] = aH[aI];\n }\n };ax.prototype._$IT = function () {\n return this.matrix4x4;\n };ax.prototype.setPremultipliedAlpha = function (aH) {\n this.premultipliedAlpha = aH;\n };ax.prototype.isPremultipliedAlpha = function () {\n return this.premultipliedAlpha;\n };ax.prototype.setAnisotropy = function (aH) {\n this.anisotropy = aH;\n };ax.prototype.getAnisotropy = function () {\n return this.anisotropy;\n };ax.prototype.getClippingProcess = function () {\n return this.clippingProcess;\n };ax.prototype.setClippingProcess = function (aH) {\n this.clippingProcess = aH;\n };ax.prototype.setClipBufPre_clipContextForMask = function (aH) {\n this.clipBufPre_clipContextMask = aH;\n };ax.prototype.getClipBufPre_clipContextMask = function () {\n return this.clipBufPre_clipContextMask;\n };ax.prototype.setClipBufPre_clipContextForDraw = function (aH) {\n this.clipBufPre_clipContextDraw = aH;\n };ax.prototype.getClipBufPre_clipContextDraw = function () {\n return this.clipBufPre_clipContextDraw;\n };function o() {\n if (j) {\n return;\n }this.a = 1;this.r = 1;this.g = 1;this.b = 1;this.scale = 1;this._$ho = 1;this.blendMode = Q.L2D_COLOR_BLEND_MODE_MULT;\n }function c() {\n if (j) {\n return;\n }this._$kP = null;this._$dr = null;this._$Ai = true;this._$mS = null;\n }c._$ur = -2;c._$c2 = 1;c._$_b = 2;c.prototype._$F0 = function (aH) {\n this._$kP = aH._$nP();this._$dr = aH._$nP();\n };c.prototype.readV2_opacity = function (aH) {\n if (aH.getFormatVersion() >= ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2) {\n this._$mS = aH._$Tb();\n }\n };c.prototype.init = function (aH) {};c.prototype._$Nr = function (aI, aH) {};c.prototype.interpolateOpacity = function (aJ, aK, aI, aH) {\n if (this._$mS == null) {\n aI.setInterpolatedOpacity(1);\n } else {\n aI.setInterpolatedOpacity(aG._$br(aJ, aK, aH, this._$mS));\n }\n };c.prototype._$2b = function (aI, aH) {};c.prototype._$nb = function (aL, aK, aM, aH, aI, aJ, aN) {};c.prototype.getType = function () {};c.prototype._$gs = function (aH) {\n this._$dr = aH;\n };c.prototype._$a2 = function (aH) {\n this._$kP = aH;\n };c.prototype.getTargetBaseDataID = function () {\n return this._$dr;\n };c.prototype.getBaseDataID = function () {\n return this._$kP;\n };c.prototype._$32 = function () {\n return this._$dr != null && this._$dr != n._$2o();\n };function P() {}P._$W2 = 0;P._$CS = P._$W2;P._$Mo = function () {\n return true;\n };P._$XP = function (aI) {\n try {\n var aJ = getTimeMSec();while (getTimeMSec() - aJ < aI) {}\n } catch (aH) {\n aH._$Rb();\n }\n };P.getUserTimeMSec = function () {\n return P._$CS == P._$W2 ? P.getSystemTimeMSec() : P._$CS;\n };P.setUserTimeMSec = function (aH) {\n P._$CS = aH;\n };P.updateUserTimeMSec = function () {\n return P._$CS = P.getSystemTimeMSec();\n };P.getTimeMSec = function () {\n return new Date().getTime();\n };P.getSystemTimeMSec = function () {\n return new Date().getTime();\n };P._$Q = function (aH) {};P._$jT = function (aM, aJ, aI, aL, aH) {\n for (var aK = 0; aK < aH; aK++) {\n aI[aL + aK] = aM[aJ + aK];\n }\n };function aA() {\n if (j) {\n return;\n }this._$VP = 0;this._$wL = null;this._$GP = null;this._$8o = aA._$ds;this._$2r = -1;this._$O2 = 0;this._$ri = 0;\n }aA._$ds = -2;aA.prototype._$F0 = function (aH) {\n this._$wL = aH._$nP();this._$VP = aH._$6L();this._$GP = aH._$nP();\n };aA.prototype.getParamIndex = function (aH) {\n if (this._$2r != aH) {\n this._$8o = aA._$ds;\n }return this._$8o;\n };aA.prototype._$Pb = function (aI, aH) {\n this._$8o = aI;this._$2r = aH;\n };aA.prototype.getParamID = function () {\n return this._$wL;\n };aA.prototype._$yP = function (aH) {\n this._$wL = aH;\n };aA.prototype._$N2 = function () {\n return this._$VP;\n };aA.prototype._$d2 = function () {\n return this._$GP;\n };aA.prototype._$t2 = function (aI, aH) {\n this._$VP = aI;this._$GP = aH;\n };aA.prototype._$Lr = function () {\n return this._$O2;\n };aA.prototype._$wr = function (aH) {\n this._$O2 = aH;\n };aA.prototype._$SL = function () {\n return this._$ri;\n };aA.prototype._$AL = function (aH) {\n this._$ri = aH;\n };function G() {}G.startsWith = function (aJ, aL, aK) {\n var aH = aL + aK.length;if (aH >= aJ.length) {\n return false;\n }for (var aI = aL; aI < aH; aI++) {\n if (G.getChar(aJ, aI) != aK.charAt(aI - aL)) {\n return false;\n }\n }return true;\n };G.getChar = function (aI, aH) {\n return String.fromCharCode(aI.getUint8(aH));\n };G.createString = function (aM, aL, aJ) {\n var aH = new ArrayBuffer(aJ * 2);var aK = new Uint16Array(aH);for (var aI = 0; aI < aJ; aI++) {\n aK[aI] = aM.getUint8(aL + aI);\n }return String.fromCharCode.apply(null, aK);\n };G._$LS = function (aP, aM, aR, aK) {\n if (aP instanceof ArrayBuffer) {\n aP = new DataView(aP);\n }var aL = aR;var aJ = false;var aQ = false;var aS = 0;var aO = G.getChar(aP, aL);if (aO == \"-\") {\n aJ = true;aL++;\n }var aN = false;for (; aL < aM; aL++) {\n aO = G.getChar(aP, aL);switch (aO) {case \"0\":\n aS = aS * 10;break;case \"1\":\n aS = aS * 10 + 1;break;case \"2\":\n aS = aS * 10 + 2;break;case \"3\":\n aS = aS * 10 + 3;break;case \"4\":\n aS = aS * 10 + 4;break;case \"5\":\n aS = aS * 10 + 5;break;case \"6\":\n aS = aS * 10 + 6;break;case \"7\":\n aS = aS * 10 + 7;break;case \"8\":\n aS = aS * 10 + 8;break;case \"9\":\n aS = aS * 10 + 9;break;case \".\":\n aQ = true;aL++;aN = true;break;default:\n aN = true;break;}if (aN) {\n break;\n }\n }if (aQ) {\n var aI = 0.1;var aH = false;for (; aL < aM; aL++) {\n aO = G.getChar(aP, aL);switch (aO) {case \"0\":\n break;case \"1\":\n aS += aI * 1;break;case \"2\":\n aS += aI * 2;break;case \"3\":\n aS += aI * 3;break;case \"4\":\n aS += aI * 4;break;case \"5\":\n aS += aI * 5;break;case \"6\":\n aS += aI * 6;break;case \"7\":\n aS += aI * 7;break;case \"8\":\n aS += aI * 8;break;case \"9\":\n aS += aI * 9;break;default:\n aH = true;break;}aI *= 0.1;if (aH) {\n break;\n }\n }\n }if (aJ) {\n aS = -aS;\n }aK[0] = aL;return aS;\n };function g() {\n if (j) {\n return;\n }this._$Ob = null;\n }g.prototype._$zP = function () {\n this._$Ob = new Array();\n };g.prototype._$F0 = function (aH) {\n this._$Ob = aH._$nP();\n };g.prototype._$Ur = function (aK) {\n if (aK._$WS()) {\n return true;\n }var aH = aK._$v2();for (var aJ = this._$Ob.length - 1; aJ >= 0; --aJ) {\n var aI = this._$Ob[aJ].getParamIndex(aH);if (aI == aA._$ds) {\n aI = aK.getParamIndex(this._$Ob[aJ].getParamID());\n }if (aK._$Xb(aI)) {\n return true;\n }\n }return false;\n };g.prototype._$Q2 = function (aL, aV) {\n var aX = this._$Ob.length;var aJ = aL._$v2();var aN = 0;var aI;var aQ;for (var aK = 0; aK < aX; aK++) {\n var aH = this._$Ob[aK];aI = aH.getParamIndex(aJ);if (aI == aA._$ds) {\n aI = aL.getParamIndex(aH.getParamID());aH._$Pb(aI, aJ);\n }if (aI < 0) {\n throw new Exception(\"err 23242 : \" + aH.getParamID());\n }var aU = aI < 0 ? 0 : aL.getParamFloat(aI);aQ = aH._$N2();var aM = aH._$d2();var aP = -1;var aT = 0;var aS;var aR;if (aQ < 1) {} else {\n if (aQ == 1) {\n aS = aM[0];if (aS - aw._$J < aU && aU < aS + aw._$J) {\n aP = 0;aT = 0;\n } else {\n aP = 0;aV[0] = true;\n }\n } else {\n aS = aM[0];if (aU < aS - aw._$J) {\n aP = 0;aV[0] = true;\n } else {\n if (aU < aS + aw._$J) {\n aP = 0;\n } else {\n var aW = false;for (var aO = 1; aO < aQ; ++aO) {\n aR = aM[aO];if (aU < aR + aw._$J) {\n if (aR - aw._$J < aU) {\n aP = aO;\n } else {\n aP = aO - 1;aT = (aU - aS) / (aR - aS);aN++;\n }aW = true;break;\n }aS = aR;\n }if (!aW) {\n aP = aQ - 1;aT = 0;aV[0] = true;\n }\n }\n }\n }\n }aH._$wr(aP);aH._$AL(aT);\n }return aN;\n };g.prototype._$zr = function (aN, aT, aP) {\n var aR = 1 << aP;if (aR + 1 > aw._$Qb) {\n console.log(\"err 23245\\n\");\n }var aS = this._$Ob.length;var aK = 1;var aH = 1;var aJ = 0;for (var aQ = 0; aQ < aR; ++aQ) {\n aN[aQ] = 0;\n }for (var aL = 0; aL < aS; ++aL) {\n var aI = this._$Ob[aL];if (aI._$SL() == 0) {\n var aO = aI._$Lr() * aK;if (aO < 0 && Q._$3T) {\n throw new Exception(\"err 23246\");\n }for (var aQ = 0; aQ < aR; ++aQ) {\n aN[aQ] += aO;\n }\n } else {\n var aO = aK * aI._$Lr();var aM = aK * (aI._$Lr() + 1);for (var aQ = 0; aQ < aR; ++aQ) {\n aN[aQ] += (aQ / aH | 0) % 2 == 0 ? aO : aM;\n }aT[aJ++] = aI._$SL();aH *= 2;\n }aK *= aI._$N2();\n }aN[aR] = 65535;aT[aJ] = -1;\n };g.prototype._$h2 = function (aJ, aH, aK) {\n var aM = new Float32Array(aH);for (var aL = 0; aL < aH; ++aL) {\n aM[aL] = aK[aL];\n }var aI = new aA();aI._$yP(aJ);aI._$t2(aH, aM);this._$Ob.push(aI);\n };g.prototype._$J2 = function (aO) {\n var aN = aO;var aM = this._$Ob.length;for (var aK = 0; aK < aM; ++aK) {\n var aI = this._$Ob[aK];var aH = aI._$N2();var aJ = aN % aI._$N2();var aL = aI._$d2()[aJ];console.log(\"%s[%d]=%7.2f / \", aI.getParamID(), aJ, aL);aN /= aH;\n }console.log(\"\\n\");\n };g.prototype.getParamCount = function () {\n return this._$Ob.length;\n };g.prototype._$zs = function () {\n return this._$Ob;\n };function ac() {\n this.m = new Float32Array(16);this.identity();\n }ac.prototype.identity = function () {\n for (var aH = 0; aH < 16; aH++) {\n this.m[aH] = aH % 5 == 0 ? 1 : 0;\n }\n };ac.prototype.getArray = function () {\n return this.m;\n };ac.prototype.getCopyMatrix = function () {\n return new Float32Array(this.m);\n };ac.prototype.setMatrix = function (aI) {\n if (aI == null || aI.length != 16) {\n return;\n }for (var aH = 0; aH < 16; aH++) {\n this.m[aH] = aI[aH];\n }\n };ac.prototype.mult = function (aH, aJ, aI) {\n if (aJ == null) {\n return null;\n }if (this == aJ) {\n this.mult_safe(this.m, aH.m, aJ.m, aI);\n } else {\n this.mult_fast(this.m, aH.m, aJ.m, aI);\n }return aJ;\n };ac.prototype.mult_safe = function (aI, aH, aM, aJ) {\n if (aI == aM) {\n var aL = new Array(16);this.mult_fast(aI, aH, aL, aJ);for (var aK = 15; aK >= 0; --aK) {\n aM[aK] = aL[aK];\n }\n } else {\n this.mult_fast(aI, aH, aM, aJ);\n }\n };ac.prototype.mult_fast = function (aI, aH, aK, aJ) {\n if (aJ) {\n aK[0] = aI[0] * aH[0] + aI[4] * aH[1] + aI[8] * aH[2];aK[4] = aI[0] * aH[4] + aI[4] * aH[5] + aI[8] * aH[6];aK[8] = aI[0] * aH[8] + aI[4] * aH[9] + aI[8] * aH[10];aK[12] = aI[0] * aH[12] + aI[4] * aH[13] + aI[8] * aH[14] + aI[12];aK[1] = aI[1] * aH[0] + aI[5] * aH[1] + aI[9] * aH[2];aK[5] = aI[1] * aH[4] + aI[5] * aH[5] + aI[9] * aH[6];aK[9] = aI[1] * aH[8] + aI[5] * aH[9] + aI[9] * aH[10];aK[13] = aI[1] * aH[12] + aI[5] * aH[13] + aI[9] * aH[14] + aI[13];aK[2] = aI[2] * aH[0] + aI[6] * aH[1] + aI[10] * aH[2];aK[6] = aI[2] * aH[4] + aI[6] * aH[5] + aI[10] * aH[6];aK[10] = aI[2] * aH[8] + aI[6] * aH[9] + aI[10] * aH[10];aK[14] = aI[2] * aH[12] + aI[6] * aH[13] + aI[10] * aH[14] + aI[14];aK[3] = aK[7] = aK[11] = 0;aK[15] = 1;\n } else {\n aK[0] = aI[0] * aH[0] + aI[4] * aH[1] + aI[8] * aH[2] + aI[12] * aH[3];aK[4] = aI[0] * aH[4] + aI[4] * aH[5] + aI[8] * aH[6] + aI[12] * aH[7];aK[8] = aI[0] * aH[8] + aI[4] * aH[9] + aI[8] * aH[10] + aI[12] * aH[11];aK[12] = aI[0] * aH[12] + aI[4] * aH[13] + aI[8] * aH[14] + aI[12] * aH[15];aK[1] = aI[1] * aH[0] + aI[5] * aH[1] + aI[9] * aH[2] + aI[13] * aH[3];aK[5] = aI[1] * aH[4] + aI[5] * aH[5] + aI[9] * aH[6] + aI[13] * aH[7];aK[9] = aI[1] * aH[8] + aI[5] * aH[9] + aI[9] * aH[10] + aI[13] * aH[11];aK[13] = aI[1] * aH[12] + aI[5] * aH[13] + aI[9] * aH[14] + aI[13] * aH[15];aK[2] = aI[2] * aH[0] + aI[6] * aH[1] + aI[10] * aH[2] + aI[14] * aH[3];aK[6] = aI[2] * aH[4] + aI[6] * aH[5] + aI[10] * aH[6] + aI[14] * aH[7];aK[10] = aI[2] * aH[8] + aI[6] * aH[9] + aI[10] * aH[10] + aI[14] * aH[11];aK[14] = aI[2] * aH[12] + aI[6] * aH[13] + aI[10] * aH[14] + aI[14] * aH[15];aK[3] = aI[3] * aH[0] + aI[7] * aH[1] + aI[11] * aH[2] + aI[15] * aH[3];aK[7] = aI[3] * aH[4] + aI[7] * aH[5] + aI[11] * aH[6] + aI[15] * aH[7];aK[11] = aI[3] * aH[8] + aI[7] * aH[9] + aI[11] * aH[10] + aI[15] * aH[11];aK[15] = aI[3] * aH[12] + aI[7] * aH[13] + aI[11] * aH[14] + aI[15] * aH[15];\n }\n };ac.prototype.translate = function (aH, aJ, aI) {\n this.m[12] = this.m[0] * aH + this.m[4] * aJ + this.m[8] * aI + this.m[12];this.m[13] = this.m[1] * aH + this.m[5] * aJ + this.m[9] * aI + this.m[13];this.m[14] = this.m[2] * aH + this.m[6] * aJ + this.m[10] * aI + this.m[14];this.m[15] = this.m[3] * aH + this.m[7] * aJ + this.m[11] * aI + this.m[15];\n };ac.prototype.scale = function (aJ, aI, aH) {\n this.m[0] *= aJ;this.m[4] *= aI;this.m[8] *= aH;this.m[1] *= aJ;this.m[5] *= aI;this.m[9] *= aH;this.m[2] *= aJ;this.m[6] *= aI;this.m[10] *= aH;this.m[3] *= aJ;this.m[7] *= aI;this.m[11] *= aH;\n };ac.prototype.rotateX = function (aH) {\n var aK = aC.fcos(aH);var aJ = aC._$9(aH);var aI = this.m[4];this.m[4] = aI * aK + this.m[8] * aJ;this.m[8] = aI * -aJ + this.m[8] * aK;aI = this.m[5];this.m[5] = aI * aK + this.m[9] * aJ;this.m[9] = aI * -aJ + this.m[9] * aK;aI = this.m[6];this.m[6] = aI * aK + this.m[10] * aJ;this.m[10] = aI * -aJ + this.m[10] * aK;aI = this.m[7];this.m[7] = aI * aK + this.m[11] * aJ;this.m[11] = aI * -aJ + this.m[11] * aK;\n };ac.prototype.rotateY = function (aH) {\n var aK = aC.fcos(aH);var aJ = aC._$9(aH);var aI = this.m[0];this.m[0] = aI * aK + this.m[8] * -aJ;this.m[8] = aI * aJ + this.m[8] * aK;aI = this.m[1];this.m[1] = aI * aK + this.m[9] * -aJ;this.m[9] = aI * aJ + this.m[9] * aK;aI = m[2];this.m[2] = aI * aK + this.m[10] * -aJ;this.m[10] = aI * aJ + this.m[10] * aK;aI = m[3];this.m[3] = aI * aK + this.m[11] * -aJ;this.m[11] = aI * aJ + this.m[11] * aK;\n };ac.prototype.rotateZ = function (aH) {\n var aK = aC.fcos(aH);var aJ = aC._$9(aH);var aI = this.m[0];this.m[0] = aI * aK + this.m[4] * aJ;this.m[4] = aI * -aJ + this.m[4] * aK;aI = this.m[1];this.m[1] = aI * aK + this.m[5] * aJ;this.m[5] = aI * -aJ + this.m[5] * aK;aI = this.m[2];this.m[2] = aI * aK + this.m[6] * aJ;this.m[6] = aI * -aJ + this.m[6] * aK;aI = this.m[3];this.m[3] = aI * aK + this.m[7] * aJ;this.m[7] = aI * -aJ + this.m[7] * aK;\n };function Z(aH) {\n if (j) {\n return;\n }ak.prototype.constructor.call(this, aH);\n }Z.prototype = new ak();Z._$tP = new Object();Z._$27 = function () {\n Z._$tP.clear();\n };Z.getID = function (aH) {\n var aI = Z._$tP[aH];if (aI == null) {\n aI = new Z(aH);Z._$tP[aH] = aI;\n }return aI;\n };Z.prototype._$3s = function () {\n return new Z();\n };function aD() {\n if (j) {\n return;\n }this._$7 = 1;this._$f = 0;this._$H = 0;this._$g = 1;this._$k = 0;this._$w = 0;this._$hi = STATE_IDENTITY;this._$Z = _$pS;\n }aD._$kS = -1;aD._$pS = 0;aD._$hb = 1;aD.STATE_IDENTITY = 0;aD._$gb = 1;aD._$fo = 2;aD._$go = 4;aD.prototype.transform = function (aK, aI, aH) {\n var aT, aS, aR, aM, aL, aJ;var aQ = 0;var aN = 0;switch (this._$hi) {default:\n return;case aD._$go | aD._$fo | aD._$gb:\n aT = this._$7;aS = this._$H;aR = this._$k;aM = this._$f;aL = this._$g;aJ = this._$w;while (--aH >= 0) {\n var aP = aK[aQ++];var aO = aK[aQ++];aI[aN++] = aT * aP + aS * aO + aR;aI[aN++] = aM * aP + aL * aO + aJ;\n }return;case aD._$go | aD._$fo:\n aT = this._$7;aS = this._$H;aM = this._$f;aL = this._$g;while (--aH >= 0) {\n var aP = aK[aQ++];var aO = aK[aQ++];aI[aN++] = aT * aP + aS * aO;aI[aN++] = aM * aP + aL * aO;\n }return;case aD._$go | aD._$gb:\n aS = this._$H;aR = this._$k;aM = this._$f;aJ = this._$w;while (--aH >= 0) {\n var aP = aK[aQ++];aI[aN++] = aS * aK[aQ++] + aR;aI[aN++] = aM * aP + aJ;\n }return;case aD._$go:\n aS = this._$H;aM = this._$f;while (--aH >= 0) {\n var aP = aK[aQ++];aI[aN++] = aS * aK[aQ++];aI[aN++] = aM * aP;\n }return;case aD._$fo | aD._$gb:\n aT = this._$7;aR = this._$k;aL = this._$g;aJ = this._$w;while (--aH >= 0) {\n aI[aN++] = aT * aK[aQ++] + aR;aI[aN++] = aL * aK[aQ++] + aJ;\n }return;case aD._$fo:\n aT = this._$7;aL = this._$g;while (--aH >= 0) {\n aI[aN++] = aT * aK[aQ++];aI[aN++] = aL * aK[aQ++];\n }return;case aD._$gb:\n aR = this._$k;aJ = this._$w;while (--aH >= 0) {\n aI[aN++] = aK[aQ++] + aR;aI[aN++] = aK[aQ++] + aJ;\n }return;case aD.STATE_IDENTITY:\n if (aK != aI || aQ != aN) {\n P._$jT(aK, aQ, aI, aN, aH * 2);\n }return;}\n };aD.prototype.update = function () {\n if (this._$H == 0 && this._$f == 0) {\n if (this._$7 == 1 && this._$g == 1) {\n if (this._$k == 0 && this._$w == 0) {\n this._$hi = aD.STATE_IDENTITY;this._$Z = aD._$pS;\n } else {\n this._$hi = aD._$gb;this._$Z = aD._$hb;\n }\n } else {\n if (this._$k == 0 && this._$w == 0) {\n this._$hi = aD._$fo;this._$Z = aD._$kS;\n } else {\n this._$hi = aD._$fo | aD._$gb;this._$Z = aD._$kS;\n }\n }\n } else {\n if (this._$7 == 0 && this._$g == 0) {\n if (this._$k == 0 && this._$w == 0) {\n this._$hi = aD._$go;this._$Z = aD._$kS;\n } else {\n this._$hi = aD._$go | aD._$gb;this._$Z = aD._$kS;\n }\n } else {\n if (this._$k == 0 && this._$w == 0) {\n this._$hi = aD._$go | aD._$fo;this._$Z = aD._$kS;\n } else {\n this._$hi = aD._$go | aD._$fo | aD._$gb;this._$Z = aD._$kS;\n }\n }\n }\n };aD.prototype._$RT = function (aK) {\n this._$IT(aK);var aJ = aK[0];var aH = aK[2];var aN = aK[1];var aM = aK[3];var aI = Math.sqrt(aJ * aJ + aN * aN);var aL = aJ * aM - aH * aN;if (aI == 0) {\n if (Q._$so) {\n console.log(\"affine._$RT() / rt==0\");\n }\n } else {\n aK[0] = aI;aK[1] = aL / aI;aK[2] = (aN * aM + aJ * aH) / aL;aK[3] = Math.atan2(aN, aJ);\n }\n };aD.prototype._$ho = function (aN, aM, aI, aH) {\n var aL = new Float32Array(6);var aK = new Float32Array(6);aN._$RT(aL);aM._$RT(aK);var aJ = new Float32Array(6);aJ[0] = aL[0] + (aK[0] - aL[0]) * aI;aJ[1] = aL[1] + (aK[1] - aL[1]) * aI;aJ[2] = aL[2] + (aK[2] - aL[2]) * aI;aJ[3] = aL[3] + (aK[3] - aL[3]) * aI;aJ[4] = aL[4] + (aK[4] - aL[4]) * aI;aJ[5] = aL[5] + (aK[5] - aL[5]) * aI;aH._$CT(aJ);\n };aD.prototype._$CT = function (aJ) {\n var aI = Math.cos(aJ[3]);var aH = Math.sin(aJ[3]);this._$7 = aJ[0] * aI;this._$f = aJ[0] * aH;this._$H = aJ[1] * (aJ[2] * aI - aH);this._$g = aJ[1] * (aJ[2] * aH + aI);this._$k = aJ[4];this._$w = aJ[5];this.update();\n };aD.prototype._$IT = function (aH) {\n aH[0] = this._$7;aH[1] = this._$f;aH[2] = this._$H;aH[3] = this._$g;aH[4] = this._$k;aH[5] = this._$w;\n };function Y() {\n if (j) {\n return;\n }ah.prototype.constructor.call(this);this.motions = new Array();this._$7r = null;this._$7r = Y._$Co++;this._$D0 = 30;this._$yT = 0;this._$E = true;this.loopFadeIn = true;this._$AS = -1;_$a0();\n }Y.prototype = new ah();Y._$cs = \"VISIBLE:\";Y._$ar = \"LAYOUT:\";Y._$Co = 0;Y._$D2 = [];Y._$1T = 1;Y.loadMotion = function (aR) {\n var aM = new Y();var aI = [0];var aP = aR.length;aM._$yT = 0;for (var aJ = 0; aJ < aP; ++aJ) {\n var aQ = aR[aJ] & 255;if (aQ == \"\\n\" || aQ == \"\\r\") {\n continue;\n }if (aQ == \"#\") {\n for (; aJ < aP; ++aJ) {\n if (aR[aJ] == \"\\n\" || aR[aJ] == \"\\r\") {\n break;\n }\n }continue;\n }if (aQ == \"$\") {\n var aT = aJ;var aK = -1;for (; aJ < aP; ++aJ) {\n aQ = aR[aJ] & 255;if (aQ == \"\\r\" || aQ == \"\\n\") {\n break;\n }if (aQ == \"=\") {\n aK = aJ;break;\n }\n }var aO = false;if (aK >= 0) {\n if (aK == aT + 4 && aR[aT + 1] == \"f\" && aR[aT + 2] == \"p\" && aR[aT + 3] == \"s\") {\n aO = true;\n }for (aJ = aK + 1; aJ < aP; ++aJ) {\n aQ = aR[aJ] & 255;if (aQ == \"\\r\" || aQ == \"\\n\") {\n break;\n }if (aQ == \",\" || aQ == \" \" || aQ == \"\\t\") {\n continue;\n }var aL = G._$LS(aR, aP, aJ, aI);if (aI[0] > 0) {\n if (aO && 5 < aL && aL < 121) {\n aM._$D0 = aL;\n }\n }aJ = aI[0];\n }\n }for (; aJ < aP; ++aJ) {\n if (aR[aJ] == \"\\n\" || aR[aJ] == \"\\r\") {\n break;\n }\n }continue;\n }if (\"a\" <= aQ && aQ <= \"z\" || \"A\" <= aQ && aQ <= \"Z\" || aQ == \"_\") {\n var aT = aJ;var aK = -1;for (; aJ < aP; ++aJ) {\n aQ = aR[aJ] & 255;if (aQ == \"\\r\" || aQ == \"\\n\") {\n break;\n }if (aQ == \"=\") {\n aK = aJ;break;\n }\n }if (aK >= 0) {\n var aN = new t();if (G.startsWith(aR, aT, Y._$cs)) {\n aN._$RP = t._$hs;aN._$4P = new String(aR, aT, aK - aT);\n } else {\n if (G.startsWith(aR, aT, Y._$ar)) {\n aN._$4P = new String(aR, aT + 7, aK - aT - 7);if (G.startsWith(aR, aT + 7, \"ANCHOR_X\")) {\n aN._$RP = t._$xs;\n } else {\n if (G.startsWith(aR, aT + 7, \"ANCHOR_Y\")) {\n aN._$RP = t._$us;\n } else {\n if (G.startsWith(aR, aT + 7, \"SCALE_X\")) {\n aN._$RP = t._$qs;\n } else {\n if (G.startsWith(aR, aT + 7, \"SCALE_Y\")) {\n aN._$RP = t._$Ys;\n } else {\n if (G.startsWith(aR, aT + 7, \"X\")) {\n aN._$RP = t._$ws;\n } else {\n if (G.startsWith(aR, aT + 7, \"Y\")) {\n aN._$RP = t._$Ns;\n }\n }\n }\n }\n }\n }\n } else {\n aN._$RP = t._$Fr;aN._$4P = new String(aR, aT, aK - aT);\n }\n }aM.motions.push(aN);var aS = 0;Y._$D2.clear();for (aJ = aK + 1; aJ < aP; ++aJ) {\n aQ = aR[aJ] & 255;if (aQ == \"\\r\" || aQ == \"\\n\") {\n break;\n }if (aQ == \",\" || aQ == \" \" || aQ == \"\\t\") {\n continue;\n }var aL = G._$LS(aR, aP, aJ, aI);if (aI[0] > 0) {\n Y._$D2.push(aL);aS++;var aH = aI[0];if (aH < aJ) {\n console.log(\"_$n0 _$hi . @Live2DMotion loadMotion()\\n\");break;\n }aJ = aH;\n }\n }aN._$I0 = Y._$D2._$BL();if (aS > aM._$yT) {\n aM._$yT = aS;\n }\n }\n }\n }aM._$AS = 1000 * aM._$yT / aM._$D0 | 0;return aM;\n };Y.prototype.getDurationMSec = function () {\n return this._$AS;\n };Y.prototype.dump = function () {\n for (var aJ = 0; aJ < this.motions.length; aJ++) {\n var aH = this.motions[aJ];console.log(\"_$wL[%s] [%d]. \", aH._$4P, aH._$I0.length);for (var aI = 0; aI < aH._$I0.length && aI < 10; aI++) {\n console.log(\"%5.2f ,\", aH._$I0[aI]);\n }console.log(\"\\n\");\n }\n };Y.prototype.updateParamExe = function (aH, aL, aO, aX) {\n var aM = aL - aX._$z2;var aV = aM * this._$D0 / 1000;var aJ = aV | 0;var aP = aV - aJ;for (var aU = 0; aU < this.motions.length; aU++) {\n var aS = this.motions[aU];var aK = aS._$I0.length;var aQ = aS._$4P;if (aS._$RP == t._$hs) {\n var aT = aS._$I0[aJ >= aK ? aK - 1 : aJ];aH.setParamFloat(aQ, aT);\n } else {\n if (t._$ws <= aS._$RP && aS._$RP <= t._$Ys) {} else {\n var aR = aH.getParamFloat(aQ);var aY = aS._$I0[aJ >= aK ? aK - 1 : aJ];var aW = aS._$I0[aJ + 1 >= aK ? aK - 1 : aJ + 1];var aI = aY + (aW - aY) * aP;var aN = aR + (aI - aR) * aO;aH.setParamFloat(aQ, aN);\n }\n }\n }if (aJ >= this._$yT) {\n if (this._$E) {\n aX._$z2 = aL;if (this.loopFadeIn) {\n aX._$bs = aL;\n }\n } else {\n aX._$9L = true;\n }\n }\n };Y.prototype._$r0 = function () {\n return this._$E;\n };Y.prototype._$aL = function (aH) {\n this._$E = aH;\n };Y.prototype.isLoopFadeIn = function () {\n return this.loopFadeIn;\n };Y.prototype.setLoopFadeIn = function (aH) {\n this.loopFadeIn = aH;\n };function aE() {\n this._$P = new Float32Array(100);this.size = 0;\n }aE.prototype.clear = function () {\n this.size = 0;\n };aE.prototype.add = function (aI) {\n if (this._$P.length <= this.size) {\n var aH = new Float32Array(this.size * 2);P._$jT(this._$P, 0, aH, 0, this.size);this._$P = aH;\n }this._$P[this.size++] = aI;\n };aE.prototype._$BL = function () {\n var aH = new Float32Array(this.size);P._$jT(this._$P, 0, aH, 0, this.size);return aH;\n };function t() {\n this._$4P = null;this._$I0 = null;this._$RP = null;\n }t._$Fr = 0;t._$hs = 1;t._$ws = 100;t._$Ns = 101;t._$xs = 102;t._$us = 103;t._$qs = 104;t._$Ys = 105;function aw() {}aw._$Ms = 1;aw._$Qs = 2;aw._$i2 = 0;aw._$No = 2;aw._$do = aw._$Ms;aw._$Ls = true;aw._$1r = 5;aw._$Qb = 65;aw._$J = 0.0001;aw._$FT = 0.001;aw._$Ss = 3;function ay() {}ay._$o7 = 6;ay._$S7 = 7;ay._$s7 = 8;ay._$77 = 9;ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2 = 10;ay.LIVE2D_FORMAT_VERSION_V2_11_SDK2_1 = 11;ay._$T7 = ay.LIVE2D_FORMAT_VERSION_V2_11_SDK2_1;ay._$Is = -2004318072;ay._$h0 = 0;ay._$4L = 23;ay._$7P = 33;ay._$uT = function (aH) {\n console.log(\"_$bo :: _$6 _$mo _$E0 : %d\\n\", aH);\n };ay._$9o = function (aH) {\n if (aH < 40) {\n ay._$uT(aH);return null;\n } else {\n if (aH < 50) {\n ay._$uT(aH);return null;\n } else {\n if (aH < 60) {\n ay._$uT(aH);return null;\n } else {\n if (aH < 100) {\n switch (aH) {case 65:\n return new E();case 66:\n return new g();case 67:\n return new aA();case 68:\n return new ab();case 69:\n return new X();case 70:\n return new b();default:\n ay._$uT(aH);return null;}\n } else {\n if (aH < 150) {\n switch (aH) {case 131:\n return new f();case 133:\n return new s();case 136:\n return new w();case 137:\n return new an();case 142:\n return new aq();}\n }\n }\n }\n }\n }ay._$uT(aH);return null;\n };function y(aH) {\n if (j) {\n return;\n }this._$QT = true;this._$co = -1;this._$qo = 0;this._$pb = new Array(y._$is);this._$_2 = new Float32Array(y._$is);this._$vr = new Float32Array(y._$is);this._$Rr = new Float32Array(y._$is);this._$Or = new Float32Array(y._$is);this._$fs = new Float32Array(y._$is);this._$Js = new Array(y._$is);this._$3S = new Array();this._$aS = new Array();this._$Bo = null;this._$F2 = new Array();this._$db = new Array();this._$8b = new Array();this._$Hr = new Array();this._$Ws = null;this._$Vs = null;this._$Er = null;this._$Es = new Int16Array(aw._$Qb);this._$ZP = new Float32Array(aw._$1r * 2);this._$Ri = aH;this._$b0 = y._$HP++;this.clipManager = null;this.dp_webgl = null;\n }y._$HP = 0;y._$_0 = true;y._$V2 = -1;y._$W0 = -1;y._$jr = false;y._$ZS = true;y._$tr = -1000000;y._$lr = 1000000;y._$is = 32;y._$e = false;y.prototype.getDrawDataIndex = function (aI) {\n for (var aH = this._$aS.length - 1; aH >= 0; --aH) {\n if (this._$aS[aH] != null && this._$aS[aH].getDrawDataID() == aI) {\n return aH;\n }\n }return -1;\n };y.prototype.getDrawData = function (aH) {\n if (aH instanceof Z) {\n if (this._$Bo == null) {\n this._$Bo = new Object();var aJ = this._$aS.length;for (var aI = 0; aI < aJ; aI++) {\n var aL = this._$aS[aI];var aK = aL.getDrawDataID();if (aK == null) {\n continue;\n }this._$Bo[aK] = aL;\n }\n }return this._$Bo[id];\n } else {\n if (aH < this._$aS.length) {\n return this._$aS[aH];\n } else {\n return null;\n }\n }\n };y.prototype.release = function () {\n this._$3S.clear();this._$aS.clear();this._$F2.clear();if (this._$Bo != null) {\n this._$Bo.clear();\n }this._$db.clear();this._$8b.clear();this._$Hr.clear();\n };y.prototype.init = function () {\n this._$co++;if (this._$F2.length > 0) {\n this.release();\n }var aO = this._$Ri.getModelImpl();var aT = aO._$Xr();var aS = aT.length;var aH = new Array();var a3 = new Array();for (var aV = 0; aV < aS; ++aV) {\n var a4 = aT[aV];this._$F2.push(a4);this._$Hr.push(a4.init(this));var aK = a4.getBaseData();var aR = aK.length;for (var aU = 0; aU < aR; ++aU) {\n aH.push(aK[aU]);\n }for (var aU = 0; aU < aR; ++aU) {\n var aM = aK[aU].init(this);aM._$l2(aV);a3.push(aM);\n }var a1 = a4.getDrawData();var aP = a1.length;for (var aU = 0; aU < aP; ++aU) {\n var aZ = a1[aU];var a0 = aZ.init(this);a0._$IP = aV;this._$aS.push(aZ);this._$8b.push(a0);\n }\n }var aY = aH.length;var aN = n._$2o();while (true) {\n var aX = false;for (var aV = 0; aV < aY; ++aV) {\n var aL = aH[aV];if (aL == null) {\n continue;\n }var a2 = aL.getTargetBaseDataID();if (a2 == null || a2 == aN || this.getBaseDataIndex(a2) >= 0) {\n this._$3S.push(aL);this._$db.push(a3[aV]);aH[aV] = null;aX = true;\n }\n }if (!aX) {\n break;\n }\n }var aI = aO._$E2();if (aI != null) {\n var aJ = aI._$1s();if (aJ != null) {\n var aW = aJ.length;for (var aV = 0; aV < aW; ++aV) {\n var aQ = aJ[aV];if (aQ == null) {\n continue;\n }this._$02(aQ.getParamID(), aQ.getDefaultValue(), aQ.getMinValue(), aQ.getMaxValue());\n }\n }\n }this.clipManager = new W(this.dp_webgl);this.clipManager.init(this, this._$aS, this._$8b);this._$QT = true;\n };y.prototype.update = function () {\n if (y._$e) {\n q.start(\"_$zL\");\n }var aK = this._$_2.length;for (var aW = 0; aW < aK; aW++) {\n if (this._$_2[aW] != this._$vr[aW]) {\n this._$Js[aW] = y._$ZS;this._$vr[aW] = this._$_2[aW];\n }\n }var aX = false;var aQ = this._$3S.length;var aN = this._$aS.length;var aS = a._$or();var aZ = a._$Pr();var aU = aZ - aS + 1;if (this._$Ws == null || this._$Ws.length < aU) {\n this._$Ws = new Int16Array(aU);this._$Vs = new Int16Array(aU);\n }for (var aW = 0; aW < aU; aW++) {\n this._$Ws[aW] = y._$V2;this._$Vs[aW] = y._$V2;\n }if (this._$Er == null || this._$Er.length < aN) {\n this._$Er = new Int16Array(aN);\n }for (var aW = 0; aW < aN; aW++) {\n this._$Er[aW] = y._$W0;\n }if (y._$e) {\n q.dump(\"_$zL\");\n }if (y._$e) {\n q.start(\"_$UL\");\n }var aL = null;for (var aV = 0; aV < aQ; ++aV) {\n var aJ = this._$3S[aV];var aH = this._$db[aV];try {\n aJ._$Nr(this, aH);aJ._$2b(this, aH);\n } catch (aY) {\n if (aL == null) {\n aL = aY;\n }\n }\n }if (aL != null) {\n if (y._$_0) {\n q._$Rb(aL);\n }\n }if (y._$e) {\n q.dump(\"_$UL\");\n }if (y._$e) {\n q.start(\"_$DL\");\n }var aR = null;for (var aO = 0; aO < aN; ++aO) {\n var aM = this._$aS[aO];var aI = this._$8b[aO];try {\n aM._$Nr(this, aI);if (aI._$u2()) {\n continue;\n }aM._$2b(this, aI);var aT = Math.floor(aM._$zS(this, aI) - aS);var aP;try {\n aP = this._$Vs[aT];\n } catch (aY) {\n console.log(\"_$li :: %s / %s \t\t\t\t@@_$fS\\n\", aY.toString(), aM.getDrawDataID().toString());aT = Math.floor(aM._$zS(this, aI) - aS);continue;\n }if (aP == y._$V2) {\n this._$Ws[aT] = aO;\n } else {\n this._$Er[aP] = aO;\n }this._$Vs[aT] = aO;\n } catch (aY) {\n if (aR == null) {\n aR = aY;Q._$sT(Q._$H7);\n }\n }\n }if (aR != null) {\n if (y._$_0) {\n q._$Rb(aR);\n }\n }if (y._$e) {\n q.dump(\"_$DL\");\n }if (y._$e) {\n q.start(\"_$eL\");\n }for (var aW = this._$Js.length - 1; aW >= 0; aW--) {\n this._$Js[aW] = y._$jr;\n }this._$QT = false;if (y._$e) {\n q.dump(\"_$eL\");\n }return aX;\n };y.prototype.preDraw = function (aH) {\n if (this.clipManager != null) {\n aH._$ZT();this.clipManager.setupClip(this, aH);\n }\n };y.prototype.draw = function (aM) {\n if (this._$Ws == null) {\n q._$li(\"call _$Ri.update() before _$Ri.draw() \");return;\n }var aP = this._$Ws.length;aM._$ZT();for (var aK = 0; aK < aP; ++aK) {\n var aN = this._$Ws[aK];if (aN == y._$V2) {\n continue;\n }do {\n var aH = this._$aS[aN];var aI = this._$8b[aN];if (aI._$yo()) {\n var aJ = aI._$IP;var aL = this._$Hr[aJ];aI._$VS = aL.getPartsOpacity();aH.draw(aM, this, aI);\n }var aO = this._$Er[aN];if (aO <= aN || aO == y._$W0) {\n break;\n }aN = aO;\n } while (true);\n }\n };y.prototype.getParamIndex = function (aH) {\n for (var aI = this._$pb.length - 1; aI >= 0; --aI) {\n if (this._$pb[aI] == aH) {\n return aI;\n }\n }return this._$02(aH, 0, y._$tr, y._$lr);\n };y.prototype._$BS = function (aH) {\n return this.getBaseDataIndex(aH);\n };y.prototype.getBaseDataIndex = function (aH) {\n for (var aI = this._$3S.length - 1; aI >= 0; --aI) {\n if (this._$3S[aI] != null && this._$3S[aI].getBaseDataID() == aH) {\n return aI;\n }\n }return -1;\n };y.prototype._$UT = function (aJ, aH) {\n var aI = new Float32Array(aH);P._$jT(aJ, 0, aI, 0, aJ.length);return aI;\n };y.prototype._$02 = function (aN, aM, aL, aH) {\n if (this._$qo >= this._$pb.length) {\n var aK = this._$pb.length;var aJ = new Array(aK * 2);P._$jT(this._$pb, 0, aJ, 0, aK);this._$pb = aJ;this._$_2 = this._$UT(this._$_2, aK * 2);this._$vr = this._$UT(this._$vr, aK * 2);this._$Rr = this._$UT(this._$Rr, aK * 2);this._$Or = this._$UT(this._$Or, aK * 2);var aI = new Array();P._$jT(this._$Js, 0, aI, 0, aK);this._$Js = aI;\n }this._$pb[this._$qo] = aN;this._$_2[this._$qo] = aM;this._$vr[this._$qo] = aM;this._$Rr[this._$qo] = aL;this._$Or[this._$qo] = aH;this._$Js[this._$qo] = y._$ZS;return this._$qo++;\n };y.prototype._$Zo = function (aI, aH) {\n this._$3S[aI] = aH;\n };y.prototype.setParamFloat = function (aH, aI) {\n if (aI < this._$Rr[aH]) {\n aI = this._$Rr[aH];\n }if (aI > this._$Or[aH]) {\n aI = this._$Or[aH];\n }this._$_2[aH] = aI;\n };y.prototype.loadParam = function () {\n var aH = this._$_2.length;if (aH > this._$fs.length) {\n aH = this._$fs.length;\n }P._$jT(this._$fs, 0, this._$_2, 0, aH);\n };y.prototype.saveParam = function () {\n var aH = this._$_2.length;if (aH > this._$fs.length) {\n this._$fs = new Float32Array(aH);\n }P._$jT(this._$_2, 0, this._$fs, 0, aH);\n };y.prototype._$v2 = function () {\n return this._$co;\n };y.prototype._$WS = function () {\n return this._$QT;\n };y.prototype._$Xb = function (aH) {\n return this._$Js[aH] == y._$ZS;\n };y.prototype._$vs = function () {\n return this._$Es;\n };y.prototype._$Tr = function () {\n return this._$ZP;\n };y.prototype.getBaseData = function (aH) {\n return this._$3S[aH];\n };y.prototype.getParamFloat = function (aH) {\n return this._$_2[aH];\n };y.prototype.getParamMax = function (aH) {\n return this._$Or[aH];\n };y.prototype.getParamMin = function (aH) {\n return this._$Rr[aH];\n };y.prototype.setPartsOpacity = function (aJ, aH) {\n var aI = this._$Hr[aJ];aI.setPartsOpacity(aH);\n };y.prototype.getPartsOpacity = function (aI) {\n var aH = this._$Hr[aI];return aH.getPartsOpacity();\n };y.prototype.getPartsDataIndex = function (aI) {\n for (var aH = this._$F2.length - 1; aH >= 0; --aH) {\n if (this._$F2[aH] != null && this._$F2[aH]._$p2() == aI) {\n return aH;\n }\n }return -1;\n };y.prototype._$q2 = function (aH) {\n return this._$db[aH];\n };y.prototype._$C2 = function (aH) {\n return this._$8b[aH];\n };y.prototype._$Bb = function (aH) {\n return this._$Hr[aH];\n };y.prototype._$5s = function (aO, aK) {\n var aJ = this._$Ws.length;var aN = aO;for (var aL = 0; aL < aJ; ++aL) {\n var aI = this._$Ws[aL];if (aI == y._$V2) {\n continue;\n }do {\n var aM = this._$8b[aI];if (aM._$yo()) {\n aM._$GT()._$B2(this, aM, aN);aN += aK;\n }var aH = this._$Er[aI];if (aH <= aI || aH == y._$W0) {\n break;\n }aI = aH;\n } while (true);\n }\n };y.prototype.setDrawParam = function (aH) {\n this.dp_webgl = aH;\n };y.prototype.getDrawParam = function () {\n return this.dp_webgl;\n };function ap() {}ap._$0T = function (aH) {\n return ap._$0T(new _$5(aH));\n };ap._$0T = function (aJ) {\n if (!aJ.exists()) {\n throw new _$ls(aJ._$3b());\n }var aH = aJ.length();var aI = new Int8Array(aH);var aM = new _$Xs(new _$kb(aJ), 8192);var aK;var aL = 0;while ((aK = aM.read(aI, aL, aH - aL)) > 0) {\n aL += aK;\n }return aI;\n };ap._$C = function (aJ) {\n var aI = null;var aL = null;try {\n aI = aJ instanceof Array ? aJ : new _$Xs(aJ, 8192);aL = new _$js();var aM = 1000;var aK;var aH = new Int8Array(aM);while ((aK = aI.read(aH)) > 0) {\n aL.write(aH, 0, aK);\n }return aL._$TS();\n } finally {\n if (aJ != null) {\n aJ.close();\n }if (aL != null) {\n aL.flush();aL.close();\n }\n }\n };function ar() {\n if (j) {\n return;\n }this._$12 = null;this._$bb = null;this._$_L = null;this._$jo = null;this._$iL = null;this._$0L = null;this._$Br = null;this._$Dr = null;this._$Cb = null;this._$mr = null;this._$_L = az.STATE_FIRST;this._$Br = 4000;this._$Dr = 100;this._$Cb = 50;this._$mr = 150;this._$jo = true;this._$iL = \"PARAM_EYE_L_OPEN\";this._$0L = \"PARAM_EYE_R_OPEN\";\n }ar.prototype._$T2 = function () {\n var aI = P.getUserTimeMSec();var aH = Math._$10();return aI + aH * (2 * this._$Br - 1);\n };ar.prototype._$uo = function (aH) {\n this._$Br = aH;\n };ar.prototype._$QS = function (aI, aH, aJ) {\n this._$Dr = aI;this._$Cb = aH;this._$mr = aJ;\n };ar.prototype._$7T = function (aI) {\n var aK = P.getUserTimeMSec();var aH;var aJ = 0;switch (this._$_L) {case STATE_CLOSING:\n aJ = (aK - this._$bb) / this._$Dr;if (aJ >= 1) {\n aJ = 1;this._$_L = az.STATE_CLOSED;this._$bb = aK;\n }aH = 1 - aJ;break;case STATE_CLOSED:\n aJ = (aK - this._$bb) / this._$Cb;if (aJ >= 1) {\n this._$_L = az.STATE_OPENING;this._$bb = aK;\n }aH = 0;break;case STATE_OPENING:\n aJ = (aK - this._$bb) / this._$mr;if (aJ >= 1) {\n aJ = 1;this._$_L = az.STATE_INTERVAL;this._$12 = this._$T2();\n }aH = aJ;break;case STATE_INTERVAL:\n if (this._$12 < aK) {\n this._$_L = az.STATE_CLOSING;this._$bb = aK;\n }aH = 1;break;case STATE_FIRST:default:\n this._$_L = az.STATE_INTERVAL;this._$12 = this._$T2();aH = 1;break;}if (!this._$jo) {\n aH = -aH;\n }aI.setParamFloat(this._$iL, aH);aI.setParamFloat(this._$0L, aH);\n };var az = function az() {};az.STATE_FIRST = \"STATE_FIRST\";az.STATE_INTERVAL = \"STATE_INTERVAL\";az.STATE_CLOSING = \"STATE_CLOSING\";az.STATE_CLOSED = \"STATE_CLOSED\";az.STATE_OPENING = \"STATE_OPENING\";function x() {\n if (j) {\n return;\n }ax.prototype.constructor.call(this);this._$sb = new Int32Array(x._$As);this._$U2 = new Array();this.transform = null;this.gl = null;if (x._$NT == null) {\n x._$NT = x._$9r(256);x._$vS = x._$9r(256);x._$no = x._$vb(256);\n }\n }x.prototype = new ax();x._$As = 32;x._$Gr = false;x._$NT = null;x._$vS = null;x._$no = null;x._$9r = function (aH) {\n var aI = new Float32Array(aH);return aI;\n };x._$vb = function (aH) {\n var aI = new Int16Array(aH);return aI;\n };x._$cr = function (aI, aH) {\n if (aI == null || aI._$yL() < aH.length) {\n aI = x._$9r(aH.length * 2);aI.put(aH);aI._$oT(0);\n } else {\n aI.clear();aI.put(aH);aI._$oT(0);\n }return aI;\n };x._$mb = function (aI, aH) {\n if (aI == null || aI._$yL() < aH.length) {\n aI = x._$vb(aH.length * 2);aI.put(aH);aI._$oT(0);\n } else {\n aI.clear();aI.put(aH);aI._$oT(0);\n }return aI;\n };x._$Hs = function () {\n return x._$Gr;\n };x._$as = function (aH) {\n x._$Gr = aH;\n };x.prototype.setGL = function (aH) {\n this.gl = aH;\n };x.prototype.setTransform = function (aH) {\n this.transform = aH;\n };x.prototype._$ZT = function () {};x.prototype._$Uo = function (aO, aH, aP, aI, aQ, aM, aK, aJ) {\n if (aM < 0.01) {\n return;\n }var aL = this._$U2[aO];var aN = aM > 0.9 ? Q.EXPAND_W : 0;this.gl.drawElements(aL, aP, aI, aQ, aM, aN, this.transform, aJ);\n };x.prototype._$Rs = function () {\n throw new Error(\"_$Rs\");\n };x.prototype._$Ds = function (aH) {\n throw new Error(\"_$Ds\");\n };x.prototype._$K2 = function () {\n for (var aH = 0; aH < this._$sb.length; aH++) {\n var aI = this._$sb[aH];if (aI != 0) {\n this.gl._$Sr(1, this._$sb, aH);this._$sb[aH] = 0;\n }\n }\n };x.prototype.setTexture = function (aI, aH) {\n if (this._$sb.length < aI + 1) {\n this._$nS(aI);\n }this._$sb[aI] = aH;\n };x.prototype.setTexture = function (aH, aI) {\n if (this._$sb.length < aH + 1) {\n this._$nS(aH);\n }this._$U2[aH] = aI;\n };x.prototype._$nS = function (aH) {\n var aK = Math.max(this._$sb.length * 2, aH + 1 + 10);var aI = new Int32Array(aK);P._$jT(this._$sb, 0, aI, 0, this._$sb.length);this._$sb = aI;var aJ = new Array();P._$jT(this._$U2, 0, aJ, 0, this._$U2.length);this._$U2 = aJ;\n };function ab() {\n if (j) {\n return;\n }c.prototype.constructor.call(this);this._$GS = null;this._$Y0 = null;\n }ab.prototype = new c();ab._$Xo = new Float32Array(2);ab._$io = new Float32Array(2);ab._$0o = new Float32Array(2);ab._$Lo = new Float32Array(2);ab._$To = new Float32Array(2);ab._$Po = new Float32Array(2);ab._$gT = new Array();ab.prototype._$zP = function () {\n this._$GS = new g();this._$GS._$zP();this._$Y0 = new Array();\n };ab.prototype.getType = function () {\n return c._$c2;\n };ab.prototype._$F0 = function (aH) {\n c.prototype._$F0.call(this, aH);this._$GS = aH._$nP();this._$Y0 = aH._$nP();c.prototype.readV2_opacity.call(this, aH);\n };ab.prototype.init = function (aH) {\n var aI = new al(this);aI._$Yr = new X();if (this._$32()) {\n aI._$Wr = new X();\n }return aI;\n };ab.prototype._$Nr = function (bf, bx) {\n if (!(this == bx._$GT())) {\n console.log(\"### assert!! ### \");\n }var bm = bx;if (!this._$GS._$Ur(bf)) {\n return;\n }var bw = ab._$gT;bw[0] = false;var a2 = this._$GS._$Q2(bf, bw);bx._$Ib(bw[0]);this.interpolateOpacity(bf, this._$GS, bx, bw);var a3 = bf._$vs();var ba = bf._$Tr();this._$GS._$zr(a3, ba, a2);if (a2 <= 0) {\n var bn = this._$Y0[a3[0]];bm._$Yr.init(bn);\n } else {\n if (a2 == 1) {\n var bn = this._$Y0[a3[0]];var bl = this._$Y0[a3[1]];var a9 = ba[0];bm._$Yr._$fL = bn._$fL + (bl._$fL - bn._$fL) * a9;bm._$Yr._$gL = bn._$gL + (bl._$gL - bn._$gL) * a9;bm._$Yr._$B0 = bn._$B0 + (bl._$B0 - bn._$B0) * a9;bm._$Yr._$z0 = bn._$z0 + (bl._$z0 - bn._$z0) * a9;bm._$Yr._$qT = bn._$qT + (bl._$qT - bn._$qT) * a9;\n } else {\n if (a2 == 2) {\n var bn = this._$Y0[a3[0]];var bl = this._$Y0[a3[1]];var a1 = this._$Y0[a3[2]];var a0 = this._$Y0[a3[3]];var a9 = ba[0];var a8 = ba[1];var bC = bn._$fL + (bl._$fL - bn._$fL) * a9;var bB = a1._$fL + (a0._$fL - a1._$fL) * a9;bm._$Yr._$fL = bC + (bB - bC) * a8;bC = bn._$gL + (bl._$gL - bn._$gL) * a9;bB = a1._$gL + (a0._$gL - a1._$gL) * a9;bm._$Yr._$gL = bC + (bB - bC) * a8;bC = bn._$B0 + (bl._$B0 - bn._$B0) * a9;bB = a1._$B0 + (a0._$B0 - a1._$B0) * a9;bm._$Yr._$B0 = bC + (bB - bC) * a8;bC = bn._$z0 + (bl._$z0 - bn._$z0) * a9;bB = a1._$z0 + (a0._$z0 - a1._$z0) * a9;bm._$Yr._$z0 = bC + (bB - bC) * a8;bC = bn._$qT + (bl._$qT - bn._$qT) * a9;bB = a1._$qT + (a0._$qT - a1._$qT) * a9;bm._$Yr._$qT = bC + (bB - bC) * a8;\n } else {\n if (a2 == 3) {\n var aP = this._$Y0[a3[0]];var aO = this._$Y0[a3[1]];var bu = this._$Y0[a3[2]];var bs = this._$Y0[a3[3]];var aK = this._$Y0[a3[4]];var aJ = this._$Y0[a3[5]];var bj = this._$Y0[a3[6]];var bi = this._$Y0[a3[7]];var a9 = ba[0];var a8 = ba[1];var a6 = ba[2];var bC = aP._$fL + (aO._$fL - aP._$fL) * a9;var bB = bu._$fL + (bs._$fL - bu._$fL) * a9;var bz = aK._$fL + (aJ._$fL - aK._$fL) * a9;var by = bj._$fL + (bi._$fL - bj._$fL) * a9;bm._$Yr._$fL = (1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8);bC = aP._$gL + (aO._$gL - aP._$gL) * a9;bB = bu._$gL + (bs._$gL - bu._$gL) * a9;bz = aK._$gL + (aJ._$gL - aK._$gL) * a9;by = bj._$gL + (bi._$gL - bj._$gL) * a9;bm._$Yr._$gL = (1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8);bC = aP._$B0 + (aO._$B0 - aP._$B0) * a9;bB = bu._$B0 + (bs._$B0 - bu._$B0) * a9;bz = aK._$B0 + (aJ._$B0 - aK._$B0) * a9;by = bj._$B0 + (bi._$B0 - bj._$B0) * a9;bm._$Yr._$B0 = (1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8);bC = aP._$z0 + (aO._$z0 - aP._$z0) * a9;bB = bu._$z0 + (bs._$z0 - bu._$z0) * a9;bz = aK._$z0 + (aJ._$z0 - aK._$z0) * a9;by = bj._$z0 + (bi._$z0 - bj._$z0) * a9;bm._$Yr._$z0 = (1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8);bC = aP._$qT + (aO._$qT - aP._$qT) * a9;bB = bu._$qT + (bs._$qT - bu._$qT) * a9;bz = aK._$qT + (aJ._$qT - aK._$qT) * a9;by = bj._$qT + (bi._$qT - bj._$qT) * a9;bm._$Yr._$qT = (1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8);\n } else {\n if (a2 == 4) {\n var aT = this._$Y0[a3[0]];var aS = this._$Y0[a3[1]];var bE = this._$Y0[a3[2]];var bD = this._$Y0[a3[3]];var aN = this._$Y0[a3[4]];var aM = this._$Y0[a3[5]];var bp = this._$Y0[a3[6]];var bo = this._$Y0[a3[7]];var bh = this._$Y0[a3[8]];var bg = this._$Y0[a3[9]];var aY = this._$Y0[a3[10]];var aW = this._$Y0[a3[11]];var a7 = this._$Y0[a3[12]];var a5 = this._$Y0[a3[13]];var aR = this._$Y0[a3[14]];var aQ = this._$Y0[a3[15]];var a9 = ba[0];var a8 = ba[1];var a6 = ba[2];var a4 = ba[3];var bC = aT._$fL + (aS._$fL - aT._$fL) * a9;var bB = bE._$fL + (bD._$fL - bE._$fL) * a9;var bz = aN._$fL + (aM._$fL - aN._$fL) * a9;var by = bp._$fL + (bo._$fL - bp._$fL) * a9;var bv = bh._$fL + (bg._$fL - bh._$fL) * a9;var bt = aY._$fL + (aW._$fL - aY._$fL) * a9;var br = a7._$fL + (a5._$fL - a7._$fL) * a9;var bq = aR._$fL + (aQ._$fL - aR._$fL) * a9;bm._$Yr._$fL = (1 - a4) * ((1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8)) + a4 * ((1 - a6) * (bv + (bt - bv) * a8) + a6 * (br + (bq - br) * a8));bC = aT._$gL + (aS._$gL - aT._$gL) * a9;bB = bE._$gL + (bD._$gL - bE._$gL) * a9;bz = aN._$gL + (aM._$gL - aN._$gL) * a9;by = bp._$gL + (bo._$gL - bp._$gL) * a9;bv = bh._$gL + (bg._$gL - bh._$gL) * a9;bt = aY._$gL + (aW._$gL - aY._$gL) * a9;br = a7._$gL + (a5._$gL - a7._$gL) * a9;bq = aR._$gL + (aQ._$gL - aR._$gL) * a9;bm._$Yr._$gL = (1 - a4) * ((1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8)) + a4 * ((1 - a6) * (bv + (bt - bv) * a8) + a6 * (br + (bq - br) * a8));bC = aT._$B0 + (aS._$B0 - aT._$B0) * a9;bB = bE._$B0 + (bD._$B0 - bE._$B0) * a9;bz = aN._$B0 + (aM._$B0 - aN._$B0) * a9;by = bp._$B0 + (bo._$B0 - bp._$B0) * a9;bv = bh._$B0 + (bg._$B0 - bh._$B0) * a9;bt = aY._$B0 + (aW._$B0 - aY._$B0) * a9;br = a7._$B0 + (a5._$B0 - a7._$B0) * a9;bq = aR._$B0 + (aQ._$B0 - aR._$B0) * a9;bm._$Yr._$B0 = (1 - a4) * ((1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8)) + a4 * ((1 - a6) * (bv + (bt - bv) * a8) + a6 * (br + (bq - br) * a8));bC = aT._$z0 + (aS._$z0 - aT._$z0) * a9;bB = bE._$z0 + (bD._$z0 - bE._$z0) * a9;bz = aN._$z0 + (aM._$z0 - aN._$z0) * a9;by = bp._$z0 + (bo._$z0 - bp._$z0) * a9;bv = bh._$z0 + (bg._$z0 - bh._$z0) * a9;bt = aY._$z0 + (aW._$z0 - aY._$z0) * a9;br = a7._$z0 + (a5._$z0 - a7._$z0) * a9;bq = aR._$z0 + (aQ._$z0 - aR._$z0) * a9;bm._$Yr._$z0 = (1 - a4) * ((1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8)) + a4 * ((1 - a6) * (bv + (bt - bv) * a8) + a6 * (br + (bq - br) * a8));bC = aT._$qT + (aS._$qT - aT._$qT) * a9;bB = bE._$qT + (bD._$qT - bE._$qT) * a9;bz = aN._$qT + (aM._$qT - aN._$qT) * a9;by = bp._$qT + (bo._$qT - bp._$qT) * a9;bv = bh._$qT + (bg._$qT - bh._$qT) * a9;bt = aY._$qT + (aW._$qT - aY._$qT) * a9;br = a7._$qT + (a5._$qT - a7._$qT) * a9;bq = aR._$qT + (aQ._$qT - aR._$qT) * a9;bm._$Yr._$qT = (1 - a4) * ((1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8)) + a4 * ((1 - a6) * (bv + (bt - bv) * a8) + a6 * (br + (bq - br) * a8));\n } else {\n var aV = Math.pow(2, a2) | 0;var aZ = new Float32Array(aV);for (var bk = 0; bk < aV; bk++) {\n var aI = bk;var aH = 1;for (var aL = 0; aL < a2; aL++) {\n aH *= aI % 2 == 0 ? 1 - ba[aL] : ba[aL];aI /= 2;\n }aZ[bk] = aH;\n }var bA = new Array();for (var aU = 0; aU < aV; aU++) {\n bA[aU] = this._$Y0[a3[aU]];\n }var be = 0,\n bc = 0,\n bd = 0,\n bb = 0,\n aX = 0;for (var aU = 0; aU < aV; aU++) {\n be += aZ[aU] * bA[aU]._$fL;bc += aZ[aU] * bA[aU]._$gL;bd += aZ[aU] * bA[aU]._$B0;bb += aZ[aU] * bA[aU]._$z0;aX += aZ[aU] * bA[aU]._$qT;\n }bm._$Yr._$fL = be;bm._$Yr._$gL = bc;bm._$Yr._$B0 = bd;bm._$Yr._$z0 = bb;bm._$Yr._$qT = aX;\n }\n }\n }\n }\n }var bn = this._$Y0[a3[0]];bm._$Yr.reflectX = bn.reflectX;bm._$Yr.reflectY = bn.reflectY;\n };ab.prototype._$2b = function (aM, aH) {\n if (!(this == aH._$GT())) {\n console.log(\"### assert!! ### \");\n }var aR = aH;aR._$hS(true);if (!this._$32()) {\n aR.setTotalScale_notForClient(aR._$Yr._$B0);aR.setTotalOpacity(aR.getInterpolatedOpacity());\n } else {\n var aT = this.getTargetBaseDataID();if (aR._$8r == c._$ur) {\n aR._$8r = aM.getBaseDataIndex(aT);\n }if (aR._$8r < 0) {\n if (Q._$so) {\n q._$li(\"_$L _$0P _$G :: %s\", aT);\n }aR._$hS(false);\n } else {\n var aI = aM.getBaseData(aR._$8r);if (aI != null) {\n var aL = aM._$q2(aR._$8r);var aS = ab._$Xo;aS[0] = aR._$Yr._$fL;aS[1] = aR._$Yr._$gL;var aJ = ab._$io;aJ[0] = 0;aJ[1] = -0.1;var aO = aL._$GT().getType();if (aO == c._$c2) {\n aJ[1] = -10;\n } else {\n aJ[1] = -0.1;\n }var aQ = ab._$0o;this._$Jr(aM, aI, aL, aS, aJ, aQ);var aP = aC._$92(aJ, aQ);aI._$nb(aM, aL, aS, aS, 1, 0, 2);aR._$Wr._$fL = aS[0];aR._$Wr._$gL = aS[1];aR._$Wr._$B0 = aR._$Yr._$B0;aR._$Wr._$z0 = aR._$Yr._$z0;aR._$Wr._$qT = aR._$Yr._$qT - aP * aC._$NS;var aK = aL.getTotalScale();aR.setTotalScale_notForClient(aK * aR._$Wr._$B0);var aN = aL.getTotalOpacity();aR.setTotalOpacity(aN * aR.getInterpolatedOpacity());aR._$Wr.reflectX = aR._$Yr.reflectX;aR._$Wr.reflectY = aR._$Yr.reflectY;aR._$hS(aL._$yo());\n } else {\n aR._$hS(false);\n }\n }\n }\n };ab.prototype._$nb = function (aJ, aR, aL, a4, aT, aO, a2) {\n if (!(this == aR._$GT())) {\n console.log(\"### assert!! ### \");\n }var aH = aR;var aU = aH._$Wr != null ? aH._$Wr : aH._$Yr;var a0 = Math.sin(aC._$bS * aU._$qT);var aP = Math.cos(aC._$bS * aU._$qT);var a3 = aH.getTotalScale();var aW = aU.reflectX ? -1 : 1;var aV = aU.reflectY ? -1 : 1;var aS = aP * a3 * aW;var aQ = -a0 * a3 * aV;var a1 = a0 * a3 * aW;var aZ = aP * a3 * aV;var aY = aU._$fL;var aX = aU._$gL;var aN, aM;var aI = aT * a2;for (var aK = aO; aK < aI; aK += a2) {\n aN = aL[aK];aM = aL[aK + 1];a4[aK] = aS * aN + aQ * aM + aY;a4[aK + 1] = a1 * aN + aZ * aM + aX;\n }\n };ab.prototype._$Jr = function (aP, aK, aI, aR, aQ, aH) {\n if (!(aK == aI._$GT())) {\n console.log(\"### assert!! ### \");\n }var aO = ab._$Lo;ab._$Lo[0] = aR[0];ab._$Lo[1] = aR[1];aK._$nb(aP, aI, aO, aO, 1, 0, 2);var aL = ab._$To;var aS = ab._$Po;var aN = 10;var aJ = 1;for (var aM = 0; aM < aN; aM++) {\n aS[0] = aR[0] + aJ * aQ[0];aS[1] = aR[1] + aJ * aQ[1];aK._$nb(aP, aI, aS, aL, 1, 0, 2);aL[0] -= aO[0];aL[1] -= aO[1];if (aL[0] != 0 || aL[1] != 0) {\n aH[0] = aL[0];aH[1] = aL[1];return;\n }aS[0] = aR[0] - aJ * aQ[0];aS[1] = aR[1] - aJ * aQ[1];aK._$nb(aP, aI, aS, aL, 1, 0, 2);aL[0] -= aO[0];aL[1] -= aO[1];if (aL[0] != 0 || aL[1] != 0) {\n aL[0] = -aL[0];aL[0] = -aL[0];aH[0] = aL[0];aH[1] = aL[1];return;\n }aJ *= 0.1;\n }if (Q._$so) {\n console.log(\"_$L0 to transform _$SP\\n\");\n }\n };function al(aH) {\n B.prototype.constructor.call(this, aH);this._$8r = c._$ur;this._$Yr = null;this._$Wr = null;\n }al.prototype = new B();function a() {\n if (j) {\n return;\n }ae.prototype.constructor.call(this);this._$gP = null;this._$dr = null;this._$GS = null;this._$qb = null;this._$Lb = null;this._$mS = null;\n }a.prototype = new ae();a._$ur = -2;a._$ES = 500;a._$wb = 2;a._$8S = 3;a._$os = 4;a._$52 = a._$ES;a._$R2 = a._$ES;a._$Sb = function (aJ) {\n for (var aI = aJ.length - 1; aI >= 0; --aI) {\n var aH = aJ[aI];if (aH < a._$52) {\n a._$52 = aH;\n } else {\n if (aH > a._$R2) {\n a._$R2 = aH;\n }\n }\n }\n };a._$or = function () {\n return a._$52;\n };a._$Pr = function () {\n return a._$R2;\n };a.prototype._$F0 = function (aH) {\n this._$gP = aH._$nP();this._$dr = aH._$nP();this._$GS = aH._$nP();this._$qb = aH._$6L();this._$Lb = aH._$cS();this._$mS = aH._$Tb();if (aH.getFormatVersion() >= ay._$T7) {\n this.clipID = aH._$nP();this.clipIDList = this.convertClipIDForV2_11(this.clipID);\n } else {\n this.clipIDList = null;\n }a._$Sb(this._$Lb);\n };a.prototype.getClipIDList = function () {\n return this.clipIDList;\n };a.prototype._$Nr = function (aI, aH) {\n aH._$IS[0] = false;aH._$Us = aG._$Z2(aI, this._$GS, aH._$IS, this._$Lb);if (Q._$Zs) {} else {\n if (aH._$IS[0]) {\n return;\n }\n }aH._$7s = aG._$br(aI, this._$GS, aH._$IS, this._$mS);\n };a.prototype._$2b = function (aH) {};a.prototype.getDrawDataID = function () {\n return this._$gP;\n };a.prototype._$j2 = function (aH) {\n this._$gP = aH;\n };a.prototype.getOpacity = function (aH, aI) {\n return aI._$7s;\n };a.prototype._$zS = function (aH, aI) {\n return aI._$Us;\n };a.prototype.getTargetBaseDataID = function () {\n return this._$dr;\n };a.prototype._$gs = function (aH) {\n this._$dr = aH;\n };a.prototype._$32 = function () {\n return this._$dr != null && this._$dr != n._$2o();\n };a.prototype.getType = function () {};function aq() {\n if (j) {\n return;\n }this._$NL = null;this._$3S = null;this._$aS = null;aq._$42++;\n }aq._$42 = 0;aq.prototype._$1b = function () {\n return this._$3S;\n };aq.prototype.getDrawDataList = function () {\n return this._$aS;\n };aq.prototype._$F0 = function (aH) {\n this._$NL = aH._$nP();this._$aS = aH._$nP();this._$3S = aH._$nP();\n };aq.prototype._$kr = function (aH) {\n aH._$Zo(this._$3S);aH._$xo(this._$aS);this._$3S = null;this._$aS = null;\n };function v() {\n if (j) {\n return;\n }aa.prototype.constructor.call(this);this._$zo = new x();\n }v.prototype = new aa();v.loadModel = function (aI) {\n var aH = new v();aa._$62(aH, aI);return aH;\n };v.loadModel = function (aI) {\n var aH = new v();aa._$62(aH, aI);return aH;\n };v._$to = function () {\n var aH = new v();return aH;\n };v._$er = function (aM) {\n var aJ = new _$5(\"../_$_r/_$t0/_$Ri/_$_P._$d\");if (aJ.exists() == false) {\n throw new _$ls(\"_$t0 _$_ _$6 _$Ui :: \" + aJ._$PL());\n }var aH = [\"../_$_r/_$t0/_$Ri/_$_P.512/_$CP._$1\", \"../_$_r/_$t0/_$Ri/_$_P.512/_$vP._$1\", \"../_$_r/_$t0/_$Ri/_$_P.512/_$EP._$1\", \"../_$_r/_$t0/_$Ri/_$_P.512/_$pP._$1\"];var aK = v.loadModel(aJ._$3b());for (var aI = 0; aI < aH.length; aI++) {\n var aL = new _$5(aH[aI]);if (aL.exists() == false) {\n throw new _$ls(\"_$t0 _$_ _$6 _$Ui :: \" + aL._$PL());\n }aK.setTexture(aI, _$nL._$_o(aM, aL._$3b()));\n }return aK;\n };v.prototype.setGL = function (aH) {\n this._$zo.setGL(aH);\n };v.prototype.setTransform = function (aH) {\n this._$zo.setTransform(aH);\n };v.prototype.draw = function () {\n this._$5S.draw(this._$zo);\n };v.prototype._$K2 = function () {\n this._$zo._$K2();\n };v.prototype.setTexture = function (aI, aH) {\n if (this._$zo == null) {\n q._$li(\"_$Yi for QT _$ki / _$XS() is _$6 _$ui!!\");\n }this._$zo.setTexture(aI, aH);\n };v.prototype.setTexture = function (aI, aH) {\n if (this._$zo == null) {\n q._$li(\"_$Yi for QT _$ki / _$XS() is _$6 _$ui!!\");\n }this._$zo.setTexture(aI, aH);\n };v.prototype._$Rs = function () {\n return this._$zo._$Rs();\n };v.prototype._$Ds = function (aH) {\n this._$zo._$Ds(aH);\n };v.prototype.getDrawParam = function () {\n return this._$zo;\n };function ao() {\n if (j) {\n return;\n }ah.prototype.constructor.call(this);this.motions = new Array();this._$o2 = null;this._$7r = ao._$Co++;this._$D0 = 30;this._$yT = 0;this._$E = false;this.loopFadeIn = true;this._$rr = -1;this._$eP = 0;\n }ao.prototype = new ah();ao._$cs = \"VISIBLE:\";ao._$ar = \"LAYOUT:\";ao.MTN_PREFIX_FADEIN = \"FADEIN:\";ao.MTN_PREFIX_FADEOUT = \"FADEOUT:\";ao._$Co = 0;ao._$1T = 1;ao.loadMotion = function (aJ) {\n var aI = ap._$C(aJ);var aH = ao.loadMotion(aI);return aH;\n };function p(aI, aH) {\n return String.fromCharCode(aI.getUint8(aH));\n }ao.loadMotion = function (aT) {\n if (aT instanceof ArrayBuffer) {\n aT = new DataView(aT);\n }var aN = new ao();var aI = [0];var aQ = aT.byteLength;aN._$yT = 0;for (var aJ = 0; aJ < aQ; ++aJ) {\n var aS = p(aT, aJ);var aL = aS.charCodeAt(0);if (aS == \"\\n\" || aS == \"\\r\") {\n continue;\n }if (aS == \"#\") {\n for (; aJ < aQ; ++aJ) {\n if (p(aT, aJ) == \"\\n\" || p(aT, aJ) == \"\\r\") {\n break;\n }\n }continue;\n }if (aS == \"$\") {\n var aV = aJ;var aK = -1;for (; aJ < aQ; ++aJ) {\n aS = p(aT, aJ);if (aS == \"\\r\" || aS == \"\\n\") {\n break;\n }if (aS == \"=\") {\n aK = aJ;break;\n }\n }var aP = false;if (aK >= 0) {\n if (aK == aV + 4 && p(aT, aV + 1) == \"f\" && p(aT, aV + 2) == \"p\" && p(aT, aV + 3) == \"s\") {\n aP = true;\n }for (aJ = aK + 1; aJ < aQ; ++aJ) {\n aS = p(aT, aJ);if (aS == \"\\r\" || aS == \"\\n\") {\n break;\n }if (aS == \",\" || aS == \" \" || aS == \"\\t\") {\n continue;\n }var aM = G._$LS(aT, aQ, aJ, aI);if (aI[0] > 0) {\n if (aP && 5 < aM && aM < 121) {\n aN._$D0 = aM;\n }\n }aJ = aI[0];\n }\n }for (; aJ < aQ; ++aJ) {\n if (p(aT, aJ) == \"\\n\" || p(aT, aJ) == \"\\r\") {\n break;\n }\n }continue;\n }if (97 <= aL && aL <= 122 || 65 <= aL && aL <= 90 || aS == \"_\") {\n var aV = aJ;var aK = -1;for (; aJ < aQ; ++aJ) {\n aS = p(aT, aJ);if (aS == \"\\r\" || aS == \"\\n\") {\n break;\n }if (aS == \"=\") {\n aK = aJ;break;\n }\n }if (aK >= 0) {\n var aO = new t();if (G.startsWith(aT, aV, ao._$cs)) {\n aO._$RP = t._$hs;aO._$4P = G.createString(aT, aV, aK - aV);\n } else {\n if (G.startsWith(aT, aV, ao._$ar)) {\n aO._$4P = G.createString(aT, aV + 7, aK - aV - 7);if (G.startsWith(aT, aV + 7, \"ANCHOR_X\")) {\n aO._$RP = t._$xs;\n } else {\n if (G.startsWith(aT, aV + 7, \"ANCHOR_Y\")) {\n aO._$RP = t._$us;\n } else {\n if (G.startsWith(aT, aV + 7, \"SCALE_X\")) {\n aO._$RP = t._$qs;\n } else {\n if (G.startsWith(aT, aV + 7, \"SCALE_Y\")) {\n aO._$RP = t._$Ys;\n } else {\n if (G.startsWith(aT, aV + 7, \"X\")) {\n aO._$RP = t._$ws;\n } else {\n if (G.startsWith(aT, aV + 7, \"Y\")) {\n aO._$RP = t._$Ns;\n }\n }\n }\n }\n }\n }\n } else {\n aO._$RP = t._$Fr;aO._$4P = G.createString(aT, aV, aK - aV);\n }\n }aN.motions.push(aO);var aU = 0;var aR = [];for (aJ = aK + 1; aJ < aQ; ++aJ) {\n aS = p(aT, aJ);if (aS == \"\\r\" || aS == \"\\n\") {\n break;\n }if (aS == \",\" || aS == \" \" || aS == \"\\t\") {\n continue;\n }var aM = G._$LS(aT, aQ, aJ, aI);if (aI[0] > 0) {\n aR.push(aM);aU++;var aH = aI[0];if (aH < aJ) {\n console.log(\"_$n0 _$hi . @Live2DMotion loadMotion()\\n\");break;\n }aJ = aH - 1;\n }\n }aO._$I0 = new Float32Array(aR);if (aU > aN._$yT) {\n aN._$yT = aU;\n }\n }\n }\n }aN._$rr = 1000 * aN._$yT / aN._$D0 | 0;return aN;\n };ao.prototype.getDurationMSec = function () {\n return this._$E ? -1 : this._$rr;\n };ao.prototype.getLoopDurationMSec = function () {\n return this._$rr;\n };ao.prototype.dump = function () {\n for (var aJ = 0; aJ < this.motions.length; aJ++) {\n var aH = this.motions[aJ];console.log(\"_$wL[%s] [%d]. \", aH._$4P, aH._$I0.length);for (var aI = 0; aI < aH._$I0.length && aI < 10; aI++) {\n console.log(\"%5.2f ,\", aH._$I0[aI]);\n }console.log(\"\\n\");\n }\n };ao.prototype.updateParamExe = function (aJ, aN, aQ, a3) {\n var aO = aN - a3._$z2;var a0 = aO * this._$D0 / 1000;var aK = a0 | 0;var aR = a0 - aK;for (var aZ = 0; aZ < this.motions.length; aZ++) {\n var aV = this.motions[aZ];var aL = aV._$I0.length;var aT = aV._$4P;if (aV._$RP == t._$hs) {\n var aX = aV._$I0[aK >= aL ? aL - 1 : aK];aJ.setParamFloat(aT, aX);\n } else {\n if (t._$ws <= aV._$RP && aV._$RP <= t._$Ys) {} else {\n var aH = aJ.getParamIndex(aT);var a4 = aJ.getModelContext();var aY = a4.getParamMax(aH);var aW = a4.getParamMin(aH);var aM = 0.4;var aS = aM * (aY - aW);var aU = a4.getParamFloat(aH);var a2 = aV._$I0[aK >= aL ? aL - 1 : aK];var a1 = aV._$I0[aK + 1 >= aL ? aL - 1 : aK + 1];var aI;if (a2 < a1 && a1 - a2 > aS || a2 > a1 && a2 - a1 > aS) {\n aI = a2;\n } else {\n aI = a2 + (a1 - a2) * aR;\n }var aP = aU + (aI - aU) * aQ;aJ.setParamFloat(aT, aP);\n }\n }\n }if (aK >= this._$yT) {\n if (this._$E) {\n a3._$z2 = aN;if (this.loopFadeIn) {\n a3._$bs = aN;\n }\n } else {\n a3._$9L = true;\n }\n }this._$eP = aQ;\n };ao.prototype._$r0 = function () {\n return this._$E;\n };ao.prototype._$aL = function (aH) {\n this._$E = aH;\n };ao.prototype._$S0 = function () {\n return this._$D0;\n };ao.prototype._$U0 = function (aH) {\n this._$D0 = aH;\n };ao.prototype.isLoopFadeIn = function () {\n return this.loopFadeIn;\n };ao.prototype.setLoopFadeIn = function (aH) {\n this.loopFadeIn = aH;\n };function aE() {\n this._$P = new Float32Array(100);this.size = 0;\n }aE.prototype.clear = function () {\n this.size = 0;\n };aE.prototype.add = function (aI) {\n if (this._$P.length <= this.size) {\n var aH = new Float32Array(this.size * 2);P._$jT(this._$P, 0, aH, 0, this.size);this._$P = aH;\n }this._$P[this.size++] = aI;\n };aE.prototype._$BL = function () {\n var aH = new Float32Array(this.size);P._$jT(this._$P, 0, aH, 0, this.size);return aH;\n };function t() {\n this._$4P = null;this._$I0 = null;this._$RP = null;\n }t._$Fr = 0;t._$hs = 1;t._$ws = 100;t._$Ns = 101;t._$xs = 102;t._$us = 103;t._$qs = 104;t._$Ys = 105;function E() {\n if (j) {\n return;\n }c.prototype.constructor.call(this);this._$o = 0;this._$A = 0;this._$GS = null;this._$Eo = null;\n }E.prototype = new c();E._$gT = new Array();E.prototype._$zP = function () {\n this._$GS = new g();this._$GS._$zP();\n };E.prototype._$F0 = function (aH) {\n c.prototype._$F0.call(this, aH);this._$A = aH._$6L();this._$o = aH._$6L();this._$GS = aH._$nP();this._$Eo = aH._$nP();c.prototype.readV2_opacity.call(this, aH);\n };E.prototype.init = function (aH) {\n var aI = new H(this);var aJ = (this._$o + 1) * (this._$A + 1);if (aI._$Cr != null) {\n aI._$Cr = null;\n }aI._$Cr = new Float32Array(aJ * 2);if (aI._$hr != null) {\n aI._$hr = null;\n }if (this._$32()) {\n aI._$hr = new Float32Array(aJ * 2);\n } else {\n aI._$hr = null;\n }return aI;\n };E.prototype._$Nr = function (aJ, aI) {\n var aK = aI;if (!this._$GS._$Ur(aJ)) {\n return;\n }var aL = this._$VT();var aH = E._$gT;aH[0] = false;aG._$Vr(aJ, this._$GS, aH, aL, this._$Eo, aK._$Cr, 0, 2);aI._$Ib(aH[0]);this.interpolateOpacity(aJ, this._$GS, aI, aH);\n };E.prototype._$2b = function (aK, aJ) {\n var aL = aJ;aL._$hS(true);if (!this._$32()) {\n aL.setTotalOpacity(aL.getInterpolatedOpacity());\n } else {\n var aH = this.getTargetBaseDataID();if (aL._$8r == c._$ur) {\n aL._$8r = aK.getBaseDataIndex(aH);\n }if (aL._$8r < 0) {\n if (Q._$so) {\n q._$li(\"_$L _$0P _$G :: %s\", aH);\n }aL._$hS(false);\n } else {\n var aN = aK.getBaseData(aL._$8r);var aI = aK._$q2(aL._$8r);if (aN != null && aI._$yo()) {\n var aM = aI.getTotalScale();aL.setTotalScale_notForClient(aM);var aO = aI.getTotalOpacity();aL.setTotalOpacity(aO * aL.getInterpolatedOpacity());aN._$nb(aK, aI, aL._$Cr, aL._$hr, this._$VT(), 0, 2);aL._$hS(true);\n } else {\n aL._$hS(false);\n }\n }\n }\n };E.prototype._$nb = function (aL, aI, aH, aM, aO, aK, aJ) {\n if (true) {\n var aN = aI;var aP = aN._$hr != null ? aN._$hr : aN._$Cr;E.transformPoints_sdk2(aH, aM, aO, aK, aJ, aP, this._$o, this._$A);\n } else {\n this.transformPoints_sdk1(aL, aI, aH, aM, aO, aK, aJ);\n }\n };E.transformPoints_sdk2 = function (a0, bc, a5, aP, aI, aR, aQ, aU) {\n var aW = a5 * aI;var aV;var bn, bm;var aT = 0;var aS = 0;var bl = 0;var bk = 0;var bf = 0;var be = 0;var aZ = false;for (var ba = aP; ba < aW; ba += aI) {\n var bd, a7, a4, aX;a4 = a0[ba];aX = a0[ba + 1];bd = a4 * aQ;a7 = aX * aU;if (bd < 0 || a7 < 0 || aQ <= bd || aU <= a7) {\n var a1 = aQ + 1;if (!aZ) {\n aZ = true;aT = 0.25 * (aR[(0 + 0 * a1) * 2] + aR[(aQ + 0 * a1) * 2] + aR[(0 + aU * a1) * 2] + aR[(aQ + aU * a1) * 2]);aS = 0.25 * (aR[(0 + 0 * a1) * 2 + 1] + aR[(aQ + 0 * a1) * 2 + 1] + aR[(0 + aU * a1) * 2 + 1] + aR[(aQ + aU * a1) * 2 + 1]);var aM = aR[(aQ + aU * a1) * 2] - aR[(0 + 0 * a1) * 2];var aL = aR[(aQ + aU * a1) * 2 + 1] - aR[(0 + 0 * a1) * 2 + 1];var bh = aR[(aQ + 0 * a1) * 2] - aR[(0 + aU * a1) * 2];var bg = aR[(aQ + 0 * a1) * 2 + 1] - aR[(0 + aU * a1) * 2 + 1];bl = (aM + bh) * 0.5;bk = (aL + bg) * 0.5;bf = (aM - bh) * 0.5;be = (aL - bg) * 0.5;if (bl == 0 && bk == 0) {}if (bf == 0 && be == 0) {}aT -= 0.5 * (bl + bf);aS -= 0.5 * (bk + be);\n }if (-2 < a4 && a4 < 3 && -2 < aX && aX < 3) {\n if (a4 <= 0) {\n if (aX <= 0) {\n var a3 = aR[(0 + 0 * a1) * 2];var a2 = aR[(0 + 0 * a1) * 2 + 1];var a8 = aT - 2 * bl;var a6 = aS - 2 * bk;var aK = aT - 2 * bf;var aJ = aS - 2 * be;var aO = aT - 2 * bl - 2 * bf;var aN = aS - 2 * bk - 2 * be;var bj = 0.5 * (a4 - -2);var bi = 0.5 * (aX - -2);if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n if (aX >= 1) {\n var aK = aR[(0 + aU * a1) * 2];var aJ = aR[(0 + aU * a1) * 2 + 1];var aO = aT - 2 * bl + 1 * bf;var aN = aS - 2 * bk + 1 * be;var a3 = aT + 3 * bf;var a2 = aS + 3 * be;var a8 = aT - 2 * bl + 3 * bf;var a6 = aS - 2 * bk + 3 * be;var bj = 0.5 * (a4 - -2);var bi = 0.5 * (aX - 1);if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n var aH = a7 | 0;if (aH == aU) {\n aH = aU - 1;\n }var bj = 0.5 * (a4 - -2);var bi = a7 - aH;var bb = aH / aU;var a9 = (aH + 1) / aU;var aK = aR[(0 + aH * a1) * 2];var aJ = aR[(0 + aH * a1) * 2 + 1];var a3 = aR[(0 + (aH + 1) * a1) * 2];var a2 = aR[(0 + (aH + 1) * a1) * 2 + 1];var aO = aT - 2 * bl + bb * bf;var aN = aS - 2 * bk + bb * be;var a8 = aT - 2 * bl + a9 * bf;var a6 = aS - 2 * bk + a9 * be;if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n }\n }\n } else {\n if (1 <= a4) {\n if (aX <= 0) {\n var a8 = aR[(aQ + 0 * a1) * 2];var a6 = aR[(aQ + 0 * a1) * 2 + 1];var a3 = aT + 3 * bl;var a2 = aS + 3 * bk;var aO = aT + 1 * bl - 2 * bf;var aN = aS + 1 * bk - 2 * be;var aK = aT + 3 * bl - 2 * bf;var aJ = aS + 3 * bk - 2 * be;var bj = 0.5 * (a4 - 1);var bi = 0.5 * (aX - -2);if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n if (aX >= 1) {\n var aO = aR[(aQ + aU * a1) * 2];var aN = aR[(aQ + aU * a1) * 2 + 1];var aK = aT + 3 * bl + 1 * bf;var aJ = aS + 3 * bk + 1 * be;var a8 = aT + 1 * bl + 3 * bf;var a6 = aS + 1 * bk + 3 * be;var a3 = aT + 3 * bl + 3 * bf;var a2 = aS + 3 * bk + 3 * be;var bj = 0.5 * (a4 - 1);var bi = 0.5 * (aX - 1);if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n var aH = a7 | 0;if (aH == aU) {\n aH = aU - 1;\n }var bj = 0.5 * (a4 - 1);var bi = a7 - aH;var bb = aH / aU;var a9 = (aH + 1) / aU;var aO = aR[(aQ + aH * a1) * 2];var aN = aR[(aQ + aH * a1) * 2 + 1];var a8 = aR[(aQ + (aH + 1) * a1) * 2];var a6 = aR[(aQ + (aH + 1) * a1) * 2 + 1];var aK = aT + 3 * bl + bb * bf;var aJ = aS + 3 * bk + bb * be;var a3 = aT + 3 * bl + a9 * bf;var a2 = aS + 3 * bk + a9 * be;if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n }\n }\n } else {\n if (aX <= 0) {\n var aY = bd | 0;if (aY == aQ) {\n aY = aQ - 1;\n }var bj = bd - aY;var bi = 0.5 * (aX - -2);var bp = aY / aQ;var bo = (aY + 1) / aQ;var a8 = aR[(aY + 0 * a1) * 2];var a6 = aR[(aY + 0 * a1) * 2 + 1];var a3 = aR[(aY + 1 + 0 * a1) * 2];var a2 = aR[(aY + 1 + 0 * a1) * 2 + 1];var aO = aT + bp * bl - 2 * bf;var aN = aS + bp * bk - 2 * be;var aK = aT + bo * bl - 2 * bf;var aJ = aS + bo * bk - 2 * be;if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n if (aX >= 1) {\n var aY = bd | 0;if (aY == aQ) {\n aY = aQ - 1;\n }var bj = bd - aY;var bi = 0.5 * (aX - 1);var bp = aY / aQ;var bo = (aY + 1) / aQ;var aO = aR[(aY + aU * a1) * 2];var aN = aR[(aY + aU * a1) * 2 + 1];var aK = aR[(aY + 1 + aU * a1) * 2];var aJ = aR[(aY + 1 + aU * a1) * 2 + 1];var a8 = aT + bp * bl + 3 * bf;var a6 = aS + bp * bk + 3 * be;var a3 = aT + bo * bl + 3 * bf;var a2 = aS + bo * bk + 3 * be;if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n System.err.printf(\"_$li calc : %.4f , %.4f\t\t\t\t\t@@BDBoxGrid\\n\", a4, aX);\n }\n }\n }\n }\n } else {\n bc[ba] = aT + a4 * bl + aX * bf;bc[ba + 1] = aS + a4 * bk + aX * be;\n }\n } else {\n bn = bd - (bd | 0);bm = a7 - (a7 | 0);aV = 2 * ((bd | 0) + (a7 | 0) * (aQ + 1));if (bn + bm < 1) {\n bc[ba] = aR[aV] * (1 - bn - bm) + aR[aV + 2] * bn + aR[aV + 2 * (aQ + 1)] * bm;bc[ba + 1] = aR[aV + 1] * (1 - bn - bm) + aR[aV + 3] * bn + aR[aV + 2 * (aQ + 1) + 1] * bm;\n } else {\n bc[ba] = aR[aV + 2 * (aQ + 1) + 2] * (bn - 1 + bm) + aR[aV + 2 * (aQ + 1)] * (1 - bn) + aR[aV + 2] * (1 - bm);bc[ba + 1] = aR[aV + 2 * (aQ + 1) + 3] * (bn - 1 + bm) + aR[aV + 2 * (aQ + 1) + 1] * (1 - bn) + aR[aV + 3] * (1 - bm);\n }\n }\n }\n };E.prototype.transformPoints_sdk1 = function (aJ, aR, aL, a0, aU, aP, aZ) {\n var aH = aR;var aO, aN;var aM = this._$o;var aQ = this._$A;var aI = aU * aZ;var aS, aY;var aV;var aX, aW;var aT = aH._$hr != null ? aH._$hr : aH._$Cr;for (var aK = aP; aK < aI; aK += aZ) {\n if (Q._$ts) {\n aO = aL[aK];aN = aL[aK + 1];if (aO < 0) {\n aO = 0;\n } else {\n if (aO > 1) {\n aO = 1;\n }\n }if (aN < 0) {\n aN = 0;\n } else {\n if (aN > 1) {\n aN = 1;\n }\n }aO *= aM;aN *= aQ;aS = aO | 0;aY = aN | 0;if (aS > aM - 1) {\n aS = aM - 1;\n }if (aY > aQ - 1) {\n aY = aQ - 1;\n }aX = aO - aS;aW = aN - aY;aV = 2 * (aS + aY * (aM + 1));\n } else {\n aO = aL[aK] * aM;aN = aL[aK + 1] * aQ;aX = aO - (aO | 0);aW = aN - (aN | 0);aV = 2 * ((aO | 0) + (aN | 0) * (aM + 1));\n }if (aX + aW < 1) {\n a0[aK] = aT[aV] * (1 - aX - aW) + aT[aV + 2] * aX + aT[aV + 2 * (aM + 1)] * aW;a0[aK + 1] = aT[aV + 1] * (1 - aX - aW) + aT[aV + 3] * aX + aT[aV + 2 * (aM + 1) + 1] * aW;\n } else {\n a0[aK] = aT[aV + 2 * (aM + 1) + 2] * (aX - 1 + aW) + aT[aV + 2 * (aM + 1)] * (1 - aX) + aT[aV + 2] * (1 - aW);a0[aK + 1] = aT[aV + 2 * (aM + 1) + 3] * (aX - 1 + aW) + aT[aV + 2 * (aM + 1) + 1] * (1 - aX) + aT[aV + 3] * (1 - aW);\n }\n }\n };E.prototype._$VT = function () {\n return (this._$o + 1) * (this._$A + 1);\n };E.prototype.getType = function () {\n return c._$_b;\n };function H(aH) {\n B.prototype.constructor.call(this, aH);this._$8r = c._$ur;this._$Cr = null;this._$hr = null;\n }H.prototype = new B();function s() {\n if (j) {\n return;\n }this.visible = true;this._$g0 = false;this._$NL = null;this._$3S = null;this._$aS = null;s._$42++;\n }s._$42 = 0;s.prototype._$zP = function () {\n this._$3S = new Array();this._$aS = new Array();\n };s.prototype._$F0 = function (aH) {\n this._$g0 = aH._$8L();this.visible = aH._$8L();this._$NL = aH._$nP();this._$3S = aH._$nP();this._$aS = aH._$nP();\n };s.prototype.init = function (aI) {\n var aH = new aj(this);aH.setPartsOpacity(this.isVisible() ? 1 : 0);return aH;\n };s.prototype._$6o = function (aH) {\n if (this._$3S == null) {\n throw new Error(\"_$3S _$6 _$Wo@_$6o\");\n }this._$3S.push(aH);\n };s.prototype._$3o = function (aH) {\n if (this._$aS == null) {\n throw new Error(\"_$aS _$6 _$Wo@_$3o\");\n }this._$aS.push(aH);\n };s.prototype._$Zo = function (aH) {\n this._$3S = aH;\n };s.prototype._$xo = function (aH) {\n this._$aS = aH;\n };s.prototype.isVisible = function () {\n return this.visible;\n };s.prototype._$uL = function () {\n return this._$g0;\n };s.prototype._$KP = function (aH) {\n this.visible = aH;\n };s.prototype._$ET = function (aH) {\n this._$g0 = aH;\n };s.prototype.getBaseData = function () {\n return this._$3S;\n };s.prototype.getDrawData = function () {\n return this._$aS;\n };s.prototype._$p2 = function () {\n return this._$NL;\n };s.prototype._$ob = function (aH) {\n this._$NL = aH;\n };s.prototype.getPartsID = function () {\n return this._$NL;\n };s.prototype._$MP = function (aH) {\n this._$NL = aH;\n };function aj(aH) {\n this._$VS = null;this._$e0 = null;this._$e0 = aH;\n }aj.prototype = new S();aj.prototype.getPartsOpacity = function () {\n return this._$VS;\n };aj.prototype.setPartsOpacity = function (aH) {\n this._$VS = aH;\n };function ak(aH) {\n if (j) {\n return;\n }this.id = aH;\n }ak._$L7 = function () {\n z._$27();n._$27();Z._$27();i._$27();\n };ak.prototype.toString = function () {\n return this.id;\n };function D() {}D.prototype._$F0 = function (aH) {};function an() {\n if (j) {\n return;\n }this._$4S = null;\n }an.prototype._$1s = function () {\n return this._$4S;\n };an.prototype._$zP = function () {\n this._$4S = new Array();\n };an.prototype._$F0 = function (aH) {\n this._$4S = aH._$nP();\n };an.prototype._$Ks = function (aH) {\n this._$4S.push(aH);\n };function au(aH, aI) {\n this.canvas = aH;this.context = aI;this.viewport = new Array(0, 0, aH.width, aH.height);this._$6r = 1;this._$xP = 0;this._$3r = 1;this._$uP = 0;this._$Qo = -1;this.cacheImages = {};\n }au.tr = new am();au._$50 = new am();au._$Ti = new Array(0, 0);au._$Pi = new Array(0, 0);au._$B = new Array(0, 0);au.prototype._$lP = function (aI, aK, aJ, aH) {\n this.viewport = new Array(aI, aK, aJ, aH);\n };au.prototype._$bL = function () {\n this.context.save();var aH = this.viewport;if (aH != null) {\n this.context.beginPath();this.context._$Li(aH[0], aH[1], aH[2], aH[3]);this.context.clip();\n }\n };au.prototype._$ei = function () {\n this.context.restore();\n };au.prototype.drawElements = function (bc, bm, aX, aJ, bA, aM, bl, bz) {\n try {\n if (bA != this._$Qo) {\n this._$Qo = bA;this.context.globalAlpha = bA;\n }var a2 = bm.length;var aP = bc.width;var a5 = bc.height;var bE = this.context;var a7 = this._$xP;var a6 = this._$uP;var a1 = this._$6r;var aZ = this._$3r;var bD = au.tr;var aI = au._$Ti;var aH = au._$Pi;var bu = au._$B;for (var by = 0; by < a2; by += 3) {\n bE.save();var aW = bm[by];var aV = bm[by + 1];var aT = bm[by + 2];var aL = a7 + a1 * aX[aW * 2];var aK = a6 + aZ * aX[aW * 2 + 1];var br = a7 + a1 * aX[aV * 2];var bp = a6 + aZ * aX[aV * 2 + 1];var bh = a7 + a1 * aX[aT * 2];var bf = a6 + aZ * aX[aT * 2 + 1];if (bl) {\n bl._$PS(aL, aK, bu);aL = bu[0];aK = bu[1];bl._$PS(br, bp, bu);br = bu[0];bp = bu[1];bl._$PS(bh, bf, bu);bh = bu[0];bf = bu[1];\n }var aS = aP * aJ[aW * 2];var aQ = a5 - a5 * aJ[aW * 2 + 1];var bx = aP * aJ[aV * 2];var bw = a5 - a5 * aJ[aV * 2 + 1];var bk = aP * aJ[aT * 2];var bj = a5 - a5 * aJ[aT * 2 + 1];var a3 = Math.atan2(bw - aQ, bx - aS);var a0 = Math.atan2(bp - aK, br - aL);var aO = br - aL;var aN = bp - aK;var bi = Math.sqrt(aO * aO + aN * aN);var aU = bx - aS;var aR = bw - aQ;var bt = Math.sqrt(aU * aU + aR * aR);var bv = bi / bt;ad._$ni(bk, bj, aS, aQ, bx - aS, bw - aQ, -(bw - aQ), bx - aS, aI);ad._$ni(bh, bf, aL, aK, br - aL, bp - aK, -(bp - aK), br - aL, aH);var aY = (aH[0] - aI[0]) / aI[1];var bs = Math.min(aS, bx, bk);var bg = Math.max(aS, bx, bk);var bq = Math.min(aQ, bw, bj);var be = Math.max(aQ, bw, bj);var bo = Math.floor(bs);var bb = Math.floor(bq);var a4 = Math.ceil(bg);var bC = Math.ceil(be);bD.identity();bD.translate(aL, aK);bD.rotate(a0);bD.scale(1, aH[1] / aI[1]);bD.shear(aY, 0);bD.scale(bv, bv);bD.rotate(-a3);bD.translate(-aS, -aQ);bD.setContext(bE);var a8 = true;var a9 = 1.2;if (!aM) {\n aM = a8 ? a9 : 0;\n }if (Q.IGNORE_EXPAND) {\n aM = 0;\n }if (Q.USE_CACHED_POLYGON_IMAGE) {\n var bd = bz._$e0;bd.gl_cacheImage = bd.gl_cacheImage || {};if (!bd.gl_cacheImage[by]) {\n var bn = au.createCanvas(a4 - bo, bC - bb);Q.DEBUG_DATA.LDGL_CANVAS_MB = Q.DEBUG_DATA.LDGL_CANVAS_MB || 0;Q.DEBUG_DATA.LDGL_CANVAS_MB += (a4 - bo) * (bC - bb) * 4;var ba = bn.getContext(\"2d\");ba.translate(-bo, -bb);au.clip(ba, bD, aM, bi, aS, aQ, bx, bw, bk, bj, aL, aK, br, bp, bh, bf);ba.drawImage(bc, 0, 0);bd.gl_cacheImage[by] = { cacheCanvas: bn, cacheContext: ba };\n }bE.drawImage(bd.gl_cacheImage[by][\"cacheCanvas\"], bo, bb);\n } else {\n if (!Q.IGNORE_CLIP) {\n au.clip(bE, bD, aM, bi, aS, aQ, bx, bw, bk, bj, aL, aK, br, bp, bh, bf);\n }if (Q.USE_ADJUST_TRANSLATION) {\n bs = 0;bg = aP;bq = 0;be = a5;\n }bE.drawImage(bc, bs, bq, bg - bs, be - bq, bs, bq, bg - bs, be - bq);\n }bE.restore();\n }\n } catch (bB) {\n q._$Rb(bB);\n }\n };au.clip = function (aK, aJ, aV, aI, aM, aL, aU, aT, aQ, aP, aO, aN, aH, aW, aS, aR) {\n if (aV > 0.02) {\n au.expandClip(aK, aJ, aV, aI, aO, aN, aH, aW, aS, aR);\n } else {\n au.clipWithTransform(aK, null, aM, aL, aU, aT, aQ, aP);\n }\n };au.expandClip = function (aV, bg, aK, a3, aJ, aI, be, ba, aZ, aX) {\n var aP = be - aJ;var aO = ba - aI;var bi = aZ - aJ;var bh = aX - aI;var bj = aP * bh - aO * bi > 0 ? aK : -aK;var aL = -aO;var aH = aP;var bc = aZ - be;var a8 = aX - ba;var a7 = -a8;var a6 = bc;var aQ = Math.sqrt(bc * bc + a8 * a8);var bf = -bh;var bb = bi;var a2 = Math.sqrt(bi * bi + bh * bh);var bd = aJ - bj * aL / a3;var a9 = aI - bj * aH / a3;var aY = be - bj * aL / a3;var aW = ba - bj * aH / a3;var a5 = be - bj * a7 / aQ;var a4 = ba - bj * a6 / aQ;var aS = aZ - bj * a7 / aQ;var aR = aX - bj * a6 / aQ;var aN = aJ + bj * bf / a2;var aM = aI + bj * bb / a2;var a1 = aZ + bj * bf / a2;var a0 = aX + bj * bb / a2;var aU = au._$50;var aT = bg._$P2(aU);if (aT == null) {\n return false;\n }au.clipWithTransform(aV, aU, bd, a9, aY, aW, a5, a4, aS, aR, a1, a0, aN, aM);return true;\n };au.clipWithTransform = function (aH, aI, aS, aN, aQ, aK, aP, aJ) {\n if (arguments.length < 1 + 3 * 2) {\n q._$li(\"err : @LDGL.clip()\");return;\n }if (!(arguments[1] instanceof am)) {\n q._$li(\"err : a[0] is _$6 LDTransform @LDGL.clip()\");return;\n }var aM = au._$B;var aO = aI;var aR = arguments;aH.beginPath();if (aO) {\n aO._$PS(aR[2], aR[3], aM);aH.moveTo(aM[0], aM[1]);for (var aL = 4; aL < aR.length; aL += 2) {\n aO._$PS(aR[aL], aR[aL + 1], aM);aH.lineTo(aM[0], aM[1]);\n }\n } else {\n aH.moveTo(aR[2], aR[3]);for (var aL = 4; aL < aR.length; aL += 2) {\n aH.lineTo(aR[aL], aR[aL + 1]);\n }\n }aH.clip();\n };au.createCanvas = function (aH, aJ) {\n var aI = document.createElement(\"canvas\");aI.setAttribute(\"width\", aH);aI.setAttribute(\"height\", aJ);if (!aI) {\n q._$li(\"err : \" + aI);\n }return aI;\n };au.dumpValues = function () {\n var aI = \"\";for (var aH = 0; aH < arguments.length; aH++) {\n aI += \"[\" + aH + \"]= \" + arguments[aH].toFixed(3) + \" , \";\n }console.log(aI);\n };function f() {\n if (j) {\n return;\n }this._$TT = null;this._$LT = null;this._$FS = null;this._$wL = null;\n }f.prototype._$F0 = function (aH) {\n this._$TT = aH._$_T();this._$LT = aH._$_T();this._$FS = aH._$_T();this._$wL = aH._$nP();\n };f.prototype.getMinValue = function () {\n return this._$TT;\n };f.prototype.getMaxValue = function () {\n return this._$LT;\n };f.prototype.getDefaultValue = function () {\n return this._$FS;\n };f.prototype.getParamID = function () {\n return this._$wL;\n };function B(aH) {\n if (j) {\n return;\n }this._$e0 = null;this._$IP = null;this._$JS = false;this._$AT = true;this._$e0 = aH;this.totalScale = 1;this._$7s = 1;this.totalOpacity = 1;\n }B.prototype._$yo = function () {\n return this._$AT && !this._$JS;\n };B.prototype._$hS = function (aH) {\n this._$AT = aH;\n };B.prototype._$GT = function () {\n return this._$e0;\n };B.prototype._$l2 = function (aH) {\n this._$IP = aH;\n };B.prototype.getPartsIndex = function () {\n return this._$IP;\n };B.prototype._$x2 = function () {\n return this._$JS;\n };B.prototype._$Ib = function (aH) {\n this._$JS = aH;\n };B.prototype.getTotalScale = function () {\n return this.totalScale;\n };B.prototype.setTotalScale_notForClient = function (aH) {\n this.totalScale = aH;\n };B.prototype.getInterpolatedOpacity = function () {\n return this._$7s;\n };B.prototype.setInterpolatedOpacity = function (aH) {\n this._$7s = aH;\n };B.prototype.getTotalOpacity = function (aH) {\n return this.totalOpacity;\n };B.prototype.setTotalOpacity = function (aH) {\n this.totalOpacity = aH;\n };function Q() {}Q._$2s = \"2.1.00_1\";Q._$Kr = 201001000;Q._$sP = true;Q._$so = true;Q._$cb = false;Q._$3T = true;Q._$Ts = true;Q._$fb = true;Q._$ts = true;Q.L2D_DEFORMER_EXTEND = true;Q._$Wb = false;Q._$yr = false;Q._$Zs = false;Q.L2D_NO_ERROR = 0;Q._$i7 = 1000;Q._$9s = 1001;Q._$es = 1100;Q._$r7 = 2000;Q._$07 = 2001;Q._$b7 = 2002;Q._$H7 = 4000;Q.L2D_COLOR_BLEND_MODE_MULT = 0;Q.L2D_COLOR_BLEND_MODE_ADD = 1;Q.L2D_COLOR_BLEND_MODE_INTERPOLATE = 2;Q._$6b = true;Q._$cT = 0;Q.clippingMaskBufferSize = 256;Q.glContext = new Array();Q.frameBuffers = new Array();Q.fTexture = new Array();Q.IGNORE_CLIP = false;Q.IGNORE_EXPAND = false;Q.EXPAND_W = 2;Q.USE_ADJUST_TRANSLATION = true;Q.USE_CANVAS_TRANSFORM = true;Q.USE_CACHED_POLYGON_IMAGE = false;Q.DEBUG_DATA = {};Q.PROFILE_IOS_SPEED = { PROFILE_NAME: \"iOS Speed\", USE_ADJUST_TRANSLATION: true, USE_CACHED_POLYGON_IMAGE: true, EXPAND_W: 4 };Q.PROFILE_IOS_QUALITY = { PROFILE_NAME: \"iOS HiQ\", USE_ADJUST_TRANSLATION: true, USE_CACHED_POLYGON_IMAGE: false, EXPAND_W: 2 };Q.PROFILE_IOS_DEFAULT = Q.PROFILE_IOS_QUALITY;Q.PROFILE_ANDROID = { PROFILE_NAME: \"Android\", USE_ADJUST_TRANSLATION: false, USE_CACHED_POLYGON_IMAGE: false, EXPAND_W: 2 };Q.PROFILE_DESKTOP = { PROFILE_NAME: \"Desktop\", USE_ADJUST_TRANSLATION: false, USE_CACHED_POLYGON_IMAGE: false, EXPAND_W: 2 };Q.initProfile = function () {\n if (r.isIOS()) {\n Q.setupProfile(Q.PROFILE_IOS_DEFAULT);\n } else {\n if (r.isAndroid()) {\n Q.setupProfile(Q.PROFILE_ANDROID);\n } else {\n Q.setupProfile(Q.PROFILE_DESKTOP);\n }\n }\n };Q.setupProfile = function (aI, aJ) {\n if (typeof aI == \"number\") {\n switch (aI) {case 9901:\n aI = Q.PROFILE_IOS_SPEED;break;case 9902:\n aI = Q.PROFILE_IOS_QUALITY;break;case 9903:\n aI = Q.PROFILE_IOS_DEFAULT;break;case 9904:\n aI = Q.PROFILE_ANDROID;break;case 9905:\n aI = Q.PROFILE_DESKTOP;break;default:\n alert(\"profile _$6 _$Ui : \" + aI);break;}\n }if (arguments.length < 2) {\n aJ = true;\n }if (aJ) {\n console.log(\"profile : \" + aI.PROFILE_NAME);\n }for (var aH in aI) {\n Q[aH] = aI[aH];if (aJ) {\n console.log(\" [\" + aH + \"] = \" + aI[aH]);\n }\n }\n };Q.init = function () {\n if (Q._$6b) {\n console.log(\"Live2D %s\", Q._$2s);Q._$6b = false;var aH = false;aH = true;Q.initProfile();\n }\n };Q.getVersionStr = function () {\n return Q._$2s;\n };Q.getVersionNo = function () {\n return Q._$Kr;\n };Q._$sT = function (aH) {\n Q._$cT = aH;\n };Q.getError = function () {\n var aH = Q._$cT;Q._$cT = 0;return aH;\n };Q.dispose = function () {\n Q.glContext = [];Q.frameBuffers = [];Q.fTexture = [];\n };Q.setGL = function (aJ, aI) {\n var aH = aI || 0;Q.glContext[aH] = aJ;\n };Q.getGL = function (aH) {\n return Q.glContext[aH];\n };Q.setClippingMaskBufferSize = function (aH) {\n Q.clippingMaskBufferSize = aH;\n };Q.getClippingMaskBufferSize = function () {\n return Q.clippingMaskBufferSize;\n };Q.deleteBuffer = function (aI) {\n var aH = Q.getGL(aI);aH.deleteFramebuffer(Q.frameBuffers[aI].framebuffer);delete Q.frameBuffers[aI];delete Q.glContext[aI];\n };function A() {}A._$r2 = function (aH) {\n if (aH < 0) {\n return 0;\n } else {\n if (aH > 1) {\n return 1;\n }\n }return 0.5 - 0.5 * Math.cos(aH * aC.PI_F);\n };function J(aH) {\n if (j) {\n return;\n }this._$ib = aH;\n }J._$fr = -1;J.prototype.toString = function () {\n return this._$ib;\n };function b() {\n if (j) {\n return;\n }a.prototype.constructor.call(this);this._$LP = -1;this._$d0 = 0;this._$Yo = 0;this._$JP = null;this._$5P = null;this._$BP = null;this._$Eo = null;this._$Qi = null;this._$6s = b._$ms;this.culling = true;this.gl_cacheImage = null;this.instanceNo = b._$42++;\n }b.prototype = new a();b._$42 = 0;b._$Os = 30;b._$ms = 0;b._$ns = 1;b._$_s = 2;b._$gT = new Array();b.prototype._$_S = function (aH) {\n this._$LP = aH;\n };b.prototype.getTextureNo = function () {\n return this._$LP;\n };b.prototype._$ZL = function () {\n return this._$Qi;\n };b.prototype._$H2 = function () {\n return this._$JP;\n };b.prototype.getNumPoints = function () {\n return this._$d0;\n };b.prototype.getType = function () {\n return a._$wb;\n };b.prototype._$B2 = function (aL, aH, aO) {\n var aM = aH;var aN = aM._$hr != null ? aM._$hr : aM._$Cr;var aK = aw._$do;switch (aK) {default:case aw._$Ms:\n throw new Error(\"_$L _$ro \");case aw._$Qs:\n for (var aJ = this._$d0 - 1; aJ >= 0; --aJ) {\n var aI = aJ * aw._$No;aN[aI + 4] = aO;\n }break;}\n };b.prototype._$zP = function () {\n this._$GS = new g();this._$GS._$zP();\n };b.prototype._$F0 = function (aK) {\n a.prototype._$F0.call(this, aK);this._$LP = aK._$6L();this._$d0 = aK._$6L();this._$Yo = aK._$6L();var aH = aK._$nP();this._$BP = new Int16Array(this._$Yo * 3);for (var aJ = this._$Yo * 3 - 1; aJ >= 0; --aJ) {\n this._$BP[aJ] = aH[aJ];\n }this._$Eo = aK._$nP();this._$Qi = aK._$nP();if (aK.getFormatVersion() >= ay._$s7) {\n this._$JP = aK._$6L();if (this._$JP != 0) {\n if ((this._$JP & 1) != 0) {\n var aI = aK._$6L();if (this._$5P == null) {\n this._$5P = new Object();\n }this._$5P._$Hb = parseInt(aI);\n }if ((this._$JP & b._$Os) != 0) {\n this._$6s = (this._$JP & b._$Os) >> 1;\n } else {\n this._$6s = b._$ms;\n }if ((this._$JP & 32) != 0) {\n this.culling = false;\n }\n }\n } else {\n this._$JP = 0;\n }\n };b.prototype.init = function (aL) {\n var aN = new ag(this);var aI = this._$d0 * aw._$No;var aH = this._$32();if (aN._$Cr != null) {\n aN._$Cr = null;\n }aN._$Cr = new Float32Array(aI);if (aN._$hr != null) {\n aN._$hr = null;\n }aN._$hr = aH ? new Float32Array(aI) : null;var aM = aw._$do;switch (aM) {default:case aw._$Ms:\n if (aw._$Ls) {\n for (var aJ = this._$d0 - 1; aJ >= 0; --aJ) {\n var aO = aJ << 1;this._$Qi[aO + 1] = 1 - this._$Qi[aO + 1];\n }\n }break;case aw._$Qs:\n for (var aJ = this._$d0 - 1; aJ >= 0; --aJ) {\n var aO = aJ << 1;var aK = aJ * aw._$No;var aQ = this._$Qi[aO];var aP = this._$Qi[aO + 1];aN._$Cr[aK] = aQ;aN._$Cr[aK + 1] = aP;aN._$Cr[aK + 4] = 0;if (aH) {\n aN._$hr[aK] = aQ;aN._$hr[aK + 1] = aP;aN._$hr[aK + 4] = 0;\n }\n }break;}return aN;\n };b.prototype._$Nr = function (aJ, aH) {\n var aK = aH;if (!(this == aK._$GT())) {\n console.log(\"### assert!! ### \");\n }if (!this._$GS._$Ur(aJ)) {\n return;\n }a.prototype._$Nr.call(this, aJ, aK);if (aK._$IS[0]) {\n return;\n }var aI = b._$gT;aI[0] = false;aG._$Vr(aJ, this._$GS, aI, this._$d0, this._$Eo, aK._$Cr, aw._$i2, aw._$No);\n };b.prototype._$2b = function (aK, aI) {\n try {\n if (!(this == aI._$GT())) {\n console.log(\"### assert!! ### \");\n }var aL = false;if (aI._$IS[0]) {\n aL = true;\n }var aM = aI;if (!aL) {\n a.prototype._$2b.call(this, aK);if (this._$32()) {\n var aH = this.getTargetBaseDataID();if (aM._$8r == a._$ur) {\n aM._$8r = aK.getBaseDataIndex(aH);\n }if (aM._$8r < 0) {\n if (Q._$so) {\n q._$li(\"_$L _$0P _$G :: %s\", aH);\n }\n } else {\n var aO = aK.getBaseData(aM._$8r);var aJ = aK._$q2(aM._$8r);if (aO != null && !aJ._$x2()) {\n aO._$nb(aK, aJ, aM._$Cr, aM._$hr, this._$d0, aw._$i2, aw._$No);aM._$AT = true;\n } else {\n aM._$AT = false;\n }aM.baseOpacity = aJ.getTotalOpacity();\n }\n }\n }\n } catch (aN) {\n throw aN;\n }\n };b.prototype.draw = function (aN, aK, aI) {\n if (!(this == aI._$GT())) {\n console.log(\"### assert!! ### \");\n }if (aI._$IS[0]) {\n return;\n }var aL = aI;var aJ = this._$LP;if (aJ < 0) {\n aJ = 1;\n }var aH = this.getOpacity(aK, aL) * aI._$VS * aI.baseOpacity;var aM = aL._$hr != null ? aL._$hr : aL._$Cr;aN.setClipBufPre_clipContextForDraw(aI.clipBufPre_clipContext);aN._$WP(this.culling);aN._$Uo(aJ, 3 * this._$Yo, this._$BP, aM, this._$Qi, aH, this._$6s, aL);\n };b.prototype.dump = function () {\n console.log(\" _$yi( %d ) , _$d0( %d ) , _$Yo( %d ) \\n\", this._$LP, this._$d0, this._$Yo);console.log(\" _$Oi _$di = { \");for (var aJ = 0; aJ < this._$BP.length; aJ++) {\n console.log(\"%5d ,\", this._$BP[aJ]);\n }console.log(\"\\n _$5i _$30\");for (var aJ = 0; aJ < this._$Eo.length; aJ++) {\n console.log(\"\\n _$30[%d] = \", aJ);var aH = this._$Eo[aJ];for (var aI = 0; aI < aH.length; aI++) {\n console.log(\"%6.2f, \", aH[aI]);\n }\n }console.log(\"\\n\");\n };b.prototype._$72 = function (aH) {\n if (this._$5P == null) {\n return null;\n }return this._$5P[aH];\n };b.prototype.getIndexArray = function () {\n return this._$BP;\n };function ag(aH) {\n aB.prototype.constructor.call(this, aH);this._$8r = a._$ur;this._$Cr = null;this._$hr = null;\n }ag.prototype = new aB();ag.prototype.getTransformedPoints = function () {\n return this._$hr != null ? this._$hr : this._$Cr;\n };function k() {\n if (j) {\n return;\n }this.x = null;this.y = null;\n }k.prototype._$HT = function (aH) {\n this.x = aH.x;this.y = aH.y;\n };k.prototype._$HT = function (aH, aI) {\n this.x = aH;this.y = aI;\n };function l(aH) {\n if (j) {\n return;\n }aa.prototype.constructor.call(this);this.drawParamWebGL = new C(aH);this.drawParamWebGL.setGL(Q.getGL(aH));\n }l.prototype = new aa();l.loadModel = function (aI) {\n var aH = new l();aa._$62(aH, aI);return aH;\n };l.loadModel = function (aI, aK) {\n var aJ = aK || 0;var aH = new l(aJ);aa._$62(aH, aI);return aH;\n };l._$to = function () {\n var aH = new l();return aH;\n };l._$er = function (aM) {\n var aJ = new _$5(\"../_$_r/_$t0/_$Ri/_$_P._$d\");if (aJ.exists() == false) {\n throw new _$ls(\"_$t0 _$_ _$6 _$Ui :: \" + aJ._$PL());\n }var aH = [\"../_$_r/_$t0/_$Ri/_$_P.512/_$CP._$1\", \"../_$_r/_$t0/_$Ri/_$_P.512/_$vP._$1\", \"../_$_r/_$t0/_$Ri/_$_P.512/_$EP._$1\", \"../_$_r/_$t0/_$Ri/_$_P.512/_$pP._$1\"];var aK = l.loadModel(aJ._$3b());for (var aI = 0; aI < aH.length; aI++) {\n var aL = new _$5(aH[aI]);if (aL.exists() == false) {\n throw new _$ls(\"_$t0 _$_ _$6 _$Ui :: \" + aL._$PL());\n }aK.setTexture(aI, _$nL._$_o(aM, aL._$3b()));\n }return aK;\n };l.prototype.setGL = function (aH) {\n Q.setGL(aH);\n };l.prototype.setTransform = function (aH) {\n this.drawParamWebGL.setTransform(aH);\n };l.prototype.update = function () {\n this._$5S.update();this._$5S.preDraw(this.drawParamWebGL);\n };l.prototype.draw = function () {\n this._$5S.draw(this.drawParamWebGL);\n };l.prototype._$K2 = function () {\n this.drawParamWebGL._$K2();\n };l.prototype.setTexture = function (aI, aH) {\n if (this.drawParamWebGL == null) {\n q._$li(\"_$Yi for QT _$ki / _$XS() is _$6 _$ui!!\");\n }this.drawParamWebGL.setTexture(aI, aH);\n };l.prototype.setTexture = function (aI, aH) {\n if (this.drawParamWebGL == null) {\n q._$li(\"_$Yi for QT _$ki / _$XS() is _$6 _$ui!!\");\n }this.drawParamWebGL.setTexture(aI, aH);\n };l.prototype._$Rs = function () {\n return this.drawParamWebGL._$Rs();\n };l.prototype._$Ds = function (aH) {\n this.drawParamWebGL._$Ds(aH);\n };l.prototype.getDrawParam = function () {\n return this.drawParamWebGL;\n };l.prototype.setMatrix = function (aH) {\n this.drawParamWebGL.setMatrix(aH);\n };l.prototype.setPremultipliedAlpha = function (aH) {\n this.drawParamWebGL.setPremultipliedAlpha(aH);\n };l.prototype.isPremultipliedAlpha = function () {\n return this.drawParamWebGL.isPremultipliedAlpha();\n };l.prototype.setAnisotropy = function (aH) {\n this.drawParamWebGL.setAnisotropy(aH);\n };l.prototype.getAnisotropy = function () {\n return this.drawParamWebGL.getAnisotropy();\n };function V() {\n if (j) {\n return;\n }this.motions = null;this._$eb = false;this.motions = new Array();\n }V.prototype._$tb = function () {\n return this.motions;\n };V.prototype.startMotion = function (aJ, aI) {\n var aM = null;var aL = null;var aH = this.motions.length;for (var aK = 0; aK < aH; ++aK) {\n aL = this.motions[aK];if (aL == null) {\n continue;\n }aL._$qS(aL._$w0.getFadeOut());if (this._$eb) {\n q._$Ji(\"MotionQueueManager[size:%2d]->startMotion() / start _$K _$3 (m%d)\\n\", aH, aL._$sr);\n }\n }if (aJ == null) {\n return -1;\n }aL = new M();aL._$w0 = aJ;this.motions.push(aL);var aN = aL._$sr;if (this._$eb) {\n q._$Ji(\"MotionQueueManager[size:%2d]->startMotion() / new _$w0 (m%d)\\n\", aH, aN);\n }return aN;\n };V.prototype.updateParam = function (aJ) {\n try {\n var aI = false;for (var aK = 0; aK < this.motions.length; aK++) {\n var aL = this.motions[aK];if (aL == null) {\n this.motions.splice(aK, 1);aK--;continue;\n }var aH = aL._$w0;if (aH == null) {\n this.motions = this.motions.splice(aK, 1);aK--;continue;\n }aH.updateParam(aJ, aL);aI = true;if (aL.isFinished()) {\n if (this._$eb) {\n q._$Ji(\"MotionQueueManager[size:%2d]->updateParam() / _$T0 _$w0 (m%d)\\n\", this.motions.length - 1, aL._$sr);\n }this.motions.splice(aK, 1);aK--;\n } else {}\n }return aI;\n } catch (aM) {\n q._$li(aM);return true;\n }\n };V.prototype.isFinished = function (aK) {\n if (arguments.length >= 1) {\n for (var aI = 0; aI < this.motions.length; aI++) {\n var aJ = this.motions[aI];if (aJ == null) {\n continue;\n }if (aJ._$sr == aK && !aJ.isFinished()) {\n return false;\n }\n }return true;\n } else {\n for (var aI = 0; aI < this.motions.length; aI++) {\n var aJ = this.motions[aI];if (aJ == null) {\n this.motions.splice(aI, 1);aI--;continue;\n }var aH = aJ._$w0;if (aH == null) {\n this.motions.splice(aI, 1);aI--;continue;\n }if (!aJ.isFinished()) {\n return false;\n }\n }return true;\n }\n };V.prototype.stopAllMotions = function () {\n for (var aI = 0; aI < this.motions.length; aI++) {\n var aJ = this.motions[aI];if (aJ == null) {\n this.motions.splice(aI, 1);aI--;continue;\n }var aH = aJ._$w0;if (aH == null) {\n this.motions.splice(aI, 1);aI--;continue;\n }if (true) {\n this.motions.splice(aI, 1);aI--;\n }\n }\n };V.prototype._$Zr = function (aH) {\n this._$eb = aH;\n };V.prototype._$e = function () {\n console.log(\"-- _$R --\\n\");for (var aH = 0; aH < this.motions.length; aH++) {\n var aI = this.motions[aH];var aJ = aI._$w0;console.log(\"MotionQueueEnt[%d] :: %s\\n\", this.motions.length, aJ.toString());\n }\n };function M() {\n this._$w0 = null;this._$AT = true;this._$9L = false;this._$z2 = -1;this._$bs = -1;this._$Do = -1;this._$sr = null;this._$sr = M._$Gs++;\n }M._$Gs = 0;M.prototype.isFinished = function () {\n return this._$9L;\n };M.prototype._$qS = function (aJ) {\n var aI = P.getUserTimeMSec();var aH = aI + aJ;if (this._$Do < 0 || aH < this._$Do) {\n this._$Do = aH;\n }\n };M.prototype._$Bs = function () {\n return this._$sr;\n };function am() {\n this.m = new Array(1, 0, 0, 0, 1, 0, 0, 0, 1);\n }am.prototype.setContext = function (aI) {\n var aH = this.m;aI.transform(aH[0], aH[1], aH[3], aH[4], aH[6], aH[7]);\n };am.prototype.toString = function () {\n var aI = \"LDTransform { \";for (var aH = 0; aH < 9; aH++) {\n aI += this.m[aH].toFixed(2) + \" ,\";\n }aI += \" }\";return aI;\n };am.prototype.identity = function () {\n var aH = this.m;aH[0] = aH[4] = aH[8] = 1;aH[1] = aH[2] = aH[3] = aH[5] = aH[6] = aH[7] = 0;\n };am.prototype._$PS = function (aI, aK, aJ) {\n if (aJ == null) {\n aJ = new Array(0, 0);\n }var aH = this.m;aJ[0] = aH[0] * aI + aH[3] * aK + aH[6];aJ[1] = aH[1] * aI + aH[4] * aK + aH[7];return aJ;\n };am.prototype._$P2 = function (aK) {\n if (!aK) {\n aK = new am();\n }var aI = this.m;var aT = aI[0];var aS = aI[1];var aR = aI[2];var aQ = aI[3];var aP = aI[4];var aO = aI[5];var aN = aI[6];var aM = aI[7];var aL = aI[8];var aJ = aT * aP * aL + aS * aO * aN + aR * aQ * aM - aT * aO * aM - aR * aP * aN - aS * aQ * aL;if (aJ == 0) {\n return null;\n } else {\n var aH = 1 / aJ;aK.m[0] = aH * (aP * aL - aM * aO);aK.m[1] = aH * (aM * aR - aS * aL);aK.m[2] = aH * (aS * aO - aP * aR);aK.m[3] = aH * (aN * aO - aQ * aL);aK.m[4] = aH * (aT * aL - aN * aR);aK.m[5] = aH * (aQ * aR - aT * aO);aK.m[6] = aH * (aQ * aM - aN * aP);aK.m[7] = aH * (aN * aS - aT * aM);aK.m[8] = aH * (aT * aP - aQ * aS);return aK;\n }\n };am.prototype.transform = function (aI, aK, aJ) {\n if (aJ == null) {\n aJ = new Array(0, 0);\n }var aH = this.m;aJ[0] = aH[0] * aI + aH[3] * aK + aH[6];aJ[1] = aH[1] * aI + aH[4] * aK + aH[7];return aJ;\n };am.prototype.translate = function (aI, aJ) {\n var aH = this.m;aH[6] = aH[0] * aI + aH[3] * aJ + aH[6];aH[7] = aH[1] * aI + aH[4] * aJ + aH[7];aH[8] = aH[2] * aI + aH[5] * aJ + aH[8];\n };am.prototype.scale = function (aJ, aI) {\n var aH = this.m;aH[0] *= aJ;aH[1] *= aJ;aH[2] *= aJ;aH[3] *= aI;aH[4] *= aI;aH[5] *= aI;\n };am.prototype.shear = function (aM, aL) {\n var aH = this.m;var aK = aH[0] + aH[3] * aL;var aJ = aH[1] + aH[4] * aL;var aI = aH[2] + aH[5] * aL;aH[3] = aH[0] * aM + aH[3];aH[4] = aH[1] * aM + aH[4];aH[5] = aH[2] * aM + aH[5];aH[0] = aK;aH[1] = aJ;aH[2] = aI;\n };am.prototype.rotate = function (aM) {\n var aH = this.m;var aN = Math.cos(aM);var aL = Math.sin(aM);var aK = aH[0] * aN + aH[3] * aL;var aJ = aH[1] * aN + aH[4] * aL;var aI = aH[2] * aN + aH[5] * aL;aH[3] = -aH[0] * aL + aH[3] * aN;aH[4] = -aH[1] * aL + aH[4] * aN;aH[5] = -aH[2] * aL + aH[5] * aN;aH[0] = aK;aH[1] = aJ;aH[2] = aI;\n };am.prototype.concatenate = function (aL) {\n var aO = this.m;var aM = aL.m;var aS = aO[0] * aM[0] + aO[3] * aM[1] + aO[6] * aM[2];var aR = aO[1] * aM[0] + aO[4] * aM[1] + aO[7] * aM[2];var aQ = aO[2] * aM[0] + aO[5] * aM[1] + aO[8] * aM[2];var aP = aO[0] * aM[3] + aO[3] * aM[4] + aO[6] * aM[5];var aN = aO[1] * aM[3] + aO[4] * aM[4] + aO[7] * aM[5];var aK = aO[2] * aM[3] + aO[5] * aM[4] + aO[8] * aM[5];var aJ = aO[0] * aM[6] + aO[3] * aM[7] + aO[6] * aM[8];var aI = aO[1] * aM[6] + aO[4] * aM[7] + aO[7] * aM[8];var aH = aO[2] * aM[6] + aO[5] * aM[7] + aO[8] * aM[8];m[0] = aS;m[1] = aR;m[2] = aQ;m[3] = aP;m[4] = aN;m[5] = aK;m[6] = aJ;m[7] = aI;m[8] = aH;\n };function n(aH) {\n if (j) {\n return;\n }ak.prototype.constructor.call(this, aH);\n }n.prototype = new ak();n._$eT = null;n._$tP = new Object();n._$2o = function () {\n if (n._$eT == null) {\n n._$eT = n.getID(\"DST_BASE\");\n }return n._$eT;\n };n._$27 = function () {\n n._$tP.clear();n._$eT = null;\n };n.getID = function (aH) {\n var aI = n._$tP[aH];if (aI == null) {\n aI = new n(aH);n._$tP[aH] = aI;\n }return aI;\n };n.prototype._$3s = function () {\n return new n();\n };function C(aH) {\n if (j) {\n return;\n }ax.prototype.constructor.call(this);this.textures = new Array();this.transform = null;this.gl = null;this.glno = aH;this.firstDraw = true;this.anisotropyExt = null;this.maxAnisotropy = 0;this._$As = 32;this._$Gr = false;this._$NT = null;this._$vS = null;this._$no = null;this.vertShader = null;this.fragShader = null;this.vertShaderOff = null;this.fragShaderOff = null;\n }C.prototype = new ax();C._$9r = function (aH) {\n var aI = new Float32Array(aH);return aI;\n };C._$vb = function (aH) {\n var aI = new Int16Array(aH);return aI;\n };C._$cr = function (aI, aH) {\n if (aI == null || aI._$yL() < aH.length) {\n aI = C._$9r(aH.length * 2);aI.put(aH);aI._$oT(0);\n } else {\n aI.clear();aI.put(aH);aI._$oT(0);\n }return aI;\n };C._$mb = function (aI, aH) {\n if (aI == null || aI._$yL() < aH.length) {\n aI = C._$vb(aH.length * 2);aI.put(aH);aI._$oT(0);\n } else {\n aI.clear();aI.put(aH);aI._$oT(0);\n }return aI;\n };C._$Hs = function () {\n return this._$Gr;\n };C._$as = function (aH) {\n this._$Gr = aH;\n };C.prototype.getGL = function () {\n return this.gl;\n };C.prototype.setGL = function (aH) {\n this.gl = aH;\n };C.prototype.setTransform = function (aH) {\n this.transform = aH;\n };C.prototype._$ZT = function () {\n var aH = this.gl;if (this.firstDraw) {\n this.initShader();this.firstDraw = false;this.anisotropyExt = aH.getExtension(\"EXT_texture_filter_anisotropic\") || aH.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\") || aH.getExtension(\"MOZ_EXT_texture_filter_anisotropic\");if (this.anisotropyExt) {\n this.maxAnisotropy = aH.getParameter(this.anisotropyExt.MAX_TEXTURE_MAX_ANISOTROPY_EXT);\n }\n }aH.disable(aH.SCISSOR_TEST);aH.disable(aH.STENCIL_TEST);aH.disable(aH.DEPTH_TEST);aH.frontFace(aH.CW);aH.enable(aH.BLEND);aH.colorMask(1, 1, 1, 1);aH.bindBuffer(aH.ARRAY_BUFFER, null);aH.bindBuffer(aH.ELEMENT_ARRAY_BUFFER, null);\n };C.prototype._$Uo = function (aS, aT, aL, aU, aV, aN, aM, aO) {\n if (aN < 0.01 && this.clipBufPre_clipContextMask == null) {\n return;\n }var aH = aN > 0.9 ? Q.EXPAND_W : 0;var a0 = this.gl;if (this.gl == null) {\n throw new Error(\"gl is null\");\n }var a1 = false;var aQ = 1;var aP = 1;var a3 = 1;var aZ = 1;var aW = this._$C0 * aP * aN;var a2 = this._$tT * a3 * aN;var a5 = this._$WL * aZ * aN;var a7 = this._$lT * aN;if (this.clipBufPre_clipContextMask != null) {\n a0.frontFace(a0.CCW);a0.useProgram(this.shaderProgram);this._$vS = T(a0, this._$vS, aU);this._$no = L(a0, this._$no, aL);a0.enableVertexAttribArray(this.a_position_Loc);a0.vertexAttribPointer(this.a_position_Loc, 2, a0.FLOAT, false, 0, 0);this._$NT = T(a0, this._$NT, aV);a0.activeTexture(a0.TEXTURE1);a0.bindTexture(a0.TEXTURE_2D, this.textures[aS]);a0.uniform1i(this.s_texture0_Loc, 1);a0.enableVertexAttribArray(this.a_texCoord_Loc);a0.vertexAttribPointer(this.a_texCoord_Loc, 2, a0.FLOAT, false, 0, 0);a0.uniformMatrix4fv(this.u_matrix_Loc, false, this.getClipBufPre_clipContextMask().matrixForMask);var aY = this.getClipBufPre_clipContextMask().layoutChannelNo;var a4 = this.getChannelFlagAsColor(aY);a0.uniform4f(this.u_channelFlag, a4.r, a4.g, a4.b, a4.a);var aI = this.getClipBufPre_clipContextMask().layoutBounds;a0.uniform4f(this.u_baseColor_Loc, aI.x * 2 - 1, aI.y * 2 - 1, aI._$EL() * 2 - 1, aI._$5T() * 2 - 1);a0.uniform1i(this.u_maskFlag_Loc, true);\n } else {\n a1 = this.getClipBufPre_clipContextDraw() != null;if (a1) {\n a0.useProgram(this.shaderProgramOff);this._$vS = T(a0, this._$vS, aU);this._$no = L(a0, this._$no, aL);a0.enableVertexAttribArray(this.a_position_Loc_Off);a0.vertexAttribPointer(this.a_position_Loc_Off, 2, a0.FLOAT, false, 0, 0);this._$NT = T(a0, this._$NT, aV);a0.activeTexture(a0.TEXTURE1);a0.bindTexture(a0.TEXTURE_2D, this.textures[aS]);a0.uniform1i(this.s_texture0_Loc_Off, 1);a0.enableVertexAttribArray(this.a_texCoord_Loc_Off);a0.vertexAttribPointer(this.a_texCoord_Loc_Off, 2, a0.FLOAT, false, 0, 0);a0.uniformMatrix4fv(this.u_clipMatrix_Loc_Off, false, this.getClipBufPre_clipContextDraw().matrixForDraw);a0.uniformMatrix4fv(this.u_matrix_Loc_Off, false, this.matrix4x4);a0.activeTexture(a0.TEXTURE2);a0.bindTexture(a0.TEXTURE_2D, Q.fTexture[this.glno]);a0.uniform1i(this.s_texture1_Loc_Off, 2);var aY = this.getClipBufPre_clipContextDraw().layoutChannelNo;var a4 = this.getChannelFlagAsColor(aY);a0.uniform4f(this.u_channelFlag_Loc_Off, a4.r, a4.g, a4.b, a4.a);a0.uniform4f(this.u_baseColor_Loc_Off, aW, a2, a5, a7);\n } else {\n a0.useProgram(this.shaderProgram);this._$vS = T(a0, this._$vS, aU);this._$no = L(a0, this._$no, aL);a0.enableVertexAttribArray(this.a_position_Loc);a0.vertexAttribPointer(this.a_position_Loc, 2, a0.FLOAT, false, 0, 0);this._$NT = T(a0, this._$NT, aV);a0.activeTexture(a0.TEXTURE1);a0.bindTexture(a0.TEXTURE_2D, this.textures[aS]);a0.uniform1i(this.s_texture0_Loc, 1);a0.enableVertexAttribArray(this.a_texCoord_Loc);a0.vertexAttribPointer(this.a_texCoord_Loc, 2, a0.FLOAT, false, 0, 0);a0.uniformMatrix4fv(this.u_matrix_Loc, false, this.matrix4x4);a0.uniform4f(this.u_baseColor_Loc, aW, a2, a5, a7);a0.uniform1i(this.u_maskFlag_Loc, false);\n }\n }if (this.culling) {\n this.gl.enable(a0.CULL_FACE);\n } else {\n this.gl.disable(a0.CULL_FACE);\n }this.gl.enable(a0.BLEND);var a6;var aX;var aR;var aK;if (this.clipBufPre_clipContextMask != null) {\n a6 = a0.ONE;aX = a0.ONE_MINUS_SRC_ALPHA;aR = a0.ONE;aK = a0.ONE_MINUS_SRC_ALPHA;\n } else {\n switch (aM) {case b._$ms:\n a6 = a0.ONE;aX = a0.ONE_MINUS_SRC_ALPHA;aR = a0.ONE;aK = a0.ONE_MINUS_SRC_ALPHA;break;case b._$ns:\n a6 = a0.ONE;aX = a0.ONE;aR = a0.ZERO;aK = a0.ONE;break;case b._$_s:\n a6 = a0.DST_COLOR;aX = a0.ONE_MINUS_SRC_ALPHA;aR = a0.ZERO;aK = a0.ONE;break;}\n }a0.blendEquationSeparate(a0.FUNC_ADD, a0.FUNC_ADD);a0.blendFuncSeparate(a6, aX, aR, aK);if (this.anisotropyExt) {\n a0.texParameteri(a0.TEXTURE_2D, this.anisotropyExt.TEXTURE_MAX_ANISOTROPY_EXT, this.maxAnisotropy);\n }var aJ = aL.length;a0.drawElements(a0.TRIANGLES, aJ, a0.UNSIGNED_SHORT, 0);a0.bindTexture(a0.TEXTURE_2D, null);\n };function T(aJ, aH, aI) {\n if (aH == null) {\n aH = aJ.createBuffer();\n }aJ.bindBuffer(aJ.ARRAY_BUFFER, aH);aJ.bufferData(aJ.ARRAY_BUFFER, aI, aJ.DYNAMIC_DRAW);return aH;\n }function L(aJ, aH, aI) {\n if (aH == null) {\n aH = aJ.createBuffer();\n }aJ.bindBuffer(aJ.ELEMENT_ARRAY_BUFFER, aH);aJ.bufferData(aJ.ELEMENT_ARRAY_BUFFER, aI, aJ.DYNAMIC_DRAW);return aH;\n }C.prototype._$Rs = function () {\n throw new Error(\"_$Rs\");\n };C.prototype._$Ds = function (aH) {\n throw new Error(\"_$Ds\");\n };C.prototype._$K2 = function () {\n for (var aH = 0; aH < this.textures.length; aH++) {\n var aI = this.textures[aH];if (aI != 0) {\n this.gl._$K2(1, this.textures, aH);this.textures[aH] = null;\n }\n }\n };C.prototype.setTexture = function (aH, aI) {\n this.textures[aH] = aI;\n };C.prototype.initShader = function () {\n var aH = this.gl;this.loadShaders2();this.a_position_Loc = aH.getAttribLocation(this.shaderProgram, \"a_position\");this.a_texCoord_Loc = aH.getAttribLocation(this.shaderProgram, \"a_texCoord\");this.u_matrix_Loc = aH.getUniformLocation(this.shaderProgram, \"u_mvpMatrix\");this.s_texture0_Loc = aH.getUniformLocation(this.shaderProgram, \"s_texture0\");this.u_channelFlag = aH.getUniformLocation(this.shaderProgram, \"u_channelFlag\");this.u_baseColor_Loc = aH.getUniformLocation(this.shaderProgram, \"u_baseColor\");this.u_maskFlag_Loc = aH.getUniformLocation(this.shaderProgram, \"u_maskFlag\");this.a_position_Loc_Off = aH.getAttribLocation(this.shaderProgramOff, \"a_position\");this.a_texCoord_Loc_Off = aH.getAttribLocation(this.shaderProgramOff, \"a_texCoord\");this.u_matrix_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"u_mvpMatrix\");this.u_clipMatrix_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"u_ClipMatrix\");this.s_texture0_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"s_texture0\");this.s_texture1_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"s_texture1\");this.u_channelFlag_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"u_channelFlag\");this.u_baseColor_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"u_baseColor\");\n };C.prototype.disposeShader = function () {\n var aH = this.gl;if (this.shaderProgram) {\n aH.deleteProgram(this.shaderProgram);this.shaderProgram = null;\n }if (this.shaderProgramOff) {\n aH.deleteProgram(this.shaderProgramOff);this.shaderProgramOff = null;\n }\n };C.prototype.compileShader = function (aJ, aN) {\n var aM = this.gl;var aH;var aL = aN;var aK = aM.createShader(aJ);if (aK == null) {\n q._$Ji(\"_$L0 to create shader\");return null;\n }aM.shaderSource(aK, aL);aM.compileShader(aK);var aH = aM.getShaderParameter(aK, aM.COMPILE_STATUS);if (!aH) {\n var aI = aM.getShaderInfoLog(aK);q._$Ji(\"_$L0 to compile shader : \" + aI);aM.deleteShader(aK);return null;\n }return aK;\n };C.prototype.loadShaders2 = function () {\n var aN = this.gl;this.shaderProgram = aN.createProgram();if (!this.shaderProgram) {\n return false;\n }this.shaderProgramOff = aN.createProgram();if (!this.shaderProgramOff) {\n return false;\n }var aK = \"attribute vec4 a_position;attribute vec2 a_texCoord;varying vec2 v_texCoord;varying vec4 v_ClipPos;uniform mat4 u_mvpMatrix;void main(){ gl_Position = u_mvpMatrix * a_position; v_ClipPos = u_mvpMatrix * a_position; v_texCoord = a_texCoord;}\";var aM = \"precision mediump float;varying vec2 v_texCoord;varying vec4 v_ClipPos;uniform sampler2D s_texture0;uniform vec4 u_channelFlag;uniform vec4 u_baseColor;uniform bool u_maskFlag;void main(){ vec4 smpColor; if(u_maskFlag){ float isInside = step(u_baseColor.x, v_ClipPos.x/v_ClipPos.w) * step(u_baseColor.y, v_ClipPos.y/v_ClipPos.w) * step(v_ClipPos.x/v_ClipPos.w, u_baseColor.z) * step(v_ClipPos.y/v_ClipPos.w, u_baseColor.w); smpColor = u_channelFlag * texture2D(s_texture0 , v_texCoord).a * isInside; }else{ smpColor = texture2D(s_texture0 , v_texCoord) * u_baseColor; } gl_FragColor = smpColor;}\";var aL = \"attribute vec4 a_position;attribute vec2 a_texCoord;varying vec2 v_texCoord;varying vec4 v_ClipPos;uniform mat4 u_mvpMatrix;uniform mat4 u_ClipMatrix;void main(){ gl_Position = u_mvpMatrix * a_position; v_ClipPos = u_ClipMatrix * a_position; v_texCoord = a_texCoord ;}\";var aJ = \"precision mediump float ;varying vec2 v_texCoord;varying vec4 v_ClipPos;uniform sampler2D s_texture0;uniform sampler2D s_texture1;uniform vec4 u_channelFlag;uniform vec4 u_baseColor ;void main(){ vec4 col_formask = texture2D(s_texture0, v_texCoord) * u_baseColor; vec4 clipMask = texture2D(s_texture1, v_ClipPos.xy / v_ClipPos.w) * u_channelFlag; float maskVal = clipMask.r + clipMask.g + clipMask.b + clipMask.a; col_formask = col_formask * maskVal; gl_FragColor = col_formask;}\";this.vertShader = this.compileShader(aN.VERTEX_SHADER, aK);if (!this.vertShader) {\n q._$Ji(\"Vertex shader compile _$li!\");return false;\n }this.vertShaderOff = this.compileShader(aN.VERTEX_SHADER, aL);if (!this.vertShaderOff) {\n q._$Ji(\"OffVertex shader compile _$li!\");return false;\n }this.fragShader = this.compileShader(aN.FRAGMENT_SHADER, aM);if (!this.fragShader) {\n q._$Ji(\"Fragment shader compile _$li!\");return false;\n }this.fragShaderOff = this.compileShader(aN.FRAGMENT_SHADER, aJ);if (!this.fragShaderOff) {\n q._$Ji(\"OffFragment shader compile _$li!\");return false;\n }aN.attachShader(this.shaderProgram, this.vertShader);aN.attachShader(this.shaderProgram, this.fragShader);aN.attachShader(this.shaderProgramOff, this.vertShaderOff);aN.attachShader(this.shaderProgramOff, this.fragShaderOff);aN.linkProgram(this.shaderProgram);aN.linkProgram(this.shaderProgramOff);var aH = aN.getProgramParameter(this.shaderProgram, aN.LINK_STATUS);if (!aH) {\n var aI = aN.getProgramInfoLog(this.shaderProgram);q._$Ji(\"_$L0 to link program: \" + aI);if (this.vertShader) {\n aN.deleteShader(this.vertShader);this.vertShader = 0;\n }if (this.fragShader) {\n aN.deleteShader(this.fragShader);this.fragShader = 0;\n }if (this.shaderProgram) {\n aN.deleteProgram(this.shaderProgram);this.shaderProgram = 0;\n }if (this.vertShaderOff) {\n aN.deleteShader(this.vertShaderOff);this.vertShaderOff = 0;\n }if (this.fragShaderOff) {\n aN.deleteShader(this.fragShaderOff);this.fragShaderOff = 0;\n }if (this.shaderProgramOff) {\n aN.deleteProgram(this.shaderProgramOff);this.shaderProgramOff = 0;\n }return false;\n }return true;\n };C.prototype.createFramebuffer = function () {\n var aL = this.gl;var aK = Q.clippingMaskBufferSize;var aJ = aL.createFramebuffer();aL.bindFramebuffer(aL.FRAMEBUFFER, aJ);var aH = aL.createRenderbuffer();aL.bindRenderbuffer(aL.RENDERBUFFER, aH);aL.renderbufferStorage(aL.RENDERBUFFER, aL.RGBA4, aK, aK);aL.framebufferRenderbuffer(aL.FRAMEBUFFER, aL.COLOR_ATTACHMENT0, aL.RENDERBUFFER, aH);var aI = aL.createTexture();aL.bindTexture(aL.TEXTURE_2D, aI);aL.texImage2D(aL.TEXTURE_2D, 0, aL.RGBA, aK, aK, 0, aL.RGBA, aL.UNSIGNED_BYTE, null);aL.texParameteri(aL.TEXTURE_2D, aL.TEXTURE_MIN_FILTER, aL.LINEAR);aL.texParameteri(aL.TEXTURE_2D, aL.TEXTURE_MAG_FILTER, aL.LINEAR);aL.texParameteri(aL.TEXTURE_2D, aL.TEXTURE_WRAP_S, aL.CLAMP_TO_EDGE);aL.texParameteri(aL.TEXTURE_2D, aL.TEXTURE_WRAP_T, aL.CLAMP_TO_EDGE);aL.framebufferTexture2D(aL.FRAMEBUFFER, aL.COLOR_ATTACHMENT0, aL.TEXTURE_2D, aI, 0);aL.bindTexture(aL.TEXTURE_2D, null);aL.bindRenderbuffer(aL.RENDERBUFFER, null);aL.bindFramebuffer(aL.FRAMEBUFFER, null);Q.fTexture[this.glno] = aI;return { framebuffer: aJ, renderbuffer: aH, texture: Q.fTexture[this.glno] };\n };function K(aH) {\n if (j) {\n return;\n }this._$P = new Int8Array(8);this._$R0 = new DataView(this._$P.buffer);this._$3i = new Int8Array(1000);this._$hL = 0;this._$v0 = 0;this._$S2 = 0;this._$Ko = new Array();this._$T = aH;this._$F = 0;\n }K.prototype._$fP = function () {\n var aK = this._$ST();var aJ, aI, aH;if ((aK & 128) == 0) {\n return aK & 255;\n } else {\n if (((aJ = this._$ST()) & 128) == 0) {\n return (aK & 127) << 7 | aJ & 127;\n } else {\n if (((aI = this._$ST()) & 128) == 0) {\n return (aK & 127) << 14 | (aJ & 127) << 7 | aI & 255;\n } else {\n if (((aH = this._$ST()) & 128) == 0) {\n return (aK & 127) << 21 | (aJ & 127) << 14 | (aI & 127) << 7 | aH & 255;\n } else {\n throw new J(\"_$L _$0P _\");\n }\n }\n }\n }\n };K.prototype.getFormatVersion = function () {\n return this._$S2;\n };K.prototype._$gr = function (aH) {\n this._$S2 = aH;\n };K.prototype._$3L = function () {\n return this._$fP();\n };K.prototype._$mP = function () {\n this._$zT();this._$F += 8;return this._$T.getFloat64(this._$F - 8);\n };K.prototype._$_T = function () {\n this._$zT();this._$F += 4;return this._$T.getFloat32(this._$F - 4);\n };K.prototype._$6L = function () {\n this._$zT();this._$F += 4;return this._$T.getInt32(this._$F - 4);\n };K.prototype._$ST = function () {\n this._$zT();return this._$T.getInt8(this._$F++);\n };K.prototype._$9T = function () {\n this._$zT();this._$F += 2;return this._$T.getInt16(this._$F - 2);\n };K.prototype._$2T = function () {\n this._$zT();this._$F += 8;throw new J(\"_$L _$q read long\");\n };K.prototype._$po = function () {\n this._$zT();return this._$T.getInt8(this._$F++) != 0;\n };var O = true;K.prototype._$bT = function () {\n this._$zT();var aH = this._$3L();var aK = null;if (O) {\n try {\n var aM = new ArrayBuffer(aH * 2);aK = new Uint16Array(aM);for (var aJ = 0; aJ < aH; ++aJ) {\n aK[aJ] = this._$T.getUint8(this._$F++);\n }return String.fromCharCode.apply(null, aK);\n } catch (aL) {\n O = false;\n }\n }try {\n var aI = new Array();if (aK == null) {\n for (var aJ = 0; aJ < aH; ++aJ) {\n aI[aJ] = this._$T.getUint8(this._$F++);\n }\n } else {\n for (var aJ = 0; aJ < aH; ++aJ) {\n aI[aJ] = aK[aJ];\n }\n }return String.fromCharCode.apply(null, aI);\n } catch (aL) {\n console.log(\"read utf8 / _$rT _$L0 !! : \" + aL);\n }\n };K.prototype._$cS = function () {\n this._$zT();var aI = this._$3L();var aH = new Int32Array(aI);for (var aJ = 0; aJ < aI; aJ++) {\n aH[aJ] = this._$T.getInt32(this._$F);this._$F += 4;\n }return aH;\n };K.prototype._$Tb = function () {\n this._$zT();var aI = this._$3L();var aH = new Float32Array(aI);for (var aJ = 0; aJ < aI; aJ++) {\n aH[aJ] = this._$T.getFloat32(this._$F);this._$F += 4;\n }return aH;\n };K.prototype._$5b = function () {\n this._$zT();var aI = this._$3L();var aH = new Float64Array(aI);for (var aJ = 0; aJ < aI; aJ++) {\n aH[aJ] = this._$T.getFloat64(this._$F);this._$F += 8;\n }return aH;\n };K.prototype._$nP = function () {\n return this._$Jb(-1);\n };K.prototype._$Jb = function (aJ) {\n this._$zT();if (aJ < 0) {\n aJ = this._$3L();\n }if (aJ == ay._$7P) {\n var aH = this._$6L();if (0 <= aH && aH < this._$Ko.length) {\n return this._$Ko[aH];\n } else {\n throw new J(\"_$sL _$4i @_$m0\");\n }\n } else {\n var aI = this._$4b(aJ);this._$Ko.push(aI);return aI;\n }\n };K.prototype._$4b = function (aN) {\n if (aN == 0) {\n return null;\n }if (aN == 50) {\n var aK = this._$bT();var aI = Z.getID(aK);return aI;\n } else {\n if (aN == 51) {\n var aK = this._$bT();var aI = n.getID(aK);return aI;\n } else {\n if (aN == 134) {\n var aK = this._$bT();var aI = i.getID(aK);return aI;\n } else {\n if (aN == 60) {\n var aK = this._$bT();var aI = z.getID(aK);return aI;\n }\n }\n }\n }if (aN >= 48) {\n var aL = ay._$9o(aN);if (aL != null) {\n aL._$F0(this);return aL;\n } else {\n return null;\n }\n }switch (aN) {case 1:\n return this._$bT();case 10:\n var aM = this._$6L();return new I(aM, true);case 11:\n return new av(this._$mP(), this._$mP(), this._$mP(), this._$mP());case 12:\n return new av(this._$_T(), this._$_T(), this._$_T(), this._$_T());case 13:\n return new e(this._$mP(), this._$mP());case 14:\n return new e(this._$_T(), this._$_T());case 15:\n var aH = this._$3L();var aI = new Array(aH);for (var aJ = 0; aJ < aH; aJ++) {\n aI[aJ] = this._$nP();\n }return aI;case 17:\n var aI = new aD(this._$mP(), this._$mP(), this._$mP(), this._$mP(), this._$mP(), this._$mP());return aI;case 21:\n return new F(this._$6L(), this._$6L(), this._$6L(), this._$6L());case 22:\n return new k(this._$6L(), this._$6L());case 23:\n throw new Error(\"_$L _$ro \");case 16:case 25:\n return this._$cS();case 26:\n return this._$5b();case 27:\n return this._$Tb();case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 18:case 19:case 20:case 24:case 28:\n throw new J(\"_$6 _$q : _$nP() of 2-9 ,18,19,20,24,28 : \" + aN);default:\n throw new J(\"_$6 _$q : _$nP() NO _$i : \" + aN);}\n };K.prototype._$8L = function () {\n if (this._$hL == 0) {\n this._$v0 = this._$ST();\n } else {\n if (this._$hL == 8) {\n this._$v0 = this._$ST();this._$hL = 0;\n }\n }return (this._$v0 >> 7 - this._$hL++ & 1) == 1;\n };K.prototype._$zT = function () {\n if (this._$hL != 0) {\n this._$hL = 0;\n }\n };function ai() {}ai.prototype._$wP = function (aM, aI, aK) {\n for (var aL = 0; aL < aK; aL++) {\n for (var aH = 0; aH < aI; aH++) {\n var aJ = 2 * (aH + aL * aI);console.log(\"(% 7.3f , % 7.3f) , \", aM[aJ], aM[aJ + 1]);\n }console.log(\"\\n\");\n }console.log(\"\\n\");\n };function aC() {}aC._$2S = Math.PI / 180;aC._$bS = Math.PI / 180;aC._$wS = 180 / Math.PI;aC._$NS = 180 / Math.PI;aC.PI_F = Math.PI;aC._$kT = [0, 0.012368, 0.024734, 0.037097, 0.049454, 0.061803, 0.074143, 0.086471, 0.098786, 0.111087, 0.12337, 0.135634, 0.147877, 0.160098, 0.172295, 0.184465, 0.196606, 0.208718, 0.220798, 0.232844, 0.244854, 0.256827, 0.268761, 0.280654, 0.292503, 0.304308, 0.316066, 0.327776, 0.339436, 0.351044, 0.362598, 0.374097, 0.385538, 0.396921, 0.408243, 0.419502, 0.430697, 0.441826, 0.452888, 0.463881, 0.474802, 0.485651, 0.496425, 0.507124, 0.517745, 0.528287, 0.538748, 0.549126, 0.559421, 0.56963, 0.579752, 0.589785, 0.599728, 0.609579, 0.619337, 0.629, 0.638567, 0.648036, 0.657406, 0.666676, 0.675843, 0.684908, 0.693867, 0.70272, 0.711466, 0.720103, 0.72863, 0.737045, 0.745348, 0.753536, 0.76161, 0.769566, 0.777405, 0.785125, 0.792725, 0.800204, 0.807561, 0.814793, 0.821901, 0.828884, 0.835739, 0.842467, 0.849066, 0.855535, 0.861873, 0.868079, 0.874153, 0.880093, 0.885898, 0.891567, 0.897101, 0.902497, 0.907754, 0.912873, 0.917853, 0.922692, 0.92739, 0.931946, 0.936359, 0.940629, 0.944755, 0.948737, 0.952574, 0.956265, 0.959809, 0.963207, 0.966457, 0.96956, 0.972514, 0.97532, 0.977976, 0.980482, 0.982839, 0.985045, 0.987101, 0.989006, 0.990759, 0.992361, 0.993811, 0.995109, 0.996254, 0.997248, 0.998088, 0.998776, 0.999312, 0.999694, 0.999924, 1];aC._$92 = function (aK, aI) {\n var aH = Math.atan2(aK[1], aK[0]);var aJ = Math.atan2(aI[1], aI[0]);return aC._$tS(aH, aJ);\n };aC._$tS = function (aI, aH) {\n var aJ = aI - aH;while (aJ < -Math.PI) {\n aJ += 2 * Math.PI;\n }while (aJ > Math.PI) {\n aJ -= 2 * Math.PI;\n }return aJ;\n };aC._$9 = function (aH) {\n return Math.sin(aH);\n };aC.fcos = function (aH) {\n return Math.cos(aH);\n };function aB(aH) {\n if (j) {\n return;\n }this._$e0 = null;this._$IP = null;this._$Us = null;this._$7s = null;this._$IS = [false];this._$VS = null;this._$AT = true;this.baseOpacity = 1;this.clipBufPre_clipContext = null;this._$e0 = aH;\n }aB.prototype._$u2 = function () {\n return this._$IS[0];\n };aB.prototype._$yo = function () {\n return this._$AT && !this._$IS[0];\n };aB.prototype._$GT = function () {\n return this._$e0;\n };function r() {}r._$W2 = 0;r.SYSTEM_INFO = null;r.USER_AGENT = navigator.userAgent;r.isIPhone = function () {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }return r.SYSTEM_INFO._isIPhone;\n };r.isIOS = function () {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }return r.SYSTEM_INFO._isIPhone || r.SYSTEM_INFO._isIPad;\n };r.isAndroid = function () {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }return r.SYSTEM_INFO._isAndroid;\n };r.getOSVersion = function () {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }return r.SYSTEM_INFO.version;\n };r.getOS = function () {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }if (r.SYSTEM_INFO._isIPhone || r.SYSTEM_INFO._isIPad) {\n return \"iOS\";\n }if (r.SYSTEM_INFO._isAndroid) {\n return \"Android\";\n } else {\n return \"_$Q0 OS\";\n }\n };r.setup = function () {\n var aK = r.USER_AGENT;function aI(aO, aR) {\n var aN = aO.substring(aR).split(/[ _,;\\.]/);var aQ = 0;for (var aM = 0; aM <= 2; aM++) {\n if (isNaN(aN[aM])) {\n break;\n }var aP = parseInt(aN[aM]);if (aP < 0 || aP > 999) {\n q._$li(\"err : \" + aP + \" @UtHtml5.setup()\");aQ = 0;break;\n }aQ += aP * Math.pow(1000, 2 - aM);\n }return aQ;\n }var aL;var aH;var aJ = r.SYSTEM_INFO = { userAgent: aK };if ((aL = aK.indexOf(\"iPhone OS \")) >= 0) {\n aJ.os = \"iPhone\";aJ._isIPhone = true;aJ.version = aI(aK, aL + \"iPhone OS \".length);\n } else {\n if ((aL = aK.indexOf(\"iPad\")) >= 0) {\n aL = aK.indexOf(\"CPU OS\");if (aL < 0) {\n q._$li(\" err : \" + aK + \" @UtHtml5.setup()\");return;\n }aJ.os = \"iPad\";aJ._isIPad = true;aJ.version = aI(aK, aL + \"CPU OS \".length);\n } else {\n if ((aL = aK.indexOf(\"Android\")) >= 0) {\n aJ.os = \"Android\";aJ._isAndroid = true;aJ.version = aI(aK, aL + \"Android \".length);\n } else {\n aJ.os = \"-\";aJ.version = -1;\n }\n }\n }\n };window.UtSystem = P;window.UtDebug = q;window.LDTransform = am;window.LDGL = au;window.Live2D = Q;window.Live2DModelWebGL = l;window.Live2DModelJS = v;window.Live2DMotion = ao;window.MotionQueueManager = V;window.PhysicsHair = u;window.AMotion = ah;window.PartsDataID = i;window.DrawDataID = Z;window.BaseDataID = n;window.ParamID = z;Q.init();var j = false;\n})();\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10)))\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports) {\n\n// Provide a \"System\" global.\r\nmodule.exports = {\r\n\t// Make sure import is only used as \"System.import\"\r\n\timport: function() {\r\n\t\tthrow new Error(\"System.import cannot be used indirectly\");\r\n\t}\r\n};\r\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(4);\n\n\n/***/ })\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// bundle.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 11);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap d20b8d3fcd0215216d39","/**\r\n * EYHN 基于 live2d 官方 Live2DFramework.js 修改\r\n * \r\n * Copyright © 2016 - 2017 EYHN\r\n */\r\n//============================================================\r\n//============================================================\r\n// class L2DBaseModel \r\n//============================================================\r\n//============================================================\r\nfunction L2DBaseModel() {\r\n this.live2DModel = null; // ALive2DModel\r\n this.modelMatrix = null; // L2DModelMatrix\r\n this.eyeBlink = null; // L2DEyeBlink\r\n this.physics = null; // L2DPhysics\r\n this.pose = null; // L2DPose\r\n this.debugMode = false;\r\n this.initialized = false;\r\n this.updating = false;\r\n this.alpha = 1;\r\n this.accAlpha = 0;\r\n this.lipSync = false;\r\n this.lipSyncValue = 0;\r\n this.accelX = 0;\r\n this.accelY = 0;\r\n this.accelZ = 0;\r\n this.dragX = 0;\r\n this.dragY = 0;\r\n this.startTimeMSec = null;\r\n this.mainMotionManager = new L2DMotionManager(); //L2DMotionManager\r\n this.expressionManager = new L2DMotionManager(); //L2DMotionManager\r\n this.motions = {};\r\n this.expressions = {};\r\n\r\n this.isTexLoaded = false;\r\n}\r\n\r\nvar texCounter = 0;\r\n\r\n//============================================================\r\n// L2DBaseModel # getModelMatrix()\r\n//============================================================\r\nL2DBaseModel.prototype.getModelMatrix = function () {\r\n return this.modelMatrix;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setAlpha()\r\n//============================================================\r\nL2DBaseModel.prototype.setAlpha = function (a/*float*/) {\r\n if (a > 0.999) a = 1;\r\n if (a < 0.001) a = 0;\r\n this.alpha = a;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # getAlpha()\r\n//============================================================\r\nL2DBaseModel.prototype.getAlpha = function () {\r\n return this.alpha;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # isInitialized()\r\n//============================================================\r\nL2DBaseModel.prototype.isInitialized = function () {\r\n return this.initialized;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setInitialized()\r\n//============================================================\r\nL2DBaseModel.prototype.setInitialized = function (v/*boolean*/) {\r\n this.initialized = v;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # isUpdating()\r\n//============================================================\r\nL2DBaseModel.prototype.isUpdating = function () {\r\n return this.updating;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setUpdating()\r\n//============================================================\r\nL2DBaseModel.prototype.setUpdating = function (v/*boolean*/) {\r\n this.updating = v;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # getLive2DModel()\r\n//============================================================\r\nL2DBaseModel.prototype.getLive2DModel = function () {\r\n return this.live2DModel;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setLipSync()\r\n//============================================================\r\nL2DBaseModel.prototype.setLipSync = function (v/*boolean*/) {\r\n this.lipSync = v;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setLipSyncValue()\r\n//============================================================\r\nL2DBaseModel.prototype.setLipSyncValue = function (v/*float*/) {\r\n this.lipSyncValue = v;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setAccel()\r\n//============================================================\r\nL2DBaseModel.prototype.setAccel = function (x/*float*/, y/*float*/, z/*float*/) {\r\n this.accelX = x;\r\n this.accelY = y;\r\n this.accelZ = z;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setDrag()\r\n//============================================================\r\nL2DBaseModel.prototype.setDrag = function (x/*float*/, y/*float*/) {\r\n this.dragX = x;\r\n this.dragY = y;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # getMainMotionManager()\r\n//============================================================\r\nL2DBaseModel.prototype.getMainMotionManager = function () {\r\n return this.mainMotionManager;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # getExpressionManager()\r\n//============================================================\r\nL2DBaseModel.prototype.getExpressionManager = function () {\r\n return this.expressionManager;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # loadModelData()\r\n//============================================================\r\nL2DBaseModel.prototype.loadModelData = function (path/*String*/, callback) {\r\n /*\r\n if( this.live2DModel != null ) {\r\n this.live2DModel.deleteTextures();\r\n }\r\n */\r\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\r\n if (this.debugMode) pm.log(\"Load model : \" + path);\r\n\r\n var thisRef = this;\r\n pm.loadLive2DModel(path, function (l2dModel) {\r\n thisRef.live2DModel = l2dModel;\r\n thisRef.live2DModel.saveParam();\r\n\r\n var _err = Live2D.getError();\r\n\r\n if (_err != 0) {\r\n console.error(\"Error : Failed to loadModelData().\");\r\n return;\r\n }\r\n\r\n thisRef.modelMatrix = new L2DModelMatrix(\r\n thisRef.live2DModel.getCanvasWidth(),\r\n thisRef.live2DModel.getCanvasHeight()); //L2DModelMatrix\r\n thisRef.modelMatrix.setWidth(2);\r\n thisRef.modelMatrix.setCenterPosition(0, 0);\r\n\r\n callback(thisRef.live2DModel);\r\n });\r\n}\r\n\r\n\r\n//============================================================\r\n// L2DBaseModel # loadTexture()\r\n//============================================================\r\nL2DBaseModel.prototype.loadTexture = function (no/*int*/, path/*String*/, callback) {\r\n texCounter++;\r\n\r\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\r\n\r\n if (this.debugMode) pm.log(\"Load Texture : \" + path);\r\n\r\n var thisRef = this;\r\n pm.loadTexture(this.live2DModel, no, path, function () {\r\n texCounter--;\r\n if (texCounter == 0) thisRef.isTexLoaded = true;\r\n if (typeof callback == \"function\") callback();\r\n });\r\n\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # loadMotion()\r\n//============================================================\r\nL2DBaseModel.prototype.loadMotion = function (name/*String*/, path /*String*/, callback) {\r\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\r\n\r\n if (this.debugMode) pm.log(\"Load Motion : \" + path);\r\n\r\n var motion = null; //Live2DMotion\r\n\r\n var thisRef = this;\r\n pm.loadBytes(path, function (buf) {\r\n motion = Live2DMotion.loadMotion(buf);\r\n if (name != null) {\r\n thisRef.motions[name] = motion;\r\n }\r\n callback(motion);\r\n });\r\n\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # loadExpression()\r\n//============================================================\r\nL2DBaseModel.prototype.loadExpression = function (name/*String*/, path /*String*/, callback) {\r\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\r\n\r\n if (this.debugMode) pm.log(\"Load Expression : \" + path);\r\n\r\n var thisRef = this;\r\n pm.loadBytes(path, function (buf) {\r\n if (name != null) {\r\n thisRef.expressions[name] = L2DExpressionMotion.loadJson(buf);\r\n }\r\n if (typeof callback == \"function\") callback();\r\n });\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # loadPose()\r\n//============================================================\r\nL2DBaseModel.prototype.loadPose = function (path /*String*/, callback) {\r\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\r\n if (this.debugMode) pm.log(\"Load Pose : \" + path);\r\n var thisRef = this;\r\n try {\r\n pm.loadBytes(path, function (buf) {\r\n thisRef.pose = L2DPose.load(buf);\r\n if (typeof callback == \"function\") callback();\r\n });\r\n }\r\n catch (e) {\r\n console.warn(e);\r\n }\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # loadPhysics()\r\n//============================================================\r\nL2DBaseModel.prototype.loadPhysics = function (path/*String*/) {\r\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\r\n if (this.debugMode) pm.log(\"Load Physics : \" + path);\r\n var thisRef = this;\r\n try {\r\n pm.loadBytes(path, function (buf) {\r\n thisRef.physics = L2DPhysics.load(buf);\r\n });\r\n }\r\n catch (e) {\r\n console.warn(e);\r\n }\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # hitTestSimple()\r\n//============================================================\r\nL2DBaseModel.prototype.hitTestSimple = function (drawID, testX, testY) {\r\n\t\r\n\tif(this.live2DModel === null) return !1;\r\n\t\r\n var drawIndex = this.live2DModel.getDrawDataIndex(drawID);\r\n\r\n if (drawIndex < 0) return false;\r\n\r\n var points = this.live2DModel.getTransformedPoints(drawIndex);\r\n var left = this.live2DModel.getCanvasWidth();\r\n var right = 0;\r\n var top = this.live2DModel.getCanvasHeight();\r\n var bottom = 0;\r\n\r\n for (var j = 0; j < points.length; j = j + 2) {\r\n var x = points[j];\r\n var y = points[j + 1];\r\n\r\n if (x < left) left = x;\r\n if (x > right) right = x;\r\n if (y < top) top = y;\r\n if (y > bottom) bottom = y;\r\n }\r\n var tx = this.modelMatrix.invertTransformX(testX);\r\n var ty = this.modelMatrix.invertTransformY(testY);\r\n\r\n return (left <= tx && tx <= right && top <= ty && ty <= bottom);\r\n}\r\n\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DExpressionMotion extends AMotion\r\n//============================================================\r\n//============================================================\r\nfunction L2DExpressionMotion() {\r\n AMotion.prototype.constructor.call(this);\r\n this.paramList = new Array(); //ArrayList\r\n}\r\n\r\nL2DExpressionMotion.prototype = new AMotion(); // L2DExpressionMotion extends AMotion\r\n\r\n//============================================================\r\nL2DExpressionMotion.EXPRESSION_DEFAULT = \"DEFAULT\";\r\nL2DExpressionMotion.TYPE_SET = 0;\r\nL2DExpressionMotion.TYPE_ADD = 1;\r\nL2DExpressionMotion.TYPE_MULT = 2;\r\n\r\n//============================================================\r\n// static L2DExpressionMotion.loadJson()\r\n//============================================================\r\nL2DExpressionMotion.loadJson = function (buf) {\r\n var ret = new L2DExpressionMotion();\r\n\r\n var pm = Live2DFramework.getPlatformManager();\r\n var json = pm.jsonParseFromBytes(buf);\r\n\r\n ret.setFadeIn(parseInt(json.fade_in) > 0 ? parseInt(json.fade_in) : 1000);\r\n ret.setFadeOut(parseInt(json.fade_out) > 0 ? parseInt(json.fade_out) : 1000);\r\n\r\n if (json.params == null) {\r\n return ret;\r\n }\r\n\r\n var params = json.params;\r\n var paramNum = params.length;\r\n ret.paramList = []; //ArrayList\r\n for (var i = 0; i < paramNum; i++) {\r\n var param = params[i];\r\n var paramID = param.id.toString();\r\n var value = parseFloat(param.val);\r\n var calcTypeInt = L2DExpressionMotion.TYPE_ADD;\r\n var calc = param.calc != null ? param.calc.toString() : \"add\";\r\n if (calc === \"add\") {\r\n calcTypeInt = L2DExpressionMotion.TYPE_ADD;\r\n }\r\n else if (calc === \"mult\") {\r\n calcTypeInt = L2DExpressionMotion.TYPE_MULT;\r\n }\r\n else if (calc === \"set\") {\r\n calcTypeInt = L2DExpressionMotion.TYPE_SET;\r\n }\r\n else {\r\n calcTypeInt = L2DExpressionMotion.TYPE_ADD;\r\n }\r\n if (calcTypeInt == L2DExpressionMotion.TYPE_ADD) {\r\n var defaultValue = param.def == null ? 0 : parseFloat(param.def);\r\n value = value - defaultValue;\r\n }\r\n else if (calcTypeInt == L2DExpressionMotion.TYPE_MULT) {\r\n var defaultValue = param.def == null ? 1 : parseFloat(param.def);\r\n if (defaultValue == 0) defaultValue = 1;\r\n value = value / defaultValue;\r\n }\r\n\r\n var item = new L2DExpressionParam();\r\n item.id = paramID;\r\n item.type = calcTypeInt;\r\n item.value = value;\r\n\r\n ret.paramList.push(item);\r\n }\r\n\r\n return ret;\r\n}\r\n\r\n\r\n//============================================================\r\n// L2DExpressionMotion # updateParamExe()\r\n//============================================================\r\nL2DExpressionMotion.prototype.updateParamExe = function (model /*ALive2DModel*/, timeMSec/*long*/, weight /*float*/, motionQueueEnt /*MotionQueueEnt*/) {\r\n for (var i = this.paramList.length - 1; i >= 0; --i) {\r\n var param = this.paramList[i]; //L2DExpressionParam\r\n // if (!param || !param.type) continue;\r\n if (param.type == L2DExpressionMotion.TYPE_ADD) {\r\n model.addToParamFloat(param.id, param.value, weight);\r\n }\r\n else if (param.type == L2DExpressionMotion.TYPE_MULT) {\r\n model.multParamFloat(param.id, param.value, weight);\r\n }\r\n else if (param.type == L2DExpressionMotion.TYPE_SET) {\r\n model.setParamFloat(param.id, param.value, weight);\r\n }\r\n }\r\n}\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DExpressionParam \r\n//============================================================\r\n//============================================================\r\nfunction L2DExpressionParam() {\r\n this.id = \"\";\r\n this.type = -1;\r\n this.value = null;\r\n}\r\n\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DEyeBlink \r\n//============================================================\r\n//============================================================\r\nfunction L2DEyeBlink() {\r\n this.nextBlinkTime = null /* TODO NOT INIT */; // \r\n this.stateStartTime = null /* TODO NOT INIT */; // \r\n this.blinkIntervalMsec = null /* TODO NOT INIT */; // \r\n this.eyeState = EYE_STATE.STATE_FIRST;\r\n this.blinkIntervalMsec = 4000;\r\n this.closingMotionMsec = 100;\r\n this.closedMotionMsec = 50;\r\n this.openingMotionMsec = 150;\r\n this.closeIfZero = true;\r\n this.eyeID_L = \"PARAM_EYE_L_OPEN\";\r\n this.eyeID_R = \"PARAM_EYE_R_OPEN\";\r\n}\r\n\r\n//============================================================\r\n// L2DEyeBlink # calcNextBlink()\r\n//============================================================\r\nL2DEyeBlink.prototype.calcNextBlink = function () {\r\n var time /*long*/ = UtSystem.getUserTimeMSec();\r\n var r /*Number*/ = Math.random();\r\n return /*(long)*/ (time + r * (2 * this.blinkIntervalMsec - 1));\r\n}\r\n\r\n//============================================================\r\n// L2DEyeBlink # setInterval()\r\n//============================================================\r\nL2DEyeBlink.prototype.setInterval = function (blinkIntervalMsec /*int*/) {\r\n this.blinkIntervalMsec = blinkIntervalMsec;\r\n}\r\n\r\n//============================================================\r\n// L2DEyeBlink # setEyeMotion()\r\n//============================================================\r\nL2DEyeBlink.prototype.setEyeMotion = function (closingMotionMsec/*int*/, closedMotionMsec/*int*/, openingMotionMsec/*int*/) {\r\n this.closingMotionMsec = closingMotionMsec;\r\n this.closedMotionMsec = closedMotionMsec;\r\n this.openingMotionMsec = openingMotionMsec;\r\n}\r\n\r\n//============================================================\r\n// L2DEyeBlink # updateParam()\r\n//============================================================\r\nL2DEyeBlink.prototype.updateParam = function (model/*ALive2DModel*/) {\r\n var time /*:long*/ = UtSystem.getUserTimeMSec();\r\n var eyeParamValue /*:Number*/;\r\n var t /*:Number*/ = 0;\r\n switch (this.eyeState) {\r\n case EYE_STATE.STATE_CLOSING:\r\n t = (time - this.stateStartTime) / this.closingMotionMsec;\r\n if (t >= 1) {\r\n t = 1;\r\n this.eyeState = EYE_STATE.STATE_CLOSED;\r\n this.stateStartTime = time;\r\n }\r\n eyeParamValue = 1 - t;\r\n break;\r\n case EYE_STATE.STATE_CLOSED:\r\n t = (time - this.stateStartTime) / this.closedMotionMsec;\r\n if (t >= 1) {\r\n this.eyeState = EYE_STATE.STATE_OPENING;\r\n this.stateStartTime = time;\r\n }\r\n eyeParamValue = 0;\r\n break;\r\n case EYE_STATE.STATE_OPENING:\r\n t = (time - this.stateStartTime) / this.openingMotionMsec;\r\n if (t >= 1) {\r\n t = 1;\r\n this.eyeState = EYE_STATE.STATE_INTERVAL;\r\n this.nextBlinkTime = this.calcNextBlink();\r\n }\r\n eyeParamValue = t;\r\n break;\r\n case EYE_STATE.STATE_INTERVAL:\r\n if (this.nextBlinkTime < time) {\r\n this.eyeState = EYE_STATE.STATE_CLOSING;\r\n this.stateStartTime = time;\r\n }\r\n eyeParamValue = 1;\r\n break;\r\n case EYE_STATE.STATE_FIRST:\r\n default:\r\n this.eyeState = EYE_STATE.STATE_INTERVAL;\r\n this.nextBlinkTime = this.calcNextBlink();\r\n eyeParamValue = 1;\r\n break;\r\n }\r\n if (!this.closeIfZero) eyeParamValue = -eyeParamValue;\r\n model.setParamFloat(this.eyeID_L, eyeParamValue);\r\n model.setParamFloat(this.eyeID_R, eyeParamValue);\r\n}\r\n\r\n//== enum EYE_STATE ==\r\nvar EYE_STATE = function () { };\r\n\r\nEYE_STATE.STATE_FIRST = \"STATE_FIRST\"\r\nEYE_STATE.STATE_INTERVAL = \"STATE_INTERVAL\"\r\nEYE_STATE.STATE_CLOSING = \"STATE_CLOSING\"\r\nEYE_STATE.STATE_CLOSED = \"STATE_CLOSED\"\r\nEYE_STATE.STATE_OPENING = \"STATE_OPENING\"\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DMatrix44 \r\n//============================================================\r\n//============================================================\r\nfunction L2DMatrix44() {\r\n this.tr = new Float32Array(16); // \r\n this.identity();\r\n}\r\n\r\n//============================================================\r\n// static L2DMatrix44.mul()\r\n//============================================================\r\nL2DMatrix44.mul = function (a/*float[]*/, b/*float[]*/, dst/*float[]*/) {\r\n var c = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\r\n var n = 4;\r\n var i, j, k;\r\n for (i = 0; i < n; i++) {\r\n for (j = 0; j < n; j++) {\r\n for (k = 0; k < n; k++) {\r\n c[i + j * 4] += a[i + k * 4] * b[k + j * 4];\r\n }\r\n }\r\n }\r\n for (i = 0; i < 16; i++) {\r\n dst[i] = c[i];\r\n }\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # identity()\r\n//============================================================\r\nL2DMatrix44.prototype.identity = function () {\r\n for (var i/*:int*/ = 0; i < 16; i++)\r\n this.tr[i] = ((i % 5) == 0) ? 1 : 0;\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # getArray()\r\n//============================================================\r\nL2DMatrix44.prototype.getArray = function () {\r\n return this.tr;\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # getCopyMatrix()\r\n//============================================================\r\nL2DMatrix44.prototype.getCopyMatrix = function () {\r\n return new Float32Array(this.tr); // this.tr.clone();\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # setMatrix()\r\n//============================================================\r\nL2DMatrix44.prototype.setMatrix = function (tr/*float[]*/) {\r\n if (this.tr == null || this.tr.length != this.tr.length) return;\r\n for (var i/*:int*/ = 0; i < 16; i++) this.tr[i] = tr[i];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # getScaleX()\r\n//============================================================\r\nL2DMatrix44.prototype.getScaleX = function () {\r\n return this.tr[0];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # getScaleY()\r\n//============================================================\r\nL2DMatrix44.prototype.getScaleY = function () {\r\n return this.tr[5];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # transformX()\r\n//============================================================\r\nL2DMatrix44.prototype.transformX = function (src/*float*/) {\r\n return this.tr[0] * src + this.tr[12];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # transformY()\r\n//============================================================\r\nL2DMatrix44.prototype.transformY = function (src/*float*/) {\r\n return this.tr[5] * src + this.tr[13];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # invertTransformX()\r\n//============================================================\r\nL2DMatrix44.prototype.invertTransformX = function (src/*float*/) {\r\n return (src - this.tr[12]) / this.tr[0];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # invertTransformY()\r\n//============================================================\r\nL2DMatrix44.prototype.invertTransformY = function (src/*float*/) {\r\n return (src - this.tr[13]) / this.tr[5];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # multTranslate()\r\n//============================================================\r\nL2DMatrix44.prototype.multTranslate = function (shiftX/*float*/, shiftY/*float*/) {\r\n var tr1 = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, shiftX, shiftY, 0, 1];\r\n L2DMatrix44.mul(tr1, this.tr, this.tr);\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # translate()\r\n//============================================================\r\nL2DMatrix44.prototype.translate = function (x/*float*/, y/*float*/) {\r\n this.tr[12] = x;\r\n this.tr[13] = y;\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # translateX()\r\n//============================================================\r\nL2DMatrix44.prototype.translateX = function (x/*float*/) {\r\n this.tr[12] = x;\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # translateY()\r\n//============================================================\r\nL2DMatrix44.prototype.translateY = function (y/*float*/) {\r\n this.tr[13] = y;\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # multScale()\r\n//============================================================\r\nL2DMatrix44.prototype.multScale = function (scaleX/*float*/, scaleY/*float*/) {\r\n var tr1 = [scaleX, 0, 0, 0, 0, scaleY, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\r\n L2DMatrix44.mul(tr1, this.tr, this.tr);\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # scale()\r\n//============================================================\r\nL2DMatrix44.prototype.scale = function (scaleX/*float*/, scaleY/*float*/) {\r\n this.tr[0] = scaleX;\r\n this.tr[5] = scaleY;\r\n}\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DModelMatrix extends L2DMatrix44\r\n//============================================================\r\n//============================================================\r\nfunction L2DModelMatrix(w/*float*/, h/*float*/) {\r\n L2DMatrix44.prototype.constructor.call(this);\r\n this.width = w;\r\n this.height = h;\r\n}\r\n\r\n//L2DModelMatrix extends L2DMatrix44\r\nL2DModelMatrix.prototype = new L2DMatrix44();\r\n\r\n//============================================================\r\n// L2DModelMatrix # setPosition()\r\n//============================================================\r\nL2DModelMatrix.prototype.setPosition = function (x/*float*/, y/*float*/) {\r\n this.translate(x, y);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # setCenterPosition()\r\n//============================================================\r\nL2DModelMatrix.prototype.setCenterPosition = function (x/*float*/, y/*float*/) {\r\n var w = this.width * this.getScaleX();\r\n var h = this.height * this.getScaleY();\r\n this.translate(x - w / 2, y - h / 2);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # top()\r\n//============================================================\r\nL2DModelMatrix.prototype.top = function (y/*float*/) {\r\n this.setY(y);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # bottom()\r\n//============================================================\r\nL2DModelMatrix.prototype.bottom = function (y/*float*/) {\r\n var h = this.height * this.getScaleY();\r\n this.translateY(y - h);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # left()\r\n//============================================================\r\nL2DModelMatrix.prototype.left = function (x/*float*/) {\r\n this.setX(x);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # right()\r\n//============================================================\r\nL2DModelMatrix.prototype.right = function (x/*float*/) {\r\n var w = this.width * this.getScaleX();\r\n this.translateX(x - w);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # centerX()\r\n//============================================================\r\nL2DModelMatrix.prototype.centerX = function (x/*float*/) {\r\n var w = this.width * this.getScaleX();\r\n this.translateX(x - w / 2);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # centerY()\r\n//============================================================\r\nL2DModelMatrix.prototype.centerY = function (y/*float*/) {\r\n var h = this.height * this.getScaleY();\r\n this.translateY(y - h / 2);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # setX()\r\n//============================================================\r\nL2DModelMatrix.prototype.setX = function (x/*float*/) {\r\n this.translateX(x);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # setY()\r\n//============================================================\r\nL2DModelMatrix.prototype.setY = function (y/*float*/) {\r\n this.translateY(y);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # setHeight()\r\n//============================================================\r\nL2DModelMatrix.prototype.setHeight = function (h/*float*/) {\r\n var scaleX = h / this.height;\r\n var scaleY = -scaleX;\r\n this.scale(scaleX, scaleY);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # setWidth()\r\n//============================================================\r\nL2DModelMatrix.prototype.setWidth = function (w/*float*/) {\r\n var scaleX = w / this.width;\r\n var scaleY = -scaleX;\r\n this.scale(scaleX, scaleY);\r\n}\r\n\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DMotionManager extends MotionQueueManager\r\n//============================================================\r\n//============================================================\r\nfunction L2DMotionManager() {\r\n MotionQueueManager.prototype.constructor.call(this);\r\n this.currentPriority = null;\r\n this.reservePriority = null;\r\n\r\n this.super = MotionQueueManager.prototype;\r\n}\r\n\r\n\r\nL2DMotionManager.prototype = new MotionQueueManager();\r\n\r\n//============================================================\r\n// L2DMotionManager # getCurrentPriority()\r\n//============================================================\r\nL2DMotionManager.prototype.getCurrentPriority = function () {\r\n return this.currentPriority;\r\n}\r\n\r\n//============================================================\r\n// L2DMotionManager # getReservePriority()\r\n//============================================================\r\nL2DMotionManager.prototype.getReservePriority = function () {\r\n return this.reservePriority;\r\n}\r\n\r\n//============================================================\r\n// L2DMotionManager # reserveMotion()\r\n//============================================================\r\nL2DMotionManager.prototype.reserveMotion = function (priority/*int*/) {\r\n if (this.reservePriority >= priority) {\r\n return false;\r\n }\r\n if (this.currentPriority >= priority) {\r\n return false;\r\n }\r\n\r\n this.reservePriority = priority;\r\n\r\n return true;\r\n}\r\n\r\n//============================================================\r\n// L2DMotionManager # setReservePriority()\r\n//============================================================\r\nL2DMotionManager.prototype.setReservePriority = function (val/*int*/) {\r\n this.reservePriority = val;\r\n}\r\n\r\n//============================================================\r\n// L2DMotionManager # updateParam()\r\n//============================================================\r\nL2DMotionManager.prototype.updateParam = function (model/*ALive2DModel*/) {\r\n var updated = MotionQueueManager.prototype.updateParam.call(this, model);\r\n\r\n if (this.isFinished()) {\r\n this.currentPriority = 0;\r\n }\r\n\r\n return updated;\r\n}\r\n\r\n//============================================================\r\n// L2DMotionManager # startMotionPrio()\r\n//============================================================\r\nL2DMotionManager.prototype.startMotionPrio = function (motion/*AMotion*/, priority/*int*/) {\r\n if (priority == this.reservePriority) {\r\n this.reservePriority = 0;\r\n }\r\n this.currentPriority = priority;\r\n return this.startMotion(motion, false);\r\n}\r\n\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DPhysics \r\n//============================================================\r\n//============================================================\r\nfunction L2DPhysics() {\r\n this.physicsList = new Array(); //ArrayList\r\n this.startTimeMSec = UtSystem.getUserTimeMSec();\r\n}\r\n\r\n//============================================================\r\n// static L2DPhysics.load()\r\n//============================================================\r\nL2DPhysics.load = function (buf /*byte[]*/) {\r\n var ret = new L2DPhysics(); //L2DPhysicsL2DPhysics\r\n var pm = Live2DFramework.getPlatformManager();\r\n var json = pm.jsonParseFromBytes(buf);\r\n var params = json.physics_hair;\r\n var paramNum = params.length;\r\n for (var i = 0; i < paramNum; i++) {\r\n var param = params[i]; //Value\r\n var physics = new PhysicsHair(); //PhysicsHairPhysicsHair\r\n var setup = param.setup; //Value\r\n var length = parseFloat(setup.length);\r\n var resist = parseFloat(setup.regist);\r\n var mass = parseFloat(setup.mass);\r\n physics.setup(length, resist, mass);\r\n var srcList = param.src; //Value\r\n var srcNum = srcList.length;\r\n for (var j = 0; j < srcNum; j++) {\r\n var src = srcList[j]; //Value\r\n var id = src.id; //String\r\n var type = PhysicsHair.Src.SRC_TO_X;\r\n var typeStr = src.ptype; //String\r\n if (typeStr === \"x\") {\r\n type = PhysicsHair.Src.SRC_TO_X;\r\n }\r\n else if (typeStr === \"y\") {\r\n type = PhysicsHair.Src.SRC_TO_Y;\r\n }\r\n else if (typeStr === \"angle\") {\r\n type = PhysicsHair.Src.SRC_TO_G_ANGLE;\r\n }\r\n else {\r\n UtDebug.error(\"live2d\", \"Invalid parameter:PhysicsHair.Src\");\r\n }\r\n var scale = parseFloat(src.scale);\r\n var weight = parseFloat(src.weight);\r\n physics.addSrcParam(type, id, scale, weight);\r\n }\r\n var targetList = param.targets; //Value\r\n var targetNum = targetList.length;\r\n for (var j = 0; j < targetNum; j++) {\r\n var target = targetList[j]; //Value\r\n var id = target.id; //String\r\n var type = PhysicsHair.Target.TARGET_FROM_ANGLE;\r\n var typeStr = target.ptype; //String\r\n if (typeStr === \"angle\") {\r\n type = PhysicsHair.Target.TARGET_FROM_ANGLE;\r\n }\r\n else if (typeStr === \"angle_v\") {\r\n type = PhysicsHair.Target.TARGET_FROM_ANGLE_V;\r\n }\r\n else {\r\n UtDebug.error(\"live2d\", \"Invalid parameter:PhysicsHair.Target\");\r\n }\r\n var scale = parseFloat(target.scale);\r\n var weight = parseFloat(target.weight);\r\n physics.addTargetParam(type, id, scale, weight);\r\n }\r\n ret.physicsList.push(physics);\r\n }\r\n return ret;\r\n}\r\n\r\n//============================================================\r\n// L2DPhysics # updateParam()\r\n//============================================================\r\nL2DPhysics.prototype.updateParam = function (model/*ALive2DModel*/) {\r\n var timeMSec = UtSystem.getUserTimeMSec() - this.startTimeMSec;\r\n for (var i = 0; i < this.physicsList.length; i++) {\r\n this.physicsList[i].update(model, timeMSec);\r\n }\r\n}\r\n\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DPose \r\n//============================================================\r\n//============================================================\r\nfunction L2DPose() {\r\n this.lastTime = 0;\r\n this.lastModel = null; //ALive2DModel\r\n this.partsGroups = new Array(); //ArrayList\r\n}\r\n\r\n\r\n//============================================================\r\n// static L2DPose.load()\r\n//============================================================\r\nL2DPose.load = function (buf/*byte[]*/) {\r\n var ret = new L2DPose(); //L2DPose\r\n var pm = Live2DFramework.getPlatformManager();\r\n var json = pm.jsonParseFromBytes(buf);\r\n var poseListInfo = json.parts_visible; //Value\r\n var poseNum = poseListInfo.length;\r\n for (var i_pose = 0; i_pose < poseNum; i_pose++) {\r\n var poseInfo = poseListInfo[i_pose]; //Value\r\n var idListInfo = poseInfo.group; //Value\r\n var idNum = idListInfo.length;\r\n var partsGroup/*L2DPartsParam*/ = new Array();\r\n for (var i_group = 0; i_group < idNum; i_group++) {\r\n var partsInfo = idListInfo[i_group]; //Value\r\n var parts = new L2DPartsParam(partsInfo.id); //L2DPartsParamL2DPartsParam\r\n partsGroup[i_group] = parts;\r\n if (partsInfo.link == null) continue;\r\n var linkListInfo = partsInfo.link; //Value\r\n var linkNum = linkListInfo.length;\r\n parts.link = new Array(); //ArrayList\r\n for (var i_link = 0; i_link < linkNum; i_link++) {\r\n var linkParts = new L2DPartsParam(linkListInfo[i_link]); //L2DPartsParamL2DPartsParam\r\n parts.link.push(linkParts);\r\n }\r\n }\r\n ret.partsGroups.push(partsGroup);\r\n }\r\n\r\n return ret;\r\n}\r\n\r\n//============================================================\r\n// L2DPose # updateParam()\r\n//============================================================\r\nL2DPose.prototype.updateParam = function (model/*ALive2DModel*/) {\r\n if (model == null) return;\r\n\r\n if (!(model == this.lastModel)) {\r\n this.initParam(model);\r\n }\r\n this.lastModel = model;\r\n\r\n var curTime = UtSystem.getUserTimeMSec();\r\n var deltaTimeSec = ((this.lastTime == 0) ? 0 : (curTime - this.lastTime) / 1000.0);\r\n this.lastTime = curTime;\r\n if (deltaTimeSec < 0) deltaTimeSec = 0;\r\n for (var i = 0; i < this.partsGroups.length; i++) {\r\n this.normalizePartsOpacityGroup(model, this.partsGroups[i], deltaTimeSec);\r\n this.copyOpacityOtherParts(model, this.partsGroups[i]);\r\n }\r\n}\r\n\r\n//============================================================\r\n// L2DPose # initParam()\r\n//============================================================\r\nL2DPose.prototype.initParam = function (model/*ALive2DModel*/) {\r\n if (model == null) return;\r\n for (var i = 0; i < this.partsGroups.length; i++) {\r\n var partsGroup = this.partsGroups[i]; //L2DPartsParam\r\n for (var j = 0; j < partsGroup.length; j++) {\r\n partsGroup[j].initIndex(model);\r\n var partsIndex = partsGroup[j].partsIndex;\r\n var paramIndex = partsGroup[j].paramIndex;\r\n if (partsIndex < 0) continue;\r\n var v/*:Boolean*/ = (model.getParamFloat(paramIndex) != 0);\r\n model.setPartsOpacity(partsIndex, (v ? 1.0 : 0.0));\r\n model.setParamFloat(paramIndex, (v ? 1.0 : 0.0));\r\n if (partsGroup[j].link == null) continue;\r\n for (var k = 0; k < partsGroup[j].link.length; k++) {\r\n partsGroup[j].link[k].initIndex(model);\r\n }\r\n }\r\n }\r\n}\r\n\r\n//============================================================\r\n// L2DPose # normalizePartsOpacityGroup()\r\n//============================================================\r\nL2DPose.prototype.normalizePartsOpacityGroup = function (model/*ALive2DModel*/, partsGroup/*L2DPartsParam[]*/, deltaTimeSec/*float*/) {\r\n var visibleParts = -1;\r\n var visibleOpacity = 1.0;\r\n var CLEAR_TIME_SEC = 0.5;\r\n var phi = 0.5;\r\n var maxBackOpacity = 0.15;\r\n for (var i = 0; i < partsGroup.length; i++) {\r\n var partsIndex = partsGroup[i].partsIndex;\r\n var paramIndex = partsGroup[i].paramIndex;\r\n if (partsIndex < 0) continue; if (model.getParamFloat(paramIndex) != 0) {\r\n if (visibleParts >= 0) {\r\n break;\r\n }\r\n visibleParts = i;\r\n visibleOpacity = model.getPartsOpacity(partsIndex);\r\n visibleOpacity += deltaTimeSec / CLEAR_TIME_SEC;\r\n if (visibleOpacity > 1) {\r\n visibleOpacity = 1;\r\n }\r\n }\r\n }\r\n if (visibleParts < 0) {\r\n visibleParts = 0;\r\n visibleOpacity = 1;\r\n }\r\n for (var i = 0; i < partsGroup.length; i++) {\r\n var partsIndex = partsGroup[i].partsIndex;\r\n if (partsIndex < 0) continue; if (visibleParts == i) {\r\n model.setPartsOpacity(partsIndex, visibleOpacity);\r\n }\r\n else {\r\n var opacity = model.getPartsOpacity(partsIndex);\r\n var a1;\r\n if (visibleOpacity < phi) {\r\n a1 = visibleOpacity * (phi - 1) / phi + 1;\r\n }\r\n else {\r\n a1 = (1 - visibleOpacity) * phi / (1 - phi);\r\n }\r\n var backOp = (1 - a1) * (1 - visibleOpacity);\r\n if (backOp > maxBackOpacity) {\r\n a1 = 1 - maxBackOpacity / (1 - visibleOpacity);\r\n }\r\n if (opacity > a1) {\r\n opacity = a1;\r\n }\r\n model.setPartsOpacity(partsIndex, opacity);\r\n }\r\n }\r\n}\r\n\r\n//============================================================\r\n// L2DPose # copyOpacityOtherParts()\r\n//============================================================\r\nL2DPose.prototype.copyOpacityOtherParts = function (model/*ALive2DModel*/, partsGroup/*L2DPartsParam[]*/) {\r\n for (var i_group = 0; i_group < partsGroup.length; i_group++) {\r\n var partsParam = partsGroup[i_group]; //L2DPartsParam\r\n if (partsParam.link == null) continue;\r\n if (partsParam.partsIndex < 0) continue;\r\n var opacity = model.getPartsOpacity(partsParam.partsIndex);\r\n for (var i_link = 0; i_link < partsParam.link.length; i_link++) {\r\n var linkParts = partsParam.link[i_link]; //L2DPartsParam\r\n if (linkParts.partsIndex < 0) continue;\r\n model.setPartsOpacity(linkParts.partsIndex, opacity);\r\n }\r\n }\r\n}\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DPartsParam \r\n//============================================================\r\n//============================================================\r\nfunction L2DPartsParam(id/*String*/) {\r\n this.paramIndex = -1;\r\n this.partsIndex = -1;\r\n this.link = null; // ArrayList\r\n this.id = id;\r\n}\r\n\r\n//============================================================\r\n// L2DPartsParam # initIndex()\r\n//============================================================\r\nL2DPartsParam.prototype.initIndex = function (model/*ALive2DModel*/) {\r\n this.paramIndex = model.getParamIndex(\"VISIBLE:\" + this.id);\r\n this.partsIndex = model.getPartsDataIndex(PartsDataID.getID(this.id));\r\n model.setParamFloat(this.paramIndex, 1);\r\n}\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DTargetPoint \r\n//============================================================\r\n//============================================================\r\nfunction L2DTargetPoint() {\r\n this.EPSILON = 0.01; // 変化の最小値(この値以下は無視される)\r\n this.faceTargetX = 0;\r\n this.faceTargetY = 0;\r\n this.faceX = 0;\r\n this.faceY = 0;\r\n this.faceVX = 0;\r\n this.faceVY = 0;\r\n this.lastTimeSec = 0;\r\n}\r\n\r\n//============================================================\r\nL2DTargetPoint.FRAME_RATE = 30;\r\n\r\n//============================================================\r\n// L2DTargetPoint # set()\r\n//============================================================\r\nL2DTargetPoint.prototype.setPoint = function (x/*float*/, y/*float*/) {\r\n this.faceTargetX = x;\r\n this.faceTargetY = y;\r\n}\r\n\r\n//============================================================\r\n// L2DTargetPoint # getX()\r\n//============================================================\r\nL2DTargetPoint.prototype.getX = function () {\r\n return this.faceX;\r\n}\r\n\r\n//============================================================\r\n// L2DTargetPoint # getY()\r\n//============================================================\r\nL2DTargetPoint.prototype.getY = function () {\r\n return this.faceY;\r\n}\r\n\r\n//============================================================\r\n// L2DTargetPoint # update()\r\n//============================================================\r\nL2DTargetPoint.prototype.update = function () {\r\n var TIME_TO_MAX_SPEED = 0.15;\r\n var FACE_PARAM_MAX_V = 40.0 / 7.5;\r\n var MAX_V = FACE_PARAM_MAX_V / L2DTargetPoint.FRAME_RATE;\r\n if (this.lastTimeSec == 0) {\r\n this.lastTimeSec = UtSystem.getUserTimeMSec();\r\n return;\r\n }\r\n var curTimeSec = UtSystem.getUserTimeMSec();\r\n var deltaTimeWeight = (curTimeSec - this.lastTimeSec) * L2DTargetPoint.FRAME_RATE / 1000.0;\r\n this.lastTimeSec = curTimeSec;\r\n var FRAME_TO_MAX_SPEED = TIME_TO_MAX_SPEED * L2DTargetPoint.FRAME_RATE;\r\n var MAX_A = deltaTimeWeight * MAX_V / FRAME_TO_MAX_SPEED;\r\n var dx = (this.faceTargetX - this.faceX);\r\n var dy = (this.faceTargetY - this.faceY);\r\n // if(dx == 0 && dy == 0) return;\r\n if (Math.abs(dx) <= this.EPSILON && Math.abs(dy) <= this.EPSILON) return;\r\n var d = Math.sqrt(dx * dx + dy * dy);\r\n var vx = MAX_V * dx / d;\r\n var vy = MAX_V * dy / d;\r\n var ax = vx - this.faceVX;\r\n var ay = vy - this.faceVY;\r\n var a = Math.sqrt(ax * ax + ay * ay);\r\n if (a < -MAX_A || a > MAX_A) {\r\n ax *= MAX_A / a;\r\n ay *= MAX_A / a;\r\n a = MAX_A;\r\n }\r\n this.faceVX += ax;\r\n this.faceVY += ay;\r\n {\r\n var max_v = 0.5 * (Math.sqrt(MAX_A * MAX_A + 16 * MAX_A * d - 8 * MAX_A * d) - MAX_A);\r\n var cur_v = Math.sqrt(this.faceVX * this.faceVX + this.faceVY * this.faceVY);\r\n if (cur_v > max_v) {\r\n this.faceVX *= max_v / cur_v;\r\n this.faceVY *= max_v / cur_v;\r\n }\r\n }\r\n this.faceX += this.faceVX;\r\n this.faceY += this.faceVY;\r\n}\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DViewMatrix extends L2DMatrix44\r\n//============================================================\r\n//============================================================\r\nfunction L2DViewMatrix() {\r\n L2DMatrix44.prototype.constructor.call(this);\r\n this.screenLeft = null;\r\n this.screenRight = null;\r\n this.screenTop = null;\r\n this.screenBottom = null;\r\n this.maxLeft = null;\r\n this.maxRight = null;\r\n this.maxTop = null;\r\n this.maxBottom = null;\r\n this.max = Number.MAX_VALUE;\r\n this.min = 0;\r\n}\r\n\r\nL2DViewMatrix.prototype = new L2DMatrix44(); //L2DViewMatrix extends L2DMatrix44\r\n\r\n//============================================================\r\n// L2DViewMatrix # getMaxScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.getMaxScale = function () {\r\n return this.max;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getMinScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.getMinScale = function () {\r\n return this.min;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # setMaxScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.setMaxScale = function (v/*float*/) {\r\n this.max = v;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # setMinScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.setMinScale = function (v/*float*/) {\r\n this.min = v;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # isMaxScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.isMaxScale = function () {\r\n return this.getScaleX() == this.max;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # isMinScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.isMinScale = function () {\r\n return this.getScaleX() == this.min;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # adjustTranslate()\r\n//============================================================\r\nL2DViewMatrix.prototype.adjustTranslate = function (shiftX/*float*/, shiftY/*float*/) {\r\n if (this.tr[0] * this.maxLeft + (this.tr[12] + shiftX) > this.screenLeft)\r\n shiftX = this.screenLeft - this.tr[0] * this.maxLeft - this.tr[12];\r\n if (this.tr[0] * this.maxRight + (this.tr[12] + shiftX) < this.screenRight)\r\n shiftX = this.screenRight - this.tr[0] * this.maxRight - this.tr[12];\r\n if (this.tr[5] * this.maxTop + (this.tr[13] + shiftY) < this.screenTop)\r\n shiftY = this.screenTop - this.tr[5] * this.maxTop - this.tr[13];\r\n if (this.tr[5] * this.maxBottom + (this.tr[13] + shiftY) > this.screenBottom)\r\n shiftY = this.screenBottom - this.tr[5] * this.maxBottom - this.tr[13];\r\n\r\n var tr1 = [1, 0, 0, 0,\r\n 0, 1, 0, 0,\r\n 0, 0, 1, 0,\r\n shiftX, shiftY, 0, 1];\r\n L2DMatrix44.mul(tr1, this.tr, this.tr);\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # adjustScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.adjustScale = function (cx/*float*/, cy/*float*/, scale/*float*/) {\r\n var targetScale = scale * this.tr[0];\r\n if (targetScale < this.min) {\r\n if (this.tr[0] > 0) scale = this.min / this.tr[0];\r\n }\r\n else if (targetScale > this.max) {\r\n if (this.tr[0] > 0) scale = this.max / this.tr[0];\r\n }\r\n var tr1 = [1, 0, 0, 0,\r\n 0, 1, 0, 0,\r\n 0, 0, 1, 0,\r\n cx, cy, 0, 1];\r\n var tr2 = [scale, 0, 0, 0,\r\n 0, scale, 0, 0,\r\n 0, 0, 1, 0,\r\n 0, 0, 0, 1];\r\n var tr3 = [1, 0, 0, 0,\r\n 0, 1, 0, 0,\r\n 0, 0, 1, 0,\r\n -cx, -cy, 0, 1];\r\n L2DMatrix44.mul(tr3, this.tr, this.tr);\r\n L2DMatrix44.mul(tr2, this.tr, this.tr);\r\n L2DMatrix44.mul(tr1, this.tr, this.tr);\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # setScreenRect()\r\n//============================================================\r\nL2DViewMatrix.prototype.setScreenRect = function (left/*float*/, right/*float*/, bottom/*float*/, top/*float*/) {\r\n this.screenLeft = left;\r\n this.screenRight = right;\r\n this.screenTop = top;\r\n this.screenBottom = bottom;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # setMaxScreenRect()\r\n//============================================================\r\nL2DViewMatrix.prototype.setMaxScreenRect = function (left/*float*/, right/*float*/, bottom/*float*/, top/*float*/) {\r\n this.maxLeft = left;\r\n this.maxRight = right;\r\n this.maxTop = top;\r\n this.maxBottom = bottom;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getScreenLeft()\r\n//============================================================\r\nL2DViewMatrix.prototype.getScreenLeft = function () {\r\n return this.screenLeft;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getScreenRight()\r\n//============================================================\r\nL2DViewMatrix.prototype.getScreenRight = function () {\r\n return this.screenRight;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getScreenBottom()\r\n//============================================================\r\nL2DViewMatrix.prototype.getScreenBottom = function () {\r\n return this.screenBottom;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getScreenTop()\r\n//============================================================\r\nL2DViewMatrix.prototype.getScreenTop = function () {\r\n return this.screenTop;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getMaxLeft()\r\n//============================================================\r\nL2DViewMatrix.prototype.getMaxLeft = function () {\r\n return this.maxLeft;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getMaxRight()\r\n//============================================================\r\nL2DViewMatrix.prototype.getMaxRight = function () {\r\n return this.maxRight;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getMaxBottom()\r\n//============================================================\r\nL2DViewMatrix.prototype.getMaxBottom = function () {\r\n return this.maxBottom;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getMaxTop()\r\n//============================================================\r\nL2DViewMatrix.prototype.getMaxTop = function () {\r\n return this.maxTop;\r\n}\r\n\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class Live2DFramework \r\n//============================================================\r\n//============================================================\r\nfunction Live2DFramework() {\r\n}\r\n\r\n//============================================================\r\nLive2DFramework.platformManager = null;\r\n\r\n//============================================================\r\n// static Live2DFramework.getPlatformManager()\r\n//============================================================\r\nLive2DFramework.getPlatformManager = function () {\r\n return Live2DFramework.platformManager;\r\n}\r\n\r\n//============================================================\r\n// static Live2DFramework.setPlatformManager()\r\n//============================================================\r\nLive2DFramework.setPlatformManager = function (platformManager /*IPlatformManager*/) {\r\n Live2DFramework.platformManager = platformManager;\r\n}\r\n\r\nmodule.exports = {\r\n L2DTargetPoint: L2DTargetPoint,\r\n Live2DFramework: Live2DFramework,\r\n L2DViewMatrix: L2DViewMatrix,\r\n L2DPose: L2DPose,\r\n L2DPartsParam: L2DPartsParam,\r\n L2DPhysics: L2DPhysics,\r\n L2DMotionManager: L2DMotionManager,\r\n L2DModelMatrix: L2DModelMatrix,\r\n L2DMatrix44: L2DMatrix44,\r\n EYE_STATE: EYE_STATE,\r\n L2DEyeBlink: L2DEyeBlink,\r\n L2DExpressionParam: L2DExpressionParam,\r\n L2DExpressionMotion: L2DExpressionMotion,\r\n L2DBaseModel: L2DBaseModel\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/lib/Live2DFramework.js","var LAppDefine = {\n \n \n DEBUG_LOG : false,\n DEBUG_MOUSE_LOG : false, \n // DEBUG_DRAW_HIT_AREA : false, \n // DEBUG_DRAW_ALPHA_MODEL : false, \n \n \n \n \n VIEW_MAX_SCALE : 2,\n VIEW_MIN_SCALE : 0.8,\n\n VIEW_LOGICAL_LEFT : -1,\n VIEW_LOGICAL_RIGHT : 1,\n\n VIEW_LOGICAL_MAX_LEFT : -2,\n VIEW_LOGICAL_MAX_RIGHT : 2,\n VIEW_LOGICAL_MAX_BOTTOM : -2,\n VIEW_LOGICAL_MAX_TOP : 2,\n \n \n PRIORITY_NONE : 0,\n PRIORITY_IDLE : 1,\n PRIORITY_NORMAL : 2,\n PRIORITY_FORCE : 3,\n\n MOTION_GROUP_IDLE : \"idle\", \n MOTION_GROUP_TAP_BODY : \"tap_body\", \n MOTION_GROUP_FLICK_HEAD : \"flick_head\", \n MOTION_GROUP_PINCH_IN : \"pinch_in\", \n MOTION_GROUP_PINCH_OUT : \"pinch_out\", \n MOTION_GROUP_SHAKE : \"shake\", \n\n \n HIT_AREA_HEAD : \"head\",\n HIT_AREA_BODY : \"body\"\n \n};\n\nmodule.exports = LAppDefine;\n\n\n// WEBPACK FOOTER //\n// ./src/LAppDefine.js","/**\n *\n * You can modify and use this source freely\n * only for the development of application related Live2D.\n *\n * (c) Live2D Inc. All rights reserved.\n */\n/**\n * EYHN 修改\n * \n * Copyright © 2016 - 2017 EYHN\n */\n\nfunction MatrixStack() {}\n\n\nMatrixStack.matrixStack = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n\n\nMatrixStack.depth = 0;\n\n\nMatrixStack.currentMatrix = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n\n\nMatrixStack.tmp = new Array(16);\n\n\n\nMatrixStack.reset = function()\n{\n this.depth = 0;\n}\n\n\n\nMatrixStack.loadIdentity = function()\n{\n for (var i = 0; i < 16; i++)\n {\n this.currentMatrix[i] = (i % 5 == 0) ? 1 : 0;\n }\n}\n\n\n\nMatrixStack.push = function()\n{ \n var offset = this.depth * 16;\n var nextOffset = (this.depth + 1) * 16;\n \n if (this.matrixStack.length < nextOffset + 16)\n {\n this.matrixStack.length = nextOffset + 16;\n }\n\n for (var i = 0; i < 16; i++)\n {\n this.matrixStack[nextOffset + i] = this.currentMatrix[i];\n }\n\n this.depth++;\n}\n\n\n\nMatrixStack.pop = function()\n{\n this.depth--;\n if (this.depth < 0)\n {\n myError(\"Invalid matrix stack.\");\n this.depth = 0;\n }\n\n var offset = this.depth * 16;\n for (var i = 0; i < 16; i++)\n {\n this.currentMatrix[i] = this.matrixStack[offset + i];\n }\n}\n\n\n\nMatrixStack.getMatrix = function()\n{\n return this.currentMatrix;\n}\n\n\n\nMatrixStack.multMatrix = function(matNew)\n{\n var i, j, k;\n\n for (i = 0; i < 16; i++)\n {\n this.tmp[i] = 0;\n }\n\n for (i = 0; i < 4; i++)\n {\n for (j = 0; j < 4; j++)\n {\n for (k = 0; k < 4; k++)\n {\n this.tmp[i + j * 4] += this.currentMatrix[i + k * 4] * matNew[k + j * 4];\n }\n }\n }\n for (i = 0; i < 16; i++)\n {\n this.currentMatrix[i] = this.tmp[i];\n }\n}\n\nmodule.exports = MatrixStack;\n\n\n// WEBPACK FOOTER //\n// ./src/lib/MatrixStack.js","\r\nvar context = undefined;\r\n\r\nexport function setContext(webglContext) {\r\n context = webglContext;\r\n}\r\n\r\nexport function getContext() {\r\n return context;\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/webglcontext.js","import \"./lib/live2d.min\";\n\nimport { L2DTargetPoint, L2DViewMatrix, L2DMatrix44 } from \"./lib/Live2DFramework\";\n\nimport LAppLive2DManager from \"./LAppLive2DManager\"\n\nimport LAppDefine from \"./LAppDefine\"\n\nimport MatrixStack from \"./lib/MatrixStack\"\n\nimport {setContext} from \"./webglcontext\"\n\n// window.onerror = function (msg, url, line, col, error) {\n// let errmsg = \"file:\" + url + \"
line:\" + line + \" \" + msg;\n// console.error(errmsg);\n// }\n\nconst platform = window.navigator.platform.toLowerCase();\n\nconst live2DMgr = new LAppLive2DManager();\n\nlet isDrawStart = false;\n\nlet gl = null;\n\nlet canvas = null;\n\nlet dragMgr = null;\n\nlet viewMatrix = null;\n\nlet projMatrix = null;\n\nlet deviceToScreen = null;\n\nlet drag = false;\n\nlet oldLen = 0;\n\nlet lastMouseX = 0;\n\nlet lastMouseY = 0;\n\nlet isModelShown = 0;\n\nlet modelurl = \"\";\n\nlet head_pos = 0.5;\n\nfunction initL2dCanvas(canvasId) {\n canvas = document.getElementById(canvasId);\n if (canvas.addEventListener) {\n //canvas.addEventListener(\"mousewheel\", mouseEvent);\n window.addEventListener(\"click\", mouseEvent);\n window.addEventListener(\"mousedown\", mouseEvent);\n window.addEventListener(\"mousemove\", mouseEvent);\n window.addEventListener(\"mouseup\", mouseEvent);\n document.addEventListener(\"mouseleave\", mouseEvent);\n //canvas.addEventListener(\"contextmenu\", mouseEvent);\n window.addEventListener(\"touchstart\", touchEvent);\n window.addEventListener(\"touchend\", touchEvent);\n window.addEventListener(\"touchmove\", touchEvent);\n }\n}\n\nfunction init(modelurl) {\n let width = canvas.width;\n let height = canvas.height;\n\n dragMgr = new L2DTargetPoint();\n\n let ratio = height / width;\n let left = LAppDefine.VIEW_LOGICAL_LEFT;\n let right = LAppDefine.VIEW_LOGICAL_RIGHT;\n let bottom = -ratio;\n let top = ratio;\n\n viewMatrix = new L2DViewMatrix();\n\n\n viewMatrix.setScreenRect(left, right, bottom, top);\n\n viewMatrix.setMaxScreenRect(LAppDefine.VIEW_LOGICAL_MAX_LEFT,\n LAppDefine.VIEW_LOGICAL_MAX_RIGHT,\n LAppDefine.VIEW_LOGICAL_MAX_BOTTOM,\n LAppDefine.VIEW_LOGICAL_MAX_TOP);\n\n viewMatrix.setMaxScale(LAppDefine.VIEW_MAX_SCALE);\n viewMatrix.setMinScale(LAppDefine.VIEW_MIN_SCALE);\n\n projMatrix = new L2DMatrix44();\n projMatrix.multScale(1, (width / height));\n\n deviceToScreen = new L2DMatrix44();\n deviceToScreen.multTranslate(-width / 2.0, -height / 2.0);\n deviceToScreen.multScale(2 / width, -2 / width);\n\n gl = getWebGLContext();\n setContext(gl);\n if (!gl) {\n console.error(\"Failed to create WebGL context.\");\n return;\n }\n window.Live2D.setGL(gl);\n gl.clearColor(0.0, 0.0, 0.0, 0.0);\n changeModel(modelurl);\n startDraw();\n}\n\nfunction startDraw() {\n if (!isDrawStart) {\n isDrawStart = true;\n (function tick() {\n draw();\n let requestAnimationFrame =\n window.requestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.msRequestAnimationFrame;\n\n requestAnimationFrame(tick, canvas);\n })();\n }\n}\n\nfunction draw()\n{\n MatrixStack.reset();\n MatrixStack.loadIdentity();\n dragMgr.update(); \n live2DMgr.setDrag(dragMgr.getX(), dragMgr.getY());\n \n gl.clear(gl.COLOR_BUFFER_BIT);\n \n MatrixStack.multMatrix(projMatrix.getArray());\n MatrixStack.multMatrix(viewMatrix.getArray());\n MatrixStack.push();\n \n for (let i = 0; i < live2DMgr.numModels(); i++)\n {\n let model = live2DMgr.getModel(i);\n\n if(model == null) return;\n \n if (model.initialized && !model.updating)\n {\n model.update();\n model.draw(gl);\n }\n }\n MatrixStack.pop();\n}\n\nfunction changeModel(modelurl)\n{\n live2DMgr.reloadFlg = true;\n live2DMgr.count++;\n live2DMgr.changeModel(gl,modelurl);\n}\n\nfunction modelScaling(scale)\n{\n let isMaxScale = viewMatrix.isMaxScale();\n let isMinScale = viewMatrix.isMinScale();\n \n viewMatrix.adjustScale(0, 0, scale);\n\n if (!isMaxScale)\n {\n if (viewMatrix.isMaxScale())\n {\n live2DMgr.maxScaleEvent();\n }\n }\n \n if (!isMinScale)\n {\n if (viewMatrix.isMinScale())\n {\n live2DMgr.minScaleEvent();\n }\n }\n}\n\nfunction transformRange(center, transform, range)\n{\n let a = {\n x: transform.x - center.x,\n y: transform.y - center.y\n }\n let r = Math.sqrt(Math.pow(a.x,2) + Math.pow(a.y,2));\n if (r > range) {\n a = {\n x: a.x / r * range + center.x,\n y: a.y / r * range + center.y\n };\n return a;\n } else {\n return transform;\n }\n}\n\nfunction dot(A,B)\n{\n return A.x * B.x + A.y * B.y;\n}\n\nfunction normalize(x,y)\n{\n let length = Math.sqrt(x * x + y * y)\n return {\n x: x / length,\n y: y / length\n }\n}\n\nfunction transformRect(center, transform, rect)\n{\n if (transform.x < rect.left + rect.width && transform.y < rect.top + rect.height &&\n transform.x > rect.left && transform.y > rect.top) return transform;\n let Len_X = center.x - transform.x;\n let Len_Y = center.y - transform.y;\n\n function angle(Len_X, Len_Y)\n {\n return Math.acos(dot({\n x: 0,\n y: 1\n }, normalize(Len_X, Len_Y))) * 180 / Math.PI\n }\n\n let angleTarget = angle(Len_X, Len_Y);\n if (transform.x < center.x) angleTarget = 360 - angleTarget;\n let angleLeftTop = 360 - angle(rect.left - center.x, (rect.top - center.y) * -1);\n let angleLeftBottom = 360 - angle(rect.left - center.x, (rect.top + rect.height - center.y) * -1);\n let angleRightTop = angle(rect.left + rect.width - center.x, (rect.top - center.y) * -1);\n let angleRightBottom = angle(rect.left + rect.width - center.x, (rect.top + rect.height - center.y) * -1);\n let scale = Len_Y / Len_X;\n let res = {};\n\n if (angleTarget < angleRightTop) {\n let y3 = rect.top - center.y;\n let x3 = y3 / scale;\n res = {\n y: center.y + y3,\n x: center.x + x3\n }\n } else if(angleTarget < angleRightBottom) {\n let x3 = rect.left + rect.width - center.x;\n let y3 = x3 * scale;\n res = {\n y: center.y + y3,\n x: center.x + x3\n }\n } else if (angleTarget < angleLeftBottom) {\n let y3 = rect.top + rect.height - center.y;\n let x3 = y3 / scale;\n res = {\n y: center.y + y3,\n x: center.x + x3\n }\n } else if (angleTarget < angleLeftTop) {\n let x3 = center.x - rect.left;\n let y3 = x3 * scale;\n res = {\n y: center.y - y3,\n x: center.x - x3\n }\n } else {\n let y3 = rect.top - center.y;\n let x3 = y3 / scale;\n res = {\n y: center.y + y3,\n x: center.x + x3\n }\n }\n\n return res;\n}\n\nfunction modelTurnHead(event)\n{\n drag = true;\n \n let rect = canvas.getBoundingClientRect();\n \n let sx = transformScreenX(event.clientX - rect.left);\n let sy = transformScreenY(event.clientY - rect.top);\n let target = transformRect({\n x: rect.left + rect.width / 2,\n y: rect.top + rect.height * head_pos\n }, {\n x: event.clientX,\n y: event.clientY\n }, rect)\n let vx = transformViewX(target.x - rect.left);\n let vy = transformViewY(target.y - rect.top);\n\n if (LAppDefine.DEBUG_MOUSE_LOG)\n console.log(\"onMouseDown device( x:\" + event.clientX + \" y:\" + event.clientY + \" ) view( x:\" + vx + \" y:\" + vy + \")\");\n\n lastMouseX = sx;\n lastMouseY = sy;\n\n dragMgr.setPoint(vx, vy); \n \n live2DMgr.tapEvent(vx, vy);\n}\n\nfunction followPointer(event)\n{ \n let rect = canvas.getBoundingClientRect();\n \n let sx = transformScreenX(event.clientX - rect.left);\n let sy = transformScreenY(event.clientY - rect.top);\n let target = transformRect({\n x: rect.left + rect.width / 2,\n y: rect.top + rect.height * head_pos\n }, {\n x: event.clientX,\n y: event.clientY\n }, rect)\n let vx = transformViewX(target.x - rect.left);\n let vy = transformViewY(target.y - rect.top);\n\n if (LAppDefine.DEBUG_MOUSE_LOG)\n console.log(\"onMouseMove device( x:\" + event.clientX + \" y:\" + event.clientY + \" ) view( x:\" + vx + \" y:\" + vy + \")\");\n\n if (drag)\n {\n lastMouseX = sx;\n lastMouseY = sy;\n dragMgr.setPoint(vx, vy); \n }\n}\n\nfunction lookFront()\n{ \n if (drag)\n {\n drag = false;\n }\n dragMgr.setPoint(0, 0);\n}\n\nfunction mouseEvent(e)\n{\n //e.preventDefault();\n if (e.type == \"mousewheel\") {\n // if (e.clientX < 0 || canvas.clientWidth < e.clientX || \n // e.clientY < 0 || canvas.clientHeight < e.clientY)\n // {\n // return;\n // }\n // if (e.wheelDelta > 0) modelScaling(1.1); \n // else modelScaling(0.9); \n } else if (e.type == \"mousedown\") {\n if(\"button\" in e && e.button != 0) return;\n // modelTurnHead(e);\n } else if (e.type == \"mousemove\") {\n modelTurnHead(e);\n } else if (e.type == \"mouseup\") {\n if(\"button\" in e && e.button != 0) return;\n // lookFront();\n } else if (e.type == \"mouseleave\") {\n lookFront();\n }\n}\n\nfunction touchEvent(e)\n{\n var touch = e.touches[0];\n if (e.type == \"touchstart\") {\n if (e.touches.length == 1) modelTurnHead(touch);\n // onClick(touch);\n } else if (e.type == \"touchmove\") {\n followPointer(touch);\n } else if (e.type == \"touchend\") {\n lookFront();\n }\n}\n\nfunction transformViewX(deviceX)\n{\n var screenX = deviceToScreen.transformX(deviceX); \n return viewMatrix.invertTransformX(screenX); \n}\n\n\nfunction transformViewY(deviceY)\n{\n var screenY = deviceToScreen.transformY(deviceY); \n return viewMatrix.invertTransformY(screenY); \n}\n\n\nfunction transformScreenX(deviceX)\n{\n return deviceToScreen.transformX(deviceX);\n}\n\n\nfunction transformScreenY(deviceY)\n{\n return deviceToScreen.transformY(deviceY);\n}\n\nfunction getWebGLContext()\n{\n var NAMES = [ \"webgl\" , \"experimental-webgl\" , \"webkit-3d\" , \"moz-webgl\"];\n for( var i = 0; i < NAMES.length; i++ ){\n try{\n var ctx = canvas.getContext(NAMES[i], {premultipliedAlpha : true});\n if(ctx) return ctx;\n }\n catch(e){}\n }\n return null;\n};\n\nfunction loadlive2d(id,modelurl,headPos) {\n head_pos = typeof headPos === 'undefined' ? 0.5 : headPos;\n initL2dCanvas(id);\n init(modelurl);\n}\n\nwindow.loadlive2d = loadlive2d;\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js","import { Live2DFramework } from \"./lib/Live2DFramework.js\"\nimport PlatformManager from \"./PlatformManager\"\nimport LAppModel from \"./LAppModel\"\nimport LAppDefine from \"./LAppDefine\"\n\nexport default function LAppLive2DManager() {\n // console.log(\"--> LAppLive2DManager()\");\n\n\n this.models = [];\n\n\n this.count = -1;\n this.reloadFlg = false;\n\n Live2D.init();\n Live2DFramework.setPlatformManager(new PlatformManager);\n\n}\n\nLAppLive2DManager.prototype.createModel = function () {\n\n\n var model = new LAppModel();\n this.models.push(model);\n\n return model;\n}\n\n\nLAppLive2DManager.prototype.changeModel = function (gl, modelurl) {\n // console.log(\"--> LAppLive2DManager.update(gl)\");\n\n if (this.reloadFlg) {\n\n this.reloadFlg = false;\n\n var thisRef = this;\n this.releaseModel(0, gl);\n this.createModel();\n this.models[0].load(gl, modelurl);\n }\n};\n\n\nLAppLive2DManager.prototype.getModel = function (no) {\n // console.log(\"--> LAppLive2DManager.getModel(\" + no + \")\");\n\n if (no >= this.models.length) return null;\n\n return this.models[no];\n};\n\n\n\nLAppLive2DManager.prototype.releaseModel = function (no, gl) {\n // console.log(\"--> LAppLive2DManager.releaseModel(\" + no + \")\");\n\n if (this.models.length <= no) return;\n\n this.models[no].release(gl);\n\n delete this.models[no];\n this.models.splice(no, 1);\n};\n\n\n\nLAppLive2DManager.prototype.numModels = function () {\n return this.models.length;\n};\n\n\n\nLAppLive2DManager.prototype.setDrag = function (x, y) {\n for (var i = 0; i < this.models.length; i++) {\n this.models[i].setDrag(x, y);\n }\n}\n\n\n\nLAppLive2DManager.prototype.maxScaleEvent = function () {\n if (LAppDefine.DEBUG_LOG)\n console.log(\"Max scale event.\");\n for (var i = 0; i < this.models.length; i++) {\n this.models[i].startRandomMotion(LAppDefine.MOTION_GROUP_PINCH_IN,\n LAppDefine.PRIORITY_NORMAL);\n }\n}\n\n\n\nLAppLive2DManager.prototype.minScaleEvent = function () {\n if (LAppDefine.DEBUG_LOG)\n console.log(\"Min scale event.\");\n for (var i = 0; i < this.models.length; i++) {\n this.models[i].startRandomMotion(LAppDefine.MOTION_GROUP_PINCH_OUT,\n LAppDefine.PRIORITY_NORMAL);\n }\n}\n\n\n\nLAppLive2DManager.prototype.tapEvent = function (x, y) {\n if (LAppDefine.DEBUG_LOG)\n console.log(\"tapEvent view x:\" + x + \" y:\" + y);\n\n for (var i = 0; i < this.models.length; i++) {\n\n if (this.models[i].hitTest(LAppDefine.HIT_AREA_HEAD, x, y)) {\n\n if (LAppDefine.DEBUG_LOG)\n console.log(\"Tap face.\");\n\n this.models[i].setRandomExpression();\n }\n else if (this.models[i].hitTest(LAppDefine.HIT_AREA_BODY, x, y)) {\n\n if (LAppDefine.DEBUG_LOG)\n console.log(\"Tap body.\" + \" models[\" + i + \"]\");\n\n this.models[i].startRandomMotion(LAppDefine.MOTION_GROUP_TAP_BODY,\n LAppDefine.PRIORITY_NORMAL);\n }\n }\n\n return true;\n};\n\n\n// WEBPACK FOOTER //\n// ./src/LAppLive2DManager.js","import {L2DBaseModel, L2DEyeBlink} from \"./lib/Live2DFramework\"\nimport ModelSettingJson from \"./lib/ModelSettingJson\"\nimport LAppDefine from \"./LAppDefine\"\nimport MatrixStack from \"./lib/MatrixStack\"\n\n//============================================================\n//============================================================\n// class LAppModel extends L2DBaseModel \n//============================================================\n//============================================================\nexport default function LAppModel()\n{\n //L2DBaseModel.apply(this, arguments);\n L2DBaseModel.prototype.constructor.call(this);\n \n this.modelHomeDir = \"\";\n this.modelSetting = null;\n this.tmpMatrix = [];\n}\n\nLAppModel.prototype = new L2DBaseModel();\n\n\nLAppModel.prototype.load = function(gl, modelSettingPath, callback)\n{\n this.setUpdating(true);\n this.setInitialized(false);\n\n this.modelHomeDir = modelSettingPath.substring(0, modelSettingPath.lastIndexOf(\"/\") + 1); \n\n this.modelSetting = new ModelSettingJson();\n \n var thisRef = this;\n \n this.modelSetting.loadModelSetting(modelSettingPath, function(){\n \n var path = thisRef.modelHomeDir + thisRef.modelSetting.getModelFile();\n thisRef.loadModelData(path, function(model){\n \n for (var i = 0; i < thisRef.modelSetting.getTextureNum(); i++)\n {\n \n var texPaths = thisRef.modelHomeDir + \n thisRef.modelSetting.getTextureFile(i);\n \n thisRef.loadTexture(i, texPaths, function() {\n \n if( thisRef.isTexLoaded ) {\n \n if (thisRef.modelSetting.getExpressionNum() > 0)\n {\n \n thisRef.expressions = {};\n \n for (var j = 0; j < thisRef.modelSetting.getExpressionNum(); j++)\n {\n var expName = thisRef.modelSetting.getExpressionName(j);\n var expFilePath = thisRef.modelHomeDir + \n thisRef.modelSetting.getExpressionFile(j);\n \n thisRef.loadExpression(expName, expFilePath);\n }\n }\n else\n {\n thisRef.expressionManager = null;\n thisRef.expressions = {};\n }\n \n \n \n if (thisRef.eyeBlink == null)\n {\n thisRef.eyeBlink = new L2DEyeBlink();\n }\n \n \n if (thisRef.modelSetting.getPhysicsFile() != null)\n {\n thisRef.loadPhysics(thisRef.modelHomeDir + \n thisRef.modelSetting.getPhysicsFile());\n }\n else\n {\n thisRef.physics = null;\n }\n \n \n \n if (thisRef.modelSetting.getPoseFile() != null)\n {\n thisRef.loadPose(\n thisRef.modelHomeDir +\n thisRef.modelSetting.getPoseFile(),\n function() {\n thisRef.pose.updateParam(thisRef.live2DModel);\n }\n );\n }\n else\n {\n thisRef.pose = null;\n }\n \n \n \n if (thisRef.modelSetting.getLayout() != null)\n {\n var layout = thisRef.modelSetting.getLayout();\n if (layout[\"width\"] != null)\n thisRef.modelMatrix.setWidth(layout[\"width\"]);\n if (layout[\"height\"] != null)\n thisRef.modelMatrix.setHeight(layout[\"height\"]);\n\n if (layout[\"x\"] != null)\n thisRef.modelMatrix.setX(layout[\"x\"]);\n if (layout[\"y\"] != null)\n thisRef.modelMatrix.setY(layout[\"y\"]);\n if (layout[\"center_x\"] != null)\n thisRef.modelMatrix.centerX(layout[\"center_x\"]);\n if (layout[\"center_y\"] != null)\n thisRef.modelMatrix.centerY(layout[\"center_y\"]);\n if (layout[\"top\"] != null)\n thisRef.modelMatrix.top(layout[\"top\"]);\n if (layout[\"bottom\"] != null)\n thisRef.modelMatrix.bottom(layout[\"bottom\"]);\n if (layout[\"left\"] != null)\n thisRef.modelMatrix.left(layout[\"left\"]);\n if (layout[\"right\"] != null)\n thisRef.modelMatrix.right(layout[\"right\"]);\n }\n \n for (var j = 0; j < thisRef.modelSetting.getInitParamNum(); j++)\n {\n \n thisRef.live2DModel.setParamFloat(\n thisRef.modelSetting.getInitParamID(j),\n thisRef.modelSetting.getInitParamValue(j)\n );\n }\n\n for (var j = 0; j < thisRef.modelSetting.getInitPartsVisibleNum(); j++)\n {\n \n thisRef.live2DModel.setPartsOpacity(\n thisRef.modelSetting.getInitPartsVisibleID(j),\n thisRef.modelSetting.getInitPartsVisibleValue(j)\n );\n }\n \n \n \n thisRef.live2DModel.saveParam();\n // thisRef.live2DModel.setGL(gl);\n \n \n thisRef.preloadMotionGroup(LAppDefine.MOTION_GROUP_IDLE);\n thisRef.mainMotionManager.stopAllMotions();\n\n thisRef.setUpdating(false); \n thisRef.setInitialized(true); \n\n if (typeof callback == \"function\") callback();\n \n }\n });\n }\n });\n });\n};\n\n\n\nLAppModel.prototype.release = function(gl)\n{\n // this.live2DModel.deleteTextures();\n var pm = Live2DFramework.getPlatformManager();\n\n gl.deleteTexture(pm.texture);\n}\n\n\n\nLAppModel.prototype.preloadMotionGroup = function(name)\n{\n var thisRef = this;\n \n for (var i = 0; i < this.modelSetting.getMotionNum(name); i++)\n {\n var file = this.modelSetting.getMotionFile(name, i);\n this.loadMotion(file, this.modelHomeDir + file, function(motion) {\n motion.setFadeIn(thisRef.modelSetting.getMotionFadeIn(name, i));\n motion.setFadeOut(thisRef.modelSetting.getMotionFadeOut(name, i));\n });\n \n }\n}\n\n\nLAppModel.prototype.update = function()\n{\n // console.log(\"--> LAppModel.update()\");\n\n if(this.live2DModel == null) \n {\n if (LAppDefine.DEBUG_LOG) console.error(\"Failed to update.\");\n \n return;\n }\n \n var timeMSec = UtSystem.getUserTimeMSec() - this.startTimeMSec;\n var timeSec = timeMSec / 1000.0;\n var t = timeSec * 2 * Math.PI; \n \n \n if (this.mainMotionManager.isFinished())\n {\n \n this.startRandomMotion(LAppDefine.MOTION_GROUP_IDLE, LAppDefine.PRIORITY_IDLE);\n }\n \n //-----------------------------------------------------------------\t\t\n \n \n this.live2DModel.loadParam();\n \n \n \n var update = this.mainMotionManager.updateParam(this.live2DModel); \n if (!update) {\n \n if(this.eyeBlink != null) {\n this.eyeBlink.updateParam(this.live2DModel);\n }\n }\n\n \n this.live2DModel.saveParam();\n \n //-----------------------------------------------------------------\t\t\n \n \n if (this.expressionManager != null && \n this.expressions != null && \n !this.expressionManager.isFinished())\n {\n this.expressionManager.updateParam(this.live2DModel); \n }\n\n \n \n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_X\", this.dragX * 30, 1); \n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_Y\", this.dragY * 30, 1);\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_Z\", (this.dragX * this.dragY) * -30, 1);\n\n \n \n this.live2DModel.addToParamFloat(\"PARAM_BODY_ANGLE_X\", this.dragX*10, 1); \n\n \n \n this.live2DModel.addToParamFloat(\"PARAM_EYE_BALL_X\", this.dragX, 1); \n this.live2DModel.addToParamFloat(\"PARAM_EYE_BALL_Y\", this.dragY, 1);\n\n\n \n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_X\", \n Number((15 * Math.sin(t / 6.5345))), 0.5);\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_Y\", \n Number((8 * Math.sin(t / 3.5345))), 0.5);\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_Z\", \n Number((10 * Math.sin(t / 5.5345))), 0.5);\n this.live2DModel.addToParamFloat(\"PARAM_BODY_ANGLE_X\", \n Number((4 * Math.sin(t / 15.5345))), 0.5);\n this.live2DModel.setParamFloat(\"PARAM_BREATH\", \n Number((0.5 + 0.5 * Math.sin(t / 3.2345))), 1);\n \n \n if (this.physics != null)\n {\n this.physics.updateParam(this.live2DModel); \n }\n \n \n if (this.lipSync == null)\n {\n this.live2DModel.setParamFloat(\"PARAM_MOUTH_OPEN_Y\",\n this.lipSyncValue);\n }\n \n \n if( this.pose != null ) {\n this.pose.updateParam(this.live2DModel);\n }\n \n this.live2DModel.update();\n};\n\n\n\nLAppModel.prototype.setRandomExpression = function()\n{\n var tmp = [];\n for (var name in this.expressions)\n {\n tmp.push(name);\n }\n\n var no = parseInt(Math.random() * tmp.length);\n\n this.setExpression(tmp[no]);\n}\n\n\n\nLAppModel.prototype.startRandomMotion = function(name, priority)\n{\n var max = this.modelSetting.getMotionNum(name);\n var no = parseInt(Math.random() * max);\n this.startMotion(name, no, priority);\n}\n\n\n\nLAppModel.prototype.startMotion = function(name, no, priority)\n{\n // console.log(\"startMotion : \" + name + \" \" + no + \" \" + priority);\n \n var motionName = this.modelSetting.getMotionFile(name, no);\n \n if (motionName == null || motionName == \"\")\n {\n if (LAppDefine.DEBUG_LOG)\n console.error(\"Failed to motion.\");\n return;\n }\n\n if (priority == LAppDefine.PRIORITY_FORCE) \n {\n this.mainMotionManager.setReservePriority(priority);\n }\n else if (!this.mainMotionManager.reserveMotion(priority))\n {\n if (LAppDefine.DEBUG_LOG)\n console.log(\"Motion is running.\")\n return;\n }\n\n var thisRef = this;\n var motion;\n\n if (this.motions[name] == null) \n {\n this.loadMotion(null, this.modelHomeDir + motionName, function(mtn) {\n motion = mtn;\n \n \n thisRef.setFadeInFadeOut(name, no, priority, motion);\n \n });\n }\n else \n {\n motion = this.motions[name];\n \n \n thisRef.setFadeInFadeOut(name, no, priority, motion);\n }\n}\n\n\nLAppModel.prototype.setFadeInFadeOut = function(name, no, priority, motion)\n{\n var motionName = this.modelSetting.getMotionFile(name, no);\n \n motion.setFadeIn(this.modelSetting.getMotionFadeIn(name, no));\n motion.setFadeOut(this.modelSetting.getMotionFadeOut(name, no));\n \n \n if (LAppDefine.DEBUG_LOG)\n console.log(\"Start motion : \" + motionName);\n\n if (this.modelSetting.getMotionSound(name, no) == null)\n {\n this.mainMotionManager.startMotionPrio(motion, priority);\n }\n else\n {\n var soundName = this.modelSetting.getMotionSound(name, no);\n // var player = new Sound(this.modelHomeDir + soundName);\n \n var snd = document.createElement(\"audio\");\n snd.src = this.modelHomeDir + soundName;\n \n if (LAppDefine.DEBUG_LOG)\n console.log(\"Start sound : \" + soundName);\n \n snd.play();\n this.mainMotionManager.startMotionPrio(motion, priority);\n }\n}\n\n\n\nLAppModel.prototype.setExpression = function(name)\n{\n var motion = this.expressions[name];\n \n if (LAppDefine.DEBUG_LOG)\n console.log(\"Expression : \" + name);\n \n this.expressionManager.startMotion(motion, false);\n}\n\n\n\nLAppModel.prototype.draw = function(gl)\n{\n //console.log(\"--> LAppModel.draw()\");\n \n // if(this.live2DModel == null) return;\n \n \n MatrixStack.push();\n \n MatrixStack.multMatrix(this.modelMatrix.getArray());\n \n this.tmpMatrix = MatrixStack.getMatrix()\n this.live2DModel.setMatrix(this.tmpMatrix);\n this.live2DModel.draw();\n \n MatrixStack.pop();\n \n};\n \n\n\nLAppModel.prototype.hitTest = function(id, testX, testY)\n{\n var len = this.modelSetting.getHitAreaNum();\n for (var i = 0; i < len; i++)\n { \n if (id == this.modelSetting.getHitAreaName(i))\n {\n var drawID = this.modelSetting.getHitAreaID(i);\n \n return this.hitTestSimple(drawID, testX, testY);\n }\n }\n \n return false; \n}\n\n\n// WEBPACK FOOTER //\n// ./src/LAppModel.js","/**\n *\n * You can modify and use this source freely\n * only for the development of application related Live2D.\n *\n * (c) Live2D Inc. All rights reserved.\n */\nimport {getContext} from \"./webglcontext\"\n\n//============================================================\n//============================================================\n// class PlatformManager extend IPlatformManager\n//============================================================\n//============================================================\nexport default function PlatformManager()\n{\n\n}\n\n//============================================================\n// PlatformManager # loadBytes()\n//============================================================\nPlatformManager.prototype.loadBytes = function(path/*String*/, callback)\n{\n var request = new XMLHttpRequest();\n request.open(\"GET\", path, true);\n request.responseType = \"arraybuffer\";\n request.onload = function(){\n switch(request.status){\n case 200:\n callback(request.response);\n break;\n default:\n console.error(\"Failed to load (\" + request.status + \") : \" + path);\n break;\n }\n }\n request.send(null);\n //return request;\n}\n\n//============================================================\n// PlatformManager # loadString()\n//============================================================\nPlatformManager.prototype.loadString = function(path/*String*/)\n{\n \n this.loadBytes(path, function(buf) { \n return buf;\n });\n \n}\n\n//============================================================\n// PlatformManager # loadLive2DModel()\n//============================================================\nPlatformManager.prototype.loadLive2DModel = function(path/*String*/, callback)\n{\n var model = null;\n \n // load moc\n this.loadBytes(path, function(buf){\n model = Live2DModelWebGL.loadModel(buf);\n callback(model);\n });\n\n}\n\n//============================================================\n// PlatformManager # loadTexture()\n//============================================================\nPlatformManager.prototype.loadTexture = function(model/*ALive2DModel*/, no/*int*/, path/*String*/, callback)\n{ \n // load textures\n var loadedImage = new Image();\n loadedImage.src = path;\n \n var thisRef = this;\n loadedImage.onload = function() {\n // create texture\n var gl = getContext();\n var texture = gl.createTexture();\t \n if (!texture){ console.error(\"Failed to generate gl texture name.\"); return -1; }\n\n if(model.isPremultipliedAlpha() == false){\n // 乗算済アルファテクスチャ以外の場合\n gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 1);\n }\n gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, 1);\t\n gl.activeTexture(gl.TEXTURE0);\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, \n gl.UNSIGNED_BYTE, loadedImage);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_NEAREST);\n gl.generateMipmap(gl.TEXTURE_2D);\n\n\n \n model.setTexture(no, texture);\n \n // テクスチャオブジェクトを解放\n texture = null;\n \n if (typeof callback == \"function\") callback();\n };\n \n loadedImage.onerror = function() { \n console.error(\"Failed to load image : \" + path); \n }\n}\n\n\n//============================================================\n// PlatformManager # parseFromBytes(buf)\n\n//============================================================\nPlatformManager.prototype.jsonParseFromBytes = function(buf){\n \n var jsonStr;\n \n \n \n var bomCode = new Uint8Array(buf, 0, 3);\n if (bomCode[0] == 239 && bomCode[1] == 187 && bomCode[2] == 191) {\n jsonStr = String.fromCharCode.apply(null, new Uint8Array(buf, 3));\n } else {\n jsonStr = String.fromCharCode.apply(null, new Uint8Array(buf));\n }\n \n var jsonObj = JSON.parse(jsonStr);\n \n return jsonObj;\n};\n\n\n//============================================================\n// PlatformManager # log()\n//============================================================\nPlatformManager.prototype.log = function(txt/*String*/)\n{\n //console.log(txt);\n}\n\nfunction getWebGLContext(canvas)\n{\n var NAMES = [ \"webgl\" , \"experimental-webgl\" , \"webkit-3d\" , \"moz-webgl\"];\n for( var i = 0; i < NAMES.length; i++ ){\n try{\n var ctx = canvas.getContext(NAMES[i], {premultipliedAlpha : true});\n if(ctx) return ctx;\n }\n catch(e){}\n }\n return null;\n};\n\n\n// WEBPACK FOOTER //\n// ./src/PlatformManager.js","import {Live2DFramework} from \"./Live2DFramework\"\n\nexport default function ModelSettingJson()\n{ \n this.NAME = \"name\";\n this.ID = \"id\";\n this.MODEL = \"model\";\n this.TEXTURES = \"textures\";\n this.HIT_AREAS = \"hit_areas\";\n this.PHYSICS = \"physics\";\n this.POSE = \"pose\";\n this.EXPRESSIONS = \"expressions\";\n this.MOTION_GROUPS = \"motions\";\n this.SOUND = \"sound\";\n this.FADE_IN = \"fade_in\";\n this.FADE_OUT = \"fade_out\";\n this.LAYOUT = \"layout\";\n this.INIT_PARAM = \"init_param\";\n this.INIT_PARTS_VISIBLE = \"init_parts_visible\";\n this.VALUE = \"val\";\n this.FILE = \"file\";\n\n this.json = {};\n}\n\n\nModelSettingJson.prototype.loadModelSetting = function(path, callback)\n{ \n var thisRef = this;\n var pm = Live2DFramework.getPlatformManager();\n pm.loadBytes(path, function(buf) {\n var str = String.fromCharCode.apply(null,new Uint8Array(buf));\n thisRef.json = JSON.parse(str);\n callback();\n });\n};\n\n\nModelSettingJson.prototype.getTextureFile = function(n)\n{ \n if (this.json[this.TEXTURES] == null || this.json[this.TEXTURES][n] == null)\n return null;\n \n return this.json[this.TEXTURES][n];\n}\n\n\nModelSettingJson.prototype.getModelFile = function()\n{ \n return this.json[this.MODEL];\n};\n\n\nModelSettingJson.prototype.getTextureNum = function()\n{ \n if (this.json[this.TEXTURES] == null) return 0;\n \n return this.json[this.TEXTURES].length;\n}\n\n\nModelSettingJson.prototype.getHitAreaNum = function()\n{\n if (this.json[this.HIT_AREAS] == null)\n return 0;\n\n return this.json[this.HIT_AREAS].length;\n}\n\n\nModelSettingJson.prototype.getHitAreaID = function(n)\n{\n if (this.json[this.HIT_AREAS] == null || \n this.json[this.HIT_AREAS][n] == null)\n return null;\n\n return this.json[this.HIT_AREAS][n][this.ID];\n}\n\n\nModelSettingJson.prototype.getHitAreaName = function(n)\n{\n if (this.json[this.HIT_AREAS] == null || \n this.json[this.HIT_AREAS][n] == null)\n return null;\n\n return this.json[this.HIT_AREAS][n][this.NAME];\n}\n\n\nModelSettingJson.prototype.getPhysicsFile = function()\n{\n return this.json[this.PHYSICS];\n}\n\n\nModelSettingJson.prototype.getPoseFile = function()\n{\n return this.json[this.POSE];\n}\n\n\nModelSettingJson.prototype.getExpressionNum = function()\n{\n return (this.json[this.EXPRESSIONS] == null) ? 0 : this.json[this.EXPRESSIONS].length;\n}\n\n\nModelSettingJson.prototype.getExpressionFile = function(n)\n{\n if (this.json[this.EXPRESSIONS] == null)\n return null;\n return this.json[this.EXPRESSIONS][n][this.FILE];\n}\n\n\nModelSettingJson.prototype.getExpressionName = function(n)\n{\n if (this.json[this.EXPRESSIONS] == null)\n return null;\n return this.json[this.EXPRESSIONS][n][this.NAME];\n}\n\n\nModelSettingJson.prototype.getLayout = function()\n{\n return this.json[this.LAYOUT];\n}\n\n\nModelSettingJson.prototype.getInitParamNum = function()\n{\n return (this.json[this.INIT_PARAM] == null) ? 0 : this.json[this.INIT_PARAM].length;\n}\n\n\nModelSettingJson.prototype.getMotionNum = function(name)\n{\n if (this.json[this.MOTION_GROUPS] == null || \n this.json[this.MOTION_GROUPS][name] == null)\n return 0;\n \n return this.json[this.MOTION_GROUPS][name].length;\n}\n\n\nModelSettingJson.prototype.getMotionFile = function(name, n)\n{\n if (this.json[this.MOTION_GROUPS] == null || \n this.json[this.MOTION_GROUPS][name] == null || \n this.json[this.MOTION_GROUPS][name][n] == null)\n return null;\n\n return this.json[this.MOTION_GROUPS][name][n][this.FILE];\n}\n\n\nModelSettingJson.prototype.getMotionSound = function(name, n)\n{\n if (this.json[this.MOTION_GROUPS] == null || \n this.json[this.MOTION_GROUPS][name] == null || \n this.json[this.MOTION_GROUPS][name][n] == null || \n this.json[this.MOTION_GROUPS][name][n][this.SOUND] == null)\n return null;\n\n return this.json[this.MOTION_GROUPS][name][n][this.SOUND];\n}\n\n\nModelSettingJson.prototype.getMotionFadeIn = function(name, n)\n{\n if (this.json[this.MOTION_GROUPS] == null || \n this.json[this.MOTION_GROUPS][name] == null || \n this.json[this.MOTION_GROUPS][name][n] == null || \n this.json[this.MOTION_GROUPS][name][n][this.FADE_IN] == null)\n return 1000;\n\n return this.json[this.MOTION_GROUPS][name][n][this.FADE_IN];\n}\n\n\nModelSettingJson.prototype.getMotionFadeOut = function(name, n)\n{\n if (this.json[this.MOTION_GROUPS] == null || \n this.json[this.MOTION_GROUPS][name] == null || \n this.json[this.MOTION_GROUPS][name][n] == null || \n this.json[this.MOTION_GROUPS][name][n][this.FADE_OUT] == null)\n return 1000;\n \n return this.json[this.MOTION_GROUPS][name][n][this.FADE_OUT];\n}\n\n\nModelSettingJson.prototype.getInitParamID = function(n)\n{\n if (this.json[this.INIT_PARAM] == null || \n this.json[this.INIT_PARAM][n] == null)\n return null;\n \n return this.json[this.INIT_PARAM][n][this.ID];\n}\n\n\nModelSettingJson.prototype.getInitParamValue = function(n)\n{\n if (this.json[this.INIT_PARAM] == null || this.json[this.INIT_PARAM][n] == null)\n return NaN;\n \n return this.json[this.INIT_PARAM][n][this.VALUE];\n}\n\n\nModelSettingJson.prototype.getInitPartsVisibleNum = function()\n{\n return (this.json[this.INIT_PARTS_VISIBLE] == null) ? 0 : this.json[this.INIT_PARTS_VISIBLE].length;\n}\n\n\nModelSettingJson.prototype.getInitPartsVisibleID = function(n)\n{\n if (this.json[this.INIT_PARTS_VISIBLE] == null || this.json[this.INIT_PARTS_VISIBLE][n] == null)\n return null;\n return this.json[this.INIT_PARTS_VISIBLE][n][this.ID];\n}\n\n\nModelSettingJson.prototype.getInitPartsVisibleValue = function(n)\n{\n if (this.json[this.INIT_PARTS_VISIBLE] == null || this.json[this.INIT_PARTS_VISIBLE][n] == null)\n return NaN;\n \n return this.json[this.INIT_PARTS_VISIBLE][n][this.VALUE];\n}\n\n\n// WEBPACK FOOTER //\n// ./src/lib/ModelSettingJson.js","\r\n(function(){var j=true;function aa(){if(j){return;}this._$MT=null;this._$5S=null;this._$NP=0;aa._$42++;this._$5S=new y(this);}aa._$0s=1;aa._$4s=2;aa._$42=0;aa._$62=function(aQ,aU){try{if(aU instanceof ArrayBuffer){aU=new DataView(aU);}if(!(aU instanceof DataView)){throw new J(\"_$SS#loadModel(b) / b _$x be DataView or ArrayBuffer\");}var aS=new K(aU);var aM=aS._$ST();var aK=aS._$ST();var aJ=aS._$ST();var aN;if(aM==109&&aK==111&&aJ==99){aN=aS._$ST();}else{throw new J(\"_$gi _$C _$li , _$Q0 _$P0.\");}aS._$gr(aN);if(aN>ay._$T7){aQ._$NP|=aa._$4s;var aR=ay._$T7;var aI=\"_$gi _$C _$li , _$n0 _$_ version _$li ( SDK : \"+aR+\" < _$f0 : \"+aN+\" )@_$SS#loadModel()\\n\";throw new J(aI);}var aL=aS._$nP();if(aN>=ay._$s7){var aH=aS._$9T();var aT=aS._$9T();if(aH!=-30584||aT!=-30584){aQ._$NP|=aa._$0s;throw new J(\"_$gi _$C _$li , _$0 _$6 _$Ui.\");}}aQ._$KS(aL);var aP=aQ.getModelContext();aP.setDrawParam(aQ.getDrawParam());aP.init();}catch(aO){q._$Rb(aO);}};aa.prototype._$KS=function(aH){this._$MT=aH;};aa.prototype.getModelImpl=function(){if(this._$MT==null){this._$MT=new w();this._$MT._$zP();}return this._$MT;};aa.prototype.getCanvasWidth=function(){if(this._$MT==null){return 0;}return this._$MT.getCanvasWidth();};aa.prototype.getCanvasHeight=function(){if(this._$MT==null){return 0;}return this._$MT.getCanvasHeight();};aa.prototype.getParamFloat=function(aH){if(typeof aH!=\"number\"){aH=this._$5S.getParamIndex(z.getID(aH));}return this._$5S.getParamFloat(aH);};aa.prototype.setParamFloat=function(aH,aJ,aI){if(typeof aH!=\"number\"){aH=this._$5S.getParamIndex(z.getID(aH));}if(arguments.length<3){aI=1;}this._$5S.setParamFloat(aH,this._$5S.getParamFloat(aH)*(1-aI)+aJ*aI);};aa.prototype.addToParamFloat=function(aH,aJ,aI){if(typeof aH!=\"number\"){aH=this._$5S.getParamIndex(z.getID(aH));}if(arguments.length<3){aI=1;}this._$5S.setParamFloat(aH,this._$5S.getParamFloat(aH)+aJ*aI);};aa.prototype.multParamFloat=function(aH,aJ,aI){if(typeof aH!=\"number\"){aH=this._$5S.getParamIndex(z.getID(aH));}if(arguments.length<3){aI=1;}this._$5S.setParamFloat(aH,this._$5S.getParamFloat(aH)*(1+(aJ-1)*aI));};aa.prototype.getParamIndex=function(aH){return this._$5S.getParamIndex(z.getID(aH));};aa.prototype.loadParam=function(){this._$5S.loadParam();};aa.prototype.saveParam=function(){this._$5S.saveParam();};aa.prototype.init=function(){this._$5S.init();};aa.prototype.update=function(){this._$5S.update();};aa.prototype._$Rs=function(){q._$li(\"_$60 _$PT _$Rs()\");return -1;};aa.prototype._$Ds=function(aH){q._$li(\"_$60 _$PT _$SS#_$Ds() \\n\");};aa.prototype._$K2=function(){};aa.prototype.draw=function(){};aa.prototype.getModelContext=function(){return this._$5S;};aa.prototype._$s2=function(){return this._$NP;};aa.prototype._$P7=function(aK,aR,aH,a0){var aU=-1;var aY=0;var aM=this;var aJ=0.5;var aI=0.15;var aX=true;if(aH==0){for(var aV=0;aV1){aQ=1;}}else{aQ-=aW;if(aQ<0){aQ=0;}}aM.setPartsOpacity(aO,aQ);}else{for(var aV=0;aV=0){break;}aU=aV;var aO=aR[aV];aY=aM.getPartsOpacity(aO);aY+=aH/a0;if(aY>1){aY=1;}}}if(aU<0){console.log(\"No _$wi _$q0/ _$U default[%s]\",aK[0]);aU=0;aY=1;aM.loadParam();aM.setParamFloat(aK[aU],aY);aM.saveParam();}for(var aV=0;aVaI){aZ=1-aI/(1-aY);}}if(aL>aZ){aL=aZ;}aM.setPartsOpacity(aO,aL);}}}}};aa.prototype.setPartsOpacity=function(aI,aH){if(typeof aI!=\"number\"){aI=this._$5S.getPartsDataIndex(i.getID(aI));}this._$5S.setPartsOpacity(aI,aH);};aa.prototype.getPartsDataIndex=function(aH){if(!(aH instanceof i)){aH=i.getID(aH);}return this._$5S.getPartsDataIndex(aH);};aa.prototype.getPartsOpacity=function(aH){if(typeof aH!=\"number\"){aH=this._$5S.getPartsDataIndex(i.getID(aH));}if(aH<0){return 0;}return this._$5S.getPartsOpacity(aH);};aa.prototype.getDrawParam=function(){};aa.prototype.getDrawDataIndex=function(aH){return this._$5S.getDrawDataIndex(Z.getID(aH));};aa.prototype.getDrawData=function(aH){return this._$5S.getDrawData(aH);};aa.prototype.getTransformedPoints=function(aH){var aI=this._$5S._$C2(aH);if(aI instanceof ag){return(aI).getTransformedPoints();}return null;};aa.prototype.getIndexArray=function(aI){if(aI<0||aI>=this._$5S._$aS.length){return null;}var aH=this._$5S._$aS[aI];if(aH!=null&&aH.getType()==a._$wb){if(aH instanceof b){return aH.getIndexArray();}}return null;};function W(aJ){if(j){return;}this.clipContextList=new Array();this.glcontext=aJ.gl;this.dp_webgl=aJ;this.curFrameNo=0;this.firstError_clipInNotUpdate=true;this.colorBuffer=0;this.isInitGLFBFunc=false;this.tmpBoundsOnModel=new av();if(Q.glContext.length>Q.frameBuffers.length){this.curFrameNo=this.getMaskRenderTexture();}else{}this.tmpModelToViewMatrix=new ac();this.tmpMatrix2=new ac();this.tmpMatrixForMask=new ac();this.tmpMatrixForDraw=new ac();this.CHANNEL_COLORS=new Array();var aI=new o();aI=new o();aI.r=0;aI.g=0;aI.b=0;aI.a=1;this.CHANNEL_COLORS.push(aI);aI=new o();aI.r=1;aI.g=0;aI.b=0;aI.a=0;this.CHANNEL_COLORS.push(aI);aI=new o();aI.r=0;aI.g=1;aI.b=0;aI.a=0;this.CHANNEL_COLORS.push(aI);aI=new o();aI.r=0;aI.g=0;aI.b=1;aI.a=0;this.CHANNEL_COLORS.push(aI);for(var aH=0;aH=0;--aH){this.CHANNEL_COLORS.splice(aH,1);}this.CHANNEL_COLORS=[];}this.releaseShader();};W.prototype.releaseShader=function(){var aI=Q.frameBuffers.length;for(var aH=0;aH0){var aM=aQ.gl.getParameter(aQ.gl.FRAMEBUFFER_BINDING);var aW=new Array(4);aW[0]=0;aW[1]=0;aW[2]=aQ.gl.canvas.width;aW[3]=aQ.gl.canvas.height;aQ.gl.viewport(0,0,Q.clippingMaskBufferSize,Q.clippingMaskBufferSize);this.setupLayoutBounds(aK);aQ.gl.bindFramebuffer(aQ.gl.FRAMEBUFFER,Q.frameBuffers[this.curFrameNo].framebuffer);aQ.gl.clearColor(0,0,0,0);aQ.gl.clear(aQ.gl.COLOR_BUFFER_BIT);for(var aO=0;aOa5?aU:a5;var aT=aJ;var aR=aJ;var aS=0;var aP=0;var aL=aV.clippedDrawContextList.length;for(var aM=0;aMaS){aS=a0;}if(aZ>aP){aP=aZ;}}}if(aT==aJ){aV.allClippedDrawRect.x=0;aV.allClippedDrawRect.y=0;aV.allClippedDrawRect.width=0;aV.allClippedDrawRect.height=0;aV.isUsing=false;}else{var aQ=aS-aT;var aY=aP-aR;aV.allClippedDrawRect.x=aT;aV.allClippedDrawRect.y=aR;aV.allClippedDrawRect.width=aQ;aV.allClippedDrawRect.height=aY;aV.isUsing=true;}};W.prototype.setupLayoutBounds=function(aQ){var aI=aQ/W.CHANNEL_COUNT;var aP=aQ%W.CHANNEL_COUNT;aI=~~aI;aP=~~aP;var aH=0;for(var aJ=0;aJ=1){return 1;}}var aS=aQ;var aI=aS*aS;var aH=aS*aI;var aT=aY*aH+aX*aI+aW*aS+aV;return aT;};ah.prototype._$a0=function(){};ah.prototype.setFadeIn=function(aH){this._$dP=aH;};ah.prototype.setFadeOut=function(aH){this._$eo=aH;};ah.prototype._$pT=function(aH){this._$V0=aH;};ah.prototype.getFadeOut=function(){return this._$eo;};ah.prototype._$4T=function(){return this._$eo;};ah.prototype._$mT=function(){return this._$V0;};ah.prototype.getDurationMSec=function(){return -1;};ah.prototype.getLoopDurationMSec=function(){return -1;};ah.prototype.updateParam=function(aJ,aN){if(!aN._$AT||aN._$9L){return;}var aL=P.getUserTimeMSec();if(aN._$z2<0){aN._$z2=aL;aN._$bs=aL;var aM=this.getDurationMSec();if(aN._$Do<0){aN._$Do=(aM<=0)?-1:aN._$z2+aM;}}var aI=this._$V0;var aH=(this._$dP==0)?1:A._$r2(((aL-aN._$bs)/(this._$dP)));var aK=(this._$eo==0||aN._$Do<0)?1:A._$r2(((aN._$Do-aL)/(this._$eo)));aI=aI*aH*aK;if(!((0<=aI&&aI<=1))){console.log(\"### assert!! ### \");}this.updateParamExe(aJ,aL,aI,aN);if(aN._$Do>0&&aN._$Do0){console.log(\"\\n\");}else{if(aH%8==0&&aH>0){console.log(\" \");}}console.log(\"%02X \",(aJ[aH]&255));}console.log(\"\\n\");};q._$nr=function(aL,aI,aK){console.log(\"%s\\n\",aL);var aH=aI.length;for(var aJ=0;aJ=0;--aJ){var aM=this._$lL[aJ];aM._$oP(aI,this);}this._$oo(aI,aK);this._$M2=this._$Yb();this._$9b=(this._$M2-this._$ks)/aK;this._$ks=this._$M2;}for(var aJ=this._$qP.length-1;aJ>=0;--aJ){var aH=this._$qP[aJ];aH._$YS(aI,this);}this._$iT=aL;};u.prototype._$oo=function(aN,aI){if(aI<0.033){aI=0.033;}var aU=1/aI;this.p1.vx=(this.p1.x-this.p1._$s0)*aU;this.p1.vy=(this.p1.y-this.p1._$70)*aU;this.p1.ax=(this.p1.vx-this.p1._$7L)*aU;this.p1.ay=(this.p1.vy-this.p1._$HL)*aU;this.p1.fx=this.p1.ax*this.p1._$p;this.p1.fy=this.p1.ay*this.p1._$p;this.p1._$xT();var aM=-(Math.atan2((this.p1.y-this.p2.y),this.p1.x-this.p2.x));var aL;var aV;var aR=Math.cos(aM);var aH=Math.sin(aM);var aW=9.8*this.p2._$p;var aQ=(this._$Db*aC._$bS);var aP=(aW*Math.cos(aM-aQ));aL=(aP*aH);aV=(aP*aR);var aK=(-this.p1.fx*aH*aH);var aT=(-this.p1.fy*aH*aR);var aJ=((-this.p2.vx*this._$L2));var aS=((-this.p2.vy*this._$L2));this.p2.fx=((aL+aK+aJ));this.p2.fy=((aV+aT+aS));this.p2.ax=this.p2.fx/this.p2._$p;this.p2.ay=this.p2.fy/this.p2._$p;this.p2.vx+=this.p2.ax*aI;this.p2.vy+=this.p2.ay*aI;this.p2.x+=this.p2.vx*aI;this.p2.y+=this.p2.vy*aI;var aO=(Math.sqrt((this.p1.x-this.p2.x)*(this.p1.x-this.p2.x)+(this.p1.y-this.p2.y)*(this.p1.y-this.p2.y)));this.p2.x=this.p1.x+this._$Fo*(this.p2.x-this.p1.x)/aO;this.p2.y=this.p1.y+this._$Fo*(this.p2.y-this.p1.y)/aO;this.p2.vx=(this.p2.x-this.p2._$s0)*aU;this.p2.vy=(this.p2.y-this.p2._$70)*aU;this.p2._$xT();};function N(){this._$p=1;this.x=0;this.y=0;this.vx=0;this.vy=0;this.ax=0;this.ay=0;this.fx=0;this.fy=0;this._$s0=0;this._$70=0;this._$7L=0;this._$HL=0;}N.prototype._$xT=function(){this._$s0=this.x;this._$70=this.y;this._$7L=this.vx;this._$HL=this.vy;};function at(aJ,aI,aH){this._$wL=null;this.scale=null;this._$V0=null;this._$wL=aJ;this.scale=aI;this._$V0=aH;}at.prototype._$oP=function(aI,aH){};function h(aJ,aK,aI,aH){at.prototype.constructor.call(this,aK,aI,aH);this._$tL=null;this._$tL=aJ;}h.prototype=new at();h.prototype._$oP=function(aJ,aH){var aK=this.scale*aJ.getParamFloat(this._$wL);var aL=aH.getPhysicsPoint1();switch(this._$tL){default:case u.Src.SRC_TO_X:aL.x=aL.x+(aK-aL.x)*this._$V0;break;case u.Src.SRC_TO_Y:aL.y=aL.y+(aK-aL.y)*this._$V0;break;case u.Src.SRC_TO_G_ANGLE:var aI=aH._$qr();aI=aI+(aK-aI)*this._$V0;aH._$pr(aI);break;}};function d(aJ,aI,aH){this._$wL=null;this.scale=null;this._$V0=null;this._$wL=aJ;this.scale=aI;this._$V0=aH;}d.prototype._$YS=function(aI,aH){};function aF(aI,aK,aJ,aH){d.prototype.constructor.call(this,aK,aJ,aH);this._$YP=null;this._$YP=aI;}aF.prototype=new d();aF.prototype._$YS=function(aI,aH){switch(this._$YP){default:case u.Target.TARGET_FROM_ANGLE:aI.setParamFloat(this._$wL,this.scale*aH._$5r(),this._$V0);break;case u.Target.TARGET_FROM_ANGLE_V:aI.setParamFloat(this._$wL,this.scale*aH._$Cs(),this._$V0);break;}};u.Src=function(){};u.Src.SRC_TO_X=\"SRC_TO_X\";u.Src.SRC_TO_Y=\"SRC_TO_Y\";u.Src.SRC_TO_G_ANGLE=\"SRC_TO_G_ANGLE\";u.Target=function(){};u.Target.TARGET_FROM_ANGLE=\"TARGET_FROM_ANGLE\";u.Target.TARGET_FROM_ANGLE_V=\"TARGET_FROM_ANGLE_V\";function X(){if(j){return;}this._$fL=0;this._$gL=0;this._$B0=1;this._$z0=1;this._$qT=0;this.reflectX=false;this.reflectY=false;}X.prototype.init=function(aH){this._$fL=aH._$fL;this._$gL=aH._$gL;this._$B0=aH._$B0;this._$z0=aH._$z0;this._$qT=aH._$qT;this.reflectX=aH.reflectX;this.reflectY=aH.reflectY;};X.prototype._$F0=function(aH){this._$fL=aH._$_T();this._$gL=aH._$_T();this._$B0=aH._$_T();this._$z0=aH._$_T();this._$qT=aH._$_T();if(aH.getFormatVersion()>=ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2){this.reflectX=aH._$po();this.reflectY=aH._$po();}};X.prototype._$e=function(){};var ad=function(){};ad._$ni=function(aL,aJ,aR,aQ,aK,aI,aH,aS,aN){var aM=(aH*aI-aS*aK);if(aM==0){return null;}else{var aO=((aL-aR)*aI-(aJ-aQ)*aK)/aM;var aP;if(aK!=0){aP=(aL-aR-aO*aH)/aK;}else{aP=(aJ-aQ-aO*aS)/aI;}if(isNaN(aP)){aP=(aL-aR-aO*aH)/aK;if(isNaN(aP)){aP=(aJ-aQ-aO*aS)/aI;}if(isNaN(aP)){console.log(\"a is NaN @UtVector#_$ni() \");console.log(\"v1x : \"+aK);console.log(\"v1x != 0 ? \"+(aK!=0));}}if(aN==null){return new Array(aP,aO);}else{aN[0]=aP;aN[1]=aO;return aN;}}};function av(){if(j){return;}this.x=null;this.y=null;this.width=null;this.height=null;}av.prototype._$8P=function(){return this.x+0.5*this.width;};av.prototype._$6P=function(){return this.y+0.5*this.height;};av.prototype._$EL=function(){return this.x+this.width;};av.prototype._$5T=function(){return this.y+this.height;};av.prototype._$jL=function(aI,aK,aJ,aH){this.x=aI;this.y=aK;this.width=aJ;this.height=aH;};av.prototype._$jL=function(aH){this.x=aH.x;this.y=aH.y;this.width=aH.width;this.height=aH.height;};av.prototype.contains=function(aH,aI){return this.x<=this.x&&this.y<=this.y&&(this.x<=this.x+this.width)&&(this.y<=this.y+this.height);};av.prototype.expand=function(aH,aI){this.x-=aH;this.y-=aI;this.width+=aH*2;this.height+=aI*2;};function aG(){}aG._$Z2=function(bb,bo,bp,a2){var a1=bo._$Q2(bb,bp);var a3=bb._$vs();var ba=bb._$Tr();bo._$zr(a3,ba,a1);if(a1<=0){return a2[a3[0]];}else{if(a1==1){var bj=a2[a3[0]];var bi=a2[a3[1]];var a9=ba[0];return(bj+(bi-bj)*a9)|0;}else{if(a1==2){var bj=a2[a3[0]];var bi=a2[a3[1]];var a0=a2[a3[2]];var aZ=a2[a3[3]];var a9=ba[0];var a8=ba[1];var br=(bj+(bi-bj)*a9)|0;var bq=(a0+(aZ-a0)*a9)|0;return(br+(bq-br)*a8)|0;}else{if(a1==3){var aP=a2[a3[0]];var aO=a2[a3[1]];var bn=a2[a3[2]];var bm=a2[a3[3]];var aK=a2[a3[4]];var aJ=a2[a3[5]];var bg=a2[a3[6]];var bf=a2[a3[7]];var a9=ba[0];var a8=ba[1];var a6=ba[2];var bj=(aP+(aO-aP)*a9)|0;var bi=(bn+(bm-bn)*a9)|0;var a0=(aK+(aJ-aK)*a9)|0;var aZ=(bg+(bf-bg)*a9)|0;var br=(bj+(bi-bj)*a8)|0;var bq=(a0+(aZ-a0)*a8)|0;return(br+(bq-br)*a6)|0;}else{if(a1==4){var aT=a2[a3[0]];var aS=a2[a3[1]];var bu=a2[a3[2]];var bt=a2[a3[3]];var aN=a2[a3[4]];var aM=a2[a3[5]];var bl=a2[a3[6]];var bk=a2[a3[7]];var be=a2[a3[8]];var bc=a2[a3[9]];var aX=a2[a3[10]];var aW=a2[a3[11]];var a7=a2[a3[12]];var a5=a2[a3[13]];var aR=a2[a3[14]];var aQ=a2[a3[15]];var a9=ba[0];var a8=ba[1];var a6=ba[2];var a4=ba[3];var aP=(aT+(aS-aT)*a9)|0;var aO=(bu+(bt-bu)*a9)|0;var bn=(aN+(aM-aN)*a9)|0;var bm=(bl+(bk-bl)*a9)|0;var aK=(be+(bc-be)*a9)|0;var aJ=(aX+(aW-aX)*a9)|0;var bg=(a7+(a5-a7)*a9)|0;var bf=(aR+(aQ-aR)*a9)|0;var bj=(aP+(aO-aP)*a8)|0;var bi=(bn+(bm-bn)*a8)|0;var a0=(aK+(aJ-aK)*a8)|0;var aZ=(bg+(bf-bg)*a8)|0;var br=(bj+(bi-bj)*a6)|0;var bq=(a0+(aZ-a0)*a6)|0;return(br+(bq-br)*a4)|0;}else{var aV=1<=ay._$T7){this.clipID=aH._$nP();this.clipIDList=this.convertClipIDForV2_11(this.clipID);}else{this.clipIDList=[];}this._$MS(this._$Lb);};ae.prototype.getClipIDList=function(){return this.clipIDList;};ae.prototype.init=function(aH){};ae.prototype._$Nr=function(aH,aI){aI._$IS[0]=false;aI._$Us=aG._$Z2(aH,this._$GS,aI._$IS,this._$Lb);if(Q._$Zs){}else{if(aI._$IS[0]){return;}}aI._$7s=aG._$br(aH,this._$GS,aI._$IS,this._$mS);};ae.prototype._$2b=function(aH,aI){};ae.prototype.getDrawDataID=function(){return this._$gP;};ae.prototype._$j2=function(aH){this._$gP=aH;};ae.prototype.getOpacity=function(aH,aI){return aI._$7s;};ae.prototype._$zS=function(aH,aI){return aI._$Us;};ae.prototype._$MS=function(aJ){for(var aI=aJ.length-1;aI>=0;--aI){var aH=aJ[aI];if(aHae._$R2){ae._$R2=aH;}}}};ae.prototype.getTargetBaseDataID=function(){return this._$dr;};ae.prototype._$gs=function(aH){this._$dr=aH;};ae.prototype._$32=function(){return(this._$dr!=null&&(this._$dr!=n._$2o()));};ae.prototype.preDraw=function(aJ,aH,aI){};ae.prototype.draw=function(aJ,aH,aI){};ae.prototype.getType=function(){};ae.prototype._$B2=function(aI,aH,aJ){};function ax(){if(j){return;}this._$Eb=ax._$ps;this._$lT=1;this._$C0=1;this._$tT=1;this._$WL=1;this.culling=false;this.matrix4x4=new Float32Array(16);this.premultipliedAlpha=false;this.anisotropy=0;this.clippingProcess=ax.CLIPPING_PROCESS_NONE;this.clipBufPre_clipContextMask=null;this.clipBufPre_clipContextDraw=null;this.CHANNEL_COLORS=new Array();}ax._$ps=32;ax.CLIPPING_PROCESS_NONE=0;ax.CLIPPING_PROCESS_OVERWRITE_ALPHA=1;ax.CLIPPING_PROCESS_MULTIPLY_ALPHA=2;ax.CLIPPING_PROCESS_DRAW=3;ax.CLIPPING_PROCESS_CLEAR_ALPHA=4;ax.prototype.setChannelFlagAsColor=function(aH,aI){this.CHANNEL_COLORS[aH]=aI;};ax.prototype.getChannelFlagAsColor=function(aH){return this.CHANNEL_COLORS[aH];};ax.prototype._$ZT=function(){};ax.prototype._$Uo=function(aM,aK,aJ,aL,aN,aI,aH){};ax.prototype._$Rs=function(){return -1;};ax.prototype._$Ds=function(aH){};ax.prototype.setBaseColor=function(aK,aJ,aI,aH){if(aK<0){aK=0;}else{if(aK>1){aK=1;}}if(aJ<0){aJ=0;}else{if(aJ>1){aJ=1;}}if(aI<0){aI=0;}else{if(aI>1){aI=1;}}if(aH<0){aH=0;}else{if(aH>1){aH=1;}}this._$lT=aK;this._$C0=aJ;this._$tT=aI;this._$WL=aH;};ax.prototype._$WP=function(aH){this.culling=aH;};ax.prototype.setMatrix=function(aH){for(var aI=0;aI<16;aI++){this.matrix4x4[aI]=aH[aI];}};ax.prototype._$IT=function(){return this.matrix4x4;};ax.prototype.setPremultipliedAlpha=function(aH){this.premultipliedAlpha=aH;};ax.prototype.isPremultipliedAlpha=function(){return this.premultipliedAlpha;};ax.prototype.setAnisotropy=function(aH){this.anisotropy=aH;};ax.prototype.getAnisotropy=function(){return this.anisotropy;};ax.prototype.getClippingProcess=function(){return this.clippingProcess;};ax.prototype.setClippingProcess=function(aH){this.clippingProcess=aH;};ax.prototype.setClipBufPre_clipContextForMask=function(aH){this.clipBufPre_clipContextMask=aH;};ax.prototype.getClipBufPre_clipContextMask=function(){return this.clipBufPre_clipContextMask;};ax.prototype.setClipBufPre_clipContextForDraw=function(aH){this.clipBufPre_clipContextDraw=aH;};ax.prototype.getClipBufPre_clipContextDraw=function(){return this.clipBufPre_clipContextDraw;};function o(){if(j){return;}this.a=1;this.r=1;this.g=1;this.b=1;this.scale=1;this._$ho=1;this.blendMode=Q.L2D_COLOR_BLEND_MODE_MULT;}function c(){if(j){return;}this._$kP=null;this._$dr=null;this._$Ai=true;this._$mS=null;}c._$ur=-2;c._$c2=1;c._$_b=2;c.prototype._$F0=function(aH){this._$kP=aH._$nP();this._$dr=aH._$nP();};c.prototype.readV2_opacity=function(aH){if(aH.getFormatVersion()>=ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2){this._$mS=aH._$Tb();}};c.prototype.init=function(aH){};c.prototype._$Nr=function(aI,aH){};c.prototype.interpolateOpacity=function(aJ,aK,aI,aH){if(this._$mS==null){aI.setInterpolatedOpacity(1);}else{aI.setInterpolatedOpacity(aG._$br(aJ,aK,aH,this._$mS));}};c.prototype._$2b=function(aI,aH){};c.prototype._$nb=function(aL,aK,aM,aH,aI,aJ,aN){};c.prototype.getType=function(){};c.prototype._$gs=function(aH){this._$dr=aH;};c.prototype._$a2=function(aH){this._$kP=aH;};c.prototype.getTargetBaseDataID=function(){return this._$dr;};c.prototype.getBaseDataID=function(){return this._$kP;};c.prototype._$32=function(){return(this._$dr!=null&&(this._$dr!=n._$2o()));};function P(){}P._$W2=0;P._$CS=P._$W2;P._$Mo=function(){return true;};P._$XP=function(aI){try{var aJ=getTimeMSec();while(getTimeMSec()-aJ=aJ.length){return false;}for(var aI=aL;aI=0;--aJ){var aI=this._$Ob[aJ].getParamIndex(aH);if(aI==aA._$ds){aI=aK.getParamIndex(this._$Ob[aJ].getParamID());}if(aK._$Xb(aI)){return true;}}return false;};g.prototype._$Q2=function(aL,aV){var aX=this._$Ob.length;var aJ=aL._$v2();var aN=0;var aI;var aQ;for(var aK=0;aKaw._$Qb){console.log(\"err 23245\\n\");}var aS=this._$Ob.length;var aK=1;var aH=1;var aJ=0;for(var aQ=0;aQ=0;--aK){aM[aK]=aL[aK];}}else{this.mult_fast(aI,aH,aM,aJ);}};ac.prototype.mult_fast=function(aI,aH,aK,aJ){if(aJ){aK[0]=aI[0]*aH[0]+aI[4]*aH[1]+aI[8]*aH[2];aK[4]=aI[0]*aH[4]+aI[4]*aH[5]+aI[8]*aH[6];aK[8]=aI[0]*aH[8]+aI[4]*aH[9]+aI[8]*aH[10];aK[12]=aI[0]*aH[12]+aI[4]*aH[13]+aI[8]*aH[14]+aI[12];aK[1]=aI[1]*aH[0]+aI[5]*aH[1]+aI[9]*aH[2];aK[5]=aI[1]*aH[4]+aI[5]*aH[5]+aI[9]*aH[6];aK[9]=aI[1]*aH[8]+aI[5]*aH[9]+aI[9]*aH[10];aK[13]=aI[1]*aH[12]+aI[5]*aH[13]+aI[9]*aH[14]+aI[13];aK[2]=aI[2]*aH[0]+aI[6]*aH[1]+aI[10]*aH[2];aK[6]=aI[2]*aH[4]+aI[6]*aH[5]+aI[10]*aH[6];aK[10]=aI[2]*aH[8]+aI[6]*aH[9]+aI[10]*aH[10];aK[14]=aI[2]*aH[12]+aI[6]*aH[13]+aI[10]*aH[14]+aI[14];aK[3]=aK[7]=aK[11]=0;aK[15]=1;}else{aK[0]=aI[0]*aH[0]+aI[4]*aH[1]+aI[8]*aH[2]+aI[12]*aH[3];aK[4]=aI[0]*aH[4]+aI[4]*aH[5]+aI[8]*aH[6]+aI[12]*aH[7];aK[8]=aI[0]*aH[8]+aI[4]*aH[9]+aI[8]*aH[10]+aI[12]*aH[11];aK[12]=aI[0]*aH[12]+aI[4]*aH[13]+aI[8]*aH[14]+aI[12]*aH[15];aK[1]=aI[1]*aH[0]+aI[5]*aH[1]+aI[9]*aH[2]+aI[13]*aH[3];aK[5]=aI[1]*aH[4]+aI[5]*aH[5]+aI[9]*aH[6]+aI[13]*aH[7];aK[9]=aI[1]*aH[8]+aI[5]*aH[9]+aI[9]*aH[10]+aI[13]*aH[11];aK[13]=aI[1]*aH[12]+aI[5]*aH[13]+aI[9]*aH[14]+aI[13]*aH[15];aK[2]=aI[2]*aH[0]+aI[6]*aH[1]+aI[10]*aH[2]+aI[14]*aH[3];aK[6]=aI[2]*aH[4]+aI[6]*aH[5]+aI[10]*aH[6]+aI[14]*aH[7];aK[10]=aI[2]*aH[8]+aI[6]*aH[9]+aI[10]*aH[10]+aI[14]*aH[11];aK[14]=aI[2]*aH[12]+aI[6]*aH[13]+aI[10]*aH[14]+aI[14]*aH[15];aK[3]=aI[3]*aH[0]+aI[7]*aH[1]+aI[11]*aH[2]+aI[15]*aH[3];aK[7]=aI[3]*aH[4]+aI[7]*aH[5]+aI[11]*aH[6]+aI[15]*aH[7];aK[11]=aI[3]*aH[8]+aI[7]*aH[9]+aI[11]*aH[10]+aI[15]*aH[11];aK[15]=aI[3]*aH[12]+aI[7]*aH[13]+aI[11]*aH[14]+aI[15]*aH[15];}};ac.prototype.translate=function(aH,aJ,aI){this.m[12]=this.m[0]*aH+this.m[4]*aJ+this.m[8]*aI+this.m[12];this.m[13]=this.m[1]*aH+this.m[5]*aJ+this.m[9]*aI+this.m[13];this.m[14]=this.m[2]*aH+this.m[6]*aJ+this.m[10]*aI+this.m[14];this.m[15]=this.m[3]*aH+this.m[7]*aJ+this.m[11]*aI+this.m[15];};ac.prototype.scale=function(aJ,aI,aH){this.m[0]*=aJ;this.m[4]*=aI;this.m[8]*=aH;this.m[1]*=aJ;this.m[5]*=aI;this.m[9]*=aH;this.m[2]*=aJ;this.m[6]*=aI;this.m[10]*=aH;this.m[3]*=aJ;this.m[7]*=aI;this.m[11]*=aH;};ac.prototype.rotateX=function(aH){var aK=aC.fcos(aH);var aJ=aC._$9(aH);var aI=this.m[4];this.m[4]=aI*aK+this.m[8]*aJ;this.m[8]=aI*-aJ+this.m[8]*aK;aI=this.m[5];this.m[5]=aI*aK+this.m[9]*aJ;this.m[9]=aI*-aJ+this.m[9]*aK;aI=this.m[6];this.m[6]=aI*aK+this.m[10]*aJ;this.m[10]=aI*-aJ+this.m[10]*aK;aI=this.m[7];this.m[7]=aI*aK+this.m[11]*aJ;this.m[11]=aI*-aJ+this.m[11]*aK;};ac.prototype.rotateY=function(aH){var aK=aC.fcos(aH);var aJ=aC._$9(aH);var aI=this.m[0];this.m[0]=aI*aK+this.m[8]*-aJ;this.m[8]=aI*aJ+this.m[8]*aK;aI=this.m[1];this.m[1]=aI*aK+this.m[9]*-aJ;this.m[9]=aI*aJ+this.m[9]*aK;aI=m[2];this.m[2]=aI*aK+this.m[10]*-aJ;this.m[10]=aI*aJ+this.m[10]*aK;aI=m[3];this.m[3]=aI*aK+this.m[11]*-aJ;this.m[11]=aI*aJ+this.m[11]*aK;};ac.prototype.rotateZ=function(aH){var aK=aC.fcos(aH);var aJ=aC._$9(aH);var aI=this.m[0];this.m[0]=aI*aK+this.m[4]*aJ;this.m[4]=aI*-aJ+this.m[4]*aK;aI=this.m[1];this.m[1]=aI*aK+this.m[5]*aJ;this.m[5]=aI*-aJ+this.m[5]*aK;aI=this.m[2];this.m[2]=aI*aK+this.m[6]*aJ;this.m[6]=aI*-aJ+this.m[6]*aK;aI=this.m[3];this.m[3]=aI*aK+this.m[7]*aJ;this.m[7]=aI*-aJ+this.m[7]*aK;};function Z(aH){if(j){return;}ak.prototype.constructor.call(this,aH);}Z.prototype=new ak();Z._$tP=new Object();Z._$27=function(){Z._$tP.clear();};Z.getID=function(aH){var aI=Z._$tP[aH];if(aI==null){aI=new Z(aH);Z._$tP[aH]=aI;}return aI;};Z.prototype._$3s=function(){return new Z();};function aD(){if(j){return;}this._$7=1;this._$f=0;this._$H=0;this._$g=1;this._$k=0;this._$w=0;this._$hi=STATE_IDENTITY;this._$Z=_$pS;}aD._$kS=-1;aD._$pS=0;aD._$hb=1;aD.STATE_IDENTITY=0;aD._$gb=1;aD._$fo=2;aD._$go=4;aD.prototype.transform=function(aK,aI,aH){var aT,aS,aR,aM,aL,aJ;var aQ=0;var aN=0;switch(this._$hi){default:return;case (aD._$go|aD._$fo|aD._$gb):aT=this._$7;aS=this._$H;aR=this._$k;aM=this._$f;aL=this._$g;aJ=this._$w;while(--aH>=0){var aP=aK[aQ++];var aO=aK[aQ++];aI[aN++]=(aT*aP+aS*aO+aR);aI[aN++]=(aM*aP+aL*aO+aJ);}return;case (aD._$go|aD._$fo):aT=this._$7;aS=this._$H;aM=this._$f;aL=this._$g;while(--aH>=0){var aP=aK[aQ++];var aO=aK[aQ++];aI[aN++]=(aT*aP+aS*aO);aI[aN++]=(aM*aP+aL*aO);}return;case (aD._$go|aD._$gb):aS=this._$H;aR=this._$k;aM=this._$f;aJ=this._$w;while(--aH>=0){var aP=aK[aQ++];aI[aN++]=(aS*aK[aQ++]+aR);aI[aN++]=(aM*aP+aJ);}return;case (aD._$go):aS=this._$H;aM=this._$f;while(--aH>=0){var aP=aK[aQ++];aI[aN++]=(aS*aK[aQ++]);aI[aN++]=(aM*aP);}return;case (aD._$fo|aD._$gb):aT=this._$7;aR=this._$k;aL=this._$g;aJ=this._$w;while(--aH>=0){aI[aN++]=(aT*aK[aQ++]+aR);aI[aN++]=(aL*aK[aQ++]+aJ);}return;case (aD._$fo):aT=this._$7;aL=this._$g;while(--aH>=0){aI[aN++]=(aT*aK[aQ++]);aI[aN++]=(aL*aK[aQ++]);}return;case (aD._$gb):aR=this._$k;aJ=this._$w;while(--aH>=0){aI[aN++]=(aK[aQ++]+aR);aI[aN++]=(aK[aQ++]+aJ);}return;case (aD.STATE_IDENTITY):if(aK!=aI||aQ!=aN){P._$jT(aK,aQ,aI,aN,aH*2);}return;}};aD.prototype.update=function(){if(this._$H==0&&this._$f==0){if(this._$7==1&&this._$g==1){if(this._$k==0&&this._$w==0){this._$hi=aD.STATE_IDENTITY;this._$Z=aD._$pS;}else{this._$hi=aD._$gb;this._$Z=aD._$hb;}}else{if(this._$k==0&&this._$w==0){this._$hi=aD._$fo;this._$Z=aD._$kS;}else{this._$hi=(aD._$fo|aD._$gb);this._$Z=aD._$kS;}}}else{if(this._$7==0&&this._$g==0){if(this._$k==0&&this._$w==0){this._$hi=aD._$go;this._$Z=aD._$kS;}else{this._$hi=(aD._$go|aD._$gb);this._$Z=aD._$kS;}}else{if(this._$k==0&&this._$w==0){this._$hi=(aD._$go|aD._$fo);this._$Z=aD._$kS;}else{this._$hi=(aD._$go|aD._$fo|aD._$gb);this._$Z=aD._$kS;}}}};aD.prototype._$RT=function(aK){this._$IT(aK);var aJ=aK[0];var aH=aK[2];var aN=aK[1];var aM=aK[3];var aI=Math.sqrt(aJ*aJ+aN*aN);var aL=aJ*aM-aH*aN;if(aI==0){if(Q._$so){console.log(\"affine._$RT() / rt==0\");}}else{aK[0]=aI;aK[1]=aL/aI;aK[2]=(aN*aM+aJ*aH)/aL;aK[3]=Math.atan2(aN,aJ);}};aD.prototype._$ho=function(aN,aM,aI,aH){var aL=new Float32Array(6);var aK=new Float32Array(6);aN._$RT(aL);aM._$RT(aK);var aJ=new Float32Array(6);aJ[0]=aL[0]+(aK[0]-aL[0])*aI;aJ[1]=aL[1]+(aK[1]-aL[1])*aI;aJ[2]=aL[2]+(aK[2]-aL[2])*aI;aJ[3]=aL[3]+(aK[3]-aL[3])*aI;aJ[4]=aL[4]+(aK[4]-aL[4])*aI;aJ[5]=aL[5]+(aK[5]-aL[5])*aI;aH._$CT(aJ);};aD.prototype._$CT=function(aJ){var aI=Math.cos(aJ[3]);var aH=Math.sin(aJ[3]);this._$7=aJ[0]*aI;this._$f=aJ[0]*aH;this._$H=aJ[1]*(aJ[2]*aI-aH);this._$g=aJ[1]*(aJ[2]*aH+aI);this._$k=aJ[4];this._$w=aJ[5];this.update();};aD.prototype._$IT=function(aH){aH[0]=this._$7;aH[1]=this._$f;aH[2]=this._$H;aH[3]=this._$g;aH[4]=this._$k;aH[5]=this._$w;};function Y(){if(j){return;}ah.prototype.constructor.call(this);this.motions=new Array();this._$7r=null;this._$7r=Y._$Co++;this._$D0=30;this._$yT=0;this._$E=true;this.loopFadeIn=true;this._$AS=-1;_$a0();}Y.prototype=new ah();Y._$cs=\"VISIBLE:\";Y._$ar=\"LAYOUT:\";Y._$Co=0;Y._$D2=[];Y._$1T=1;Y.loadMotion=function(aR){var aM=new Y();var aI=[0];var aP=aR.length;aM._$yT=0;for(var aJ=0;aJ=0){if(aK==aT+4&&aR[aT+1]==\"f\"&&aR[aT+2]==\"p\"&&aR[aT+3]==\"s\"){aO=true;}for(aJ=aK+1;aJ0){if(aO&&5=0){var aN=new t();if(G.startsWith(aR,aT,Y._$cs)){aN._$RP=t._$hs;aN._$4P=new String(aR,aT,aK-aT);}else{if(G.startsWith(aR,aT,Y._$ar)){aN._$4P=new String(aR,aT+7,aK-aT-7);if(G.startsWith(aR,aT+7,\"ANCHOR_X\")){aN._$RP=t._$xs;}else{if(G.startsWith(aR,aT+7,\"ANCHOR_Y\")){aN._$RP=t._$us;}else{if(G.startsWith(aR,aT+7,\"SCALE_X\")){aN._$RP=t._$qs;}else{if(G.startsWith(aR,aT+7,\"SCALE_Y\")){aN._$RP=t._$Ys;}else{if(G.startsWith(aR,aT+7,\"X\")){aN._$RP=t._$ws;}else{if(G.startsWith(aR,aT+7,\"Y\")){aN._$RP=t._$Ns;}}}}}}}else{aN._$RP=t._$Fr;aN._$4P=new String(aR,aT,aK-aT);}}aM.motions.push(aN);var aS=0;Y._$D2.clear();for(aJ=aK+1;aJ0){Y._$D2.push(aL);aS++;var aH=aI[0];if(aHaM._$yT){aM._$yT=aS;}}}}aM._$AS=((1000*aM._$yT)/aM._$D0)|0;return aM;};Y.prototype.getDurationMSec=function(){return this._$AS;};Y.prototype.dump=function(){for(var aJ=0;aJ=aK?aK-1:aJ)];aH.setParamFloat(aQ,aT);}else{if(t._$ws<=aS._$RP&&aS._$RP<=t._$Ys){}else{var aR=aH.getParamFloat(aQ);var aY=aS._$I0[(aJ>=aK?aK-1:aJ)];var aW=aS._$I0[(aJ+1>=aK?aK-1:aJ+1)];var aI=aY+(aW-aY)*aP;var aN=aR+(aI-aR)*aO;aH.setParamFloat(aQ,aN);}}}if(aJ>=this._$yT){if(this._$E){aX._$z2=aL;if(this.loopFadeIn){aX._$bs=aL;}}else{aX._$9L=true;}}};Y.prototype._$r0=function(){return this._$E;};Y.prototype._$aL=function(aH){this._$E=aH;};Y.prototype.isLoopFadeIn=function(){return this.loopFadeIn;};Y.prototype.setLoopFadeIn=function(aH){this.loopFadeIn=aH;};function aE(){this._$P=new Float32Array(100);this.size=0;}aE.prototype.clear=function(){this.size=0;};aE.prototype.add=function(aI){if(this._$P.length<=this.size){var aH=new Float32Array(this.size*2);P._$jT(this._$P,0,aH,0,this.size);this._$P=aH;}this._$P[this.size++]=aI;};aE.prototype._$BL=function(){var aH=new Float32Array(this.size);P._$jT(this._$P,0,aH,0,this.size);return aH;};function t(){this._$4P=null;this._$I0=null;this._$RP=null;}t._$Fr=0;t._$hs=1;t._$ws=100;t._$Ns=101;t._$xs=102;t._$us=103;t._$qs=104;t._$Ys=105;function aw(){}aw._$Ms=1;aw._$Qs=2;aw._$i2=0;aw._$No=2;aw._$do=aw._$Ms;aw._$Ls=true;aw._$1r=5;aw._$Qb=65;aw._$J=0.0001;aw._$FT=0.001;aw._$Ss=3;function ay(){}ay._$o7=6;ay._$S7=7;ay._$s7=8;ay._$77=9;ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2=10;ay.LIVE2D_FORMAT_VERSION_V2_11_SDK2_1=11;ay._$T7=ay.LIVE2D_FORMAT_VERSION_V2_11_SDK2_1;ay._$Is=-2004318072;ay._$h0=0;ay._$4L=23;ay._$7P=33;ay._$uT=function(aH){console.log(\"_$bo :: _$6 _$mo _$E0 : %d\\n\",aH);};ay._$9o=function(aH){if(aH<40){ay._$uT(aH);return null;}else{if(aH<50){ay._$uT(aH);return null;}else{if(aH<60){ay._$uT(aH);return null;}else{if(aH<100){switch(aH){case 65:return new E();case 66:return new g();case 67:return new aA();case 68:return new ab();case 69:return new X();case 70:return new b();default:ay._$uT(aH);return null;}}else{if(aH<150){switch(aH){case 131:return new f();case 133:return new s();case 136:return new w();case 137:return new an();case 142:return new aq();}}}}}}ay._$uT(aH);return null;};function y(aH){if(j){return;}this._$QT=true;this._$co=-1;this._$qo=0;this._$pb=new Array(y._$is);this._$_2=new Float32Array(y._$is);this._$vr=new Float32Array(y._$is);this._$Rr=new Float32Array(y._$is);this._$Or=new Float32Array(y._$is);this._$fs=new Float32Array(y._$is);this._$Js=new Array(y._$is);this._$3S=new Array();this._$aS=new Array();this._$Bo=null;this._$F2=new Array();this._$db=new Array();this._$8b=new Array();this._$Hr=new Array();this._$Ws=null;this._$Vs=null;this._$Er=null;this._$Es=new Int16Array(aw._$Qb);this._$ZP=new Float32Array(aw._$1r*2);this._$Ri=aH;this._$b0=y._$HP++;this.clipManager=null;this.dp_webgl=null;}y._$HP=0;y._$_0=true;y._$V2=-1;y._$W0=-1;y._$jr=false;y._$ZS=true;y._$tr=(-1000000);y._$lr=(1000000);y._$is=32;y._$e=false;y.prototype.getDrawDataIndex=function(aI){for(var aH=this._$aS.length-1;aH>=0;--aH){if(this._$aS[aH]!=null&&this._$aS[aH].getDrawDataID()==aI){return aH;}}return -1;};y.prototype.getDrawData=function(aH){if(aH instanceof Z){if(this._$Bo==null){this._$Bo=new Object();var aJ=this._$aS.length;for(var aI=0;aI0){this.release();}var aO=this._$Ri.getModelImpl();var aT=aO._$Xr();var aS=aT.length;var aH=new Array();var a3=new Array();for(var aV=0;aV=0){this._$3S.push(aL);this._$db.push(a3[aV]);aH[aV]=null;aX=true;}}if(!aX){break;}}var aI=aO._$E2();if(aI!=null){var aJ=aI._$1s();if(aJ!=null){var aW=aJ.length;for(var aV=0;aV=0;aW--){this._$Js[aW]=y._$jr;}this._$QT=false;if(y._$e){q.dump(\"_$eL\");}return aX;};y.prototype.preDraw=function(aH){if(this.clipManager!=null){aH._$ZT();this.clipManager.setupClip(this,aH);}};y.prototype.draw=function(aM){if(this._$Ws==null){q._$li(\"call _$Ri.update() before _$Ri.draw() \");return;}var aP=this._$Ws.length;aM._$ZT();for(var aK=0;aK=0;--aI){if(this._$pb[aI]==aH){return aI;}}return this._$02(aH,0,y._$tr,y._$lr);};y.prototype._$BS=function(aH){return this.getBaseDataIndex(aH);};y.prototype.getBaseDataIndex=function(aH){for(var aI=this._$3S.length-1;aI>=0;--aI){if(this._$3S[aI]!=null&&this._$3S[aI].getBaseDataID()==aH){return aI;}}return -1;};y.prototype._$UT=function(aJ,aH){var aI=new Float32Array(aH);P._$jT(aJ,0,aI,0,aJ.length);return aI;};y.prototype._$02=function(aN,aM,aL,aH){if(this._$qo>=this._$pb.length){var aK=this._$pb.length;var aJ=new Array(aK*2);P._$jT(this._$pb,0,aJ,0,aK);this._$pb=aJ;this._$_2=this._$UT(this._$_2,aK*2);this._$vr=this._$UT(this._$vr,aK*2);this._$Rr=this._$UT(this._$Rr,aK*2);this._$Or=this._$UT(this._$Or,aK*2);var aI=new Array();P._$jT(this._$Js,0,aI,0,aK);this._$Js=aI;}this._$pb[this._$qo]=aN;this._$_2[this._$qo]=aM;this._$vr[this._$qo]=aM;this._$Rr[this._$qo]=aL;this._$Or[this._$qo]=aH;this._$Js[this._$qo]=y._$ZS;return this._$qo++;};y.prototype._$Zo=function(aI,aH){this._$3S[aI]=aH;};y.prototype.setParamFloat=function(aH,aI){if(aIthis._$Or[aH]){aI=this._$Or[aH];}this._$_2[aH]=aI;};y.prototype.loadParam=function(){var aH=this._$_2.length;if(aH>this._$fs.length){aH=this._$fs.length;}P._$jT(this._$fs,0,this._$_2,0,aH);};y.prototype.saveParam=function(){var aH=this._$_2.length;if(aH>this._$fs.length){this._$fs=new Float32Array(aH);}P._$jT(this._$_2,0,this._$fs,0,aH);};y.prototype._$v2=function(){return this._$co;};y.prototype._$WS=function(){return this._$QT;};y.prototype._$Xb=function(aH){return this._$Js[aH]==y._$ZS;};y.prototype._$vs=function(){return this._$Es;};y.prototype._$Tr=function(){return this._$ZP;};y.prototype.getBaseData=function(aH){return this._$3S[aH];};y.prototype.getParamFloat=function(aH){return this._$_2[aH];};y.prototype.getParamMax=function(aH){return this._$Or[aH];};y.prototype.getParamMin=function(aH){return this._$Rr[aH];};y.prototype.setPartsOpacity=function(aJ,aH){var aI=this._$Hr[aJ];aI.setPartsOpacity(aH);};y.prototype.getPartsOpacity=function(aI){var aH=this._$Hr[aI];return aH.getPartsOpacity();};y.prototype.getPartsDataIndex=function(aI){for(var aH=this._$F2.length-1;aH>=0;--aH){if(this._$F2[aH]!=null&&this._$F2[aH]._$p2()==aI){return aH;}}return -1;};y.prototype._$q2=function(aH){return this._$db[aH];};y.prototype._$C2=function(aH){return this._$8b[aH];};y.prototype._$Bb=function(aH){return this._$Hr[aH];};y.prototype._$5s=function(aO,aK){var aJ=this._$Ws.length;var aN=aO;for(var aL=0;aL0){aL+=aK;}return aI;};ap._$C=function(aJ){var aI=null;var aL=null;try{aI=(aJ instanceof Array)?aJ:new _$Xs(aJ,8192);aL=new _$js();var aM=1000;var aK;var aH=new Int8Array(aM);while((aK=aI.read(aH))>0){aL.write(aH,0,aK);}return aL._$TS();}finally{if(aJ!=null){aJ.close();}if(aL!=null){aL.flush();aL.close();}}};function ar(){if(j){return;}this._$12=null;this._$bb=null;this._$_L=null;this._$jo=null;this._$iL=null;this._$0L=null;this._$Br=null;this._$Dr=null;this._$Cb=null;this._$mr=null;this._$_L=az.STATE_FIRST;this._$Br=4000;this._$Dr=100;this._$Cb=50;this._$mr=150;this._$jo=true;this._$iL=\"PARAM_EYE_L_OPEN\";this._$0L=\"PARAM_EYE_R_OPEN\";}ar.prototype._$T2=function(){var aI=P.getUserTimeMSec();var aH=Math._$10();return(aI+aH*(2*this._$Br-1));};ar.prototype._$uo=function(aH){this._$Br=aH;};ar.prototype._$QS=function(aI,aH,aJ){this._$Dr=aI;this._$Cb=aH;this._$mr=aJ;};ar.prototype._$7T=function(aI){var aK=P.getUserTimeMSec();var aH;var aJ=0;switch(this._$_L){case STATE_CLOSING:aJ=(aK-this._$bb)/this._$Dr;if(aJ>=1){aJ=1;this._$_L=az.STATE_CLOSED;this._$bb=aK;}aH=1-aJ;break;case STATE_CLOSED:aJ=(aK-this._$bb)/this._$Cb;if(aJ>=1){this._$_L=az.STATE_OPENING;this._$bb=aK;}aH=0;break;case STATE_OPENING:aJ=(aK-this._$bb)/this._$mr;if(aJ>=1){aJ=1;this._$_L=az.STATE_INTERVAL;this._$12=this._$T2();}aH=aJ;break;case STATE_INTERVAL:if(this._$120.9?Q.EXPAND_W:0;this.gl.drawElements(aL,aP,aI,aQ,aM,aN,this.transform,aJ);};x.prototype._$Rs=function(){throw new Error(\"_$Rs\");};x.prototype._$Ds=function(aH){throw new Error(\"_$Ds\");};x.prototype._$K2=function(){for(var aH=0;aH=0;--aI){var aH=aJ[aI];if(aHa._$R2){a._$R2=aH;}}}};a._$or=function(){return a._$52;};a._$Pr=function(){return a._$R2;};a.prototype._$F0=function(aH){this._$gP=aH._$nP();this._$dr=aH._$nP();this._$GS=aH._$nP();this._$qb=aH._$6L();this._$Lb=aH._$cS();this._$mS=aH._$Tb();if(aH.getFormatVersion()>=ay._$T7){this.clipID=aH._$nP();this.clipIDList=this.convertClipIDForV2_11(this.clipID);}else{this.clipIDList=null;}a._$Sb(this._$Lb);};a.prototype.getClipIDList=function(){return this.clipIDList;};a.prototype._$Nr=function(aI,aH){aH._$IS[0]=false;aH._$Us=aG._$Z2(aI,this._$GS,aH._$IS,this._$Lb);if(Q._$Zs){}else{if(aH._$IS[0]){return;}}aH._$7s=aG._$br(aI,this._$GS,aH._$IS,this._$mS);};a.prototype._$2b=function(aH){};a.prototype.getDrawDataID=function(){return this._$gP;};a.prototype._$j2=function(aH){this._$gP=aH;};a.prototype.getOpacity=function(aH,aI){return aI._$7s;};a.prototype._$zS=function(aH,aI){return aI._$Us;};a.prototype.getTargetBaseDataID=function(){return this._$dr;};a.prototype._$gs=function(aH){this._$dr=aH;};a.prototype._$32=function(){return(this._$dr!=null&&(this._$dr!=n._$2o()));};a.prototype.getType=function(){};function aq(){if(j){return;}this._$NL=null;this._$3S=null;this._$aS=null;aq._$42++;}aq._$42=0;aq.prototype._$1b=function(){return this._$3S;};aq.prototype.getDrawDataList=function(){return this._$aS;};aq.prototype._$F0=function(aH){this._$NL=aH._$nP();this._$aS=aH._$nP();this._$3S=aH._$nP();};aq.prototype._$kr=function(aH){aH._$Zo(this._$3S);aH._$xo(this._$aS);this._$3S=null;this._$aS=null;};function v(){if(j){return;}aa.prototype.constructor.call(this);this._$zo=new x();}v.prototype=new aa();v.loadModel=function(aI){var aH=new v();aa._$62(aH,aI);return aH;};v.loadModel=function(aI){var aH=new v();aa._$62(aH,aI);return aH;};v._$to=function(){var aH=new v();return aH;};v._$er=function(aM){var aJ=new _$5(\"../_$_r/_$t0/_$Ri/_$_P._$d\");if(aJ.exists()==false){throw new _$ls(\"_$t0 _$_ _$6 _$Ui :: \"+aJ._$PL());}var aH=[\"../_$_r/_$t0/_$Ri/_$_P.512/_$CP._$1\",\"../_$_r/_$t0/_$Ri/_$_P.512/_$vP._$1\",\"../_$_r/_$t0/_$Ri/_$_P.512/_$EP._$1\",\"../_$_r/_$t0/_$Ri/_$_P.512/_$pP._$1\"];var aK=v.loadModel(aJ._$3b());for(var aI=0;aI=0){if(aK==aV+4&&p(aT,aV+1)==\"f\"&&p(aT,aV+2)==\"p\"&&p(aT,aV+3)==\"s\"){aP=true;}for(aJ=aK+1;aJ0){if(aP&&5=0){var aO=new t();if(G.startsWith(aT,aV,ao._$cs)){aO._$RP=t._$hs;aO._$4P=G.createString(aT,aV,aK-aV);}else{if(G.startsWith(aT,aV,ao._$ar)){aO._$4P=G.createString(aT,aV+7,aK-aV-7);if(G.startsWith(aT,aV+7,\"ANCHOR_X\")){aO._$RP=t._$xs;}else{if(G.startsWith(aT,aV+7,\"ANCHOR_Y\")){aO._$RP=t._$us;}else{if(G.startsWith(aT,aV+7,\"SCALE_X\")){aO._$RP=t._$qs;}else{if(G.startsWith(aT,aV+7,\"SCALE_Y\")){aO._$RP=t._$Ys;}else{if(G.startsWith(aT,aV+7,\"X\")){aO._$RP=t._$ws;}else{if(G.startsWith(aT,aV+7,\"Y\")){aO._$RP=t._$Ns;}}}}}}}else{aO._$RP=t._$Fr;aO._$4P=G.createString(aT,aV,aK-aV);}}aN.motions.push(aO);var aU=0;var aR=[];for(aJ=aK+1;aJ0){aR.push(aM);aU++;var aH=aI[0];if(aHaN._$yT){aN._$yT=aU;}}}}aN._$rr=((1000*aN._$yT)/aN._$D0)|0;return aN;};ao.prototype.getDurationMSec=function(){return this._$E?-1:this._$rr;};ao.prototype.getLoopDurationMSec=function(){return this._$rr;};ao.prototype.dump=function(){for(var aJ=0;aJ=aL?aL-1:aK)];aJ.setParamFloat(aT,aX);}else{if(t._$ws<=aV._$RP&&aV._$RP<=t._$Ys){}else{var aH=aJ.getParamIndex(aT);var a4=aJ.getModelContext();var aY=a4.getParamMax(aH);var aW=a4.getParamMin(aH);var aM=0.4;var aS=aM*(aY-aW);var aU=a4.getParamFloat(aH);var a2=aV._$I0[(aK>=aL?aL-1:aK)];var a1=aV._$I0[(aK+1>=aL?aL-1:aK+1)];var aI;if((a2aS)||(a2>a1&&a2-a1>aS)){aI=a2;}else{aI=a2+(a1-a2)*aR;}var aP=aU+(aI-aU)*aQ;aJ.setParamFloat(aT,aP);}}}if(aK>=this._$yT){if(this._$E){a3._$z2=aN;if(this.loopFadeIn){a3._$bs=aN;}}else{a3._$9L=true;}}this._$eP=aQ;};ao.prototype._$r0=function(){return this._$E;};ao.prototype._$aL=function(aH){this._$E=aH;};ao.prototype._$S0=function(){return this._$D0;};ao.prototype._$U0=function(aH){this._$D0=aH;};ao.prototype.isLoopFadeIn=function(){return this.loopFadeIn;};ao.prototype.setLoopFadeIn=function(aH){this.loopFadeIn=aH;};function aE(){this._$P=new Float32Array(100);this.size=0;}aE.prototype.clear=function(){this.size=0;};aE.prototype.add=function(aI){if(this._$P.length<=this.size){var aH=new Float32Array(this.size*2);P._$jT(this._$P,0,aH,0,this.size);this._$P=aH;}this._$P[this.size++]=aI;};aE.prototype._$BL=function(){var aH=new Float32Array(this.size);P._$jT(this._$P,0,aH,0,this.size);return aH;};function t(){this._$4P=null;this._$I0=null;this._$RP=null;}t._$Fr=0;t._$hs=1;t._$ws=100;t._$Ns=101;t._$xs=102;t._$us=103;t._$qs=104;t._$Ys=105;function E(){if(j){return;}c.prototype.constructor.call(this);this._$o=0;this._$A=0;this._$GS=null;this._$Eo=null;}E.prototype=new c();E._$gT=new Array();E.prototype._$zP=function(){this._$GS=new g();this._$GS._$zP();};E.prototype._$F0=function(aH){c.prototype._$F0.call(this,aH);this._$A=aH._$6L();this._$o=aH._$6L();this._$GS=aH._$nP();this._$Eo=aH._$nP();c.prototype.readV2_opacity.call(this,aH);};E.prototype.init=function(aH){var aI=new H(this);var aJ=(this._$o+1)*(this._$A+1);if(aI._$Cr!=null){aI._$Cr=null;}aI._$Cr=new Float32Array(aJ*2);if(aI._$hr!=null){aI._$hr=null;}if(this._$32()){aI._$hr=new Float32Array(aJ*2);}else{aI._$hr=null;}return aI;};E.prototype._$Nr=function(aJ,aI){var aK=aI;if(!this._$GS._$Ur(aJ)){return;}var aL=this._$VT();var aH=E._$gT;aH[0]=false;aG._$Vr(aJ,this._$GS,aH,aL,this._$Eo,aK._$Cr,0,2);aI._$Ib(aH[0]);this.interpolateOpacity(aJ,this._$GS,aI,aH);};E.prototype._$2b=function(aK,aJ){var aL=aJ;aL._$hS(true);if(!this._$32()){aL.setTotalOpacity(aL.getInterpolatedOpacity());}else{var aH=this.getTargetBaseDataID();if(aL._$8r==c._$ur){aL._$8r=aK.getBaseDataIndex(aH);}if(aL._$8r<0){if(Q._$so){q._$li(\"_$L _$0P _$G :: %s\",aH);}aL._$hS(false);}else{var aN=aK.getBaseData(aL._$8r);var aI=aK._$q2(aL._$8r);if(aN!=null&&aI._$yo()){var aM=aI.getTotalScale();aL.setTotalScale_notForClient(aM);var aO=aI.getTotalOpacity();aL.setTotalOpacity(aO*aL.getInterpolatedOpacity());aN._$nb(aK,aI,aL._$Cr,aL._$hr,this._$VT(),0,2);aL._$hS(true);}else{aL._$hS(false);}}}};E.prototype._$nb=function(aL,aI,aH,aM,aO,aK,aJ){if(true){var aN=aI;var aP=(aN._$hr!=null)?aN._$hr:aN._$Cr;E.transformPoints_sdk2(aH,aM,aO,aK,aJ,aP,this._$o,this._$A);}else{this.transformPoints_sdk1(aL,aI,aH,aM,aO,aK,aJ);}};E.transformPoints_sdk2=function(a0,bc,a5,aP,aI,aR,aQ,aU){var aW=a5*aI;var aV;var bn,bm;var aT=0;var aS=0;var bl=0;var bk=0;var bf=0;var be=0;var aZ=false;for(var ba=aP;ba=1){var aK=aR[((0)+(aU)*a1)*2];var aJ=aR[((0)+(aU)*a1)*2+1];var aO=aT-2*bl+1*bf;var aN=aS-2*bk+1*be;var a3=aT+3*bf;var a2=aS+3*be;var a8=aT-2*bl+3*bf;var a6=aS-2*bk+3*be;var bj=0.5*(a4-(-2));var bi=0.5*(aX-(1));if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}else{var aH=(a7|0);if(aH==aU){aH=aU-1;}var bj=0.5*(a4-(-2));var bi=a7-aH;var bb=aH/aU;var a9=(aH+1)/aU;var aK=aR[((0)+(aH)*a1)*2];var aJ=aR[((0)+(aH)*a1)*2+1];var a3=aR[((0)+(aH+1)*a1)*2];var a2=aR[((0)+(aH+1)*a1)*2+1];var aO=aT-2*bl+bb*bf;var aN=aS-2*bk+bb*be;var a8=aT-2*bl+a9*bf;var a6=aS-2*bk+a9*be;if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}}}else{if(1<=a4){if(aX<=0){var a8=aR[((aQ)+(0)*a1)*2];var a6=aR[((aQ)+(0)*a1)*2+1];var a3=aT+3*bl;var a2=aS+3*bk;var aO=aT+1*bl-2*bf;var aN=aS+1*bk-2*be;var aK=aT+3*bl-2*bf;var aJ=aS+3*bk-2*be;var bj=0.5*(a4-(1));var bi=0.5*(aX-(-2));if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}else{if(aX>=1){var aO=aR[((aQ)+(aU)*a1)*2];var aN=aR[((aQ)+(aU)*a1)*2+1];var aK=aT+3*bl+1*bf;var aJ=aS+3*bk+1*be;var a8=aT+1*bl+3*bf;var a6=aS+1*bk+3*be;var a3=aT+3*bl+3*bf;var a2=aS+3*bk+3*be;var bj=0.5*(a4-(1));var bi=0.5*(aX-(1));if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}else{var aH=(a7|0);if(aH==aU){aH=aU-1;}var bj=0.5*(a4-(1));var bi=a7-aH;var bb=aH/aU;var a9=(aH+1)/aU;var aO=aR[((aQ)+(aH)*a1)*2];var aN=aR[((aQ)+(aH)*a1)*2+1];var a8=aR[((aQ)+(aH+1)*a1)*2];var a6=aR[((aQ)+(aH+1)*a1)*2+1];var aK=aT+3*bl+bb*bf;var aJ=aS+3*bk+bb*be;var a3=aT+3*bl+a9*bf;var a2=aS+3*bk+a9*be;if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}}}else{if(aX<=0){var aY=(bd|0);if(aY==aQ){aY=aQ-1;}var bj=bd-aY;var bi=0.5*(aX-(-2));var bp=aY/aQ;var bo=(aY+1)/aQ;var a8=aR[((aY)+(0)*a1)*2];var a6=aR[((aY)+(0)*a1)*2+1];var a3=aR[((aY+1)+(0)*a1)*2];var a2=aR[((aY+1)+(0)*a1)*2+1];var aO=aT+bp*bl-2*bf;var aN=aS+bp*bk-2*be;var aK=aT+bo*bl-2*bf;var aJ=aS+bo*bk-2*be;if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}else{if(aX>=1){var aY=(bd|0);if(aY==aQ){aY=aQ-1;}var bj=bd-aY;var bi=0.5*(aX-(1));var bp=aY/aQ;var bo=(aY+1)/aQ;var aO=aR[((aY)+(aU)*a1)*2];var aN=aR[((aY)+(aU)*a1)*2+1];var aK=aR[((aY+1)+(aU)*a1)*2];var aJ=aR[((aY+1)+(aU)*a1)*2+1];var a8=aT+bp*bl+3*bf;var a6=aS+bp*bk+3*be;var a3=aT+bo*bl+3*bf;var a2=aS+bo*bk+3*be;if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}else{System.err.printf(\"_$li calc : %.4f , %.4f\t\t\t\t\t@@BDBoxGrid\\n\",a4,aX);}}}}}else{bc[ba]=aT+a4*bl+aX*bf;bc[ba+1]=aS+a4*bk+aX*be;}}else{bn=bd-(bd|0);bm=a7-(a7|0);aV=2*((bd|0)+((a7|0))*(aQ+1));if(bn+bm<1){bc[ba]=aR[aV]*(1-bn-bm)+aR[aV+2]*bn+aR[aV+2*(aQ+1)]*bm;bc[ba+1]=aR[aV+1]*(1-bn-bm)+aR[aV+3]*bn+aR[aV+2*(aQ+1)+1]*bm;}else{bc[ba]=aR[aV+2*(aQ+1)+2]*(bn-1+bm)+aR[aV+2*(aQ+1)]*(1-bn)+aR[aV+2]*(1-bm);bc[ba+1]=aR[aV+2*(aQ+1)+3]*(bn-1+bm)+aR[aV+2*(aQ+1)+1]*(1-bn)+aR[aV+3]*(1-bm);}}}};E.prototype.transformPoints_sdk1=function(aJ,aR,aL,a0,aU,aP,aZ){var aH=aR;var aO,aN;var aM=this._$o;var aQ=this._$A;var aI=aU*aZ;var aS,aY;var aV;var aX,aW;var aT=(aH._$hr!=null)?aH._$hr:aH._$Cr;for(var aK=aP;aK1){aO=1;}}if(aN<0){aN=0;}else{if(aN>1){aN=1;}}aO*=aM;aN*=aQ;aS=(aO|0);aY=(aN|0);if(aS>aM-1){aS=aM-1;}if(aY>aQ-1){aY=aQ-1;}aX=aO-aS;aW=aN-aY;aV=2*(aS+aY*(aM+1));}else{aO=aL[aK]*aM;aN=aL[aK+1]*aQ;aX=aO-(aO|0);aW=aN-(aN|0);aV=2*((aO|0)+(aN|0)*(aM+1));}if(aX+aW<1){a0[aK]=aT[aV]*(1-aX-aW)+aT[aV+2]*aX+aT[aV+2*(aM+1)]*aW;a0[aK+1]=aT[aV+1]*(1-aX-aW)+aT[aV+3]*aX+aT[aV+2*(aM+1)+1]*aW;}else{a0[aK]=aT[aV+2*(aM+1)+2]*(aX-1+aW)+aT[aV+2*(aM+1)]*(1-aX)+aT[aV+2]*(1-aW);a0[aK+1]=aT[aV+2*(aM+1)+3]*(aX-1+aW)+aT[aV+2*(aM+1)+1]*(1-aX)+aT[aV+3]*(1-aW);}}};E.prototype._$VT=function(){return(this._$o+1)*(this._$A+1);};E.prototype.getType=function(){return c._$_b;};function H(aH){B.prototype.constructor.call(this,aH);this._$8r=c._$ur;this._$Cr=null;this._$hr=null;}H.prototype=new B();function s(){if(j){return;}this.visible=true;this._$g0=false;this._$NL=null;this._$3S=null;this._$aS=null;s._$42++;}s._$42=0;s.prototype._$zP=function(){this._$3S=new Array();this._$aS=new Array();};s.prototype._$F0=function(aH){this._$g0=aH._$8L();this.visible=aH._$8L();this._$NL=aH._$nP();this._$3S=aH._$nP();this._$aS=aH._$nP();};s.prototype.init=function(aI){var aH=new aj(this);aH.setPartsOpacity(this.isVisible()?1:0);return aH;};s.prototype._$6o=function(aH){if(this._$3S==null){throw new Error(\"_$3S _$6 _$Wo@_$6o\");}this._$3S.push(aH);};s.prototype._$3o=function(aH){if(this._$aS==null){throw new Error(\"_$aS _$6 _$Wo@_$3o\");}this._$aS.push(aH);};s.prototype._$Zo=function(aH){this._$3S=aH;};s.prototype._$xo=function(aH){this._$aS=aH;};s.prototype.isVisible=function(){return this.visible;};s.prototype._$uL=function(){return this._$g0;};s.prototype._$KP=function(aH){this.visible=aH;};s.prototype._$ET=function(aH){this._$g0=aH;};s.prototype.getBaseData=function(){return this._$3S;};s.prototype.getDrawData=function(){return this._$aS;};s.prototype._$p2=function(){return this._$NL;};s.prototype._$ob=function(aH){this._$NL=aH;};s.prototype.getPartsID=function(){return this._$NL;};s.prototype._$MP=function(aH){this._$NL=aH;};function aj(aH){this._$VS=null;this._$e0=null;this._$e0=aH;}aj.prototype=new S();aj.prototype.getPartsOpacity=function(){return this._$VS;};aj.prototype.setPartsOpacity=function(aH){this._$VS=aH;};function ak(aH){if(j){return;}this.id=aH;}ak._$L7=function(){z._$27();n._$27();Z._$27();i._$27();};ak.prototype.toString=function(){return this.id;};function D(){}D.prototype._$F0=function(aH){};function an(){if(j){return;}this._$4S=null;}an.prototype._$1s=function(){return this._$4S;};an.prototype._$zP=function(){this._$4S=new Array();};an.prototype._$F0=function(aH){this._$4S=aH._$nP();};an.prototype._$Ks=function(aH){this._$4S.push(aH);};function au(aH,aI){this.canvas=aH;this.context=aI;this.viewport=new Array(0,0,aH.width,aH.height);this._$6r=1;this._$xP=0;this._$3r=1;this._$uP=0;this._$Qo=-1;this.cacheImages={};}au.tr=new am();au._$50=new am();au._$Ti=new Array(0,0);au._$Pi=new Array(0,0);au._$B=new Array(0,0);au.prototype._$lP=function(aI,aK,aJ,aH){this.viewport=new Array(aI,aK,aJ,aH);};au.prototype._$bL=function(){this.context.save();var aH=this.viewport;if(aH!=null){this.context.beginPath();this.context._$Li(aH[0],aH[1],aH[2],aH[3]);this.context.clip();}};au.prototype._$ei=function(){this.context.restore();};au.prototype.drawElements=function(bc,bm,aX,aJ,bA,aM,bl,bz){try{if(bA!=this._$Qo){this._$Qo=bA;this.context.globalAlpha=bA;}var a2=bm.length;var aP=bc.width;var a5=bc.height;var bE=this.context;var a7=this._$xP;var a6=this._$uP;var a1=this._$6r;var aZ=this._$3r;var bD=au.tr;var aI=au._$Ti;var aH=au._$Pi;var bu=au._$B;for(var by=0;by0.02){au.expandClip(aK,aJ,aV,aI,aO,aN,aH,aW,aS,aR);}else{au.clipWithTransform(aK,null,aM,aL,aU,aT,aQ,aP);}};au.expandClip=function(aV,bg,aK,a3,aJ,aI,be,ba,aZ,aX){var aP=be-aJ;var aO=ba-aI;var bi=aZ-aJ;var bh=aX-aI;var bj=aP*bh-aO*bi>0?aK:-aK;var aL=-aO;var aH=aP;var bc=aZ-be;var a8=aX-ba;var a7=-a8;var a6=bc;var aQ=Math.sqrt(bc*bc+a8*a8);var bf=-bh;var bb=bi;var a2=Math.sqrt(bi*bi+bh*bh);var bd=aJ-bj*aL/a3;var a9=aI-bj*aH/a3;var aY=be-bj*aL/a3;var aW=ba-bj*aH/a3;var a5=be-bj*a7/aQ;var a4=ba-bj*a6/aQ;var aS=aZ-bj*a7/aQ;var aR=aX-bj*a6/aQ;var aN=aJ+bj*bf/a2;var aM=aI+bj*bb/a2;var a1=aZ+bj*bf/a2;var a0=aX+bj*bb/a2;var aU=au._$50;var aT=bg._$P2(aU);if(aT==null){return false;}au.clipWithTransform(aV,aU,bd,a9,aY,aW,a5,a4,aS,aR,a1,a0,aN,aM);return true;};au.clipWithTransform=function(aH,aI,aS,aN,aQ,aK,aP,aJ){if(arguments.length<(1+3*2)){q._$li(\"err : @LDGL.clip()\");return;}if(!(arguments[1] instanceof am)){q._$li(\"err : a[0] is _$6 LDTransform @LDGL.clip()\");return;}var aM=au._$B;var aO=aI;var aR=arguments;aH.beginPath();if(aO){aO._$PS(aR[2],aR[3],aM);aH.moveTo(aM[0],aM[1]);for(var aL=4;aL1){return 1;}}return(0.5-0.5*Math.cos(aH*aC.PI_F));};function J(aH){if(j){return;}this._$ib=aH;}J._$fr=-1;J.prototype.toString=function(){return this._$ib;};function b(){if(j){return;}a.prototype.constructor.call(this);this._$LP=-1;this._$d0=0;this._$Yo=0;this._$JP=null;this._$5P=null;this._$BP=null;this._$Eo=null;this._$Qi=null;this._$6s=b._$ms;this.culling=true;this.gl_cacheImage=null;this.instanceNo=b._$42++;}b.prototype=new a();b._$42=0;b._$Os=30;b._$ms=0;b._$ns=1;b._$_s=2;b._$gT=new Array();b.prototype._$_S=function(aH){this._$LP=aH;};b.prototype.getTextureNo=function(){return this._$LP;};b.prototype._$ZL=function(){return this._$Qi;};b.prototype._$H2=function(){return this._$JP;};b.prototype.getNumPoints=function(){return this._$d0;};b.prototype.getType=function(){return a._$wb;};b.prototype._$B2=function(aL,aH,aO){var aM=aH;var aN=(aM._$hr!=null)?aM._$hr:aM._$Cr;var aK=aw._$do;switch(aK){default:case aw._$Ms:throw new Error(\"_$L _$ro \");case aw._$Qs:for(var aJ=this._$d0-1;aJ>=0;--aJ){var aI=aJ*aw._$No;aN[aI+4]=aO;}break;}};b.prototype._$zP=function(){this._$GS=new g();this._$GS._$zP();};b.prototype._$F0=function(aK){a.prototype._$F0.call(this,aK);this._$LP=aK._$6L();this._$d0=aK._$6L();this._$Yo=aK._$6L();var aH=aK._$nP();this._$BP=new Int16Array(this._$Yo*3);for(var aJ=this._$Yo*3-1;aJ>=0;--aJ){this._$BP[aJ]=aH[aJ];}this._$Eo=aK._$nP();this._$Qi=aK._$nP();if(aK.getFormatVersion()>=ay._$s7){this._$JP=aK._$6L();if(this._$JP!=0){if((this._$JP&1)!=0){var aI=aK._$6L();if(this._$5P==null){this._$5P=new Object();}this._$5P._$Hb=parseInt(aI);}if((this._$JP&b._$Os)!=0){this._$6s=(this._$JP&b._$Os)>>1;}else{this._$6s=b._$ms;}if((this._$JP&32)!=0){this.culling=false;}}}else{this._$JP=0;}};b.prototype.init=function(aL){var aN=new ag(this);var aI=this._$d0*aw._$No;var aH=this._$32();if(aN._$Cr!=null){aN._$Cr=null;}aN._$Cr=new Float32Array(aI);if(aN._$hr!=null){aN._$hr=null;}aN._$hr=aH?new Float32Array(aI):null;var aM=aw._$do;switch(aM){default:case aw._$Ms:if(aw._$Ls){for(var aJ=this._$d0-1;aJ>=0;--aJ){var aO=aJ<<1;this._$Qi[aO+1]=1-this._$Qi[aO+1];}}break;case aw._$Qs:for(var aJ=this._$d0-1;aJ>=0;--aJ){var aO=aJ<<1;var aK=aJ*aw._$No;var aQ=this._$Qi[aO];var aP=this._$Qi[aO+1];aN._$Cr[aK]=aQ;aN._$Cr[aK+1]=aP;aN._$Cr[aK+4]=0;if(aH){aN._$hr[aK]=aQ;aN._$hr[aK+1]=aP;aN._$hr[aK+4]=0;}}break;}return aN;};b.prototype._$Nr=function(aJ,aH){var aK=aH;if(!((this==aK._$GT()))){console.log(\"### assert!! ### \");}if(!this._$GS._$Ur(aJ)){return;}a.prototype._$Nr.call(this,aJ,aK);if(aK._$IS[0]){return;}var aI=b._$gT;aI[0]=false;aG._$Vr(aJ,this._$GS,aI,this._$d0,this._$Eo,aK._$Cr,aw._$i2,aw._$No);};b.prototype._$2b=function(aK,aI){try{if(!((this==aI._$GT()))){console.log(\"### assert!! ### \");}var aL=false;if(aI._$IS[0]){aL=true;}var aM=aI;if(!aL){a.prototype._$2b.call(this,aK);if(this._$32()){var aH=this.getTargetBaseDataID();if(aM._$8r==a._$ur){aM._$8r=aK.getBaseDataIndex(aH);}if(aM._$8r<0){if(Q._$so){q._$li(\"_$L _$0P _$G :: %s\",aH);}}else{var aO=aK.getBaseData(aM._$8r);var aJ=aK._$q2(aM._$8r);if(aO!=null&&!aJ._$x2()){aO._$nb(aK,aJ,aM._$Cr,aM._$hr,this._$d0,aw._$i2,aw._$No);aM._$AT=true;}else{aM._$AT=false;}aM.baseOpacity=aJ.getTotalOpacity();}}}}catch(aN){throw aN;}};b.prototype.draw=function(aN,aK,aI){if(!((this==aI._$GT()))){console.log(\"### assert!! ### \");}if(aI._$IS[0]){return;}var aL=aI;var aJ=this._$LP;if(aJ<0){aJ=1;}var aH=this.getOpacity(aK,aL)*aI._$VS*aI.baseOpacity;var aM=(aL._$hr!=null)?aL._$hr:aL._$Cr;aN.setClipBufPre_clipContextForDraw(aI.clipBufPre_clipContext);aN._$WP(this.culling);aN._$Uo(aJ,3*this._$Yo,this._$BP,aM,this._$Qi,aH,this._$6s,aL);};b.prototype.dump=function(){console.log(\" _$yi( %d ) , _$d0( %d ) , _$Yo( %d ) \\n\",this._$LP,this._$d0,this._$Yo);console.log(\" _$Oi _$di = { \");for(var aJ=0;aJstartMotion() / start _$K _$3 (m%d)\\n\",aH,aL._$sr);}}if(aJ==null){return -1;}aL=new M();aL._$w0=aJ;this.motions.push(aL);var aN=aL._$sr;if(this._$eb){q._$Ji(\"MotionQueueManager[size:%2d]->startMotion() / new _$w0 (m%d)\\n\",aH,aN);}return aN;};V.prototype.updateParam=function(aJ){try{var aI=false;for(var aK=0;aKupdateParam() / _$T0 _$w0 (m%d)\\n\",this.motions.length-1,aL._$sr);}this.motions.splice(aK,1);aK--;}else{}}return aI;}catch(aM){q._$li(aM);return true;}};V.prototype.isFinished=function(aK){if(arguments.length>=1){for(var aI=0;aI0.9?Q.EXPAND_W:0;var a0=this.gl;if(this.gl==null){throw new Error(\"gl is null\");}var a1=false;var aQ=1;var aP=1;var a3=1;var aZ=1;var aW=this._$C0*aP*aN;var a2=this._$tT*a3*aN;var a5=this._$WL*aZ*aN;var a7=this._$lT*aN;if(this.clipBufPre_clipContextMask!=null){a0.frontFace(a0.CCW);a0.useProgram(this.shaderProgram);this._$vS=T(a0,this._$vS,aU);this._$no=L(a0,this._$no,aL);a0.enableVertexAttribArray(this.a_position_Loc);a0.vertexAttribPointer(this.a_position_Loc,2,a0.FLOAT,false,0,0);this._$NT=T(a0,this._$NT,aV);a0.activeTexture(a0.TEXTURE1);a0.bindTexture(a0.TEXTURE_2D,this.textures[aS]);a0.uniform1i(this.s_texture0_Loc,1);a0.enableVertexAttribArray(this.a_texCoord_Loc);a0.vertexAttribPointer(this.a_texCoord_Loc,2,a0.FLOAT,false,0,0);a0.uniformMatrix4fv(this.u_matrix_Loc,false,this.getClipBufPre_clipContextMask().matrixForMask);var aY=this.getClipBufPre_clipContextMask().layoutChannelNo;var a4=this.getChannelFlagAsColor(aY);a0.uniform4f(this.u_channelFlag,a4.r,a4.g,a4.b,a4.a);var aI=this.getClipBufPre_clipContextMask().layoutBounds;a0.uniform4f(this.u_baseColor_Loc,aI.x*2-1,aI.y*2-1,aI._$EL()*2-1,aI._$5T()*2-1);a0.uniform1i(this.u_maskFlag_Loc,true);}else{a1=this.getClipBufPre_clipContextDraw()!=null;if(a1){a0.useProgram(this.shaderProgramOff);this._$vS=T(a0,this._$vS,aU);this._$no=L(a0,this._$no,aL);a0.enableVertexAttribArray(this.a_position_Loc_Off);a0.vertexAttribPointer(this.a_position_Loc_Off,2,a0.FLOAT,false,0,0);this._$NT=T(a0,this._$NT,aV);a0.activeTexture(a0.TEXTURE1);a0.bindTexture(a0.TEXTURE_2D,this.textures[aS]);a0.uniform1i(this.s_texture0_Loc_Off,1);a0.enableVertexAttribArray(this.a_texCoord_Loc_Off);a0.vertexAttribPointer(this.a_texCoord_Loc_Off,2,a0.FLOAT,false,0,0);a0.uniformMatrix4fv(this.u_clipMatrix_Loc_Off,false,this.getClipBufPre_clipContextDraw().matrixForDraw);a0.uniformMatrix4fv(this.u_matrix_Loc_Off,false,this.matrix4x4);a0.activeTexture(a0.TEXTURE2);a0.bindTexture(a0.TEXTURE_2D,Q.fTexture[this.glno]);a0.uniform1i(this.s_texture1_Loc_Off,2);var aY=this.getClipBufPre_clipContextDraw().layoutChannelNo;var a4=this.getChannelFlagAsColor(aY);a0.uniform4f(this.u_channelFlag_Loc_Off,a4.r,a4.g,a4.b,a4.a);a0.uniform4f(this.u_baseColor_Loc_Off,aW,a2,a5,a7);}else{a0.useProgram(this.shaderProgram);this._$vS=T(a0,this._$vS,aU);this._$no=L(a0,this._$no,aL);a0.enableVertexAttribArray(this.a_position_Loc);a0.vertexAttribPointer(this.a_position_Loc,2,a0.FLOAT,false,0,0);this._$NT=T(a0,this._$NT,aV);a0.activeTexture(a0.TEXTURE1);a0.bindTexture(a0.TEXTURE_2D,this.textures[aS]);a0.uniform1i(this.s_texture0_Loc,1);a0.enableVertexAttribArray(this.a_texCoord_Loc);a0.vertexAttribPointer(this.a_texCoord_Loc,2,a0.FLOAT,false,0,0);a0.uniformMatrix4fv(this.u_matrix_Loc,false,this.matrix4x4);a0.uniform4f(this.u_baseColor_Loc,aW,a2,a5,a7);a0.uniform1i(this.u_maskFlag_Loc,false);}}if(this.culling){this.gl.enable(a0.CULL_FACE);}else{this.gl.disable(a0.CULL_FACE);}this.gl.enable(a0.BLEND);var a6;var aX;var aR;var aK;if(this.clipBufPre_clipContextMask!=null){a6=a0.ONE;aX=a0.ONE_MINUS_SRC_ALPHA;aR=a0.ONE;aK=a0.ONE_MINUS_SRC_ALPHA;}else{switch(aM){case b._$ms:a6=a0.ONE;aX=a0.ONE_MINUS_SRC_ALPHA;aR=a0.ONE;aK=a0.ONE_MINUS_SRC_ALPHA;break;case b._$ns:a6=a0.ONE;aX=a0.ONE;aR=a0.ZERO;aK=a0.ONE;break;case b._$_s:a6=a0.DST_COLOR;aX=a0.ONE_MINUS_SRC_ALPHA;aR=a0.ZERO;aK=a0.ONE;break;}}a0.blendEquationSeparate(a0.FUNC_ADD,a0.FUNC_ADD);a0.blendFuncSeparate(a6,aX,aR,aK);if(this.anisotropyExt){a0.texParameteri(a0.TEXTURE_2D,this.anisotropyExt.TEXTURE_MAX_ANISOTROPY_EXT,this.maxAnisotropy);}var aJ=aL.length;a0.drawElements(a0.TRIANGLES,aJ,a0.UNSIGNED_SHORT,0);a0.bindTexture(a0.TEXTURE_2D,null);};function T(aJ,aH,aI){if(aH==null){aH=aJ.createBuffer();}aJ.bindBuffer(aJ.ARRAY_BUFFER,aH);aJ.bufferData(aJ.ARRAY_BUFFER,aI,aJ.DYNAMIC_DRAW);return aH;}function L(aJ,aH,aI){if(aH==null){aH=aJ.createBuffer();}aJ.bindBuffer(aJ.ELEMENT_ARRAY_BUFFER,aH);aJ.bufferData(aJ.ELEMENT_ARRAY_BUFFER,aI,aJ.DYNAMIC_DRAW);return aH;}C.prototype._$Rs=function(){throw new Error(\"_$Rs\");};C.prototype._$Ds=function(aH){throw new Error(\"_$Ds\");};C.prototype._$K2=function(){for(var aH=0;aH=48){var aL=ay._$9o(aN);if(aL!=null){aL._$F0(this);return aL;}else{return null;}}switch(aN){case 1:return this._$bT();case 10:var aM=this._$6L();return new I(aM,true);case 11:return new av(this._$mP(),this._$mP(),this._$mP(),this._$mP());case 12:return new av(this._$_T(),this._$_T(),this._$_T(),this._$_T());case 13:return new e(this._$mP(),this._$mP());case 14:return new e(this._$_T(),this._$_T());case 15:var aH=this._$3L();var aI=new Array(aH);for(var aJ=0;aJ>(7-this._$hL++))&1)==1;};K.prototype._$zT=function(){if(this._$hL!=0){this._$hL=0;}};function ai(){}ai.prototype._$wP=function(aM,aI,aK){for(var aL=0;aLMath.PI){aJ-=2*Math.PI;}return aJ;};aC._$9=function(aH){return Math.sin(aH);};aC.fcos=function(aH){return Math.cos(aH);};function aB(aH){if(j){return;}this._$e0=null;this._$IP=null;this._$Us=null;this._$7s=null;this._$IS=[false];this._$VS=null;this._$AT=true;this.baseOpacity=1;this.clipBufPre_clipContext=null;this._$e0=aH;}aB.prototype._$u2=function(){return this._$IS[0];};aB.prototype._$yo=function(){return this._$AT&&!this._$IS[0];};aB.prototype._$GT=function(){return this._$e0;};function r(){}r._$W2=0;r.SYSTEM_INFO=null;r.USER_AGENT=navigator.userAgent;r.isIPhone=function(){if(!r.SYSTEM_INFO){r.setup();}return r.SYSTEM_INFO._isIPhone;};r.isIOS=function(){if(!r.SYSTEM_INFO){r.setup();}return r.SYSTEM_INFO._isIPhone||r.SYSTEM_INFO._isIPad;};r.isAndroid=function(){if(!r.SYSTEM_INFO){r.setup();}return r.SYSTEM_INFO._isAndroid;};r.getOSVersion=function(){if(!r.SYSTEM_INFO){r.setup();}return r.SYSTEM_INFO.version;};r.getOS=function(){if(!r.SYSTEM_INFO){r.setup();}if(r.SYSTEM_INFO._isIPhone||r.SYSTEM_INFO._isIPad){return\"iOS\";}if(r.SYSTEM_INFO._isAndroid){return\"Android\";}else{return\"_$Q0 OS\";}};r.setup=function(){var aK=r.USER_AGENT;function aI(aO,aR){var aN=aO.substring(aR).split(/[ _,;\\.]/);var aQ=0;for(var aM=0;aM<=2;aM++){if(isNaN(aN[aM])){break;}var aP=parseInt(aN[aM]);if(aP<0||aP>999){q._$li(\"err : \"+aP+\" @UtHtml5.setup()\");aQ=0;break;}aQ+=aP*Math.pow(1000,(2-aM));}return aQ;}var aL;var aH;var aJ=r.SYSTEM_INFO={userAgent:aK};if((aL=aK.indexOf(\"iPhone OS \"))>=0){aJ.os=\"iPhone\";aJ._isIPhone=true;aJ.version=aI(aK,aL+\"iPhone OS \".length);}else{if((aL=aK.indexOf(\"iPad\"))>=0){aL=aK.indexOf(\"CPU OS\");if(aL<0){q._$li(\" err : \"+aK+\" @UtHtml5.setup()\");return;}aJ.os=\"iPad\";aJ._isIPad=true;aJ.version=aI(aK,aL+\"CPU OS \".length);}else{if((aL=aK.indexOf(\"Android\"))>=0){aJ.os=\"Android\";aJ._isAndroid=true;aJ.version=aI(aK,aL+\"Android \".length);}else{aJ.os=\"-\";aJ.version=-1;}}}};window.UtSystem=P;window.UtDebug=q;window.LDTransform=am;window.LDGL=au;window.Live2D=Q;window.Live2DModelWebGL=l;window.Live2DModelJS=v;window.Live2DMotion=ao;window.MotionQueueManager=V;window.PhysicsHair=u;window.AMotion=ah;window.PartsDataID=i;window.DrawDataID=Z;window.BaseDataID=n;window.ParamID=z;Q.init();var j=false;})();\n\n\n// WEBPACK FOOTER //\n// ./src/lib/live2d.min.js","// Provide a \"System\" global.\r\nmodule.exports = {\r\n\t// Make sure import is only used as \"System.import\"\r\n\timport: function() {\r\n\t\tthrow new Error(\"System.import cannot be used indirectly\");\r\n\t}\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/system.js\n// module id = 10\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///bundle.js","webpack:///webpack/bootstrap 45e728bf5020c153ce49","webpack:///./src/lib/Live2DFramework.js","webpack:///./src/LAppDefine.js","webpack:///./src/lib/MatrixStack.js","webpack:///./src/webglcontext.js","webpack:///./src/main.js","webpack:///./src/LAppLive2DManager.js","webpack:///./src/LAppModel.js","webpack:///./src/PlatformManager.js","webpack:///./src/lib/ModelSettingJson.js","webpack:///./src/lib/live2d.min.js","webpack:///(webpack)/buildin/system.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","L2DBaseModel","this","live2DModel","modelMatrix","eyeBlink","physics","pose","debugMode","initialized","updating","alpha","accAlpha","lipSync","lipSyncValue","accelX","accelY","accelZ","dragX","dragY","startTimeMSec","mainMotionManager","L2DMotionManager","expressionManager","motions","expressions","isTexLoaded","L2DExpressionMotion","AMotion","constructor","paramList","Array","L2DExpressionParam","id","type","L2DEyeBlink","nextBlinkTime","stateStartTime","blinkIntervalMsec","eyeState","EYE_STATE","STATE_FIRST","closingMotionMsec","closedMotionMsec","openingMotionMsec","closeIfZero","eyeID_L","eyeID_R","L2DMatrix44","tr","Float32Array","identity","L2DModelMatrix","w","h","width","height","MotionQueueManager","currentPriority","reservePriority","super","L2DPhysics","physicsList","UtSystem","getUserTimeMSec","L2DPose","lastTime","lastModel","partsGroups","L2DPartsParam","paramIndex","partsIndex","link","L2DTargetPoint","EPSILON","faceTargetX","faceTargetY","faceX","faceY","faceVX","faceVY","lastTimeSec","L2DViewMatrix","screenLeft","screenRight","screenTop","screenBottom","maxLeft","maxRight","maxTop","maxBottom","max","Number","MAX_VALUE","min","Live2DFramework","texCounter","getModelMatrix","setAlpha","a","getAlpha","isInitialized","setInitialized","v","isUpdating","setUpdating","getLive2DModel","setLipSync","setLipSyncValue","setAccel","x","y","z","setDrag","getMainMotionManager","getExpressionManager","loadModelData","path","callback","pm","getPlatformManager","log","thisRef","loadLive2DModel","l2dModel","saveParam","Live2D","getError","console","error","getCanvasWidth","getCanvasHeight","setWidth","setCenterPosition","loadTexture","no","loadMotion","motion","loadBytes","buf","Live2DMotion","loadExpression","loadJson","loadPose","load","e","warn","loadPhysics","hitTestSimple","drawID","testX","testY","drawIndex","getDrawDataIndex","points","getTransformedPoints","left","right","top","bottom","j","length","tx","invertTransformX","ty","invertTransformY","EXPRESSION_DEFAULT","TYPE_SET","TYPE_ADD","TYPE_MULT","ret","json","jsonParseFromBytes","setFadeIn","parseInt","fade_in","setFadeOut","fade_out","params","paramNum","param","paramID","toString","parseFloat","val","calcTypeInt","calc","defaultValue","def","item","push","updateParamExe","model","timeMSec","weight","motionQueueEnt","addToParamFloat","multParamFloat","setParamFloat","calcNextBlink","Math","random","setInterval","setEyeMotion","updateParam","eyeParamValue","time","t","STATE_CLOSING","STATE_CLOSED","STATE_OPENING","STATE_INTERVAL","mul","b","dst","k","getArray","getCopyMatrix","setMatrix","getScaleX","getScaleY","transformX","src","transformY","multTranslate","shiftX","shiftY","tr1","translate","translateX","translateY","multScale","scaleX","scaleY","scale","setPosition","setY","setX","centerX","centerY","setHeight","getCurrentPriority","getReservePriority","reserveMotion","priority","setReservePriority","updated","isFinished","startMotionPrio","startMotion","physics_hair","PhysicsHair","setup","resist","regist","mass","srcList","srcNum","Src","SRC_TO_X","typeStr","ptype","SRC_TO_Y","SRC_TO_G_ANGLE","UtDebug","addSrcParam","targetList","targets","targetNum","target","Target","TARGET_FROM_ANGLE","TARGET_FROM_ANGLE_V","addTargetParam","update","poseListInfo","parts_visible","poseNum","i_pose","poseInfo","idListInfo","group","idNum","partsGroup","i_group","partsInfo","parts","linkListInfo","linkNum","i_link","linkParts","initParam","curTime","deltaTimeSec","normalizePartsOpacityGroup","copyOpacityOtherParts","initIndex","getParamFloat","setPartsOpacity","visibleParts","visibleOpacity","getPartsOpacity","a1","opacity","backOp","partsParam","getParamIndex","getPartsDataIndex","PartsDataID","getID","FRAME_RATE","setPoint","getX","getY","MAX_V","curTimeSec","deltaTimeWeight","FRAME_TO_MAX_SPEED","MAX_A","dx","dy","abs","sqrt","vx","vy","ax","ay","max_v","cur_v","getMaxScale","getMinScale","setMaxScale","setMinScale","isMaxScale","isMinScale","adjustTranslate","adjustScale","cx","cy","targetScale","tr2","tr3","setScreenRect","setMaxScreenRect","getScreenLeft","getScreenRight","getScreenBottom","getScreenTop","getMaxLeft","getMaxRight","getMaxBottom","getMaxTop","platformManager","setPlatformManager","LAppDefine","DEBUG_LOG","DEBUG_MOUSE_LOG","VIEW_MAX_SCALE","VIEW_MIN_SCALE","VIEW_LOGICAL_LEFT","VIEW_LOGICAL_RIGHT","VIEW_LOGICAL_MAX_LEFT","VIEW_LOGICAL_MAX_RIGHT","VIEW_LOGICAL_MAX_BOTTOM","VIEW_LOGICAL_MAX_TOP","PRIORITY_NONE","PRIORITY_IDLE","PRIORITY_NORMAL","PRIORITY_FORCE","MOTION_GROUP_IDLE","MOTION_GROUP_TAP_BODY","MOTION_GROUP_FLICK_HEAD","MOTION_GROUP_PINCH_IN","MOTION_GROUP_PINCH_OUT","MOTION_GROUP_SHAKE","HIT_AREA_HEAD","HIT_AREA_BODY","MatrixStack","matrixStack","depth","currentMatrix","tmp","reset","loadIdentity","nextOffset","pop","myError","offset","getMatrix","multMatrix","matNew","setContext","webglContext","context","getContext","undefined","_interopRequireDefault","obj","default","initL2dCanvas","canvasId","canvas","document","getElementById","addEventListener","window","mouseEvent","touchEvent","init","modelurl","dragMgr","_Live2DFramework","ratio","_LAppDefine2","viewMatrix","projMatrix","deviceToScreen","gl","getWebGLContext","_webglcontext","setGL","clearColor","changeModel","startDraw","isDrawStart","tick","draw","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","_MatrixStack2","live2DMgr","clear","COLOR_BUFFER_BIT","numModels","getModel","reloadFlg","count","dot","A","B","normalize","transformRect","center","transform","rect","angle","Len_X","Len_Y","acos","PI","angleTarget","angleLeftTop","angleLeftBottom","angleRightTop","angleRightBottom","res","y3","x3","modelTurnHead","event","drag","getBoundingClientRect","sx","transformScreenX","clientX","sy","transformScreenY","clientY","head_pos","transformViewX","transformViewY","lastMouseX","lastMouseY","tapEvent","followPointer","lookFront","button","touch","touches","deviceX","screenX","deviceY","screenY","NAMES","ctx","premultipliedAlpha","loadlive2d","headPos","_LAppLive2DManager","_LAppLive2DManager2","_LAppDefine","_MatrixStack","navigator","platform","toLowerCase","LAppLive2DManager","models","_PlatformManager2","_PlatformManager","_LAppModel","_LAppModel2","createModel","releaseModel","release","splice","maxScaleEvent","startRandomMotion","minScaleEvent","hitTest","setRandomExpression","LAppModel","modelHomeDir","modelSetting","tmpMatrix","_ModelSettingJson","_ModelSettingJson2","modelSettingPath","substring","lastIndexOf","loadModelSetting","getModelFile","getTextureNum","texPaths","getTextureFile","getExpressionNum","expName","getExpressionName","expFilePath","getExpressionFile","getPhysicsFile","getPoseFile","getLayout","layout","getInitParamNum","getInitParamID","getInitParamValue","getInitPartsVisibleNum","getInitPartsVisibleID","getInitPartsVisibleValue","preloadMotionGroup","stopAllMotions","deleteTexture","texture","getMotionNum","file","getMotionFile","getMotionFadeIn","getMotionFadeOut","timeSec","loadParam","sin","setExpression","motionName","mtn","setFadeInFadeOut","getMotionSound","soundName","snd","createElement","play","len","getHitAreaNum","getHitAreaName","getHitAreaID","PlatformManager","request","XMLHttpRequest","open","responseType","onload","status","response","send","loadString","Live2DModelWebGL","loadModel","loadedImage","Image","createTexture","isPremultipliedAlpha","pixelStorei","UNPACK_PREMULTIPLY_ALPHA_WEBGL","UNPACK_FLIP_Y_WEBGL","activeTexture","TEXTURE0","bindTexture","TEXTURE_2D","texImage2D","RGBA","UNSIGNED_BYTE","texParameteri","TEXTURE_MAG_FILTER","LINEAR","TEXTURE_MIN_FILTER","LINEAR_MIPMAP_NEAREST","generateMipmap","setTexture","onerror","jsonStr","bomCode","Uint8Array","String","fromCharCode","apply","JSON","parse","txt","ModelSettingJson","NAME","ID","MODEL","TEXTURES","HIT_AREAS","PHYSICS","POSE","EXPRESSIONS","MOTION_GROUPS","SOUND","FADE_IN","FADE_OUT","LAYOUT","INIT_PARAM","INIT_PARTS_VISIBLE","VALUE","FILE","str","NaN","System","aa","_$MT","_$5S","_$NP","_$42","W","aJ","clipContextList","glcontext","dp_webgl","curFrameNo","firstError_clipInNotUpdate","colorBuffer","isInitGLFBFunc","tmpBoundsOnModel","av","Q","glContext","frameBuffers","getMaskRenderTexture","tmpModelToViewMatrix","ac","tmpMatrix2","tmpMatrixForMask","tmpMatrixForDraw","CHANNEL_COLORS","aI","r","g","aH","setChannelFlagAsColor","U","aK","clipIDList","clippingMaskDrawIndexList","clippedDrawContextList","isUsing","layoutChannelNo","layoutBounds","allClippedDrawRect","matrixForMask","matrixForDraw","owner","R","_$gP","drawDataIndex","I","color","ah","_$dP","_$eo","_$V0","_$a0","q","af","_$r","_$0S","F","ak","S","_$vo","_$F2","_$ao","_$1S","u","p1","N","p2","_$Fo","_$Db","_$L2","_$M2","_$ks","_$9b","_$iP","_$iT","_$lL","_$qP","_$p","fx","fy","_$s0","_$70","_$7L","_$HL","at","_$wL","_$tL","aF","_$YP","X","_$fL","_$gL","_$B0","_$z0","_$qT","reflectX","reflectY","aG","ae","_$dr","_$GS","_$qb","_$Lb","_$mS","clipID","_$Eb","_$ps","_$lT","_$C0","_$tT","_$WL","culling","matrix4x4","anisotropy","clippingProcess","CLIPPING_PROCESS_NONE","clipBufPre_clipContextMask","clipBufPre_clipContextDraw","_$ho","blendMode","L2D_COLOR_BLEND_MODE_MULT","_$kP","_$Ai","P","aA","_$VP","_$GP","_$8o","_$ds","_$2r","_$O2","_$ri","G","_$Ob","Z","aD","_$7","_$f","_$H","_$g","_$k","_$w","_$hi","STATE_IDENTITY","_$Z","_$pS","Y","_$7r","_$Co","_$D0","_$yT","_$E","loopFadeIn","_$AS","aE","_$P","size","_$4P","_$I0","_$RP","aw","_$QT","_$co","_$qo","_$pb","_$is","_$_2","_$vr","_$Rr","_$Or","_$fs","_$Js","_$3S","_$aS","_$Bo","_$db","_$8b","_$Hr","_$Ws","_$Vs","_$Er","_$Es","Int16Array","_$Qb","_$ZP","_$1r","_$Ri","_$b0","_$HP","clipManager","ap","ar","_$12","_$bb","_$_L","_$jo","_$iL","_$0L","_$Br","_$Dr","_$Cb","_$mr","az","_$sb","Int32Array","_$As","_$U2","_$NT","_$9r","_$vS","_$no","_$vb","ab","_$Y0","al","_$8r","_$ur","_$Yr","_$Wr","aq","_$NL","_$zo","ao","_$o2","_$rr","_$eP","getUint8","E","_$o","_$A","_$Eo","H","_$Cr","_$hr","visible","_$g0","aj","_$VS","_$e0","D","an","_$4S","au","viewport","_$6r","_$xP","_$3r","_$uP","_$Qo","cacheImages","f","_$TT","_$LT","_$FS","_$IP","_$JS","_$AT","totalScale","_$7s","totalOpacity","J","_$ib","_$LP","_$d0","_$Yo","_$JP","_$5P","_$BP","_$Qi","_$6s","_$ms","gl_cacheImage","instanceNo","ag","aB","drawParamWebGL","C","getGL","V","_$eb","M","_$w0","_$9L","_$z2","_$bs","_$Do","_$sr","_$Gs","am","textures","glno","firstDraw","anisotropyExt","maxAnisotropy","_$Gr","vertShader","fragShader","vertShaderOff","fragShaderOff","T","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","DYNAMIC_DRAW","L","ELEMENT_ARRAY_BUFFER","K","Int8Array","_$R0","DataView","buffer","_$3i","_$hL","_$v0","_$S2","_$Ko","_$T","_$F","ai","aC","_$Us","_$IS","baseOpacity","clipBufPre_clipContext","_$0s","_$4s","_$62","aQ","aU","ArrayBuffer","aN","aS","aM","_$ST","_$gr","_$T7","aL","_$nP","_$s7","_$9T","aT","_$KS","aP","getModelContext","setDrawParam","getDrawParam","aO","_$Rb","getModelImpl","_$zP","arguments","_$Rs","_$li","_$Ds","_$K2","_$s2","_$P7","aR","a0","aY","aW","aV","aZ","getDrawData","_$C2","getIndexArray","getType","_$wb","CHANNEL_COUNT","RENDER_TEXTURE_USE_MIPMAP","NOT_USED_FRAME","_$L7","releaseShader","deleteFramebuffer","framebuffer","getClipIDList","findSameClip","getDrawDataID","addClippedDrawData","createFramebuffer","setupClip","calcClippedDrawTotalBounds","getParameter","FRAMEBUFFER_BINDING","clippingMaskBufferSize","setupLayoutBounds","bindFramebuffer","FRAMEBUFFER","_$jL","expand","aX","setClipBufPre_clipContextForMask","getColorBuffer","a6","a5","_$yo","a4","a3","_$i2","_$No","a2","_$JT","_$pT","getFadeOut","_$4T","_$mT","getDurationMSec","getLoopDurationMSec","_$r2","_$8s","_$fT","start","getSystemTimeMSec","dump","end","_$Ji","_$dL","_$KL","_$nr","stack","_$8P","_$6P","_$EL","_$5T","_$tP","_$27","_$3s","_$F0","_$6L","_$6S","_$Xr","_$E2","_$Yb","_$xT","getPhysicsPoint1","getPhysicsPoint2","_$qr","_$pr","_$5r","_$Cs","atan2","_$oP","_$oo","_$YS","cos","_$bS","_$_T","getFormatVersion","LIVE2D_FORMAT_VERSION_V2_10_SDK2","_$po","_$e","ad","_$ni","isNaN","contains","_$Z2","bb","bo","bp","_$Q2","_$vs","ba","_$Tr","_$zr","bj","bi","a9","a8","br","bq","bn","bm","bg","bf","bu","bt","bl","bk","be","bc","a7","bh","bs","bd","_$br","_$Vr","bV","bW","bC","bX","bH","bw","bI","_$jT","b3","bT","b1","bP","b2","b0","bM","bL","bZ","bN","b8","b7","bU","bS","b6","b5","bQ","bO","bD","bB","by","bx","bG","bE","bv","bA","bz","bY","bK","b4","bJ","bF","bR","_$HT","_$ES","_$8S","_$52","_$R2","_$or","_$Pr","convertClipIDForV2_11","test","split","_$cS","_$Tb","_$MS","_$Nr","_$Zs","_$2b","_$j2","getOpacity","_$zS","getTargetBaseDataID","_$gs","_$32","_$2o","preDraw","_$B2","CLIPPING_PROCESS_OVERWRITE_ALPHA","CLIPPING_PROCESS_MULTIPLY_ALPHA","CLIPPING_PROCESS_DRAW","CLIPPING_PROCESS_CLEAR_ALPHA","getChannelFlagAsColor","_$ZT","_$Uo","setBaseColor","_$WP","_$IT","setPremultipliedAlpha","setAnisotropy","getAnisotropy","getClippingProcess","setClippingProcess","getClipBufPre_clipContextMask","setClipBufPre_clipContextForDraw","getClipBufPre_clipContextDraw","_$c2","_$_b","readV2_opacity","interpolateOpacity","setInterpolatedOpacity","_$nb","_$a2","getBaseDataID","_$W2","_$CS","_$Mo","_$XP","getTimeMSec","setUserTimeMSec","updateUserTimeMSec","Date","getTime","_$Q","_$Pb","getParamID","_$yP","_$N2","_$d2","_$t2","_$Lr","_$wr","_$SL","_$AL","startsWith","getChar","charAt","createString","Uint16Array","_$LS","_$Ur","_$WS","_$v2","_$Xb","Exception","_$J","_$3T","_$h2","_$J2","getParamCount","_$zs","mult","mult_safe","mult_fast","rotateX","fcos","_$9","rotateY","rotateZ","_$kS","_$hb","_$gb","_$fo","_$go","_$RT","_$so","_$CT","_$cs","_$ar","_$D2","_$1T","_$hs","_$xs","_$us","_$qs","_$Ys","_$ws","_$Ns","_$Fr","_$BL","_$r0","_$aL","isLoopFadeIn","setLoopFadeIn","add","_$Ms","_$Qs","_$do","_$Ls","_$FT","_$Ss","_$o7","_$S7","_$77","LIVE2D_FORMAT_VERSION_V2_11_SDK2_1","_$Is","_$h0","_$4L","_$7P","_$uT","_$9o","_$_0","_$V2","_$W0","_$jr","_$ZS","_$tr","_$lr","getBaseData","_$l2","getBaseDataIndex","_$1s","_$02","getDefaultValue","getMinValue","getMaxValue","_$u2","floor","_$sT","_$H7","_$BS","_$UT","_$Zo","getParamMax","getParamMin","_$p2","_$q2","_$Bb","_$5s","_$GT","_$0T","_$5","exists","_$ls","_$3b","_$Xs","_$kb","read","_$C","_$js","write","_$TS","close","flush","_$T2","_$10","_$uo","_$QS","_$7T","_$cr","_$yL","put","_$oT","_$mb","_$Hs","_$as","setTransform","EXPAND_W","drawElements","Error","_$Sr","_$nS","_$Xo","_$io","_$0o","_$Lo","_$To","_$Po","_$gT","_$Ib","pow","_$hS","_$Jr","_$92","_$NS","getTotalScale","setTotalScale_notForClient","getTotalOpacity","setTotalOpacity","getInterpolatedOpacity","_$os","_$Sb","_$1b","getDrawDataList","_$kr","_$xo","_$to","_$er","_$PL","_$nL","_$_o","MTN_PREFIX_FADEIN","MTN_PREFIX_FADEOUT","byteLength","charCodeAt","_$S0","_$U0","_$VT","transformPoints_sdk2","err","printf","transformPoints_sdk1","_$ts","_$8L","isVisible","_$6o","_$3o","_$uL","_$KP","_$ET","_$ob","getPartsID","_$MP","_$Ks","_$50","_$Ti","_$Pi","_$B","_$lP","_$bL","save","beginPath","_$Li","clip","_$ei","restore","globalAlpha","_$PS","ceil","rotate","shear","IGNORE_EXPAND","USE_CACHED_POLYGON_IMAGE","createCanvas","DEBUG_DATA","LDGL_CANVAS_MB","drawImage","cacheCanvas","cacheContext","IGNORE_CLIP","USE_ADJUST_TRANSLATION","expandClip","clipWithTransform","_$P2","moveTo","lineTo","setAttribute","dumpValues","toFixed","getPartsIndex","_$x2","_$2s","_$Kr","_$sP","_$cb","_$Ts","_$fb","L2D_DEFORMER_EXTEND","_$Wb","_$yr","L2D_NO_ERROR","_$i7","_$9s","_$es","_$r7","_$07","_$b7","L2D_COLOR_BLEND_MODE_ADD","L2D_COLOR_BLEND_MODE_INTERPOLATE","_$6b","_$cT","fTexture","USE_CANVAS_TRANSFORM","PROFILE_IOS_SPEED","PROFILE_NAME","PROFILE_IOS_QUALITY","PROFILE_IOS_DEFAULT","PROFILE_ANDROID","PROFILE_DESKTOP","initProfile","isIOS","setupProfile","isAndroid","alert","getVersionStr","getVersionNo","dispose","setClippingMaskBufferSize","getClippingMaskBufferSize","deleteBuffer","PI_F","_$fr","_$Os","_$ns","_$_s","_$_S","getTextureNo","_$ZL","_$H2","getNumPoints","_$Hb","_$72","_$tb","_$qS","_$Zr","_$Bs","concatenate","_$eT","initShader","getExtension","MAX_TEXTURE_MAX_ANISOTROPY_EXT","disable","SCISSOR_TEST","STENCIL_TEST","DEPTH_TEST","frontFace","CW","enable","BLEND","colorMask","CCW","useProgram","shaderProgram","enableVertexAttribArray","a_position_Loc","vertexAttribPointer","FLOAT","TEXTURE1","uniform1i","s_texture0_Loc","a_texCoord_Loc","uniformMatrix4fv","u_matrix_Loc","uniform4f","u_channelFlag","u_baseColor_Loc","u_maskFlag_Loc","shaderProgramOff","a_position_Loc_Off","s_texture0_Loc_Off","a_texCoord_Loc_Off","u_clipMatrix_Loc_Off","u_matrix_Loc_Off","TEXTURE2","s_texture1_Loc_Off","u_channelFlag_Loc_Off","u_baseColor_Loc_Off","CULL_FACE","ONE","ONE_MINUS_SRC_ALPHA","ZERO","DST_COLOR","blendEquationSeparate","FUNC_ADD","blendFuncSeparate","TEXTURE_MAX_ANISOTROPY_EXT","TRIANGLES","UNSIGNED_SHORT","loadShaders2","getAttribLocation","getUniformLocation","disposeShader","deleteProgram","compileShader","createShader","shaderSource","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","deleteShader","createProgram","VERTEX_SHADER","FRAGMENT_SHADER","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","createRenderbuffer","bindRenderbuffer","RENDERBUFFER","renderbufferStorage","RGBA4","framebufferRenderbuffer","COLOR_ATTACHMENT0","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","framebufferTexture2D","renderbuffer","_$fP","_$3L","_$mP","_$zT","getFloat64","getFloat32","getInt32","getInt8","getInt16","_$2T","O","_$bT","_$5b","Float64Array","_$Jb","_$4b","_$wP","_$2S","_$wS","_$kT","_$tS","SYSTEM_INFO","USER_AGENT","userAgent","isIPhone","_isIPhone","_isIPad","_isAndroid","getOSVersion","version","getOS","indexOf","os","LDTransform","LDGL","Live2DModelJS","DrawDataID","BaseDataID","ParamID","import"],"mappings":"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IG,EAAG,IAAIG,EAAG,IAAIN,EAAG,GAAGG,EAAG,IAAIH,EAAG,GAAGG,EAAG,IAAIH,EAAG,GAAGG,EAAG,IAAIH,EAAG,IAAIG,EAAG,IAAIG,EAAG,GAAGN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGG,EAAG,GAAGN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGG,EAAG,GAAGN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,IAAIH,EAAG,IAAIG,EAAG,IAAIG,EAAG,IAAIN,EAAG,GAAGG,EAAG,IAAIH,EAAG,GAAGG,EAAG,IAAIH,EAAG,GAAGG,EAAG,IAAIH,EAAG,IAAIG,EAAG,IAAIG,EAAG,GAAGN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGG,EAAG,GAAGN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGG,EAAG,IAAIN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,IAAIG,EAAG,IAAIH,EAAG,IAAIG,EAAG,IAAIG,EAAG,IAAIN,EAAG,GAAGG,EAAG,IAAIH,EAAG,GAAGG,EAAG,IAAIH,EAAG,IAAIG,EAAG,IAAIH,EAAG,IAAIG,EAAG,IAAIG,EAAG,GAAGN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGG,EAAG,GAAGN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGG,EAAG,IAAIN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,IAAIG,EAAG,IAAIH,EAAG,IAAIG,EAAG,IAAI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","file":"bundle.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 11);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\r\n * EYHN 基于 live2d 官方 Live2DFramework.js 修改\r\n * \r\n * Copyright © 2016 - 2017 EYHN\r\n */\n//============================================================\n//============================================================\n// class L2DBaseModel \n//============================================================\n//============================================================\nfunction L2DBaseModel() {\n this.live2DModel = null; // ALive2DModel\n this.modelMatrix = null; // L2DModelMatrix\n this.eyeBlink = null; // L2DEyeBlink\n this.physics = null; // L2DPhysics\n this.pose = null; // L2DPose\n this.debugMode = false;\n this.initialized = false;\n this.updating = false;\n this.alpha = 1;\n this.accAlpha = 0;\n this.lipSync = false;\n this.lipSyncValue = 0;\n this.accelX = 0;\n this.accelY = 0;\n this.accelZ = 0;\n this.dragX = 0;\n this.dragY = 0;\n this.startTimeMSec = null;\n this.mainMotionManager = new L2DMotionManager(); //L2DMotionManager\n this.expressionManager = new L2DMotionManager(); //L2DMotionManager\n this.motions = {};\n this.expressions = {};\n\n this.isTexLoaded = false;\n}\n\nvar texCounter = 0;\n\n//============================================================\n// L2DBaseModel # getModelMatrix()\n//============================================================\nL2DBaseModel.prototype.getModelMatrix = function () {\n return this.modelMatrix;\n};\n\n//============================================================\n// L2DBaseModel # setAlpha()\n//============================================================\nL2DBaseModel.prototype.setAlpha = function (a /*float*/) {\n if (a > 0.999) a = 1;\n if (a < 0.001) a = 0;\n this.alpha = a;\n};\n\n//============================================================\n// L2DBaseModel # getAlpha()\n//============================================================\nL2DBaseModel.prototype.getAlpha = function () {\n return this.alpha;\n};\n\n//============================================================\n// L2DBaseModel # isInitialized()\n//============================================================\nL2DBaseModel.prototype.isInitialized = function () {\n return this.initialized;\n};\n\n//============================================================\n// L2DBaseModel # setInitialized()\n//============================================================\nL2DBaseModel.prototype.setInitialized = function (v /*boolean*/) {\n this.initialized = v;\n};\n\n//============================================================\n// L2DBaseModel # isUpdating()\n//============================================================\nL2DBaseModel.prototype.isUpdating = function () {\n return this.updating;\n};\n\n//============================================================\n// L2DBaseModel # setUpdating()\n//============================================================\nL2DBaseModel.prototype.setUpdating = function (v /*boolean*/) {\n this.updating = v;\n};\n\n//============================================================\n// L2DBaseModel # getLive2DModel()\n//============================================================\nL2DBaseModel.prototype.getLive2DModel = function () {\n return this.live2DModel;\n};\n\n//============================================================\n// L2DBaseModel # setLipSync()\n//============================================================\nL2DBaseModel.prototype.setLipSync = function (v /*boolean*/) {\n this.lipSync = v;\n};\n\n//============================================================\n// L2DBaseModel # setLipSyncValue()\n//============================================================\nL2DBaseModel.prototype.setLipSyncValue = function (v /*float*/) {\n this.lipSyncValue = v;\n};\n\n//============================================================\n// L2DBaseModel # setAccel()\n//============================================================\nL2DBaseModel.prototype.setAccel = function (x /*float*/, y /*float*/, z /*float*/) {\n this.accelX = x;\n this.accelY = y;\n this.accelZ = z;\n};\n\n//============================================================\n// L2DBaseModel # setDrag()\n//============================================================\nL2DBaseModel.prototype.setDrag = function (x /*float*/, y /*float*/) {\n this.dragX = x;\n this.dragY = y;\n};\n\n//============================================================\n// L2DBaseModel # getMainMotionManager()\n//============================================================\nL2DBaseModel.prototype.getMainMotionManager = function () {\n return this.mainMotionManager;\n};\n\n//============================================================\n// L2DBaseModel # getExpressionManager()\n//============================================================\nL2DBaseModel.prototype.getExpressionManager = function () {\n return this.expressionManager;\n};\n\n//============================================================\n// L2DBaseModel # loadModelData()\n//============================================================\nL2DBaseModel.prototype.loadModelData = function (path /*String*/, callback) {\n /*\r\n if( this.live2DModel != null ) {\r\n this.live2DModel.deleteTextures();\r\n }\r\n */\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\n if (this.debugMode) pm.log(\"Load model : \" + path);\n\n var thisRef = this;\n pm.loadLive2DModel(path, function (l2dModel) {\n thisRef.live2DModel = l2dModel;\n thisRef.live2DModel.saveParam();\n\n var _err = Live2D.getError();\n\n if (_err != 0) {\n console.error(\"Error : Failed to loadModelData().\");\n return;\n }\n\n thisRef.modelMatrix = new L2DModelMatrix(thisRef.live2DModel.getCanvasWidth(), thisRef.live2DModel.getCanvasHeight()); //L2DModelMatrix\n thisRef.modelMatrix.setWidth(2);\n thisRef.modelMatrix.setCenterPosition(0, 0);\n\n callback(thisRef.live2DModel);\n });\n};\n\n//============================================================\n// L2DBaseModel # loadTexture()\n//============================================================\nL2DBaseModel.prototype.loadTexture = function (no /*int*/, path /*String*/, callback) {\n texCounter++;\n\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\n\n if (this.debugMode) pm.log(\"Load Texture : \" + path);\n\n var thisRef = this;\n pm.loadTexture(this.live2DModel, no, path, function () {\n texCounter--;\n if (texCounter == 0) thisRef.isTexLoaded = true;\n if (typeof callback == \"function\") callback();\n });\n};\n\n//============================================================\n// L2DBaseModel # loadMotion()\n//============================================================\nL2DBaseModel.prototype.loadMotion = function (name /*String*/, path /*String*/, callback) {\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\n\n if (this.debugMode) pm.log(\"Load Motion : \" + path);\n\n var motion = null; //Live2DMotion\n\n var thisRef = this;\n pm.loadBytes(path, function (buf) {\n motion = Live2DMotion.loadMotion(buf);\n if (name != null) {\n thisRef.motions[name] = motion;\n }\n callback(motion);\n });\n};\n\n//============================================================\n// L2DBaseModel # loadExpression()\n//============================================================\nL2DBaseModel.prototype.loadExpression = function (name /*String*/, path /*String*/, callback) {\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\n\n if (this.debugMode) pm.log(\"Load Expression : \" + path);\n\n var thisRef = this;\n pm.loadBytes(path, function (buf) {\n if (name != null) {\n thisRef.expressions[name] = L2DExpressionMotion.loadJson(buf);\n }\n if (typeof callback == \"function\") callback();\n });\n};\n\n//============================================================\n// L2DBaseModel # loadPose()\n//============================================================\nL2DBaseModel.prototype.loadPose = function (path /*String*/, callback) {\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\n if (this.debugMode) pm.log(\"Load Pose : \" + path);\n var thisRef = this;\n try {\n pm.loadBytes(path, function (buf) {\n thisRef.pose = L2DPose.load(buf);\n if (typeof callback == \"function\") callback();\n });\n } catch (e) {\n console.warn(e);\n }\n};\n\n//============================================================\n// L2DBaseModel # loadPhysics()\n//============================================================\nL2DBaseModel.prototype.loadPhysics = function (path /*String*/) {\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\n if (this.debugMode) pm.log(\"Load Physics : \" + path);\n var thisRef = this;\n try {\n pm.loadBytes(path, function (buf) {\n thisRef.physics = L2DPhysics.load(buf);\n });\n } catch (e) {\n console.warn(e);\n }\n};\n\n//============================================================\n// L2DBaseModel # hitTestSimple()\n//============================================================\nL2DBaseModel.prototype.hitTestSimple = function (drawID, testX, testY) {\n\n if (this.live2DModel === null) return !1;\n\n var drawIndex = this.live2DModel.getDrawDataIndex(drawID);\n\n if (drawIndex < 0) return false;\n\n var points = this.live2DModel.getTransformedPoints(drawIndex);\n var left = this.live2DModel.getCanvasWidth();\n var right = 0;\n var top = this.live2DModel.getCanvasHeight();\n var bottom = 0;\n\n for (var j = 0; j < points.length; j = j + 2) {\n var x = points[j];\n var y = points[j + 1];\n\n if (x < left) left = x;\n if (x > right) right = x;\n if (y < top) top = y;\n if (y > bottom) bottom = y;\n }\n var tx = this.modelMatrix.invertTransformX(testX);\n var ty = this.modelMatrix.invertTransformY(testY);\n\n return left <= tx && tx <= right && top <= ty && ty <= bottom;\n};\n\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\n\n//============================================================\n//============================================================\n// class L2DExpressionMotion extends AMotion\n//============================================================\n//============================================================\nfunction L2DExpressionMotion() {\n AMotion.prototype.constructor.call(this);\n this.paramList = new Array(); //ArrayList\n}\n\nL2DExpressionMotion.prototype = new AMotion(); // L2DExpressionMotion extends AMotion\n\n//============================================================\nL2DExpressionMotion.EXPRESSION_DEFAULT = \"DEFAULT\";\nL2DExpressionMotion.TYPE_SET = 0;\nL2DExpressionMotion.TYPE_ADD = 1;\nL2DExpressionMotion.TYPE_MULT = 2;\n\n//============================================================\n// static L2DExpressionMotion.loadJson()\n//============================================================\nL2DExpressionMotion.loadJson = function (buf) {\n var ret = new L2DExpressionMotion();\n\n var pm = Live2DFramework.getPlatformManager();\n var json = pm.jsonParseFromBytes(buf);\n\n ret.setFadeIn(parseInt(json.fade_in) > 0 ? parseInt(json.fade_in) : 1000);\n ret.setFadeOut(parseInt(json.fade_out) > 0 ? parseInt(json.fade_out) : 1000);\n\n if (json.params == null) {\n return ret;\n }\n\n var params = json.params;\n var paramNum = params.length;\n ret.paramList = []; //ArrayList\n for (var i = 0; i < paramNum; i++) {\n var param = params[i];\n var paramID = param.id.toString();\n var value = parseFloat(param.val);\n var calcTypeInt = L2DExpressionMotion.TYPE_ADD;\n var calc = param.calc != null ? param.calc.toString() : \"add\";\n if (calc === \"add\") {\n calcTypeInt = L2DExpressionMotion.TYPE_ADD;\n } else if (calc === \"mult\") {\n calcTypeInt = L2DExpressionMotion.TYPE_MULT;\n } else if (calc === \"set\") {\n calcTypeInt = L2DExpressionMotion.TYPE_SET;\n } else {\n calcTypeInt = L2DExpressionMotion.TYPE_ADD;\n }\n if (calcTypeInt == L2DExpressionMotion.TYPE_ADD) {\n var defaultValue = param.def == null ? 0 : parseFloat(param.def);\n value = value - defaultValue;\n } else if (calcTypeInt == L2DExpressionMotion.TYPE_MULT) {\n var defaultValue = param.def == null ? 1 : parseFloat(param.def);\n if (defaultValue == 0) defaultValue = 1;\n value = value / defaultValue;\n }\n\n var item = new L2DExpressionParam();\n item.id = paramID;\n item.type = calcTypeInt;\n item.value = value;\n\n ret.paramList.push(item);\n }\n\n return ret;\n};\n\n//============================================================\n// L2DExpressionMotion # updateParamExe()\n//============================================================\nL2DExpressionMotion.prototype.updateParamExe = function (model /*ALive2DModel*/, timeMSec /*long*/, weight /*float*/, motionQueueEnt /*MotionQueueEnt*/) {\n for (var i = this.paramList.length - 1; i >= 0; --i) {\n var param = this.paramList[i]; //L2DExpressionParam\n // if (!param || !param.type) continue;\n if (param.type == L2DExpressionMotion.TYPE_ADD) {\n model.addToParamFloat(param.id, param.value, weight);\n } else if (param.type == L2DExpressionMotion.TYPE_MULT) {\n model.multParamFloat(param.id, param.value, weight);\n } else if (param.type == L2DExpressionMotion.TYPE_SET) {\n model.setParamFloat(param.id, param.value, weight);\n }\n }\n};\n\n//============================================================\n//============================================================\n// class L2DExpressionParam \n//============================================================\n//============================================================\nfunction L2DExpressionParam() {\n this.id = \"\";\n this.type = -1;\n this.value = null;\n}\n\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\n\n//============================================================\n//============================================================\n// class L2DEyeBlink \n//============================================================\n//============================================================\nfunction L2DEyeBlink() {\n this.nextBlinkTime = null /* TODO NOT INIT */; // \n this.stateStartTime = null /* TODO NOT INIT */; // \n this.blinkIntervalMsec = null /* TODO NOT INIT */; // \n this.eyeState = EYE_STATE.STATE_FIRST;\n this.blinkIntervalMsec = 4000;\n this.closingMotionMsec = 100;\n this.closedMotionMsec = 50;\n this.openingMotionMsec = 150;\n this.closeIfZero = true;\n this.eyeID_L = \"PARAM_EYE_L_OPEN\";\n this.eyeID_R = \"PARAM_EYE_R_OPEN\";\n}\n\n//============================================================\n// L2DEyeBlink # calcNextBlink()\n//============================================================\nL2DEyeBlink.prototype.calcNextBlink = function () {\n var time /*long*/ = UtSystem.getUserTimeMSec();\n var r /*Number*/ = Math.random();\n return (/*(long)*/time + r * (2 * this.blinkIntervalMsec - 1)\n );\n};\n\n//============================================================\n// L2DEyeBlink # setInterval()\n//============================================================\nL2DEyeBlink.prototype.setInterval = function (blinkIntervalMsec /*int*/) {\n this.blinkIntervalMsec = blinkIntervalMsec;\n};\n\n//============================================================\n// L2DEyeBlink # setEyeMotion()\n//============================================================\nL2DEyeBlink.prototype.setEyeMotion = function (closingMotionMsec /*int*/, closedMotionMsec /*int*/, openingMotionMsec /*int*/) {\n this.closingMotionMsec = closingMotionMsec;\n this.closedMotionMsec = closedMotionMsec;\n this.openingMotionMsec = openingMotionMsec;\n};\n\n//============================================================\n// L2DEyeBlink # updateParam()\n//============================================================\nL2DEyeBlink.prototype.updateParam = function (model /*ALive2DModel*/) {\n var time /*:long*/ = UtSystem.getUserTimeMSec();\n var eyeParamValue /*:Number*/;\n var t /*:Number*/ = 0;\n switch (this.eyeState) {\n case EYE_STATE.STATE_CLOSING:\n t = (time - this.stateStartTime) / this.closingMotionMsec;\n if (t >= 1) {\n t = 1;\n this.eyeState = EYE_STATE.STATE_CLOSED;\n this.stateStartTime = time;\n }\n eyeParamValue = 1 - t;\n break;\n case EYE_STATE.STATE_CLOSED:\n t = (time - this.stateStartTime) / this.closedMotionMsec;\n if (t >= 1) {\n this.eyeState = EYE_STATE.STATE_OPENING;\n this.stateStartTime = time;\n }\n eyeParamValue = 0;\n break;\n case EYE_STATE.STATE_OPENING:\n t = (time - this.stateStartTime) / this.openingMotionMsec;\n if (t >= 1) {\n t = 1;\n this.eyeState = EYE_STATE.STATE_INTERVAL;\n this.nextBlinkTime = this.calcNextBlink();\n }\n eyeParamValue = t;\n break;\n case EYE_STATE.STATE_INTERVAL:\n if (this.nextBlinkTime < time) {\n this.eyeState = EYE_STATE.STATE_CLOSING;\n this.stateStartTime = time;\n }\n eyeParamValue = 1;\n break;\n case EYE_STATE.STATE_FIRST:\n default:\n this.eyeState = EYE_STATE.STATE_INTERVAL;\n this.nextBlinkTime = this.calcNextBlink();\n eyeParamValue = 1;\n break;\n }\n if (!this.closeIfZero) eyeParamValue = -eyeParamValue;\n model.setParamFloat(this.eyeID_L, eyeParamValue);\n model.setParamFloat(this.eyeID_R, eyeParamValue);\n};\n\n//== enum EYE_STATE ==\nvar EYE_STATE = function EYE_STATE() {};\n\nEYE_STATE.STATE_FIRST = \"STATE_FIRST\";\nEYE_STATE.STATE_INTERVAL = \"STATE_INTERVAL\";\nEYE_STATE.STATE_CLOSING = \"STATE_CLOSING\";\nEYE_STATE.STATE_CLOSED = \"STATE_CLOSED\";\nEYE_STATE.STATE_OPENING = \"STATE_OPENING\";\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\n\n//============================================================\n//============================================================\n// class L2DMatrix44 \n//============================================================\n//============================================================\nfunction L2DMatrix44() {\n this.tr = new Float32Array(16); // \n this.identity();\n}\n\n//============================================================\n// static L2DMatrix44.mul()\n//============================================================\nL2DMatrix44.mul = function (a /*float[]*/, b /*float[]*/, dst /*float[]*/) {\n var c = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n var n = 4;\n var i, j, k;\n for (i = 0; i < n; i++) {\n for (j = 0; j < n; j++) {\n for (k = 0; k < n; k++) {\n c[i + j * 4] += a[i + k * 4] * b[k + j * 4];\n }\n }\n }\n for (i = 0; i < 16; i++) {\n dst[i] = c[i];\n }\n};\n\n//============================================================\n// L2DMatrix44 # identity()\n//============================================================\nL2DMatrix44.prototype.identity = function () {\n for (var i /*:int*/ = 0; i < 16; i++) {\n this.tr[i] = i % 5 == 0 ? 1 : 0;\n }\n};\n\n//============================================================\n// L2DMatrix44 # getArray()\n//============================================================\nL2DMatrix44.prototype.getArray = function () {\n return this.tr;\n};\n\n//============================================================\n// L2DMatrix44 # getCopyMatrix()\n//============================================================\nL2DMatrix44.prototype.getCopyMatrix = function () {\n return new Float32Array(this.tr); // this.tr.clone();\n};\n\n//============================================================\n// L2DMatrix44 # setMatrix()\n//============================================================\nL2DMatrix44.prototype.setMatrix = function (tr /*float[]*/) {\n if (this.tr == null || this.tr.length != this.tr.length) return;\n for (var i /*:int*/ = 0; i < 16; i++) {\n this.tr[i] = tr[i];\n }\n};\n\n//============================================================\n// L2DMatrix44 # getScaleX()\n//============================================================\nL2DMatrix44.prototype.getScaleX = function () {\n return this.tr[0];\n};\n\n//============================================================\n// L2DMatrix44 # getScaleY()\n//============================================================\nL2DMatrix44.prototype.getScaleY = function () {\n return this.tr[5];\n};\n\n//============================================================\n// L2DMatrix44 # transformX()\n//============================================================\nL2DMatrix44.prototype.transformX = function (src /*float*/) {\n return this.tr[0] * src + this.tr[12];\n};\n\n//============================================================\n// L2DMatrix44 # transformY()\n//============================================================\nL2DMatrix44.prototype.transformY = function (src /*float*/) {\n return this.tr[5] * src + this.tr[13];\n};\n\n//============================================================\n// L2DMatrix44 # invertTransformX()\n//============================================================\nL2DMatrix44.prototype.invertTransformX = function (src /*float*/) {\n return (src - this.tr[12]) / this.tr[0];\n};\n\n//============================================================\n// L2DMatrix44 # invertTransformY()\n//============================================================\nL2DMatrix44.prototype.invertTransformY = function (src /*float*/) {\n return (src - this.tr[13]) / this.tr[5];\n};\n\n//============================================================\n// L2DMatrix44 # multTranslate()\n//============================================================\nL2DMatrix44.prototype.multTranslate = function (shiftX /*float*/, shiftY /*float*/) {\n var tr1 = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, shiftX, shiftY, 0, 1];\n L2DMatrix44.mul(tr1, this.tr, this.tr);\n};\n\n//============================================================\n// L2DMatrix44 # translate()\n//============================================================\nL2DMatrix44.prototype.translate = function (x /*float*/, y /*float*/) {\n this.tr[12] = x;\n this.tr[13] = y;\n};\n\n//============================================================\n// L2DMatrix44 # translateX()\n//============================================================\nL2DMatrix44.prototype.translateX = function (x /*float*/) {\n this.tr[12] = x;\n};\n\n//============================================================\n// L2DMatrix44 # translateY()\n//============================================================\nL2DMatrix44.prototype.translateY = function (y /*float*/) {\n this.tr[13] = y;\n};\n\n//============================================================\n// L2DMatrix44 # multScale()\n//============================================================\nL2DMatrix44.prototype.multScale = function (scaleX /*float*/, scaleY /*float*/) {\n var tr1 = [scaleX, 0, 0, 0, 0, scaleY, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n L2DMatrix44.mul(tr1, this.tr, this.tr);\n};\n\n//============================================================\n// L2DMatrix44 # scale()\n//============================================================\nL2DMatrix44.prototype.scale = function (scaleX /*float*/, scaleY /*float*/) {\n this.tr[0] = scaleX;\n this.tr[5] = scaleY;\n};\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\n\n//============================================================\n//============================================================\n// class L2DModelMatrix extends L2DMatrix44\n//============================================================\n//============================================================\nfunction L2DModelMatrix(w /*float*/, h /*float*/) {\n L2DMatrix44.prototype.constructor.call(this);\n this.width = w;\n this.height = h;\n}\n\n//L2DModelMatrix extends L2DMatrix44\nL2DModelMatrix.prototype = new L2DMatrix44();\n\n//============================================================\n// L2DModelMatrix # setPosition()\n//============================================================\nL2DModelMatrix.prototype.setPosition = function (x /*float*/, y /*float*/) {\n this.translate(x, y);\n};\n\n//============================================================\n// L2DModelMatrix # setCenterPosition()\n//============================================================\nL2DModelMatrix.prototype.setCenterPosition = function (x /*float*/, y /*float*/) {\n var w = this.width * this.getScaleX();\n var h = this.height * this.getScaleY();\n this.translate(x - w / 2, y - h / 2);\n};\n\n//============================================================\n// L2DModelMatrix # top()\n//============================================================\nL2DModelMatrix.prototype.top = function (y /*float*/) {\n this.setY(y);\n};\n\n//============================================================\n// L2DModelMatrix # bottom()\n//============================================================\nL2DModelMatrix.prototype.bottom = function (y /*float*/) {\n var h = this.height * this.getScaleY();\n this.translateY(y - h);\n};\n\n//============================================================\n// L2DModelMatrix # left()\n//============================================================\nL2DModelMatrix.prototype.left = function (x /*float*/) {\n this.setX(x);\n};\n\n//============================================================\n// L2DModelMatrix # right()\n//============================================================\nL2DModelMatrix.prototype.right = function (x /*float*/) {\n var w = this.width * this.getScaleX();\n this.translateX(x - w);\n};\n\n//============================================================\n// L2DModelMatrix # centerX()\n//============================================================\nL2DModelMatrix.prototype.centerX = function (x /*float*/) {\n var w = this.width * this.getScaleX();\n this.translateX(x - w / 2);\n};\n\n//============================================================\n// L2DModelMatrix # centerY()\n//============================================================\nL2DModelMatrix.prototype.centerY = function (y /*float*/) {\n var h = this.height * this.getScaleY();\n this.translateY(y - h / 2);\n};\n\n//============================================================\n// L2DModelMatrix # setX()\n//============================================================\nL2DModelMatrix.prototype.setX = function (x /*float*/) {\n this.translateX(x);\n};\n\n//============================================================\n// L2DModelMatrix # setY()\n//============================================================\nL2DModelMatrix.prototype.setY = function (y /*float*/) {\n this.translateY(y);\n};\n\n//============================================================\n// L2DModelMatrix # setHeight()\n//============================================================\nL2DModelMatrix.prototype.setHeight = function (h /*float*/) {\n var scaleX = h / this.height;\n var scaleY = -scaleX;\n this.scale(scaleX, scaleY);\n};\n\n//============================================================\n// L2DModelMatrix # setWidth()\n//============================================================\nL2DModelMatrix.prototype.setWidth = function (w /*float*/) {\n var scaleX = w / this.width;\n var scaleY = -scaleX;\n this.scale(scaleX, scaleY);\n};\n\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\n\n//============================================================\n//============================================================\n// class L2DMotionManager extends MotionQueueManager\n//============================================================\n//============================================================\nfunction L2DMotionManager() {\n MotionQueueManager.prototype.constructor.call(this);\n this.currentPriority = null;\n this.reservePriority = null;\n\n this.super = MotionQueueManager.prototype;\n}\n\nL2DMotionManager.prototype = new MotionQueueManager();\n\n//============================================================\n// L2DMotionManager # getCurrentPriority()\n//============================================================\nL2DMotionManager.prototype.getCurrentPriority = function () {\n return this.currentPriority;\n};\n\n//============================================================\n// L2DMotionManager # getReservePriority()\n//============================================================\nL2DMotionManager.prototype.getReservePriority = function () {\n return this.reservePriority;\n};\n\n//============================================================\n// L2DMotionManager # reserveMotion()\n//============================================================\nL2DMotionManager.prototype.reserveMotion = function (priority /*int*/) {\n if (this.reservePriority >= priority) {\n return false;\n }\n if (this.currentPriority >= priority) {\n return false;\n }\n\n this.reservePriority = priority;\n\n return true;\n};\n\n//============================================================\n// L2DMotionManager # setReservePriority()\n//============================================================\nL2DMotionManager.prototype.setReservePriority = function (val /*int*/) {\n this.reservePriority = val;\n};\n\n//============================================================\n// L2DMotionManager # updateParam()\n//============================================================\nL2DMotionManager.prototype.updateParam = function (model /*ALive2DModel*/) {\n var updated = MotionQueueManager.prototype.updateParam.call(this, model);\n\n if (this.isFinished()) {\n this.currentPriority = 0;\n }\n\n return updated;\n};\n\n//============================================================\n// L2DMotionManager # startMotionPrio()\n//============================================================\nL2DMotionManager.prototype.startMotionPrio = function (motion /*AMotion*/, priority /*int*/) {\n if (priority == this.reservePriority) {\n this.reservePriority = 0;\n }\n this.currentPriority = priority;\n return this.startMotion(motion, false);\n};\n\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\n\n//============================================================\n//============================================================\n// class L2DPhysics \n//============================================================\n//============================================================\nfunction L2DPhysics() {\n this.physicsList = new Array(); //ArrayList\n this.startTimeMSec = UtSystem.getUserTimeMSec();\n}\n\n//============================================================\n// static L2DPhysics.load()\n//============================================================\nL2DPhysics.load = function (buf /*byte[]*/) {\n var ret = new L2DPhysics(); //L2DPhysicsL2DPhysics\n var pm = Live2DFramework.getPlatformManager();\n var json = pm.jsonParseFromBytes(buf);\n var params = json.physics_hair;\n var paramNum = params.length;\n for (var i = 0; i < paramNum; i++) {\n var param = params[i]; //Value\n var physics = new PhysicsHair(); //PhysicsHairPhysicsHair\n var setup = param.setup; //Value\n var length = parseFloat(setup.length);\n var resist = parseFloat(setup.regist);\n var mass = parseFloat(setup.mass);\n physics.setup(length, resist, mass);\n var srcList = param.src; //Value\n var srcNum = srcList.length;\n for (var j = 0; j < srcNum; j++) {\n var src = srcList[j]; //Value\n var id = src.id; //String\n var type = PhysicsHair.Src.SRC_TO_X;\n var typeStr = src.ptype; //String\n if (typeStr === \"x\") {\n type = PhysicsHair.Src.SRC_TO_X;\n } else if (typeStr === \"y\") {\n type = PhysicsHair.Src.SRC_TO_Y;\n } else if (typeStr === \"angle\") {\n type = PhysicsHair.Src.SRC_TO_G_ANGLE;\n } else {\n UtDebug.error(\"live2d\", \"Invalid parameter:PhysicsHair.Src\");\n }\n var scale = parseFloat(src.scale);\n var weight = parseFloat(src.weight);\n physics.addSrcParam(type, id, scale, weight);\n }\n var targetList = param.targets; //Value\n var targetNum = targetList.length;\n for (var j = 0; j < targetNum; j++) {\n var target = targetList[j]; //Value\n var id = target.id; //String\n var type = PhysicsHair.Target.TARGET_FROM_ANGLE;\n var typeStr = target.ptype; //String\n if (typeStr === \"angle\") {\n type = PhysicsHair.Target.TARGET_FROM_ANGLE;\n } else if (typeStr === \"angle_v\") {\n type = PhysicsHair.Target.TARGET_FROM_ANGLE_V;\n } else {\n UtDebug.error(\"live2d\", \"Invalid parameter:PhysicsHair.Target\");\n }\n var scale = parseFloat(target.scale);\n var weight = parseFloat(target.weight);\n physics.addTargetParam(type, id, scale, weight);\n }\n ret.physicsList.push(physics);\n }\n return ret;\n};\n\n//============================================================\n// L2DPhysics # updateParam()\n//============================================================\nL2DPhysics.prototype.updateParam = function (model /*ALive2DModel*/) {\n var timeMSec = UtSystem.getUserTimeMSec() - this.startTimeMSec;\n for (var i = 0; i < this.physicsList.length; i++) {\n this.physicsList[i].update(model, timeMSec);\n }\n};\n\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\n\n//============================================================\n//============================================================\n// class L2DPose \n//============================================================\n//============================================================\nfunction L2DPose() {\n this.lastTime = 0;\n this.lastModel = null; //ALive2DModel\n this.partsGroups = new Array(); //ArrayList\n}\n\n//============================================================\n// static L2DPose.load()\n//============================================================\nL2DPose.load = function (buf /*byte[]*/) {\n var ret = new L2DPose(); //L2DPose\n var pm = Live2DFramework.getPlatformManager();\n var json = pm.jsonParseFromBytes(buf);\n var poseListInfo = json.parts_visible; //Value\n var poseNum = poseListInfo.length;\n for (var i_pose = 0; i_pose < poseNum; i_pose++) {\n var poseInfo = poseListInfo[i_pose]; //Value\n var idListInfo = poseInfo.group; //Value\n var idNum = idListInfo.length;\n var partsGroup /*L2DPartsParam*/ = new Array();\n for (var i_group = 0; i_group < idNum; i_group++) {\n var partsInfo = idListInfo[i_group]; //Value\n var parts = new L2DPartsParam(partsInfo.id); //L2DPartsParamL2DPartsParam\n partsGroup[i_group] = parts;\n if (partsInfo.link == null) continue;\n var linkListInfo = partsInfo.link; //Value\n var linkNum = linkListInfo.length;\n parts.link = new Array(); //ArrayList\n for (var i_link = 0; i_link < linkNum; i_link++) {\n var linkParts = new L2DPartsParam(linkListInfo[i_link]); //L2DPartsParamL2DPartsParam\n parts.link.push(linkParts);\n }\n }\n ret.partsGroups.push(partsGroup);\n }\n\n return ret;\n};\n\n//============================================================\n// L2DPose # updateParam()\n//============================================================\nL2DPose.prototype.updateParam = function (model /*ALive2DModel*/) {\n if (model == null) return;\n\n if (!(model == this.lastModel)) {\n this.initParam(model);\n }\n this.lastModel = model;\n\n var curTime = UtSystem.getUserTimeMSec();\n var deltaTimeSec = this.lastTime == 0 ? 0 : (curTime - this.lastTime) / 1000.0;\n this.lastTime = curTime;\n if (deltaTimeSec < 0) deltaTimeSec = 0;\n for (var i = 0; i < this.partsGroups.length; i++) {\n this.normalizePartsOpacityGroup(model, this.partsGroups[i], deltaTimeSec);\n this.copyOpacityOtherParts(model, this.partsGroups[i]);\n }\n};\n\n//============================================================\n// L2DPose # initParam()\n//============================================================\nL2DPose.prototype.initParam = function (model /*ALive2DModel*/) {\n if (model == null) return;\n for (var i = 0; i < this.partsGroups.length; i++) {\n var partsGroup = this.partsGroups[i]; //L2DPartsParam\n for (var j = 0; j < partsGroup.length; j++) {\n partsGroup[j].initIndex(model);\n var partsIndex = partsGroup[j].partsIndex;\n var paramIndex = partsGroup[j].paramIndex;\n if (partsIndex < 0) continue;\n var v /*:Boolean*/ = model.getParamFloat(paramIndex) != 0;\n model.setPartsOpacity(partsIndex, v ? 1.0 : 0.0);\n model.setParamFloat(paramIndex, v ? 1.0 : 0.0);\n if (partsGroup[j].link == null) continue;\n for (var k = 0; k < partsGroup[j].link.length; k++) {\n partsGroup[j].link[k].initIndex(model);\n }\n }\n }\n};\n\n//============================================================\n// L2DPose # normalizePartsOpacityGroup()\n//============================================================\nL2DPose.prototype.normalizePartsOpacityGroup = function (model /*ALive2DModel*/, partsGroup /*L2DPartsParam[]*/, deltaTimeSec /*float*/) {\n var visibleParts = -1;\n var visibleOpacity = 1.0;\n var CLEAR_TIME_SEC = 0.5;\n var phi = 0.5;\n var maxBackOpacity = 0.15;\n for (var i = 0; i < partsGroup.length; i++) {\n var partsIndex = partsGroup[i].partsIndex;\n var paramIndex = partsGroup[i].paramIndex;\n if (partsIndex < 0) continue;if (model.getParamFloat(paramIndex) != 0) {\n if (visibleParts >= 0) {\n break;\n }\n visibleParts = i;\n visibleOpacity = model.getPartsOpacity(partsIndex);\n visibleOpacity += deltaTimeSec / CLEAR_TIME_SEC;\n if (visibleOpacity > 1) {\n visibleOpacity = 1;\n }\n }\n }\n if (visibleParts < 0) {\n visibleParts = 0;\n visibleOpacity = 1;\n }\n for (var i = 0; i < partsGroup.length; i++) {\n var partsIndex = partsGroup[i].partsIndex;\n if (partsIndex < 0) continue;if (visibleParts == i) {\n model.setPartsOpacity(partsIndex, visibleOpacity);\n } else {\n var opacity = model.getPartsOpacity(partsIndex);\n var a1;\n if (visibleOpacity < phi) {\n a1 = visibleOpacity * (phi - 1) / phi + 1;\n } else {\n a1 = (1 - visibleOpacity) * phi / (1 - phi);\n }\n var backOp = (1 - a1) * (1 - visibleOpacity);\n if (backOp > maxBackOpacity) {\n a1 = 1 - maxBackOpacity / (1 - visibleOpacity);\n }\n if (opacity > a1) {\n opacity = a1;\n }\n model.setPartsOpacity(partsIndex, opacity);\n }\n }\n};\n\n//============================================================\n// L2DPose # copyOpacityOtherParts()\n//============================================================\nL2DPose.prototype.copyOpacityOtherParts = function (model /*ALive2DModel*/, partsGroup /*L2DPartsParam[]*/) {\n for (var i_group = 0; i_group < partsGroup.length; i_group++) {\n var partsParam = partsGroup[i_group]; //L2DPartsParam\n if (partsParam.link == null) continue;\n if (partsParam.partsIndex < 0) continue;\n var opacity = model.getPartsOpacity(partsParam.partsIndex);\n for (var i_link = 0; i_link < partsParam.link.length; i_link++) {\n var linkParts = partsParam.link[i_link]; //L2DPartsParam\n if (linkParts.partsIndex < 0) continue;\n model.setPartsOpacity(linkParts.partsIndex, opacity);\n }\n }\n};\n\n//============================================================\n//============================================================\n// class L2DPartsParam \n//============================================================\n//============================================================\nfunction L2DPartsParam(id /*String*/) {\n this.paramIndex = -1;\n this.partsIndex = -1;\n this.link = null; // ArrayList\n this.id = id;\n}\n\n//============================================================\n// L2DPartsParam # initIndex()\n//============================================================\nL2DPartsParam.prototype.initIndex = function (model /*ALive2DModel*/) {\n this.paramIndex = model.getParamIndex(\"VISIBLE:\" + this.id);\n this.partsIndex = model.getPartsDataIndex(PartsDataID.getID(this.id));\n model.setParamFloat(this.paramIndex, 1);\n};\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\n\n//============================================================\n//============================================================\n// class L2DTargetPoint \n//============================================================\n//============================================================\nfunction L2DTargetPoint() {\n this.EPSILON = 0.01; // 変化の最小値(この値以下は無視される)\n this.faceTargetX = 0;\n this.faceTargetY = 0;\n this.faceX = 0;\n this.faceY = 0;\n this.faceVX = 0;\n this.faceVY = 0;\n this.lastTimeSec = 0;\n}\n\n//============================================================\nL2DTargetPoint.FRAME_RATE = 30;\n\n//============================================================\n// L2DTargetPoint # set()\n//============================================================\nL2DTargetPoint.prototype.setPoint = function (x /*float*/, y /*float*/) {\n this.faceTargetX = x;\n this.faceTargetY = y;\n};\n\n//============================================================\n// L2DTargetPoint # getX()\n//============================================================\nL2DTargetPoint.prototype.getX = function () {\n return this.faceX;\n};\n\n//============================================================\n// L2DTargetPoint # getY()\n//============================================================\nL2DTargetPoint.prototype.getY = function () {\n return this.faceY;\n};\n\n//============================================================\n// L2DTargetPoint # update()\n//============================================================\nL2DTargetPoint.prototype.update = function () {\n var TIME_TO_MAX_SPEED = 0.15;\n var FACE_PARAM_MAX_V = 40.0 / 7.5;\n var MAX_V = FACE_PARAM_MAX_V / L2DTargetPoint.FRAME_RATE;\n if (this.lastTimeSec == 0) {\n this.lastTimeSec = UtSystem.getUserTimeMSec();\n return;\n }\n var curTimeSec = UtSystem.getUserTimeMSec();\n var deltaTimeWeight = (curTimeSec - this.lastTimeSec) * L2DTargetPoint.FRAME_RATE / 1000.0;\n this.lastTimeSec = curTimeSec;\n var FRAME_TO_MAX_SPEED = TIME_TO_MAX_SPEED * L2DTargetPoint.FRAME_RATE;\n var MAX_A = deltaTimeWeight * MAX_V / FRAME_TO_MAX_SPEED;\n var dx = this.faceTargetX - this.faceX;\n var dy = this.faceTargetY - this.faceY;\n // if(dx == 0 && dy == 0) return;\n if (Math.abs(dx) <= this.EPSILON && Math.abs(dy) <= this.EPSILON) return;\n var d = Math.sqrt(dx * dx + dy * dy);\n var vx = MAX_V * dx / d;\n var vy = MAX_V * dy / d;\n var ax = vx - this.faceVX;\n var ay = vy - this.faceVY;\n var a = Math.sqrt(ax * ax + ay * ay);\n if (a < -MAX_A || a > MAX_A) {\n ax *= MAX_A / a;\n ay *= MAX_A / a;\n a = MAX_A;\n }\n this.faceVX += ax;\n this.faceVY += ay;\n {\n var max_v = 0.5 * (Math.sqrt(MAX_A * MAX_A + 16 * MAX_A * d - 8 * MAX_A * d) - MAX_A);\n var cur_v = Math.sqrt(this.faceVX * this.faceVX + this.faceVY * this.faceVY);\n if (cur_v > max_v) {\n this.faceVX *= max_v / cur_v;\n this.faceVY *= max_v / cur_v;\n }\n }\n this.faceX += this.faceVX;\n this.faceY += this.faceVY;\n};\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\n\n//============================================================\n//============================================================\n// class L2DViewMatrix extends L2DMatrix44\n//============================================================\n//============================================================\nfunction L2DViewMatrix() {\n L2DMatrix44.prototype.constructor.call(this);\n this.screenLeft = null;\n this.screenRight = null;\n this.screenTop = null;\n this.screenBottom = null;\n this.maxLeft = null;\n this.maxRight = null;\n this.maxTop = null;\n this.maxBottom = null;\n this.max = Number.MAX_VALUE;\n this.min = 0;\n}\n\nL2DViewMatrix.prototype = new L2DMatrix44(); //L2DViewMatrix extends L2DMatrix44\n\n//============================================================\n// L2DViewMatrix # getMaxScale()\n//============================================================\nL2DViewMatrix.prototype.getMaxScale = function () {\n return this.max;\n};\n\n//============================================================\n// L2DViewMatrix # getMinScale()\n//============================================================\nL2DViewMatrix.prototype.getMinScale = function () {\n return this.min;\n};\n\n//============================================================\n// L2DViewMatrix # setMaxScale()\n//============================================================\nL2DViewMatrix.prototype.setMaxScale = function (v /*float*/) {\n this.max = v;\n};\n\n//============================================================\n// L2DViewMatrix # setMinScale()\n//============================================================\nL2DViewMatrix.prototype.setMinScale = function (v /*float*/) {\n this.min = v;\n};\n\n//============================================================\n// L2DViewMatrix # isMaxScale()\n//============================================================\nL2DViewMatrix.prototype.isMaxScale = function () {\n return this.getScaleX() == this.max;\n};\n\n//============================================================\n// L2DViewMatrix # isMinScale()\n//============================================================\nL2DViewMatrix.prototype.isMinScale = function () {\n return this.getScaleX() == this.min;\n};\n\n//============================================================\n// L2DViewMatrix # adjustTranslate()\n//============================================================\nL2DViewMatrix.prototype.adjustTranslate = function (shiftX /*float*/, shiftY /*float*/) {\n if (this.tr[0] * this.maxLeft + (this.tr[12] + shiftX) > this.screenLeft) shiftX = this.screenLeft - this.tr[0] * this.maxLeft - this.tr[12];\n if (this.tr[0] * this.maxRight + (this.tr[12] + shiftX) < this.screenRight) shiftX = this.screenRight - this.tr[0] * this.maxRight - this.tr[12];\n if (this.tr[5] * this.maxTop + (this.tr[13] + shiftY) < this.screenTop) shiftY = this.screenTop - this.tr[5] * this.maxTop - this.tr[13];\n if (this.tr[5] * this.maxBottom + (this.tr[13] + shiftY) > this.screenBottom) shiftY = this.screenBottom - this.tr[5] * this.maxBottom - this.tr[13];\n\n var tr1 = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, shiftX, shiftY, 0, 1];\n L2DMatrix44.mul(tr1, this.tr, this.tr);\n};\n\n//============================================================\n// L2DViewMatrix # adjustScale()\n//============================================================\nL2DViewMatrix.prototype.adjustScale = function (cx /*float*/, cy /*float*/, scale /*float*/) {\n var targetScale = scale * this.tr[0];\n if (targetScale < this.min) {\n if (this.tr[0] > 0) scale = this.min / this.tr[0];\n } else if (targetScale > this.max) {\n if (this.tr[0] > 0) scale = this.max / this.tr[0];\n }\n var tr1 = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, cx, cy, 0, 1];\n var tr2 = [scale, 0, 0, 0, 0, scale, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n var tr3 = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -cx, -cy, 0, 1];\n L2DMatrix44.mul(tr3, this.tr, this.tr);\n L2DMatrix44.mul(tr2, this.tr, this.tr);\n L2DMatrix44.mul(tr1, this.tr, this.tr);\n};\n\n//============================================================\n// L2DViewMatrix # setScreenRect()\n//============================================================\nL2DViewMatrix.prototype.setScreenRect = function (left /*float*/, right /*float*/, bottom /*float*/, top /*float*/) {\n this.screenLeft = left;\n this.screenRight = right;\n this.screenTop = top;\n this.screenBottom = bottom;\n};\n\n//============================================================\n// L2DViewMatrix # setMaxScreenRect()\n//============================================================\nL2DViewMatrix.prototype.setMaxScreenRect = function (left /*float*/, right /*float*/, bottom /*float*/, top /*float*/) {\n this.maxLeft = left;\n this.maxRight = right;\n this.maxTop = top;\n this.maxBottom = bottom;\n};\n\n//============================================================\n// L2DViewMatrix # getScreenLeft()\n//============================================================\nL2DViewMatrix.prototype.getScreenLeft = function () {\n return this.screenLeft;\n};\n\n//============================================================\n// L2DViewMatrix # getScreenRight()\n//============================================================\nL2DViewMatrix.prototype.getScreenRight = function () {\n return this.screenRight;\n};\n\n//============================================================\n// L2DViewMatrix # getScreenBottom()\n//============================================================\nL2DViewMatrix.prototype.getScreenBottom = function () {\n return this.screenBottom;\n};\n\n//============================================================\n// L2DViewMatrix # getScreenTop()\n//============================================================\nL2DViewMatrix.prototype.getScreenTop = function () {\n return this.screenTop;\n};\n\n//============================================================\n// L2DViewMatrix # getMaxLeft()\n//============================================================\nL2DViewMatrix.prototype.getMaxLeft = function () {\n return this.maxLeft;\n};\n\n//============================================================\n// L2DViewMatrix # getMaxRight()\n//============================================================\nL2DViewMatrix.prototype.getMaxRight = function () {\n return this.maxRight;\n};\n\n//============================================================\n// L2DViewMatrix # getMaxBottom()\n//============================================================\nL2DViewMatrix.prototype.getMaxBottom = function () {\n return this.maxBottom;\n};\n\n//============================================================\n// L2DViewMatrix # getMaxTop()\n//============================================================\nL2DViewMatrix.prototype.getMaxTop = function () {\n return this.maxTop;\n};\n\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\n\n//============================================================\n//============================================================\n// class Live2DFramework \n//============================================================\n//============================================================\nfunction Live2DFramework() {}\n\n//============================================================\nLive2DFramework.platformManager = null;\n\n//============================================================\n// static Live2DFramework.getPlatformManager()\n//============================================================\nLive2DFramework.getPlatformManager = function () {\n return Live2DFramework.platformManager;\n};\n\n//============================================================\n// static Live2DFramework.setPlatformManager()\n//============================================================\nLive2DFramework.setPlatformManager = function (platformManager /*IPlatformManager*/) {\n Live2DFramework.platformManager = platformManager;\n};\n\nmodule.exports = {\n L2DTargetPoint: L2DTargetPoint,\n Live2DFramework: Live2DFramework,\n L2DViewMatrix: L2DViewMatrix,\n L2DPose: L2DPose,\n L2DPartsParam: L2DPartsParam,\n L2DPhysics: L2DPhysics,\n L2DMotionManager: L2DMotionManager,\n L2DModelMatrix: L2DModelMatrix,\n L2DMatrix44: L2DMatrix44,\n EYE_STATE: EYE_STATE,\n L2DEyeBlink: L2DEyeBlink,\n L2DExpressionParam: L2DExpressionParam,\n L2DExpressionMotion: L2DExpressionMotion,\n L2DBaseModel: L2DBaseModel\n};\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LAppDefine = {\n\n DEBUG_LOG: false,\n DEBUG_MOUSE_LOG: false,\n // DEBUG_DRAW_HIT_AREA : false, \n // DEBUG_DRAW_ALPHA_MODEL : false, \n\n\n VIEW_MAX_SCALE: 2,\n VIEW_MIN_SCALE: 0.8,\n\n VIEW_LOGICAL_LEFT: -1,\n VIEW_LOGICAL_RIGHT: 1,\n\n VIEW_LOGICAL_MAX_LEFT: -2,\n VIEW_LOGICAL_MAX_RIGHT: 2,\n VIEW_LOGICAL_MAX_BOTTOM: -2,\n VIEW_LOGICAL_MAX_TOP: 2,\n\n PRIORITY_NONE: 0,\n PRIORITY_IDLE: 1,\n PRIORITY_NORMAL: 2,\n PRIORITY_FORCE: 3,\n\n MOTION_GROUP_IDLE: \"idle\",\n MOTION_GROUP_TAP_BODY: \"tap_body\",\n MOTION_GROUP_FLICK_HEAD: \"flick_head\",\n MOTION_GROUP_PINCH_IN: \"pinch_in\",\n MOTION_GROUP_PINCH_OUT: \"pinch_out\",\n MOTION_GROUP_SHAKE: \"shake\",\n\n HIT_AREA_HEAD: \"head\",\n HIT_AREA_BODY: \"body\"\n\n};\n\nmodule.exports = LAppDefine;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n *\n * You can modify and use this source freely\n * only for the development of application related Live2D.\n *\n * (c) Live2D Inc. All rights reserved.\n */\n/**\n * EYHN 修改\n * \n * Copyright © 2016 - 2017 EYHN\n */\n\nfunction MatrixStack() {}\n\nMatrixStack.matrixStack = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n\nMatrixStack.depth = 0;\n\nMatrixStack.currentMatrix = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n\nMatrixStack.tmp = new Array(16);\n\nMatrixStack.reset = function () {\n this.depth = 0;\n};\n\nMatrixStack.loadIdentity = function () {\n for (var i = 0; i < 16; i++) {\n this.currentMatrix[i] = i % 5 == 0 ? 1 : 0;\n }\n};\n\nMatrixStack.push = function () {\n var offset = this.depth * 16;\n var nextOffset = (this.depth + 1) * 16;\n\n if (this.matrixStack.length < nextOffset + 16) {\n this.matrixStack.length = nextOffset + 16;\n }\n\n for (var i = 0; i < 16; i++) {\n this.matrixStack[nextOffset + i] = this.currentMatrix[i];\n }\n\n this.depth++;\n};\n\nMatrixStack.pop = function () {\n this.depth--;\n if (this.depth < 0) {\n myError(\"Invalid matrix stack.\");\n this.depth = 0;\n }\n\n var offset = this.depth * 16;\n for (var i = 0; i < 16; i++) {\n this.currentMatrix[i] = this.matrixStack[offset + i];\n }\n};\n\nMatrixStack.getMatrix = function () {\n return this.currentMatrix;\n};\n\nMatrixStack.multMatrix = function (matNew) {\n var i, j, k;\n\n for (i = 0; i < 16; i++) {\n this.tmp[i] = 0;\n }\n\n for (i = 0; i < 4; i++) {\n for (j = 0; j < 4; j++) {\n for (k = 0; k < 4; k++) {\n this.tmp[i + j * 4] += this.currentMatrix[i + k * 4] * matNew[k + j * 4];\n }\n }\n }\n for (i = 0; i < 16; i++) {\n this.currentMatrix[i] = this.tmp[i];\n }\n};\n\nmodule.exports = MatrixStack;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setContext = setContext;\nexports.getContext = getContext;\n\nvar context = undefined;\n\nfunction setContext(webglContext) {\n context = webglContext;\n}\n\nfunction getContext() {\n return context;\n}\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(9);\n\nvar _Live2DFramework = __webpack_require__(0);\n\nvar _LAppLive2DManager = __webpack_require__(5);\n\nvar _LAppLive2DManager2 = _interopRequireDefault(_LAppLive2DManager);\n\nvar _LAppDefine = __webpack_require__(1);\n\nvar _LAppDefine2 = _interopRequireDefault(_LAppDefine);\n\nvar _MatrixStack = __webpack_require__(2);\n\nvar _MatrixStack2 = _interopRequireDefault(_MatrixStack);\n\nvar _webglcontext = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// window.onerror = function (msg, url, line, col, error) {\n// let errmsg = \"file:\" + url + \"
line:\" + line + \" \" + msg;\n// console.error(errmsg);\n// }\n\nvar platform = window.navigator.platform.toLowerCase();\n\nvar live2DMgr = new _LAppLive2DManager2.default();\n\nvar isDrawStart = false;\n\nvar gl = null;\n\nvar canvas = null;\n\nvar dragMgr = null;\n\nvar viewMatrix = null;\n\nvar projMatrix = null;\n\nvar deviceToScreen = null;\n\nvar drag = false;\n\nvar oldLen = 0;\n\nvar lastMouseX = 0;\n\nvar lastMouseY = 0;\n\nvar isModelShown = 0;\n\nvar modelurl = \"\";\n\nvar head_pos = 0.5;\n\nfunction initL2dCanvas(canvasId) {\n canvas = document.getElementById(canvasId);\n if (canvas.addEventListener) {\n //canvas.addEventListener(\"mousewheel\", mouseEvent);\n window.addEventListener(\"click\", mouseEvent);\n window.addEventListener(\"mousedown\", mouseEvent);\n window.addEventListener(\"mousemove\", mouseEvent);\n window.addEventListener(\"mouseup\", mouseEvent);\n document.addEventListener(\"mouseleave\", mouseEvent);\n //canvas.addEventListener(\"contextmenu\", mouseEvent);\n window.addEventListener(\"touchstart\", touchEvent);\n window.addEventListener(\"touchend\", touchEvent);\n window.addEventListener(\"touchmove\", touchEvent);\n }\n}\n\nfunction init(modelurl) {\n var width = canvas.width;\n var height = canvas.height;\n\n dragMgr = new _Live2DFramework.L2DTargetPoint();\n\n var ratio = height / width;\n var left = _LAppDefine2.default.VIEW_LOGICAL_LEFT;\n var right = _LAppDefine2.default.VIEW_LOGICAL_RIGHT;\n var bottom = -ratio;\n var top = ratio;\n\n viewMatrix = new _Live2DFramework.L2DViewMatrix();\n\n viewMatrix.setScreenRect(left, right, bottom, top);\n\n viewMatrix.setMaxScreenRect(_LAppDefine2.default.VIEW_LOGICAL_MAX_LEFT, _LAppDefine2.default.VIEW_LOGICAL_MAX_RIGHT, _LAppDefine2.default.VIEW_LOGICAL_MAX_BOTTOM, _LAppDefine2.default.VIEW_LOGICAL_MAX_TOP);\n\n viewMatrix.setMaxScale(_LAppDefine2.default.VIEW_MAX_SCALE);\n viewMatrix.setMinScale(_LAppDefine2.default.VIEW_MIN_SCALE);\n\n projMatrix = new _Live2DFramework.L2DMatrix44();\n projMatrix.multScale(1, width / height);\n\n deviceToScreen = new _Live2DFramework.L2DMatrix44();\n deviceToScreen.multTranslate(-width / 2.0, -height / 2.0);\n deviceToScreen.multScale(2 / width, -2 / width);\n\n gl = getWebGLContext();\n (0, _webglcontext.setContext)(gl);\n if (!gl) {\n console.error(\"Failed to create WebGL context.\");\n return;\n }\n window.Live2D.setGL(gl);\n gl.clearColor(0.0, 0.0, 0.0, 0.0);\n changeModel(modelurl);\n startDraw();\n}\n\nfunction startDraw() {\n if (!isDrawStart) {\n isDrawStart = true;\n (function tick() {\n draw();\n var requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;\n\n requestAnimationFrame(tick, canvas);\n })();\n }\n}\n\nfunction draw() {\n _MatrixStack2.default.reset();\n _MatrixStack2.default.loadIdentity();\n dragMgr.update();\n live2DMgr.setDrag(dragMgr.getX(), dragMgr.getY());\n\n gl.clear(gl.COLOR_BUFFER_BIT);\n\n _MatrixStack2.default.multMatrix(projMatrix.getArray());\n _MatrixStack2.default.multMatrix(viewMatrix.getArray());\n _MatrixStack2.default.push();\n\n for (var i = 0; i < live2DMgr.numModels(); i++) {\n var model = live2DMgr.getModel(i);\n\n if (model == null) return;\n\n if (model.initialized && !model.updating) {\n model.update();\n model.draw(gl);\n }\n }\n _MatrixStack2.default.pop();\n}\n\nfunction changeModel(modelurl) {\n live2DMgr.reloadFlg = true;\n live2DMgr.count++;\n live2DMgr.changeModel(gl, modelurl);\n}\n\nfunction modelScaling(scale) {\n var isMaxScale = viewMatrix.isMaxScale();\n var isMinScale = viewMatrix.isMinScale();\n\n viewMatrix.adjustScale(0, 0, scale);\n\n if (!isMaxScale) {\n if (viewMatrix.isMaxScale()) {\n live2DMgr.maxScaleEvent();\n }\n }\n\n if (!isMinScale) {\n if (viewMatrix.isMinScale()) {\n live2DMgr.minScaleEvent();\n }\n }\n}\n\nfunction transformRange(center, transform, range) {\n var a = {\n x: transform.x - center.x,\n y: transform.y - center.y\n };\n var r = Math.sqrt(Math.pow(a.x, 2) + Math.pow(a.y, 2));\n if (r > range) {\n a = {\n x: a.x / r * range + center.x,\n y: a.y / r * range + center.y\n };\n return a;\n } else {\n return transform;\n }\n}\n\nfunction dot(A, B) {\n return A.x * B.x + A.y * B.y;\n}\n\nfunction normalize(x, y) {\n var length = Math.sqrt(x * x + y * y);\n return {\n x: x / length,\n y: y / length\n };\n}\n\nfunction transformRect(center, transform, rect) {\n if (transform.x < rect.left + rect.width && transform.y < rect.top + rect.height && transform.x > rect.left && transform.y > rect.top) return transform;\n var Len_X = center.x - transform.x;\n var Len_Y = center.y - transform.y;\n\n function angle(Len_X, Len_Y) {\n return Math.acos(dot({\n x: 0,\n y: 1\n }, normalize(Len_X, Len_Y))) * 180 / Math.PI;\n }\n\n var angleTarget = angle(Len_X, Len_Y);\n if (transform.x < center.x) angleTarget = 360 - angleTarget;\n var angleLeftTop = 360 - angle(rect.left - center.x, (rect.top - center.y) * -1);\n var angleLeftBottom = 360 - angle(rect.left - center.x, (rect.top + rect.height - center.y) * -1);\n var angleRightTop = angle(rect.left + rect.width - center.x, (rect.top - center.y) * -1);\n var angleRightBottom = angle(rect.left + rect.width - center.x, (rect.top + rect.height - center.y) * -1);\n var scale = Len_Y / Len_X;\n var res = {};\n\n if (angleTarget < angleRightTop) {\n var y3 = rect.top - center.y;\n var x3 = y3 / scale;\n res = {\n y: center.y + y3,\n x: center.x + x3\n };\n } else if (angleTarget < angleRightBottom) {\n var _x = rect.left + rect.width - center.x;\n var _y = _x * scale;\n res = {\n y: center.y + _y,\n x: center.x + _x\n };\n } else if (angleTarget < angleLeftBottom) {\n var _y2 = rect.top + rect.height - center.y;\n var _x2 = _y2 / scale;\n res = {\n y: center.y + _y2,\n x: center.x + _x2\n };\n } else if (angleTarget < angleLeftTop) {\n var _x3 = center.x - rect.left;\n var _y3 = _x3 * scale;\n res = {\n y: center.y - _y3,\n x: center.x - _x3\n };\n } else {\n var _y4 = rect.top - center.y;\n var _x4 = _y4 / scale;\n res = {\n y: center.y + _y4,\n x: center.x + _x4\n };\n }\n\n return res;\n}\n\nfunction modelTurnHead(event) {\n drag = true;\n\n var rect = canvas.getBoundingClientRect();\n\n var sx = transformScreenX(event.clientX - rect.left);\n var sy = transformScreenY(event.clientY - rect.top);\n var target = transformRect({\n x: rect.left + rect.width / 2,\n y: rect.top + rect.height * head_pos\n }, {\n x: event.clientX,\n y: event.clientY\n }, rect);\n var vx = transformViewX(target.x - rect.left);\n var vy = transformViewY(target.y - rect.top);\n\n if (_LAppDefine2.default.DEBUG_MOUSE_LOG) console.log(\"onMouseDown device( x:\" + event.clientX + \" y:\" + event.clientY + \" ) view( x:\" + vx + \" y:\" + vy + \")\");\n\n lastMouseX = sx;\n lastMouseY = sy;\n\n dragMgr.setPoint(vx, vy);\n\n live2DMgr.tapEvent(vx, vy);\n}\n\nfunction followPointer(event) {\n var rect = canvas.getBoundingClientRect();\n\n var sx = transformScreenX(event.clientX - rect.left);\n var sy = transformScreenY(event.clientY - rect.top);\n var target = transformRect({\n x: rect.left + rect.width / 2,\n y: rect.top + rect.height * head_pos\n }, {\n x: event.clientX,\n y: event.clientY\n }, rect);\n var vx = transformViewX(target.x - rect.left);\n var vy = transformViewY(target.y - rect.top);\n\n if (_LAppDefine2.default.DEBUG_MOUSE_LOG) console.log(\"onMouseMove device( x:\" + event.clientX + \" y:\" + event.clientY + \" ) view( x:\" + vx + \" y:\" + vy + \")\");\n\n if (drag) {\n lastMouseX = sx;\n lastMouseY = sy;\n dragMgr.setPoint(vx, vy);\n }\n}\n\nfunction lookFront() {\n if (drag) {\n drag = false;\n }\n dragMgr.setPoint(0, 0);\n}\n\nfunction mouseEvent(e) {\n //e.preventDefault();\n if (e.type == \"mousewheel\") {\n // if (e.clientX < 0 || canvas.clientWidth < e.clientX || \n // e.clientY < 0 || canvas.clientHeight < e.clientY)\n // {\n // return;\n // }\n // if (e.wheelDelta > 0) modelScaling(1.1); \n // else modelScaling(0.9); \n } else if (e.type == \"mousedown\") {\n if (\"button\" in e && e.button != 0) return;\n // modelTurnHead(e);\n } else if (e.type == \"mousemove\") {\n modelTurnHead(e);\n } else if (e.type == \"mouseup\") {\n if (\"button\" in e && e.button != 0) return;\n // lookFront();\n } else if (e.type == \"mouseleave\") {\n lookFront();\n }\n}\n\nfunction touchEvent(e) {\n var touch = e.touches[0];\n if (e.type == \"touchstart\") {\n if (e.touches.length == 1) modelTurnHead(touch);\n // onClick(touch);\n } else if (e.type == \"touchmove\") {\n followPointer(touch);\n } else if (e.type == \"touchend\") {\n lookFront();\n }\n}\n\nfunction transformViewX(deviceX) {\n var screenX = deviceToScreen.transformX(deviceX);\n return viewMatrix.invertTransformX(screenX);\n}\n\nfunction transformViewY(deviceY) {\n var screenY = deviceToScreen.transformY(deviceY);\n return viewMatrix.invertTransformY(screenY);\n}\n\nfunction transformScreenX(deviceX) {\n return deviceToScreen.transformX(deviceX);\n}\n\nfunction transformScreenY(deviceY) {\n return deviceToScreen.transformY(deviceY);\n}\n\nfunction getWebGLContext() {\n var NAMES = [\"webgl\", \"experimental-webgl\", \"webkit-3d\", \"moz-webgl\"];\n for (var i = 0; i < NAMES.length; i++) {\n try {\n var ctx = canvas.getContext(NAMES[i], { premultipliedAlpha: true });\n if (ctx) return ctx;\n } catch (e) {}\n }\n return null;\n};\n\nfunction loadlive2d(id, modelurl, headPos) {\n head_pos = typeof headPos === 'undefined' ? 0.5 : headPos;\n initL2dCanvas(id);\n init(modelurl);\n}\n\nwindow.loadlive2d = loadlive2d;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = LAppLive2DManager;\n\nvar _Live2DFramework = __webpack_require__(0);\n\nvar _PlatformManager = __webpack_require__(7);\n\nvar _PlatformManager2 = _interopRequireDefault(_PlatformManager);\n\nvar _LAppModel = __webpack_require__(6);\n\nvar _LAppModel2 = _interopRequireDefault(_LAppModel);\n\nvar _LAppDefine = __webpack_require__(1);\n\nvar _LAppDefine2 = _interopRequireDefault(_LAppDefine);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction LAppLive2DManager() {\n // console.log(\"--> LAppLive2DManager()\");\n\n\n this.models = [];\n\n this.count = -1;\n this.reloadFlg = false;\n\n Live2D.init();\n _Live2DFramework.Live2DFramework.setPlatformManager(new _PlatformManager2.default());\n}\n\nLAppLive2DManager.prototype.createModel = function () {\n\n var model = new _LAppModel2.default();\n this.models.push(model);\n\n return model;\n};\n\nLAppLive2DManager.prototype.changeModel = function (gl, modelurl) {\n // console.log(\"--> LAppLive2DManager.update(gl)\");\n\n if (this.reloadFlg) {\n\n this.reloadFlg = false;\n\n var thisRef = this;\n this.releaseModel(0, gl);\n this.createModel();\n this.models[0].load(gl, modelurl);\n }\n};\n\nLAppLive2DManager.prototype.getModel = function (no) {\n // console.log(\"--> LAppLive2DManager.getModel(\" + no + \")\");\n\n if (no >= this.models.length) return null;\n\n return this.models[no];\n};\n\nLAppLive2DManager.prototype.releaseModel = function (no, gl) {\n // console.log(\"--> LAppLive2DManager.releaseModel(\" + no + \")\");\n\n if (this.models.length <= no) return;\n\n this.models[no].release(gl);\n\n delete this.models[no];\n this.models.splice(no, 1);\n};\n\nLAppLive2DManager.prototype.numModels = function () {\n return this.models.length;\n};\n\nLAppLive2DManager.prototype.setDrag = function (x, y) {\n for (var i = 0; i < this.models.length; i++) {\n this.models[i].setDrag(x, y);\n }\n};\n\nLAppLive2DManager.prototype.maxScaleEvent = function () {\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Max scale event.\");\n for (var i = 0; i < this.models.length; i++) {\n this.models[i].startRandomMotion(_LAppDefine2.default.MOTION_GROUP_PINCH_IN, _LAppDefine2.default.PRIORITY_NORMAL);\n }\n};\n\nLAppLive2DManager.prototype.minScaleEvent = function () {\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Min scale event.\");\n for (var i = 0; i < this.models.length; i++) {\n this.models[i].startRandomMotion(_LAppDefine2.default.MOTION_GROUP_PINCH_OUT, _LAppDefine2.default.PRIORITY_NORMAL);\n }\n};\n\nLAppLive2DManager.prototype.tapEvent = function (x, y) {\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"tapEvent view x:\" + x + \" y:\" + y);\n\n for (var i = 0; i < this.models.length; i++) {\n\n if (this.models[i].hitTest(_LAppDefine2.default.HIT_AREA_HEAD, x, y)) {\n\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Tap face.\");\n\n this.models[i].setRandomExpression();\n } else if (this.models[i].hitTest(_LAppDefine2.default.HIT_AREA_BODY, x, y)) {\n\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Tap body.\" + \" models[\" + i + \"]\");\n\n this.models[i].startRandomMotion(_LAppDefine2.default.MOTION_GROUP_TAP_BODY, _LAppDefine2.default.PRIORITY_NORMAL);\n }\n }\n\n return true;\n};\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = LAppModel;\n\nvar _Live2DFramework = __webpack_require__(0);\n\nvar _ModelSettingJson = __webpack_require__(8);\n\nvar _ModelSettingJson2 = _interopRequireDefault(_ModelSettingJson);\n\nvar _LAppDefine = __webpack_require__(1);\n\nvar _LAppDefine2 = _interopRequireDefault(_LAppDefine);\n\nvar _MatrixStack = __webpack_require__(2);\n\nvar _MatrixStack2 = _interopRequireDefault(_MatrixStack);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n//============================================================\n//============================================================\n// class LAppModel extends L2DBaseModel \n//============================================================\n//============================================================\nfunction LAppModel() {\n //L2DBaseModel.apply(this, arguments);\n _Live2DFramework.L2DBaseModel.prototype.constructor.call(this);\n\n this.modelHomeDir = \"\";\n this.modelSetting = null;\n this.tmpMatrix = [];\n}\n\nLAppModel.prototype = new _Live2DFramework.L2DBaseModel();\n\nLAppModel.prototype.load = function (gl, modelSettingPath, callback) {\n this.setUpdating(true);\n this.setInitialized(false);\n\n this.modelHomeDir = modelSettingPath.substring(0, modelSettingPath.lastIndexOf(\"/\") + 1);\n\n this.modelSetting = new _ModelSettingJson2.default();\n\n var thisRef = this;\n\n this.modelSetting.loadModelSetting(modelSettingPath, function () {\n\n var path = thisRef.modelHomeDir + thisRef.modelSetting.getModelFile();\n thisRef.loadModelData(path, function (model) {\n\n for (var i = 0; i < thisRef.modelSetting.getTextureNum(); i++) {\n\n var texPaths = thisRef.modelHomeDir + thisRef.modelSetting.getTextureFile(i);\n\n thisRef.loadTexture(i, texPaths, function () {\n\n if (thisRef.isTexLoaded) {\n\n if (thisRef.modelSetting.getExpressionNum() > 0) {\n\n thisRef.expressions = {};\n\n for (var j = 0; j < thisRef.modelSetting.getExpressionNum(); j++) {\n var expName = thisRef.modelSetting.getExpressionName(j);\n var expFilePath = thisRef.modelHomeDir + thisRef.modelSetting.getExpressionFile(j);\n\n thisRef.loadExpression(expName, expFilePath);\n }\n } else {\n thisRef.expressionManager = null;\n thisRef.expressions = {};\n }\n\n if (thisRef.eyeBlink == null) {\n thisRef.eyeBlink = new _Live2DFramework.L2DEyeBlink();\n }\n\n if (thisRef.modelSetting.getPhysicsFile() != null) {\n thisRef.loadPhysics(thisRef.modelHomeDir + thisRef.modelSetting.getPhysicsFile());\n } else {\n thisRef.physics = null;\n }\n\n if (thisRef.modelSetting.getPoseFile() != null) {\n thisRef.loadPose(thisRef.modelHomeDir + thisRef.modelSetting.getPoseFile(), function () {\n thisRef.pose.updateParam(thisRef.live2DModel);\n });\n } else {\n thisRef.pose = null;\n }\n\n if (thisRef.modelSetting.getLayout() != null) {\n var layout = thisRef.modelSetting.getLayout();\n if (layout[\"width\"] != null) thisRef.modelMatrix.setWidth(layout[\"width\"]);\n if (layout[\"height\"] != null) thisRef.modelMatrix.setHeight(layout[\"height\"]);\n\n if (layout[\"x\"] != null) thisRef.modelMatrix.setX(layout[\"x\"]);\n if (layout[\"y\"] != null) thisRef.modelMatrix.setY(layout[\"y\"]);\n if (layout[\"center_x\"] != null) thisRef.modelMatrix.centerX(layout[\"center_x\"]);\n if (layout[\"center_y\"] != null) thisRef.modelMatrix.centerY(layout[\"center_y\"]);\n if (layout[\"top\"] != null) thisRef.modelMatrix.top(layout[\"top\"]);\n if (layout[\"bottom\"] != null) thisRef.modelMatrix.bottom(layout[\"bottom\"]);\n if (layout[\"left\"] != null) thisRef.modelMatrix.left(layout[\"left\"]);\n if (layout[\"right\"] != null) thisRef.modelMatrix.right(layout[\"right\"]);\n }\n\n for (var j = 0; j < thisRef.modelSetting.getInitParamNum(); j++) {\n\n thisRef.live2DModel.setParamFloat(thisRef.modelSetting.getInitParamID(j), thisRef.modelSetting.getInitParamValue(j));\n }\n\n for (var j = 0; j < thisRef.modelSetting.getInitPartsVisibleNum(); j++) {\n\n thisRef.live2DModel.setPartsOpacity(thisRef.modelSetting.getInitPartsVisibleID(j), thisRef.modelSetting.getInitPartsVisibleValue(j));\n }\n\n thisRef.live2DModel.saveParam();\n // thisRef.live2DModel.setGL(gl);\n\n\n thisRef.preloadMotionGroup(_LAppDefine2.default.MOTION_GROUP_IDLE);\n thisRef.mainMotionManager.stopAllMotions();\n\n thisRef.setUpdating(false);\n thisRef.setInitialized(true);\n\n if (typeof callback == \"function\") callback();\n }\n });\n }\n });\n });\n};\n\nLAppModel.prototype.release = function (gl) {\n // this.live2DModel.deleteTextures();\n var pm = Live2DFramework.getPlatformManager();\n\n gl.deleteTexture(pm.texture);\n};\n\nLAppModel.prototype.preloadMotionGroup = function (name) {\n var thisRef = this;\n\n for (var i = 0; i < this.modelSetting.getMotionNum(name); i++) {\n var file = this.modelSetting.getMotionFile(name, i);\n this.loadMotion(file, this.modelHomeDir + file, function (motion) {\n motion.setFadeIn(thisRef.modelSetting.getMotionFadeIn(name, i));\n motion.setFadeOut(thisRef.modelSetting.getMotionFadeOut(name, i));\n });\n }\n};\n\nLAppModel.prototype.update = function () {\n // console.log(\"--> LAppModel.update()\");\n\n if (this.live2DModel == null) {\n if (_LAppDefine2.default.DEBUG_LOG) console.error(\"Failed to update.\");\n\n return;\n }\n\n var timeMSec = UtSystem.getUserTimeMSec() - this.startTimeMSec;\n var timeSec = timeMSec / 1000.0;\n var t = timeSec * 2 * Math.PI;\n\n if (this.mainMotionManager.isFinished()) {\n\n this.startRandomMotion(_LAppDefine2.default.MOTION_GROUP_IDLE, _LAppDefine2.default.PRIORITY_IDLE);\n }\n\n //-----------------------------------------------------------------\t\t\n\n\n this.live2DModel.loadParam();\n\n var update = this.mainMotionManager.updateParam(this.live2DModel);\n if (!update) {\n\n if (this.eyeBlink != null) {\n this.eyeBlink.updateParam(this.live2DModel);\n }\n }\n\n this.live2DModel.saveParam();\n\n //-----------------------------------------------------------------\t\t\n\n\n if (this.expressionManager != null && this.expressions != null && !this.expressionManager.isFinished()) {\n this.expressionManager.updateParam(this.live2DModel);\n }\n\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_X\", this.dragX * 30, 1);\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_Y\", this.dragY * 30, 1);\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_Z\", this.dragX * this.dragY * -30, 1);\n\n this.live2DModel.addToParamFloat(\"PARAM_BODY_ANGLE_X\", this.dragX * 10, 1);\n\n this.live2DModel.addToParamFloat(\"PARAM_EYE_BALL_X\", this.dragX, 1);\n this.live2DModel.addToParamFloat(\"PARAM_EYE_BALL_Y\", this.dragY, 1);\n\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_X\", Number(15 * Math.sin(t / 6.5345)), 0.5);\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_Y\", Number(8 * Math.sin(t / 3.5345)), 0.5);\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_Z\", Number(10 * Math.sin(t / 5.5345)), 0.5);\n this.live2DModel.addToParamFloat(\"PARAM_BODY_ANGLE_X\", Number(4 * Math.sin(t / 15.5345)), 0.5);\n this.live2DModel.setParamFloat(\"PARAM_BREATH\", Number(0.5 + 0.5 * Math.sin(t / 3.2345)), 1);\n\n if (this.physics != null) {\n this.physics.updateParam(this.live2DModel);\n }\n\n if (this.lipSync == null) {\n this.live2DModel.setParamFloat(\"PARAM_MOUTH_OPEN_Y\", this.lipSyncValue);\n }\n\n if (this.pose != null) {\n this.pose.updateParam(this.live2DModel);\n }\n\n this.live2DModel.update();\n};\n\nLAppModel.prototype.setRandomExpression = function () {\n var tmp = [];\n for (var name in this.expressions) {\n tmp.push(name);\n }\n\n var no = parseInt(Math.random() * tmp.length);\n\n this.setExpression(tmp[no]);\n};\n\nLAppModel.prototype.startRandomMotion = function (name, priority) {\n var max = this.modelSetting.getMotionNum(name);\n var no = parseInt(Math.random() * max);\n this.startMotion(name, no, priority);\n};\n\nLAppModel.prototype.startMotion = function (name, no, priority) {\n // console.log(\"startMotion : \" + name + \" \" + no + \" \" + priority);\n\n var motionName = this.modelSetting.getMotionFile(name, no);\n\n if (motionName == null || motionName == \"\") {\n if (_LAppDefine2.default.DEBUG_LOG) console.error(\"Failed to motion.\");\n return;\n }\n\n if (priority == _LAppDefine2.default.PRIORITY_FORCE) {\n this.mainMotionManager.setReservePriority(priority);\n } else if (!this.mainMotionManager.reserveMotion(priority)) {\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Motion is running.\");\n return;\n }\n\n var thisRef = this;\n var motion;\n\n if (this.motions[name] == null) {\n this.loadMotion(null, this.modelHomeDir + motionName, function (mtn) {\n motion = mtn;\n\n thisRef.setFadeInFadeOut(name, no, priority, motion);\n });\n } else {\n motion = this.motions[name];\n\n thisRef.setFadeInFadeOut(name, no, priority, motion);\n }\n};\n\nLAppModel.prototype.setFadeInFadeOut = function (name, no, priority, motion) {\n var motionName = this.modelSetting.getMotionFile(name, no);\n\n motion.setFadeIn(this.modelSetting.getMotionFadeIn(name, no));\n motion.setFadeOut(this.modelSetting.getMotionFadeOut(name, no));\n\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Start motion : \" + motionName);\n\n if (this.modelSetting.getMotionSound(name, no) == null) {\n this.mainMotionManager.startMotionPrio(motion, priority);\n } else {\n var soundName = this.modelSetting.getMotionSound(name, no);\n // var player = new Sound(this.modelHomeDir + soundName);\n\n var snd = document.createElement(\"audio\");\n snd.src = this.modelHomeDir + soundName;\n\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Start sound : \" + soundName);\n\n snd.play();\n this.mainMotionManager.startMotionPrio(motion, priority);\n }\n};\n\nLAppModel.prototype.setExpression = function (name) {\n var motion = this.expressions[name];\n\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Expression : \" + name);\n\n this.expressionManager.startMotion(motion, false);\n};\n\nLAppModel.prototype.draw = function (gl) {\n //console.log(\"--> LAppModel.draw()\");\n\n // if(this.live2DModel == null) return;\n\n\n _MatrixStack2.default.push();\n\n _MatrixStack2.default.multMatrix(this.modelMatrix.getArray());\n\n this.tmpMatrix = _MatrixStack2.default.getMatrix();\n this.live2DModel.setMatrix(this.tmpMatrix);\n this.live2DModel.draw();\n\n _MatrixStack2.default.pop();\n};\n\nLAppModel.prototype.hitTest = function (id, testX, testY) {\n var len = this.modelSetting.getHitAreaNum();\n for (var i = 0; i < len; i++) {\n if (id == this.modelSetting.getHitAreaName(i)) {\n var drawID = this.modelSetting.getHitAreaID(i);\n\n return this.hitTestSimple(drawID, testX, testY);\n }\n }\n\n return false;\n};\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = PlatformManager;\n\nvar _webglcontext = __webpack_require__(3);\n\n//============================================================\n//============================================================\n// class PlatformManager extend IPlatformManager\n//============================================================\n//============================================================\nfunction PlatformManager() {}\n\n//============================================================\n// PlatformManager # loadBytes()\n//============================================================\n/**\n *\n * You can modify and use this source freely\n * only for the development of application related Live2D.\n *\n * (c) Live2D Inc. All rights reserved.\n */\nPlatformManager.prototype.loadBytes = function (path /*String*/, callback) {\n var request = new XMLHttpRequest();\n request.open(\"GET\", path, true);\n request.responseType = \"arraybuffer\";\n request.onload = function () {\n switch (request.status) {\n case 200:\n callback(request.response);\n break;\n default:\n console.error(\"Failed to load (\" + request.status + \") : \" + path);\n break;\n }\n };\n request.send(null);\n //return request;\n};\n\n//============================================================\n// PlatformManager # loadString()\n//============================================================\nPlatformManager.prototype.loadString = function (path /*String*/) {\n\n this.loadBytes(path, function (buf) {\n return buf;\n });\n};\n\n//============================================================\n// PlatformManager # loadLive2DModel()\n//============================================================\nPlatformManager.prototype.loadLive2DModel = function (path /*String*/, callback) {\n var model = null;\n\n // load moc\n this.loadBytes(path, function (buf) {\n model = Live2DModelWebGL.loadModel(buf);\n callback(model);\n });\n};\n\n//============================================================\n// PlatformManager # loadTexture()\n//============================================================\nPlatformManager.prototype.loadTexture = function (model /*ALive2DModel*/, no /*int*/, path /*String*/, callback) {\n // load textures\n var loadedImage = new Image();\n loadedImage.src = path;\n\n var thisRef = this;\n loadedImage.onload = function () {\n // create texture\n var gl = (0, _webglcontext.getContext)();\n var texture = gl.createTexture();\n if (!texture) {\n console.error(\"Failed to generate gl texture name.\");return -1;\n }\n\n if (model.isPremultipliedAlpha() == false) {\n // 乗算済アルファテクスチャ以外の場合\n gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 1);\n }\n gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, 1);\n gl.activeTexture(gl.TEXTURE0);\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, loadedImage);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_NEAREST);\n gl.generateMipmap(gl.TEXTURE_2D);\n\n model.setTexture(no, texture);\n\n // テクスチャオブジェクトを解放\n texture = null;\n\n if (typeof callback == \"function\") callback();\n };\n\n loadedImage.onerror = function () {\n console.error(\"Failed to load image : \" + path);\n };\n};\n\n//============================================================\n// PlatformManager # parseFromBytes(buf)\n\n//============================================================\nPlatformManager.prototype.jsonParseFromBytes = function (buf) {\n\n var jsonStr;\n\n var bomCode = new Uint8Array(buf, 0, 3);\n if (bomCode[0] == 239 && bomCode[1] == 187 && bomCode[2] == 191) {\n jsonStr = String.fromCharCode.apply(null, new Uint8Array(buf, 3));\n } else {\n jsonStr = String.fromCharCode.apply(null, new Uint8Array(buf));\n }\n\n var jsonObj = JSON.parse(jsonStr);\n\n return jsonObj;\n};\n\n//============================================================\n// PlatformManager # log()\n//============================================================\nPlatformManager.prototype.log = function (txt /*String*/) {\n //console.log(txt);\n};\n\nfunction getWebGLContext(canvas) {\n var NAMES = [\"webgl\", \"experimental-webgl\", \"webkit-3d\", \"moz-webgl\"];\n for (var i = 0; i < NAMES.length; i++) {\n try {\n var ctx = canvas.getContext(NAMES[i], { premultipliedAlpha: true });\n if (ctx) return ctx;\n } catch (e) {}\n }\n return null;\n};\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ModelSettingJson;\n\nvar _Live2DFramework = __webpack_require__(0);\n\nfunction ModelSettingJson() {\n this.NAME = \"name\";\n this.ID = \"id\";\n this.MODEL = \"model\";\n this.TEXTURES = \"textures\";\n this.HIT_AREAS = \"hit_areas\";\n this.PHYSICS = \"physics\";\n this.POSE = \"pose\";\n this.EXPRESSIONS = \"expressions\";\n this.MOTION_GROUPS = \"motions\";\n this.SOUND = \"sound\";\n this.FADE_IN = \"fade_in\";\n this.FADE_OUT = \"fade_out\";\n this.LAYOUT = \"layout\";\n this.INIT_PARAM = \"init_param\";\n this.INIT_PARTS_VISIBLE = \"init_parts_visible\";\n this.VALUE = \"val\";\n this.FILE = \"file\";\n\n this.json = {};\n}\n\nModelSettingJson.prototype.loadModelSetting = function (path, callback) {\n var thisRef = this;\n var pm = _Live2DFramework.Live2DFramework.getPlatformManager();\n pm.loadBytes(path, function (buf) {\n var str = String.fromCharCode.apply(null, new Uint8Array(buf));\n thisRef.json = JSON.parse(str);\n callback();\n });\n};\n\nModelSettingJson.prototype.getTextureFile = function (n) {\n if (this.json[this.TEXTURES] == null || this.json[this.TEXTURES][n] == null) return null;\n\n return this.json[this.TEXTURES][n];\n};\n\nModelSettingJson.prototype.getModelFile = function () {\n return this.json[this.MODEL];\n};\n\nModelSettingJson.prototype.getTextureNum = function () {\n if (this.json[this.TEXTURES] == null) return 0;\n\n return this.json[this.TEXTURES].length;\n};\n\nModelSettingJson.prototype.getHitAreaNum = function () {\n if (this.json[this.HIT_AREAS] == null) return 0;\n\n return this.json[this.HIT_AREAS].length;\n};\n\nModelSettingJson.prototype.getHitAreaID = function (n) {\n if (this.json[this.HIT_AREAS] == null || this.json[this.HIT_AREAS][n] == null) return null;\n\n return this.json[this.HIT_AREAS][n][this.ID];\n};\n\nModelSettingJson.prototype.getHitAreaName = function (n) {\n if (this.json[this.HIT_AREAS] == null || this.json[this.HIT_AREAS][n] == null) return null;\n\n return this.json[this.HIT_AREAS][n][this.NAME];\n};\n\nModelSettingJson.prototype.getPhysicsFile = function () {\n return this.json[this.PHYSICS];\n};\n\nModelSettingJson.prototype.getPoseFile = function () {\n return this.json[this.POSE];\n};\n\nModelSettingJson.prototype.getExpressionNum = function () {\n return this.json[this.EXPRESSIONS] == null ? 0 : this.json[this.EXPRESSIONS].length;\n};\n\nModelSettingJson.prototype.getExpressionFile = function (n) {\n if (this.json[this.EXPRESSIONS] == null) return null;\n return this.json[this.EXPRESSIONS][n][this.FILE];\n};\n\nModelSettingJson.prototype.getExpressionName = function (n) {\n if (this.json[this.EXPRESSIONS] == null) return null;\n return this.json[this.EXPRESSIONS][n][this.NAME];\n};\n\nModelSettingJson.prototype.getLayout = function () {\n return this.json[this.LAYOUT];\n};\n\nModelSettingJson.prototype.getInitParamNum = function () {\n return this.json[this.INIT_PARAM] == null ? 0 : this.json[this.INIT_PARAM].length;\n};\n\nModelSettingJson.prototype.getMotionNum = function (name) {\n if (this.json[this.MOTION_GROUPS] == null || this.json[this.MOTION_GROUPS][name] == null) return 0;\n\n return this.json[this.MOTION_GROUPS][name].length;\n};\n\nModelSettingJson.prototype.getMotionFile = function (name, n) {\n if (this.json[this.MOTION_GROUPS] == null || this.json[this.MOTION_GROUPS][name] == null || this.json[this.MOTION_GROUPS][name][n] == null) return null;\n\n return this.json[this.MOTION_GROUPS][name][n][this.FILE];\n};\n\nModelSettingJson.prototype.getMotionSound = function (name, n) {\n if (this.json[this.MOTION_GROUPS] == null || this.json[this.MOTION_GROUPS][name] == null || this.json[this.MOTION_GROUPS][name][n] == null || this.json[this.MOTION_GROUPS][name][n][this.SOUND] == null) return null;\n\n return this.json[this.MOTION_GROUPS][name][n][this.SOUND];\n};\n\nModelSettingJson.prototype.getMotionFadeIn = function (name, n) {\n if (this.json[this.MOTION_GROUPS] == null || this.json[this.MOTION_GROUPS][name] == null || this.json[this.MOTION_GROUPS][name][n] == null || this.json[this.MOTION_GROUPS][name][n][this.FADE_IN] == null) return 1000;\n\n return this.json[this.MOTION_GROUPS][name][n][this.FADE_IN];\n};\n\nModelSettingJson.prototype.getMotionFadeOut = function (name, n) {\n if (this.json[this.MOTION_GROUPS] == null || this.json[this.MOTION_GROUPS][name] == null || this.json[this.MOTION_GROUPS][name][n] == null || this.json[this.MOTION_GROUPS][name][n][this.FADE_OUT] == null) return 1000;\n\n return this.json[this.MOTION_GROUPS][name][n][this.FADE_OUT];\n};\n\nModelSettingJson.prototype.getInitParamID = function (n) {\n if (this.json[this.INIT_PARAM] == null || this.json[this.INIT_PARAM][n] == null) return null;\n\n return this.json[this.INIT_PARAM][n][this.ID];\n};\n\nModelSettingJson.prototype.getInitParamValue = function (n) {\n if (this.json[this.INIT_PARAM] == null || this.json[this.INIT_PARAM][n] == null) return NaN;\n\n return this.json[this.INIT_PARAM][n][this.VALUE];\n};\n\nModelSettingJson.prototype.getInitPartsVisibleNum = function () {\n return this.json[this.INIT_PARTS_VISIBLE] == null ? 0 : this.json[this.INIT_PARTS_VISIBLE].length;\n};\n\nModelSettingJson.prototype.getInitPartsVisibleID = function (n) {\n if (this.json[this.INIT_PARTS_VISIBLE] == null || this.json[this.INIT_PARTS_VISIBLE][n] == null) return null;\n return this.json[this.INIT_PARTS_VISIBLE][n][this.ID];\n};\n\nModelSettingJson.prototype.getInitPartsVisibleValue = function (n) {\n if (this.json[this.INIT_PARTS_VISIBLE] == null || this.json[this.INIT_PARTS_VISIBLE][n] == null) return NaN;\n\n return this.json[this.INIT_PARTS_VISIBLE][n][this.VALUE];\n};\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(System) {\n\n(function () {\n var j = true;function aa() {\n if (j) {\n return;\n }this._$MT = null;this._$5S = null;this._$NP = 0;aa._$42++;this._$5S = new y(this);\n }aa._$0s = 1;aa._$4s = 2;aa._$42 = 0;aa._$62 = function (aQ, aU) {\n try {\n if (aU instanceof ArrayBuffer) {\n aU = new DataView(aU);\n }if (!(aU instanceof DataView)) {\n throw new J(\"_$SS#loadModel(b) / b _$x be DataView or ArrayBuffer\");\n }var aS = new K(aU);var aM = aS._$ST();var aK = aS._$ST();var aJ = aS._$ST();var aN;if (aM == 109 && aK == 111 && aJ == 99) {\n aN = aS._$ST();\n } else {\n throw new J(\"_$gi _$C _$li , _$Q0 _$P0.\");\n }aS._$gr(aN);if (aN > ay._$T7) {\n aQ._$NP |= aa._$4s;var aR = ay._$T7;var aI = \"_$gi _$C _$li , _$n0 _$_ version _$li ( SDK : \" + aR + \" < _$f0 : \" + aN + \" )@_$SS#loadModel()\\n\";throw new J(aI);\n }var aL = aS._$nP();if (aN >= ay._$s7) {\n var aH = aS._$9T();var aT = aS._$9T();if (aH != -30584 || aT != -30584) {\n aQ._$NP |= aa._$0s;throw new J(\"_$gi _$C _$li , _$0 _$6 _$Ui.\");\n }\n }aQ._$KS(aL);var aP = aQ.getModelContext();aP.setDrawParam(aQ.getDrawParam());aP.init();\n } catch (aO) {\n q._$Rb(aO);\n }\n };aa.prototype._$KS = function (aH) {\n this._$MT = aH;\n };aa.prototype.getModelImpl = function () {\n if (this._$MT == null) {\n this._$MT = new w();this._$MT._$zP();\n }return this._$MT;\n };aa.prototype.getCanvasWidth = function () {\n if (this._$MT == null) {\n return 0;\n }return this._$MT.getCanvasWidth();\n };aa.prototype.getCanvasHeight = function () {\n if (this._$MT == null) {\n return 0;\n }return this._$MT.getCanvasHeight();\n };aa.prototype.getParamFloat = function (aH) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getParamIndex(z.getID(aH));\n }return this._$5S.getParamFloat(aH);\n };aa.prototype.setParamFloat = function (aH, aJ, aI) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getParamIndex(z.getID(aH));\n }if (arguments.length < 3) {\n aI = 1;\n }this._$5S.setParamFloat(aH, this._$5S.getParamFloat(aH) * (1 - aI) + aJ * aI);\n };aa.prototype.addToParamFloat = function (aH, aJ, aI) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getParamIndex(z.getID(aH));\n }if (arguments.length < 3) {\n aI = 1;\n }this._$5S.setParamFloat(aH, this._$5S.getParamFloat(aH) + aJ * aI);\n };aa.prototype.multParamFloat = function (aH, aJ, aI) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getParamIndex(z.getID(aH));\n }if (arguments.length < 3) {\n aI = 1;\n }this._$5S.setParamFloat(aH, this._$5S.getParamFloat(aH) * (1 + (aJ - 1) * aI));\n };aa.prototype.getParamIndex = function (aH) {\n return this._$5S.getParamIndex(z.getID(aH));\n };aa.prototype.loadParam = function () {\n this._$5S.loadParam();\n };aa.prototype.saveParam = function () {\n this._$5S.saveParam();\n };aa.prototype.init = function () {\n this._$5S.init();\n };aa.prototype.update = function () {\n this._$5S.update();\n };aa.prototype._$Rs = function () {\n q._$li(\"_$60 _$PT _$Rs()\");return -1;\n };aa.prototype._$Ds = function (aH) {\n q._$li(\"_$60 _$PT _$SS#_$Ds() \\n\");\n };aa.prototype._$K2 = function () {};aa.prototype.draw = function () {};aa.prototype.getModelContext = function () {\n return this._$5S;\n };aa.prototype._$s2 = function () {\n return this._$NP;\n };aa.prototype._$P7 = function (aK, aR, aH, a0) {\n var aU = -1;var aY = 0;var aM = this;var aJ = 0.5;var aI = 0.15;var aX = true;if (aH == 0) {\n for (var aV = 0; aV < aK.length; aV++) {\n var aP = aK[aV];var aO = aR[aV];var aS = aM.getParamFloat(aP) != 0;aM.setPartsOpacity(aO, aS ? 1 : 0);\n }return;\n } else {\n if (aK.length == 1) {\n var aP = aK[0];var aT = aM.getParamFloat(aP) != 0;var aO = aR[0];var aQ = aM.getPartsOpacity(aO);var aW = aH / a0;if (aT) {\n aQ += aW;if (aQ > 1) {\n aQ = 1;\n }\n } else {\n aQ -= aW;if (aQ < 0) {\n aQ = 0;\n }\n }aM.setPartsOpacity(aO, aQ);\n } else {\n for (var aV = 0; aV < aK.length; aV++) {\n var aP = aK[aV];var aS = aM.getParamFloat(aP) != 0;if (aS) {\n if (aU >= 0) {\n break;\n }aU = aV;var aO = aR[aV];aY = aM.getPartsOpacity(aO);aY += aH / a0;if (aY > 1) {\n aY = 1;\n }\n }\n }if (aU < 0) {\n console.log(\"No _$wi _$q0/ _$U default[%s]\", aK[0]);aU = 0;aY = 1;aM.loadParam();aM.setParamFloat(aK[aU], aY);aM.saveParam();\n }for (var aV = 0; aV < aK.length; aV++) {\n var aO = aR[aV];if (aU == aV) {\n aM.setPartsOpacity(aO, aY);\n } else {\n var aL = aM.getPartsOpacity(aO);var aZ;if (aY < aJ) {\n aZ = aY * (aJ - 1) / aJ + 1;\n } else {\n aZ = (1 - aY) * aJ / (1 - aJ);\n }if (aX) {\n var aN = (1 - aZ) * (1 - aY);if (aN > aI) {\n aZ = 1 - aI / (1 - aY);\n }\n }if (aL > aZ) {\n aL = aZ;\n }aM.setPartsOpacity(aO, aL);\n }\n }\n }\n }\n };aa.prototype.setPartsOpacity = function (aI, aH) {\n if (typeof aI != \"number\") {\n aI = this._$5S.getPartsDataIndex(i.getID(aI));\n }this._$5S.setPartsOpacity(aI, aH);\n };aa.prototype.getPartsDataIndex = function (aH) {\n if (!(aH instanceof i)) {\n aH = i.getID(aH);\n }return this._$5S.getPartsDataIndex(aH);\n };aa.prototype.getPartsOpacity = function (aH) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getPartsDataIndex(i.getID(aH));\n }if (aH < 0) {\n return 0;\n }return this._$5S.getPartsOpacity(aH);\n };aa.prototype.getDrawParam = function () {};aa.prototype.getDrawDataIndex = function (aH) {\n return this._$5S.getDrawDataIndex(Z.getID(aH));\n };aa.prototype.getDrawData = function (aH) {\n return this._$5S.getDrawData(aH);\n };aa.prototype.getTransformedPoints = function (aH) {\n var aI = this._$5S._$C2(aH);if (aI instanceof ag) {\n return aI.getTransformedPoints();\n }return null;\n };aa.prototype.getIndexArray = function (aI) {\n if (aI < 0 || aI >= this._$5S._$aS.length) {\n return null;\n }var aH = this._$5S._$aS[aI];if (aH != null && aH.getType() == a._$wb) {\n if (aH instanceof b) {\n return aH.getIndexArray();\n }\n }return null;\n };function W(aJ) {\n if (j) {\n return;\n }this.clipContextList = new Array();this.glcontext = aJ.gl;this.dp_webgl = aJ;this.curFrameNo = 0;this.firstError_clipInNotUpdate = true;this.colorBuffer = 0;this.isInitGLFBFunc = false;this.tmpBoundsOnModel = new av();if (Q.glContext.length > Q.frameBuffers.length) {\n this.curFrameNo = this.getMaskRenderTexture();\n } else {}this.tmpModelToViewMatrix = new ac();this.tmpMatrix2 = new ac();this.tmpMatrixForMask = new ac();this.tmpMatrixForDraw = new ac();this.CHANNEL_COLORS = new Array();var aI = new o();aI = new o();aI.r = 0;aI.g = 0;aI.b = 0;aI.a = 1;this.CHANNEL_COLORS.push(aI);aI = new o();aI.r = 1;aI.g = 0;aI.b = 0;aI.a = 0;this.CHANNEL_COLORS.push(aI);aI = new o();aI.r = 0;aI.g = 1;aI.b = 0;aI.a = 0;this.CHANNEL_COLORS.push(aI);aI = new o();aI.r = 0;aI.g = 0;aI.b = 1;aI.a = 0;this.CHANNEL_COLORS.push(aI);for (var aH = 0; aH < this.CHANNEL_COLORS.length; aH++) {\n this.dp_webgl.setChannelFlagAsColor(aH, this.CHANNEL_COLORS[aH]);\n }\n }W.CHANNEL_COUNT = 4;W.RENDER_TEXTURE_USE_MIPMAP = false;W.NOT_USED_FRAME = -100;W.prototype._$L7 = function () {\n if (this.tmpModelToViewMatrix) {\n this.tmpModelToViewMatrix = null;\n }if (this.tmpMatrix2) {\n this.tmpMatrix2 = null;\n }if (this.tmpMatrixForMask) {\n this.tmpMatrixForMask = null;\n }if (this.tmpMatrixForDraw) {\n this.tmpMatrixForDraw = null;\n }if (this.tmpBoundsOnModel) {\n this.tmpBoundsOnModel = null;\n }if (this.CHANNEL_COLORS) {\n for (var aH = this.CHANNEL_COLORS.length - 1; aH >= 0; --aH) {\n this.CHANNEL_COLORS.splice(aH, 1);\n }this.CHANNEL_COLORS = [];\n }this.releaseShader();\n };W.prototype.releaseShader = function () {\n var aI = Q.frameBuffers.length;for (var aH = 0; aH < aI; aH++) {\n this.gl.deleteFramebuffer(Q.frameBuffers[aH].framebuffer);\n }Q.frameBuffers = [];Q.glContext = [];\n };W.prototype.init = function (aO, aN, aL) {\n for (var aM = 0; aM < aN.length; aM++) {\n var aH = aN[aM].getClipIDList();if (aH == null) {\n continue;\n }var aJ = this.findSameClip(aH);if (aJ == null) {\n aJ = new U(this, aO, aH);this.clipContextList.push(aJ);\n }var aI = aN[aM].getDrawDataID();var aK = aO.getDrawDataIndex(aI);aJ.addClippedDrawData(aI, aK);var aP = aL[aM];aP.clipBufPre_clipContext = aJ;\n }\n };W.prototype.getMaskRenderTexture = function () {\n var aH = null;aH = this.dp_webgl.createFramebuffer();Q.frameBuffers[this.dp_webgl.glno] = aH;return this.dp_webgl.glno;\n };W.prototype.setupClip = function (a1, aQ) {\n var aK = 0;for (var aO = 0; aO < this.clipContextList.length; aO++) {\n var aP = this.clipContextList[aO];this.calcClippedDrawTotalBounds(a1, aP);if (aP.isUsing) {\n aK++;\n }\n }if (aK > 0) {\n var aM = aQ.gl.getParameter(aQ.gl.FRAMEBUFFER_BINDING);var aW = new Array(4);aW[0] = 0;aW[1] = 0;aW[2] = aQ.gl.canvas.width;aW[3] = aQ.gl.canvas.height;aQ.gl.viewport(0, 0, Q.clippingMaskBufferSize, Q.clippingMaskBufferSize);this.setupLayoutBounds(aK);aQ.gl.bindFramebuffer(aQ.gl.FRAMEBUFFER, Q.frameBuffers[this.curFrameNo].framebuffer);aQ.gl.clearColor(0, 0, 0, 0);aQ.gl.clear(aQ.gl.COLOR_BUFFER_BIT);for (var aO = 0; aO < this.clipContextList.length; aO++) {\n var aP = this.clipContextList[aO];var aT = aP.allClippedDrawRect;var aN = aP.layoutChannelNo;var aV = aP.layoutBounds;var aJ = 0.05;this.tmpBoundsOnModel._$jL(aT);this.tmpBoundsOnModel.expand(aT.width * aJ, aT.height * aJ);var aZ = aV.width / this.tmpBoundsOnModel.width;var aY = aV.height / this.tmpBoundsOnModel.height;this.tmpMatrix2.identity();this.tmpMatrix2.translate(-1, -1, 0);this.tmpMatrix2.scale(2, 2, 1);this.tmpMatrix2.translate(aV.x, aV.y, 0);this.tmpMatrix2.scale(aZ, aY, 1);this.tmpMatrix2.translate(-this.tmpBoundsOnModel.x, -this.tmpBoundsOnModel.y, 0);this.tmpMatrixForMask.setMatrix(this.tmpMatrix2.m);this.tmpMatrix2.identity();this.tmpMatrix2.translate(aV.x, aV.y, 0);this.tmpMatrix2.scale(aZ, aY, 1);this.tmpMatrix2.translate(-this.tmpBoundsOnModel.x, -this.tmpBoundsOnModel.y, 0);this.tmpMatrixForDraw.setMatrix(this.tmpMatrix2.m);var aH = this.tmpMatrixForMask.getArray();for (var aX = 0; aX < 16; aX++) {\n aP.matrixForMask[aX] = aH[aX];\n }var a0 = this.tmpMatrixForDraw.getArray();for (var aX = 0; aX < 16; aX++) {\n aP.matrixForDraw[aX] = a0[aX];\n }var aS = aP.clippingMaskDrawIndexList.length;for (var aU = 0; aU < aS; aU++) {\n var aR = aP.clippingMaskDrawIndexList[aU];var aI = a1.getDrawData(aR);var aL = a1._$C2(aR);aQ.setClipBufPre_clipContextForMask(aP);aI.draw(aQ, a1, aL);\n }\n }aQ.gl.bindFramebuffer(aQ.gl.FRAMEBUFFER, aM);aQ.setClipBufPre_clipContextForMask(null);aQ.gl.viewport(aW[0], aW[1], aW[2], aW[3]);\n }\n };W.prototype.getColorBuffer = function () {\n return this.colorBuffer;\n };W.prototype.findSameClip = function (aK) {\n for (var aN = 0; aN < this.clipContextList.length; aN++) {\n var aO = this.clipContextList[aN];var aH = aO.clipIDList.length;if (aH != aK.length) {\n continue;\n }var aI = 0;for (var aM = 0; aM < aH; aM++) {\n var aL = aO.clipIDList[aM];for (var aJ = 0; aJ < aH; aJ++) {\n if (aK[aJ] == aL) {\n aI++;break;\n }\n }\n }if (aI == aH) {\n return aO;\n }\n }return null;\n };W.prototype.calcClippedDrawTotalBounds = function (a6, aV) {\n var aU = a6._$Ri.getModelImpl().getCanvasWidth();var a5 = a6._$Ri.getModelImpl().getCanvasHeight();var aJ = aU > a5 ? aU : a5;var aT = aJ;var aR = aJ;var aS = 0;var aP = 0;var aL = aV.clippedDrawContextList.length;for (var aM = 0; aM < aL; aM++) {\n var aW = aV.clippedDrawContextList[aM];var aN = aW.drawDataIndex;var aK = a6._$C2(aN);if (aK._$yo()) {\n var aX = aK.getTransformedPoints();var a4 = aX.length;var aI = [];var aH = [];var aO = 0;for (var a3 = aw._$i2; a3 < a4; a3 += aw._$No) {\n aI[aO] = aX[a3];aH[aO] = aX[a3 + 1];aO++;\n }var a2 = Math.min.apply(null, aI);var a1 = Math.min.apply(null, aH);var a0 = Math.max.apply(null, aI);var aZ = Math.max.apply(null, aH);if (a2 < aT) {\n aT = a2;\n }if (a1 < aR) {\n aR = a1;\n }if (a0 > aS) {\n aS = a0;\n }if (aZ > aP) {\n aP = aZ;\n }\n }\n }if (aT == aJ) {\n aV.allClippedDrawRect.x = 0;aV.allClippedDrawRect.y = 0;aV.allClippedDrawRect.width = 0;aV.allClippedDrawRect.height = 0;aV.isUsing = false;\n } else {\n var aQ = aS - aT;var aY = aP - aR;aV.allClippedDrawRect.x = aT;aV.allClippedDrawRect.y = aR;aV.allClippedDrawRect.width = aQ;aV.allClippedDrawRect.height = aY;aV.isUsing = true;\n }\n };W.prototype.setupLayoutBounds = function (aQ) {\n var aI = aQ / W.CHANNEL_COUNT;var aP = aQ % W.CHANNEL_COUNT;aI = ~~aI;aP = ~~aP;var aH = 0;for (var aJ = 0; aJ < W.CHANNEL_COUNT; aJ++) {\n var aM = aI + (aJ < aP ? 1 : 0);if (aM == 0) {} else {\n if (aM == 1) {\n var aL = this.clipContextList[aH++];aL.layoutChannelNo = aJ;aL.layoutBounds.x = 0;aL.layoutBounds.y = 0;aL.layoutBounds.width = 1;aL.layoutBounds.height = 1;\n } else {\n if (aM == 2) {\n for (var aO = 0; aO < aM; aO++) {\n var aN = aO % 2;var aK = 0;aN = ~~aN;var aL = this.clipContextList[aH++];aL.layoutChannelNo = aJ;aL.layoutBounds.x = aN * 0.5;aL.layoutBounds.y = 0;aL.layoutBounds.width = 0.5;aL.layoutBounds.height = 1;\n }\n } else {\n if (aM <= 4) {\n for (var aO = 0; aO < aM; aO++) {\n var aN = aO % 2;var aK = aO / 2;aN = ~~aN;aK = ~~aK;var aL = this.clipContextList[aH++];aL.layoutChannelNo = aJ;aL.layoutBounds.x = aN * 0.5;aL.layoutBounds.y = aK * 0.5;aL.layoutBounds.width = 0.5;aL.layoutBounds.height = 0.5;\n }\n } else {\n if (aM <= 9) {\n for (var aO = 0; aO < aM; aO++) {\n var aN = aO % 3;var aK = aO / 3;aN = ~~aN;aK = ~~aK;var aL = this.clipContextList[aH++];aL.layoutChannelNo = aJ;aL.layoutBounds.x = aN / 3;aL.layoutBounds.y = aK / 3;aL.layoutBounds.width = 1 / 3;aL.layoutBounds.height = 1 / 3;\n }\n } else {\n q._$li(\"_$6 _$0P mask count : %d\", aM);\n }\n }\n }\n }\n }\n }\n };function U(aH, aK, aI) {\n this.clipIDList = new Array();this.clipIDList = aI;this.clippingMaskDrawIndexList = new Array();for (var aJ = 0; aJ < aI.length; aJ++) {\n this.clippingMaskDrawIndexList.push(aK.getDrawDataIndex(aI[aJ]));\n }this.clippedDrawContextList = new Array();this.isUsing = true;this.layoutChannelNo = 0;this.layoutBounds = new av();this.allClippedDrawRect = new av();this.matrixForMask = new Float32Array(16);this.matrixForDraw = new Float32Array(16);this.owner = aH;\n }U.prototype.addClippedDrawData = function (aJ, aI) {\n var aH = new R(aJ, aI);this.clippedDrawContextList.push(aH);\n };function R(aI, aH) {\n this._$gP = aI;this.drawDataIndex = aH;\n }function I() {\n if (j) {\n return;\n }this.color = null;\n }function ah() {\n if (j) {\n return;\n }this._$dP = null;this._$eo = null;this._$V0 = null;this._$dP = 1000;this._$eo = 1000;this._$V0 = 1;this._$a0();\n }ah._$JT = function (aP, aN, aO) {\n var aQ = aP / aN;var a1 = aO / aN;var aU = a1;var aZ = 1 / 3;var aR = 2 / 3;var a0 = 1 - (1 - a1) * (1 - a1);var a2 = 1 - (1 - aU) * (1 - aU);var aM = 0;var aL = (1 - a1) * aZ * a0 + (aU * aR + (1 - aU) * aZ) * (1 - a0);var aK = (aU + (1 - aU) * aR) * a2 + (a1 * aZ + (1 - a1) * aR) * (1 - a2);var aJ = 1;var aY = aJ - 3 * aK + 3 * aL - aM;var aX = 3 * aK - 6 * aL + 3 * aM;var aW = 3 * aL - 3 * aM;var aV = aM;if (aQ <= 0) {\n return 0;\n } else {\n if (aQ >= 1) {\n return 1;\n }\n }var aS = aQ;var aI = aS * aS;var aH = aS * aI;var aT = aY * aH + aX * aI + aW * aS + aV;return aT;\n };ah.prototype._$a0 = function () {};ah.prototype.setFadeIn = function (aH) {\n this._$dP = aH;\n };ah.prototype.setFadeOut = function (aH) {\n this._$eo = aH;\n };ah.prototype._$pT = function (aH) {\n this._$V0 = aH;\n };ah.prototype.getFadeOut = function () {\n return this._$eo;\n };ah.prototype._$4T = function () {\n return this._$eo;\n };ah.prototype._$mT = function () {\n return this._$V0;\n };ah.prototype.getDurationMSec = function () {\n return -1;\n };ah.prototype.getLoopDurationMSec = function () {\n return -1;\n };ah.prototype.updateParam = function (aJ, aN) {\n if (!aN._$AT || aN._$9L) {\n return;\n }var aL = P.getUserTimeMSec();if (aN._$z2 < 0) {\n aN._$z2 = aL;aN._$bs = aL;var aM = this.getDurationMSec();if (aN._$Do < 0) {\n aN._$Do = aM <= 0 ? -1 : aN._$z2 + aM;\n }\n }var aI = this._$V0;var aH = this._$dP == 0 ? 1 : A._$r2((aL - aN._$bs) / this._$dP);var aK = this._$eo == 0 || aN._$Do < 0 ? 1 : A._$r2((aN._$Do - aL) / this._$eo);aI = aI * aH * aK;if (!(0 <= aI && aI <= 1)) {\n console.log(\"### assert!! ### \");\n }this.updateParamExe(aJ, aL, aI, aN);if (aN._$Do > 0 && aN._$Do < aL) {\n aN._$9L = true;\n }\n };ah.prototype.updateParamExe = function (aH, aI, aJ, aK) {};function q() {}q._$8s = 0;q._$fT = new Object();q.start = function (aI) {\n var aH = q._$fT[aI];if (aH == null) {\n aH = new af();aH._$r = aI;q._$fT[aI] = aH;\n }aH._$0S = P.getSystemTimeMSec();\n };q.dump = function (aJ) {\n var aH = q._$fT[aJ];if (aH != null) {\n var aI = P.getSystemTimeMSec();var aK = aI - aH._$0S;console.log(aJ + \" : \" + aK + \"ms\");return aK;\n } else {\n return -1;\n }\n };q.end = function (aJ) {\n var aH = q._$fT[aJ];if (aH != null) {\n var aI = P.getSystemTimeMSec();return aI - aH._$0S;\n } else {\n return -1;\n }\n };q._$li = function (aI, aH) {\n console.log(\"_$li : \" + aI + \"\\n\", aH);\n };q._$Ji = function (aI, aH) {\n console.log(aI, aH);\n };q._$dL = function (aI, aH) {\n console.log(aI, aH);console.log(\"\\n\");\n };q._$KL = function (aJ, aI) {\n for (var aH = 0; aH < aI; aH++) {\n if (aH % 16 == 0 && aH > 0) {\n console.log(\"\\n\");\n } else {\n if (aH % 8 == 0 && aH > 0) {\n console.log(\" \");\n }\n }console.log(\"%02X \", aJ[aH] & 255);\n }console.log(\"\\n\");\n };q._$nr = function (aL, aI, aK) {\n console.log(\"%s\\n\", aL);var aH = aI.length;for (var aJ = 0; aJ < aH; ++aJ) {\n console.log(\"%5d\", aI[aJ]);console.log(\"%s\\n\", aK);console.log(\",\");\n }console.log(\"\\n\");\n };q._$Rb = function (aH) {\n console.log(\"dump exception : \" + aH);console.log(\"stack :: \" + aH.stack);\n };function af() {\n this._$r = null;this._$0S = null;\n }function F() {\n if (j) {\n return;\n }this.x = null;this.y = null;this.width = null;this.height = null;\n }F.prototype._$8P = function () {\n return 0.5 * (this.x + this.x + this.width);\n };F.prototype._$6P = function () {\n return 0.5 * (this.y + this.y + this.height);\n };F.prototype._$EL = function () {\n return this.x + this.width;\n };F.prototype._$5T = function () {\n return this.y + this.height;\n };F.prototype._$jL = function (aI, aK, aJ, aH) {\n this.x = aI;this.y = aK;this.width = aJ;this.height = aH;\n };F.prototype._$jL = function (aH) {\n this.x = aH.x;this.y = aH.y;this.width = aH.width;this.height = aH.height;\n };function i(aH) {\n if (j) {\n return;\n }ak.prototype.constructor.call(this, aH);\n }i.prototype = new ak();i._$tP = new Object();i._$27 = function () {\n i._$tP.clear();\n };i.getID = function (aH) {\n var aI = i._$tP[aH];if (aI == null) {\n aI = new i(aH);i._$tP[aH] = aI;\n }return aI;\n };i.prototype._$3s = function () {\n return new i();\n };function S() {}function z(aH) {\n if (j) {\n return;\n }ak.prototype.constructor.call(this, aH);\n }z.prototype = new ak();z._$tP = new Object();z._$27 = function () {\n z._$tP.clear();\n };z.getID = function (aH) {\n var aI = z._$tP[aH];if (aI == null) {\n aI = new z(aH);z._$tP[aH] = aI;\n }return aI;\n };z.prototype._$3s = function () {\n return new z();\n };function w() {\n if (j) {\n return;\n }this._$vo = null;this._$F2 = null;this._$ao = 400;this._$1S = 400;w._$42++;\n }w._$42 = 0;w.prototype._$zP = function () {\n if (this._$vo == null) {\n this._$vo = new an();\n }if (this._$F2 == null) {\n this._$F2 = new Array();\n }\n };w.prototype.getCanvasWidth = function () {\n return this._$ao;\n };w.prototype.getCanvasHeight = function () {\n return this._$1S;\n };w.prototype._$F0 = function (aH) {\n this._$vo = aH._$nP();this._$F2 = aH._$nP();this._$ao = aH._$6L();this._$1S = aH._$6L();\n };w.prototype._$6S = function (aH) {\n this._$F2.push(aH);\n };w.prototype._$Xr = function () {\n return this._$F2;\n };w.prototype._$E2 = function () {\n return this._$vo;\n };function u() {\n if (j) {\n return;\n }this.p1 = new N();this.p2 = new N();this._$Fo = 0;this._$Db = 0;this._$L2 = 0;this._$M2 = 0;this._$ks = 0;this._$9b = 0;this._$iP = 0;this._$iT = 0;this._$lL = new Array();this._$qP = new Array();this.setup(0.3, 0.5, 0.1);\n }u.prototype.setup = function (aJ, aI, aH) {\n this._$ks = this._$Yb();this.p2._$xT();if (arguments.length == 3) {\n this._$Fo = aJ;this._$L2 = aI;this.p1._$p = aH;this.p2._$p = aH;this.p2.y = aJ;this.setup();\n }\n };u.prototype.getPhysicsPoint1 = function () {\n return this.p1;\n };u.prototype.getPhysicsPoint2 = function () {\n return this.p2;\n };u.prototype._$qr = function () {\n return this._$Db;\n };u.prototype._$pr = function (aH) {\n this._$Db = aH;\n };u.prototype._$5r = function () {\n return this._$M2;\n };u.prototype._$Cs = function () {\n return this._$9b;\n };u.prototype._$Yb = function () {\n return -180 * Math.atan2(this.p1.x - this.p2.x, -(this.p1.y - this.p2.y)) / Math.PI;\n };u.prototype.addSrcParam = function (aJ, aH, aL, aI) {\n var aK = new h(aJ, aH, aL, aI);this._$lL.push(aK);\n };u.prototype.addTargetParam = function (aJ, aH, aK, aI) {\n var aL = new aF(aJ, aH, aK, aI);this._$qP.push(aL);\n };u.prototype.update = function (aI, aL) {\n if (this._$iP == 0) {\n this._$iP = this._$iT = aL;this._$Fo = Math.sqrt((this.p1.x - this.p2.x) * (this.p1.x - this.p2.x) + (this.p1.y - this.p2.y) * (this.p1.y - this.p2.y));return;\n }var aK = (aL - this._$iT) / 1000;if (aK != 0) {\n for (var aJ = this._$lL.length - 1; aJ >= 0; --aJ) {\n var aM = this._$lL[aJ];aM._$oP(aI, this);\n }this._$oo(aI, aK);this._$M2 = this._$Yb();this._$9b = (this._$M2 - this._$ks) / aK;this._$ks = this._$M2;\n }for (var aJ = this._$qP.length - 1; aJ >= 0; --aJ) {\n var aH = this._$qP[aJ];aH._$YS(aI, this);\n }this._$iT = aL;\n };u.prototype._$oo = function (aN, aI) {\n if (aI < 0.033) {\n aI = 0.033;\n }var aU = 1 / aI;this.p1.vx = (this.p1.x - this.p1._$s0) * aU;this.p1.vy = (this.p1.y - this.p1._$70) * aU;this.p1.ax = (this.p1.vx - this.p1._$7L) * aU;this.p1.ay = (this.p1.vy - this.p1._$HL) * aU;this.p1.fx = this.p1.ax * this.p1._$p;this.p1.fy = this.p1.ay * this.p1._$p;this.p1._$xT();var aM = -Math.atan2(this.p1.y - this.p2.y, this.p1.x - this.p2.x);var aL;var aV;var aR = Math.cos(aM);var aH = Math.sin(aM);var aW = 9.8 * this.p2._$p;var aQ = this._$Db * aC._$bS;var aP = aW * Math.cos(aM - aQ);aL = aP * aH;aV = aP * aR;var aK = -this.p1.fx * aH * aH;var aT = -this.p1.fy * aH * aR;var aJ = -this.p2.vx * this._$L2;var aS = -this.p2.vy * this._$L2;this.p2.fx = aL + aK + aJ;this.p2.fy = aV + aT + aS;this.p2.ax = this.p2.fx / this.p2._$p;this.p2.ay = this.p2.fy / this.p2._$p;this.p2.vx += this.p2.ax * aI;this.p2.vy += this.p2.ay * aI;this.p2.x += this.p2.vx * aI;this.p2.y += this.p2.vy * aI;var aO = Math.sqrt((this.p1.x - this.p2.x) * (this.p1.x - this.p2.x) + (this.p1.y - this.p2.y) * (this.p1.y - this.p2.y));this.p2.x = this.p1.x + this._$Fo * (this.p2.x - this.p1.x) / aO;this.p2.y = this.p1.y + this._$Fo * (this.p2.y - this.p1.y) / aO;this.p2.vx = (this.p2.x - this.p2._$s0) * aU;this.p2.vy = (this.p2.y - this.p2._$70) * aU;this.p2._$xT();\n };function N() {\n this._$p = 1;this.x = 0;this.y = 0;this.vx = 0;this.vy = 0;this.ax = 0;this.ay = 0;this.fx = 0;this.fy = 0;this._$s0 = 0;this._$70 = 0;this._$7L = 0;this._$HL = 0;\n }N.prototype._$xT = function () {\n this._$s0 = this.x;this._$70 = this.y;this._$7L = this.vx;this._$HL = this.vy;\n };function at(aJ, aI, aH) {\n this._$wL = null;this.scale = null;this._$V0 = null;this._$wL = aJ;this.scale = aI;this._$V0 = aH;\n }at.prototype._$oP = function (aI, aH) {};function h(aJ, aK, aI, aH) {\n at.prototype.constructor.call(this, aK, aI, aH);this._$tL = null;this._$tL = aJ;\n }h.prototype = new at();h.prototype._$oP = function (aJ, aH) {\n var aK = this.scale * aJ.getParamFloat(this._$wL);var aL = aH.getPhysicsPoint1();switch (this._$tL) {default:case u.Src.SRC_TO_X:\n aL.x = aL.x + (aK - aL.x) * this._$V0;break;case u.Src.SRC_TO_Y:\n aL.y = aL.y + (aK - aL.y) * this._$V0;break;case u.Src.SRC_TO_G_ANGLE:\n var aI = aH._$qr();aI = aI + (aK - aI) * this._$V0;aH._$pr(aI);break;}\n };function d(aJ, aI, aH) {\n this._$wL = null;this.scale = null;this._$V0 = null;this._$wL = aJ;this.scale = aI;this._$V0 = aH;\n }d.prototype._$YS = function (aI, aH) {};function aF(aI, aK, aJ, aH) {\n d.prototype.constructor.call(this, aK, aJ, aH);this._$YP = null;this._$YP = aI;\n }aF.prototype = new d();aF.prototype._$YS = function (aI, aH) {\n switch (this._$YP) {default:case u.Target.TARGET_FROM_ANGLE:\n aI.setParamFloat(this._$wL, this.scale * aH._$5r(), this._$V0);break;case u.Target.TARGET_FROM_ANGLE_V:\n aI.setParamFloat(this._$wL, this.scale * aH._$Cs(), this._$V0);break;}\n };u.Src = function () {};u.Src.SRC_TO_X = \"SRC_TO_X\";u.Src.SRC_TO_Y = \"SRC_TO_Y\";u.Src.SRC_TO_G_ANGLE = \"SRC_TO_G_ANGLE\";u.Target = function () {};u.Target.TARGET_FROM_ANGLE = \"TARGET_FROM_ANGLE\";u.Target.TARGET_FROM_ANGLE_V = \"TARGET_FROM_ANGLE_V\";function X() {\n if (j) {\n return;\n }this._$fL = 0;this._$gL = 0;this._$B0 = 1;this._$z0 = 1;this._$qT = 0;this.reflectX = false;this.reflectY = false;\n }X.prototype.init = function (aH) {\n this._$fL = aH._$fL;this._$gL = aH._$gL;this._$B0 = aH._$B0;this._$z0 = aH._$z0;this._$qT = aH._$qT;this.reflectX = aH.reflectX;this.reflectY = aH.reflectY;\n };X.prototype._$F0 = function (aH) {\n this._$fL = aH._$_T();this._$gL = aH._$_T();this._$B0 = aH._$_T();this._$z0 = aH._$_T();this._$qT = aH._$_T();if (aH.getFormatVersion() >= ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2) {\n this.reflectX = aH._$po();this.reflectY = aH._$po();\n }\n };X.prototype._$e = function () {};var ad = function ad() {};ad._$ni = function (aL, aJ, aR, aQ, aK, aI, aH, aS, aN) {\n var aM = aH * aI - aS * aK;if (aM == 0) {\n return null;\n } else {\n var aO = ((aL - aR) * aI - (aJ - aQ) * aK) / aM;var aP;if (aK != 0) {\n aP = (aL - aR - aO * aH) / aK;\n } else {\n aP = (aJ - aQ - aO * aS) / aI;\n }if (isNaN(aP)) {\n aP = (aL - aR - aO * aH) / aK;if (isNaN(aP)) {\n aP = (aJ - aQ - aO * aS) / aI;\n }if (isNaN(aP)) {\n console.log(\"a is NaN @UtVector#_$ni() \");console.log(\"v1x : \" + aK);console.log(\"v1x != 0 ? \" + (aK != 0));\n }\n }if (aN == null) {\n return new Array(aP, aO);\n } else {\n aN[0] = aP;aN[1] = aO;return aN;\n }\n }\n };function av() {\n if (j) {\n return;\n }this.x = null;this.y = null;this.width = null;this.height = null;\n }av.prototype._$8P = function () {\n return this.x + 0.5 * this.width;\n };av.prototype._$6P = function () {\n return this.y + 0.5 * this.height;\n };av.prototype._$EL = function () {\n return this.x + this.width;\n };av.prototype._$5T = function () {\n return this.y + this.height;\n };av.prototype._$jL = function (aI, aK, aJ, aH) {\n this.x = aI;this.y = aK;this.width = aJ;this.height = aH;\n };av.prototype._$jL = function (aH) {\n this.x = aH.x;this.y = aH.y;this.width = aH.width;this.height = aH.height;\n };av.prototype.contains = function (aH, aI) {\n return this.x <= this.x && this.y <= this.y && this.x <= this.x + this.width && this.y <= this.y + this.height;\n };av.prototype.expand = function (aH, aI) {\n this.x -= aH;this.y -= aI;this.width += aH * 2;this.height += aI * 2;\n };function aG() {}aG._$Z2 = function (bb, bo, bp, a2) {\n var a1 = bo._$Q2(bb, bp);var a3 = bb._$vs();var ba = bb._$Tr();bo._$zr(a3, ba, a1);if (a1 <= 0) {\n return a2[a3[0]];\n } else {\n if (a1 == 1) {\n var bj = a2[a3[0]];var bi = a2[a3[1]];var a9 = ba[0];return bj + (bi - bj) * a9 | 0;\n } else {\n if (a1 == 2) {\n var bj = a2[a3[0]];var bi = a2[a3[1]];var a0 = a2[a3[2]];var aZ = a2[a3[3]];var a9 = ba[0];var a8 = ba[1];var br = bj + (bi - bj) * a9 | 0;var bq = a0 + (aZ - a0) * a9 | 0;return br + (bq - br) * a8 | 0;\n } else {\n if (a1 == 3) {\n var aP = a2[a3[0]];var aO = a2[a3[1]];var bn = a2[a3[2]];var bm = a2[a3[3]];var aK = a2[a3[4]];var aJ = a2[a3[5]];var bg = a2[a3[6]];var bf = a2[a3[7]];var a9 = ba[0];var a8 = ba[1];var a6 = ba[2];var bj = aP + (aO - aP) * a9 | 0;var bi = bn + (bm - bn) * a9 | 0;var a0 = aK + (aJ - aK) * a9 | 0;var aZ = bg + (bf - bg) * a9 | 0;var br = bj + (bi - bj) * a8 | 0;var bq = a0 + (aZ - a0) * a8 | 0;return br + (bq - br) * a6 | 0;\n } else {\n if (a1 == 4) {\n var aT = a2[a3[0]];var aS = a2[a3[1]];var bu = a2[a3[2]];var bt = a2[a3[3]];var aN = a2[a3[4]];var aM = a2[a3[5]];var bl = a2[a3[6]];var bk = a2[a3[7]];var be = a2[a3[8]];var bc = a2[a3[9]];var aX = a2[a3[10]];var aW = a2[a3[11]];var a7 = a2[a3[12]];var a5 = a2[a3[13]];var aR = a2[a3[14]];var aQ = a2[a3[15]];var a9 = ba[0];var a8 = ba[1];var a6 = ba[2];var a4 = ba[3];var aP = aT + (aS - aT) * a9 | 0;var aO = bu + (bt - bu) * a9 | 0;var bn = aN + (aM - aN) * a9 | 0;var bm = bl + (bk - bl) * a9 | 0;var aK = be + (bc - be) * a9 | 0;var aJ = aX + (aW - aX) * a9 | 0;var bg = a7 + (a5 - a7) * a9 | 0;var bf = aR + (aQ - aR) * a9 | 0;var bj = aP + (aO - aP) * a8 | 0;var bi = bn + (bm - bn) * a8 | 0;var a0 = aK + (aJ - aK) * a8 | 0;var aZ = bg + (bf - bg) * a8 | 0;var br = bj + (bi - bj) * a6 | 0;var bq = a0 + (aZ - a0) * a6 | 0;return br + (bq - br) * a4 | 0;\n } else {\n var aV = 1 << a1;var aY = new Float32Array(aV);for (var bh = 0; bh < aV; bh++) {\n var aI = bh;var aH = 1;for (var aL = 0; aL < a1; aL++) {\n aH *= aI % 2 == 0 ? 1 - ba[aL] : ba[aL];aI /= 2;\n }aY[bh] = aH;\n }var bs = new Float32Array(aV);for (var aU = 0; aU < aV; aU++) {\n bs[aU] = a2[a3[aU]];\n }var bd = 0;for (var aU = 0; aU < aV; aU++) {\n bd += aY[aU] * bs[aU];\n }return bd + 0.5 | 0;\n }\n }\n }\n }\n }\n };aG._$br = function (ba, bo, bp, bg) {\n var a1 = bo._$Q2(ba, bp);var a2 = ba._$vs();var a9 = ba._$Tr();bo._$zr(a2, a9, a1);if (a1 <= 0) {\n return bg[a2[0]];\n } else {\n if (a1 == 1) {\n var bj = bg[a2[0]];var bi = bg[a2[1]];var a8 = a9[0];return bj + (bi - bj) * a8;\n } else {\n if (a1 == 2) {\n var bj = bg[a2[0]];var bi = bg[a2[1]];var a0 = bg[a2[2]];var aZ = bg[a2[3]];var a8 = a9[0];var a7 = a9[1];return (1 - a7) * (bj + (bi - bj) * a8) + a7 * (a0 + (aZ - a0) * a8);\n } else {\n if (a1 == 3) {\n var aP = bg[a2[0]];var aO = bg[a2[1]];var bn = bg[a2[2]];var bm = bg[a2[3]];var aK = bg[a2[4]];var aJ = bg[a2[5]];var bf = bg[a2[6]];var be = bg[a2[7]];var a8 = a9[0];var a7 = a9[1];var a5 = a9[2];return (1 - a5) * ((1 - a7) * (aP + (aO - aP) * a8) + a7 * (bn + (bm - bn) * a8)) + a5 * ((1 - a7) * (aK + (aJ - aK) * a8) + a7 * (bf + (be - bf) * a8));\n } else {\n if (a1 == 4) {\n var aT = bg[a2[0]];var aS = bg[a2[1]];var bs = bg[a2[2]];var br = bg[a2[3]];var aN = bg[a2[4]];var aM = bg[a2[5]];var bl = bg[a2[6]];var bk = bg[a2[7]];var bd = bg[a2[8]];var bb = bg[a2[9]];var aX = bg[a2[10]];var aW = bg[a2[11]];var a6 = bg[a2[12]];var a4 = bg[a2[13]];var aR = bg[a2[14]];var aQ = bg[a2[15]];var a8 = a9[0];var a7 = a9[1];var a5 = a9[2];var a3 = a9[3];return (1 - a3) * ((1 - a5) * ((1 - a7) * (aT + (aS - aT) * a8) + a7 * (bs + (br - bs) * a8)) + a5 * ((1 - a7) * (aN + (aM - aN) * a8) + a7 * (bl + (bk - bl) * a8))) + a3 * ((1 - a5) * ((1 - a7) * (bd + (bb - bd) * a8) + a7 * (aX + (aW - aX) * a8)) + a5 * ((1 - a7) * (a6 + (a4 - a6) * a8) + a7 * (aR + (aQ - aR) * a8)));\n } else {\n var aV = 1 << a1;var aY = new Float32Array(aV);for (var bh = 0; bh < aV; bh++) {\n var aI = bh;var aH = 1;for (var aL = 0; aL < a1; aL++) {\n aH *= aI % 2 == 0 ? 1 - a9[aL] : a9[aL];aI /= 2;\n }aY[bh] = aH;\n }var bq = new Float32Array(aV);for (var aU = 0; aU < aV; aU++) {\n bq[aU] = bg[a2[aU]];\n }var bc = 0;for (var aU = 0; aU < aV; aU++) {\n bc += aY[aU] * bq[aU];\n }return bc;\n }\n }\n }\n }\n }\n };aG._$Vr = function (bV, bW, a5, aI, bC, a3, bX, bH) {\n var aN = bW._$Q2(bV, a5);var bw = bV._$vs();var a2 = bV._$Tr();bW._$zr(bw, a2, aN);var aJ = aI * 2;var aQ = bX;if (aN <= 0) {\n var bI = bw[0];var bq = bC[bI];if (bH == 2 && bX == 0) {\n P._$jT(bq, 0, a3, 0, aJ);\n } else {\n for (var bt = 0; bt < aJ;) {\n a3[aQ] = bq[bt++];a3[aQ + 1] = bq[bt++];aQ += bH;\n }\n }\n } else {\n if (aN == 1) {\n var bq = bC[bw[0]];var bp = bC[bw[1]];var b3 = a2[0];var bT = 1 - b3;for (var bt = 0; bt < aJ;) {\n a3[aQ] = bq[bt] * bT + bp[bt] * b3;++bt;a3[aQ + 1] = bq[bt] * bT + bp[bt] * b3;++bt;aQ += bH;\n }\n } else {\n if (aN == 2) {\n var bq = bC[bw[0]];var bp = bC[bw[1]];var aZ = bC[bw[2]];var aY = bC[bw[3]];var b3 = a2[0];var b1 = a2[1];var bT = 1 - b3;var bP = 1 - b1;var b2 = bP * bT;var b0 = bP * b3;var bM = b1 * bT;var bL = b1 * b3;for (var bt = 0; bt < aJ;) {\n a3[aQ] = b2 * bq[bt] + b0 * bp[bt] + bM * aZ[bt] + bL * aY[bt];++bt;a3[aQ + 1] = b2 * bq[bt] + b0 * bp[bt] + bM * aZ[bt] + bL * aY[bt];++bt;aQ += bH;\n }\n } else {\n if (aN == 3) {\n var ba = bC[bw[0]];var a9 = bC[bw[1]];var aP = bC[bw[2]];var aO = bC[bw[3]];var a6 = bC[bw[4]];var a4 = bC[bw[5]];var aL = bC[bw[6]];var aK = bC[bw[7]];var b3 = a2[0];var b1 = a2[1];var bZ = a2[2];var bT = 1 - b3;var bP = 1 - b1;var bN = 1 - bZ;var b8 = bN * bP * bT;var b7 = bN * bP * b3;var bU = bN * b1 * bT;var bS = bN * b1 * b3;var b6 = bZ * bP * bT;var b5 = bZ * bP * b3;var bQ = bZ * b1 * bT;var bO = bZ * b1 * b3;for (var bt = 0; bt < aJ;) {\n a3[aQ] = b8 * ba[bt] + b7 * a9[bt] + bU * aP[bt] + bS * aO[bt] + b6 * a6[bt] + b5 * a4[bt] + bQ * aL[bt] + bO * aK[bt];++bt;a3[aQ + 1] = b8 * ba[bt] + b7 * a9[bt] + bU * aP[bt] + bS * aO[bt] + b6 * a6[bt] + b5 * a4[bt] + bQ * aL[bt] + bO * aK[bt];++bt;aQ += bH;\n }\n } else {\n if (aN == 4) {\n var bD = bC[bw[0]];var bB = bC[bw[1]];var bo = bC[bw[2]];var bm = bC[bw[3]];var by = bC[bw[4]];var bx = bC[bw[5]];var be = bC[bw[6]];var bd = bC[bw[7]];var bG = bC[bw[8]];var bE = bC[bw[9]];var bv = bC[bw[10]];var bu = bC[bw[11]];var bA = bC[bw[12]];var bz = bC[bw[13]];var bn = bC[bw[14]];var bl = bC[bw[15]];var b3 = a2[0];var b1 = a2[1];var bZ = a2[2];var bY = a2[3];var bT = 1 - b3;var bP = 1 - b1;var bN = 1 - bZ;var bK = 1 - bY;var bk = bK * bN * bP * bT;var bi = bK * bN * bP * b3;var aW = bK * bN * b1 * bT;var aV = bK * bN * b1 * b3;var bc = bK * bZ * bP * bT;var bb = bK * bZ * bP * b3;var aS = bK * bZ * b1 * bT;var aR = bK * bZ * b1 * b3;var bs = bY * bN * bP * bT;var br = bY * bN * bP * b3;var a1 = bY * bN * b1 * bT;var a0 = bY * bN * b1 * b3;var bh = bY * bZ * bP * bT;var bf = bY * bZ * bP * b3;var aU = bY * bZ * b1 * bT;var aT = bY * bZ * b1 * b3;for (var bt = 0; bt < aJ;) {\n a3[aQ] = bk * bD[bt] + bi * bB[bt] + aW * bo[bt] + aV * bm[bt] + bc * by[bt] + bb * bx[bt] + aS * be[bt] + aR * bd[bt] + bs * bG[bt] + br * bE[bt] + a1 * bv[bt] + a0 * bu[bt] + bh * bA[bt] + bf * bz[bt] + aU * bn[bt] + aT * bl[bt];++bt;a3[aQ + 1] = bk * bD[bt] + bi * bB[bt] + aW * bo[bt] + aV * bm[bt] + bc * by[bt] + bb * bx[bt] + aS * be[bt] + aR * bd[bt] + bs * bG[bt] + br * bE[bt] + a1 * bv[bt] + a0 * bu[bt] + bh * bA[bt] + bf * bz[bt] + aU * bn[bt] + aT * bl[bt];++bt;aQ += bH;\n }\n } else {\n var b4 = 1 << aN;var bJ = new Float32Array(b4);for (var bj = 0; bj < b4; bj++) {\n var aH = bj;var aM = 1;for (var bF = 0; bF < aN; bF++) {\n aM *= aH % 2 == 0 ? 1 - a2[bF] : a2[bF];aH /= 2;\n }bJ[bj] = aM;\n }var bg = new Float32Array(b4);for (var aX = 0; aX < b4; aX++) {\n bg[aX] = bC[bw[aX]];\n }for (var bt = 0; bt < aJ;) {\n var a8 = 0,\n a7 = 0;var bR = bt + 1;for (var aX = 0; aX < b4; aX++) {\n a8 += bJ[aX] * bg[aX][bt];a7 += bJ[aX] * bg[aX][bR];\n }bt += 2;a3[aQ] = a8;a3[aQ + 1] = a7;aQ += bH;\n }\n }\n }\n }\n }\n }\n };function e() {\n if (j) {\n return;\n }this.x = null;this.y = null;\n }e.prototype._$HT = function (aH, aI) {\n this.x = aH;this.y = aI;\n };e.prototype._$HT = function (aH) {\n this.x = aH.x;this.y = aH.y;\n };function ae() {\n if (j) {\n return;\n }this._$gP = null;this._$dr = null;this._$GS = null;this._$qb = null;this._$Lb = null;this._$mS = null;this.clipID = null;this.clipIDList = new Array();\n }ae._$ur = -2;ae._$ES = 500;ae._$wb = 2;ae._$8S = 3;ae._$52 = ae._$ES;ae._$R2 = ae._$ES;ae._$or = function () {\n return ae._$52;\n };ae._$Pr = function () {\n return ae._$R2;\n };ae.prototype.convertClipIDForV2_11 = function (aI) {\n var aH = [];if (aI == null) {\n return null;\n }if (aI.length == 0) {\n return null;\n }if (!/,/.test(aI)) {\n aH.push(aI.id);return aH;\n }aH = aI.id.split(\",\");return aH;\n };ae.prototype._$F0 = function (aH) {\n this._$gP = aH._$nP();this._$dr = aH._$nP();this._$GS = aH._$nP();this._$qb = aH._$6L();this._$Lb = aH._$cS();this._$mS = aH._$Tb();if (aH.getFormatVersion() >= ay._$T7) {\n this.clipID = aH._$nP();this.clipIDList = this.convertClipIDForV2_11(this.clipID);\n } else {\n this.clipIDList = [];\n }this._$MS(this._$Lb);\n };ae.prototype.getClipIDList = function () {\n return this.clipIDList;\n };ae.prototype.init = function (aH) {};ae.prototype._$Nr = function (aH, aI) {\n aI._$IS[0] = false;aI._$Us = aG._$Z2(aH, this._$GS, aI._$IS, this._$Lb);if (Q._$Zs) {} else {\n if (aI._$IS[0]) {\n return;\n }\n }aI._$7s = aG._$br(aH, this._$GS, aI._$IS, this._$mS);\n };ae.prototype._$2b = function (aH, aI) {};ae.prototype.getDrawDataID = function () {\n return this._$gP;\n };ae.prototype._$j2 = function (aH) {\n this._$gP = aH;\n };ae.prototype.getOpacity = function (aH, aI) {\n return aI._$7s;\n };ae.prototype._$zS = function (aH, aI) {\n return aI._$Us;\n };ae.prototype._$MS = function (aJ) {\n for (var aI = aJ.length - 1; aI >= 0; --aI) {\n var aH = aJ[aI];if (aH < ae._$52) {\n ae._$52 = aH;\n } else {\n if (aH > ae._$R2) {\n ae._$R2 = aH;\n }\n }\n }\n };ae.prototype.getTargetBaseDataID = function () {\n return this._$dr;\n };ae.prototype._$gs = function (aH) {\n this._$dr = aH;\n };ae.prototype._$32 = function () {\n return this._$dr != null && this._$dr != n._$2o();\n };ae.prototype.preDraw = function (aJ, aH, aI) {};ae.prototype.draw = function (aJ, aH, aI) {};ae.prototype.getType = function () {};ae.prototype._$B2 = function (aI, aH, aJ) {};function ax() {\n if (j) {\n return;\n }this._$Eb = ax._$ps;this._$lT = 1;this._$C0 = 1;this._$tT = 1;this._$WL = 1;this.culling = false;this.matrix4x4 = new Float32Array(16);this.premultipliedAlpha = false;this.anisotropy = 0;this.clippingProcess = ax.CLIPPING_PROCESS_NONE;this.clipBufPre_clipContextMask = null;this.clipBufPre_clipContextDraw = null;this.CHANNEL_COLORS = new Array();\n }ax._$ps = 32;ax.CLIPPING_PROCESS_NONE = 0;ax.CLIPPING_PROCESS_OVERWRITE_ALPHA = 1;ax.CLIPPING_PROCESS_MULTIPLY_ALPHA = 2;ax.CLIPPING_PROCESS_DRAW = 3;ax.CLIPPING_PROCESS_CLEAR_ALPHA = 4;ax.prototype.setChannelFlagAsColor = function (aH, aI) {\n this.CHANNEL_COLORS[aH] = aI;\n };ax.prototype.getChannelFlagAsColor = function (aH) {\n return this.CHANNEL_COLORS[aH];\n };ax.prototype._$ZT = function () {};ax.prototype._$Uo = function (aM, aK, aJ, aL, aN, aI, aH) {};ax.prototype._$Rs = function () {\n return -1;\n };ax.prototype._$Ds = function (aH) {};ax.prototype.setBaseColor = function (aK, aJ, aI, aH) {\n if (aK < 0) {\n aK = 0;\n } else {\n if (aK > 1) {\n aK = 1;\n }\n }if (aJ < 0) {\n aJ = 0;\n } else {\n if (aJ > 1) {\n aJ = 1;\n }\n }if (aI < 0) {\n aI = 0;\n } else {\n if (aI > 1) {\n aI = 1;\n }\n }if (aH < 0) {\n aH = 0;\n } else {\n if (aH > 1) {\n aH = 1;\n }\n }this._$lT = aK;this._$C0 = aJ;this._$tT = aI;this._$WL = aH;\n };ax.prototype._$WP = function (aH) {\n this.culling = aH;\n };ax.prototype.setMatrix = function (aH) {\n for (var aI = 0; aI < 16; aI++) {\n this.matrix4x4[aI] = aH[aI];\n }\n };ax.prototype._$IT = function () {\n return this.matrix4x4;\n };ax.prototype.setPremultipliedAlpha = function (aH) {\n this.premultipliedAlpha = aH;\n };ax.prototype.isPremultipliedAlpha = function () {\n return this.premultipliedAlpha;\n };ax.prototype.setAnisotropy = function (aH) {\n this.anisotropy = aH;\n };ax.prototype.getAnisotropy = function () {\n return this.anisotropy;\n };ax.prototype.getClippingProcess = function () {\n return this.clippingProcess;\n };ax.prototype.setClippingProcess = function (aH) {\n this.clippingProcess = aH;\n };ax.prototype.setClipBufPre_clipContextForMask = function (aH) {\n this.clipBufPre_clipContextMask = aH;\n };ax.prototype.getClipBufPre_clipContextMask = function () {\n return this.clipBufPre_clipContextMask;\n };ax.prototype.setClipBufPre_clipContextForDraw = function (aH) {\n this.clipBufPre_clipContextDraw = aH;\n };ax.prototype.getClipBufPre_clipContextDraw = function () {\n return this.clipBufPre_clipContextDraw;\n };function o() {\n if (j) {\n return;\n }this.a = 1;this.r = 1;this.g = 1;this.b = 1;this.scale = 1;this._$ho = 1;this.blendMode = Q.L2D_COLOR_BLEND_MODE_MULT;\n }function c() {\n if (j) {\n return;\n }this._$kP = null;this._$dr = null;this._$Ai = true;this._$mS = null;\n }c._$ur = -2;c._$c2 = 1;c._$_b = 2;c.prototype._$F0 = function (aH) {\n this._$kP = aH._$nP();this._$dr = aH._$nP();\n };c.prototype.readV2_opacity = function (aH) {\n if (aH.getFormatVersion() >= ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2) {\n this._$mS = aH._$Tb();\n }\n };c.prototype.init = function (aH) {};c.prototype._$Nr = function (aI, aH) {};c.prototype.interpolateOpacity = function (aJ, aK, aI, aH) {\n if (this._$mS == null) {\n aI.setInterpolatedOpacity(1);\n } else {\n aI.setInterpolatedOpacity(aG._$br(aJ, aK, aH, this._$mS));\n }\n };c.prototype._$2b = function (aI, aH) {};c.prototype._$nb = function (aL, aK, aM, aH, aI, aJ, aN) {};c.prototype.getType = function () {};c.prototype._$gs = function (aH) {\n this._$dr = aH;\n };c.prototype._$a2 = function (aH) {\n this._$kP = aH;\n };c.prototype.getTargetBaseDataID = function () {\n return this._$dr;\n };c.prototype.getBaseDataID = function () {\n return this._$kP;\n };c.prototype._$32 = function () {\n return this._$dr != null && this._$dr != n._$2o();\n };function P() {}P._$W2 = 0;P._$CS = P._$W2;P._$Mo = function () {\n return true;\n };P._$XP = function (aI) {\n try {\n var aJ = getTimeMSec();while (getTimeMSec() - aJ < aI) {}\n } catch (aH) {\n aH._$Rb();\n }\n };P.getUserTimeMSec = function () {\n return P._$CS == P._$W2 ? P.getSystemTimeMSec() : P._$CS;\n };P.setUserTimeMSec = function (aH) {\n P._$CS = aH;\n };P.updateUserTimeMSec = function () {\n return P._$CS = P.getSystemTimeMSec();\n };P.getTimeMSec = function () {\n return new Date().getTime();\n };P.getSystemTimeMSec = function () {\n return new Date().getTime();\n };P._$Q = function (aH) {};P._$jT = function (aM, aJ, aI, aL, aH) {\n for (var aK = 0; aK < aH; aK++) {\n aI[aL + aK] = aM[aJ + aK];\n }\n };function aA() {\n if (j) {\n return;\n }this._$VP = 0;this._$wL = null;this._$GP = null;this._$8o = aA._$ds;this._$2r = -1;this._$O2 = 0;this._$ri = 0;\n }aA._$ds = -2;aA.prototype._$F0 = function (aH) {\n this._$wL = aH._$nP();this._$VP = aH._$6L();this._$GP = aH._$nP();\n };aA.prototype.getParamIndex = function (aH) {\n if (this._$2r != aH) {\n this._$8o = aA._$ds;\n }return this._$8o;\n };aA.prototype._$Pb = function (aI, aH) {\n this._$8o = aI;this._$2r = aH;\n };aA.prototype.getParamID = function () {\n return this._$wL;\n };aA.prototype._$yP = function (aH) {\n this._$wL = aH;\n };aA.prototype._$N2 = function () {\n return this._$VP;\n };aA.prototype._$d2 = function () {\n return this._$GP;\n };aA.prototype._$t2 = function (aI, aH) {\n this._$VP = aI;this._$GP = aH;\n };aA.prototype._$Lr = function () {\n return this._$O2;\n };aA.prototype._$wr = function (aH) {\n this._$O2 = aH;\n };aA.prototype._$SL = function () {\n return this._$ri;\n };aA.prototype._$AL = function (aH) {\n this._$ri = aH;\n };function G() {}G.startsWith = function (aJ, aL, aK) {\n var aH = aL + aK.length;if (aH >= aJ.length) {\n return false;\n }for (var aI = aL; aI < aH; aI++) {\n if (G.getChar(aJ, aI) != aK.charAt(aI - aL)) {\n return false;\n }\n }return true;\n };G.getChar = function (aI, aH) {\n return String.fromCharCode(aI.getUint8(aH));\n };G.createString = function (aM, aL, aJ) {\n var aH = new ArrayBuffer(aJ * 2);var aK = new Uint16Array(aH);for (var aI = 0; aI < aJ; aI++) {\n aK[aI] = aM.getUint8(aL + aI);\n }return String.fromCharCode.apply(null, aK);\n };G._$LS = function (aP, aM, aR, aK) {\n if (aP instanceof ArrayBuffer) {\n aP = new DataView(aP);\n }var aL = aR;var aJ = false;var aQ = false;var aS = 0;var aO = G.getChar(aP, aL);if (aO == \"-\") {\n aJ = true;aL++;\n }var aN = false;for (; aL < aM; aL++) {\n aO = G.getChar(aP, aL);switch (aO) {case \"0\":\n aS = aS * 10;break;case \"1\":\n aS = aS * 10 + 1;break;case \"2\":\n aS = aS * 10 + 2;break;case \"3\":\n aS = aS * 10 + 3;break;case \"4\":\n aS = aS * 10 + 4;break;case \"5\":\n aS = aS * 10 + 5;break;case \"6\":\n aS = aS * 10 + 6;break;case \"7\":\n aS = aS * 10 + 7;break;case \"8\":\n aS = aS * 10 + 8;break;case \"9\":\n aS = aS * 10 + 9;break;case \".\":\n aQ = true;aL++;aN = true;break;default:\n aN = true;break;}if (aN) {\n break;\n }\n }if (aQ) {\n var aI = 0.1;var aH = false;for (; aL < aM; aL++) {\n aO = G.getChar(aP, aL);switch (aO) {case \"0\":\n break;case \"1\":\n aS += aI * 1;break;case \"2\":\n aS += aI * 2;break;case \"3\":\n aS += aI * 3;break;case \"4\":\n aS += aI * 4;break;case \"5\":\n aS += aI * 5;break;case \"6\":\n aS += aI * 6;break;case \"7\":\n aS += aI * 7;break;case \"8\":\n aS += aI * 8;break;case \"9\":\n aS += aI * 9;break;default:\n aH = true;break;}aI *= 0.1;if (aH) {\n break;\n }\n }\n }if (aJ) {\n aS = -aS;\n }aK[0] = aL;return aS;\n };function g() {\n if (j) {\n return;\n }this._$Ob = null;\n }g.prototype._$zP = function () {\n this._$Ob = new Array();\n };g.prototype._$F0 = function (aH) {\n this._$Ob = aH._$nP();\n };g.prototype._$Ur = function (aK) {\n if (aK._$WS()) {\n return true;\n }var aH = aK._$v2();for (var aJ = this._$Ob.length - 1; aJ >= 0; --aJ) {\n var aI = this._$Ob[aJ].getParamIndex(aH);if (aI == aA._$ds) {\n aI = aK.getParamIndex(this._$Ob[aJ].getParamID());\n }if (aK._$Xb(aI)) {\n return true;\n }\n }return false;\n };g.prototype._$Q2 = function (aL, aV) {\n var aX = this._$Ob.length;var aJ = aL._$v2();var aN = 0;var aI;var aQ;for (var aK = 0; aK < aX; aK++) {\n var aH = this._$Ob[aK];aI = aH.getParamIndex(aJ);if (aI == aA._$ds) {\n aI = aL.getParamIndex(aH.getParamID());aH._$Pb(aI, aJ);\n }if (aI < 0) {\n throw new Exception(\"err 23242 : \" + aH.getParamID());\n }var aU = aI < 0 ? 0 : aL.getParamFloat(aI);aQ = aH._$N2();var aM = aH._$d2();var aP = -1;var aT = 0;var aS;var aR;if (aQ < 1) {} else {\n if (aQ == 1) {\n aS = aM[0];if (aS - aw._$J < aU && aU < aS + aw._$J) {\n aP = 0;aT = 0;\n } else {\n aP = 0;aV[0] = true;\n }\n } else {\n aS = aM[0];if (aU < aS - aw._$J) {\n aP = 0;aV[0] = true;\n } else {\n if (aU < aS + aw._$J) {\n aP = 0;\n } else {\n var aW = false;for (var aO = 1; aO < aQ; ++aO) {\n aR = aM[aO];if (aU < aR + aw._$J) {\n if (aR - aw._$J < aU) {\n aP = aO;\n } else {\n aP = aO - 1;aT = (aU - aS) / (aR - aS);aN++;\n }aW = true;break;\n }aS = aR;\n }if (!aW) {\n aP = aQ - 1;aT = 0;aV[0] = true;\n }\n }\n }\n }\n }aH._$wr(aP);aH._$AL(aT);\n }return aN;\n };g.prototype._$zr = function (aN, aT, aP) {\n var aR = 1 << aP;if (aR + 1 > aw._$Qb) {\n console.log(\"err 23245\\n\");\n }var aS = this._$Ob.length;var aK = 1;var aH = 1;var aJ = 0;for (var aQ = 0; aQ < aR; ++aQ) {\n aN[aQ] = 0;\n }for (var aL = 0; aL < aS; ++aL) {\n var aI = this._$Ob[aL];if (aI._$SL() == 0) {\n var aO = aI._$Lr() * aK;if (aO < 0 && Q._$3T) {\n throw new Exception(\"err 23246\");\n }for (var aQ = 0; aQ < aR; ++aQ) {\n aN[aQ] += aO;\n }\n } else {\n var aO = aK * aI._$Lr();var aM = aK * (aI._$Lr() + 1);for (var aQ = 0; aQ < aR; ++aQ) {\n aN[aQ] += (aQ / aH | 0) % 2 == 0 ? aO : aM;\n }aT[aJ++] = aI._$SL();aH *= 2;\n }aK *= aI._$N2();\n }aN[aR] = 65535;aT[aJ] = -1;\n };g.prototype._$h2 = function (aJ, aH, aK) {\n var aM = new Float32Array(aH);for (var aL = 0; aL < aH; ++aL) {\n aM[aL] = aK[aL];\n }var aI = new aA();aI._$yP(aJ);aI._$t2(aH, aM);this._$Ob.push(aI);\n };g.prototype._$J2 = function (aO) {\n var aN = aO;var aM = this._$Ob.length;for (var aK = 0; aK < aM; ++aK) {\n var aI = this._$Ob[aK];var aH = aI._$N2();var aJ = aN % aI._$N2();var aL = aI._$d2()[aJ];console.log(\"%s[%d]=%7.2f / \", aI.getParamID(), aJ, aL);aN /= aH;\n }console.log(\"\\n\");\n };g.prototype.getParamCount = function () {\n return this._$Ob.length;\n };g.prototype._$zs = function () {\n return this._$Ob;\n };function ac() {\n this.m = new Float32Array(16);this.identity();\n }ac.prototype.identity = function () {\n for (var aH = 0; aH < 16; aH++) {\n this.m[aH] = aH % 5 == 0 ? 1 : 0;\n }\n };ac.prototype.getArray = function () {\n return this.m;\n };ac.prototype.getCopyMatrix = function () {\n return new Float32Array(this.m);\n };ac.prototype.setMatrix = function (aI) {\n if (aI == null || aI.length != 16) {\n return;\n }for (var aH = 0; aH < 16; aH++) {\n this.m[aH] = aI[aH];\n }\n };ac.prototype.mult = function (aH, aJ, aI) {\n if (aJ == null) {\n return null;\n }if (this == aJ) {\n this.mult_safe(this.m, aH.m, aJ.m, aI);\n } else {\n this.mult_fast(this.m, aH.m, aJ.m, aI);\n }return aJ;\n };ac.prototype.mult_safe = function (aI, aH, aM, aJ) {\n if (aI == aM) {\n var aL = new Array(16);this.mult_fast(aI, aH, aL, aJ);for (var aK = 15; aK >= 0; --aK) {\n aM[aK] = aL[aK];\n }\n } else {\n this.mult_fast(aI, aH, aM, aJ);\n }\n };ac.prototype.mult_fast = function (aI, aH, aK, aJ) {\n if (aJ) {\n aK[0] = aI[0] * aH[0] + aI[4] * aH[1] + aI[8] * aH[2];aK[4] = aI[0] * aH[4] + aI[4] * aH[5] + aI[8] * aH[6];aK[8] = aI[0] * aH[8] + aI[4] * aH[9] + aI[8] * aH[10];aK[12] = aI[0] * aH[12] + aI[4] * aH[13] + aI[8] * aH[14] + aI[12];aK[1] = aI[1] * aH[0] + aI[5] * aH[1] + aI[9] * aH[2];aK[5] = aI[1] * aH[4] + aI[5] * aH[5] + aI[9] * aH[6];aK[9] = aI[1] * aH[8] + aI[5] * aH[9] + aI[9] * aH[10];aK[13] = aI[1] * aH[12] + aI[5] * aH[13] + aI[9] * aH[14] + aI[13];aK[2] = aI[2] * aH[0] + aI[6] * aH[1] + aI[10] * aH[2];aK[6] = aI[2] * aH[4] + aI[6] * aH[5] + aI[10] * aH[6];aK[10] = aI[2] * aH[8] + aI[6] * aH[9] + aI[10] * aH[10];aK[14] = aI[2] * aH[12] + aI[6] * aH[13] + aI[10] * aH[14] + aI[14];aK[3] = aK[7] = aK[11] = 0;aK[15] = 1;\n } else {\n aK[0] = aI[0] * aH[0] + aI[4] * aH[1] + aI[8] * aH[2] + aI[12] * aH[3];aK[4] = aI[0] * aH[4] + aI[4] * aH[5] + aI[8] * aH[6] + aI[12] * aH[7];aK[8] = aI[0] * aH[8] + aI[4] * aH[9] + aI[8] * aH[10] + aI[12] * aH[11];aK[12] = aI[0] * aH[12] + aI[4] * aH[13] + aI[8] * aH[14] + aI[12] * aH[15];aK[1] = aI[1] * aH[0] + aI[5] * aH[1] + aI[9] * aH[2] + aI[13] * aH[3];aK[5] = aI[1] * aH[4] + aI[5] * aH[5] + aI[9] * aH[6] + aI[13] * aH[7];aK[9] = aI[1] * aH[8] + aI[5] * aH[9] + aI[9] * aH[10] + aI[13] * aH[11];aK[13] = aI[1] * aH[12] + aI[5] * aH[13] + aI[9] * aH[14] + aI[13] * aH[15];aK[2] = aI[2] * aH[0] + aI[6] * aH[1] + aI[10] * aH[2] + aI[14] * aH[3];aK[6] = aI[2] * aH[4] + aI[6] * aH[5] + aI[10] * aH[6] + aI[14] * aH[7];aK[10] = aI[2] * aH[8] + aI[6] * aH[9] + aI[10] * aH[10] + aI[14] * aH[11];aK[14] = aI[2] * aH[12] + aI[6] * aH[13] + aI[10] * aH[14] + aI[14] * aH[15];aK[3] = aI[3] * aH[0] + aI[7] * aH[1] + aI[11] * aH[2] + aI[15] * aH[3];aK[7] = aI[3] * aH[4] + aI[7] * aH[5] + aI[11] * aH[6] + aI[15] * aH[7];aK[11] = aI[3] * aH[8] + aI[7] * aH[9] + aI[11] * aH[10] + aI[15] * aH[11];aK[15] = aI[3] * aH[12] + aI[7] * aH[13] + aI[11] * aH[14] + aI[15] * aH[15];\n }\n };ac.prototype.translate = function (aH, aJ, aI) {\n this.m[12] = this.m[0] * aH + this.m[4] * aJ + this.m[8] * aI + this.m[12];this.m[13] = this.m[1] * aH + this.m[5] * aJ + this.m[9] * aI + this.m[13];this.m[14] = this.m[2] * aH + this.m[6] * aJ + this.m[10] * aI + this.m[14];this.m[15] = this.m[3] * aH + this.m[7] * aJ + this.m[11] * aI + this.m[15];\n };ac.prototype.scale = function (aJ, aI, aH) {\n this.m[0] *= aJ;this.m[4] *= aI;this.m[8] *= aH;this.m[1] *= aJ;this.m[5] *= aI;this.m[9] *= aH;this.m[2] *= aJ;this.m[6] *= aI;this.m[10] *= aH;this.m[3] *= aJ;this.m[7] *= aI;this.m[11] *= aH;\n };ac.prototype.rotateX = function (aH) {\n var aK = aC.fcos(aH);var aJ = aC._$9(aH);var aI = this.m[4];this.m[4] = aI * aK + this.m[8] * aJ;this.m[8] = aI * -aJ + this.m[8] * aK;aI = this.m[5];this.m[5] = aI * aK + this.m[9] * aJ;this.m[9] = aI * -aJ + this.m[9] * aK;aI = this.m[6];this.m[6] = aI * aK + this.m[10] * aJ;this.m[10] = aI * -aJ + this.m[10] * aK;aI = this.m[7];this.m[7] = aI * aK + this.m[11] * aJ;this.m[11] = aI * -aJ + this.m[11] * aK;\n };ac.prototype.rotateY = function (aH) {\n var aK = aC.fcos(aH);var aJ = aC._$9(aH);var aI = this.m[0];this.m[0] = aI * aK + this.m[8] * -aJ;this.m[8] = aI * aJ + this.m[8] * aK;aI = this.m[1];this.m[1] = aI * aK + this.m[9] * -aJ;this.m[9] = aI * aJ + this.m[9] * aK;aI = m[2];this.m[2] = aI * aK + this.m[10] * -aJ;this.m[10] = aI * aJ + this.m[10] * aK;aI = m[3];this.m[3] = aI * aK + this.m[11] * -aJ;this.m[11] = aI * aJ + this.m[11] * aK;\n };ac.prototype.rotateZ = function (aH) {\n var aK = aC.fcos(aH);var aJ = aC._$9(aH);var aI = this.m[0];this.m[0] = aI * aK + this.m[4] * aJ;this.m[4] = aI * -aJ + this.m[4] * aK;aI = this.m[1];this.m[1] = aI * aK + this.m[5] * aJ;this.m[5] = aI * -aJ + this.m[5] * aK;aI = this.m[2];this.m[2] = aI * aK + this.m[6] * aJ;this.m[6] = aI * -aJ + this.m[6] * aK;aI = this.m[3];this.m[3] = aI * aK + this.m[7] * aJ;this.m[7] = aI * -aJ + this.m[7] * aK;\n };function Z(aH) {\n if (j) {\n return;\n }ak.prototype.constructor.call(this, aH);\n }Z.prototype = new ak();Z._$tP = new Object();Z._$27 = function () {\n Z._$tP.clear();\n };Z.getID = function (aH) {\n var aI = Z._$tP[aH];if (aI == null) {\n aI = new Z(aH);Z._$tP[aH] = aI;\n }return aI;\n };Z.prototype._$3s = function () {\n return new Z();\n };function aD() {\n if (j) {\n return;\n }this._$7 = 1;this._$f = 0;this._$H = 0;this._$g = 1;this._$k = 0;this._$w = 0;this._$hi = STATE_IDENTITY;this._$Z = _$pS;\n }aD._$kS = -1;aD._$pS = 0;aD._$hb = 1;aD.STATE_IDENTITY = 0;aD._$gb = 1;aD._$fo = 2;aD._$go = 4;aD.prototype.transform = function (aK, aI, aH) {\n var aT, aS, aR, aM, aL, aJ;var aQ = 0;var aN = 0;switch (this._$hi) {default:\n return;case aD._$go | aD._$fo | aD._$gb:\n aT = this._$7;aS = this._$H;aR = this._$k;aM = this._$f;aL = this._$g;aJ = this._$w;while (--aH >= 0) {\n var aP = aK[aQ++];var aO = aK[aQ++];aI[aN++] = aT * aP + aS * aO + aR;aI[aN++] = aM * aP + aL * aO + aJ;\n }return;case aD._$go | aD._$fo:\n aT = this._$7;aS = this._$H;aM = this._$f;aL = this._$g;while (--aH >= 0) {\n var aP = aK[aQ++];var aO = aK[aQ++];aI[aN++] = aT * aP + aS * aO;aI[aN++] = aM * aP + aL * aO;\n }return;case aD._$go | aD._$gb:\n aS = this._$H;aR = this._$k;aM = this._$f;aJ = this._$w;while (--aH >= 0) {\n var aP = aK[aQ++];aI[aN++] = aS * aK[aQ++] + aR;aI[aN++] = aM * aP + aJ;\n }return;case aD._$go:\n aS = this._$H;aM = this._$f;while (--aH >= 0) {\n var aP = aK[aQ++];aI[aN++] = aS * aK[aQ++];aI[aN++] = aM * aP;\n }return;case aD._$fo | aD._$gb:\n aT = this._$7;aR = this._$k;aL = this._$g;aJ = this._$w;while (--aH >= 0) {\n aI[aN++] = aT * aK[aQ++] + aR;aI[aN++] = aL * aK[aQ++] + aJ;\n }return;case aD._$fo:\n aT = this._$7;aL = this._$g;while (--aH >= 0) {\n aI[aN++] = aT * aK[aQ++];aI[aN++] = aL * aK[aQ++];\n }return;case aD._$gb:\n aR = this._$k;aJ = this._$w;while (--aH >= 0) {\n aI[aN++] = aK[aQ++] + aR;aI[aN++] = aK[aQ++] + aJ;\n }return;case aD.STATE_IDENTITY:\n if (aK != aI || aQ != aN) {\n P._$jT(aK, aQ, aI, aN, aH * 2);\n }return;}\n };aD.prototype.update = function () {\n if (this._$H == 0 && this._$f == 0) {\n if (this._$7 == 1 && this._$g == 1) {\n if (this._$k == 0 && this._$w == 0) {\n this._$hi = aD.STATE_IDENTITY;this._$Z = aD._$pS;\n } else {\n this._$hi = aD._$gb;this._$Z = aD._$hb;\n }\n } else {\n if (this._$k == 0 && this._$w == 0) {\n this._$hi = aD._$fo;this._$Z = aD._$kS;\n } else {\n this._$hi = aD._$fo | aD._$gb;this._$Z = aD._$kS;\n }\n }\n } else {\n if (this._$7 == 0 && this._$g == 0) {\n if (this._$k == 0 && this._$w == 0) {\n this._$hi = aD._$go;this._$Z = aD._$kS;\n } else {\n this._$hi = aD._$go | aD._$gb;this._$Z = aD._$kS;\n }\n } else {\n if (this._$k == 0 && this._$w == 0) {\n this._$hi = aD._$go | aD._$fo;this._$Z = aD._$kS;\n } else {\n this._$hi = aD._$go | aD._$fo | aD._$gb;this._$Z = aD._$kS;\n }\n }\n }\n };aD.prototype._$RT = function (aK) {\n this._$IT(aK);var aJ = aK[0];var aH = aK[2];var aN = aK[1];var aM = aK[3];var aI = Math.sqrt(aJ * aJ + aN * aN);var aL = aJ * aM - aH * aN;if (aI == 0) {\n if (Q._$so) {\n console.log(\"affine._$RT() / rt==0\");\n }\n } else {\n aK[0] = aI;aK[1] = aL / aI;aK[2] = (aN * aM + aJ * aH) / aL;aK[3] = Math.atan2(aN, aJ);\n }\n };aD.prototype._$ho = function (aN, aM, aI, aH) {\n var aL = new Float32Array(6);var aK = new Float32Array(6);aN._$RT(aL);aM._$RT(aK);var aJ = new Float32Array(6);aJ[0] = aL[0] + (aK[0] - aL[0]) * aI;aJ[1] = aL[1] + (aK[1] - aL[1]) * aI;aJ[2] = aL[2] + (aK[2] - aL[2]) * aI;aJ[3] = aL[3] + (aK[3] - aL[3]) * aI;aJ[4] = aL[4] + (aK[4] - aL[4]) * aI;aJ[5] = aL[5] + (aK[5] - aL[5]) * aI;aH._$CT(aJ);\n };aD.prototype._$CT = function (aJ) {\n var aI = Math.cos(aJ[3]);var aH = Math.sin(aJ[3]);this._$7 = aJ[0] * aI;this._$f = aJ[0] * aH;this._$H = aJ[1] * (aJ[2] * aI - aH);this._$g = aJ[1] * (aJ[2] * aH + aI);this._$k = aJ[4];this._$w = aJ[5];this.update();\n };aD.prototype._$IT = function (aH) {\n aH[0] = this._$7;aH[1] = this._$f;aH[2] = this._$H;aH[3] = this._$g;aH[4] = this._$k;aH[5] = this._$w;\n };function Y() {\n if (j) {\n return;\n }ah.prototype.constructor.call(this);this.motions = new Array();this._$7r = null;this._$7r = Y._$Co++;this._$D0 = 30;this._$yT = 0;this._$E = true;this.loopFadeIn = true;this._$AS = -1;_$a0();\n }Y.prototype = new ah();Y._$cs = \"VISIBLE:\";Y._$ar = \"LAYOUT:\";Y._$Co = 0;Y._$D2 = [];Y._$1T = 1;Y.loadMotion = function (aR) {\n var aM = new Y();var aI = [0];var aP = aR.length;aM._$yT = 0;for (var aJ = 0; aJ < aP; ++aJ) {\n var aQ = aR[aJ] & 255;if (aQ == \"\\n\" || aQ == \"\\r\") {\n continue;\n }if (aQ == \"#\") {\n for (; aJ < aP; ++aJ) {\n if (aR[aJ] == \"\\n\" || aR[aJ] == \"\\r\") {\n break;\n }\n }continue;\n }if (aQ == \"$\") {\n var aT = aJ;var aK = -1;for (; aJ < aP; ++aJ) {\n aQ = aR[aJ] & 255;if (aQ == \"\\r\" || aQ == \"\\n\") {\n break;\n }if (aQ == \"=\") {\n aK = aJ;break;\n }\n }var aO = false;if (aK >= 0) {\n if (aK == aT + 4 && aR[aT + 1] == \"f\" && aR[aT + 2] == \"p\" && aR[aT + 3] == \"s\") {\n aO = true;\n }for (aJ = aK + 1; aJ < aP; ++aJ) {\n aQ = aR[aJ] & 255;if (aQ == \"\\r\" || aQ == \"\\n\") {\n break;\n }if (aQ == \",\" || aQ == \" \" || aQ == \"\\t\") {\n continue;\n }var aL = G._$LS(aR, aP, aJ, aI);if (aI[0] > 0) {\n if (aO && 5 < aL && aL < 121) {\n aM._$D0 = aL;\n }\n }aJ = aI[0];\n }\n }for (; aJ < aP; ++aJ) {\n if (aR[aJ] == \"\\n\" || aR[aJ] == \"\\r\") {\n break;\n }\n }continue;\n }if (\"a\" <= aQ && aQ <= \"z\" || \"A\" <= aQ && aQ <= \"Z\" || aQ == \"_\") {\n var aT = aJ;var aK = -1;for (; aJ < aP; ++aJ) {\n aQ = aR[aJ] & 255;if (aQ == \"\\r\" || aQ == \"\\n\") {\n break;\n }if (aQ == \"=\") {\n aK = aJ;break;\n }\n }if (aK >= 0) {\n var aN = new t();if (G.startsWith(aR, aT, Y._$cs)) {\n aN._$RP = t._$hs;aN._$4P = new String(aR, aT, aK - aT);\n } else {\n if (G.startsWith(aR, aT, Y._$ar)) {\n aN._$4P = new String(aR, aT + 7, aK - aT - 7);if (G.startsWith(aR, aT + 7, \"ANCHOR_X\")) {\n aN._$RP = t._$xs;\n } else {\n if (G.startsWith(aR, aT + 7, \"ANCHOR_Y\")) {\n aN._$RP = t._$us;\n } else {\n if (G.startsWith(aR, aT + 7, \"SCALE_X\")) {\n aN._$RP = t._$qs;\n } else {\n if (G.startsWith(aR, aT + 7, \"SCALE_Y\")) {\n aN._$RP = t._$Ys;\n } else {\n if (G.startsWith(aR, aT + 7, \"X\")) {\n aN._$RP = t._$ws;\n } else {\n if (G.startsWith(aR, aT + 7, \"Y\")) {\n aN._$RP = t._$Ns;\n }\n }\n }\n }\n }\n }\n } else {\n aN._$RP = t._$Fr;aN._$4P = new String(aR, aT, aK - aT);\n }\n }aM.motions.push(aN);var aS = 0;Y._$D2.clear();for (aJ = aK + 1; aJ < aP; ++aJ) {\n aQ = aR[aJ] & 255;if (aQ == \"\\r\" || aQ == \"\\n\") {\n break;\n }if (aQ == \",\" || aQ == \" \" || aQ == \"\\t\") {\n continue;\n }var aL = G._$LS(aR, aP, aJ, aI);if (aI[0] > 0) {\n Y._$D2.push(aL);aS++;var aH = aI[0];if (aH < aJ) {\n console.log(\"_$n0 _$hi . @Live2DMotion loadMotion()\\n\");break;\n }aJ = aH;\n }\n }aN._$I0 = Y._$D2._$BL();if (aS > aM._$yT) {\n aM._$yT = aS;\n }\n }\n }\n }aM._$AS = 1000 * aM._$yT / aM._$D0 | 0;return aM;\n };Y.prototype.getDurationMSec = function () {\n return this._$AS;\n };Y.prototype.dump = function () {\n for (var aJ = 0; aJ < this.motions.length; aJ++) {\n var aH = this.motions[aJ];console.log(\"_$wL[%s] [%d]. \", aH._$4P, aH._$I0.length);for (var aI = 0; aI < aH._$I0.length && aI < 10; aI++) {\n console.log(\"%5.2f ,\", aH._$I0[aI]);\n }console.log(\"\\n\");\n }\n };Y.prototype.updateParamExe = function (aH, aL, aO, aX) {\n var aM = aL - aX._$z2;var aV = aM * this._$D0 / 1000;var aJ = aV | 0;var aP = aV - aJ;for (var aU = 0; aU < this.motions.length; aU++) {\n var aS = this.motions[aU];var aK = aS._$I0.length;var aQ = aS._$4P;if (aS._$RP == t._$hs) {\n var aT = aS._$I0[aJ >= aK ? aK - 1 : aJ];aH.setParamFloat(aQ, aT);\n } else {\n if (t._$ws <= aS._$RP && aS._$RP <= t._$Ys) {} else {\n var aR = aH.getParamFloat(aQ);var aY = aS._$I0[aJ >= aK ? aK - 1 : aJ];var aW = aS._$I0[aJ + 1 >= aK ? aK - 1 : aJ + 1];var aI = aY + (aW - aY) * aP;var aN = aR + (aI - aR) * aO;aH.setParamFloat(aQ, aN);\n }\n }\n }if (aJ >= this._$yT) {\n if (this._$E) {\n aX._$z2 = aL;if (this.loopFadeIn) {\n aX._$bs = aL;\n }\n } else {\n aX._$9L = true;\n }\n }\n };Y.prototype._$r0 = function () {\n return this._$E;\n };Y.prototype._$aL = function (aH) {\n this._$E = aH;\n };Y.prototype.isLoopFadeIn = function () {\n return this.loopFadeIn;\n };Y.prototype.setLoopFadeIn = function (aH) {\n this.loopFadeIn = aH;\n };function aE() {\n this._$P = new Float32Array(100);this.size = 0;\n }aE.prototype.clear = function () {\n this.size = 0;\n };aE.prototype.add = function (aI) {\n if (this._$P.length <= this.size) {\n var aH = new Float32Array(this.size * 2);P._$jT(this._$P, 0, aH, 0, this.size);this._$P = aH;\n }this._$P[this.size++] = aI;\n };aE.prototype._$BL = function () {\n var aH = new Float32Array(this.size);P._$jT(this._$P, 0, aH, 0, this.size);return aH;\n };function t() {\n this._$4P = null;this._$I0 = null;this._$RP = null;\n }t._$Fr = 0;t._$hs = 1;t._$ws = 100;t._$Ns = 101;t._$xs = 102;t._$us = 103;t._$qs = 104;t._$Ys = 105;function aw() {}aw._$Ms = 1;aw._$Qs = 2;aw._$i2 = 0;aw._$No = 2;aw._$do = aw._$Ms;aw._$Ls = true;aw._$1r = 5;aw._$Qb = 65;aw._$J = 0.0001;aw._$FT = 0.001;aw._$Ss = 3;function ay() {}ay._$o7 = 6;ay._$S7 = 7;ay._$s7 = 8;ay._$77 = 9;ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2 = 10;ay.LIVE2D_FORMAT_VERSION_V2_11_SDK2_1 = 11;ay._$T7 = ay.LIVE2D_FORMAT_VERSION_V2_11_SDK2_1;ay._$Is = -2004318072;ay._$h0 = 0;ay._$4L = 23;ay._$7P = 33;ay._$uT = function (aH) {\n console.log(\"_$bo :: _$6 _$mo _$E0 : %d\\n\", aH);\n };ay._$9o = function (aH) {\n if (aH < 40) {\n ay._$uT(aH);return null;\n } else {\n if (aH < 50) {\n ay._$uT(aH);return null;\n } else {\n if (aH < 60) {\n ay._$uT(aH);return null;\n } else {\n if (aH < 100) {\n switch (aH) {case 65:\n return new E();case 66:\n return new g();case 67:\n return new aA();case 68:\n return new ab();case 69:\n return new X();case 70:\n return new b();default:\n ay._$uT(aH);return null;}\n } else {\n if (aH < 150) {\n switch (aH) {case 131:\n return new f();case 133:\n return new s();case 136:\n return new w();case 137:\n return new an();case 142:\n return new aq();}\n }\n }\n }\n }\n }ay._$uT(aH);return null;\n };function y(aH) {\n if (j) {\n return;\n }this._$QT = true;this._$co = -1;this._$qo = 0;this._$pb = new Array(y._$is);this._$_2 = new Float32Array(y._$is);this._$vr = new Float32Array(y._$is);this._$Rr = new Float32Array(y._$is);this._$Or = new Float32Array(y._$is);this._$fs = new Float32Array(y._$is);this._$Js = new Array(y._$is);this._$3S = new Array();this._$aS = new Array();this._$Bo = null;this._$F2 = new Array();this._$db = new Array();this._$8b = new Array();this._$Hr = new Array();this._$Ws = null;this._$Vs = null;this._$Er = null;this._$Es = new Int16Array(aw._$Qb);this._$ZP = new Float32Array(aw._$1r * 2);this._$Ri = aH;this._$b0 = y._$HP++;this.clipManager = null;this.dp_webgl = null;\n }y._$HP = 0;y._$_0 = true;y._$V2 = -1;y._$W0 = -1;y._$jr = false;y._$ZS = true;y._$tr = -1000000;y._$lr = 1000000;y._$is = 32;y._$e = false;y.prototype.getDrawDataIndex = function (aI) {\n for (var aH = this._$aS.length - 1; aH >= 0; --aH) {\n if (this._$aS[aH] != null && this._$aS[aH].getDrawDataID() == aI) {\n return aH;\n }\n }return -1;\n };y.prototype.getDrawData = function (aH) {\n if (aH instanceof Z) {\n if (this._$Bo == null) {\n this._$Bo = new Object();var aJ = this._$aS.length;for (var aI = 0; aI < aJ; aI++) {\n var aL = this._$aS[aI];var aK = aL.getDrawDataID();if (aK == null) {\n continue;\n }this._$Bo[aK] = aL;\n }\n }return this._$Bo[id];\n } else {\n if (aH < this._$aS.length) {\n return this._$aS[aH];\n } else {\n return null;\n }\n }\n };y.prototype.release = function () {\n this._$3S.clear();this._$aS.clear();this._$F2.clear();if (this._$Bo != null) {\n this._$Bo.clear();\n }this._$db.clear();this._$8b.clear();this._$Hr.clear();\n };y.prototype.init = function () {\n this._$co++;if (this._$F2.length > 0) {\n this.release();\n }var aO = this._$Ri.getModelImpl();var aT = aO._$Xr();var aS = aT.length;var aH = new Array();var a3 = new Array();for (var aV = 0; aV < aS; ++aV) {\n var a4 = aT[aV];this._$F2.push(a4);this._$Hr.push(a4.init(this));var aK = a4.getBaseData();var aR = aK.length;for (var aU = 0; aU < aR; ++aU) {\n aH.push(aK[aU]);\n }for (var aU = 0; aU < aR; ++aU) {\n var aM = aK[aU].init(this);aM._$l2(aV);a3.push(aM);\n }var a1 = a4.getDrawData();var aP = a1.length;for (var aU = 0; aU < aP; ++aU) {\n var aZ = a1[aU];var a0 = aZ.init(this);a0._$IP = aV;this._$aS.push(aZ);this._$8b.push(a0);\n }\n }var aY = aH.length;var aN = n._$2o();while (true) {\n var aX = false;for (var aV = 0; aV < aY; ++aV) {\n var aL = aH[aV];if (aL == null) {\n continue;\n }var a2 = aL.getTargetBaseDataID();if (a2 == null || a2 == aN || this.getBaseDataIndex(a2) >= 0) {\n this._$3S.push(aL);this._$db.push(a3[aV]);aH[aV] = null;aX = true;\n }\n }if (!aX) {\n break;\n }\n }var aI = aO._$E2();if (aI != null) {\n var aJ = aI._$1s();if (aJ != null) {\n var aW = aJ.length;for (var aV = 0; aV < aW; ++aV) {\n var aQ = aJ[aV];if (aQ == null) {\n continue;\n }this._$02(aQ.getParamID(), aQ.getDefaultValue(), aQ.getMinValue(), aQ.getMaxValue());\n }\n }\n }this.clipManager = new W(this.dp_webgl);this.clipManager.init(this, this._$aS, this._$8b);this._$QT = true;\n };y.prototype.update = function () {\n if (y._$e) {\n q.start(\"_$zL\");\n }var aK = this._$_2.length;for (var aW = 0; aW < aK; aW++) {\n if (this._$_2[aW] != this._$vr[aW]) {\n this._$Js[aW] = y._$ZS;this._$vr[aW] = this._$_2[aW];\n }\n }var aX = false;var aQ = this._$3S.length;var aN = this._$aS.length;var aS = a._$or();var aZ = a._$Pr();var aU = aZ - aS + 1;if (this._$Ws == null || this._$Ws.length < aU) {\n this._$Ws = new Int16Array(aU);this._$Vs = new Int16Array(aU);\n }for (var aW = 0; aW < aU; aW++) {\n this._$Ws[aW] = y._$V2;this._$Vs[aW] = y._$V2;\n }if (this._$Er == null || this._$Er.length < aN) {\n this._$Er = new Int16Array(aN);\n }for (var aW = 0; aW < aN; aW++) {\n this._$Er[aW] = y._$W0;\n }if (y._$e) {\n q.dump(\"_$zL\");\n }if (y._$e) {\n q.start(\"_$UL\");\n }var aL = null;for (var aV = 0; aV < aQ; ++aV) {\n var aJ = this._$3S[aV];var aH = this._$db[aV];try {\n aJ._$Nr(this, aH);aJ._$2b(this, aH);\n } catch (aY) {\n if (aL == null) {\n aL = aY;\n }\n }\n }if (aL != null) {\n if (y._$_0) {\n q._$Rb(aL);\n }\n }if (y._$e) {\n q.dump(\"_$UL\");\n }if (y._$e) {\n q.start(\"_$DL\");\n }var aR = null;for (var aO = 0; aO < aN; ++aO) {\n var aM = this._$aS[aO];var aI = this._$8b[aO];try {\n aM._$Nr(this, aI);if (aI._$u2()) {\n continue;\n }aM._$2b(this, aI);var aT = Math.floor(aM._$zS(this, aI) - aS);var aP;try {\n aP = this._$Vs[aT];\n } catch (aY) {\n console.log(\"_$li :: %s / %s \t\t\t\t@@_$fS\\n\", aY.toString(), aM.getDrawDataID().toString());aT = Math.floor(aM._$zS(this, aI) - aS);continue;\n }if (aP == y._$V2) {\n this._$Ws[aT] = aO;\n } else {\n this._$Er[aP] = aO;\n }this._$Vs[aT] = aO;\n } catch (aY) {\n if (aR == null) {\n aR = aY;Q._$sT(Q._$H7);\n }\n }\n }if (aR != null) {\n if (y._$_0) {\n q._$Rb(aR);\n }\n }if (y._$e) {\n q.dump(\"_$DL\");\n }if (y._$e) {\n q.start(\"_$eL\");\n }for (var aW = this._$Js.length - 1; aW >= 0; aW--) {\n this._$Js[aW] = y._$jr;\n }this._$QT = false;if (y._$e) {\n q.dump(\"_$eL\");\n }return aX;\n };y.prototype.preDraw = function (aH) {\n if (this.clipManager != null) {\n aH._$ZT();this.clipManager.setupClip(this, aH);\n }\n };y.prototype.draw = function (aM) {\n if (this._$Ws == null) {\n q._$li(\"call _$Ri.update() before _$Ri.draw() \");return;\n }var aP = this._$Ws.length;aM._$ZT();for (var aK = 0; aK < aP; ++aK) {\n var aN = this._$Ws[aK];if (aN == y._$V2) {\n continue;\n }do {\n var aH = this._$aS[aN];var aI = this._$8b[aN];if (aI._$yo()) {\n var aJ = aI._$IP;var aL = this._$Hr[aJ];aI._$VS = aL.getPartsOpacity();aH.draw(aM, this, aI);\n }var aO = this._$Er[aN];if (aO <= aN || aO == y._$W0) {\n break;\n }aN = aO;\n } while (true);\n }\n };y.prototype.getParamIndex = function (aH) {\n for (var aI = this._$pb.length - 1; aI >= 0; --aI) {\n if (this._$pb[aI] == aH) {\n return aI;\n }\n }return this._$02(aH, 0, y._$tr, y._$lr);\n };y.prototype._$BS = function (aH) {\n return this.getBaseDataIndex(aH);\n };y.prototype.getBaseDataIndex = function (aH) {\n for (var aI = this._$3S.length - 1; aI >= 0; --aI) {\n if (this._$3S[aI] != null && this._$3S[aI].getBaseDataID() == aH) {\n return aI;\n }\n }return -1;\n };y.prototype._$UT = function (aJ, aH) {\n var aI = new Float32Array(aH);P._$jT(aJ, 0, aI, 0, aJ.length);return aI;\n };y.prototype._$02 = function (aN, aM, aL, aH) {\n if (this._$qo >= this._$pb.length) {\n var aK = this._$pb.length;var aJ = new Array(aK * 2);P._$jT(this._$pb, 0, aJ, 0, aK);this._$pb = aJ;this._$_2 = this._$UT(this._$_2, aK * 2);this._$vr = this._$UT(this._$vr, aK * 2);this._$Rr = this._$UT(this._$Rr, aK * 2);this._$Or = this._$UT(this._$Or, aK * 2);var aI = new Array();P._$jT(this._$Js, 0, aI, 0, aK);this._$Js = aI;\n }this._$pb[this._$qo] = aN;this._$_2[this._$qo] = aM;this._$vr[this._$qo] = aM;this._$Rr[this._$qo] = aL;this._$Or[this._$qo] = aH;this._$Js[this._$qo] = y._$ZS;return this._$qo++;\n };y.prototype._$Zo = function (aI, aH) {\n this._$3S[aI] = aH;\n };y.prototype.setParamFloat = function (aH, aI) {\n if (aI < this._$Rr[aH]) {\n aI = this._$Rr[aH];\n }if (aI > this._$Or[aH]) {\n aI = this._$Or[aH];\n }this._$_2[aH] = aI;\n };y.prototype.loadParam = function () {\n var aH = this._$_2.length;if (aH > this._$fs.length) {\n aH = this._$fs.length;\n }P._$jT(this._$fs, 0, this._$_2, 0, aH);\n };y.prototype.saveParam = function () {\n var aH = this._$_2.length;if (aH > this._$fs.length) {\n this._$fs = new Float32Array(aH);\n }P._$jT(this._$_2, 0, this._$fs, 0, aH);\n };y.prototype._$v2 = function () {\n return this._$co;\n };y.prototype._$WS = function () {\n return this._$QT;\n };y.prototype._$Xb = function (aH) {\n return this._$Js[aH] == y._$ZS;\n };y.prototype._$vs = function () {\n return this._$Es;\n };y.prototype._$Tr = function () {\n return this._$ZP;\n };y.prototype.getBaseData = function (aH) {\n return this._$3S[aH];\n };y.prototype.getParamFloat = function (aH) {\n return this._$_2[aH];\n };y.prototype.getParamMax = function (aH) {\n return this._$Or[aH];\n };y.prototype.getParamMin = function (aH) {\n return this._$Rr[aH];\n };y.prototype.setPartsOpacity = function (aJ, aH) {\n var aI = this._$Hr[aJ];aI.setPartsOpacity(aH);\n };y.prototype.getPartsOpacity = function (aI) {\n var aH = this._$Hr[aI];return aH.getPartsOpacity();\n };y.prototype.getPartsDataIndex = function (aI) {\n for (var aH = this._$F2.length - 1; aH >= 0; --aH) {\n if (this._$F2[aH] != null && this._$F2[aH]._$p2() == aI) {\n return aH;\n }\n }return -1;\n };y.prototype._$q2 = function (aH) {\n return this._$db[aH];\n };y.prototype._$C2 = function (aH) {\n return this._$8b[aH];\n };y.prototype._$Bb = function (aH) {\n return this._$Hr[aH];\n };y.prototype._$5s = function (aO, aK) {\n var aJ = this._$Ws.length;var aN = aO;for (var aL = 0; aL < aJ; ++aL) {\n var aI = this._$Ws[aL];if (aI == y._$V2) {\n continue;\n }do {\n var aM = this._$8b[aI];if (aM._$yo()) {\n aM._$GT()._$B2(this, aM, aN);aN += aK;\n }var aH = this._$Er[aI];if (aH <= aI || aH == y._$W0) {\n break;\n }aI = aH;\n } while (true);\n }\n };y.prototype.setDrawParam = function (aH) {\n this.dp_webgl = aH;\n };y.prototype.getDrawParam = function () {\n return this.dp_webgl;\n };function ap() {}ap._$0T = function (aH) {\n return ap._$0T(new _$5(aH));\n };ap._$0T = function (aJ) {\n if (!aJ.exists()) {\n throw new _$ls(aJ._$3b());\n }var aH = aJ.length();var aI = new Int8Array(aH);var aM = new _$Xs(new _$kb(aJ), 8192);var aK;var aL = 0;while ((aK = aM.read(aI, aL, aH - aL)) > 0) {\n aL += aK;\n }return aI;\n };ap._$C = function (aJ) {\n var aI = null;var aL = null;try {\n aI = aJ instanceof Array ? aJ : new _$Xs(aJ, 8192);aL = new _$js();var aM = 1000;var aK;var aH = new Int8Array(aM);while ((aK = aI.read(aH)) > 0) {\n aL.write(aH, 0, aK);\n }return aL._$TS();\n } finally {\n if (aJ != null) {\n aJ.close();\n }if (aL != null) {\n aL.flush();aL.close();\n }\n }\n };function ar() {\n if (j) {\n return;\n }this._$12 = null;this._$bb = null;this._$_L = null;this._$jo = null;this._$iL = null;this._$0L = null;this._$Br = null;this._$Dr = null;this._$Cb = null;this._$mr = null;this._$_L = az.STATE_FIRST;this._$Br = 4000;this._$Dr = 100;this._$Cb = 50;this._$mr = 150;this._$jo = true;this._$iL = \"PARAM_EYE_L_OPEN\";this._$0L = \"PARAM_EYE_R_OPEN\";\n }ar.prototype._$T2 = function () {\n var aI = P.getUserTimeMSec();var aH = Math._$10();return aI + aH * (2 * this._$Br - 1);\n };ar.prototype._$uo = function (aH) {\n this._$Br = aH;\n };ar.prototype._$QS = function (aI, aH, aJ) {\n this._$Dr = aI;this._$Cb = aH;this._$mr = aJ;\n };ar.prototype._$7T = function (aI) {\n var aK = P.getUserTimeMSec();var aH;var aJ = 0;switch (this._$_L) {case STATE_CLOSING:\n aJ = (aK - this._$bb) / this._$Dr;if (aJ >= 1) {\n aJ = 1;this._$_L = az.STATE_CLOSED;this._$bb = aK;\n }aH = 1 - aJ;break;case STATE_CLOSED:\n aJ = (aK - this._$bb) / this._$Cb;if (aJ >= 1) {\n this._$_L = az.STATE_OPENING;this._$bb = aK;\n }aH = 0;break;case STATE_OPENING:\n aJ = (aK - this._$bb) / this._$mr;if (aJ >= 1) {\n aJ = 1;this._$_L = az.STATE_INTERVAL;this._$12 = this._$T2();\n }aH = aJ;break;case STATE_INTERVAL:\n if (this._$12 < aK) {\n this._$_L = az.STATE_CLOSING;this._$bb = aK;\n }aH = 1;break;case STATE_FIRST:default:\n this._$_L = az.STATE_INTERVAL;this._$12 = this._$T2();aH = 1;break;}if (!this._$jo) {\n aH = -aH;\n }aI.setParamFloat(this._$iL, aH);aI.setParamFloat(this._$0L, aH);\n };var az = function az() {};az.STATE_FIRST = \"STATE_FIRST\";az.STATE_INTERVAL = \"STATE_INTERVAL\";az.STATE_CLOSING = \"STATE_CLOSING\";az.STATE_CLOSED = \"STATE_CLOSED\";az.STATE_OPENING = \"STATE_OPENING\";function x() {\n if (j) {\n return;\n }ax.prototype.constructor.call(this);this._$sb = new Int32Array(x._$As);this._$U2 = new Array();this.transform = null;this.gl = null;if (x._$NT == null) {\n x._$NT = x._$9r(256);x._$vS = x._$9r(256);x._$no = x._$vb(256);\n }\n }x.prototype = new ax();x._$As = 32;x._$Gr = false;x._$NT = null;x._$vS = null;x._$no = null;x._$9r = function (aH) {\n var aI = new Float32Array(aH);return aI;\n };x._$vb = function (aH) {\n var aI = new Int16Array(aH);return aI;\n };x._$cr = function (aI, aH) {\n if (aI == null || aI._$yL() < aH.length) {\n aI = x._$9r(aH.length * 2);aI.put(aH);aI._$oT(0);\n } else {\n aI.clear();aI.put(aH);aI._$oT(0);\n }return aI;\n };x._$mb = function (aI, aH) {\n if (aI == null || aI._$yL() < aH.length) {\n aI = x._$vb(aH.length * 2);aI.put(aH);aI._$oT(0);\n } else {\n aI.clear();aI.put(aH);aI._$oT(0);\n }return aI;\n };x._$Hs = function () {\n return x._$Gr;\n };x._$as = function (aH) {\n x._$Gr = aH;\n };x.prototype.setGL = function (aH) {\n this.gl = aH;\n };x.prototype.setTransform = function (aH) {\n this.transform = aH;\n };x.prototype._$ZT = function () {};x.prototype._$Uo = function (aO, aH, aP, aI, aQ, aM, aK, aJ) {\n if (aM < 0.01) {\n return;\n }var aL = this._$U2[aO];var aN = aM > 0.9 ? Q.EXPAND_W : 0;this.gl.drawElements(aL, aP, aI, aQ, aM, aN, this.transform, aJ);\n };x.prototype._$Rs = function () {\n throw new Error(\"_$Rs\");\n };x.prototype._$Ds = function (aH) {\n throw new Error(\"_$Ds\");\n };x.prototype._$K2 = function () {\n for (var aH = 0; aH < this._$sb.length; aH++) {\n var aI = this._$sb[aH];if (aI != 0) {\n this.gl._$Sr(1, this._$sb, aH);this._$sb[aH] = 0;\n }\n }\n };x.prototype.setTexture = function (aI, aH) {\n if (this._$sb.length < aI + 1) {\n this._$nS(aI);\n }this._$sb[aI] = aH;\n };x.prototype.setTexture = function (aH, aI) {\n if (this._$sb.length < aH + 1) {\n this._$nS(aH);\n }this._$U2[aH] = aI;\n };x.prototype._$nS = function (aH) {\n var aK = Math.max(this._$sb.length * 2, aH + 1 + 10);var aI = new Int32Array(aK);P._$jT(this._$sb, 0, aI, 0, this._$sb.length);this._$sb = aI;var aJ = new Array();P._$jT(this._$U2, 0, aJ, 0, this._$U2.length);this._$U2 = aJ;\n };function ab() {\n if (j) {\n return;\n }c.prototype.constructor.call(this);this._$GS = null;this._$Y0 = null;\n }ab.prototype = new c();ab._$Xo = new Float32Array(2);ab._$io = new Float32Array(2);ab._$0o = new Float32Array(2);ab._$Lo = new Float32Array(2);ab._$To = new Float32Array(2);ab._$Po = new Float32Array(2);ab._$gT = new Array();ab.prototype._$zP = function () {\n this._$GS = new g();this._$GS._$zP();this._$Y0 = new Array();\n };ab.prototype.getType = function () {\n return c._$c2;\n };ab.prototype._$F0 = function (aH) {\n c.prototype._$F0.call(this, aH);this._$GS = aH._$nP();this._$Y0 = aH._$nP();c.prototype.readV2_opacity.call(this, aH);\n };ab.prototype.init = function (aH) {\n var aI = new al(this);aI._$Yr = new X();if (this._$32()) {\n aI._$Wr = new X();\n }return aI;\n };ab.prototype._$Nr = function (bf, bx) {\n if (!(this == bx._$GT())) {\n console.log(\"### assert!! ### \");\n }var bm = bx;if (!this._$GS._$Ur(bf)) {\n return;\n }var bw = ab._$gT;bw[0] = false;var a2 = this._$GS._$Q2(bf, bw);bx._$Ib(bw[0]);this.interpolateOpacity(bf, this._$GS, bx, bw);var a3 = bf._$vs();var ba = bf._$Tr();this._$GS._$zr(a3, ba, a2);if (a2 <= 0) {\n var bn = this._$Y0[a3[0]];bm._$Yr.init(bn);\n } else {\n if (a2 == 1) {\n var bn = this._$Y0[a3[0]];var bl = this._$Y0[a3[1]];var a9 = ba[0];bm._$Yr._$fL = bn._$fL + (bl._$fL - bn._$fL) * a9;bm._$Yr._$gL = bn._$gL + (bl._$gL - bn._$gL) * a9;bm._$Yr._$B0 = bn._$B0 + (bl._$B0 - bn._$B0) * a9;bm._$Yr._$z0 = bn._$z0 + (bl._$z0 - bn._$z0) * a9;bm._$Yr._$qT = bn._$qT + (bl._$qT - bn._$qT) * a9;\n } else {\n if (a2 == 2) {\n var bn = this._$Y0[a3[0]];var bl = this._$Y0[a3[1]];var a1 = this._$Y0[a3[2]];var a0 = this._$Y0[a3[3]];var a9 = ba[0];var a8 = ba[1];var bC = bn._$fL + (bl._$fL - bn._$fL) * a9;var bB = a1._$fL + (a0._$fL - a1._$fL) * a9;bm._$Yr._$fL = bC + (bB - bC) * a8;bC = bn._$gL + (bl._$gL - bn._$gL) * a9;bB = a1._$gL + (a0._$gL - a1._$gL) * a9;bm._$Yr._$gL = bC + (bB - bC) * a8;bC = bn._$B0 + (bl._$B0 - bn._$B0) * a9;bB = a1._$B0 + (a0._$B0 - a1._$B0) * a9;bm._$Yr._$B0 = bC + (bB - bC) * a8;bC = bn._$z0 + (bl._$z0 - bn._$z0) * a9;bB = a1._$z0 + (a0._$z0 - a1._$z0) * a9;bm._$Yr._$z0 = bC + (bB - bC) * a8;bC = bn._$qT + (bl._$qT - bn._$qT) * a9;bB = a1._$qT + (a0._$qT - a1._$qT) * a9;bm._$Yr._$qT = bC + (bB - bC) * a8;\n } else {\n if (a2 == 3) {\n var aP = this._$Y0[a3[0]];var aO = this._$Y0[a3[1]];var bu = this._$Y0[a3[2]];var bs = this._$Y0[a3[3]];var aK = this._$Y0[a3[4]];var aJ = this._$Y0[a3[5]];var bj = this._$Y0[a3[6]];var bi = this._$Y0[a3[7]];var a9 = ba[0];var a8 = ba[1];var a6 = ba[2];var bC = aP._$fL + (aO._$fL - aP._$fL) * a9;var bB = bu._$fL + (bs._$fL - bu._$fL) * a9;var bz = aK._$fL + (aJ._$fL - aK._$fL) * a9;var by = bj._$fL + (bi._$fL - bj._$fL) * a9;bm._$Yr._$fL = (1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8);bC = aP._$gL + (aO._$gL - aP._$gL) * a9;bB = bu._$gL + (bs._$gL - bu._$gL) * a9;bz = aK._$gL + (aJ._$gL - aK._$gL) * a9;by = bj._$gL + (bi._$gL - bj._$gL) * a9;bm._$Yr._$gL = (1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8);bC = aP._$B0 + (aO._$B0 - aP._$B0) * a9;bB = bu._$B0 + (bs._$B0 - bu._$B0) * a9;bz = aK._$B0 + (aJ._$B0 - aK._$B0) * a9;by = bj._$B0 + (bi._$B0 - bj._$B0) * a9;bm._$Yr._$B0 = (1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8);bC = aP._$z0 + (aO._$z0 - aP._$z0) * a9;bB = bu._$z0 + (bs._$z0 - bu._$z0) * a9;bz = aK._$z0 + (aJ._$z0 - aK._$z0) * a9;by = bj._$z0 + (bi._$z0 - bj._$z0) * a9;bm._$Yr._$z0 = (1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8);bC = aP._$qT + (aO._$qT - aP._$qT) * a9;bB = bu._$qT + (bs._$qT - bu._$qT) * a9;bz = aK._$qT + (aJ._$qT - aK._$qT) * a9;by = bj._$qT + (bi._$qT - bj._$qT) * a9;bm._$Yr._$qT = (1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8);\n } else {\n if (a2 == 4) {\n var aT = this._$Y0[a3[0]];var aS = this._$Y0[a3[1]];var bE = this._$Y0[a3[2]];var bD = this._$Y0[a3[3]];var aN = this._$Y0[a3[4]];var aM = this._$Y0[a3[5]];var bp = this._$Y0[a3[6]];var bo = this._$Y0[a3[7]];var bh = this._$Y0[a3[8]];var bg = this._$Y0[a3[9]];var aY = this._$Y0[a3[10]];var aW = this._$Y0[a3[11]];var a7 = this._$Y0[a3[12]];var a5 = this._$Y0[a3[13]];var aR = this._$Y0[a3[14]];var aQ = this._$Y0[a3[15]];var a9 = ba[0];var a8 = ba[1];var a6 = ba[2];var a4 = ba[3];var bC = aT._$fL + (aS._$fL - aT._$fL) * a9;var bB = bE._$fL + (bD._$fL - bE._$fL) * a9;var bz = aN._$fL + (aM._$fL - aN._$fL) * a9;var by = bp._$fL + (bo._$fL - bp._$fL) * a9;var bv = bh._$fL + (bg._$fL - bh._$fL) * a9;var bt = aY._$fL + (aW._$fL - aY._$fL) * a9;var br = a7._$fL + (a5._$fL - a7._$fL) * a9;var bq = aR._$fL + (aQ._$fL - aR._$fL) * a9;bm._$Yr._$fL = (1 - a4) * ((1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8)) + a4 * ((1 - a6) * (bv + (bt - bv) * a8) + a6 * (br + (bq - br) * a8));bC = aT._$gL + (aS._$gL - aT._$gL) * a9;bB = bE._$gL + (bD._$gL - bE._$gL) * a9;bz = aN._$gL + (aM._$gL - aN._$gL) * a9;by = bp._$gL + (bo._$gL - bp._$gL) * a9;bv = bh._$gL + (bg._$gL - bh._$gL) * a9;bt = aY._$gL + (aW._$gL - aY._$gL) * a9;br = a7._$gL + (a5._$gL - a7._$gL) * a9;bq = aR._$gL + (aQ._$gL - aR._$gL) * a9;bm._$Yr._$gL = (1 - a4) * ((1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8)) + a4 * ((1 - a6) * (bv + (bt - bv) * a8) + a6 * (br + (bq - br) * a8));bC = aT._$B0 + (aS._$B0 - aT._$B0) * a9;bB = bE._$B0 + (bD._$B0 - bE._$B0) * a9;bz = aN._$B0 + (aM._$B0 - aN._$B0) * a9;by = bp._$B0 + (bo._$B0 - bp._$B0) * a9;bv = bh._$B0 + (bg._$B0 - bh._$B0) * a9;bt = aY._$B0 + (aW._$B0 - aY._$B0) * a9;br = a7._$B0 + (a5._$B0 - a7._$B0) * a9;bq = aR._$B0 + (aQ._$B0 - aR._$B0) * a9;bm._$Yr._$B0 = (1 - a4) * ((1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8)) + a4 * ((1 - a6) * (bv + (bt - bv) * a8) + a6 * (br + (bq - br) * a8));bC = aT._$z0 + (aS._$z0 - aT._$z0) * a9;bB = bE._$z0 + (bD._$z0 - bE._$z0) * a9;bz = aN._$z0 + (aM._$z0 - aN._$z0) * a9;by = bp._$z0 + (bo._$z0 - bp._$z0) * a9;bv = bh._$z0 + (bg._$z0 - bh._$z0) * a9;bt = aY._$z0 + (aW._$z0 - aY._$z0) * a9;br = a7._$z0 + (a5._$z0 - a7._$z0) * a9;bq = aR._$z0 + (aQ._$z0 - aR._$z0) * a9;bm._$Yr._$z0 = (1 - a4) * ((1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8)) + a4 * ((1 - a6) * (bv + (bt - bv) * a8) + a6 * (br + (bq - br) * a8));bC = aT._$qT + (aS._$qT - aT._$qT) * a9;bB = bE._$qT + (bD._$qT - bE._$qT) * a9;bz = aN._$qT + (aM._$qT - aN._$qT) * a9;by = bp._$qT + (bo._$qT - bp._$qT) * a9;bv = bh._$qT + (bg._$qT - bh._$qT) * a9;bt = aY._$qT + (aW._$qT - aY._$qT) * a9;br = a7._$qT + (a5._$qT - a7._$qT) * a9;bq = aR._$qT + (aQ._$qT - aR._$qT) * a9;bm._$Yr._$qT = (1 - a4) * ((1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8)) + a4 * ((1 - a6) * (bv + (bt - bv) * a8) + a6 * (br + (bq - br) * a8));\n } else {\n var aV = Math.pow(2, a2) | 0;var aZ = new Float32Array(aV);for (var bk = 0; bk < aV; bk++) {\n var aI = bk;var aH = 1;for (var aL = 0; aL < a2; aL++) {\n aH *= aI % 2 == 0 ? 1 - ba[aL] : ba[aL];aI /= 2;\n }aZ[bk] = aH;\n }var bA = new Array();for (var aU = 0; aU < aV; aU++) {\n bA[aU] = this._$Y0[a3[aU]];\n }var be = 0,\n bc = 0,\n bd = 0,\n bb = 0,\n aX = 0;for (var aU = 0; aU < aV; aU++) {\n be += aZ[aU] * bA[aU]._$fL;bc += aZ[aU] * bA[aU]._$gL;bd += aZ[aU] * bA[aU]._$B0;bb += aZ[aU] * bA[aU]._$z0;aX += aZ[aU] * bA[aU]._$qT;\n }bm._$Yr._$fL = be;bm._$Yr._$gL = bc;bm._$Yr._$B0 = bd;bm._$Yr._$z0 = bb;bm._$Yr._$qT = aX;\n }\n }\n }\n }\n }var bn = this._$Y0[a3[0]];bm._$Yr.reflectX = bn.reflectX;bm._$Yr.reflectY = bn.reflectY;\n };ab.prototype._$2b = function (aM, aH) {\n if (!(this == aH._$GT())) {\n console.log(\"### assert!! ### \");\n }var aR = aH;aR._$hS(true);if (!this._$32()) {\n aR.setTotalScale_notForClient(aR._$Yr._$B0);aR.setTotalOpacity(aR.getInterpolatedOpacity());\n } else {\n var aT = this.getTargetBaseDataID();if (aR._$8r == c._$ur) {\n aR._$8r = aM.getBaseDataIndex(aT);\n }if (aR._$8r < 0) {\n if (Q._$so) {\n q._$li(\"_$L _$0P _$G :: %s\", aT);\n }aR._$hS(false);\n } else {\n var aI = aM.getBaseData(aR._$8r);if (aI != null) {\n var aL = aM._$q2(aR._$8r);var aS = ab._$Xo;aS[0] = aR._$Yr._$fL;aS[1] = aR._$Yr._$gL;var aJ = ab._$io;aJ[0] = 0;aJ[1] = -0.1;var aO = aL._$GT().getType();if (aO == c._$c2) {\n aJ[1] = -10;\n } else {\n aJ[1] = -0.1;\n }var aQ = ab._$0o;this._$Jr(aM, aI, aL, aS, aJ, aQ);var aP = aC._$92(aJ, aQ);aI._$nb(aM, aL, aS, aS, 1, 0, 2);aR._$Wr._$fL = aS[0];aR._$Wr._$gL = aS[1];aR._$Wr._$B0 = aR._$Yr._$B0;aR._$Wr._$z0 = aR._$Yr._$z0;aR._$Wr._$qT = aR._$Yr._$qT - aP * aC._$NS;var aK = aL.getTotalScale();aR.setTotalScale_notForClient(aK * aR._$Wr._$B0);var aN = aL.getTotalOpacity();aR.setTotalOpacity(aN * aR.getInterpolatedOpacity());aR._$Wr.reflectX = aR._$Yr.reflectX;aR._$Wr.reflectY = aR._$Yr.reflectY;aR._$hS(aL._$yo());\n } else {\n aR._$hS(false);\n }\n }\n }\n };ab.prototype._$nb = function (aJ, aR, aL, a4, aT, aO, a2) {\n if (!(this == aR._$GT())) {\n console.log(\"### assert!! ### \");\n }var aH = aR;var aU = aH._$Wr != null ? aH._$Wr : aH._$Yr;var a0 = Math.sin(aC._$bS * aU._$qT);var aP = Math.cos(aC._$bS * aU._$qT);var a3 = aH.getTotalScale();var aW = aU.reflectX ? -1 : 1;var aV = aU.reflectY ? -1 : 1;var aS = aP * a3 * aW;var aQ = -a0 * a3 * aV;var a1 = a0 * a3 * aW;var aZ = aP * a3 * aV;var aY = aU._$fL;var aX = aU._$gL;var aN, aM;var aI = aT * a2;for (var aK = aO; aK < aI; aK += a2) {\n aN = aL[aK];aM = aL[aK + 1];a4[aK] = aS * aN + aQ * aM + aY;a4[aK + 1] = a1 * aN + aZ * aM + aX;\n }\n };ab.prototype._$Jr = function (aP, aK, aI, aR, aQ, aH) {\n if (!(aK == aI._$GT())) {\n console.log(\"### assert!! ### \");\n }var aO = ab._$Lo;ab._$Lo[0] = aR[0];ab._$Lo[1] = aR[1];aK._$nb(aP, aI, aO, aO, 1, 0, 2);var aL = ab._$To;var aS = ab._$Po;var aN = 10;var aJ = 1;for (var aM = 0; aM < aN; aM++) {\n aS[0] = aR[0] + aJ * aQ[0];aS[1] = aR[1] + aJ * aQ[1];aK._$nb(aP, aI, aS, aL, 1, 0, 2);aL[0] -= aO[0];aL[1] -= aO[1];if (aL[0] != 0 || aL[1] != 0) {\n aH[0] = aL[0];aH[1] = aL[1];return;\n }aS[0] = aR[0] - aJ * aQ[0];aS[1] = aR[1] - aJ * aQ[1];aK._$nb(aP, aI, aS, aL, 1, 0, 2);aL[0] -= aO[0];aL[1] -= aO[1];if (aL[0] != 0 || aL[1] != 0) {\n aL[0] = -aL[0];aL[0] = -aL[0];aH[0] = aL[0];aH[1] = aL[1];return;\n }aJ *= 0.1;\n }if (Q._$so) {\n console.log(\"_$L0 to transform _$SP\\n\");\n }\n };function al(aH) {\n B.prototype.constructor.call(this, aH);this._$8r = c._$ur;this._$Yr = null;this._$Wr = null;\n }al.prototype = new B();function a() {\n if (j) {\n return;\n }ae.prototype.constructor.call(this);this._$gP = null;this._$dr = null;this._$GS = null;this._$qb = null;this._$Lb = null;this._$mS = null;\n }a.prototype = new ae();a._$ur = -2;a._$ES = 500;a._$wb = 2;a._$8S = 3;a._$os = 4;a._$52 = a._$ES;a._$R2 = a._$ES;a._$Sb = function (aJ) {\n for (var aI = aJ.length - 1; aI >= 0; --aI) {\n var aH = aJ[aI];if (aH < a._$52) {\n a._$52 = aH;\n } else {\n if (aH > a._$R2) {\n a._$R2 = aH;\n }\n }\n }\n };a._$or = function () {\n return a._$52;\n };a._$Pr = function () {\n return a._$R2;\n };a.prototype._$F0 = function (aH) {\n this._$gP = aH._$nP();this._$dr = aH._$nP();this._$GS = aH._$nP();this._$qb = aH._$6L();this._$Lb = aH._$cS();this._$mS = aH._$Tb();if (aH.getFormatVersion() >= ay._$T7) {\n this.clipID = aH._$nP();this.clipIDList = this.convertClipIDForV2_11(this.clipID);\n } else {\n this.clipIDList = null;\n }a._$Sb(this._$Lb);\n };a.prototype.getClipIDList = function () {\n return this.clipIDList;\n };a.prototype._$Nr = function (aI, aH) {\n aH._$IS[0] = false;aH._$Us = aG._$Z2(aI, this._$GS, aH._$IS, this._$Lb);if (Q._$Zs) {} else {\n if (aH._$IS[0]) {\n return;\n }\n }aH._$7s = aG._$br(aI, this._$GS, aH._$IS, this._$mS);\n };a.prototype._$2b = function (aH) {};a.prototype.getDrawDataID = function () {\n return this._$gP;\n };a.prototype._$j2 = function (aH) {\n this._$gP = aH;\n };a.prototype.getOpacity = function (aH, aI) {\n return aI._$7s;\n };a.prototype._$zS = function (aH, aI) {\n return aI._$Us;\n };a.prototype.getTargetBaseDataID = function () {\n return this._$dr;\n };a.prototype._$gs = function (aH) {\n this._$dr = aH;\n };a.prototype._$32 = function () {\n return this._$dr != null && this._$dr != n._$2o();\n };a.prototype.getType = function () {};function aq() {\n if (j) {\n return;\n }this._$NL = null;this._$3S = null;this._$aS = null;aq._$42++;\n }aq._$42 = 0;aq.prototype._$1b = function () {\n return this._$3S;\n };aq.prototype.getDrawDataList = function () {\n return this._$aS;\n };aq.prototype._$F0 = function (aH) {\n this._$NL = aH._$nP();this._$aS = aH._$nP();this._$3S = aH._$nP();\n };aq.prototype._$kr = function (aH) {\n aH._$Zo(this._$3S);aH._$xo(this._$aS);this._$3S = null;this._$aS = null;\n };function v() {\n if (j) {\n return;\n }aa.prototype.constructor.call(this);this._$zo = new x();\n }v.prototype = new aa();v.loadModel = function (aI) {\n var aH = new v();aa._$62(aH, aI);return aH;\n };v.loadModel = function (aI) {\n var aH = new v();aa._$62(aH, aI);return aH;\n };v._$to = function () {\n var aH = new v();return aH;\n };v._$er = function (aM) {\n var aJ = new _$5(\"../_$_r/_$t0/_$Ri/_$_P._$d\");if (aJ.exists() == false) {\n throw new _$ls(\"_$t0 _$_ _$6 _$Ui :: \" + aJ._$PL());\n }var aH = [\"../_$_r/_$t0/_$Ri/_$_P.512/_$CP._$1\", \"../_$_r/_$t0/_$Ri/_$_P.512/_$vP._$1\", \"../_$_r/_$t0/_$Ri/_$_P.512/_$EP._$1\", \"../_$_r/_$t0/_$Ri/_$_P.512/_$pP._$1\"];var aK = v.loadModel(aJ._$3b());for (var aI = 0; aI < aH.length; aI++) {\n var aL = new _$5(aH[aI]);if (aL.exists() == false) {\n throw new _$ls(\"_$t0 _$_ _$6 _$Ui :: \" + aL._$PL());\n }aK.setTexture(aI, _$nL._$_o(aM, aL._$3b()));\n }return aK;\n };v.prototype.setGL = function (aH) {\n this._$zo.setGL(aH);\n };v.prototype.setTransform = function (aH) {\n this._$zo.setTransform(aH);\n };v.prototype.draw = function () {\n this._$5S.draw(this._$zo);\n };v.prototype._$K2 = function () {\n this._$zo._$K2();\n };v.prototype.setTexture = function (aI, aH) {\n if (this._$zo == null) {\n q._$li(\"_$Yi for QT _$ki / _$XS() is _$6 _$ui!!\");\n }this._$zo.setTexture(aI, aH);\n };v.prototype.setTexture = function (aI, aH) {\n if (this._$zo == null) {\n q._$li(\"_$Yi for QT _$ki / _$XS() is _$6 _$ui!!\");\n }this._$zo.setTexture(aI, aH);\n };v.prototype._$Rs = function () {\n return this._$zo._$Rs();\n };v.prototype._$Ds = function (aH) {\n this._$zo._$Ds(aH);\n };v.prototype.getDrawParam = function () {\n return this._$zo;\n };function ao() {\n if (j) {\n return;\n }ah.prototype.constructor.call(this);this.motions = new Array();this._$o2 = null;this._$7r = ao._$Co++;this._$D0 = 30;this._$yT = 0;this._$E = false;this.loopFadeIn = true;this._$rr = -1;this._$eP = 0;\n }ao.prototype = new ah();ao._$cs = \"VISIBLE:\";ao._$ar = \"LAYOUT:\";ao.MTN_PREFIX_FADEIN = \"FADEIN:\";ao.MTN_PREFIX_FADEOUT = \"FADEOUT:\";ao._$Co = 0;ao._$1T = 1;ao.loadMotion = function (aJ) {\n var aI = ap._$C(aJ);var aH = ao.loadMotion(aI);return aH;\n };function p(aI, aH) {\n return String.fromCharCode(aI.getUint8(aH));\n }ao.loadMotion = function (aT) {\n if (aT instanceof ArrayBuffer) {\n aT = new DataView(aT);\n }var aN = new ao();var aI = [0];var aQ = aT.byteLength;aN._$yT = 0;for (var aJ = 0; aJ < aQ; ++aJ) {\n var aS = p(aT, aJ);var aL = aS.charCodeAt(0);if (aS == \"\\n\" || aS == \"\\r\") {\n continue;\n }if (aS == \"#\") {\n for (; aJ < aQ; ++aJ) {\n if (p(aT, aJ) == \"\\n\" || p(aT, aJ) == \"\\r\") {\n break;\n }\n }continue;\n }if (aS == \"$\") {\n var aV = aJ;var aK = -1;for (; aJ < aQ; ++aJ) {\n aS = p(aT, aJ);if (aS == \"\\r\" || aS == \"\\n\") {\n break;\n }if (aS == \"=\") {\n aK = aJ;break;\n }\n }var aP = false;if (aK >= 0) {\n if (aK == aV + 4 && p(aT, aV + 1) == \"f\" && p(aT, aV + 2) == \"p\" && p(aT, aV + 3) == \"s\") {\n aP = true;\n }for (aJ = aK + 1; aJ < aQ; ++aJ) {\n aS = p(aT, aJ);if (aS == \"\\r\" || aS == \"\\n\") {\n break;\n }if (aS == \",\" || aS == \" \" || aS == \"\\t\") {\n continue;\n }var aM = G._$LS(aT, aQ, aJ, aI);if (aI[0] > 0) {\n if (aP && 5 < aM && aM < 121) {\n aN._$D0 = aM;\n }\n }aJ = aI[0];\n }\n }for (; aJ < aQ; ++aJ) {\n if (p(aT, aJ) == \"\\n\" || p(aT, aJ) == \"\\r\") {\n break;\n }\n }continue;\n }if (97 <= aL && aL <= 122 || 65 <= aL && aL <= 90 || aS == \"_\") {\n var aV = aJ;var aK = -1;for (; aJ < aQ; ++aJ) {\n aS = p(aT, aJ);if (aS == \"\\r\" || aS == \"\\n\") {\n break;\n }if (aS == \"=\") {\n aK = aJ;break;\n }\n }if (aK >= 0) {\n var aO = new t();if (G.startsWith(aT, aV, ao._$cs)) {\n aO._$RP = t._$hs;aO._$4P = G.createString(aT, aV, aK - aV);\n } else {\n if (G.startsWith(aT, aV, ao._$ar)) {\n aO._$4P = G.createString(aT, aV + 7, aK - aV - 7);if (G.startsWith(aT, aV + 7, \"ANCHOR_X\")) {\n aO._$RP = t._$xs;\n } else {\n if (G.startsWith(aT, aV + 7, \"ANCHOR_Y\")) {\n aO._$RP = t._$us;\n } else {\n if (G.startsWith(aT, aV + 7, \"SCALE_X\")) {\n aO._$RP = t._$qs;\n } else {\n if (G.startsWith(aT, aV + 7, \"SCALE_Y\")) {\n aO._$RP = t._$Ys;\n } else {\n if (G.startsWith(aT, aV + 7, \"X\")) {\n aO._$RP = t._$ws;\n } else {\n if (G.startsWith(aT, aV + 7, \"Y\")) {\n aO._$RP = t._$Ns;\n }\n }\n }\n }\n }\n }\n } else {\n aO._$RP = t._$Fr;aO._$4P = G.createString(aT, aV, aK - aV);\n }\n }aN.motions.push(aO);var aU = 0;var aR = [];for (aJ = aK + 1; aJ < aQ; ++aJ) {\n aS = p(aT, aJ);if (aS == \"\\r\" || aS == \"\\n\") {\n break;\n }if (aS == \",\" || aS == \" \" || aS == \"\\t\") {\n continue;\n }var aM = G._$LS(aT, aQ, aJ, aI);if (aI[0] > 0) {\n aR.push(aM);aU++;var aH = aI[0];if (aH < aJ) {\n console.log(\"_$n0 _$hi . @Live2DMotion loadMotion()\\n\");break;\n }aJ = aH - 1;\n }\n }aO._$I0 = new Float32Array(aR);if (aU > aN._$yT) {\n aN._$yT = aU;\n }\n }\n }\n }aN._$rr = 1000 * aN._$yT / aN._$D0 | 0;return aN;\n };ao.prototype.getDurationMSec = function () {\n return this._$E ? -1 : this._$rr;\n };ao.prototype.getLoopDurationMSec = function () {\n return this._$rr;\n };ao.prototype.dump = function () {\n for (var aJ = 0; aJ < this.motions.length; aJ++) {\n var aH = this.motions[aJ];console.log(\"_$wL[%s] [%d]. \", aH._$4P, aH._$I0.length);for (var aI = 0; aI < aH._$I0.length && aI < 10; aI++) {\n console.log(\"%5.2f ,\", aH._$I0[aI]);\n }console.log(\"\\n\");\n }\n };ao.prototype.updateParamExe = function (aJ, aN, aQ, a3) {\n var aO = aN - a3._$z2;var a0 = aO * this._$D0 / 1000;var aK = a0 | 0;var aR = a0 - aK;for (var aZ = 0; aZ < this.motions.length; aZ++) {\n var aV = this.motions[aZ];var aL = aV._$I0.length;var aT = aV._$4P;if (aV._$RP == t._$hs) {\n var aX = aV._$I0[aK >= aL ? aL - 1 : aK];aJ.setParamFloat(aT, aX);\n } else {\n if (t._$ws <= aV._$RP && aV._$RP <= t._$Ys) {} else {\n var aH = aJ.getParamIndex(aT);var a4 = aJ.getModelContext();var aY = a4.getParamMax(aH);var aW = a4.getParamMin(aH);var aM = 0.4;var aS = aM * (aY - aW);var aU = a4.getParamFloat(aH);var a2 = aV._$I0[aK >= aL ? aL - 1 : aK];var a1 = aV._$I0[aK + 1 >= aL ? aL - 1 : aK + 1];var aI;if (a2 < a1 && a1 - a2 > aS || a2 > a1 && a2 - a1 > aS) {\n aI = a2;\n } else {\n aI = a2 + (a1 - a2) * aR;\n }var aP = aU + (aI - aU) * aQ;aJ.setParamFloat(aT, aP);\n }\n }\n }if (aK >= this._$yT) {\n if (this._$E) {\n a3._$z2 = aN;if (this.loopFadeIn) {\n a3._$bs = aN;\n }\n } else {\n a3._$9L = true;\n }\n }this._$eP = aQ;\n };ao.prototype._$r0 = function () {\n return this._$E;\n };ao.prototype._$aL = function (aH) {\n this._$E = aH;\n };ao.prototype._$S0 = function () {\n return this._$D0;\n };ao.prototype._$U0 = function (aH) {\n this._$D0 = aH;\n };ao.prototype.isLoopFadeIn = function () {\n return this.loopFadeIn;\n };ao.prototype.setLoopFadeIn = function (aH) {\n this.loopFadeIn = aH;\n };function aE() {\n this._$P = new Float32Array(100);this.size = 0;\n }aE.prototype.clear = function () {\n this.size = 0;\n };aE.prototype.add = function (aI) {\n if (this._$P.length <= this.size) {\n var aH = new Float32Array(this.size * 2);P._$jT(this._$P, 0, aH, 0, this.size);this._$P = aH;\n }this._$P[this.size++] = aI;\n };aE.prototype._$BL = function () {\n var aH = new Float32Array(this.size);P._$jT(this._$P, 0, aH, 0, this.size);return aH;\n };function t() {\n this._$4P = null;this._$I0 = null;this._$RP = null;\n }t._$Fr = 0;t._$hs = 1;t._$ws = 100;t._$Ns = 101;t._$xs = 102;t._$us = 103;t._$qs = 104;t._$Ys = 105;function E() {\n if (j) {\n return;\n }c.prototype.constructor.call(this);this._$o = 0;this._$A = 0;this._$GS = null;this._$Eo = null;\n }E.prototype = new c();E._$gT = new Array();E.prototype._$zP = function () {\n this._$GS = new g();this._$GS._$zP();\n };E.prototype._$F0 = function (aH) {\n c.prototype._$F0.call(this, aH);this._$A = aH._$6L();this._$o = aH._$6L();this._$GS = aH._$nP();this._$Eo = aH._$nP();c.prototype.readV2_opacity.call(this, aH);\n };E.prototype.init = function (aH) {\n var aI = new H(this);var aJ = (this._$o + 1) * (this._$A + 1);if (aI._$Cr != null) {\n aI._$Cr = null;\n }aI._$Cr = new Float32Array(aJ * 2);if (aI._$hr != null) {\n aI._$hr = null;\n }if (this._$32()) {\n aI._$hr = new Float32Array(aJ * 2);\n } else {\n aI._$hr = null;\n }return aI;\n };E.prototype._$Nr = function (aJ, aI) {\n var aK = aI;if (!this._$GS._$Ur(aJ)) {\n return;\n }var aL = this._$VT();var aH = E._$gT;aH[0] = false;aG._$Vr(aJ, this._$GS, aH, aL, this._$Eo, aK._$Cr, 0, 2);aI._$Ib(aH[0]);this.interpolateOpacity(aJ, this._$GS, aI, aH);\n };E.prototype._$2b = function (aK, aJ) {\n var aL = aJ;aL._$hS(true);if (!this._$32()) {\n aL.setTotalOpacity(aL.getInterpolatedOpacity());\n } else {\n var aH = this.getTargetBaseDataID();if (aL._$8r == c._$ur) {\n aL._$8r = aK.getBaseDataIndex(aH);\n }if (aL._$8r < 0) {\n if (Q._$so) {\n q._$li(\"_$L _$0P _$G :: %s\", aH);\n }aL._$hS(false);\n } else {\n var aN = aK.getBaseData(aL._$8r);var aI = aK._$q2(aL._$8r);if (aN != null && aI._$yo()) {\n var aM = aI.getTotalScale();aL.setTotalScale_notForClient(aM);var aO = aI.getTotalOpacity();aL.setTotalOpacity(aO * aL.getInterpolatedOpacity());aN._$nb(aK, aI, aL._$Cr, aL._$hr, this._$VT(), 0, 2);aL._$hS(true);\n } else {\n aL._$hS(false);\n }\n }\n }\n };E.prototype._$nb = function (aL, aI, aH, aM, aO, aK, aJ) {\n if (true) {\n var aN = aI;var aP = aN._$hr != null ? aN._$hr : aN._$Cr;E.transformPoints_sdk2(aH, aM, aO, aK, aJ, aP, this._$o, this._$A);\n } else {\n this.transformPoints_sdk1(aL, aI, aH, aM, aO, aK, aJ);\n }\n };E.transformPoints_sdk2 = function (a0, bc, a5, aP, aI, aR, aQ, aU) {\n var aW = a5 * aI;var aV;var bn, bm;var aT = 0;var aS = 0;var bl = 0;var bk = 0;var bf = 0;var be = 0;var aZ = false;for (var ba = aP; ba < aW; ba += aI) {\n var bd, a7, a4, aX;a4 = a0[ba];aX = a0[ba + 1];bd = a4 * aQ;a7 = aX * aU;if (bd < 0 || a7 < 0 || aQ <= bd || aU <= a7) {\n var a1 = aQ + 1;if (!aZ) {\n aZ = true;aT = 0.25 * (aR[(0 + 0 * a1) * 2] + aR[(aQ + 0 * a1) * 2] + aR[(0 + aU * a1) * 2] + aR[(aQ + aU * a1) * 2]);aS = 0.25 * (aR[(0 + 0 * a1) * 2 + 1] + aR[(aQ + 0 * a1) * 2 + 1] + aR[(0 + aU * a1) * 2 + 1] + aR[(aQ + aU * a1) * 2 + 1]);var aM = aR[(aQ + aU * a1) * 2] - aR[(0 + 0 * a1) * 2];var aL = aR[(aQ + aU * a1) * 2 + 1] - aR[(0 + 0 * a1) * 2 + 1];var bh = aR[(aQ + 0 * a1) * 2] - aR[(0 + aU * a1) * 2];var bg = aR[(aQ + 0 * a1) * 2 + 1] - aR[(0 + aU * a1) * 2 + 1];bl = (aM + bh) * 0.5;bk = (aL + bg) * 0.5;bf = (aM - bh) * 0.5;be = (aL - bg) * 0.5;if (bl == 0 && bk == 0) {}if (bf == 0 && be == 0) {}aT -= 0.5 * (bl + bf);aS -= 0.5 * (bk + be);\n }if (-2 < a4 && a4 < 3 && -2 < aX && aX < 3) {\n if (a4 <= 0) {\n if (aX <= 0) {\n var a3 = aR[(0 + 0 * a1) * 2];var a2 = aR[(0 + 0 * a1) * 2 + 1];var a8 = aT - 2 * bl;var a6 = aS - 2 * bk;var aK = aT - 2 * bf;var aJ = aS - 2 * be;var aO = aT - 2 * bl - 2 * bf;var aN = aS - 2 * bk - 2 * be;var bj = 0.5 * (a4 - -2);var bi = 0.5 * (aX - -2);if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n if (aX >= 1) {\n var aK = aR[(0 + aU * a1) * 2];var aJ = aR[(0 + aU * a1) * 2 + 1];var aO = aT - 2 * bl + 1 * bf;var aN = aS - 2 * bk + 1 * be;var a3 = aT + 3 * bf;var a2 = aS + 3 * be;var a8 = aT - 2 * bl + 3 * bf;var a6 = aS - 2 * bk + 3 * be;var bj = 0.5 * (a4 - -2);var bi = 0.5 * (aX - 1);if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n var aH = a7 | 0;if (aH == aU) {\n aH = aU - 1;\n }var bj = 0.5 * (a4 - -2);var bi = a7 - aH;var bb = aH / aU;var a9 = (aH + 1) / aU;var aK = aR[(0 + aH * a1) * 2];var aJ = aR[(0 + aH * a1) * 2 + 1];var a3 = aR[(0 + (aH + 1) * a1) * 2];var a2 = aR[(0 + (aH + 1) * a1) * 2 + 1];var aO = aT - 2 * bl + bb * bf;var aN = aS - 2 * bk + bb * be;var a8 = aT - 2 * bl + a9 * bf;var a6 = aS - 2 * bk + a9 * be;if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n }\n }\n } else {\n if (1 <= a4) {\n if (aX <= 0) {\n var a8 = aR[(aQ + 0 * a1) * 2];var a6 = aR[(aQ + 0 * a1) * 2 + 1];var a3 = aT + 3 * bl;var a2 = aS + 3 * bk;var aO = aT + 1 * bl - 2 * bf;var aN = aS + 1 * bk - 2 * be;var aK = aT + 3 * bl - 2 * bf;var aJ = aS + 3 * bk - 2 * be;var bj = 0.5 * (a4 - 1);var bi = 0.5 * (aX - -2);if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n if (aX >= 1) {\n var aO = aR[(aQ + aU * a1) * 2];var aN = aR[(aQ + aU * a1) * 2 + 1];var aK = aT + 3 * bl + 1 * bf;var aJ = aS + 3 * bk + 1 * be;var a8 = aT + 1 * bl + 3 * bf;var a6 = aS + 1 * bk + 3 * be;var a3 = aT + 3 * bl + 3 * bf;var a2 = aS + 3 * bk + 3 * be;var bj = 0.5 * (a4 - 1);var bi = 0.5 * (aX - 1);if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n var aH = a7 | 0;if (aH == aU) {\n aH = aU - 1;\n }var bj = 0.5 * (a4 - 1);var bi = a7 - aH;var bb = aH / aU;var a9 = (aH + 1) / aU;var aO = aR[(aQ + aH * a1) * 2];var aN = aR[(aQ + aH * a1) * 2 + 1];var a8 = aR[(aQ + (aH + 1) * a1) * 2];var a6 = aR[(aQ + (aH + 1) * a1) * 2 + 1];var aK = aT + 3 * bl + bb * bf;var aJ = aS + 3 * bk + bb * be;var a3 = aT + 3 * bl + a9 * bf;var a2 = aS + 3 * bk + a9 * be;if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n }\n }\n } else {\n if (aX <= 0) {\n var aY = bd | 0;if (aY == aQ) {\n aY = aQ - 1;\n }var bj = bd - aY;var bi = 0.5 * (aX - -2);var bp = aY / aQ;var bo = (aY + 1) / aQ;var a8 = aR[(aY + 0 * a1) * 2];var a6 = aR[(aY + 0 * a1) * 2 + 1];var a3 = aR[(aY + 1 + 0 * a1) * 2];var a2 = aR[(aY + 1 + 0 * a1) * 2 + 1];var aO = aT + bp * bl - 2 * bf;var aN = aS + bp * bk - 2 * be;var aK = aT + bo * bl - 2 * bf;var aJ = aS + bo * bk - 2 * be;if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n if (aX >= 1) {\n var aY = bd | 0;if (aY == aQ) {\n aY = aQ - 1;\n }var bj = bd - aY;var bi = 0.5 * (aX - 1);var bp = aY / aQ;var bo = (aY + 1) / aQ;var aO = aR[(aY + aU * a1) * 2];var aN = aR[(aY + aU * a1) * 2 + 1];var aK = aR[(aY + 1 + aU * a1) * 2];var aJ = aR[(aY + 1 + aU * a1) * 2 + 1];var a8 = aT + bp * bl + 3 * bf;var a6 = aS + bp * bk + 3 * be;var a3 = aT + bo * bl + 3 * bf;var a2 = aS + bo * bk + 3 * be;if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n System.err.printf(\"_$li calc : %.4f , %.4f\t\t\t\t\t@@BDBoxGrid\\n\", a4, aX);\n }\n }\n }\n }\n } else {\n bc[ba] = aT + a4 * bl + aX * bf;bc[ba + 1] = aS + a4 * bk + aX * be;\n }\n } else {\n bn = bd - (bd | 0);bm = a7 - (a7 | 0);aV = 2 * ((bd | 0) + (a7 | 0) * (aQ + 1));if (bn + bm < 1) {\n bc[ba] = aR[aV] * (1 - bn - bm) + aR[aV + 2] * bn + aR[aV + 2 * (aQ + 1)] * bm;bc[ba + 1] = aR[aV + 1] * (1 - bn - bm) + aR[aV + 3] * bn + aR[aV + 2 * (aQ + 1) + 1] * bm;\n } else {\n bc[ba] = aR[aV + 2 * (aQ + 1) + 2] * (bn - 1 + bm) + aR[aV + 2 * (aQ + 1)] * (1 - bn) + aR[aV + 2] * (1 - bm);bc[ba + 1] = aR[aV + 2 * (aQ + 1) + 3] * (bn - 1 + bm) + aR[aV + 2 * (aQ + 1) + 1] * (1 - bn) + aR[aV + 3] * (1 - bm);\n }\n }\n }\n };E.prototype.transformPoints_sdk1 = function (aJ, aR, aL, a0, aU, aP, aZ) {\n var aH = aR;var aO, aN;var aM = this._$o;var aQ = this._$A;var aI = aU * aZ;var aS, aY;var aV;var aX, aW;var aT = aH._$hr != null ? aH._$hr : aH._$Cr;for (var aK = aP; aK < aI; aK += aZ) {\n if (Q._$ts) {\n aO = aL[aK];aN = aL[aK + 1];if (aO < 0) {\n aO = 0;\n } else {\n if (aO > 1) {\n aO = 1;\n }\n }if (aN < 0) {\n aN = 0;\n } else {\n if (aN > 1) {\n aN = 1;\n }\n }aO *= aM;aN *= aQ;aS = aO | 0;aY = aN | 0;if (aS > aM - 1) {\n aS = aM - 1;\n }if (aY > aQ - 1) {\n aY = aQ - 1;\n }aX = aO - aS;aW = aN - aY;aV = 2 * (aS + aY * (aM + 1));\n } else {\n aO = aL[aK] * aM;aN = aL[aK + 1] * aQ;aX = aO - (aO | 0);aW = aN - (aN | 0);aV = 2 * ((aO | 0) + (aN | 0) * (aM + 1));\n }if (aX + aW < 1) {\n a0[aK] = aT[aV] * (1 - aX - aW) + aT[aV + 2] * aX + aT[aV + 2 * (aM + 1)] * aW;a0[aK + 1] = aT[aV + 1] * (1 - aX - aW) + aT[aV + 3] * aX + aT[aV + 2 * (aM + 1) + 1] * aW;\n } else {\n a0[aK] = aT[aV + 2 * (aM + 1) + 2] * (aX - 1 + aW) + aT[aV + 2 * (aM + 1)] * (1 - aX) + aT[aV + 2] * (1 - aW);a0[aK + 1] = aT[aV + 2 * (aM + 1) + 3] * (aX - 1 + aW) + aT[aV + 2 * (aM + 1) + 1] * (1 - aX) + aT[aV + 3] * (1 - aW);\n }\n }\n };E.prototype._$VT = function () {\n return (this._$o + 1) * (this._$A + 1);\n };E.prototype.getType = function () {\n return c._$_b;\n };function H(aH) {\n B.prototype.constructor.call(this, aH);this._$8r = c._$ur;this._$Cr = null;this._$hr = null;\n }H.prototype = new B();function s() {\n if (j) {\n return;\n }this.visible = true;this._$g0 = false;this._$NL = null;this._$3S = null;this._$aS = null;s._$42++;\n }s._$42 = 0;s.prototype._$zP = function () {\n this._$3S = new Array();this._$aS = new Array();\n };s.prototype._$F0 = function (aH) {\n this._$g0 = aH._$8L();this.visible = aH._$8L();this._$NL = aH._$nP();this._$3S = aH._$nP();this._$aS = aH._$nP();\n };s.prototype.init = function (aI) {\n var aH = new aj(this);aH.setPartsOpacity(this.isVisible() ? 1 : 0);return aH;\n };s.prototype._$6o = function (aH) {\n if (this._$3S == null) {\n throw new Error(\"_$3S _$6 _$Wo@_$6o\");\n }this._$3S.push(aH);\n };s.prototype._$3o = function (aH) {\n if (this._$aS == null) {\n throw new Error(\"_$aS _$6 _$Wo@_$3o\");\n }this._$aS.push(aH);\n };s.prototype._$Zo = function (aH) {\n this._$3S = aH;\n };s.prototype._$xo = function (aH) {\n this._$aS = aH;\n };s.prototype.isVisible = function () {\n return this.visible;\n };s.prototype._$uL = function () {\n return this._$g0;\n };s.prototype._$KP = function (aH) {\n this.visible = aH;\n };s.prototype._$ET = function (aH) {\n this._$g0 = aH;\n };s.prototype.getBaseData = function () {\n return this._$3S;\n };s.prototype.getDrawData = function () {\n return this._$aS;\n };s.prototype._$p2 = function () {\n return this._$NL;\n };s.prototype._$ob = function (aH) {\n this._$NL = aH;\n };s.prototype.getPartsID = function () {\n return this._$NL;\n };s.prototype._$MP = function (aH) {\n this._$NL = aH;\n };function aj(aH) {\n this._$VS = null;this._$e0 = null;this._$e0 = aH;\n }aj.prototype = new S();aj.prototype.getPartsOpacity = function () {\n return this._$VS;\n };aj.prototype.setPartsOpacity = function (aH) {\n this._$VS = aH;\n };function ak(aH) {\n if (j) {\n return;\n }this.id = aH;\n }ak._$L7 = function () {\n z._$27();n._$27();Z._$27();i._$27();\n };ak.prototype.toString = function () {\n return this.id;\n };function D() {}D.prototype._$F0 = function (aH) {};function an() {\n if (j) {\n return;\n }this._$4S = null;\n }an.prototype._$1s = function () {\n return this._$4S;\n };an.prototype._$zP = function () {\n this._$4S = new Array();\n };an.prototype._$F0 = function (aH) {\n this._$4S = aH._$nP();\n };an.prototype._$Ks = function (aH) {\n this._$4S.push(aH);\n };function au(aH, aI) {\n this.canvas = aH;this.context = aI;this.viewport = new Array(0, 0, aH.width, aH.height);this._$6r = 1;this._$xP = 0;this._$3r = 1;this._$uP = 0;this._$Qo = -1;this.cacheImages = {};\n }au.tr = new am();au._$50 = new am();au._$Ti = new Array(0, 0);au._$Pi = new Array(0, 0);au._$B = new Array(0, 0);au.prototype._$lP = function (aI, aK, aJ, aH) {\n this.viewport = new Array(aI, aK, aJ, aH);\n };au.prototype._$bL = function () {\n this.context.save();var aH = this.viewport;if (aH != null) {\n this.context.beginPath();this.context._$Li(aH[0], aH[1], aH[2], aH[3]);this.context.clip();\n }\n };au.prototype._$ei = function () {\n this.context.restore();\n };au.prototype.drawElements = function (bc, bm, aX, aJ, bA, aM, bl, bz) {\n try {\n if (bA != this._$Qo) {\n this._$Qo = bA;this.context.globalAlpha = bA;\n }var a2 = bm.length;var aP = bc.width;var a5 = bc.height;var bE = this.context;var a7 = this._$xP;var a6 = this._$uP;var a1 = this._$6r;var aZ = this._$3r;var bD = au.tr;var aI = au._$Ti;var aH = au._$Pi;var bu = au._$B;for (var by = 0; by < a2; by += 3) {\n bE.save();var aW = bm[by];var aV = bm[by + 1];var aT = bm[by + 2];var aL = a7 + a1 * aX[aW * 2];var aK = a6 + aZ * aX[aW * 2 + 1];var br = a7 + a1 * aX[aV * 2];var bp = a6 + aZ * aX[aV * 2 + 1];var bh = a7 + a1 * aX[aT * 2];var bf = a6 + aZ * aX[aT * 2 + 1];if (bl) {\n bl._$PS(aL, aK, bu);aL = bu[0];aK = bu[1];bl._$PS(br, bp, bu);br = bu[0];bp = bu[1];bl._$PS(bh, bf, bu);bh = bu[0];bf = bu[1];\n }var aS = aP * aJ[aW * 2];var aQ = a5 - a5 * aJ[aW * 2 + 1];var bx = aP * aJ[aV * 2];var bw = a5 - a5 * aJ[aV * 2 + 1];var bk = aP * aJ[aT * 2];var bj = a5 - a5 * aJ[aT * 2 + 1];var a3 = Math.atan2(bw - aQ, bx - aS);var a0 = Math.atan2(bp - aK, br - aL);var aO = br - aL;var aN = bp - aK;var bi = Math.sqrt(aO * aO + aN * aN);var aU = bx - aS;var aR = bw - aQ;var bt = Math.sqrt(aU * aU + aR * aR);var bv = bi / bt;ad._$ni(bk, bj, aS, aQ, bx - aS, bw - aQ, -(bw - aQ), bx - aS, aI);ad._$ni(bh, bf, aL, aK, br - aL, bp - aK, -(bp - aK), br - aL, aH);var aY = (aH[0] - aI[0]) / aI[1];var bs = Math.min(aS, bx, bk);var bg = Math.max(aS, bx, bk);var bq = Math.min(aQ, bw, bj);var be = Math.max(aQ, bw, bj);var bo = Math.floor(bs);var bb = Math.floor(bq);var a4 = Math.ceil(bg);var bC = Math.ceil(be);bD.identity();bD.translate(aL, aK);bD.rotate(a0);bD.scale(1, aH[1] / aI[1]);bD.shear(aY, 0);bD.scale(bv, bv);bD.rotate(-a3);bD.translate(-aS, -aQ);bD.setContext(bE);var a8 = true;var a9 = 1.2;if (!aM) {\n aM = a8 ? a9 : 0;\n }if (Q.IGNORE_EXPAND) {\n aM = 0;\n }if (Q.USE_CACHED_POLYGON_IMAGE) {\n var bd = bz._$e0;bd.gl_cacheImage = bd.gl_cacheImage || {};if (!bd.gl_cacheImage[by]) {\n var bn = au.createCanvas(a4 - bo, bC - bb);Q.DEBUG_DATA.LDGL_CANVAS_MB = Q.DEBUG_DATA.LDGL_CANVAS_MB || 0;Q.DEBUG_DATA.LDGL_CANVAS_MB += (a4 - bo) * (bC - bb) * 4;var ba = bn.getContext(\"2d\");ba.translate(-bo, -bb);au.clip(ba, bD, aM, bi, aS, aQ, bx, bw, bk, bj, aL, aK, br, bp, bh, bf);ba.drawImage(bc, 0, 0);bd.gl_cacheImage[by] = { cacheCanvas: bn, cacheContext: ba };\n }bE.drawImage(bd.gl_cacheImage[by][\"cacheCanvas\"], bo, bb);\n } else {\n if (!Q.IGNORE_CLIP) {\n au.clip(bE, bD, aM, bi, aS, aQ, bx, bw, bk, bj, aL, aK, br, bp, bh, bf);\n }if (Q.USE_ADJUST_TRANSLATION) {\n bs = 0;bg = aP;bq = 0;be = a5;\n }bE.drawImage(bc, bs, bq, bg - bs, be - bq, bs, bq, bg - bs, be - bq);\n }bE.restore();\n }\n } catch (bB) {\n q._$Rb(bB);\n }\n };au.clip = function (aK, aJ, aV, aI, aM, aL, aU, aT, aQ, aP, aO, aN, aH, aW, aS, aR) {\n if (aV > 0.02) {\n au.expandClip(aK, aJ, aV, aI, aO, aN, aH, aW, aS, aR);\n } else {\n au.clipWithTransform(aK, null, aM, aL, aU, aT, aQ, aP);\n }\n };au.expandClip = function (aV, bg, aK, a3, aJ, aI, be, ba, aZ, aX) {\n var aP = be - aJ;var aO = ba - aI;var bi = aZ - aJ;var bh = aX - aI;var bj = aP * bh - aO * bi > 0 ? aK : -aK;var aL = -aO;var aH = aP;var bc = aZ - be;var a8 = aX - ba;var a7 = -a8;var a6 = bc;var aQ = Math.sqrt(bc * bc + a8 * a8);var bf = -bh;var bb = bi;var a2 = Math.sqrt(bi * bi + bh * bh);var bd = aJ - bj * aL / a3;var a9 = aI - bj * aH / a3;var aY = be - bj * aL / a3;var aW = ba - bj * aH / a3;var a5 = be - bj * a7 / aQ;var a4 = ba - bj * a6 / aQ;var aS = aZ - bj * a7 / aQ;var aR = aX - bj * a6 / aQ;var aN = aJ + bj * bf / a2;var aM = aI + bj * bb / a2;var a1 = aZ + bj * bf / a2;var a0 = aX + bj * bb / a2;var aU = au._$50;var aT = bg._$P2(aU);if (aT == null) {\n return false;\n }au.clipWithTransform(aV, aU, bd, a9, aY, aW, a5, a4, aS, aR, a1, a0, aN, aM);return true;\n };au.clipWithTransform = function (aH, aI, aS, aN, aQ, aK, aP, aJ) {\n if (arguments.length < 1 + 3 * 2) {\n q._$li(\"err : @LDGL.clip()\");return;\n }if (!(arguments[1] instanceof am)) {\n q._$li(\"err : a[0] is _$6 LDTransform @LDGL.clip()\");return;\n }var aM = au._$B;var aO = aI;var aR = arguments;aH.beginPath();if (aO) {\n aO._$PS(aR[2], aR[3], aM);aH.moveTo(aM[0], aM[1]);for (var aL = 4; aL < aR.length; aL += 2) {\n aO._$PS(aR[aL], aR[aL + 1], aM);aH.lineTo(aM[0], aM[1]);\n }\n } else {\n aH.moveTo(aR[2], aR[3]);for (var aL = 4; aL < aR.length; aL += 2) {\n aH.lineTo(aR[aL], aR[aL + 1]);\n }\n }aH.clip();\n };au.createCanvas = function (aH, aJ) {\n var aI = document.createElement(\"canvas\");aI.setAttribute(\"width\", aH);aI.setAttribute(\"height\", aJ);if (!aI) {\n q._$li(\"err : \" + aI);\n }return aI;\n };au.dumpValues = function () {\n var aI = \"\";for (var aH = 0; aH < arguments.length; aH++) {\n aI += \"[\" + aH + \"]= \" + arguments[aH].toFixed(3) + \" , \";\n }console.log(aI);\n };function f() {\n if (j) {\n return;\n }this._$TT = null;this._$LT = null;this._$FS = null;this._$wL = null;\n }f.prototype._$F0 = function (aH) {\n this._$TT = aH._$_T();this._$LT = aH._$_T();this._$FS = aH._$_T();this._$wL = aH._$nP();\n };f.prototype.getMinValue = function () {\n return this._$TT;\n };f.prototype.getMaxValue = function () {\n return this._$LT;\n };f.prototype.getDefaultValue = function () {\n return this._$FS;\n };f.prototype.getParamID = function () {\n return this._$wL;\n };function B(aH) {\n if (j) {\n return;\n }this._$e0 = null;this._$IP = null;this._$JS = false;this._$AT = true;this._$e0 = aH;this.totalScale = 1;this._$7s = 1;this.totalOpacity = 1;\n }B.prototype._$yo = function () {\n return this._$AT && !this._$JS;\n };B.prototype._$hS = function (aH) {\n this._$AT = aH;\n };B.prototype._$GT = function () {\n return this._$e0;\n };B.prototype._$l2 = function (aH) {\n this._$IP = aH;\n };B.prototype.getPartsIndex = function () {\n return this._$IP;\n };B.prototype._$x2 = function () {\n return this._$JS;\n };B.prototype._$Ib = function (aH) {\n this._$JS = aH;\n };B.prototype.getTotalScale = function () {\n return this.totalScale;\n };B.prototype.setTotalScale_notForClient = function (aH) {\n this.totalScale = aH;\n };B.prototype.getInterpolatedOpacity = function () {\n return this._$7s;\n };B.prototype.setInterpolatedOpacity = function (aH) {\n this._$7s = aH;\n };B.prototype.getTotalOpacity = function (aH) {\n return this.totalOpacity;\n };B.prototype.setTotalOpacity = function (aH) {\n this.totalOpacity = aH;\n };function Q() {}Q._$2s = \"2.1.00_1\";Q._$Kr = 201001000;Q._$sP = true;Q._$so = true;Q._$cb = false;Q._$3T = true;Q._$Ts = true;Q._$fb = true;Q._$ts = true;Q.L2D_DEFORMER_EXTEND = true;Q._$Wb = false;Q._$yr = false;Q._$Zs = false;Q.L2D_NO_ERROR = 0;Q._$i7 = 1000;Q._$9s = 1001;Q._$es = 1100;Q._$r7 = 2000;Q._$07 = 2001;Q._$b7 = 2002;Q._$H7 = 4000;Q.L2D_COLOR_BLEND_MODE_MULT = 0;Q.L2D_COLOR_BLEND_MODE_ADD = 1;Q.L2D_COLOR_BLEND_MODE_INTERPOLATE = 2;Q._$6b = true;Q._$cT = 0;Q.clippingMaskBufferSize = 256;Q.glContext = new Array();Q.frameBuffers = new Array();Q.fTexture = new Array();Q.IGNORE_CLIP = false;Q.IGNORE_EXPAND = false;Q.EXPAND_W = 2;Q.USE_ADJUST_TRANSLATION = true;Q.USE_CANVAS_TRANSFORM = true;Q.USE_CACHED_POLYGON_IMAGE = false;Q.DEBUG_DATA = {};Q.PROFILE_IOS_SPEED = { PROFILE_NAME: \"iOS Speed\", USE_ADJUST_TRANSLATION: true, USE_CACHED_POLYGON_IMAGE: true, EXPAND_W: 4 };Q.PROFILE_IOS_QUALITY = { PROFILE_NAME: \"iOS HiQ\", USE_ADJUST_TRANSLATION: true, USE_CACHED_POLYGON_IMAGE: false, EXPAND_W: 2 };Q.PROFILE_IOS_DEFAULT = Q.PROFILE_IOS_QUALITY;Q.PROFILE_ANDROID = { PROFILE_NAME: \"Android\", USE_ADJUST_TRANSLATION: false, USE_CACHED_POLYGON_IMAGE: false, EXPAND_W: 2 };Q.PROFILE_DESKTOP = { PROFILE_NAME: \"Desktop\", USE_ADJUST_TRANSLATION: false, USE_CACHED_POLYGON_IMAGE: false, EXPAND_W: 2 };Q.initProfile = function () {\n if (r.isIOS()) {\n Q.setupProfile(Q.PROFILE_IOS_DEFAULT);\n } else {\n if (r.isAndroid()) {\n Q.setupProfile(Q.PROFILE_ANDROID);\n } else {\n Q.setupProfile(Q.PROFILE_DESKTOP);\n }\n }\n };Q.setupProfile = function (aI, aJ) {\n if (typeof aI == \"number\") {\n switch (aI) {case 9901:\n aI = Q.PROFILE_IOS_SPEED;break;case 9902:\n aI = Q.PROFILE_IOS_QUALITY;break;case 9903:\n aI = Q.PROFILE_IOS_DEFAULT;break;case 9904:\n aI = Q.PROFILE_ANDROID;break;case 9905:\n aI = Q.PROFILE_DESKTOP;break;default:\n alert(\"profile _$6 _$Ui : \" + aI);break;}\n }if (arguments.length < 2) {\n aJ = true;\n }if (aJ) {\n console.log(\"profile : \" + aI.PROFILE_NAME);\n }for (var aH in aI) {\n Q[aH] = aI[aH];if (aJ) {\n console.log(\" [\" + aH + \"] = \" + aI[aH]);\n }\n }\n };Q.init = function () {\n if (Q._$6b) {\n console.log(\"Live2D %s\", Q._$2s);Q._$6b = false;var aH = false;aH = true;Q.initProfile();\n }\n };Q.getVersionStr = function () {\n return Q._$2s;\n };Q.getVersionNo = function () {\n return Q._$Kr;\n };Q._$sT = function (aH) {\n Q._$cT = aH;\n };Q.getError = function () {\n var aH = Q._$cT;Q._$cT = 0;return aH;\n };Q.dispose = function () {\n Q.glContext = [];Q.frameBuffers = [];Q.fTexture = [];\n };Q.setGL = function (aJ, aI) {\n var aH = aI || 0;Q.glContext[aH] = aJ;\n };Q.getGL = function (aH) {\n return Q.glContext[aH];\n };Q.setClippingMaskBufferSize = function (aH) {\n Q.clippingMaskBufferSize = aH;\n };Q.getClippingMaskBufferSize = function () {\n return Q.clippingMaskBufferSize;\n };Q.deleteBuffer = function (aI) {\n var aH = Q.getGL(aI);aH.deleteFramebuffer(Q.frameBuffers[aI].framebuffer);delete Q.frameBuffers[aI];delete Q.glContext[aI];\n };function A() {}A._$r2 = function (aH) {\n if (aH < 0) {\n return 0;\n } else {\n if (aH > 1) {\n return 1;\n }\n }return 0.5 - 0.5 * Math.cos(aH * aC.PI_F);\n };function J(aH) {\n if (j) {\n return;\n }this._$ib = aH;\n }J._$fr = -1;J.prototype.toString = function () {\n return this._$ib;\n };function b() {\n if (j) {\n return;\n }a.prototype.constructor.call(this);this._$LP = -1;this._$d0 = 0;this._$Yo = 0;this._$JP = null;this._$5P = null;this._$BP = null;this._$Eo = null;this._$Qi = null;this._$6s = b._$ms;this.culling = true;this.gl_cacheImage = null;this.instanceNo = b._$42++;\n }b.prototype = new a();b._$42 = 0;b._$Os = 30;b._$ms = 0;b._$ns = 1;b._$_s = 2;b._$gT = new Array();b.prototype._$_S = function (aH) {\n this._$LP = aH;\n };b.prototype.getTextureNo = function () {\n return this._$LP;\n };b.prototype._$ZL = function () {\n return this._$Qi;\n };b.prototype._$H2 = function () {\n return this._$JP;\n };b.prototype.getNumPoints = function () {\n return this._$d0;\n };b.prototype.getType = function () {\n return a._$wb;\n };b.prototype._$B2 = function (aL, aH, aO) {\n var aM = aH;var aN = aM._$hr != null ? aM._$hr : aM._$Cr;var aK = aw._$do;switch (aK) {default:case aw._$Ms:\n throw new Error(\"_$L _$ro \");case aw._$Qs:\n for (var aJ = this._$d0 - 1; aJ >= 0; --aJ) {\n var aI = aJ * aw._$No;aN[aI + 4] = aO;\n }break;}\n };b.prototype._$zP = function () {\n this._$GS = new g();this._$GS._$zP();\n };b.prototype._$F0 = function (aK) {\n a.prototype._$F0.call(this, aK);this._$LP = aK._$6L();this._$d0 = aK._$6L();this._$Yo = aK._$6L();var aH = aK._$nP();this._$BP = new Int16Array(this._$Yo * 3);for (var aJ = this._$Yo * 3 - 1; aJ >= 0; --aJ) {\n this._$BP[aJ] = aH[aJ];\n }this._$Eo = aK._$nP();this._$Qi = aK._$nP();if (aK.getFormatVersion() >= ay._$s7) {\n this._$JP = aK._$6L();if (this._$JP != 0) {\n if ((this._$JP & 1) != 0) {\n var aI = aK._$6L();if (this._$5P == null) {\n this._$5P = new Object();\n }this._$5P._$Hb = parseInt(aI);\n }if ((this._$JP & b._$Os) != 0) {\n this._$6s = (this._$JP & b._$Os) >> 1;\n } else {\n this._$6s = b._$ms;\n }if ((this._$JP & 32) != 0) {\n this.culling = false;\n }\n }\n } else {\n this._$JP = 0;\n }\n };b.prototype.init = function (aL) {\n var aN = new ag(this);var aI = this._$d0 * aw._$No;var aH = this._$32();if (aN._$Cr != null) {\n aN._$Cr = null;\n }aN._$Cr = new Float32Array(aI);if (aN._$hr != null) {\n aN._$hr = null;\n }aN._$hr = aH ? new Float32Array(aI) : null;var aM = aw._$do;switch (aM) {default:case aw._$Ms:\n if (aw._$Ls) {\n for (var aJ = this._$d0 - 1; aJ >= 0; --aJ) {\n var aO = aJ << 1;this._$Qi[aO + 1] = 1 - this._$Qi[aO + 1];\n }\n }break;case aw._$Qs:\n for (var aJ = this._$d0 - 1; aJ >= 0; --aJ) {\n var aO = aJ << 1;var aK = aJ * aw._$No;var aQ = this._$Qi[aO];var aP = this._$Qi[aO + 1];aN._$Cr[aK] = aQ;aN._$Cr[aK + 1] = aP;aN._$Cr[aK + 4] = 0;if (aH) {\n aN._$hr[aK] = aQ;aN._$hr[aK + 1] = aP;aN._$hr[aK + 4] = 0;\n }\n }break;}return aN;\n };b.prototype._$Nr = function (aJ, aH) {\n var aK = aH;if (!(this == aK._$GT())) {\n console.log(\"### assert!! ### \");\n }if (!this._$GS._$Ur(aJ)) {\n return;\n }a.prototype._$Nr.call(this, aJ, aK);if (aK._$IS[0]) {\n return;\n }var aI = b._$gT;aI[0] = false;aG._$Vr(aJ, this._$GS, aI, this._$d0, this._$Eo, aK._$Cr, aw._$i2, aw._$No);\n };b.prototype._$2b = function (aK, aI) {\n try {\n if (!(this == aI._$GT())) {\n console.log(\"### assert!! ### \");\n }var aL = false;if (aI._$IS[0]) {\n aL = true;\n }var aM = aI;if (!aL) {\n a.prototype._$2b.call(this, aK);if (this._$32()) {\n var aH = this.getTargetBaseDataID();if (aM._$8r == a._$ur) {\n aM._$8r = aK.getBaseDataIndex(aH);\n }if (aM._$8r < 0) {\n if (Q._$so) {\n q._$li(\"_$L _$0P _$G :: %s\", aH);\n }\n } else {\n var aO = aK.getBaseData(aM._$8r);var aJ = aK._$q2(aM._$8r);if (aO != null && !aJ._$x2()) {\n aO._$nb(aK, aJ, aM._$Cr, aM._$hr, this._$d0, aw._$i2, aw._$No);aM._$AT = true;\n } else {\n aM._$AT = false;\n }aM.baseOpacity = aJ.getTotalOpacity();\n }\n }\n }\n } catch (aN) {\n throw aN;\n }\n };b.prototype.draw = function (aN, aK, aI) {\n if (!(this == aI._$GT())) {\n console.log(\"### assert!! ### \");\n }if (aI._$IS[0]) {\n return;\n }var aL = aI;var aJ = this._$LP;if (aJ < 0) {\n aJ = 1;\n }var aH = this.getOpacity(aK, aL) * aI._$VS * aI.baseOpacity;var aM = aL._$hr != null ? aL._$hr : aL._$Cr;aN.setClipBufPre_clipContextForDraw(aI.clipBufPre_clipContext);aN._$WP(this.culling);aN._$Uo(aJ, 3 * this._$Yo, this._$BP, aM, this._$Qi, aH, this._$6s, aL);\n };b.prototype.dump = function () {\n console.log(\" _$yi( %d ) , _$d0( %d ) , _$Yo( %d ) \\n\", this._$LP, this._$d0, this._$Yo);console.log(\" _$Oi _$di = { \");for (var aJ = 0; aJ < this._$BP.length; aJ++) {\n console.log(\"%5d ,\", this._$BP[aJ]);\n }console.log(\"\\n _$5i _$30\");for (var aJ = 0; aJ < this._$Eo.length; aJ++) {\n console.log(\"\\n _$30[%d] = \", aJ);var aH = this._$Eo[aJ];for (var aI = 0; aI < aH.length; aI++) {\n console.log(\"%6.2f, \", aH[aI]);\n }\n }console.log(\"\\n\");\n };b.prototype._$72 = function (aH) {\n if (this._$5P == null) {\n return null;\n }return this._$5P[aH];\n };b.prototype.getIndexArray = function () {\n return this._$BP;\n };function ag(aH) {\n aB.prototype.constructor.call(this, aH);this._$8r = a._$ur;this._$Cr = null;this._$hr = null;\n }ag.prototype = new aB();ag.prototype.getTransformedPoints = function () {\n return this._$hr != null ? this._$hr : this._$Cr;\n };function k() {\n if (j) {\n return;\n }this.x = null;this.y = null;\n }k.prototype._$HT = function (aH) {\n this.x = aH.x;this.y = aH.y;\n };k.prototype._$HT = function (aH, aI) {\n this.x = aH;this.y = aI;\n };function l(aH) {\n if (j) {\n return;\n }aa.prototype.constructor.call(this);this.drawParamWebGL = new C(aH);this.drawParamWebGL.setGL(Q.getGL(aH));\n }l.prototype = new aa();l.loadModel = function (aI) {\n var aH = new l();aa._$62(aH, aI);return aH;\n };l.loadModel = function (aI, aK) {\n var aJ = aK || 0;var aH = new l(aJ);aa._$62(aH, aI);return aH;\n };l._$to = function () {\n var aH = new l();return aH;\n };l._$er = function (aM) {\n var aJ = new _$5(\"../_$_r/_$t0/_$Ri/_$_P._$d\");if (aJ.exists() == false) {\n throw new _$ls(\"_$t0 _$_ _$6 _$Ui :: \" + aJ._$PL());\n }var aH = [\"../_$_r/_$t0/_$Ri/_$_P.512/_$CP._$1\", \"../_$_r/_$t0/_$Ri/_$_P.512/_$vP._$1\", \"../_$_r/_$t0/_$Ri/_$_P.512/_$EP._$1\", \"../_$_r/_$t0/_$Ri/_$_P.512/_$pP._$1\"];var aK = l.loadModel(aJ._$3b());for (var aI = 0; aI < aH.length; aI++) {\n var aL = new _$5(aH[aI]);if (aL.exists() == false) {\n throw new _$ls(\"_$t0 _$_ _$6 _$Ui :: \" + aL._$PL());\n }aK.setTexture(aI, _$nL._$_o(aM, aL._$3b()));\n }return aK;\n };l.prototype.setGL = function (aH) {\n Q.setGL(aH);\n };l.prototype.setTransform = function (aH) {\n this.drawParamWebGL.setTransform(aH);\n };l.prototype.update = function () {\n this._$5S.update();this._$5S.preDraw(this.drawParamWebGL);\n };l.prototype.draw = function () {\n this._$5S.draw(this.drawParamWebGL);\n };l.prototype._$K2 = function () {\n this.drawParamWebGL._$K2();\n };l.prototype.setTexture = function (aI, aH) {\n if (this.drawParamWebGL == null) {\n q._$li(\"_$Yi for QT _$ki / _$XS() is _$6 _$ui!!\");\n }this.drawParamWebGL.setTexture(aI, aH);\n };l.prototype.setTexture = function (aI, aH) {\n if (this.drawParamWebGL == null) {\n q._$li(\"_$Yi for QT _$ki / _$XS() is _$6 _$ui!!\");\n }this.drawParamWebGL.setTexture(aI, aH);\n };l.prototype._$Rs = function () {\n return this.drawParamWebGL._$Rs();\n };l.prototype._$Ds = function (aH) {\n this.drawParamWebGL._$Ds(aH);\n };l.prototype.getDrawParam = function () {\n return this.drawParamWebGL;\n };l.prototype.setMatrix = function (aH) {\n this.drawParamWebGL.setMatrix(aH);\n };l.prototype.setPremultipliedAlpha = function (aH) {\n this.drawParamWebGL.setPremultipliedAlpha(aH);\n };l.prototype.isPremultipliedAlpha = function () {\n return this.drawParamWebGL.isPremultipliedAlpha();\n };l.prototype.setAnisotropy = function (aH) {\n this.drawParamWebGL.setAnisotropy(aH);\n };l.prototype.getAnisotropy = function () {\n return this.drawParamWebGL.getAnisotropy();\n };function V() {\n if (j) {\n return;\n }this.motions = null;this._$eb = false;this.motions = new Array();\n }V.prototype._$tb = function () {\n return this.motions;\n };V.prototype.startMotion = function (aJ, aI) {\n var aM = null;var aL = null;var aH = this.motions.length;for (var aK = 0; aK < aH; ++aK) {\n aL = this.motions[aK];if (aL == null) {\n continue;\n }aL._$qS(aL._$w0.getFadeOut());if (this._$eb) {\n q._$Ji(\"MotionQueueManager[size:%2d]->startMotion() / start _$K _$3 (m%d)\\n\", aH, aL._$sr);\n }\n }if (aJ == null) {\n return -1;\n }aL = new M();aL._$w0 = aJ;this.motions.push(aL);var aN = aL._$sr;if (this._$eb) {\n q._$Ji(\"MotionQueueManager[size:%2d]->startMotion() / new _$w0 (m%d)\\n\", aH, aN);\n }return aN;\n };V.prototype.updateParam = function (aJ) {\n try {\n var aI = false;for (var aK = 0; aK < this.motions.length; aK++) {\n var aL = this.motions[aK];if (aL == null) {\n this.motions.splice(aK, 1);aK--;continue;\n }var aH = aL._$w0;if (aH == null) {\n this.motions = this.motions.splice(aK, 1);aK--;continue;\n }aH.updateParam(aJ, aL);aI = true;if (aL.isFinished()) {\n if (this._$eb) {\n q._$Ji(\"MotionQueueManager[size:%2d]->updateParam() / _$T0 _$w0 (m%d)\\n\", this.motions.length - 1, aL._$sr);\n }this.motions.splice(aK, 1);aK--;\n } else {}\n }return aI;\n } catch (aM) {\n q._$li(aM);return true;\n }\n };V.prototype.isFinished = function (aK) {\n if (arguments.length >= 1) {\n for (var aI = 0; aI < this.motions.length; aI++) {\n var aJ = this.motions[aI];if (aJ == null) {\n continue;\n }if (aJ._$sr == aK && !aJ.isFinished()) {\n return false;\n }\n }return true;\n } else {\n for (var aI = 0; aI < this.motions.length; aI++) {\n var aJ = this.motions[aI];if (aJ == null) {\n this.motions.splice(aI, 1);aI--;continue;\n }var aH = aJ._$w0;if (aH == null) {\n this.motions.splice(aI, 1);aI--;continue;\n }if (!aJ.isFinished()) {\n return false;\n }\n }return true;\n }\n };V.prototype.stopAllMotions = function () {\n for (var aI = 0; aI < this.motions.length; aI++) {\n var aJ = this.motions[aI];if (aJ == null) {\n this.motions.splice(aI, 1);aI--;continue;\n }var aH = aJ._$w0;if (aH == null) {\n this.motions.splice(aI, 1);aI--;continue;\n }if (true) {\n this.motions.splice(aI, 1);aI--;\n }\n }\n };V.prototype._$Zr = function (aH) {\n this._$eb = aH;\n };V.prototype._$e = function () {\n console.log(\"-- _$R --\\n\");for (var aH = 0; aH < this.motions.length; aH++) {\n var aI = this.motions[aH];var aJ = aI._$w0;console.log(\"MotionQueueEnt[%d] :: %s\\n\", this.motions.length, aJ.toString());\n }\n };function M() {\n this._$w0 = null;this._$AT = true;this._$9L = false;this._$z2 = -1;this._$bs = -1;this._$Do = -1;this._$sr = null;this._$sr = M._$Gs++;\n }M._$Gs = 0;M.prototype.isFinished = function () {\n return this._$9L;\n };M.prototype._$qS = function (aJ) {\n var aI = P.getUserTimeMSec();var aH = aI + aJ;if (this._$Do < 0 || aH < this._$Do) {\n this._$Do = aH;\n }\n };M.prototype._$Bs = function () {\n return this._$sr;\n };function am() {\n this.m = new Array(1, 0, 0, 0, 1, 0, 0, 0, 1);\n }am.prototype.setContext = function (aI) {\n var aH = this.m;aI.transform(aH[0], aH[1], aH[3], aH[4], aH[6], aH[7]);\n };am.prototype.toString = function () {\n var aI = \"LDTransform { \";for (var aH = 0; aH < 9; aH++) {\n aI += this.m[aH].toFixed(2) + \" ,\";\n }aI += \" }\";return aI;\n };am.prototype.identity = function () {\n var aH = this.m;aH[0] = aH[4] = aH[8] = 1;aH[1] = aH[2] = aH[3] = aH[5] = aH[6] = aH[7] = 0;\n };am.prototype._$PS = function (aI, aK, aJ) {\n if (aJ == null) {\n aJ = new Array(0, 0);\n }var aH = this.m;aJ[0] = aH[0] * aI + aH[3] * aK + aH[6];aJ[1] = aH[1] * aI + aH[4] * aK + aH[7];return aJ;\n };am.prototype._$P2 = function (aK) {\n if (!aK) {\n aK = new am();\n }var aI = this.m;var aT = aI[0];var aS = aI[1];var aR = aI[2];var aQ = aI[3];var aP = aI[4];var aO = aI[5];var aN = aI[6];var aM = aI[7];var aL = aI[8];var aJ = aT * aP * aL + aS * aO * aN + aR * aQ * aM - aT * aO * aM - aR * aP * aN - aS * aQ * aL;if (aJ == 0) {\n return null;\n } else {\n var aH = 1 / aJ;aK.m[0] = aH * (aP * aL - aM * aO);aK.m[1] = aH * (aM * aR - aS * aL);aK.m[2] = aH * (aS * aO - aP * aR);aK.m[3] = aH * (aN * aO - aQ * aL);aK.m[4] = aH * (aT * aL - aN * aR);aK.m[5] = aH * (aQ * aR - aT * aO);aK.m[6] = aH * (aQ * aM - aN * aP);aK.m[7] = aH * (aN * aS - aT * aM);aK.m[8] = aH * (aT * aP - aQ * aS);return aK;\n }\n };am.prototype.transform = function (aI, aK, aJ) {\n if (aJ == null) {\n aJ = new Array(0, 0);\n }var aH = this.m;aJ[0] = aH[0] * aI + aH[3] * aK + aH[6];aJ[1] = aH[1] * aI + aH[4] * aK + aH[7];return aJ;\n };am.prototype.translate = function (aI, aJ) {\n var aH = this.m;aH[6] = aH[0] * aI + aH[3] * aJ + aH[6];aH[7] = aH[1] * aI + aH[4] * aJ + aH[7];aH[8] = aH[2] * aI + aH[5] * aJ + aH[8];\n };am.prototype.scale = function (aJ, aI) {\n var aH = this.m;aH[0] *= aJ;aH[1] *= aJ;aH[2] *= aJ;aH[3] *= aI;aH[4] *= aI;aH[5] *= aI;\n };am.prototype.shear = function (aM, aL) {\n var aH = this.m;var aK = aH[0] + aH[3] * aL;var aJ = aH[1] + aH[4] * aL;var aI = aH[2] + aH[5] * aL;aH[3] = aH[0] * aM + aH[3];aH[4] = aH[1] * aM + aH[4];aH[5] = aH[2] * aM + aH[5];aH[0] = aK;aH[1] = aJ;aH[2] = aI;\n };am.prototype.rotate = function (aM) {\n var aH = this.m;var aN = Math.cos(aM);var aL = Math.sin(aM);var aK = aH[0] * aN + aH[3] * aL;var aJ = aH[1] * aN + aH[4] * aL;var aI = aH[2] * aN + aH[5] * aL;aH[3] = -aH[0] * aL + aH[3] * aN;aH[4] = -aH[1] * aL + aH[4] * aN;aH[5] = -aH[2] * aL + aH[5] * aN;aH[0] = aK;aH[1] = aJ;aH[2] = aI;\n };am.prototype.concatenate = function (aL) {\n var aO = this.m;var aM = aL.m;var aS = aO[0] * aM[0] + aO[3] * aM[1] + aO[6] * aM[2];var aR = aO[1] * aM[0] + aO[4] * aM[1] + aO[7] * aM[2];var aQ = aO[2] * aM[0] + aO[5] * aM[1] + aO[8] * aM[2];var aP = aO[0] * aM[3] + aO[3] * aM[4] + aO[6] * aM[5];var aN = aO[1] * aM[3] + aO[4] * aM[4] + aO[7] * aM[5];var aK = aO[2] * aM[3] + aO[5] * aM[4] + aO[8] * aM[5];var aJ = aO[0] * aM[6] + aO[3] * aM[7] + aO[6] * aM[8];var aI = aO[1] * aM[6] + aO[4] * aM[7] + aO[7] * aM[8];var aH = aO[2] * aM[6] + aO[5] * aM[7] + aO[8] * aM[8];m[0] = aS;m[1] = aR;m[2] = aQ;m[3] = aP;m[4] = aN;m[5] = aK;m[6] = aJ;m[7] = aI;m[8] = aH;\n };function n(aH) {\n if (j) {\n return;\n }ak.prototype.constructor.call(this, aH);\n }n.prototype = new ak();n._$eT = null;n._$tP = new Object();n._$2o = function () {\n if (n._$eT == null) {\n n._$eT = n.getID(\"DST_BASE\");\n }return n._$eT;\n };n._$27 = function () {\n n._$tP.clear();n._$eT = null;\n };n.getID = function (aH) {\n var aI = n._$tP[aH];if (aI == null) {\n aI = new n(aH);n._$tP[aH] = aI;\n }return aI;\n };n.prototype._$3s = function () {\n return new n();\n };function C(aH) {\n if (j) {\n return;\n }ax.prototype.constructor.call(this);this.textures = new Array();this.transform = null;this.gl = null;this.glno = aH;this.firstDraw = true;this.anisotropyExt = null;this.maxAnisotropy = 0;this._$As = 32;this._$Gr = false;this._$NT = null;this._$vS = null;this._$no = null;this.vertShader = null;this.fragShader = null;this.vertShaderOff = null;this.fragShaderOff = null;\n }C.prototype = new ax();C._$9r = function (aH) {\n var aI = new Float32Array(aH);return aI;\n };C._$vb = function (aH) {\n var aI = new Int16Array(aH);return aI;\n };C._$cr = function (aI, aH) {\n if (aI == null || aI._$yL() < aH.length) {\n aI = C._$9r(aH.length * 2);aI.put(aH);aI._$oT(0);\n } else {\n aI.clear();aI.put(aH);aI._$oT(0);\n }return aI;\n };C._$mb = function (aI, aH) {\n if (aI == null || aI._$yL() < aH.length) {\n aI = C._$vb(aH.length * 2);aI.put(aH);aI._$oT(0);\n } else {\n aI.clear();aI.put(aH);aI._$oT(0);\n }return aI;\n };C._$Hs = function () {\n return this._$Gr;\n };C._$as = function (aH) {\n this._$Gr = aH;\n };C.prototype.getGL = function () {\n return this.gl;\n };C.prototype.setGL = function (aH) {\n this.gl = aH;\n };C.prototype.setTransform = function (aH) {\n this.transform = aH;\n };C.prototype._$ZT = function () {\n var aH = this.gl;if (this.firstDraw) {\n this.initShader();this.firstDraw = false;this.anisotropyExt = aH.getExtension(\"EXT_texture_filter_anisotropic\") || aH.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\") || aH.getExtension(\"MOZ_EXT_texture_filter_anisotropic\");if (this.anisotropyExt) {\n this.maxAnisotropy = aH.getParameter(this.anisotropyExt.MAX_TEXTURE_MAX_ANISOTROPY_EXT);\n }\n }aH.disable(aH.SCISSOR_TEST);aH.disable(aH.STENCIL_TEST);aH.disable(aH.DEPTH_TEST);aH.frontFace(aH.CW);aH.enable(aH.BLEND);aH.colorMask(1, 1, 1, 1);aH.bindBuffer(aH.ARRAY_BUFFER, null);aH.bindBuffer(aH.ELEMENT_ARRAY_BUFFER, null);\n };C.prototype._$Uo = function (aS, aT, aL, aU, aV, aN, aM, aO) {\n if (aN < 0.01 && this.clipBufPre_clipContextMask == null) {\n return;\n }var aH = aN > 0.9 ? Q.EXPAND_W : 0;var a0 = this.gl;if (this.gl == null) {\n throw new Error(\"gl is null\");\n }var a1 = false;var aQ = 1;var aP = 1;var a3 = 1;var aZ = 1;var aW = this._$C0 * aP * aN;var a2 = this._$tT * a3 * aN;var a5 = this._$WL * aZ * aN;var a7 = this._$lT * aN;if (this.clipBufPre_clipContextMask != null) {\n a0.frontFace(a0.CCW);a0.useProgram(this.shaderProgram);this._$vS = T(a0, this._$vS, aU);this._$no = L(a0, this._$no, aL);a0.enableVertexAttribArray(this.a_position_Loc);a0.vertexAttribPointer(this.a_position_Loc, 2, a0.FLOAT, false, 0, 0);this._$NT = T(a0, this._$NT, aV);a0.activeTexture(a0.TEXTURE1);a0.bindTexture(a0.TEXTURE_2D, this.textures[aS]);a0.uniform1i(this.s_texture0_Loc, 1);a0.enableVertexAttribArray(this.a_texCoord_Loc);a0.vertexAttribPointer(this.a_texCoord_Loc, 2, a0.FLOAT, false, 0, 0);a0.uniformMatrix4fv(this.u_matrix_Loc, false, this.getClipBufPre_clipContextMask().matrixForMask);var aY = this.getClipBufPre_clipContextMask().layoutChannelNo;var a4 = this.getChannelFlagAsColor(aY);a0.uniform4f(this.u_channelFlag, a4.r, a4.g, a4.b, a4.a);var aI = this.getClipBufPre_clipContextMask().layoutBounds;a0.uniform4f(this.u_baseColor_Loc, aI.x * 2 - 1, aI.y * 2 - 1, aI._$EL() * 2 - 1, aI._$5T() * 2 - 1);a0.uniform1i(this.u_maskFlag_Loc, true);\n } else {\n a1 = this.getClipBufPre_clipContextDraw() != null;if (a1) {\n a0.useProgram(this.shaderProgramOff);this._$vS = T(a0, this._$vS, aU);this._$no = L(a0, this._$no, aL);a0.enableVertexAttribArray(this.a_position_Loc_Off);a0.vertexAttribPointer(this.a_position_Loc_Off, 2, a0.FLOAT, false, 0, 0);this._$NT = T(a0, this._$NT, aV);a0.activeTexture(a0.TEXTURE1);a0.bindTexture(a0.TEXTURE_2D, this.textures[aS]);a0.uniform1i(this.s_texture0_Loc_Off, 1);a0.enableVertexAttribArray(this.a_texCoord_Loc_Off);a0.vertexAttribPointer(this.a_texCoord_Loc_Off, 2, a0.FLOAT, false, 0, 0);a0.uniformMatrix4fv(this.u_clipMatrix_Loc_Off, false, this.getClipBufPre_clipContextDraw().matrixForDraw);a0.uniformMatrix4fv(this.u_matrix_Loc_Off, false, this.matrix4x4);a0.activeTexture(a0.TEXTURE2);a0.bindTexture(a0.TEXTURE_2D, Q.fTexture[this.glno]);a0.uniform1i(this.s_texture1_Loc_Off, 2);var aY = this.getClipBufPre_clipContextDraw().layoutChannelNo;var a4 = this.getChannelFlagAsColor(aY);a0.uniform4f(this.u_channelFlag_Loc_Off, a4.r, a4.g, a4.b, a4.a);a0.uniform4f(this.u_baseColor_Loc_Off, aW, a2, a5, a7);\n } else {\n a0.useProgram(this.shaderProgram);this._$vS = T(a0, this._$vS, aU);this._$no = L(a0, this._$no, aL);a0.enableVertexAttribArray(this.a_position_Loc);a0.vertexAttribPointer(this.a_position_Loc, 2, a0.FLOAT, false, 0, 0);this._$NT = T(a0, this._$NT, aV);a0.activeTexture(a0.TEXTURE1);a0.bindTexture(a0.TEXTURE_2D, this.textures[aS]);a0.uniform1i(this.s_texture0_Loc, 1);a0.enableVertexAttribArray(this.a_texCoord_Loc);a0.vertexAttribPointer(this.a_texCoord_Loc, 2, a0.FLOAT, false, 0, 0);a0.uniformMatrix4fv(this.u_matrix_Loc, false, this.matrix4x4);a0.uniform4f(this.u_baseColor_Loc, aW, a2, a5, a7);a0.uniform1i(this.u_maskFlag_Loc, false);\n }\n }if (this.culling) {\n this.gl.enable(a0.CULL_FACE);\n } else {\n this.gl.disable(a0.CULL_FACE);\n }this.gl.enable(a0.BLEND);var a6;var aX;var aR;var aK;if (this.clipBufPre_clipContextMask != null) {\n a6 = a0.ONE;aX = a0.ONE_MINUS_SRC_ALPHA;aR = a0.ONE;aK = a0.ONE_MINUS_SRC_ALPHA;\n } else {\n switch (aM) {case b._$ms:\n a6 = a0.ONE;aX = a0.ONE_MINUS_SRC_ALPHA;aR = a0.ONE;aK = a0.ONE_MINUS_SRC_ALPHA;break;case b._$ns:\n a6 = a0.ONE;aX = a0.ONE;aR = a0.ZERO;aK = a0.ONE;break;case b._$_s:\n a6 = a0.DST_COLOR;aX = a0.ONE_MINUS_SRC_ALPHA;aR = a0.ZERO;aK = a0.ONE;break;}\n }a0.blendEquationSeparate(a0.FUNC_ADD, a0.FUNC_ADD);a0.blendFuncSeparate(a6, aX, aR, aK);if (this.anisotropyExt) {\n a0.texParameteri(a0.TEXTURE_2D, this.anisotropyExt.TEXTURE_MAX_ANISOTROPY_EXT, this.maxAnisotropy);\n }var aJ = aL.length;a0.drawElements(a0.TRIANGLES, aJ, a0.UNSIGNED_SHORT, 0);a0.bindTexture(a0.TEXTURE_2D, null);\n };function T(aJ, aH, aI) {\n if (aH == null) {\n aH = aJ.createBuffer();\n }aJ.bindBuffer(aJ.ARRAY_BUFFER, aH);aJ.bufferData(aJ.ARRAY_BUFFER, aI, aJ.DYNAMIC_DRAW);return aH;\n }function L(aJ, aH, aI) {\n if (aH == null) {\n aH = aJ.createBuffer();\n }aJ.bindBuffer(aJ.ELEMENT_ARRAY_BUFFER, aH);aJ.bufferData(aJ.ELEMENT_ARRAY_BUFFER, aI, aJ.DYNAMIC_DRAW);return aH;\n }C.prototype._$Rs = function () {\n throw new Error(\"_$Rs\");\n };C.prototype._$Ds = function (aH) {\n throw new Error(\"_$Ds\");\n };C.prototype._$K2 = function () {\n for (var aH = 0; aH < this.textures.length; aH++) {\n var aI = this.textures[aH];if (aI != 0) {\n this.gl._$K2(1, this.textures, aH);this.textures[aH] = null;\n }\n }\n };C.prototype.setTexture = function (aH, aI) {\n this.textures[aH] = aI;\n };C.prototype.initShader = function () {\n var aH = this.gl;this.loadShaders2();this.a_position_Loc = aH.getAttribLocation(this.shaderProgram, \"a_position\");this.a_texCoord_Loc = aH.getAttribLocation(this.shaderProgram, \"a_texCoord\");this.u_matrix_Loc = aH.getUniformLocation(this.shaderProgram, \"u_mvpMatrix\");this.s_texture0_Loc = aH.getUniformLocation(this.shaderProgram, \"s_texture0\");this.u_channelFlag = aH.getUniformLocation(this.shaderProgram, \"u_channelFlag\");this.u_baseColor_Loc = aH.getUniformLocation(this.shaderProgram, \"u_baseColor\");this.u_maskFlag_Loc = aH.getUniformLocation(this.shaderProgram, \"u_maskFlag\");this.a_position_Loc_Off = aH.getAttribLocation(this.shaderProgramOff, \"a_position\");this.a_texCoord_Loc_Off = aH.getAttribLocation(this.shaderProgramOff, \"a_texCoord\");this.u_matrix_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"u_mvpMatrix\");this.u_clipMatrix_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"u_ClipMatrix\");this.s_texture0_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"s_texture0\");this.s_texture1_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"s_texture1\");this.u_channelFlag_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"u_channelFlag\");this.u_baseColor_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"u_baseColor\");\n };C.prototype.disposeShader = function () {\n var aH = this.gl;if (this.shaderProgram) {\n aH.deleteProgram(this.shaderProgram);this.shaderProgram = null;\n }if (this.shaderProgramOff) {\n aH.deleteProgram(this.shaderProgramOff);this.shaderProgramOff = null;\n }\n };C.prototype.compileShader = function (aJ, aN) {\n var aM = this.gl;var aH;var aL = aN;var aK = aM.createShader(aJ);if (aK == null) {\n q._$Ji(\"_$L0 to create shader\");return null;\n }aM.shaderSource(aK, aL);aM.compileShader(aK);var aH = aM.getShaderParameter(aK, aM.COMPILE_STATUS);if (!aH) {\n var aI = aM.getShaderInfoLog(aK);q._$Ji(\"_$L0 to compile shader : \" + aI);aM.deleteShader(aK);return null;\n }return aK;\n };C.prototype.loadShaders2 = function () {\n var aN = this.gl;this.shaderProgram = aN.createProgram();if (!this.shaderProgram) {\n return false;\n }this.shaderProgramOff = aN.createProgram();if (!this.shaderProgramOff) {\n return false;\n }var aK = \"attribute vec4 a_position;attribute vec2 a_texCoord;varying vec2 v_texCoord;varying vec4 v_ClipPos;uniform mat4 u_mvpMatrix;void main(){ gl_Position = u_mvpMatrix * a_position; v_ClipPos = u_mvpMatrix * a_position; v_texCoord = a_texCoord;}\";var aM = \"precision mediump float;varying vec2 v_texCoord;varying vec4 v_ClipPos;uniform sampler2D s_texture0;uniform vec4 u_channelFlag;uniform vec4 u_baseColor;uniform bool u_maskFlag;void main(){ vec4 smpColor; if(u_maskFlag){ float isInside = step(u_baseColor.x, v_ClipPos.x/v_ClipPos.w) * step(u_baseColor.y, v_ClipPos.y/v_ClipPos.w) * step(v_ClipPos.x/v_ClipPos.w, u_baseColor.z) * step(v_ClipPos.y/v_ClipPos.w, u_baseColor.w); smpColor = u_channelFlag * texture2D(s_texture0 , v_texCoord).a * isInside; }else{ smpColor = texture2D(s_texture0 , v_texCoord) * u_baseColor; } gl_FragColor = smpColor;}\";var aL = \"attribute vec4 a_position;attribute vec2 a_texCoord;varying vec2 v_texCoord;varying vec4 v_ClipPos;uniform mat4 u_mvpMatrix;uniform mat4 u_ClipMatrix;void main(){ gl_Position = u_mvpMatrix * a_position; v_ClipPos = u_ClipMatrix * a_position; v_texCoord = a_texCoord ;}\";var aJ = \"precision mediump float ;varying vec2 v_texCoord;varying vec4 v_ClipPos;uniform sampler2D s_texture0;uniform sampler2D s_texture1;uniform vec4 u_channelFlag;uniform vec4 u_baseColor ;void main(){ vec4 col_formask = texture2D(s_texture0, v_texCoord) * u_baseColor; vec4 clipMask = texture2D(s_texture1, v_ClipPos.xy / v_ClipPos.w) * u_channelFlag; float maskVal = clipMask.r + clipMask.g + clipMask.b + clipMask.a; col_formask = col_formask * maskVal; gl_FragColor = col_formask;}\";this.vertShader = this.compileShader(aN.VERTEX_SHADER, aK);if (!this.vertShader) {\n q._$Ji(\"Vertex shader compile _$li!\");return false;\n }this.vertShaderOff = this.compileShader(aN.VERTEX_SHADER, aL);if (!this.vertShaderOff) {\n q._$Ji(\"OffVertex shader compile _$li!\");return false;\n }this.fragShader = this.compileShader(aN.FRAGMENT_SHADER, aM);if (!this.fragShader) {\n q._$Ji(\"Fragment shader compile _$li!\");return false;\n }this.fragShaderOff = this.compileShader(aN.FRAGMENT_SHADER, aJ);if (!this.fragShaderOff) {\n q._$Ji(\"OffFragment shader compile _$li!\");return false;\n }aN.attachShader(this.shaderProgram, this.vertShader);aN.attachShader(this.shaderProgram, this.fragShader);aN.attachShader(this.shaderProgramOff, this.vertShaderOff);aN.attachShader(this.shaderProgramOff, this.fragShaderOff);aN.linkProgram(this.shaderProgram);aN.linkProgram(this.shaderProgramOff);var aH = aN.getProgramParameter(this.shaderProgram, aN.LINK_STATUS);if (!aH) {\n var aI = aN.getProgramInfoLog(this.shaderProgram);q._$Ji(\"_$L0 to link program: \" + aI);if (this.vertShader) {\n aN.deleteShader(this.vertShader);this.vertShader = 0;\n }if (this.fragShader) {\n aN.deleteShader(this.fragShader);this.fragShader = 0;\n }if (this.shaderProgram) {\n aN.deleteProgram(this.shaderProgram);this.shaderProgram = 0;\n }if (this.vertShaderOff) {\n aN.deleteShader(this.vertShaderOff);this.vertShaderOff = 0;\n }if (this.fragShaderOff) {\n aN.deleteShader(this.fragShaderOff);this.fragShaderOff = 0;\n }if (this.shaderProgramOff) {\n aN.deleteProgram(this.shaderProgramOff);this.shaderProgramOff = 0;\n }return false;\n }return true;\n };C.prototype.createFramebuffer = function () {\n var aL = this.gl;var aK = Q.clippingMaskBufferSize;var aJ = aL.createFramebuffer();aL.bindFramebuffer(aL.FRAMEBUFFER, aJ);var aH = aL.createRenderbuffer();aL.bindRenderbuffer(aL.RENDERBUFFER, aH);aL.renderbufferStorage(aL.RENDERBUFFER, aL.RGBA4, aK, aK);aL.framebufferRenderbuffer(aL.FRAMEBUFFER, aL.COLOR_ATTACHMENT0, aL.RENDERBUFFER, aH);var aI = aL.createTexture();aL.bindTexture(aL.TEXTURE_2D, aI);aL.texImage2D(aL.TEXTURE_2D, 0, aL.RGBA, aK, aK, 0, aL.RGBA, aL.UNSIGNED_BYTE, null);aL.texParameteri(aL.TEXTURE_2D, aL.TEXTURE_MIN_FILTER, aL.LINEAR);aL.texParameteri(aL.TEXTURE_2D, aL.TEXTURE_MAG_FILTER, aL.LINEAR);aL.texParameteri(aL.TEXTURE_2D, aL.TEXTURE_WRAP_S, aL.CLAMP_TO_EDGE);aL.texParameteri(aL.TEXTURE_2D, aL.TEXTURE_WRAP_T, aL.CLAMP_TO_EDGE);aL.framebufferTexture2D(aL.FRAMEBUFFER, aL.COLOR_ATTACHMENT0, aL.TEXTURE_2D, aI, 0);aL.bindTexture(aL.TEXTURE_2D, null);aL.bindRenderbuffer(aL.RENDERBUFFER, null);aL.bindFramebuffer(aL.FRAMEBUFFER, null);Q.fTexture[this.glno] = aI;return { framebuffer: aJ, renderbuffer: aH, texture: Q.fTexture[this.glno] };\n };function K(aH) {\n if (j) {\n return;\n }this._$P = new Int8Array(8);this._$R0 = new DataView(this._$P.buffer);this._$3i = new Int8Array(1000);this._$hL = 0;this._$v0 = 0;this._$S2 = 0;this._$Ko = new Array();this._$T = aH;this._$F = 0;\n }K.prototype._$fP = function () {\n var aK = this._$ST();var aJ, aI, aH;if ((aK & 128) == 0) {\n return aK & 255;\n } else {\n if (((aJ = this._$ST()) & 128) == 0) {\n return (aK & 127) << 7 | aJ & 127;\n } else {\n if (((aI = this._$ST()) & 128) == 0) {\n return (aK & 127) << 14 | (aJ & 127) << 7 | aI & 255;\n } else {\n if (((aH = this._$ST()) & 128) == 0) {\n return (aK & 127) << 21 | (aJ & 127) << 14 | (aI & 127) << 7 | aH & 255;\n } else {\n throw new J(\"_$L _$0P _\");\n }\n }\n }\n }\n };K.prototype.getFormatVersion = function () {\n return this._$S2;\n };K.prototype._$gr = function (aH) {\n this._$S2 = aH;\n };K.prototype._$3L = function () {\n return this._$fP();\n };K.prototype._$mP = function () {\n this._$zT();this._$F += 8;return this._$T.getFloat64(this._$F - 8);\n };K.prototype._$_T = function () {\n this._$zT();this._$F += 4;return this._$T.getFloat32(this._$F - 4);\n };K.prototype._$6L = function () {\n this._$zT();this._$F += 4;return this._$T.getInt32(this._$F - 4);\n };K.prototype._$ST = function () {\n this._$zT();return this._$T.getInt8(this._$F++);\n };K.prototype._$9T = function () {\n this._$zT();this._$F += 2;return this._$T.getInt16(this._$F - 2);\n };K.prototype._$2T = function () {\n this._$zT();this._$F += 8;throw new J(\"_$L _$q read long\");\n };K.prototype._$po = function () {\n this._$zT();return this._$T.getInt8(this._$F++) != 0;\n };var O = true;K.prototype._$bT = function () {\n this._$zT();var aH = this._$3L();var aK = null;if (O) {\n try {\n var aM = new ArrayBuffer(aH * 2);aK = new Uint16Array(aM);for (var aJ = 0; aJ < aH; ++aJ) {\n aK[aJ] = this._$T.getUint8(this._$F++);\n }return String.fromCharCode.apply(null, aK);\n } catch (aL) {\n O = false;\n }\n }try {\n var aI = new Array();if (aK == null) {\n for (var aJ = 0; aJ < aH; ++aJ) {\n aI[aJ] = this._$T.getUint8(this._$F++);\n }\n } else {\n for (var aJ = 0; aJ < aH; ++aJ) {\n aI[aJ] = aK[aJ];\n }\n }return String.fromCharCode.apply(null, aI);\n } catch (aL) {\n console.log(\"read utf8 / _$rT _$L0 !! : \" + aL);\n }\n };K.prototype._$cS = function () {\n this._$zT();var aI = this._$3L();var aH = new Int32Array(aI);for (var aJ = 0; aJ < aI; aJ++) {\n aH[aJ] = this._$T.getInt32(this._$F);this._$F += 4;\n }return aH;\n };K.prototype._$Tb = function () {\n this._$zT();var aI = this._$3L();var aH = new Float32Array(aI);for (var aJ = 0; aJ < aI; aJ++) {\n aH[aJ] = this._$T.getFloat32(this._$F);this._$F += 4;\n }return aH;\n };K.prototype._$5b = function () {\n this._$zT();var aI = this._$3L();var aH = new Float64Array(aI);for (var aJ = 0; aJ < aI; aJ++) {\n aH[aJ] = this._$T.getFloat64(this._$F);this._$F += 8;\n }return aH;\n };K.prototype._$nP = function () {\n return this._$Jb(-1);\n };K.prototype._$Jb = function (aJ) {\n this._$zT();if (aJ < 0) {\n aJ = this._$3L();\n }if (aJ == ay._$7P) {\n var aH = this._$6L();if (0 <= aH && aH < this._$Ko.length) {\n return this._$Ko[aH];\n } else {\n throw new J(\"_$sL _$4i @_$m0\");\n }\n } else {\n var aI = this._$4b(aJ);this._$Ko.push(aI);return aI;\n }\n };K.prototype._$4b = function (aN) {\n if (aN == 0) {\n return null;\n }if (aN == 50) {\n var aK = this._$bT();var aI = Z.getID(aK);return aI;\n } else {\n if (aN == 51) {\n var aK = this._$bT();var aI = n.getID(aK);return aI;\n } else {\n if (aN == 134) {\n var aK = this._$bT();var aI = i.getID(aK);return aI;\n } else {\n if (aN == 60) {\n var aK = this._$bT();var aI = z.getID(aK);return aI;\n }\n }\n }\n }if (aN >= 48) {\n var aL = ay._$9o(aN);if (aL != null) {\n aL._$F0(this);return aL;\n } else {\n return null;\n }\n }switch (aN) {case 1:\n return this._$bT();case 10:\n var aM = this._$6L();return new I(aM, true);case 11:\n return new av(this._$mP(), this._$mP(), this._$mP(), this._$mP());case 12:\n return new av(this._$_T(), this._$_T(), this._$_T(), this._$_T());case 13:\n return new e(this._$mP(), this._$mP());case 14:\n return new e(this._$_T(), this._$_T());case 15:\n var aH = this._$3L();var aI = new Array(aH);for (var aJ = 0; aJ < aH; aJ++) {\n aI[aJ] = this._$nP();\n }return aI;case 17:\n var aI = new aD(this._$mP(), this._$mP(), this._$mP(), this._$mP(), this._$mP(), this._$mP());return aI;case 21:\n return new F(this._$6L(), this._$6L(), this._$6L(), this._$6L());case 22:\n return new k(this._$6L(), this._$6L());case 23:\n throw new Error(\"_$L _$ro \");case 16:case 25:\n return this._$cS();case 26:\n return this._$5b();case 27:\n return this._$Tb();case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 18:case 19:case 20:case 24:case 28:\n throw new J(\"_$6 _$q : _$nP() of 2-9 ,18,19,20,24,28 : \" + aN);default:\n throw new J(\"_$6 _$q : _$nP() NO _$i : \" + aN);}\n };K.prototype._$8L = function () {\n if (this._$hL == 0) {\n this._$v0 = this._$ST();\n } else {\n if (this._$hL == 8) {\n this._$v0 = this._$ST();this._$hL = 0;\n }\n }return (this._$v0 >> 7 - this._$hL++ & 1) == 1;\n };K.prototype._$zT = function () {\n if (this._$hL != 0) {\n this._$hL = 0;\n }\n };function ai() {}ai.prototype._$wP = function (aM, aI, aK) {\n for (var aL = 0; aL < aK; aL++) {\n for (var aH = 0; aH < aI; aH++) {\n var aJ = 2 * (aH + aL * aI);console.log(\"(% 7.3f , % 7.3f) , \", aM[aJ], aM[aJ + 1]);\n }console.log(\"\\n\");\n }console.log(\"\\n\");\n };function aC() {}aC._$2S = Math.PI / 180;aC._$bS = Math.PI / 180;aC._$wS = 180 / Math.PI;aC._$NS = 180 / Math.PI;aC.PI_F = Math.PI;aC._$kT = [0, 0.012368, 0.024734, 0.037097, 0.049454, 0.061803, 0.074143, 0.086471, 0.098786, 0.111087, 0.12337, 0.135634, 0.147877, 0.160098, 0.172295, 0.184465, 0.196606, 0.208718, 0.220798, 0.232844, 0.244854, 0.256827, 0.268761, 0.280654, 0.292503, 0.304308, 0.316066, 0.327776, 0.339436, 0.351044, 0.362598, 0.374097, 0.385538, 0.396921, 0.408243, 0.419502, 0.430697, 0.441826, 0.452888, 0.463881, 0.474802, 0.485651, 0.496425, 0.507124, 0.517745, 0.528287, 0.538748, 0.549126, 0.559421, 0.56963, 0.579752, 0.589785, 0.599728, 0.609579, 0.619337, 0.629, 0.638567, 0.648036, 0.657406, 0.666676, 0.675843, 0.684908, 0.693867, 0.70272, 0.711466, 0.720103, 0.72863, 0.737045, 0.745348, 0.753536, 0.76161, 0.769566, 0.777405, 0.785125, 0.792725, 0.800204, 0.807561, 0.814793, 0.821901, 0.828884, 0.835739, 0.842467, 0.849066, 0.855535, 0.861873, 0.868079, 0.874153, 0.880093, 0.885898, 0.891567, 0.897101, 0.902497, 0.907754, 0.912873, 0.917853, 0.922692, 0.92739, 0.931946, 0.936359, 0.940629, 0.944755, 0.948737, 0.952574, 0.956265, 0.959809, 0.963207, 0.966457, 0.96956, 0.972514, 0.97532, 0.977976, 0.980482, 0.982839, 0.985045, 0.987101, 0.989006, 0.990759, 0.992361, 0.993811, 0.995109, 0.996254, 0.997248, 0.998088, 0.998776, 0.999312, 0.999694, 0.999924, 1];aC._$92 = function (aK, aI) {\n var aH = Math.atan2(aK[1], aK[0]);var aJ = Math.atan2(aI[1], aI[0]);return aC._$tS(aH, aJ);\n };aC._$tS = function (aI, aH) {\n var aJ = aI - aH;while (aJ < -Math.PI) {\n aJ += 2 * Math.PI;\n }while (aJ > Math.PI) {\n aJ -= 2 * Math.PI;\n }return aJ;\n };aC._$9 = function (aH) {\n return Math.sin(aH);\n };aC.fcos = function (aH) {\n return Math.cos(aH);\n };function aB(aH) {\n if (j) {\n return;\n }this._$e0 = null;this._$IP = null;this._$Us = null;this._$7s = null;this._$IS = [false];this._$VS = null;this._$AT = true;this.baseOpacity = 1;this.clipBufPre_clipContext = null;this._$e0 = aH;\n }aB.prototype._$u2 = function () {\n return this._$IS[0];\n };aB.prototype._$yo = function () {\n return this._$AT && !this._$IS[0];\n };aB.prototype._$GT = function () {\n return this._$e0;\n };function r() {}r._$W2 = 0;r.SYSTEM_INFO = null;r.USER_AGENT = navigator.userAgent;r.isIPhone = function () {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }return r.SYSTEM_INFO._isIPhone;\n };r.isIOS = function () {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }return r.SYSTEM_INFO._isIPhone || r.SYSTEM_INFO._isIPad;\n };r.isAndroid = function () {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }return r.SYSTEM_INFO._isAndroid;\n };r.getOSVersion = function () {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }return r.SYSTEM_INFO.version;\n };r.getOS = function () {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }if (r.SYSTEM_INFO._isIPhone || r.SYSTEM_INFO._isIPad) {\n return \"iOS\";\n }if (r.SYSTEM_INFO._isAndroid) {\n return \"Android\";\n } else {\n return \"_$Q0 OS\";\n }\n };r.setup = function () {\n var aK = r.USER_AGENT;function aI(aO, aR) {\n var aN = aO.substring(aR).split(/[ _,;\\.]/);var aQ = 0;for (var aM = 0; aM <= 2; aM++) {\n if (isNaN(aN[aM])) {\n break;\n }var aP = parseInt(aN[aM]);if (aP < 0 || aP > 999) {\n q._$li(\"err : \" + aP + \" @UtHtml5.setup()\");aQ = 0;break;\n }aQ += aP * Math.pow(1000, 2 - aM);\n }return aQ;\n }var aL;var aH;var aJ = r.SYSTEM_INFO = { userAgent: aK };if ((aL = aK.indexOf(\"iPhone OS \")) >= 0) {\n aJ.os = \"iPhone\";aJ._isIPhone = true;aJ.version = aI(aK, aL + \"iPhone OS \".length);\n } else {\n if ((aL = aK.indexOf(\"iPad\")) >= 0) {\n aL = aK.indexOf(\"CPU OS\");if (aL < 0) {\n q._$li(\" err : \" + aK + \" @UtHtml5.setup()\");return;\n }aJ.os = \"iPad\";aJ._isIPad = true;aJ.version = aI(aK, aL + \"CPU OS \".length);\n } else {\n if ((aL = aK.indexOf(\"Android\")) >= 0) {\n aJ.os = \"Android\";aJ._isAndroid = true;aJ.version = aI(aK, aL + \"Android \".length);\n } else {\n aJ.os = \"-\";aJ.version = -1;\n }\n }\n }\n };window.UtSystem = P;window.UtDebug = q;window.LDTransform = am;window.LDGL = au;window.Live2D = Q;window.Live2DModelWebGL = l;window.Live2DModelJS = v;window.Live2DMotion = ao;window.MotionQueueManager = V;window.PhysicsHair = u;window.AMotion = ah;window.PartsDataID = i;window.DrawDataID = Z;window.BaseDataID = n;window.ParamID = z;Q.init();var j = false;\n})();\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10)))\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports) {\n\n// Provide a \"System\" global.\r\nmodule.exports = {\r\n\t// Make sure import is only used as \"System.import\"\r\n\timport: function() {\r\n\t\tthrow new Error(\"System.import cannot be used indirectly\");\r\n\t}\r\n};\r\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(4);\n\n\n/***/ })\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// bundle.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 11);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 45e728bf5020c153ce49","/**\r\n * EYHN 基于 live2d 官方 Live2DFramework.js 修改\r\n * \r\n * Copyright © 2016 - 2017 EYHN\r\n */\r\n//============================================================\r\n//============================================================\r\n// class L2DBaseModel \r\n//============================================================\r\n//============================================================\r\nfunction L2DBaseModel() {\r\n this.live2DModel = null; // ALive2DModel\r\n this.modelMatrix = null; // L2DModelMatrix\r\n this.eyeBlink = null; // L2DEyeBlink\r\n this.physics = null; // L2DPhysics\r\n this.pose = null; // L2DPose\r\n this.debugMode = false;\r\n this.initialized = false;\r\n this.updating = false;\r\n this.alpha = 1;\r\n this.accAlpha = 0;\r\n this.lipSync = false;\r\n this.lipSyncValue = 0;\r\n this.accelX = 0;\r\n this.accelY = 0;\r\n this.accelZ = 0;\r\n this.dragX = 0;\r\n this.dragY = 0;\r\n this.startTimeMSec = null;\r\n this.mainMotionManager = new L2DMotionManager(); //L2DMotionManager\r\n this.expressionManager = new L2DMotionManager(); //L2DMotionManager\r\n this.motions = {};\r\n this.expressions = {};\r\n\r\n this.isTexLoaded = false;\r\n}\r\n\r\nvar texCounter = 0;\r\n\r\n//============================================================\r\n// L2DBaseModel # getModelMatrix()\r\n//============================================================\r\nL2DBaseModel.prototype.getModelMatrix = function () {\r\n return this.modelMatrix;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setAlpha()\r\n//============================================================\r\nL2DBaseModel.prototype.setAlpha = function (a/*float*/) {\r\n if (a > 0.999) a = 1;\r\n if (a < 0.001) a = 0;\r\n this.alpha = a;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # getAlpha()\r\n//============================================================\r\nL2DBaseModel.prototype.getAlpha = function () {\r\n return this.alpha;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # isInitialized()\r\n//============================================================\r\nL2DBaseModel.prototype.isInitialized = function () {\r\n return this.initialized;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setInitialized()\r\n//============================================================\r\nL2DBaseModel.prototype.setInitialized = function (v/*boolean*/) {\r\n this.initialized = v;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # isUpdating()\r\n//============================================================\r\nL2DBaseModel.prototype.isUpdating = function () {\r\n return this.updating;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setUpdating()\r\n//============================================================\r\nL2DBaseModel.prototype.setUpdating = function (v/*boolean*/) {\r\n this.updating = v;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # getLive2DModel()\r\n//============================================================\r\nL2DBaseModel.prototype.getLive2DModel = function () {\r\n return this.live2DModel;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setLipSync()\r\n//============================================================\r\nL2DBaseModel.prototype.setLipSync = function (v/*boolean*/) {\r\n this.lipSync = v;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setLipSyncValue()\r\n//============================================================\r\nL2DBaseModel.prototype.setLipSyncValue = function (v/*float*/) {\r\n this.lipSyncValue = v;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setAccel()\r\n//============================================================\r\nL2DBaseModel.prototype.setAccel = function (x/*float*/, y/*float*/, z/*float*/) {\r\n this.accelX = x;\r\n this.accelY = y;\r\n this.accelZ = z;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setDrag()\r\n//============================================================\r\nL2DBaseModel.prototype.setDrag = function (x/*float*/, y/*float*/) {\r\n this.dragX = x;\r\n this.dragY = y;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # getMainMotionManager()\r\n//============================================================\r\nL2DBaseModel.prototype.getMainMotionManager = function () {\r\n return this.mainMotionManager;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # getExpressionManager()\r\n//============================================================\r\nL2DBaseModel.prototype.getExpressionManager = function () {\r\n return this.expressionManager;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # loadModelData()\r\n//============================================================\r\nL2DBaseModel.prototype.loadModelData = function (path/*String*/, callback) {\r\n /*\r\n if( this.live2DModel != null ) {\r\n this.live2DModel.deleteTextures();\r\n }\r\n */\r\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\r\n if (this.debugMode) pm.log(\"Load model : \" + path);\r\n\r\n var thisRef = this;\r\n pm.loadLive2DModel(path, function (l2dModel) {\r\n thisRef.live2DModel = l2dModel;\r\n thisRef.live2DModel.saveParam();\r\n\r\n var _err = Live2D.getError();\r\n\r\n if (_err != 0) {\r\n console.error(\"Error : Failed to loadModelData().\");\r\n return;\r\n }\r\n\r\n thisRef.modelMatrix = new L2DModelMatrix(\r\n thisRef.live2DModel.getCanvasWidth(),\r\n thisRef.live2DModel.getCanvasHeight()); //L2DModelMatrix\r\n thisRef.modelMatrix.setWidth(2);\r\n thisRef.modelMatrix.setCenterPosition(0, 0);\r\n\r\n callback(thisRef.live2DModel);\r\n });\r\n}\r\n\r\n\r\n//============================================================\r\n// L2DBaseModel # loadTexture()\r\n//============================================================\r\nL2DBaseModel.prototype.loadTexture = function (no/*int*/, path/*String*/, callback) {\r\n texCounter++;\r\n\r\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\r\n\r\n if (this.debugMode) pm.log(\"Load Texture : \" + path);\r\n\r\n var thisRef = this;\r\n pm.loadTexture(this.live2DModel, no, path, function () {\r\n texCounter--;\r\n if (texCounter == 0) thisRef.isTexLoaded = true;\r\n if (typeof callback == \"function\") callback();\r\n });\r\n\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # loadMotion()\r\n//============================================================\r\nL2DBaseModel.prototype.loadMotion = function (name/*String*/, path /*String*/, callback) {\r\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\r\n\r\n if (this.debugMode) pm.log(\"Load Motion : \" + path);\r\n\r\n var motion = null; //Live2DMotion\r\n\r\n var thisRef = this;\r\n pm.loadBytes(path, function (buf) {\r\n motion = Live2DMotion.loadMotion(buf);\r\n if (name != null) {\r\n thisRef.motions[name] = motion;\r\n }\r\n callback(motion);\r\n });\r\n\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # loadExpression()\r\n//============================================================\r\nL2DBaseModel.prototype.loadExpression = function (name/*String*/, path /*String*/, callback) {\r\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\r\n\r\n if (this.debugMode) pm.log(\"Load Expression : \" + path);\r\n\r\n var thisRef = this;\r\n pm.loadBytes(path, function (buf) {\r\n if (name != null) {\r\n thisRef.expressions[name] = L2DExpressionMotion.loadJson(buf);\r\n }\r\n if (typeof callback == \"function\") callback();\r\n });\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # loadPose()\r\n//============================================================\r\nL2DBaseModel.prototype.loadPose = function (path /*String*/, callback) {\r\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\r\n if (this.debugMode) pm.log(\"Load Pose : \" + path);\r\n var thisRef = this;\r\n try {\r\n pm.loadBytes(path, function (buf) {\r\n thisRef.pose = L2DPose.load(buf);\r\n if (typeof callback == \"function\") callback();\r\n });\r\n }\r\n catch (e) {\r\n console.warn(e);\r\n }\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # loadPhysics()\r\n//============================================================\r\nL2DBaseModel.prototype.loadPhysics = function (path/*String*/) {\r\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\r\n if (this.debugMode) pm.log(\"Load Physics : \" + path);\r\n var thisRef = this;\r\n try {\r\n pm.loadBytes(path, function (buf) {\r\n thisRef.physics = L2DPhysics.load(buf);\r\n });\r\n }\r\n catch (e) {\r\n console.warn(e);\r\n }\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # hitTestSimple()\r\n//============================================================\r\nL2DBaseModel.prototype.hitTestSimple = function (drawID, testX, testY) {\r\n\t\r\n\tif(this.live2DModel === null) return !1;\r\n\t\r\n var drawIndex = this.live2DModel.getDrawDataIndex(drawID);\r\n\r\n if (drawIndex < 0) return false;\r\n\r\n var points = this.live2DModel.getTransformedPoints(drawIndex);\r\n var left = this.live2DModel.getCanvasWidth();\r\n var right = 0;\r\n var top = this.live2DModel.getCanvasHeight();\r\n var bottom = 0;\r\n\r\n for (var j = 0; j < points.length; j = j + 2) {\r\n var x = points[j];\r\n var y = points[j + 1];\r\n\r\n if (x < left) left = x;\r\n if (x > right) right = x;\r\n if (y < top) top = y;\r\n if (y > bottom) bottom = y;\r\n }\r\n var tx = this.modelMatrix.invertTransformX(testX);\r\n var ty = this.modelMatrix.invertTransformY(testY);\r\n\r\n return (left <= tx && tx <= right && top <= ty && ty <= bottom);\r\n}\r\n\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DExpressionMotion extends AMotion\r\n//============================================================\r\n//============================================================\r\nfunction L2DExpressionMotion() {\r\n AMotion.prototype.constructor.call(this);\r\n this.paramList = new Array(); //ArrayList\r\n}\r\n\r\nL2DExpressionMotion.prototype = new AMotion(); // L2DExpressionMotion extends AMotion\r\n\r\n//============================================================\r\nL2DExpressionMotion.EXPRESSION_DEFAULT = \"DEFAULT\";\r\nL2DExpressionMotion.TYPE_SET = 0;\r\nL2DExpressionMotion.TYPE_ADD = 1;\r\nL2DExpressionMotion.TYPE_MULT = 2;\r\n\r\n//============================================================\r\n// static L2DExpressionMotion.loadJson()\r\n//============================================================\r\nL2DExpressionMotion.loadJson = function (buf) {\r\n var ret = new L2DExpressionMotion();\r\n\r\n var pm = Live2DFramework.getPlatformManager();\r\n var json = pm.jsonParseFromBytes(buf);\r\n\r\n ret.setFadeIn(parseInt(json.fade_in) > 0 ? parseInt(json.fade_in) : 1000);\r\n ret.setFadeOut(parseInt(json.fade_out) > 0 ? parseInt(json.fade_out) : 1000);\r\n\r\n if (json.params == null) {\r\n return ret;\r\n }\r\n\r\n var params = json.params;\r\n var paramNum = params.length;\r\n ret.paramList = []; //ArrayList\r\n for (var i = 0; i < paramNum; i++) {\r\n var param = params[i];\r\n var paramID = param.id.toString();\r\n var value = parseFloat(param.val);\r\n var calcTypeInt = L2DExpressionMotion.TYPE_ADD;\r\n var calc = param.calc != null ? param.calc.toString() : \"add\";\r\n if (calc === \"add\") {\r\n calcTypeInt = L2DExpressionMotion.TYPE_ADD;\r\n }\r\n else if (calc === \"mult\") {\r\n calcTypeInt = L2DExpressionMotion.TYPE_MULT;\r\n }\r\n else if (calc === \"set\") {\r\n calcTypeInt = L2DExpressionMotion.TYPE_SET;\r\n }\r\n else {\r\n calcTypeInt = L2DExpressionMotion.TYPE_ADD;\r\n }\r\n if (calcTypeInt == L2DExpressionMotion.TYPE_ADD) {\r\n var defaultValue = param.def == null ? 0 : parseFloat(param.def);\r\n value = value - defaultValue;\r\n }\r\n else if (calcTypeInt == L2DExpressionMotion.TYPE_MULT) {\r\n var defaultValue = param.def == null ? 1 : parseFloat(param.def);\r\n if (defaultValue == 0) defaultValue = 1;\r\n value = value / defaultValue;\r\n }\r\n\r\n var item = new L2DExpressionParam();\r\n item.id = paramID;\r\n item.type = calcTypeInt;\r\n item.value = value;\r\n\r\n ret.paramList.push(item);\r\n }\r\n\r\n return ret;\r\n}\r\n\r\n\r\n//============================================================\r\n// L2DExpressionMotion # updateParamExe()\r\n//============================================================\r\nL2DExpressionMotion.prototype.updateParamExe = function (model /*ALive2DModel*/, timeMSec/*long*/, weight /*float*/, motionQueueEnt /*MotionQueueEnt*/) {\r\n for (var i = this.paramList.length - 1; i >= 0; --i) {\r\n var param = this.paramList[i]; //L2DExpressionParam\r\n // if (!param || !param.type) continue;\r\n if (param.type == L2DExpressionMotion.TYPE_ADD) {\r\n model.addToParamFloat(param.id, param.value, weight);\r\n }\r\n else if (param.type == L2DExpressionMotion.TYPE_MULT) {\r\n model.multParamFloat(param.id, param.value, weight);\r\n }\r\n else if (param.type == L2DExpressionMotion.TYPE_SET) {\r\n model.setParamFloat(param.id, param.value, weight);\r\n }\r\n }\r\n}\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DExpressionParam \r\n//============================================================\r\n//============================================================\r\nfunction L2DExpressionParam() {\r\n this.id = \"\";\r\n this.type = -1;\r\n this.value = null;\r\n}\r\n\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DEyeBlink \r\n//============================================================\r\n//============================================================\r\nfunction L2DEyeBlink() {\r\n this.nextBlinkTime = null /* TODO NOT INIT */; // \r\n this.stateStartTime = null /* TODO NOT INIT */; // \r\n this.blinkIntervalMsec = null /* TODO NOT INIT */; // \r\n this.eyeState = EYE_STATE.STATE_FIRST;\r\n this.blinkIntervalMsec = 4000;\r\n this.closingMotionMsec = 100;\r\n this.closedMotionMsec = 50;\r\n this.openingMotionMsec = 150;\r\n this.closeIfZero = true;\r\n this.eyeID_L = \"PARAM_EYE_L_OPEN\";\r\n this.eyeID_R = \"PARAM_EYE_R_OPEN\";\r\n}\r\n\r\n//============================================================\r\n// L2DEyeBlink # calcNextBlink()\r\n//============================================================\r\nL2DEyeBlink.prototype.calcNextBlink = function () {\r\n var time /*long*/ = UtSystem.getUserTimeMSec();\r\n var r /*Number*/ = Math.random();\r\n return /*(long)*/ (time + r * (2 * this.blinkIntervalMsec - 1));\r\n}\r\n\r\n//============================================================\r\n// L2DEyeBlink # setInterval()\r\n//============================================================\r\nL2DEyeBlink.prototype.setInterval = function (blinkIntervalMsec /*int*/) {\r\n this.blinkIntervalMsec = blinkIntervalMsec;\r\n}\r\n\r\n//============================================================\r\n// L2DEyeBlink # setEyeMotion()\r\n//============================================================\r\nL2DEyeBlink.prototype.setEyeMotion = function (closingMotionMsec/*int*/, closedMotionMsec/*int*/, openingMotionMsec/*int*/) {\r\n this.closingMotionMsec = closingMotionMsec;\r\n this.closedMotionMsec = closedMotionMsec;\r\n this.openingMotionMsec = openingMotionMsec;\r\n}\r\n\r\n//============================================================\r\n// L2DEyeBlink # updateParam()\r\n//============================================================\r\nL2DEyeBlink.prototype.updateParam = function (model/*ALive2DModel*/) {\r\n var time /*:long*/ = UtSystem.getUserTimeMSec();\r\n var eyeParamValue /*:Number*/;\r\n var t /*:Number*/ = 0;\r\n switch (this.eyeState) {\r\n case EYE_STATE.STATE_CLOSING:\r\n t = (time - this.stateStartTime) / this.closingMotionMsec;\r\n if (t >= 1) {\r\n t = 1;\r\n this.eyeState = EYE_STATE.STATE_CLOSED;\r\n this.stateStartTime = time;\r\n }\r\n eyeParamValue = 1 - t;\r\n break;\r\n case EYE_STATE.STATE_CLOSED:\r\n t = (time - this.stateStartTime) / this.closedMotionMsec;\r\n if (t >= 1) {\r\n this.eyeState = EYE_STATE.STATE_OPENING;\r\n this.stateStartTime = time;\r\n }\r\n eyeParamValue = 0;\r\n break;\r\n case EYE_STATE.STATE_OPENING:\r\n t = (time - this.stateStartTime) / this.openingMotionMsec;\r\n if (t >= 1) {\r\n t = 1;\r\n this.eyeState = EYE_STATE.STATE_INTERVAL;\r\n this.nextBlinkTime = this.calcNextBlink();\r\n }\r\n eyeParamValue = t;\r\n break;\r\n case EYE_STATE.STATE_INTERVAL:\r\n if (this.nextBlinkTime < time) {\r\n this.eyeState = EYE_STATE.STATE_CLOSING;\r\n this.stateStartTime = time;\r\n }\r\n eyeParamValue = 1;\r\n break;\r\n case EYE_STATE.STATE_FIRST:\r\n default:\r\n this.eyeState = EYE_STATE.STATE_INTERVAL;\r\n this.nextBlinkTime = this.calcNextBlink();\r\n eyeParamValue = 1;\r\n break;\r\n }\r\n if (!this.closeIfZero) eyeParamValue = -eyeParamValue;\r\n model.setParamFloat(this.eyeID_L, eyeParamValue);\r\n model.setParamFloat(this.eyeID_R, eyeParamValue);\r\n}\r\n\r\n//== enum EYE_STATE ==\r\nvar EYE_STATE = function () { };\r\n\r\nEYE_STATE.STATE_FIRST = \"STATE_FIRST\"\r\nEYE_STATE.STATE_INTERVAL = \"STATE_INTERVAL\"\r\nEYE_STATE.STATE_CLOSING = \"STATE_CLOSING\"\r\nEYE_STATE.STATE_CLOSED = \"STATE_CLOSED\"\r\nEYE_STATE.STATE_OPENING = \"STATE_OPENING\"\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DMatrix44 \r\n//============================================================\r\n//============================================================\r\nfunction L2DMatrix44() {\r\n this.tr = new Float32Array(16); // \r\n this.identity();\r\n}\r\n\r\n//============================================================\r\n// static L2DMatrix44.mul()\r\n//============================================================\r\nL2DMatrix44.mul = function (a/*float[]*/, b/*float[]*/, dst/*float[]*/) {\r\n var c = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\r\n var n = 4;\r\n var i, j, k;\r\n for (i = 0; i < n; i++) {\r\n for (j = 0; j < n; j++) {\r\n for (k = 0; k < n; k++) {\r\n c[i + j * 4] += a[i + k * 4] * b[k + j * 4];\r\n }\r\n }\r\n }\r\n for (i = 0; i < 16; i++) {\r\n dst[i] = c[i];\r\n }\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # identity()\r\n//============================================================\r\nL2DMatrix44.prototype.identity = function () {\r\n for (var i/*:int*/ = 0; i < 16; i++)\r\n this.tr[i] = ((i % 5) == 0) ? 1 : 0;\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # getArray()\r\n//============================================================\r\nL2DMatrix44.prototype.getArray = function () {\r\n return this.tr;\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # getCopyMatrix()\r\n//============================================================\r\nL2DMatrix44.prototype.getCopyMatrix = function () {\r\n return new Float32Array(this.tr); // this.tr.clone();\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # setMatrix()\r\n//============================================================\r\nL2DMatrix44.prototype.setMatrix = function (tr/*float[]*/) {\r\n if (this.tr == null || this.tr.length != this.tr.length) return;\r\n for (var i/*:int*/ = 0; i < 16; i++) this.tr[i] = tr[i];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # getScaleX()\r\n//============================================================\r\nL2DMatrix44.prototype.getScaleX = function () {\r\n return this.tr[0];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # getScaleY()\r\n//============================================================\r\nL2DMatrix44.prototype.getScaleY = function () {\r\n return this.tr[5];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # transformX()\r\n//============================================================\r\nL2DMatrix44.prototype.transformX = function (src/*float*/) {\r\n return this.tr[0] * src + this.tr[12];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # transformY()\r\n//============================================================\r\nL2DMatrix44.prototype.transformY = function (src/*float*/) {\r\n return this.tr[5] * src + this.tr[13];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # invertTransformX()\r\n//============================================================\r\nL2DMatrix44.prototype.invertTransformX = function (src/*float*/) {\r\n return (src - this.tr[12]) / this.tr[0];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # invertTransformY()\r\n//============================================================\r\nL2DMatrix44.prototype.invertTransformY = function (src/*float*/) {\r\n return (src - this.tr[13]) / this.tr[5];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # multTranslate()\r\n//============================================================\r\nL2DMatrix44.prototype.multTranslate = function (shiftX/*float*/, shiftY/*float*/) {\r\n var tr1 = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, shiftX, shiftY, 0, 1];\r\n L2DMatrix44.mul(tr1, this.tr, this.tr);\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # translate()\r\n//============================================================\r\nL2DMatrix44.prototype.translate = function (x/*float*/, y/*float*/) {\r\n this.tr[12] = x;\r\n this.tr[13] = y;\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # translateX()\r\n//============================================================\r\nL2DMatrix44.prototype.translateX = function (x/*float*/) {\r\n this.tr[12] = x;\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # translateY()\r\n//============================================================\r\nL2DMatrix44.prototype.translateY = function (y/*float*/) {\r\n this.tr[13] = y;\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # multScale()\r\n//============================================================\r\nL2DMatrix44.prototype.multScale = function (scaleX/*float*/, scaleY/*float*/) {\r\n var tr1 = [scaleX, 0, 0, 0, 0, scaleY, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\r\n L2DMatrix44.mul(tr1, this.tr, this.tr);\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # scale()\r\n//============================================================\r\nL2DMatrix44.prototype.scale = function (scaleX/*float*/, scaleY/*float*/) {\r\n this.tr[0] = scaleX;\r\n this.tr[5] = scaleY;\r\n}\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DModelMatrix extends L2DMatrix44\r\n//============================================================\r\n//============================================================\r\nfunction L2DModelMatrix(w/*float*/, h/*float*/) {\r\n L2DMatrix44.prototype.constructor.call(this);\r\n this.width = w;\r\n this.height = h;\r\n}\r\n\r\n//L2DModelMatrix extends L2DMatrix44\r\nL2DModelMatrix.prototype = new L2DMatrix44();\r\n\r\n//============================================================\r\n// L2DModelMatrix # setPosition()\r\n//============================================================\r\nL2DModelMatrix.prototype.setPosition = function (x/*float*/, y/*float*/) {\r\n this.translate(x, y);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # setCenterPosition()\r\n//============================================================\r\nL2DModelMatrix.prototype.setCenterPosition = function (x/*float*/, y/*float*/) {\r\n var w = this.width * this.getScaleX();\r\n var h = this.height * this.getScaleY();\r\n this.translate(x - w / 2, y - h / 2);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # top()\r\n//============================================================\r\nL2DModelMatrix.prototype.top = function (y/*float*/) {\r\n this.setY(y);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # bottom()\r\n//============================================================\r\nL2DModelMatrix.prototype.bottom = function (y/*float*/) {\r\n var h = this.height * this.getScaleY();\r\n this.translateY(y - h);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # left()\r\n//============================================================\r\nL2DModelMatrix.prototype.left = function (x/*float*/) {\r\n this.setX(x);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # right()\r\n//============================================================\r\nL2DModelMatrix.prototype.right = function (x/*float*/) {\r\n var w = this.width * this.getScaleX();\r\n this.translateX(x - w);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # centerX()\r\n//============================================================\r\nL2DModelMatrix.prototype.centerX = function (x/*float*/) {\r\n var w = this.width * this.getScaleX();\r\n this.translateX(x - w / 2);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # centerY()\r\n//============================================================\r\nL2DModelMatrix.prototype.centerY = function (y/*float*/) {\r\n var h = this.height * this.getScaleY();\r\n this.translateY(y - h / 2);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # setX()\r\n//============================================================\r\nL2DModelMatrix.prototype.setX = function (x/*float*/) {\r\n this.translateX(x);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # setY()\r\n//============================================================\r\nL2DModelMatrix.prototype.setY = function (y/*float*/) {\r\n this.translateY(y);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # setHeight()\r\n//============================================================\r\nL2DModelMatrix.prototype.setHeight = function (h/*float*/) {\r\n var scaleX = h / this.height;\r\n var scaleY = -scaleX;\r\n this.scale(scaleX, scaleY);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # setWidth()\r\n//============================================================\r\nL2DModelMatrix.prototype.setWidth = function (w/*float*/) {\r\n var scaleX = w / this.width;\r\n var scaleY = -scaleX;\r\n this.scale(scaleX, scaleY);\r\n}\r\n\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DMotionManager extends MotionQueueManager\r\n//============================================================\r\n//============================================================\r\nfunction L2DMotionManager() {\r\n MotionQueueManager.prototype.constructor.call(this);\r\n this.currentPriority = null;\r\n this.reservePriority = null;\r\n\r\n this.super = MotionQueueManager.prototype;\r\n}\r\n\r\n\r\nL2DMotionManager.prototype = new MotionQueueManager();\r\n\r\n//============================================================\r\n// L2DMotionManager # getCurrentPriority()\r\n//============================================================\r\nL2DMotionManager.prototype.getCurrentPriority = function () {\r\n return this.currentPriority;\r\n}\r\n\r\n//============================================================\r\n// L2DMotionManager # getReservePriority()\r\n//============================================================\r\nL2DMotionManager.prototype.getReservePriority = function () {\r\n return this.reservePriority;\r\n}\r\n\r\n//============================================================\r\n// L2DMotionManager # reserveMotion()\r\n//============================================================\r\nL2DMotionManager.prototype.reserveMotion = function (priority/*int*/) {\r\n if (this.reservePriority >= priority) {\r\n return false;\r\n }\r\n if (this.currentPriority >= priority) {\r\n return false;\r\n }\r\n\r\n this.reservePriority = priority;\r\n\r\n return true;\r\n}\r\n\r\n//============================================================\r\n// L2DMotionManager # setReservePriority()\r\n//============================================================\r\nL2DMotionManager.prototype.setReservePriority = function (val/*int*/) {\r\n this.reservePriority = val;\r\n}\r\n\r\n//============================================================\r\n// L2DMotionManager # updateParam()\r\n//============================================================\r\nL2DMotionManager.prototype.updateParam = function (model/*ALive2DModel*/) {\r\n var updated = MotionQueueManager.prototype.updateParam.call(this, model);\r\n\r\n if (this.isFinished()) {\r\n this.currentPriority = 0;\r\n }\r\n\r\n return updated;\r\n}\r\n\r\n//============================================================\r\n// L2DMotionManager # startMotionPrio()\r\n//============================================================\r\nL2DMotionManager.prototype.startMotionPrio = function (motion/*AMotion*/, priority/*int*/) {\r\n if (priority == this.reservePriority) {\r\n this.reservePriority = 0;\r\n }\r\n this.currentPriority = priority;\r\n return this.startMotion(motion, false);\r\n}\r\n\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DPhysics \r\n//============================================================\r\n//============================================================\r\nfunction L2DPhysics() {\r\n this.physicsList = new Array(); //ArrayList\r\n this.startTimeMSec = UtSystem.getUserTimeMSec();\r\n}\r\n\r\n//============================================================\r\n// static L2DPhysics.load()\r\n//============================================================\r\nL2DPhysics.load = function (buf /*byte[]*/) {\r\n var ret = new L2DPhysics(); //L2DPhysicsL2DPhysics\r\n var pm = Live2DFramework.getPlatformManager();\r\n var json = pm.jsonParseFromBytes(buf);\r\n var params = json.physics_hair;\r\n var paramNum = params.length;\r\n for (var i = 0; i < paramNum; i++) {\r\n var param = params[i]; //Value\r\n var physics = new PhysicsHair(); //PhysicsHairPhysicsHair\r\n var setup = param.setup; //Value\r\n var length = parseFloat(setup.length);\r\n var resist = parseFloat(setup.regist);\r\n var mass = parseFloat(setup.mass);\r\n physics.setup(length, resist, mass);\r\n var srcList = param.src; //Value\r\n var srcNum = srcList.length;\r\n for (var j = 0; j < srcNum; j++) {\r\n var src = srcList[j]; //Value\r\n var id = src.id; //String\r\n var type = PhysicsHair.Src.SRC_TO_X;\r\n var typeStr = src.ptype; //String\r\n if (typeStr === \"x\") {\r\n type = PhysicsHair.Src.SRC_TO_X;\r\n }\r\n else if (typeStr === \"y\") {\r\n type = PhysicsHair.Src.SRC_TO_Y;\r\n }\r\n else if (typeStr === \"angle\") {\r\n type = PhysicsHair.Src.SRC_TO_G_ANGLE;\r\n }\r\n else {\r\n UtDebug.error(\"live2d\", \"Invalid parameter:PhysicsHair.Src\");\r\n }\r\n var scale = parseFloat(src.scale);\r\n var weight = parseFloat(src.weight);\r\n physics.addSrcParam(type, id, scale, weight);\r\n }\r\n var targetList = param.targets; //Value\r\n var targetNum = targetList.length;\r\n for (var j = 0; j < targetNum; j++) {\r\n var target = targetList[j]; //Value\r\n var id = target.id; //String\r\n var type = PhysicsHair.Target.TARGET_FROM_ANGLE;\r\n var typeStr = target.ptype; //String\r\n if (typeStr === \"angle\") {\r\n type = PhysicsHair.Target.TARGET_FROM_ANGLE;\r\n }\r\n else if (typeStr === \"angle_v\") {\r\n type = PhysicsHair.Target.TARGET_FROM_ANGLE_V;\r\n }\r\n else {\r\n UtDebug.error(\"live2d\", \"Invalid parameter:PhysicsHair.Target\");\r\n }\r\n var scale = parseFloat(target.scale);\r\n var weight = parseFloat(target.weight);\r\n physics.addTargetParam(type, id, scale, weight);\r\n }\r\n ret.physicsList.push(physics);\r\n }\r\n return ret;\r\n}\r\n\r\n//============================================================\r\n// L2DPhysics # updateParam()\r\n//============================================================\r\nL2DPhysics.prototype.updateParam = function (model/*ALive2DModel*/) {\r\n var timeMSec = UtSystem.getUserTimeMSec() - this.startTimeMSec;\r\n for (var i = 0; i < this.physicsList.length; i++) {\r\n this.physicsList[i].update(model, timeMSec);\r\n }\r\n}\r\n\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DPose \r\n//============================================================\r\n//============================================================\r\nfunction L2DPose() {\r\n this.lastTime = 0;\r\n this.lastModel = null; //ALive2DModel\r\n this.partsGroups = new Array(); //ArrayList\r\n}\r\n\r\n\r\n//============================================================\r\n// static L2DPose.load()\r\n//============================================================\r\nL2DPose.load = function (buf/*byte[]*/) {\r\n var ret = new L2DPose(); //L2DPose\r\n var pm = Live2DFramework.getPlatformManager();\r\n var json = pm.jsonParseFromBytes(buf);\r\n var poseListInfo = json.parts_visible; //Value\r\n var poseNum = poseListInfo.length;\r\n for (var i_pose = 0; i_pose < poseNum; i_pose++) {\r\n var poseInfo = poseListInfo[i_pose]; //Value\r\n var idListInfo = poseInfo.group; //Value\r\n var idNum = idListInfo.length;\r\n var partsGroup/*L2DPartsParam*/ = new Array();\r\n for (var i_group = 0; i_group < idNum; i_group++) {\r\n var partsInfo = idListInfo[i_group]; //Value\r\n var parts = new L2DPartsParam(partsInfo.id); //L2DPartsParamL2DPartsParam\r\n partsGroup[i_group] = parts;\r\n if (partsInfo.link == null) continue;\r\n var linkListInfo = partsInfo.link; //Value\r\n var linkNum = linkListInfo.length;\r\n parts.link = new Array(); //ArrayList\r\n for (var i_link = 0; i_link < linkNum; i_link++) {\r\n var linkParts = new L2DPartsParam(linkListInfo[i_link]); //L2DPartsParamL2DPartsParam\r\n parts.link.push(linkParts);\r\n }\r\n }\r\n ret.partsGroups.push(partsGroup);\r\n }\r\n\r\n return ret;\r\n}\r\n\r\n//============================================================\r\n// L2DPose # updateParam()\r\n//============================================================\r\nL2DPose.prototype.updateParam = function (model/*ALive2DModel*/) {\r\n if (model == null) return;\r\n\r\n if (!(model == this.lastModel)) {\r\n this.initParam(model);\r\n }\r\n this.lastModel = model;\r\n\r\n var curTime = UtSystem.getUserTimeMSec();\r\n var deltaTimeSec = ((this.lastTime == 0) ? 0 : (curTime - this.lastTime) / 1000.0);\r\n this.lastTime = curTime;\r\n if (deltaTimeSec < 0) deltaTimeSec = 0;\r\n for (var i = 0; i < this.partsGroups.length; i++) {\r\n this.normalizePartsOpacityGroup(model, this.partsGroups[i], deltaTimeSec);\r\n this.copyOpacityOtherParts(model, this.partsGroups[i]);\r\n }\r\n}\r\n\r\n//============================================================\r\n// L2DPose # initParam()\r\n//============================================================\r\nL2DPose.prototype.initParam = function (model/*ALive2DModel*/) {\r\n if (model == null) return;\r\n for (var i = 0; i < this.partsGroups.length; i++) {\r\n var partsGroup = this.partsGroups[i]; //L2DPartsParam\r\n for (var j = 0; j < partsGroup.length; j++) {\r\n partsGroup[j].initIndex(model);\r\n var partsIndex = partsGroup[j].partsIndex;\r\n var paramIndex = partsGroup[j].paramIndex;\r\n if (partsIndex < 0) continue;\r\n var v/*:Boolean*/ = (model.getParamFloat(paramIndex) != 0);\r\n model.setPartsOpacity(partsIndex, (v ? 1.0 : 0.0));\r\n model.setParamFloat(paramIndex, (v ? 1.0 : 0.0));\r\n if (partsGroup[j].link == null) continue;\r\n for (var k = 0; k < partsGroup[j].link.length; k++) {\r\n partsGroup[j].link[k].initIndex(model);\r\n }\r\n }\r\n }\r\n}\r\n\r\n//============================================================\r\n// L2DPose # normalizePartsOpacityGroup()\r\n//============================================================\r\nL2DPose.prototype.normalizePartsOpacityGroup = function (model/*ALive2DModel*/, partsGroup/*L2DPartsParam[]*/, deltaTimeSec/*float*/) {\r\n var visibleParts = -1;\r\n var visibleOpacity = 1.0;\r\n var CLEAR_TIME_SEC = 0.5;\r\n var phi = 0.5;\r\n var maxBackOpacity = 0.15;\r\n for (var i = 0; i < partsGroup.length; i++) {\r\n var partsIndex = partsGroup[i].partsIndex;\r\n var paramIndex = partsGroup[i].paramIndex;\r\n if (partsIndex < 0) continue; if (model.getParamFloat(paramIndex) != 0) {\r\n if (visibleParts >= 0) {\r\n break;\r\n }\r\n visibleParts = i;\r\n visibleOpacity = model.getPartsOpacity(partsIndex);\r\n visibleOpacity += deltaTimeSec / CLEAR_TIME_SEC;\r\n if (visibleOpacity > 1) {\r\n visibleOpacity = 1;\r\n }\r\n }\r\n }\r\n if (visibleParts < 0) {\r\n visibleParts = 0;\r\n visibleOpacity = 1;\r\n }\r\n for (var i = 0; i < partsGroup.length; i++) {\r\n var partsIndex = partsGroup[i].partsIndex;\r\n if (partsIndex < 0) continue; if (visibleParts == i) {\r\n model.setPartsOpacity(partsIndex, visibleOpacity);\r\n }\r\n else {\r\n var opacity = model.getPartsOpacity(partsIndex);\r\n var a1;\r\n if (visibleOpacity < phi) {\r\n a1 = visibleOpacity * (phi - 1) / phi + 1;\r\n }\r\n else {\r\n a1 = (1 - visibleOpacity) * phi / (1 - phi);\r\n }\r\n var backOp = (1 - a1) * (1 - visibleOpacity);\r\n if (backOp > maxBackOpacity) {\r\n a1 = 1 - maxBackOpacity / (1 - visibleOpacity);\r\n }\r\n if (opacity > a1) {\r\n opacity = a1;\r\n }\r\n model.setPartsOpacity(partsIndex, opacity);\r\n }\r\n }\r\n}\r\n\r\n//============================================================\r\n// L2DPose # copyOpacityOtherParts()\r\n//============================================================\r\nL2DPose.prototype.copyOpacityOtherParts = function (model/*ALive2DModel*/, partsGroup/*L2DPartsParam[]*/) {\r\n for (var i_group = 0; i_group < partsGroup.length; i_group++) {\r\n var partsParam = partsGroup[i_group]; //L2DPartsParam\r\n if (partsParam.link == null) continue;\r\n if (partsParam.partsIndex < 0) continue;\r\n var opacity = model.getPartsOpacity(partsParam.partsIndex);\r\n for (var i_link = 0; i_link < partsParam.link.length; i_link++) {\r\n var linkParts = partsParam.link[i_link]; //L2DPartsParam\r\n if (linkParts.partsIndex < 0) continue;\r\n model.setPartsOpacity(linkParts.partsIndex, opacity);\r\n }\r\n }\r\n}\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DPartsParam \r\n//============================================================\r\n//============================================================\r\nfunction L2DPartsParam(id/*String*/) {\r\n this.paramIndex = -1;\r\n this.partsIndex = -1;\r\n this.link = null; // ArrayList\r\n this.id = id;\r\n}\r\n\r\n//============================================================\r\n// L2DPartsParam # initIndex()\r\n//============================================================\r\nL2DPartsParam.prototype.initIndex = function (model/*ALive2DModel*/) {\r\n this.paramIndex = model.getParamIndex(\"VISIBLE:\" + this.id);\r\n this.partsIndex = model.getPartsDataIndex(PartsDataID.getID(this.id));\r\n model.setParamFloat(this.paramIndex, 1);\r\n}\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DTargetPoint \r\n//============================================================\r\n//============================================================\r\nfunction L2DTargetPoint() {\r\n this.EPSILON = 0.01; // 変化の最小値(この値以下は無視される)\r\n this.faceTargetX = 0;\r\n this.faceTargetY = 0;\r\n this.faceX = 0;\r\n this.faceY = 0;\r\n this.faceVX = 0;\r\n this.faceVY = 0;\r\n this.lastTimeSec = 0;\r\n}\r\n\r\n//============================================================\r\nL2DTargetPoint.FRAME_RATE = 30;\r\n\r\n//============================================================\r\n// L2DTargetPoint # set()\r\n//============================================================\r\nL2DTargetPoint.prototype.setPoint = function (x/*float*/, y/*float*/) {\r\n this.faceTargetX = x;\r\n this.faceTargetY = y;\r\n}\r\n\r\n//============================================================\r\n// L2DTargetPoint # getX()\r\n//============================================================\r\nL2DTargetPoint.prototype.getX = function () {\r\n return this.faceX;\r\n}\r\n\r\n//============================================================\r\n// L2DTargetPoint # getY()\r\n//============================================================\r\nL2DTargetPoint.prototype.getY = function () {\r\n return this.faceY;\r\n}\r\n\r\n//============================================================\r\n// L2DTargetPoint # update()\r\n//============================================================\r\nL2DTargetPoint.prototype.update = function () {\r\n var TIME_TO_MAX_SPEED = 0.15;\r\n var FACE_PARAM_MAX_V = 40.0 / 7.5;\r\n var MAX_V = FACE_PARAM_MAX_V / L2DTargetPoint.FRAME_RATE;\r\n if (this.lastTimeSec == 0) {\r\n this.lastTimeSec = UtSystem.getUserTimeMSec();\r\n return;\r\n }\r\n var curTimeSec = UtSystem.getUserTimeMSec();\r\n var deltaTimeWeight = (curTimeSec - this.lastTimeSec) * L2DTargetPoint.FRAME_RATE / 1000.0;\r\n this.lastTimeSec = curTimeSec;\r\n var FRAME_TO_MAX_SPEED = TIME_TO_MAX_SPEED * L2DTargetPoint.FRAME_RATE;\r\n var MAX_A = deltaTimeWeight * MAX_V / FRAME_TO_MAX_SPEED;\r\n var dx = (this.faceTargetX - this.faceX);\r\n var dy = (this.faceTargetY - this.faceY);\r\n // if(dx == 0 && dy == 0) return;\r\n if (Math.abs(dx) <= this.EPSILON && Math.abs(dy) <= this.EPSILON) return;\r\n var d = Math.sqrt(dx * dx + dy * dy);\r\n var vx = MAX_V * dx / d;\r\n var vy = MAX_V * dy / d;\r\n var ax = vx - this.faceVX;\r\n var ay = vy - this.faceVY;\r\n var a = Math.sqrt(ax * ax + ay * ay);\r\n if (a < -MAX_A || a > MAX_A) {\r\n ax *= MAX_A / a;\r\n ay *= MAX_A / a;\r\n a = MAX_A;\r\n }\r\n this.faceVX += ax;\r\n this.faceVY += ay;\r\n {\r\n var max_v = 0.5 * (Math.sqrt(MAX_A * MAX_A + 16 * MAX_A * d - 8 * MAX_A * d) - MAX_A);\r\n var cur_v = Math.sqrt(this.faceVX * this.faceVX + this.faceVY * this.faceVY);\r\n if (cur_v > max_v) {\r\n this.faceVX *= max_v / cur_v;\r\n this.faceVY *= max_v / cur_v;\r\n }\r\n }\r\n this.faceX += this.faceVX;\r\n this.faceY += this.faceVY;\r\n}\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DViewMatrix extends L2DMatrix44\r\n//============================================================\r\n//============================================================\r\nfunction L2DViewMatrix() {\r\n L2DMatrix44.prototype.constructor.call(this);\r\n this.screenLeft = null;\r\n this.screenRight = null;\r\n this.screenTop = null;\r\n this.screenBottom = null;\r\n this.maxLeft = null;\r\n this.maxRight = null;\r\n this.maxTop = null;\r\n this.maxBottom = null;\r\n this.max = Number.MAX_VALUE;\r\n this.min = 0;\r\n}\r\n\r\nL2DViewMatrix.prototype = new L2DMatrix44(); //L2DViewMatrix extends L2DMatrix44\r\n\r\n//============================================================\r\n// L2DViewMatrix # getMaxScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.getMaxScale = function () {\r\n return this.max;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getMinScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.getMinScale = function () {\r\n return this.min;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # setMaxScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.setMaxScale = function (v/*float*/) {\r\n this.max = v;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # setMinScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.setMinScale = function (v/*float*/) {\r\n this.min = v;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # isMaxScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.isMaxScale = function () {\r\n return this.getScaleX() == this.max;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # isMinScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.isMinScale = function () {\r\n return this.getScaleX() == this.min;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # adjustTranslate()\r\n//============================================================\r\nL2DViewMatrix.prototype.adjustTranslate = function (shiftX/*float*/, shiftY/*float*/) {\r\n if (this.tr[0] * this.maxLeft + (this.tr[12] + shiftX) > this.screenLeft)\r\n shiftX = this.screenLeft - this.tr[0] * this.maxLeft - this.tr[12];\r\n if (this.tr[0] * this.maxRight + (this.tr[12] + shiftX) < this.screenRight)\r\n shiftX = this.screenRight - this.tr[0] * this.maxRight - this.tr[12];\r\n if (this.tr[5] * this.maxTop + (this.tr[13] + shiftY) < this.screenTop)\r\n shiftY = this.screenTop - this.tr[5] * this.maxTop - this.tr[13];\r\n if (this.tr[5] * this.maxBottom + (this.tr[13] + shiftY) > this.screenBottom)\r\n shiftY = this.screenBottom - this.tr[5] * this.maxBottom - this.tr[13];\r\n\r\n var tr1 = [1, 0, 0, 0,\r\n 0, 1, 0, 0,\r\n 0, 0, 1, 0,\r\n shiftX, shiftY, 0, 1];\r\n L2DMatrix44.mul(tr1, this.tr, this.tr);\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # adjustScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.adjustScale = function (cx/*float*/, cy/*float*/, scale/*float*/) {\r\n var targetScale = scale * this.tr[0];\r\n if (targetScale < this.min) {\r\n if (this.tr[0] > 0) scale = this.min / this.tr[0];\r\n }\r\n else if (targetScale > this.max) {\r\n if (this.tr[0] > 0) scale = this.max / this.tr[0];\r\n }\r\n var tr1 = [1, 0, 0, 0,\r\n 0, 1, 0, 0,\r\n 0, 0, 1, 0,\r\n cx, cy, 0, 1];\r\n var tr2 = [scale, 0, 0, 0,\r\n 0, scale, 0, 0,\r\n 0, 0, 1, 0,\r\n 0, 0, 0, 1];\r\n var tr3 = [1, 0, 0, 0,\r\n 0, 1, 0, 0,\r\n 0, 0, 1, 0,\r\n -cx, -cy, 0, 1];\r\n L2DMatrix44.mul(tr3, this.tr, this.tr);\r\n L2DMatrix44.mul(tr2, this.tr, this.tr);\r\n L2DMatrix44.mul(tr1, this.tr, this.tr);\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # setScreenRect()\r\n//============================================================\r\nL2DViewMatrix.prototype.setScreenRect = function (left/*float*/, right/*float*/, bottom/*float*/, top/*float*/) {\r\n this.screenLeft = left;\r\n this.screenRight = right;\r\n this.screenTop = top;\r\n this.screenBottom = bottom;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # setMaxScreenRect()\r\n//============================================================\r\nL2DViewMatrix.prototype.setMaxScreenRect = function (left/*float*/, right/*float*/, bottom/*float*/, top/*float*/) {\r\n this.maxLeft = left;\r\n this.maxRight = right;\r\n this.maxTop = top;\r\n this.maxBottom = bottom;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getScreenLeft()\r\n//============================================================\r\nL2DViewMatrix.prototype.getScreenLeft = function () {\r\n return this.screenLeft;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getScreenRight()\r\n//============================================================\r\nL2DViewMatrix.prototype.getScreenRight = function () {\r\n return this.screenRight;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getScreenBottom()\r\n//============================================================\r\nL2DViewMatrix.prototype.getScreenBottom = function () {\r\n return this.screenBottom;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getScreenTop()\r\n//============================================================\r\nL2DViewMatrix.prototype.getScreenTop = function () {\r\n return this.screenTop;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getMaxLeft()\r\n//============================================================\r\nL2DViewMatrix.prototype.getMaxLeft = function () {\r\n return this.maxLeft;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getMaxRight()\r\n//============================================================\r\nL2DViewMatrix.prototype.getMaxRight = function () {\r\n return this.maxRight;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getMaxBottom()\r\n//============================================================\r\nL2DViewMatrix.prototype.getMaxBottom = function () {\r\n return this.maxBottom;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getMaxTop()\r\n//============================================================\r\nL2DViewMatrix.prototype.getMaxTop = function () {\r\n return this.maxTop;\r\n}\r\n\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class Live2DFramework \r\n//============================================================\r\n//============================================================\r\nfunction Live2DFramework() {\r\n}\r\n\r\n//============================================================\r\nLive2DFramework.platformManager = null;\r\n\r\n//============================================================\r\n// static Live2DFramework.getPlatformManager()\r\n//============================================================\r\nLive2DFramework.getPlatformManager = function () {\r\n return Live2DFramework.platformManager;\r\n}\r\n\r\n//============================================================\r\n// static Live2DFramework.setPlatformManager()\r\n//============================================================\r\nLive2DFramework.setPlatformManager = function (platformManager /*IPlatformManager*/) {\r\n Live2DFramework.platformManager = platformManager;\r\n}\r\n\r\nmodule.exports = {\r\n L2DTargetPoint: L2DTargetPoint,\r\n Live2DFramework: Live2DFramework,\r\n L2DViewMatrix: L2DViewMatrix,\r\n L2DPose: L2DPose,\r\n L2DPartsParam: L2DPartsParam,\r\n L2DPhysics: L2DPhysics,\r\n L2DMotionManager: L2DMotionManager,\r\n L2DModelMatrix: L2DModelMatrix,\r\n L2DMatrix44: L2DMatrix44,\r\n EYE_STATE: EYE_STATE,\r\n L2DEyeBlink: L2DEyeBlink,\r\n L2DExpressionParam: L2DExpressionParam,\r\n L2DExpressionMotion: L2DExpressionMotion,\r\n L2DBaseModel: L2DBaseModel\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/lib/Live2DFramework.js","var LAppDefine = {\n \n \n DEBUG_LOG : false,\n DEBUG_MOUSE_LOG : false, \n // DEBUG_DRAW_HIT_AREA : false, \n // DEBUG_DRAW_ALPHA_MODEL : false, \n \n \n \n \n VIEW_MAX_SCALE : 2,\n VIEW_MIN_SCALE : 0.8,\n\n VIEW_LOGICAL_LEFT : -1,\n VIEW_LOGICAL_RIGHT : 1,\n\n VIEW_LOGICAL_MAX_LEFT : -2,\n VIEW_LOGICAL_MAX_RIGHT : 2,\n VIEW_LOGICAL_MAX_BOTTOM : -2,\n VIEW_LOGICAL_MAX_TOP : 2,\n \n \n PRIORITY_NONE : 0,\n PRIORITY_IDLE : 1,\n PRIORITY_NORMAL : 2,\n PRIORITY_FORCE : 3,\n\n MOTION_GROUP_IDLE : \"idle\", \n MOTION_GROUP_TAP_BODY : \"tap_body\", \n MOTION_GROUP_FLICK_HEAD : \"flick_head\", \n MOTION_GROUP_PINCH_IN : \"pinch_in\", \n MOTION_GROUP_PINCH_OUT : \"pinch_out\", \n MOTION_GROUP_SHAKE : \"shake\", \n\n \n HIT_AREA_HEAD : \"head\",\n HIT_AREA_BODY : \"body\"\n \n};\n\nmodule.exports = LAppDefine;\n\n\n// WEBPACK FOOTER //\n// ./src/LAppDefine.js","/**\n *\n * You can modify and use this source freely\n * only for the development of application related Live2D.\n *\n * (c) Live2D Inc. All rights reserved.\n */\n/**\n * EYHN 修改\n * \n * Copyright © 2016 - 2017 EYHN\n */\n\nfunction MatrixStack() {}\n\n\nMatrixStack.matrixStack = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n\n\nMatrixStack.depth = 0;\n\n\nMatrixStack.currentMatrix = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n\n\nMatrixStack.tmp = new Array(16);\n\n\n\nMatrixStack.reset = function()\n{\n this.depth = 0;\n}\n\n\n\nMatrixStack.loadIdentity = function()\n{\n for (var i = 0; i < 16; i++)\n {\n this.currentMatrix[i] = (i % 5 == 0) ? 1 : 0;\n }\n}\n\n\n\nMatrixStack.push = function()\n{ \n var offset = this.depth * 16;\n var nextOffset = (this.depth + 1) * 16;\n \n if (this.matrixStack.length < nextOffset + 16)\n {\n this.matrixStack.length = nextOffset + 16;\n }\n\n for (var i = 0; i < 16; i++)\n {\n this.matrixStack[nextOffset + i] = this.currentMatrix[i];\n }\n\n this.depth++;\n}\n\n\n\nMatrixStack.pop = function()\n{\n this.depth--;\n if (this.depth < 0)\n {\n myError(\"Invalid matrix stack.\");\n this.depth = 0;\n }\n\n var offset = this.depth * 16;\n for (var i = 0; i < 16; i++)\n {\n this.currentMatrix[i] = this.matrixStack[offset + i];\n }\n}\n\n\n\nMatrixStack.getMatrix = function()\n{\n return this.currentMatrix;\n}\n\n\n\nMatrixStack.multMatrix = function(matNew)\n{\n var i, j, k;\n\n for (i = 0; i < 16; i++)\n {\n this.tmp[i] = 0;\n }\n\n for (i = 0; i < 4; i++)\n {\n for (j = 0; j < 4; j++)\n {\n for (k = 0; k < 4; k++)\n {\n this.tmp[i + j * 4] += this.currentMatrix[i + k * 4] * matNew[k + j * 4];\n }\n }\n }\n for (i = 0; i < 16; i++)\n {\n this.currentMatrix[i] = this.tmp[i];\n }\n}\n\nmodule.exports = MatrixStack;\n\n\n// WEBPACK FOOTER //\n// ./src/lib/MatrixStack.js","\r\nvar context = undefined;\r\n\r\nexport function setContext(webglContext) {\r\n context = webglContext;\r\n}\r\n\r\nexport function getContext() {\r\n return context;\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/webglcontext.js","import \"./lib/live2d.min\";\n\nimport { L2DTargetPoint, L2DViewMatrix, L2DMatrix44 } from \"./lib/Live2DFramework\";\n\nimport LAppLive2DManager from \"./LAppLive2DManager\"\n\nimport LAppDefine from \"./LAppDefine\"\n\nimport MatrixStack from \"./lib/MatrixStack\"\n\nimport {setContext} from \"./webglcontext\"\n\n// window.onerror = function (msg, url, line, col, error) {\n// let errmsg = \"file:\" + url + \"
line:\" + line + \" \" + msg;\n// console.error(errmsg);\n// }\n\nconst platform = window.navigator.platform.toLowerCase();\n\nconst live2DMgr = new LAppLive2DManager();\n\nlet isDrawStart = false;\n\nlet gl = null;\n\nlet canvas = null;\n\nlet dragMgr = null;\n\nlet viewMatrix = null;\n\nlet projMatrix = null;\n\nlet deviceToScreen = null;\n\nlet drag = false;\n\nlet oldLen = 0;\n\nlet lastMouseX = 0;\n\nlet lastMouseY = 0;\n\nlet isModelShown = 0;\n\nlet modelurl = \"\";\n\nlet head_pos = 0.5;\n\nfunction initL2dCanvas(canvasId) {\n canvas = document.getElementById(canvasId);\n if (canvas.addEventListener) {\n //canvas.addEventListener(\"mousewheel\", mouseEvent);\n window.addEventListener(\"click\", mouseEvent);\n window.addEventListener(\"mousedown\", mouseEvent);\n window.addEventListener(\"mousemove\", mouseEvent);\n window.addEventListener(\"mouseup\", mouseEvent);\n document.addEventListener(\"mouseleave\", mouseEvent);\n //canvas.addEventListener(\"contextmenu\", mouseEvent);\n window.addEventListener(\"touchstart\", touchEvent);\n window.addEventListener(\"touchend\", touchEvent);\n window.addEventListener(\"touchmove\", touchEvent);\n }\n}\n\nfunction init(modelurl) {\n let width = canvas.width;\n let height = canvas.height;\n\n dragMgr = new L2DTargetPoint();\n\n let ratio = height / width;\n let left = LAppDefine.VIEW_LOGICAL_LEFT;\n let right = LAppDefine.VIEW_LOGICAL_RIGHT;\n let bottom = -ratio;\n let top = ratio;\n\n viewMatrix = new L2DViewMatrix();\n\n\n viewMatrix.setScreenRect(left, right, bottom, top);\n\n viewMatrix.setMaxScreenRect(LAppDefine.VIEW_LOGICAL_MAX_LEFT,\n LAppDefine.VIEW_LOGICAL_MAX_RIGHT,\n LAppDefine.VIEW_LOGICAL_MAX_BOTTOM,\n LAppDefine.VIEW_LOGICAL_MAX_TOP);\n\n viewMatrix.setMaxScale(LAppDefine.VIEW_MAX_SCALE);\n viewMatrix.setMinScale(LAppDefine.VIEW_MIN_SCALE);\n\n projMatrix = new L2DMatrix44();\n projMatrix.multScale(1, (width / height));\n\n deviceToScreen = new L2DMatrix44();\n deviceToScreen.multTranslate(-width / 2.0, -height / 2.0);\n deviceToScreen.multScale(2 / width, -2 / width);\n\n gl = getWebGLContext();\n setContext(gl);\n if (!gl) {\n console.error(\"Failed to create WebGL context.\");\n return;\n }\n window.Live2D.setGL(gl);\n gl.clearColor(0.0, 0.0, 0.0, 0.0);\n changeModel(modelurl);\n startDraw();\n}\n\nfunction startDraw() {\n if (!isDrawStart) {\n isDrawStart = true;\n (function tick() {\n draw();\n let requestAnimationFrame =\n window.requestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.msRequestAnimationFrame;\n\n requestAnimationFrame(tick, canvas);\n })();\n }\n}\n\nfunction draw()\n{\n MatrixStack.reset();\n MatrixStack.loadIdentity();\n dragMgr.update(); \n live2DMgr.setDrag(dragMgr.getX(), dragMgr.getY());\n \n gl.clear(gl.COLOR_BUFFER_BIT);\n \n MatrixStack.multMatrix(projMatrix.getArray());\n MatrixStack.multMatrix(viewMatrix.getArray());\n MatrixStack.push();\n \n for (let i = 0; i < live2DMgr.numModels(); i++)\n {\n let model = live2DMgr.getModel(i);\n\n if(model == null) return;\n \n if (model.initialized && !model.updating)\n {\n model.update();\n model.draw(gl);\n }\n }\n MatrixStack.pop();\n}\n\nfunction changeModel(modelurl)\n{\n live2DMgr.reloadFlg = true;\n live2DMgr.count++;\n live2DMgr.changeModel(gl,modelurl);\n}\n\nfunction modelScaling(scale)\n{\n let isMaxScale = viewMatrix.isMaxScale();\n let isMinScale = viewMatrix.isMinScale();\n \n viewMatrix.adjustScale(0, 0, scale);\n\n if (!isMaxScale)\n {\n if (viewMatrix.isMaxScale())\n {\n live2DMgr.maxScaleEvent();\n }\n }\n \n if (!isMinScale)\n {\n if (viewMatrix.isMinScale())\n {\n live2DMgr.minScaleEvent();\n }\n }\n}\n\nfunction transformRange(center, transform, range)\n{\n let a = {\n x: transform.x - center.x,\n y: transform.y - center.y\n }\n let r = Math.sqrt(Math.pow(a.x,2) + Math.pow(a.y,2));\n if (r > range) {\n a = {\n x: a.x / r * range + center.x,\n y: a.y / r * range + center.y\n };\n return a;\n } else {\n return transform;\n }\n}\n\nfunction dot(A,B)\n{\n return A.x * B.x + A.y * B.y;\n}\n\nfunction normalize(x,y)\n{\n let length = Math.sqrt(x * x + y * y)\n return {\n x: x / length,\n y: y / length\n }\n}\n\nfunction transformRect(center, transform, rect)\n{\n if (transform.x < rect.left + rect.width && transform.y < rect.top + rect.height &&\n transform.x > rect.left && transform.y > rect.top) return transform;\n let Len_X = center.x - transform.x;\n let Len_Y = center.y - transform.y;\n\n function angle(Len_X, Len_Y)\n {\n return Math.acos(dot({\n x: 0,\n y: 1\n }, normalize(Len_X, Len_Y))) * 180 / Math.PI\n }\n\n let angleTarget = angle(Len_X, Len_Y);\n if (transform.x < center.x) angleTarget = 360 - angleTarget;\n let angleLeftTop = 360 - angle(rect.left - center.x, (rect.top - center.y) * -1);\n let angleLeftBottom = 360 - angle(rect.left - center.x, (rect.top + rect.height - center.y) * -1);\n let angleRightTop = angle(rect.left + rect.width - center.x, (rect.top - center.y) * -1);\n let angleRightBottom = angle(rect.left + rect.width - center.x, (rect.top + rect.height - center.y) * -1);\n let scale = Len_Y / Len_X;\n let res = {};\n\n if (angleTarget < angleRightTop) {\n let y3 = rect.top - center.y;\n let x3 = y3 / scale;\n res = {\n y: center.y + y3,\n x: center.x + x3\n }\n } else if(angleTarget < angleRightBottom) {\n let x3 = rect.left + rect.width - center.x;\n let y3 = x3 * scale;\n res = {\n y: center.y + y3,\n x: center.x + x3\n }\n } else if (angleTarget < angleLeftBottom) {\n let y3 = rect.top + rect.height - center.y;\n let x3 = y3 / scale;\n res = {\n y: center.y + y3,\n x: center.x + x3\n }\n } else if (angleTarget < angleLeftTop) {\n let x3 = center.x - rect.left;\n let y3 = x3 * scale;\n res = {\n y: center.y - y3,\n x: center.x - x3\n }\n } else {\n let y3 = rect.top - center.y;\n let x3 = y3 / scale;\n res = {\n y: center.y + y3,\n x: center.x + x3\n }\n }\n\n return res;\n}\n\nfunction modelTurnHead(event)\n{\n drag = true;\n \n let rect = canvas.getBoundingClientRect();\n \n let sx = transformScreenX(event.clientX - rect.left);\n let sy = transformScreenY(event.clientY - rect.top);\n let target = transformRect({\n x: rect.left + rect.width / 2,\n y: rect.top + rect.height * head_pos\n }, {\n x: event.clientX,\n y: event.clientY\n }, rect)\n let vx = transformViewX(target.x - rect.left);\n let vy = transformViewY(target.y - rect.top);\n\n if (LAppDefine.DEBUG_MOUSE_LOG)\n console.log(\"onMouseDown device( x:\" + event.clientX + \" y:\" + event.clientY + \" ) view( x:\" + vx + \" y:\" + vy + \")\");\n\n lastMouseX = sx;\n lastMouseY = sy;\n\n dragMgr.setPoint(vx, vy); \n \n live2DMgr.tapEvent(vx, vy);\n}\n\nfunction followPointer(event)\n{ \n let rect = canvas.getBoundingClientRect();\n \n let sx = transformScreenX(event.clientX - rect.left);\n let sy = transformScreenY(event.clientY - rect.top);\n let target = transformRect({\n x: rect.left + rect.width / 2,\n y: rect.top + rect.height * head_pos\n }, {\n x: event.clientX,\n y: event.clientY\n }, rect)\n let vx = transformViewX(target.x - rect.left);\n let vy = transformViewY(target.y - rect.top);\n\n if (LAppDefine.DEBUG_MOUSE_LOG)\n console.log(\"onMouseMove device( x:\" + event.clientX + \" y:\" + event.clientY + \" ) view( x:\" + vx + \" y:\" + vy + \")\");\n\n if (drag)\n {\n lastMouseX = sx;\n lastMouseY = sy;\n dragMgr.setPoint(vx, vy); \n }\n}\n\nfunction lookFront()\n{ \n if (drag)\n {\n drag = false;\n }\n dragMgr.setPoint(0, 0);\n}\n\nfunction mouseEvent(e)\n{\n //e.preventDefault();\n if (e.type == \"mousewheel\") {\n // if (e.clientX < 0 || canvas.clientWidth < e.clientX || \n // e.clientY < 0 || canvas.clientHeight < e.clientY)\n // {\n // return;\n // }\n // if (e.wheelDelta > 0) modelScaling(1.1); \n // else modelScaling(0.9); \n } else if (e.type == \"mousedown\") {\n if(\"button\" in e && e.button != 0) return;\n // modelTurnHead(e);\n } else if (e.type == \"mousemove\") {\n modelTurnHead(e);\n } else if (e.type == \"mouseup\") {\n if(\"button\" in e && e.button != 0) return;\n // lookFront();\n } else if (e.type == \"mouseleave\") {\n lookFront();\n }\n}\n\nfunction touchEvent(e)\n{\n var touch = e.touches[0];\n if (e.type == \"touchstart\") {\n if (e.touches.length == 1) modelTurnHead(touch);\n // onClick(touch);\n } else if (e.type == \"touchmove\") {\n followPointer(touch);\n } else if (e.type == \"touchend\") {\n lookFront();\n }\n}\n\nfunction transformViewX(deviceX)\n{\n var screenX = deviceToScreen.transformX(deviceX); \n return viewMatrix.invertTransformX(screenX); \n}\n\n\nfunction transformViewY(deviceY)\n{\n var screenY = deviceToScreen.transformY(deviceY); \n return viewMatrix.invertTransformY(screenY); \n}\n\n\nfunction transformScreenX(deviceX)\n{\n return deviceToScreen.transformX(deviceX);\n}\n\n\nfunction transformScreenY(deviceY)\n{\n return deviceToScreen.transformY(deviceY);\n}\n\nfunction getWebGLContext()\n{\n var NAMES = [ \"webgl\" , \"experimental-webgl\" , \"webkit-3d\" , \"moz-webgl\"];\n for( var i = 0; i < NAMES.length; i++ ){\n try{\n var ctx = canvas.getContext(NAMES[i], {premultipliedAlpha : true});\n if(ctx) return ctx;\n }\n catch(e){}\n }\n return null;\n};\n\nfunction loadlive2d(id,modelurl,headPos) {\n head_pos = typeof headPos === 'undefined' ? 0.5 : headPos;\n initL2dCanvas(id);\n init(modelurl);\n}\n\nwindow.loadlive2d = loadlive2d;\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js","import { Live2DFramework } from \"./lib/Live2DFramework.js\"\nimport PlatformManager from \"./PlatformManager\"\nimport LAppModel from \"./LAppModel\"\nimport LAppDefine from \"./LAppDefine\"\n\nexport default function LAppLive2DManager() {\n // console.log(\"--> LAppLive2DManager()\");\n\n\n this.models = [];\n\n\n this.count = -1;\n this.reloadFlg = false;\n\n Live2D.init();\n Live2DFramework.setPlatformManager(new PlatformManager);\n\n}\n\nLAppLive2DManager.prototype.createModel = function () {\n\n\n var model = new LAppModel();\n this.models.push(model);\n\n return model;\n}\n\n\nLAppLive2DManager.prototype.changeModel = function (gl, modelurl) {\n // console.log(\"--> LAppLive2DManager.update(gl)\");\n\n if (this.reloadFlg) {\n\n this.reloadFlg = false;\n\n var thisRef = this;\n this.releaseModel(0, gl);\n this.createModel();\n this.models[0].load(gl, modelurl);\n }\n};\n\n\nLAppLive2DManager.prototype.getModel = function (no) {\n // console.log(\"--> LAppLive2DManager.getModel(\" + no + \")\");\n\n if (no >= this.models.length) return null;\n\n return this.models[no];\n};\n\n\n\nLAppLive2DManager.prototype.releaseModel = function (no, gl) {\n // console.log(\"--> LAppLive2DManager.releaseModel(\" + no + \")\");\n\n if (this.models.length <= no) return;\n\n this.models[no].release(gl);\n\n delete this.models[no];\n this.models.splice(no, 1);\n};\n\n\n\nLAppLive2DManager.prototype.numModels = function () {\n return this.models.length;\n};\n\n\n\nLAppLive2DManager.prototype.setDrag = function (x, y) {\n for (var i = 0; i < this.models.length; i++) {\n this.models[i].setDrag(x, y);\n }\n}\n\n\n\nLAppLive2DManager.prototype.maxScaleEvent = function () {\n if (LAppDefine.DEBUG_LOG)\n console.log(\"Max scale event.\");\n for (var i = 0; i < this.models.length; i++) {\n this.models[i].startRandomMotion(LAppDefine.MOTION_GROUP_PINCH_IN,\n LAppDefine.PRIORITY_NORMAL);\n }\n}\n\n\n\nLAppLive2DManager.prototype.minScaleEvent = function () {\n if (LAppDefine.DEBUG_LOG)\n console.log(\"Min scale event.\");\n for (var i = 0; i < this.models.length; i++) {\n this.models[i].startRandomMotion(LAppDefine.MOTION_GROUP_PINCH_OUT,\n LAppDefine.PRIORITY_NORMAL);\n }\n}\n\n\n\nLAppLive2DManager.prototype.tapEvent = function (x, y) {\n if (LAppDefine.DEBUG_LOG)\n console.log(\"tapEvent view x:\" + x + \" y:\" + y);\n\n for (var i = 0; i < this.models.length; i++) {\n\n if (this.models[i].hitTest(LAppDefine.HIT_AREA_HEAD, x, y)) {\n\n if (LAppDefine.DEBUG_LOG)\n console.log(\"Tap face.\");\n\n this.models[i].setRandomExpression();\n }\n else if (this.models[i].hitTest(LAppDefine.HIT_AREA_BODY, x, y)) {\n\n if (LAppDefine.DEBUG_LOG)\n console.log(\"Tap body.\" + \" models[\" + i + \"]\");\n\n this.models[i].startRandomMotion(LAppDefine.MOTION_GROUP_TAP_BODY,\n LAppDefine.PRIORITY_NORMAL);\n }\n }\n\n return true;\n};\n\n\n// WEBPACK FOOTER //\n// ./src/LAppLive2DManager.js","import {L2DBaseModel, L2DEyeBlink} from \"./lib/Live2DFramework\"\nimport ModelSettingJson from \"./lib/ModelSettingJson\"\nimport LAppDefine from \"./LAppDefine\"\nimport MatrixStack from \"./lib/MatrixStack\"\n\n//============================================================\n//============================================================\n// class LAppModel extends L2DBaseModel \n//============================================================\n//============================================================\nexport default function LAppModel()\n{\n //L2DBaseModel.apply(this, arguments);\n L2DBaseModel.prototype.constructor.call(this);\n \n this.modelHomeDir = \"\";\n this.modelSetting = null;\n this.tmpMatrix = [];\n}\n\nLAppModel.prototype = new L2DBaseModel();\n\n\nLAppModel.prototype.load = function(gl, modelSettingPath, callback)\n{\n this.setUpdating(true);\n this.setInitialized(false);\n\n this.modelHomeDir = modelSettingPath.substring(0, modelSettingPath.lastIndexOf(\"/\") + 1); \n\n this.modelSetting = new ModelSettingJson();\n \n var thisRef = this;\n \n this.modelSetting.loadModelSetting(modelSettingPath, function(){\n \n var path = thisRef.modelHomeDir + thisRef.modelSetting.getModelFile();\n thisRef.loadModelData(path, function(model){\n \n for (var i = 0; i < thisRef.modelSetting.getTextureNum(); i++)\n {\n \n var texPaths = thisRef.modelHomeDir + \n thisRef.modelSetting.getTextureFile(i);\n \n thisRef.loadTexture(i, texPaths, function() {\n \n if( thisRef.isTexLoaded ) {\n \n if (thisRef.modelSetting.getExpressionNum() > 0)\n {\n \n thisRef.expressions = {};\n \n for (var j = 0; j < thisRef.modelSetting.getExpressionNum(); j++)\n {\n var expName = thisRef.modelSetting.getExpressionName(j);\n var expFilePath = thisRef.modelHomeDir + \n thisRef.modelSetting.getExpressionFile(j);\n \n thisRef.loadExpression(expName, expFilePath);\n }\n }\n else\n {\n thisRef.expressionManager = null;\n thisRef.expressions = {};\n }\n \n \n \n if (thisRef.eyeBlink == null)\n {\n thisRef.eyeBlink = new L2DEyeBlink();\n }\n \n \n if (thisRef.modelSetting.getPhysicsFile() != null)\n {\n thisRef.loadPhysics(thisRef.modelHomeDir + \n thisRef.modelSetting.getPhysicsFile());\n }\n else\n {\n thisRef.physics = null;\n }\n \n \n \n if (thisRef.modelSetting.getPoseFile() != null)\n {\n thisRef.loadPose(\n thisRef.modelHomeDir +\n thisRef.modelSetting.getPoseFile(),\n function() {\n thisRef.pose.updateParam(thisRef.live2DModel);\n }\n );\n }\n else\n {\n thisRef.pose = null;\n }\n \n \n \n if (thisRef.modelSetting.getLayout() != null)\n {\n var layout = thisRef.modelSetting.getLayout();\n if (layout[\"width\"] != null)\n thisRef.modelMatrix.setWidth(layout[\"width\"]);\n if (layout[\"height\"] != null)\n thisRef.modelMatrix.setHeight(layout[\"height\"]);\n\n if (layout[\"x\"] != null)\n thisRef.modelMatrix.setX(layout[\"x\"]);\n if (layout[\"y\"] != null)\n thisRef.modelMatrix.setY(layout[\"y\"]);\n if (layout[\"center_x\"] != null)\n thisRef.modelMatrix.centerX(layout[\"center_x\"]);\n if (layout[\"center_y\"] != null)\n thisRef.modelMatrix.centerY(layout[\"center_y\"]);\n if (layout[\"top\"] != null)\n thisRef.modelMatrix.top(layout[\"top\"]);\n if (layout[\"bottom\"] != null)\n thisRef.modelMatrix.bottom(layout[\"bottom\"]);\n if (layout[\"left\"] != null)\n thisRef.modelMatrix.left(layout[\"left\"]);\n if (layout[\"right\"] != null)\n thisRef.modelMatrix.right(layout[\"right\"]);\n }\n \n for (var j = 0; j < thisRef.modelSetting.getInitParamNum(); j++)\n {\n \n thisRef.live2DModel.setParamFloat(\n thisRef.modelSetting.getInitParamID(j),\n thisRef.modelSetting.getInitParamValue(j)\n );\n }\n\n for (var j = 0; j < thisRef.modelSetting.getInitPartsVisibleNum(); j++)\n {\n \n thisRef.live2DModel.setPartsOpacity(\n thisRef.modelSetting.getInitPartsVisibleID(j),\n thisRef.modelSetting.getInitPartsVisibleValue(j)\n );\n }\n \n \n \n thisRef.live2DModel.saveParam();\n // thisRef.live2DModel.setGL(gl);\n \n \n thisRef.preloadMotionGroup(LAppDefine.MOTION_GROUP_IDLE);\n thisRef.mainMotionManager.stopAllMotions();\n\n thisRef.setUpdating(false); \n thisRef.setInitialized(true); \n\n if (typeof callback == \"function\") callback();\n \n }\n });\n }\n });\n });\n};\n\n\n\nLAppModel.prototype.release = function(gl)\n{\n // this.live2DModel.deleteTextures();\n var pm = Live2DFramework.getPlatformManager();\n\n gl.deleteTexture(pm.texture);\n}\n\n\n\nLAppModel.prototype.preloadMotionGroup = function(name)\n{\n var thisRef = this;\n \n for (var i = 0; i < this.modelSetting.getMotionNum(name); i++)\n {\n var file = this.modelSetting.getMotionFile(name, i);\n this.loadMotion(file, this.modelHomeDir + file, function(motion) {\n motion.setFadeIn(thisRef.modelSetting.getMotionFadeIn(name, i));\n motion.setFadeOut(thisRef.modelSetting.getMotionFadeOut(name, i));\n });\n \n }\n}\n\n\nLAppModel.prototype.update = function()\n{\n // console.log(\"--> LAppModel.update()\");\n\n if(this.live2DModel == null) \n {\n if (LAppDefine.DEBUG_LOG) console.error(\"Failed to update.\");\n \n return;\n }\n \n var timeMSec = UtSystem.getUserTimeMSec() - this.startTimeMSec;\n var timeSec = timeMSec / 1000.0;\n var t = timeSec * 2 * Math.PI; \n \n \n if (this.mainMotionManager.isFinished())\n {\n \n this.startRandomMotion(LAppDefine.MOTION_GROUP_IDLE, LAppDefine.PRIORITY_IDLE);\n }\n \n //-----------------------------------------------------------------\t\t\n \n \n this.live2DModel.loadParam();\n \n \n \n var update = this.mainMotionManager.updateParam(this.live2DModel); \n if (!update) {\n \n if(this.eyeBlink != null) {\n this.eyeBlink.updateParam(this.live2DModel);\n }\n }\n\n \n this.live2DModel.saveParam();\n \n //-----------------------------------------------------------------\t\t\n \n \n if (this.expressionManager != null && \n this.expressions != null && \n !this.expressionManager.isFinished())\n {\n this.expressionManager.updateParam(this.live2DModel); \n }\n\n \n \n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_X\", this.dragX * 30, 1); \n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_Y\", this.dragY * 30, 1);\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_Z\", (this.dragX * this.dragY) * -30, 1);\n\n \n \n this.live2DModel.addToParamFloat(\"PARAM_BODY_ANGLE_X\", this.dragX*10, 1); \n\n \n \n this.live2DModel.addToParamFloat(\"PARAM_EYE_BALL_X\", this.dragX, 1); \n this.live2DModel.addToParamFloat(\"PARAM_EYE_BALL_Y\", this.dragY, 1);\n\n\n \n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_X\", \n Number((15 * Math.sin(t / 6.5345))), 0.5);\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_Y\", \n Number((8 * Math.sin(t / 3.5345))), 0.5);\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_Z\", \n Number((10 * Math.sin(t / 5.5345))), 0.5);\n this.live2DModel.addToParamFloat(\"PARAM_BODY_ANGLE_X\", \n Number((4 * Math.sin(t / 15.5345))), 0.5);\n this.live2DModel.setParamFloat(\"PARAM_BREATH\", \n Number((0.5 + 0.5 * Math.sin(t / 3.2345))), 1);\n \n \n if (this.physics != null)\n {\n this.physics.updateParam(this.live2DModel); \n }\n \n \n if (this.lipSync == null)\n {\n this.live2DModel.setParamFloat(\"PARAM_MOUTH_OPEN_Y\",\n this.lipSyncValue);\n }\n \n \n if( this.pose != null ) {\n this.pose.updateParam(this.live2DModel);\n }\n \n this.live2DModel.update();\n};\n\n\n\nLAppModel.prototype.setRandomExpression = function()\n{\n var tmp = [];\n for (var name in this.expressions)\n {\n tmp.push(name);\n }\n\n var no = parseInt(Math.random() * tmp.length);\n\n this.setExpression(tmp[no]);\n}\n\n\n\nLAppModel.prototype.startRandomMotion = function(name, priority)\n{\n var max = this.modelSetting.getMotionNum(name);\n var no = parseInt(Math.random() * max);\n this.startMotion(name, no, priority);\n}\n\n\n\nLAppModel.prototype.startMotion = function(name, no, priority)\n{\n // console.log(\"startMotion : \" + name + \" \" + no + \" \" + priority);\n \n var motionName = this.modelSetting.getMotionFile(name, no);\n \n if (motionName == null || motionName == \"\")\n {\n if (LAppDefine.DEBUG_LOG)\n console.error(\"Failed to motion.\");\n return;\n }\n\n if (priority == LAppDefine.PRIORITY_FORCE) \n {\n this.mainMotionManager.setReservePriority(priority);\n }\n else if (!this.mainMotionManager.reserveMotion(priority))\n {\n if (LAppDefine.DEBUG_LOG)\n console.log(\"Motion is running.\")\n return;\n }\n\n var thisRef = this;\n var motion;\n\n if (this.motions[name] == null) \n {\n this.loadMotion(null, this.modelHomeDir + motionName, function(mtn) {\n motion = mtn;\n \n \n thisRef.setFadeInFadeOut(name, no, priority, motion);\n \n });\n }\n else \n {\n motion = this.motions[name];\n \n \n thisRef.setFadeInFadeOut(name, no, priority, motion);\n }\n}\n\n\nLAppModel.prototype.setFadeInFadeOut = function(name, no, priority, motion)\n{\n var motionName = this.modelSetting.getMotionFile(name, no);\n \n motion.setFadeIn(this.modelSetting.getMotionFadeIn(name, no));\n motion.setFadeOut(this.modelSetting.getMotionFadeOut(name, no));\n \n \n if (LAppDefine.DEBUG_LOG)\n console.log(\"Start motion : \" + motionName);\n\n if (this.modelSetting.getMotionSound(name, no) == null)\n {\n this.mainMotionManager.startMotionPrio(motion, priority);\n }\n else\n {\n var soundName = this.modelSetting.getMotionSound(name, no);\n // var player = new Sound(this.modelHomeDir + soundName);\n \n var snd = document.createElement(\"audio\");\n snd.src = this.modelHomeDir + soundName;\n \n if (LAppDefine.DEBUG_LOG)\n console.log(\"Start sound : \" + soundName);\n \n snd.play();\n this.mainMotionManager.startMotionPrio(motion, priority);\n }\n}\n\n\n\nLAppModel.prototype.setExpression = function(name)\n{\n var motion = this.expressions[name];\n \n if (LAppDefine.DEBUG_LOG)\n console.log(\"Expression : \" + name);\n \n this.expressionManager.startMotion(motion, false);\n}\n\n\n\nLAppModel.prototype.draw = function(gl)\n{\n //console.log(\"--> LAppModel.draw()\");\n \n // if(this.live2DModel == null) return;\n \n \n MatrixStack.push();\n \n MatrixStack.multMatrix(this.modelMatrix.getArray());\n \n this.tmpMatrix = MatrixStack.getMatrix()\n this.live2DModel.setMatrix(this.tmpMatrix);\n this.live2DModel.draw();\n \n MatrixStack.pop();\n \n};\n \n\n\nLAppModel.prototype.hitTest = function(id, testX, testY)\n{\n var len = this.modelSetting.getHitAreaNum();\n for (var i = 0; i < len; i++)\n { \n if (id == this.modelSetting.getHitAreaName(i))\n {\n var drawID = this.modelSetting.getHitAreaID(i);\n \n return this.hitTestSimple(drawID, testX, testY);\n }\n }\n \n return false; \n}\n\n\n// WEBPACK FOOTER //\n// ./src/LAppModel.js","/**\n *\n * You can modify and use this source freely\n * only for the development of application related Live2D.\n *\n * (c) Live2D Inc. All rights reserved.\n */\nimport {getContext} from \"./webglcontext\"\n\n//============================================================\n//============================================================\n// class PlatformManager extend IPlatformManager\n//============================================================\n//============================================================\nexport default function PlatformManager()\n{\n\n}\n\n//============================================================\n// PlatformManager # loadBytes()\n//============================================================\nPlatformManager.prototype.loadBytes = function(path/*String*/, callback)\n{\n var request = new XMLHttpRequest();\n request.open(\"GET\", path, true);\n request.responseType = \"arraybuffer\";\n request.onload = function(){\n switch(request.status){\n case 200:\n callback(request.response);\n break;\n default:\n console.error(\"Failed to load (\" + request.status + \") : \" + path);\n break;\n }\n }\n request.send(null);\n //return request;\n}\n\n//============================================================\n// PlatformManager # loadString()\n//============================================================\nPlatformManager.prototype.loadString = function(path/*String*/)\n{\n \n this.loadBytes(path, function(buf) { \n return buf;\n });\n \n}\n\n//============================================================\n// PlatformManager # loadLive2DModel()\n//============================================================\nPlatformManager.prototype.loadLive2DModel = function(path/*String*/, callback)\n{\n var model = null;\n \n // load moc\n this.loadBytes(path, function(buf){\n model = Live2DModelWebGL.loadModel(buf);\n callback(model);\n });\n\n}\n\n//============================================================\n// PlatformManager # loadTexture()\n//============================================================\nPlatformManager.prototype.loadTexture = function(model/*ALive2DModel*/, no/*int*/, path/*String*/, callback)\n{ \n // load textures\n var loadedImage = new Image();\n loadedImage.src = path;\n \n var thisRef = this;\n loadedImage.onload = function() {\n // create texture\n var gl = getContext();\n var texture = gl.createTexture();\t \n if (!texture){ console.error(\"Failed to generate gl texture name.\"); return -1; }\n\n if(model.isPremultipliedAlpha() == false){\n // 乗算済アルファテクスチャ以外の場合\n gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 1);\n }\n gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, 1);\t\n gl.activeTexture(gl.TEXTURE0);\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, \n gl.UNSIGNED_BYTE, loadedImage);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_NEAREST);\n gl.generateMipmap(gl.TEXTURE_2D);\n\n\n \n model.setTexture(no, texture);\n \n // テクスチャオブジェクトを解放\n texture = null;\n \n if (typeof callback == \"function\") callback();\n };\n \n loadedImage.onerror = function() { \n console.error(\"Failed to load image : \" + path); \n }\n}\n\n\n//============================================================\n// PlatformManager # parseFromBytes(buf)\n\n//============================================================\nPlatformManager.prototype.jsonParseFromBytes = function(buf){\n \n var jsonStr;\n \n \n \n var bomCode = new Uint8Array(buf, 0, 3);\n if (bomCode[0] == 239 && bomCode[1] == 187 && bomCode[2] == 191) {\n jsonStr = String.fromCharCode.apply(null, new Uint8Array(buf, 3));\n } else {\n jsonStr = String.fromCharCode.apply(null, new Uint8Array(buf));\n }\n \n var jsonObj = JSON.parse(jsonStr);\n \n return jsonObj;\n};\n\n\n//============================================================\n// PlatformManager # log()\n//============================================================\nPlatformManager.prototype.log = function(txt/*String*/)\n{\n //console.log(txt);\n}\n\nfunction getWebGLContext(canvas)\n{\n var NAMES = [ \"webgl\" , \"experimental-webgl\" , \"webkit-3d\" , \"moz-webgl\"];\n for( var i = 0; i < NAMES.length; i++ ){\n try{\n var ctx = canvas.getContext(NAMES[i], {premultipliedAlpha : true});\n if(ctx) return ctx;\n }\n catch(e){}\n }\n return null;\n};\n\n\n// WEBPACK FOOTER //\n// ./src/PlatformManager.js","import {Live2DFramework} from \"./Live2DFramework\"\n\nexport default function ModelSettingJson()\n{ \n this.NAME = \"name\";\n this.ID = \"id\";\n this.MODEL = \"model\";\n this.TEXTURES = \"textures\";\n this.HIT_AREAS = \"hit_areas\";\n this.PHYSICS = \"physics\";\n this.POSE = \"pose\";\n this.EXPRESSIONS = \"expressions\";\n this.MOTION_GROUPS = \"motions\";\n this.SOUND = \"sound\";\n this.FADE_IN = \"fade_in\";\n this.FADE_OUT = \"fade_out\";\n this.LAYOUT = \"layout\";\n this.INIT_PARAM = \"init_param\";\n this.INIT_PARTS_VISIBLE = \"init_parts_visible\";\n this.VALUE = \"val\";\n this.FILE = \"file\";\n\n this.json = {};\n}\n\n\nModelSettingJson.prototype.loadModelSetting = function(path, callback)\n{ \n var thisRef = this;\n var pm = Live2DFramework.getPlatformManager();\n pm.loadBytes(path, function(buf) {\n var str = String.fromCharCode.apply(null,new Uint8Array(buf));\n thisRef.json = JSON.parse(str);\n callback();\n });\n};\n\n\nModelSettingJson.prototype.getTextureFile = function(n)\n{ \n if (this.json[this.TEXTURES] == null || this.json[this.TEXTURES][n] == null)\n return null;\n \n return this.json[this.TEXTURES][n];\n}\n\n\nModelSettingJson.prototype.getModelFile = function()\n{ \n return this.json[this.MODEL];\n};\n\n\nModelSettingJson.prototype.getTextureNum = function()\n{ \n if (this.json[this.TEXTURES] == null) return 0;\n \n return this.json[this.TEXTURES].length;\n}\n\n\nModelSettingJson.prototype.getHitAreaNum = function()\n{\n if (this.json[this.HIT_AREAS] == null)\n return 0;\n\n return this.json[this.HIT_AREAS].length;\n}\n\n\nModelSettingJson.prototype.getHitAreaID = function(n)\n{\n if (this.json[this.HIT_AREAS] == null || \n this.json[this.HIT_AREAS][n] == null)\n return null;\n\n return this.json[this.HIT_AREAS][n][this.ID];\n}\n\n\nModelSettingJson.prototype.getHitAreaName = function(n)\n{\n if (this.json[this.HIT_AREAS] == null || \n this.json[this.HIT_AREAS][n] == null)\n return null;\n\n return this.json[this.HIT_AREAS][n][this.NAME];\n}\n\n\nModelSettingJson.prototype.getPhysicsFile = function()\n{\n return this.json[this.PHYSICS];\n}\n\n\nModelSettingJson.prototype.getPoseFile = function()\n{\n return this.json[this.POSE];\n}\n\n\nModelSettingJson.prototype.getExpressionNum = function()\n{\n return (this.json[this.EXPRESSIONS] == null) ? 0 : this.json[this.EXPRESSIONS].length;\n}\n\n\nModelSettingJson.prototype.getExpressionFile = function(n)\n{\n if (this.json[this.EXPRESSIONS] == null)\n return null;\n return this.json[this.EXPRESSIONS][n][this.FILE];\n}\n\n\nModelSettingJson.prototype.getExpressionName = function(n)\n{\n if (this.json[this.EXPRESSIONS] == null)\n return null;\n return this.json[this.EXPRESSIONS][n][this.NAME];\n}\n\n\nModelSettingJson.prototype.getLayout = function()\n{\n return this.json[this.LAYOUT];\n}\n\n\nModelSettingJson.prototype.getInitParamNum = function()\n{\n return (this.json[this.INIT_PARAM] == null) ? 0 : this.json[this.INIT_PARAM].length;\n}\n\n\nModelSettingJson.prototype.getMotionNum = function(name)\n{\n if (this.json[this.MOTION_GROUPS] == null || \n this.json[this.MOTION_GROUPS][name] == null)\n return 0;\n \n return this.json[this.MOTION_GROUPS][name].length;\n}\n\n\nModelSettingJson.prototype.getMotionFile = function(name, n)\n{\n if (this.json[this.MOTION_GROUPS] == null || \n this.json[this.MOTION_GROUPS][name] == null || \n this.json[this.MOTION_GROUPS][name][n] == null)\n return null;\n\n return this.json[this.MOTION_GROUPS][name][n][this.FILE];\n}\n\n\nModelSettingJson.prototype.getMotionSound = function(name, n)\n{\n if (this.json[this.MOTION_GROUPS] == null || \n this.json[this.MOTION_GROUPS][name] == null || \n this.json[this.MOTION_GROUPS][name][n] == null || \n this.json[this.MOTION_GROUPS][name][n][this.SOUND] == null)\n return null;\n\n return this.json[this.MOTION_GROUPS][name][n][this.SOUND];\n}\n\n\nModelSettingJson.prototype.getMotionFadeIn = function(name, n)\n{\n if (this.json[this.MOTION_GROUPS] == null || \n this.json[this.MOTION_GROUPS][name] == null || \n this.json[this.MOTION_GROUPS][name][n] == null || \n this.json[this.MOTION_GROUPS][name][n][this.FADE_IN] == null)\n return 1000;\n\n return this.json[this.MOTION_GROUPS][name][n][this.FADE_IN];\n}\n\n\nModelSettingJson.prototype.getMotionFadeOut = function(name, n)\n{\n if (this.json[this.MOTION_GROUPS] == null || \n this.json[this.MOTION_GROUPS][name] == null || \n this.json[this.MOTION_GROUPS][name][n] == null || \n this.json[this.MOTION_GROUPS][name][n][this.FADE_OUT] == null)\n return 1000;\n \n return this.json[this.MOTION_GROUPS][name][n][this.FADE_OUT];\n}\n\n\nModelSettingJson.prototype.getInitParamID = function(n)\n{\n if (this.json[this.INIT_PARAM] == null || \n this.json[this.INIT_PARAM][n] == null)\n return null;\n \n return this.json[this.INIT_PARAM][n][this.ID];\n}\n\n\nModelSettingJson.prototype.getInitParamValue = function(n)\n{\n if (this.json[this.INIT_PARAM] == null || this.json[this.INIT_PARAM][n] == null)\n return NaN;\n \n return this.json[this.INIT_PARAM][n][this.VALUE];\n}\n\n\nModelSettingJson.prototype.getInitPartsVisibleNum = function()\n{\n return (this.json[this.INIT_PARTS_VISIBLE] == null) ? 0 : this.json[this.INIT_PARTS_VISIBLE].length;\n}\n\n\nModelSettingJson.prototype.getInitPartsVisibleID = function(n)\n{\n if (this.json[this.INIT_PARTS_VISIBLE] == null || this.json[this.INIT_PARTS_VISIBLE][n] == null)\n return null;\n return this.json[this.INIT_PARTS_VISIBLE][n][this.ID];\n}\n\n\nModelSettingJson.prototype.getInitPartsVisibleValue = function(n)\n{\n if (this.json[this.INIT_PARTS_VISIBLE] == null || this.json[this.INIT_PARTS_VISIBLE][n] == null)\n return NaN;\n \n return this.json[this.INIT_PARTS_VISIBLE][n][this.VALUE];\n}\n\n\n// WEBPACK FOOTER //\n// ./src/lib/ModelSettingJson.js","\r\n(function(){var j=true;function aa(){if(j){return;}this._$MT=null;this._$5S=null;this._$NP=0;aa._$42++;this._$5S=new y(this);}aa._$0s=1;aa._$4s=2;aa._$42=0;aa._$62=function(aQ,aU){try{if(aU instanceof ArrayBuffer){aU=new DataView(aU);}if(!(aU instanceof DataView)){throw new J(\"_$SS#loadModel(b) / b _$x be DataView or ArrayBuffer\");}var aS=new K(aU);var aM=aS._$ST();var aK=aS._$ST();var aJ=aS._$ST();var aN;if(aM==109&&aK==111&&aJ==99){aN=aS._$ST();}else{throw new J(\"_$gi _$C _$li , _$Q0 _$P0.\");}aS._$gr(aN);if(aN>ay._$T7){aQ._$NP|=aa._$4s;var aR=ay._$T7;var aI=\"_$gi _$C _$li , _$n0 _$_ version _$li ( SDK : \"+aR+\" < _$f0 : \"+aN+\" )@_$SS#loadModel()\\n\";throw new J(aI);}var aL=aS._$nP();if(aN>=ay._$s7){var aH=aS._$9T();var aT=aS._$9T();if(aH!=-30584||aT!=-30584){aQ._$NP|=aa._$0s;throw new J(\"_$gi _$C _$li , _$0 _$6 _$Ui.\");}}aQ._$KS(aL);var aP=aQ.getModelContext();aP.setDrawParam(aQ.getDrawParam());aP.init();}catch(aO){q._$Rb(aO);}};aa.prototype._$KS=function(aH){this._$MT=aH;};aa.prototype.getModelImpl=function(){if(this._$MT==null){this._$MT=new w();this._$MT._$zP();}return this._$MT;};aa.prototype.getCanvasWidth=function(){if(this._$MT==null){return 0;}return this._$MT.getCanvasWidth();};aa.prototype.getCanvasHeight=function(){if(this._$MT==null){return 0;}return this._$MT.getCanvasHeight();};aa.prototype.getParamFloat=function(aH){if(typeof aH!=\"number\"){aH=this._$5S.getParamIndex(z.getID(aH));}return this._$5S.getParamFloat(aH);};aa.prototype.setParamFloat=function(aH,aJ,aI){if(typeof aH!=\"number\"){aH=this._$5S.getParamIndex(z.getID(aH));}if(arguments.length<3){aI=1;}this._$5S.setParamFloat(aH,this._$5S.getParamFloat(aH)*(1-aI)+aJ*aI);};aa.prototype.addToParamFloat=function(aH,aJ,aI){if(typeof aH!=\"number\"){aH=this._$5S.getParamIndex(z.getID(aH));}if(arguments.length<3){aI=1;}this._$5S.setParamFloat(aH,this._$5S.getParamFloat(aH)+aJ*aI);};aa.prototype.multParamFloat=function(aH,aJ,aI){if(typeof aH!=\"number\"){aH=this._$5S.getParamIndex(z.getID(aH));}if(arguments.length<3){aI=1;}this._$5S.setParamFloat(aH,this._$5S.getParamFloat(aH)*(1+(aJ-1)*aI));};aa.prototype.getParamIndex=function(aH){return this._$5S.getParamIndex(z.getID(aH));};aa.prototype.loadParam=function(){this._$5S.loadParam();};aa.prototype.saveParam=function(){this._$5S.saveParam();};aa.prototype.init=function(){this._$5S.init();};aa.prototype.update=function(){this._$5S.update();};aa.prototype._$Rs=function(){q._$li(\"_$60 _$PT _$Rs()\");return -1;};aa.prototype._$Ds=function(aH){q._$li(\"_$60 _$PT _$SS#_$Ds() \\n\");};aa.prototype._$K2=function(){};aa.prototype.draw=function(){};aa.prototype.getModelContext=function(){return this._$5S;};aa.prototype._$s2=function(){return this._$NP;};aa.prototype._$P7=function(aK,aR,aH,a0){var aU=-1;var aY=0;var aM=this;var aJ=0.5;var aI=0.15;var aX=true;if(aH==0){for(var aV=0;aV1){aQ=1;}}else{aQ-=aW;if(aQ<0){aQ=0;}}aM.setPartsOpacity(aO,aQ);}else{for(var aV=0;aV=0){break;}aU=aV;var aO=aR[aV];aY=aM.getPartsOpacity(aO);aY+=aH/a0;if(aY>1){aY=1;}}}if(aU<0){console.log(\"No _$wi _$q0/ _$U default[%s]\",aK[0]);aU=0;aY=1;aM.loadParam();aM.setParamFloat(aK[aU],aY);aM.saveParam();}for(var aV=0;aVaI){aZ=1-aI/(1-aY);}}if(aL>aZ){aL=aZ;}aM.setPartsOpacity(aO,aL);}}}}};aa.prototype.setPartsOpacity=function(aI,aH){if(typeof aI!=\"number\"){aI=this._$5S.getPartsDataIndex(i.getID(aI));}this._$5S.setPartsOpacity(aI,aH);};aa.prototype.getPartsDataIndex=function(aH){if(!(aH instanceof i)){aH=i.getID(aH);}return this._$5S.getPartsDataIndex(aH);};aa.prototype.getPartsOpacity=function(aH){if(typeof aH!=\"number\"){aH=this._$5S.getPartsDataIndex(i.getID(aH));}if(aH<0){return 0;}return this._$5S.getPartsOpacity(aH);};aa.prototype.getDrawParam=function(){};aa.prototype.getDrawDataIndex=function(aH){return this._$5S.getDrawDataIndex(Z.getID(aH));};aa.prototype.getDrawData=function(aH){return this._$5S.getDrawData(aH);};aa.prototype.getTransformedPoints=function(aH){var aI=this._$5S._$C2(aH);if(aI instanceof ag){return(aI).getTransformedPoints();}return null;};aa.prototype.getIndexArray=function(aI){if(aI<0||aI>=this._$5S._$aS.length){return null;}var aH=this._$5S._$aS[aI];if(aH!=null&&aH.getType()==a._$wb){if(aH instanceof b){return aH.getIndexArray();}}return null;};function W(aJ){if(j){return;}this.clipContextList=new Array();this.glcontext=aJ.gl;this.dp_webgl=aJ;this.curFrameNo=0;this.firstError_clipInNotUpdate=true;this.colorBuffer=0;this.isInitGLFBFunc=false;this.tmpBoundsOnModel=new av();if(Q.glContext.length>Q.frameBuffers.length){this.curFrameNo=this.getMaskRenderTexture();}else{}this.tmpModelToViewMatrix=new ac();this.tmpMatrix2=new ac();this.tmpMatrixForMask=new ac();this.tmpMatrixForDraw=new ac();this.CHANNEL_COLORS=new Array();var aI=new o();aI=new o();aI.r=0;aI.g=0;aI.b=0;aI.a=1;this.CHANNEL_COLORS.push(aI);aI=new o();aI.r=1;aI.g=0;aI.b=0;aI.a=0;this.CHANNEL_COLORS.push(aI);aI=new o();aI.r=0;aI.g=1;aI.b=0;aI.a=0;this.CHANNEL_COLORS.push(aI);aI=new o();aI.r=0;aI.g=0;aI.b=1;aI.a=0;this.CHANNEL_COLORS.push(aI);for(var aH=0;aH=0;--aH){this.CHANNEL_COLORS.splice(aH,1);}this.CHANNEL_COLORS=[];}this.releaseShader();};W.prototype.releaseShader=function(){var aI=Q.frameBuffers.length;for(var aH=0;aH0){var aM=aQ.gl.getParameter(aQ.gl.FRAMEBUFFER_BINDING);var aW=new Array(4);aW[0]=0;aW[1]=0;aW[2]=aQ.gl.canvas.width;aW[3]=aQ.gl.canvas.height;aQ.gl.viewport(0,0,Q.clippingMaskBufferSize,Q.clippingMaskBufferSize);this.setupLayoutBounds(aK);aQ.gl.bindFramebuffer(aQ.gl.FRAMEBUFFER,Q.frameBuffers[this.curFrameNo].framebuffer);aQ.gl.clearColor(0,0,0,0);aQ.gl.clear(aQ.gl.COLOR_BUFFER_BIT);for(var aO=0;aOa5?aU:a5;var aT=aJ;var aR=aJ;var aS=0;var aP=0;var aL=aV.clippedDrawContextList.length;for(var aM=0;aMaS){aS=a0;}if(aZ>aP){aP=aZ;}}}if(aT==aJ){aV.allClippedDrawRect.x=0;aV.allClippedDrawRect.y=0;aV.allClippedDrawRect.width=0;aV.allClippedDrawRect.height=0;aV.isUsing=false;}else{var aQ=aS-aT;var aY=aP-aR;aV.allClippedDrawRect.x=aT;aV.allClippedDrawRect.y=aR;aV.allClippedDrawRect.width=aQ;aV.allClippedDrawRect.height=aY;aV.isUsing=true;}};W.prototype.setupLayoutBounds=function(aQ){var aI=aQ/W.CHANNEL_COUNT;var aP=aQ%W.CHANNEL_COUNT;aI=~~aI;aP=~~aP;var aH=0;for(var aJ=0;aJ=1){return 1;}}var aS=aQ;var aI=aS*aS;var aH=aS*aI;var aT=aY*aH+aX*aI+aW*aS+aV;return aT;};ah.prototype._$a0=function(){};ah.prototype.setFadeIn=function(aH){this._$dP=aH;};ah.prototype.setFadeOut=function(aH){this._$eo=aH;};ah.prototype._$pT=function(aH){this._$V0=aH;};ah.prototype.getFadeOut=function(){return this._$eo;};ah.prototype._$4T=function(){return this._$eo;};ah.prototype._$mT=function(){return this._$V0;};ah.prototype.getDurationMSec=function(){return -1;};ah.prototype.getLoopDurationMSec=function(){return -1;};ah.prototype.updateParam=function(aJ,aN){if(!aN._$AT||aN._$9L){return;}var aL=P.getUserTimeMSec();if(aN._$z2<0){aN._$z2=aL;aN._$bs=aL;var aM=this.getDurationMSec();if(aN._$Do<0){aN._$Do=(aM<=0)?-1:aN._$z2+aM;}}var aI=this._$V0;var aH=(this._$dP==0)?1:A._$r2(((aL-aN._$bs)/(this._$dP)));var aK=(this._$eo==0||aN._$Do<0)?1:A._$r2(((aN._$Do-aL)/(this._$eo)));aI=aI*aH*aK;if(!((0<=aI&&aI<=1))){console.log(\"### assert!! ### \");}this.updateParamExe(aJ,aL,aI,aN);if(aN._$Do>0&&aN._$Do0){console.log(\"\\n\");}else{if(aH%8==0&&aH>0){console.log(\" \");}}console.log(\"%02X \",(aJ[aH]&255));}console.log(\"\\n\");};q._$nr=function(aL,aI,aK){console.log(\"%s\\n\",aL);var aH=aI.length;for(var aJ=0;aJ=0;--aJ){var aM=this._$lL[aJ];aM._$oP(aI,this);}this._$oo(aI,aK);this._$M2=this._$Yb();this._$9b=(this._$M2-this._$ks)/aK;this._$ks=this._$M2;}for(var aJ=this._$qP.length-1;aJ>=0;--aJ){var aH=this._$qP[aJ];aH._$YS(aI,this);}this._$iT=aL;};u.prototype._$oo=function(aN,aI){if(aI<0.033){aI=0.033;}var aU=1/aI;this.p1.vx=(this.p1.x-this.p1._$s0)*aU;this.p1.vy=(this.p1.y-this.p1._$70)*aU;this.p1.ax=(this.p1.vx-this.p1._$7L)*aU;this.p1.ay=(this.p1.vy-this.p1._$HL)*aU;this.p1.fx=this.p1.ax*this.p1._$p;this.p1.fy=this.p1.ay*this.p1._$p;this.p1._$xT();var aM=-(Math.atan2((this.p1.y-this.p2.y),this.p1.x-this.p2.x));var aL;var aV;var aR=Math.cos(aM);var aH=Math.sin(aM);var aW=9.8*this.p2._$p;var aQ=(this._$Db*aC._$bS);var aP=(aW*Math.cos(aM-aQ));aL=(aP*aH);aV=(aP*aR);var aK=(-this.p1.fx*aH*aH);var aT=(-this.p1.fy*aH*aR);var aJ=((-this.p2.vx*this._$L2));var aS=((-this.p2.vy*this._$L2));this.p2.fx=((aL+aK+aJ));this.p2.fy=((aV+aT+aS));this.p2.ax=this.p2.fx/this.p2._$p;this.p2.ay=this.p2.fy/this.p2._$p;this.p2.vx+=this.p2.ax*aI;this.p2.vy+=this.p2.ay*aI;this.p2.x+=this.p2.vx*aI;this.p2.y+=this.p2.vy*aI;var aO=(Math.sqrt((this.p1.x-this.p2.x)*(this.p1.x-this.p2.x)+(this.p1.y-this.p2.y)*(this.p1.y-this.p2.y)));this.p2.x=this.p1.x+this._$Fo*(this.p2.x-this.p1.x)/aO;this.p2.y=this.p1.y+this._$Fo*(this.p2.y-this.p1.y)/aO;this.p2.vx=(this.p2.x-this.p2._$s0)*aU;this.p2.vy=(this.p2.y-this.p2._$70)*aU;this.p2._$xT();};function N(){this._$p=1;this.x=0;this.y=0;this.vx=0;this.vy=0;this.ax=0;this.ay=0;this.fx=0;this.fy=0;this._$s0=0;this._$70=0;this._$7L=0;this._$HL=0;}N.prototype._$xT=function(){this._$s0=this.x;this._$70=this.y;this._$7L=this.vx;this._$HL=this.vy;};function at(aJ,aI,aH){this._$wL=null;this.scale=null;this._$V0=null;this._$wL=aJ;this.scale=aI;this._$V0=aH;}at.prototype._$oP=function(aI,aH){};function h(aJ,aK,aI,aH){at.prototype.constructor.call(this,aK,aI,aH);this._$tL=null;this._$tL=aJ;}h.prototype=new at();h.prototype._$oP=function(aJ,aH){var aK=this.scale*aJ.getParamFloat(this._$wL);var aL=aH.getPhysicsPoint1();switch(this._$tL){default:case u.Src.SRC_TO_X:aL.x=aL.x+(aK-aL.x)*this._$V0;break;case u.Src.SRC_TO_Y:aL.y=aL.y+(aK-aL.y)*this._$V0;break;case u.Src.SRC_TO_G_ANGLE:var aI=aH._$qr();aI=aI+(aK-aI)*this._$V0;aH._$pr(aI);break;}};function d(aJ,aI,aH){this._$wL=null;this.scale=null;this._$V0=null;this._$wL=aJ;this.scale=aI;this._$V0=aH;}d.prototype._$YS=function(aI,aH){};function aF(aI,aK,aJ,aH){d.prototype.constructor.call(this,aK,aJ,aH);this._$YP=null;this._$YP=aI;}aF.prototype=new d();aF.prototype._$YS=function(aI,aH){switch(this._$YP){default:case u.Target.TARGET_FROM_ANGLE:aI.setParamFloat(this._$wL,this.scale*aH._$5r(),this._$V0);break;case u.Target.TARGET_FROM_ANGLE_V:aI.setParamFloat(this._$wL,this.scale*aH._$Cs(),this._$V0);break;}};u.Src=function(){};u.Src.SRC_TO_X=\"SRC_TO_X\";u.Src.SRC_TO_Y=\"SRC_TO_Y\";u.Src.SRC_TO_G_ANGLE=\"SRC_TO_G_ANGLE\";u.Target=function(){};u.Target.TARGET_FROM_ANGLE=\"TARGET_FROM_ANGLE\";u.Target.TARGET_FROM_ANGLE_V=\"TARGET_FROM_ANGLE_V\";function X(){if(j){return;}this._$fL=0;this._$gL=0;this._$B0=1;this._$z0=1;this._$qT=0;this.reflectX=false;this.reflectY=false;}X.prototype.init=function(aH){this._$fL=aH._$fL;this._$gL=aH._$gL;this._$B0=aH._$B0;this._$z0=aH._$z0;this._$qT=aH._$qT;this.reflectX=aH.reflectX;this.reflectY=aH.reflectY;};X.prototype._$F0=function(aH){this._$fL=aH._$_T();this._$gL=aH._$_T();this._$B0=aH._$_T();this._$z0=aH._$_T();this._$qT=aH._$_T();if(aH.getFormatVersion()>=ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2){this.reflectX=aH._$po();this.reflectY=aH._$po();}};X.prototype._$e=function(){};var ad=function(){};ad._$ni=function(aL,aJ,aR,aQ,aK,aI,aH,aS,aN){var aM=(aH*aI-aS*aK);if(aM==0){return null;}else{var aO=((aL-aR)*aI-(aJ-aQ)*aK)/aM;var aP;if(aK!=0){aP=(aL-aR-aO*aH)/aK;}else{aP=(aJ-aQ-aO*aS)/aI;}if(isNaN(aP)){aP=(aL-aR-aO*aH)/aK;if(isNaN(aP)){aP=(aJ-aQ-aO*aS)/aI;}if(isNaN(aP)){console.log(\"a is NaN @UtVector#_$ni() \");console.log(\"v1x : \"+aK);console.log(\"v1x != 0 ? \"+(aK!=0));}}if(aN==null){return new Array(aP,aO);}else{aN[0]=aP;aN[1]=aO;return aN;}}};function av(){if(j){return;}this.x=null;this.y=null;this.width=null;this.height=null;}av.prototype._$8P=function(){return this.x+0.5*this.width;};av.prototype._$6P=function(){return this.y+0.5*this.height;};av.prototype._$EL=function(){return this.x+this.width;};av.prototype._$5T=function(){return this.y+this.height;};av.prototype._$jL=function(aI,aK,aJ,aH){this.x=aI;this.y=aK;this.width=aJ;this.height=aH;};av.prototype._$jL=function(aH){this.x=aH.x;this.y=aH.y;this.width=aH.width;this.height=aH.height;};av.prototype.contains=function(aH,aI){return this.x<=this.x&&this.y<=this.y&&(this.x<=this.x+this.width)&&(this.y<=this.y+this.height);};av.prototype.expand=function(aH,aI){this.x-=aH;this.y-=aI;this.width+=aH*2;this.height+=aI*2;};function aG(){}aG._$Z2=function(bb,bo,bp,a2){var a1=bo._$Q2(bb,bp);var a3=bb._$vs();var ba=bb._$Tr();bo._$zr(a3,ba,a1);if(a1<=0){return a2[a3[0]];}else{if(a1==1){var bj=a2[a3[0]];var bi=a2[a3[1]];var a9=ba[0];return(bj+(bi-bj)*a9)|0;}else{if(a1==2){var bj=a2[a3[0]];var bi=a2[a3[1]];var a0=a2[a3[2]];var aZ=a2[a3[3]];var a9=ba[0];var a8=ba[1];var br=(bj+(bi-bj)*a9)|0;var bq=(a0+(aZ-a0)*a9)|0;return(br+(bq-br)*a8)|0;}else{if(a1==3){var aP=a2[a3[0]];var aO=a2[a3[1]];var bn=a2[a3[2]];var bm=a2[a3[3]];var aK=a2[a3[4]];var aJ=a2[a3[5]];var bg=a2[a3[6]];var bf=a2[a3[7]];var a9=ba[0];var a8=ba[1];var a6=ba[2];var bj=(aP+(aO-aP)*a9)|0;var bi=(bn+(bm-bn)*a9)|0;var a0=(aK+(aJ-aK)*a9)|0;var aZ=(bg+(bf-bg)*a9)|0;var br=(bj+(bi-bj)*a8)|0;var bq=(a0+(aZ-a0)*a8)|0;return(br+(bq-br)*a6)|0;}else{if(a1==4){var aT=a2[a3[0]];var aS=a2[a3[1]];var bu=a2[a3[2]];var bt=a2[a3[3]];var aN=a2[a3[4]];var aM=a2[a3[5]];var bl=a2[a3[6]];var bk=a2[a3[7]];var be=a2[a3[8]];var bc=a2[a3[9]];var aX=a2[a3[10]];var aW=a2[a3[11]];var a7=a2[a3[12]];var a5=a2[a3[13]];var aR=a2[a3[14]];var aQ=a2[a3[15]];var a9=ba[0];var a8=ba[1];var a6=ba[2];var a4=ba[3];var aP=(aT+(aS-aT)*a9)|0;var aO=(bu+(bt-bu)*a9)|0;var bn=(aN+(aM-aN)*a9)|0;var bm=(bl+(bk-bl)*a9)|0;var aK=(be+(bc-be)*a9)|0;var aJ=(aX+(aW-aX)*a9)|0;var bg=(a7+(a5-a7)*a9)|0;var bf=(aR+(aQ-aR)*a9)|0;var bj=(aP+(aO-aP)*a8)|0;var bi=(bn+(bm-bn)*a8)|0;var a0=(aK+(aJ-aK)*a8)|0;var aZ=(bg+(bf-bg)*a8)|0;var br=(bj+(bi-bj)*a6)|0;var bq=(a0+(aZ-a0)*a6)|0;return(br+(bq-br)*a4)|0;}else{var aV=1<=ay._$T7){this.clipID=aH._$nP();this.clipIDList=this.convertClipIDForV2_11(this.clipID);}else{this.clipIDList=[];}this._$MS(this._$Lb);};ae.prototype.getClipIDList=function(){return this.clipIDList;};ae.prototype.init=function(aH){};ae.prototype._$Nr=function(aH,aI){aI._$IS[0]=false;aI._$Us=aG._$Z2(aH,this._$GS,aI._$IS,this._$Lb);if(Q._$Zs){}else{if(aI._$IS[0]){return;}}aI._$7s=aG._$br(aH,this._$GS,aI._$IS,this._$mS);};ae.prototype._$2b=function(aH,aI){};ae.prototype.getDrawDataID=function(){return this._$gP;};ae.prototype._$j2=function(aH){this._$gP=aH;};ae.prototype.getOpacity=function(aH,aI){return aI._$7s;};ae.prototype._$zS=function(aH,aI){return aI._$Us;};ae.prototype._$MS=function(aJ){for(var aI=aJ.length-1;aI>=0;--aI){var aH=aJ[aI];if(aHae._$R2){ae._$R2=aH;}}}};ae.prototype.getTargetBaseDataID=function(){return this._$dr;};ae.prototype._$gs=function(aH){this._$dr=aH;};ae.prototype._$32=function(){return(this._$dr!=null&&(this._$dr!=n._$2o()));};ae.prototype.preDraw=function(aJ,aH,aI){};ae.prototype.draw=function(aJ,aH,aI){};ae.prototype.getType=function(){};ae.prototype._$B2=function(aI,aH,aJ){};function ax(){if(j){return;}this._$Eb=ax._$ps;this._$lT=1;this._$C0=1;this._$tT=1;this._$WL=1;this.culling=false;this.matrix4x4=new Float32Array(16);this.premultipliedAlpha=false;this.anisotropy=0;this.clippingProcess=ax.CLIPPING_PROCESS_NONE;this.clipBufPre_clipContextMask=null;this.clipBufPre_clipContextDraw=null;this.CHANNEL_COLORS=new Array();}ax._$ps=32;ax.CLIPPING_PROCESS_NONE=0;ax.CLIPPING_PROCESS_OVERWRITE_ALPHA=1;ax.CLIPPING_PROCESS_MULTIPLY_ALPHA=2;ax.CLIPPING_PROCESS_DRAW=3;ax.CLIPPING_PROCESS_CLEAR_ALPHA=4;ax.prototype.setChannelFlagAsColor=function(aH,aI){this.CHANNEL_COLORS[aH]=aI;};ax.prototype.getChannelFlagAsColor=function(aH){return this.CHANNEL_COLORS[aH];};ax.prototype._$ZT=function(){};ax.prototype._$Uo=function(aM,aK,aJ,aL,aN,aI,aH){};ax.prototype._$Rs=function(){return -1;};ax.prototype._$Ds=function(aH){};ax.prototype.setBaseColor=function(aK,aJ,aI,aH){if(aK<0){aK=0;}else{if(aK>1){aK=1;}}if(aJ<0){aJ=0;}else{if(aJ>1){aJ=1;}}if(aI<0){aI=0;}else{if(aI>1){aI=1;}}if(aH<0){aH=0;}else{if(aH>1){aH=1;}}this._$lT=aK;this._$C0=aJ;this._$tT=aI;this._$WL=aH;};ax.prototype._$WP=function(aH){this.culling=aH;};ax.prototype.setMatrix=function(aH){for(var aI=0;aI<16;aI++){this.matrix4x4[aI]=aH[aI];}};ax.prototype._$IT=function(){return this.matrix4x4;};ax.prototype.setPremultipliedAlpha=function(aH){this.premultipliedAlpha=aH;};ax.prototype.isPremultipliedAlpha=function(){return this.premultipliedAlpha;};ax.prototype.setAnisotropy=function(aH){this.anisotropy=aH;};ax.prototype.getAnisotropy=function(){return this.anisotropy;};ax.prototype.getClippingProcess=function(){return this.clippingProcess;};ax.prototype.setClippingProcess=function(aH){this.clippingProcess=aH;};ax.prototype.setClipBufPre_clipContextForMask=function(aH){this.clipBufPre_clipContextMask=aH;};ax.prototype.getClipBufPre_clipContextMask=function(){return this.clipBufPre_clipContextMask;};ax.prototype.setClipBufPre_clipContextForDraw=function(aH){this.clipBufPre_clipContextDraw=aH;};ax.prototype.getClipBufPre_clipContextDraw=function(){return this.clipBufPre_clipContextDraw;};function o(){if(j){return;}this.a=1;this.r=1;this.g=1;this.b=1;this.scale=1;this._$ho=1;this.blendMode=Q.L2D_COLOR_BLEND_MODE_MULT;}function c(){if(j){return;}this._$kP=null;this._$dr=null;this._$Ai=true;this._$mS=null;}c._$ur=-2;c._$c2=1;c._$_b=2;c.prototype._$F0=function(aH){this._$kP=aH._$nP();this._$dr=aH._$nP();};c.prototype.readV2_opacity=function(aH){if(aH.getFormatVersion()>=ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2){this._$mS=aH._$Tb();}};c.prototype.init=function(aH){};c.prototype._$Nr=function(aI,aH){};c.prototype.interpolateOpacity=function(aJ,aK,aI,aH){if(this._$mS==null){aI.setInterpolatedOpacity(1);}else{aI.setInterpolatedOpacity(aG._$br(aJ,aK,aH,this._$mS));}};c.prototype._$2b=function(aI,aH){};c.prototype._$nb=function(aL,aK,aM,aH,aI,aJ,aN){};c.prototype.getType=function(){};c.prototype._$gs=function(aH){this._$dr=aH;};c.prototype._$a2=function(aH){this._$kP=aH;};c.prototype.getTargetBaseDataID=function(){return this._$dr;};c.prototype.getBaseDataID=function(){return this._$kP;};c.prototype._$32=function(){return(this._$dr!=null&&(this._$dr!=n._$2o()));};function P(){}P._$W2=0;P._$CS=P._$W2;P._$Mo=function(){return true;};P._$XP=function(aI){try{var aJ=getTimeMSec();while(getTimeMSec()-aJ=aJ.length){return false;}for(var aI=aL;aI=0;--aJ){var aI=this._$Ob[aJ].getParamIndex(aH);if(aI==aA._$ds){aI=aK.getParamIndex(this._$Ob[aJ].getParamID());}if(aK._$Xb(aI)){return true;}}return false;};g.prototype._$Q2=function(aL,aV){var aX=this._$Ob.length;var aJ=aL._$v2();var aN=0;var aI;var aQ;for(var aK=0;aKaw._$Qb){console.log(\"err 23245\\n\");}var aS=this._$Ob.length;var aK=1;var aH=1;var aJ=0;for(var aQ=0;aQ=0;--aK){aM[aK]=aL[aK];}}else{this.mult_fast(aI,aH,aM,aJ);}};ac.prototype.mult_fast=function(aI,aH,aK,aJ){if(aJ){aK[0]=aI[0]*aH[0]+aI[4]*aH[1]+aI[8]*aH[2];aK[4]=aI[0]*aH[4]+aI[4]*aH[5]+aI[8]*aH[6];aK[8]=aI[0]*aH[8]+aI[4]*aH[9]+aI[8]*aH[10];aK[12]=aI[0]*aH[12]+aI[4]*aH[13]+aI[8]*aH[14]+aI[12];aK[1]=aI[1]*aH[0]+aI[5]*aH[1]+aI[9]*aH[2];aK[5]=aI[1]*aH[4]+aI[5]*aH[5]+aI[9]*aH[6];aK[9]=aI[1]*aH[8]+aI[5]*aH[9]+aI[9]*aH[10];aK[13]=aI[1]*aH[12]+aI[5]*aH[13]+aI[9]*aH[14]+aI[13];aK[2]=aI[2]*aH[0]+aI[6]*aH[1]+aI[10]*aH[2];aK[6]=aI[2]*aH[4]+aI[6]*aH[5]+aI[10]*aH[6];aK[10]=aI[2]*aH[8]+aI[6]*aH[9]+aI[10]*aH[10];aK[14]=aI[2]*aH[12]+aI[6]*aH[13]+aI[10]*aH[14]+aI[14];aK[3]=aK[7]=aK[11]=0;aK[15]=1;}else{aK[0]=aI[0]*aH[0]+aI[4]*aH[1]+aI[8]*aH[2]+aI[12]*aH[3];aK[4]=aI[0]*aH[4]+aI[4]*aH[5]+aI[8]*aH[6]+aI[12]*aH[7];aK[8]=aI[0]*aH[8]+aI[4]*aH[9]+aI[8]*aH[10]+aI[12]*aH[11];aK[12]=aI[0]*aH[12]+aI[4]*aH[13]+aI[8]*aH[14]+aI[12]*aH[15];aK[1]=aI[1]*aH[0]+aI[5]*aH[1]+aI[9]*aH[2]+aI[13]*aH[3];aK[5]=aI[1]*aH[4]+aI[5]*aH[5]+aI[9]*aH[6]+aI[13]*aH[7];aK[9]=aI[1]*aH[8]+aI[5]*aH[9]+aI[9]*aH[10]+aI[13]*aH[11];aK[13]=aI[1]*aH[12]+aI[5]*aH[13]+aI[9]*aH[14]+aI[13]*aH[15];aK[2]=aI[2]*aH[0]+aI[6]*aH[1]+aI[10]*aH[2]+aI[14]*aH[3];aK[6]=aI[2]*aH[4]+aI[6]*aH[5]+aI[10]*aH[6]+aI[14]*aH[7];aK[10]=aI[2]*aH[8]+aI[6]*aH[9]+aI[10]*aH[10]+aI[14]*aH[11];aK[14]=aI[2]*aH[12]+aI[6]*aH[13]+aI[10]*aH[14]+aI[14]*aH[15];aK[3]=aI[3]*aH[0]+aI[7]*aH[1]+aI[11]*aH[2]+aI[15]*aH[3];aK[7]=aI[3]*aH[4]+aI[7]*aH[5]+aI[11]*aH[6]+aI[15]*aH[7];aK[11]=aI[3]*aH[8]+aI[7]*aH[9]+aI[11]*aH[10]+aI[15]*aH[11];aK[15]=aI[3]*aH[12]+aI[7]*aH[13]+aI[11]*aH[14]+aI[15]*aH[15];}};ac.prototype.translate=function(aH,aJ,aI){this.m[12]=this.m[0]*aH+this.m[4]*aJ+this.m[8]*aI+this.m[12];this.m[13]=this.m[1]*aH+this.m[5]*aJ+this.m[9]*aI+this.m[13];this.m[14]=this.m[2]*aH+this.m[6]*aJ+this.m[10]*aI+this.m[14];this.m[15]=this.m[3]*aH+this.m[7]*aJ+this.m[11]*aI+this.m[15];};ac.prototype.scale=function(aJ,aI,aH){this.m[0]*=aJ;this.m[4]*=aI;this.m[8]*=aH;this.m[1]*=aJ;this.m[5]*=aI;this.m[9]*=aH;this.m[2]*=aJ;this.m[6]*=aI;this.m[10]*=aH;this.m[3]*=aJ;this.m[7]*=aI;this.m[11]*=aH;};ac.prototype.rotateX=function(aH){var aK=aC.fcos(aH);var aJ=aC._$9(aH);var aI=this.m[4];this.m[4]=aI*aK+this.m[8]*aJ;this.m[8]=aI*-aJ+this.m[8]*aK;aI=this.m[5];this.m[5]=aI*aK+this.m[9]*aJ;this.m[9]=aI*-aJ+this.m[9]*aK;aI=this.m[6];this.m[6]=aI*aK+this.m[10]*aJ;this.m[10]=aI*-aJ+this.m[10]*aK;aI=this.m[7];this.m[7]=aI*aK+this.m[11]*aJ;this.m[11]=aI*-aJ+this.m[11]*aK;};ac.prototype.rotateY=function(aH){var aK=aC.fcos(aH);var aJ=aC._$9(aH);var aI=this.m[0];this.m[0]=aI*aK+this.m[8]*-aJ;this.m[8]=aI*aJ+this.m[8]*aK;aI=this.m[1];this.m[1]=aI*aK+this.m[9]*-aJ;this.m[9]=aI*aJ+this.m[9]*aK;aI=m[2];this.m[2]=aI*aK+this.m[10]*-aJ;this.m[10]=aI*aJ+this.m[10]*aK;aI=m[3];this.m[3]=aI*aK+this.m[11]*-aJ;this.m[11]=aI*aJ+this.m[11]*aK;};ac.prototype.rotateZ=function(aH){var aK=aC.fcos(aH);var aJ=aC._$9(aH);var aI=this.m[0];this.m[0]=aI*aK+this.m[4]*aJ;this.m[4]=aI*-aJ+this.m[4]*aK;aI=this.m[1];this.m[1]=aI*aK+this.m[5]*aJ;this.m[5]=aI*-aJ+this.m[5]*aK;aI=this.m[2];this.m[2]=aI*aK+this.m[6]*aJ;this.m[6]=aI*-aJ+this.m[6]*aK;aI=this.m[3];this.m[3]=aI*aK+this.m[7]*aJ;this.m[7]=aI*-aJ+this.m[7]*aK;};function Z(aH){if(j){return;}ak.prototype.constructor.call(this,aH);}Z.prototype=new ak();Z._$tP=new Object();Z._$27=function(){Z._$tP.clear();};Z.getID=function(aH){var aI=Z._$tP[aH];if(aI==null){aI=new Z(aH);Z._$tP[aH]=aI;}return aI;};Z.prototype._$3s=function(){return new Z();};function aD(){if(j){return;}this._$7=1;this._$f=0;this._$H=0;this._$g=1;this._$k=0;this._$w=0;this._$hi=STATE_IDENTITY;this._$Z=_$pS;}aD._$kS=-1;aD._$pS=0;aD._$hb=1;aD.STATE_IDENTITY=0;aD._$gb=1;aD._$fo=2;aD._$go=4;aD.prototype.transform=function(aK,aI,aH){var aT,aS,aR,aM,aL,aJ;var aQ=0;var aN=0;switch(this._$hi){default:return;case (aD._$go|aD._$fo|aD._$gb):aT=this._$7;aS=this._$H;aR=this._$k;aM=this._$f;aL=this._$g;aJ=this._$w;while(--aH>=0){var aP=aK[aQ++];var aO=aK[aQ++];aI[aN++]=(aT*aP+aS*aO+aR);aI[aN++]=(aM*aP+aL*aO+aJ);}return;case (aD._$go|aD._$fo):aT=this._$7;aS=this._$H;aM=this._$f;aL=this._$g;while(--aH>=0){var aP=aK[aQ++];var aO=aK[aQ++];aI[aN++]=(aT*aP+aS*aO);aI[aN++]=(aM*aP+aL*aO);}return;case (aD._$go|aD._$gb):aS=this._$H;aR=this._$k;aM=this._$f;aJ=this._$w;while(--aH>=0){var aP=aK[aQ++];aI[aN++]=(aS*aK[aQ++]+aR);aI[aN++]=(aM*aP+aJ);}return;case (aD._$go):aS=this._$H;aM=this._$f;while(--aH>=0){var aP=aK[aQ++];aI[aN++]=(aS*aK[aQ++]);aI[aN++]=(aM*aP);}return;case (aD._$fo|aD._$gb):aT=this._$7;aR=this._$k;aL=this._$g;aJ=this._$w;while(--aH>=0){aI[aN++]=(aT*aK[aQ++]+aR);aI[aN++]=(aL*aK[aQ++]+aJ);}return;case (aD._$fo):aT=this._$7;aL=this._$g;while(--aH>=0){aI[aN++]=(aT*aK[aQ++]);aI[aN++]=(aL*aK[aQ++]);}return;case (aD._$gb):aR=this._$k;aJ=this._$w;while(--aH>=0){aI[aN++]=(aK[aQ++]+aR);aI[aN++]=(aK[aQ++]+aJ);}return;case (aD.STATE_IDENTITY):if(aK!=aI||aQ!=aN){P._$jT(aK,aQ,aI,aN,aH*2);}return;}};aD.prototype.update=function(){if(this._$H==0&&this._$f==0){if(this._$7==1&&this._$g==1){if(this._$k==0&&this._$w==0){this._$hi=aD.STATE_IDENTITY;this._$Z=aD._$pS;}else{this._$hi=aD._$gb;this._$Z=aD._$hb;}}else{if(this._$k==0&&this._$w==0){this._$hi=aD._$fo;this._$Z=aD._$kS;}else{this._$hi=(aD._$fo|aD._$gb);this._$Z=aD._$kS;}}}else{if(this._$7==0&&this._$g==0){if(this._$k==0&&this._$w==0){this._$hi=aD._$go;this._$Z=aD._$kS;}else{this._$hi=(aD._$go|aD._$gb);this._$Z=aD._$kS;}}else{if(this._$k==0&&this._$w==0){this._$hi=(aD._$go|aD._$fo);this._$Z=aD._$kS;}else{this._$hi=(aD._$go|aD._$fo|aD._$gb);this._$Z=aD._$kS;}}}};aD.prototype._$RT=function(aK){this._$IT(aK);var aJ=aK[0];var aH=aK[2];var aN=aK[1];var aM=aK[3];var aI=Math.sqrt(aJ*aJ+aN*aN);var aL=aJ*aM-aH*aN;if(aI==0){if(Q._$so){console.log(\"affine._$RT() / rt==0\");}}else{aK[0]=aI;aK[1]=aL/aI;aK[2]=(aN*aM+aJ*aH)/aL;aK[3]=Math.atan2(aN,aJ);}};aD.prototype._$ho=function(aN,aM,aI,aH){var aL=new Float32Array(6);var aK=new Float32Array(6);aN._$RT(aL);aM._$RT(aK);var aJ=new Float32Array(6);aJ[0]=aL[0]+(aK[0]-aL[0])*aI;aJ[1]=aL[1]+(aK[1]-aL[1])*aI;aJ[2]=aL[2]+(aK[2]-aL[2])*aI;aJ[3]=aL[3]+(aK[3]-aL[3])*aI;aJ[4]=aL[4]+(aK[4]-aL[4])*aI;aJ[5]=aL[5]+(aK[5]-aL[5])*aI;aH._$CT(aJ);};aD.prototype._$CT=function(aJ){var aI=Math.cos(aJ[3]);var aH=Math.sin(aJ[3]);this._$7=aJ[0]*aI;this._$f=aJ[0]*aH;this._$H=aJ[1]*(aJ[2]*aI-aH);this._$g=aJ[1]*(aJ[2]*aH+aI);this._$k=aJ[4];this._$w=aJ[5];this.update();};aD.prototype._$IT=function(aH){aH[0]=this._$7;aH[1]=this._$f;aH[2]=this._$H;aH[3]=this._$g;aH[4]=this._$k;aH[5]=this._$w;};function Y(){if(j){return;}ah.prototype.constructor.call(this);this.motions=new Array();this._$7r=null;this._$7r=Y._$Co++;this._$D0=30;this._$yT=0;this._$E=true;this.loopFadeIn=true;this._$AS=-1;_$a0();}Y.prototype=new ah();Y._$cs=\"VISIBLE:\";Y._$ar=\"LAYOUT:\";Y._$Co=0;Y._$D2=[];Y._$1T=1;Y.loadMotion=function(aR){var aM=new Y();var aI=[0];var aP=aR.length;aM._$yT=0;for(var aJ=0;aJ=0){if(aK==aT+4&&aR[aT+1]==\"f\"&&aR[aT+2]==\"p\"&&aR[aT+3]==\"s\"){aO=true;}for(aJ=aK+1;aJ0){if(aO&&5=0){var aN=new t();if(G.startsWith(aR,aT,Y._$cs)){aN._$RP=t._$hs;aN._$4P=new String(aR,aT,aK-aT);}else{if(G.startsWith(aR,aT,Y._$ar)){aN._$4P=new String(aR,aT+7,aK-aT-7);if(G.startsWith(aR,aT+7,\"ANCHOR_X\")){aN._$RP=t._$xs;}else{if(G.startsWith(aR,aT+7,\"ANCHOR_Y\")){aN._$RP=t._$us;}else{if(G.startsWith(aR,aT+7,\"SCALE_X\")){aN._$RP=t._$qs;}else{if(G.startsWith(aR,aT+7,\"SCALE_Y\")){aN._$RP=t._$Ys;}else{if(G.startsWith(aR,aT+7,\"X\")){aN._$RP=t._$ws;}else{if(G.startsWith(aR,aT+7,\"Y\")){aN._$RP=t._$Ns;}}}}}}}else{aN._$RP=t._$Fr;aN._$4P=new String(aR,aT,aK-aT);}}aM.motions.push(aN);var aS=0;Y._$D2.clear();for(aJ=aK+1;aJ0){Y._$D2.push(aL);aS++;var aH=aI[0];if(aHaM._$yT){aM._$yT=aS;}}}}aM._$AS=((1000*aM._$yT)/aM._$D0)|0;return aM;};Y.prototype.getDurationMSec=function(){return this._$AS;};Y.prototype.dump=function(){for(var aJ=0;aJ=aK?aK-1:aJ)];aH.setParamFloat(aQ,aT);}else{if(t._$ws<=aS._$RP&&aS._$RP<=t._$Ys){}else{var aR=aH.getParamFloat(aQ);var aY=aS._$I0[(aJ>=aK?aK-1:aJ)];var aW=aS._$I0[(aJ+1>=aK?aK-1:aJ+1)];var aI=aY+(aW-aY)*aP;var aN=aR+(aI-aR)*aO;aH.setParamFloat(aQ,aN);}}}if(aJ>=this._$yT){if(this._$E){aX._$z2=aL;if(this.loopFadeIn){aX._$bs=aL;}}else{aX._$9L=true;}}};Y.prototype._$r0=function(){return this._$E;};Y.prototype._$aL=function(aH){this._$E=aH;};Y.prototype.isLoopFadeIn=function(){return this.loopFadeIn;};Y.prototype.setLoopFadeIn=function(aH){this.loopFadeIn=aH;};function aE(){this._$P=new Float32Array(100);this.size=0;}aE.prototype.clear=function(){this.size=0;};aE.prototype.add=function(aI){if(this._$P.length<=this.size){var aH=new Float32Array(this.size*2);P._$jT(this._$P,0,aH,0,this.size);this._$P=aH;}this._$P[this.size++]=aI;};aE.prototype._$BL=function(){var aH=new Float32Array(this.size);P._$jT(this._$P,0,aH,0,this.size);return aH;};function t(){this._$4P=null;this._$I0=null;this._$RP=null;}t._$Fr=0;t._$hs=1;t._$ws=100;t._$Ns=101;t._$xs=102;t._$us=103;t._$qs=104;t._$Ys=105;function aw(){}aw._$Ms=1;aw._$Qs=2;aw._$i2=0;aw._$No=2;aw._$do=aw._$Ms;aw._$Ls=true;aw._$1r=5;aw._$Qb=65;aw._$J=0.0001;aw._$FT=0.001;aw._$Ss=3;function ay(){}ay._$o7=6;ay._$S7=7;ay._$s7=8;ay._$77=9;ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2=10;ay.LIVE2D_FORMAT_VERSION_V2_11_SDK2_1=11;ay._$T7=ay.LIVE2D_FORMAT_VERSION_V2_11_SDK2_1;ay._$Is=-2004318072;ay._$h0=0;ay._$4L=23;ay._$7P=33;ay._$uT=function(aH){console.log(\"_$bo :: _$6 _$mo _$E0 : %d\\n\",aH);};ay._$9o=function(aH){if(aH<40){ay._$uT(aH);return null;}else{if(aH<50){ay._$uT(aH);return null;}else{if(aH<60){ay._$uT(aH);return null;}else{if(aH<100){switch(aH){case 65:return new E();case 66:return new g();case 67:return new aA();case 68:return new ab();case 69:return new X();case 70:return new b();default:ay._$uT(aH);return null;}}else{if(aH<150){switch(aH){case 131:return new f();case 133:return new s();case 136:return new w();case 137:return new an();case 142:return new aq();}}}}}}ay._$uT(aH);return null;};function y(aH){if(j){return;}this._$QT=true;this._$co=-1;this._$qo=0;this._$pb=new Array(y._$is);this._$_2=new Float32Array(y._$is);this._$vr=new Float32Array(y._$is);this._$Rr=new Float32Array(y._$is);this._$Or=new Float32Array(y._$is);this._$fs=new Float32Array(y._$is);this._$Js=new Array(y._$is);this._$3S=new Array();this._$aS=new Array();this._$Bo=null;this._$F2=new Array();this._$db=new Array();this._$8b=new Array();this._$Hr=new Array();this._$Ws=null;this._$Vs=null;this._$Er=null;this._$Es=new Int16Array(aw._$Qb);this._$ZP=new Float32Array(aw._$1r*2);this._$Ri=aH;this._$b0=y._$HP++;this.clipManager=null;this.dp_webgl=null;}y._$HP=0;y._$_0=true;y._$V2=-1;y._$W0=-1;y._$jr=false;y._$ZS=true;y._$tr=(-1000000);y._$lr=(1000000);y._$is=32;y._$e=false;y.prototype.getDrawDataIndex=function(aI){for(var aH=this._$aS.length-1;aH>=0;--aH){if(this._$aS[aH]!=null&&this._$aS[aH].getDrawDataID()==aI){return aH;}}return -1;};y.prototype.getDrawData=function(aH){if(aH instanceof Z){if(this._$Bo==null){this._$Bo=new Object();var aJ=this._$aS.length;for(var aI=0;aI0){this.release();}var aO=this._$Ri.getModelImpl();var aT=aO._$Xr();var aS=aT.length;var aH=new Array();var a3=new Array();for(var aV=0;aV=0){this._$3S.push(aL);this._$db.push(a3[aV]);aH[aV]=null;aX=true;}}if(!aX){break;}}var aI=aO._$E2();if(aI!=null){var aJ=aI._$1s();if(aJ!=null){var aW=aJ.length;for(var aV=0;aV=0;aW--){this._$Js[aW]=y._$jr;}this._$QT=false;if(y._$e){q.dump(\"_$eL\");}return aX;};y.prototype.preDraw=function(aH){if(this.clipManager!=null){aH._$ZT();this.clipManager.setupClip(this,aH);}};y.prototype.draw=function(aM){if(this._$Ws==null){q._$li(\"call _$Ri.update() before _$Ri.draw() \");return;}var aP=this._$Ws.length;aM._$ZT();for(var aK=0;aK=0;--aI){if(this._$pb[aI]==aH){return aI;}}return this._$02(aH,0,y._$tr,y._$lr);};y.prototype._$BS=function(aH){return this.getBaseDataIndex(aH);};y.prototype.getBaseDataIndex=function(aH){for(var aI=this._$3S.length-1;aI>=0;--aI){if(this._$3S[aI]!=null&&this._$3S[aI].getBaseDataID()==aH){return aI;}}return -1;};y.prototype._$UT=function(aJ,aH){var aI=new Float32Array(aH);P._$jT(aJ,0,aI,0,aJ.length);return aI;};y.prototype._$02=function(aN,aM,aL,aH){if(this._$qo>=this._$pb.length){var aK=this._$pb.length;var aJ=new Array(aK*2);P._$jT(this._$pb,0,aJ,0,aK);this._$pb=aJ;this._$_2=this._$UT(this._$_2,aK*2);this._$vr=this._$UT(this._$vr,aK*2);this._$Rr=this._$UT(this._$Rr,aK*2);this._$Or=this._$UT(this._$Or,aK*2);var aI=new Array();P._$jT(this._$Js,0,aI,0,aK);this._$Js=aI;}this._$pb[this._$qo]=aN;this._$_2[this._$qo]=aM;this._$vr[this._$qo]=aM;this._$Rr[this._$qo]=aL;this._$Or[this._$qo]=aH;this._$Js[this._$qo]=y._$ZS;return this._$qo++;};y.prototype._$Zo=function(aI,aH){this._$3S[aI]=aH;};y.prototype.setParamFloat=function(aH,aI){if(aIthis._$Or[aH]){aI=this._$Or[aH];}this._$_2[aH]=aI;};y.prototype.loadParam=function(){var aH=this._$_2.length;if(aH>this._$fs.length){aH=this._$fs.length;}P._$jT(this._$fs,0,this._$_2,0,aH);};y.prototype.saveParam=function(){var aH=this._$_2.length;if(aH>this._$fs.length){this._$fs=new Float32Array(aH);}P._$jT(this._$_2,0,this._$fs,0,aH);};y.prototype._$v2=function(){return this._$co;};y.prototype._$WS=function(){return this._$QT;};y.prototype._$Xb=function(aH){return this._$Js[aH]==y._$ZS;};y.prototype._$vs=function(){return this._$Es;};y.prototype._$Tr=function(){return this._$ZP;};y.prototype.getBaseData=function(aH){return this._$3S[aH];};y.prototype.getParamFloat=function(aH){return this._$_2[aH];};y.prototype.getParamMax=function(aH){return this._$Or[aH];};y.prototype.getParamMin=function(aH){return this._$Rr[aH];};y.prototype.setPartsOpacity=function(aJ,aH){var aI=this._$Hr[aJ];aI.setPartsOpacity(aH);};y.prototype.getPartsOpacity=function(aI){var aH=this._$Hr[aI];return aH.getPartsOpacity();};y.prototype.getPartsDataIndex=function(aI){for(var aH=this._$F2.length-1;aH>=0;--aH){if(this._$F2[aH]!=null&&this._$F2[aH]._$p2()==aI){return aH;}}return -1;};y.prototype._$q2=function(aH){return this._$db[aH];};y.prototype._$C2=function(aH){return this._$8b[aH];};y.prototype._$Bb=function(aH){return this._$Hr[aH];};y.prototype._$5s=function(aO,aK){var aJ=this._$Ws.length;var aN=aO;for(var aL=0;aL0){aL+=aK;}return aI;};ap._$C=function(aJ){var aI=null;var aL=null;try{aI=(aJ instanceof Array)?aJ:new _$Xs(aJ,8192);aL=new _$js();var aM=1000;var aK;var aH=new Int8Array(aM);while((aK=aI.read(aH))>0){aL.write(aH,0,aK);}return aL._$TS();}finally{if(aJ!=null){aJ.close();}if(aL!=null){aL.flush();aL.close();}}};function ar(){if(j){return;}this._$12=null;this._$bb=null;this._$_L=null;this._$jo=null;this._$iL=null;this._$0L=null;this._$Br=null;this._$Dr=null;this._$Cb=null;this._$mr=null;this._$_L=az.STATE_FIRST;this._$Br=4000;this._$Dr=100;this._$Cb=50;this._$mr=150;this._$jo=true;this._$iL=\"PARAM_EYE_L_OPEN\";this._$0L=\"PARAM_EYE_R_OPEN\";}ar.prototype._$T2=function(){var aI=P.getUserTimeMSec();var aH=Math._$10();return(aI+aH*(2*this._$Br-1));};ar.prototype._$uo=function(aH){this._$Br=aH;};ar.prototype._$QS=function(aI,aH,aJ){this._$Dr=aI;this._$Cb=aH;this._$mr=aJ;};ar.prototype._$7T=function(aI){var aK=P.getUserTimeMSec();var aH;var aJ=0;switch(this._$_L){case STATE_CLOSING:aJ=(aK-this._$bb)/this._$Dr;if(aJ>=1){aJ=1;this._$_L=az.STATE_CLOSED;this._$bb=aK;}aH=1-aJ;break;case STATE_CLOSED:aJ=(aK-this._$bb)/this._$Cb;if(aJ>=1){this._$_L=az.STATE_OPENING;this._$bb=aK;}aH=0;break;case STATE_OPENING:aJ=(aK-this._$bb)/this._$mr;if(aJ>=1){aJ=1;this._$_L=az.STATE_INTERVAL;this._$12=this._$T2();}aH=aJ;break;case STATE_INTERVAL:if(this._$120.9?Q.EXPAND_W:0;this.gl.drawElements(aL,aP,aI,aQ,aM,aN,this.transform,aJ);};x.prototype._$Rs=function(){throw new Error(\"_$Rs\");};x.prototype._$Ds=function(aH){throw new Error(\"_$Ds\");};x.prototype._$K2=function(){for(var aH=0;aH=0;--aI){var aH=aJ[aI];if(aHa._$R2){a._$R2=aH;}}}};a._$or=function(){return a._$52;};a._$Pr=function(){return a._$R2;};a.prototype._$F0=function(aH){this._$gP=aH._$nP();this._$dr=aH._$nP();this._$GS=aH._$nP();this._$qb=aH._$6L();this._$Lb=aH._$cS();this._$mS=aH._$Tb();if(aH.getFormatVersion()>=ay._$T7){this.clipID=aH._$nP();this.clipIDList=this.convertClipIDForV2_11(this.clipID);}else{this.clipIDList=null;}a._$Sb(this._$Lb);};a.prototype.getClipIDList=function(){return this.clipIDList;};a.prototype._$Nr=function(aI,aH){aH._$IS[0]=false;aH._$Us=aG._$Z2(aI,this._$GS,aH._$IS,this._$Lb);if(Q._$Zs){}else{if(aH._$IS[0]){return;}}aH._$7s=aG._$br(aI,this._$GS,aH._$IS,this._$mS);};a.prototype._$2b=function(aH){};a.prototype.getDrawDataID=function(){return this._$gP;};a.prototype._$j2=function(aH){this._$gP=aH;};a.prototype.getOpacity=function(aH,aI){return aI._$7s;};a.prototype._$zS=function(aH,aI){return aI._$Us;};a.prototype.getTargetBaseDataID=function(){return this._$dr;};a.prototype._$gs=function(aH){this._$dr=aH;};a.prototype._$32=function(){return(this._$dr!=null&&(this._$dr!=n._$2o()));};a.prototype.getType=function(){};function aq(){if(j){return;}this._$NL=null;this._$3S=null;this._$aS=null;aq._$42++;}aq._$42=0;aq.prototype._$1b=function(){return this._$3S;};aq.prototype.getDrawDataList=function(){return this._$aS;};aq.prototype._$F0=function(aH){this._$NL=aH._$nP();this._$aS=aH._$nP();this._$3S=aH._$nP();};aq.prototype._$kr=function(aH){aH._$Zo(this._$3S);aH._$xo(this._$aS);this._$3S=null;this._$aS=null;};function v(){if(j){return;}aa.prototype.constructor.call(this);this._$zo=new x();}v.prototype=new aa();v.loadModel=function(aI){var aH=new v();aa._$62(aH,aI);return aH;};v.loadModel=function(aI){var aH=new v();aa._$62(aH,aI);return aH;};v._$to=function(){var aH=new v();return aH;};v._$er=function(aM){var aJ=new _$5(\"../_$_r/_$t0/_$Ri/_$_P._$d\");if(aJ.exists()==false){throw new _$ls(\"_$t0 _$_ _$6 _$Ui :: \"+aJ._$PL());}var aH=[\"../_$_r/_$t0/_$Ri/_$_P.512/_$CP._$1\",\"../_$_r/_$t0/_$Ri/_$_P.512/_$vP._$1\",\"../_$_r/_$t0/_$Ri/_$_P.512/_$EP._$1\",\"../_$_r/_$t0/_$Ri/_$_P.512/_$pP._$1\"];var aK=v.loadModel(aJ._$3b());for(var aI=0;aI=0){if(aK==aV+4&&p(aT,aV+1)==\"f\"&&p(aT,aV+2)==\"p\"&&p(aT,aV+3)==\"s\"){aP=true;}for(aJ=aK+1;aJ0){if(aP&&5=0){var aO=new t();if(G.startsWith(aT,aV,ao._$cs)){aO._$RP=t._$hs;aO._$4P=G.createString(aT,aV,aK-aV);}else{if(G.startsWith(aT,aV,ao._$ar)){aO._$4P=G.createString(aT,aV+7,aK-aV-7);if(G.startsWith(aT,aV+7,\"ANCHOR_X\")){aO._$RP=t._$xs;}else{if(G.startsWith(aT,aV+7,\"ANCHOR_Y\")){aO._$RP=t._$us;}else{if(G.startsWith(aT,aV+7,\"SCALE_X\")){aO._$RP=t._$qs;}else{if(G.startsWith(aT,aV+7,\"SCALE_Y\")){aO._$RP=t._$Ys;}else{if(G.startsWith(aT,aV+7,\"X\")){aO._$RP=t._$ws;}else{if(G.startsWith(aT,aV+7,\"Y\")){aO._$RP=t._$Ns;}}}}}}}else{aO._$RP=t._$Fr;aO._$4P=G.createString(aT,aV,aK-aV);}}aN.motions.push(aO);var aU=0;var aR=[];for(aJ=aK+1;aJ0){aR.push(aM);aU++;var aH=aI[0];if(aHaN._$yT){aN._$yT=aU;}}}}aN._$rr=((1000*aN._$yT)/aN._$D0)|0;return aN;};ao.prototype.getDurationMSec=function(){return this._$E?-1:this._$rr;};ao.prototype.getLoopDurationMSec=function(){return this._$rr;};ao.prototype.dump=function(){for(var aJ=0;aJ=aL?aL-1:aK)];aJ.setParamFloat(aT,aX);}else{if(t._$ws<=aV._$RP&&aV._$RP<=t._$Ys){}else{var aH=aJ.getParamIndex(aT);var a4=aJ.getModelContext();var aY=a4.getParamMax(aH);var aW=a4.getParamMin(aH);var aM=0.4;var aS=aM*(aY-aW);var aU=a4.getParamFloat(aH);var a2=aV._$I0[(aK>=aL?aL-1:aK)];var a1=aV._$I0[(aK+1>=aL?aL-1:aK+1)];var aI;if((a2aS)||(a2>a1&&a2-a1>aS)){aI=a2;}else{aI=a2+(a1-a2)*aR;}var aP=aU+(aI-aU)*aQ;aJ.setParamFloat(aT,aP);}}}if(aK>=this._$yT){if(this._$E){a3._$z2=aN;if(this.loopFadeIn){a3._$bs=aN;}}else{a3._$9L=true;}}this._$eP=aQ;};ao.prototype._$r0=function(){return this._$E;};ao.prototype._$aL=function(aH){this._$E=aH;};ao.prototype._$S0=function(){return this._$D0;};ao.prototype._$U0=function(aH){this._$D0=aH;};ao.prototype.isLoopFadeIn=function(){return this.loopFadeIn;};ao.prototype.setLoopFadeIn=function(aH){this.loopFadeIn=aH;};function aE(){this._$P=new Float32Array(100);this.size=0;}aE.prototype.clear=function(){this.size=0;};aE.prototype.add=function(aI){if(this._$P.length<=this.size){var aH=new Float32Array(this.size*2);P._$jT(this._$P,0,aH,0,this.size);this._$P=aH;}this._$P[this.size++]=aI;};aE.prototype._$BL=function(){var aH=new Float32Array(this.size);P._$jT(this._$P,0,aH,0,this.size);return aH;};function t(){this._$4P=null;this._$I0=null;this._$RP=null;}t._$Fr=0;t._$hs=1;t._$ws=100;t._$Ns=101;t._$xs=102;t._$us=103;t._$qs=104;t._$Ys=105;function E(){if(j){return;}c.prototype.constructor.call(this);this._$o=0;this._$A=0;this._$GS=null;this._$Eo=null;}E.prototype=new c();E._$gT=new Array();E.prototype._$zP=function(){this._$GS=new g();this._$GS._$zP();};E.prototype._$F0=function(aH){c.prototype._$F0.call(this,aH);this._$A=aH._$6L();this._$o=aH._$6L();this._$GS=aH._$nP();this._$Eo=aH._$nP();c.prototype.readV2_opacity.call(this,aH);};E.prototype.init=function(aH){var aI=new H(this);var aJ=(this._$o+1)*(this._$A+1);if(aI._$Cr!=null){aI._$Cr=null;}aI._$Cr=new Float32Array(aJ*2);if(aI._$hr!=null){aI._$hr=null;}if(this._$32()){aI._$hr=new Float32Array(aJ*2);}else{aI._$hr=null;}return aI;};E.prototype._$Nr=function(aJ,aI){var aK=aI;if(!this._$GS._$Ur(aJ)){return;}var aL=this._$VT();var aH=E._$gT;aH[0]=false;aG._$Vr(aJ,this._$GS,aH,aL,this._$Eo,aK._$Cr,0,2);aI._$Ib(aH[0]);this.interpolateOpacity(aJ,this._$GS,aI,aH);};E.prototype._$2b=function(aK,aJ){var aL=aJ;aL._$hS(true);if(!this._$32()){aL.setTotalOpacity(aL.getInterpolatedOpacity());}else{var aH=this.getTargetBaseDataID();if(aL._$8r==c._$ur){aL._$8r=aK.getBaseDataIndex(aH);}if(aL._$8r<0){if(Q._$so){q._$li(\"_$L _$0P _$G :: %s\",aH);}aL._$hS(false);}else{var aN=aK.getBaseData(aL._$8r);var aI=aK._$q2(aL._$8r);if(aN!=null&&aI._$yo()){var aM=aI.getTotalScale();aL.setTotalScale_notForClient(aM);var aO=aI.getTotalOpacity();aL.setTotalOpacity(aO*aL.getInterpolatedOpacity());aN._$nb(aK,aI,aL._$Cr,aL._$hr,this._$VT(),0,2);aL._$hS(true);}else{aL._$hS(false);}}}};E.prototype._$nb=function(aL,aI,aH,aM,aO,aK,aJ){if(true){var aN=aI;var aP=(aN._$hr!=null)?aN._$hr:aN._$Cr;E.transformPoints_sdk2(aH,aM,aO,aK,aJ,aP,this._$o,this._$A);}else{this.transformPoints_sdk1(aL,aI,aH,aM,aO,aK,aJ);}};E.transformPoints_sdk2=function(a0,bc,a5,aP,aI,aR,aQ,aU){var aW=a5*aI;var aV;var bn,bm;var aT=0;var aS=0;var bl=0;var bk=0;var bf=0;var be=0;var aZ=false;for(var ba=aP;ba=1){var aK=aR[((0)+(aU)*a1)*2];var aJ=aR[((0)+(aU)*a1)*2+1];var aO=aT-2*bl+1*bf;var aN=aS-2*bk+1*be;var a3=aT+3*bf;var a2=aS+3*be;var a8=aT-2*bl+3*bf;var a6=aS-2*bk+3*be;var bj=0.5*(a4-(-2));var bi=0.5*(aX-(1));if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}else{var aH=(a7|0);if(aH==aU){aH=aU-1;}var bj=0.5*(a4-(-2));var bi=a7-aH;var bb=aH/aU;var a9=(aH+1)/aU;var aK=aR[((0)+(aH)*a1)*2];var aJ=aR[((0)+(aH)*a1)*2+1];var a3=aR[((0)+(aH+1)*a1)*2];var a2=aR[((0)+(aH+1)*a1)*2+1];var aO=aT-2*bl+bb*bf;var aN=aS-2*bk+bb*be;var a8=aT-2*bl+a9*bf;var a6=aS-2*bk+a9*be;if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}}}else{if(1<=a4){if(aX<=0){var a8=aR[((aQ)+(0)*a1)*2];var a6=aR[((aQ)+(0)*a1)*2+1];var a3=aT+3*bl;var a2=aS+3*bk;var aO=aT+1*bl-2*bf;var aN=aS+1*bk-2*be;var aK=aT+3*bl-2*bf;var aJ=aS+3*bk-2*be;var bj=0.5*(a4-(1));var bi=0.5*(aX-(-2));if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}else{if(aX>=1){var aO=aR[((aQ)+(aU)*a1)*2];var aN=aR[((aQ)+(aU)*a1)*2+1];var aK=aT+3*bl+1*bf;var aJ=aS+3*bk+1*be;var a8=aT+1*bl+3*bf;var a6=aS+1*bk+3*be;var a3=aT+3*bl+3*bf;var a2=aS+3*bk+3*be;var bj=0.5*(a4-(1));var bi=0.5*(aX-(1));if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}else{var aH=(a7|0);if(aH==aU){aH=aU-1;}var bj=0.5*(a4-(1));var bi=a7-aH;var bb=aH/aU;var a9=(aH+1)/aU;var aO=aR[((aQ)+(aH)*a1)*2];var aN=aR[((aQ)+(aH)*a1)*2+1];var a8=aR[((aQ)+(aH+1)*a1)*2];var a6=aR[((aQ)+(aH+1)*a1)*2+1];var aK=aT+3*bl+bb*bf;var aJ=aS+3*bk+bb*be;var a3=aT+3*bl+a9*bf;var a2=aS+3*bk+a9*be;if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}}}else{if(aX<=0){var aY=(bd|0);if(aY==aQ){aY=aQ-1;}var bj=bd-aY;var bi=0.5*(aX-(-2));var bp=aY/aQ;var bo=(aY+1)/aQ;var a8=aR[((aY)+(0)*a1)*2];var a6=aR[((aY)+(0)*a1)*2+1];var a3=aR[((aY+1)+(0)*a1)*2];var a2=aR[((aY+1)+(0)*a1)*2+1];var aO=aT+bp*bl-2*bf;var aN=aS+bp*bk-2*be;var aK=aT+bo*bl-2*bf;var aJ=aS+bo*bk-2*be;if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}else{if(aX>=1){var aY=(bd|0);if(aY==aQ){aY=aQ-1;}var bj=bd-aY;var bi=0.5*(aX-(1));var bp=aY/aQ;var bo=(aY+1)/aQ;var aO=aR[((aY)+(aU)*a1)*2];var aN=aR[((aY)+(aU)*a1)*2+1];var aK=aR[((aY+1)+(aU)*a1)*2];var aJ=aR[((aY+1)+(aU)*a1)*2+1];var a8=aT+bp*bl+3*bf;var a6=aS+bp*bk+3*be;var a3=aT+bo*bl+3*bf;var a2=aS+bo*bk+3*be;if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}else{System.err.printf(\"_$li calc : %.4f , %.4f\t\t\t\t\t@@BDBoxGrid\\n\",a4,aX);}}}}}else{bc[ba]=aT+a4*bl+aX*bf;bc[ba+1]=aS+a4*bk+aX*be;}}else{bn=bd-(bd|0);bm=a7-(a7|0);aV=2*((bd|0)+((a7|0))*(aQ+1));if(bn+bm<1){bc[ba]=aR[aV]*(1-bn-bm)+aR[aV+2]*bn+aR[aV+2*(aQ+1)]*bm;bc[ba+1]=aR[aV+1]*(1-bn-bm)+aR[aV+3]*bn+aR[aV+2*(aQ+1)+1]*bm;}else{bc[ba]=aR[aV+2*(aQ+1)+2]*(bn-1+bm)+aR[aV+2*(aQ+1)]*(1-bn)+aR[aV+2]*(1-bm);bc[ba+1]=aR[aV+2*(aQ+1)+3]*(bn-1+bm)+aR[aV+2*(aQ+1)+1]*(1-bn)+aR[aV+3]*(1-bm);}}}};E.prototype.transformPoints_sdk1=function(aJ,aR,aL,a0,aU,aP,aZ){var aH=aR;var aO,aN;var aM=this._$o;var aQ=this._$A;var aI=aU*aZ;var aS,aY;var aV;var aX,aW;var aT=(aH._$hr!=null)?aH._$hr:aH._$Cr;for(var aK=aP;aK1){aO=1;}}if(aN<0){aN=0;}else{if(aN>1){aN=1;}}aO*=aM;aN*=aQ;aS=(aO|0);aY=(aN|0);if(aS>aM-1){aS=aM-1;}if(aY>aQ-1){aY=aQ-1;}aX=aO-aS;aW=aN-aY;aV=2*(aS+aY*(aM+1));}else{aO=aL[aK]*aM;aN=aL[aK+1]*aQ;aX=aO-(aO|0);aW=aN-(aN|0);aV=2*((aO|0)+(aN|0)*(aM+1));}if(aX+aW<1){a0[aK]=aT[aV]*(1-aX-aW)+aT[aV+2]*aX+aT[aV+2*(aM+1)]*aW;a0[aK+1]=aT[aV+1]*(1-aX-aW)+aT[aV+3]*aX+aT[aV+2*(aM+1)+1]*aW;}else{a0[aK]=aT[aV+2*(aM+1)+2]*(aX-1+aW)+aT[aV+2*(aM+1)]*(1-aX)+aT[aV+2]*(1-aW);a0[aK+1]=aT[aV+2*(aM+1)+3]*(aX-1+aW)+aT[aV+2*(aM+1)+1]*(1-aX)+aT[aV+3]*(1-aW);}}};E.prototype._$VT=function(){return(this._$o+1)*(this._$A+1);};E.prototype.getType=function(){return c._$_b;};function H(aH){B.prototype.constructor.call(this,aH);this._$8r=c._$ur;this._$Cr=null;this._$hr=null;}H.prototype=new B();function s(){if(j){return;}this.visible=true;this._$g0=false;this._$NL=null;this._$3S=null;this._$aS=null;s._$42++;}s._$42=0;s.prototype._$zP=function(){this._$3S=new Array();this._$aS=new Array();};s.prototype._$F0=function(aH){this._$g0=aH._$8L();this.visible=aH._$8L();this._$NL=aH._$nP();this._$3S=aH._$nP();this._$aS=aH._$nP();};s.prototype.init=function(aI){var aH=new aj(this);aH.setPartsOpacity(this.isVisible()?1:0);return aH;};s.prototype._$6o=function(aH){if(this._$3S==null){throw new Error(\"_$3S _$6 _$Wo@_$6o\");}this._$3S.push(aH);};s.prototype._$3o=function(aH){if(this._$aS==null){throw new Error(\"_$aS _$6 _$Wo@_$3o\");}this._$aS.push(aH);};s.prototype._$Zo=function(aH){this._$3S=aH;};s.prototype._$xo=function(aH){this._$aS=aH;};s.prototype.isVisible=function(){return this.visible;};s.prototype._$uL=function(){return this._$g0;};s.prototype._$KP=function(aH){this.visible=aH;};s.prototype._$ET=function(aH){this._$g0=aH;};s.prototype.getBaseData=function(){return this._$3S;};s.prototype.getDrawData=function(){return this._$aS;};s.prototype._$p2=function(){return this._$NL;};s.prototype._$ob=function(aH){this._$NL=aH;};s.prototype.getPartsID=function(){return this._$NL;};s.prototype._$MP=function(aH){this._$NL=aH;};function aj(aH){this._$VS=null;this._$e0=null;this._$e0=aH;}aj.prototype=new S();aj.prototype.getPartsOpacity=function(){return this._$VS;};aj.prototype.setPartsOpacity=function(aH){this._$VS=aH;};function ak(aH){if(j){return;}this.id=aH;}ak._$L7=function(){z._$27();n._$27();Z._$27();i._$27();};ak.prototype.toString=function(){return this.id;};function D(){}D.prototype._$F0=function(aH){};function an(){if(j){return;}this._$4S=null;}an.prototype._$1s=function(){return this._$4S;};an.prototype._$zP=function(){this._$4S=new Array();};an.prototype._$F0=function(aH){this._$4S=aH._$nP();};an.prototype._$Ks=function(aH){this._$4S.push(aH);};function au(aH,aI){this.canvas=aH;this.context=aI;this.viewport=new Array(0,0,aH.width,aH.height);this._$6r=1;this._$xP=0;this._$3r=1;this._$uP=0;this._$Qo=-1;this.cacheImages={};}au.tr=new am();au._$50=new am();au._$Ti=new Array(0,0);au._$Pi=new Array(0,0);au._$B=new Array(0,0);au.prototype._$lP=function(aI,aK,aJ,aH){this.viewport=new Array(aI,aK,aJ,aH);};au.prototype._$bL=function(){this.context.save();var aH=this.viewport;if(aH!=null){this.context.beginPath();this.context._$Li(aH[0],aH[1],aH[2],aH[3]);this.context.clip();}};au.prototype._$ei=function(){this.context.restore();};au.prototype.drawElements=function(bc,bm,aX,aJ,bA,aM,bl,bz){try{if(bA!=this._$Qo){this._$Qo=bA;this.context.globalAlpha=bA;}var a2=bm.length;var aP=bc.width;var a5=bc.height;var bE=this.context;var a7=this._$xP;var a6=this._$uP;var a1=this._$6r;var aZ=this._$3r;var bD=au.tr;var aI=au._$Ti;var aH=au._$Pi;var bu=au._$B;for(var by=0;by0.02){au.expandClip(aK,aJ,aV,aI,aO,aN,aH,aW,aS,aR);}else{au.clipWithTransform(aK,null,aM,aL,aU,aT,aQ,aP);}};au.expandClip=function(aV,bg,aK,a3,aJ,aI,be,ba,aZ,aX){var aP=be-aJ;var aO=ba-aI;var bi=aZ-aJ;var bh=aX-aI;var bj=aP*bh-aO*bi>0?aK:-aK;var aL=-aO;var aH=aP;var bc=aZ-be;var a8=aX-ba;var a7=-a8;var a6=bc;var aQ=Math.sqrt(bc*bc+a8*a8);var bf=-bh;var bb=bi;var a2=Math.sqrt(bi*bi+bh*bh);var bd=aJ-bj*aL/a3;var a9=aI-bj*aH/a3;var aY=be-bj*aL/a3;var aW=ba-bj*aH/a3;var a5=be-bj*a7/aQ;var a4=ba-bj*a6/aQ;var aS=aZ-bj*a7/aQ;var aR=aX-bj*a6/aQ;var aN=aJ+bj*bf/a2;var aM=aI+bj*bb/a2;var a1=aZ+bj*bf/a2;var a0=aX+bj*bb/a2;var aU=au._$50;var aT=bg._$P2(aU);if(aT==null){return false;}au.clipWithTransform(aV,aU,bd,a9,aY,aW,a5,a4,aS,aR,a1,a0,aN,aM);return true;};au.clipWithTransform=function(aH,aI,aS,aN,aQ,aK,aP,aJ){if(arguments.length<(1+3*2)){q._$li(\"err : @LDGL.clip()\");return;}if(!(arguments[1] instanceof am)){q._$li(\"err : a[0] is _$6 LDTransform @LDGL.clip()\");return;}var aM=au._$B;var aO=aI;var aR=arguments;aH.beginPath();if(aO){aO._$PS(aR[2],aR[3],aM);aH.moveTo(aM[0],aM[1]);for(var aL=4;aL1){return 1;}}return(0.5-0.5*Math.cos(aH*aC.PI_F));};function J(aH){if(j){return;}this._$ib=aH;}J._$fr=-1;J.prototype.toString=function(){return this._$ib;};function b(){if(j){return;}a.prototype.constructor.call(this);this._$LP=-1;this._$d0=0;this._$Yo=0;this._$JP=null;this._$5P=null;this._$BP=null;this._$Eo=null;this._$Qi=null;this._$6s=b._$ms;this.culling=true;this.gl_cacheImage=null;this.instanceNo=b._$42++;}b.prototype=new a();b._$42=0;b._$Os=30;b._$ms=0;b._$ns=1;b._$_s=2;b._$gT=new Array();b.prototype._$_S=function(aH){this._$LP=aH;};b.prototype.getTextureNo=function(){return this._$LP;};b.prototype._$ZL=function(){return this._$Qi;};b.prototype._$H2=function(){return this._$JP;};b.prototype.getNumPoints=function(){return this._$d0;};b.prototype.getType=function(){return a._$wb;};b.prototype._$B2=function(aL,aH,aO){var aM=aH;var aN=(aM._$hr!=null)?aM._$hr:aM._$Cr;var aK=aw._$do;switch(aK){default:case aw._$Ms:throw new Error(\"_$L _$ro \");case aw._$Qs:for(var aJ=this._$d0-1;aJ>=0;--aJ){var aI=aJ*aw._$No;aN[aI+4]=aO;}break;}};b.prototype._$zP=function(){this._$GS=new g();this._$GS._$zP();};b.prototype._$F0=function(aK){a.prototype._$F0.call(this,aK);this._$LP=aK._$6L();this._$d0=aK._$6L();this._$Yo=aK._$6L();var aH=aK._$nP();this._$BP=new Int16Array(this._$Yo*3);for(var aJ=this._$Yo*3-1;aJ>=0;--aJ){this._$BP[aJ]=aH[aJ];}this._$Eo=aK._$nP();this._$Qi=aK._$nP();if(aK.getFormatVersion()>=ay._$s7){this._$JP=aK._$6L();if(this._$JP!=0){if((this._$JP&1)!=0){var aI=aK._$6L();if(this._$5P==null){this._$5P=new Object();}this._$5P._$Hb=parseInt(aI);}if((this._$JP&b._$Os)!=0){this._$6s=(this._$JP&b._$Os)>>1;}else{this._$6s=b._$ms;}if((this._$JP&32)!=0){this.culling=false;}}}else{this._$JP=0;}};b.prototype.init=function(aL){var aN=new ag(this);var aI=this._$d0*aw._$No;var aH=this._$32();if(aN._$Cr!=null){aN._$Cr=null;}aN._$Cr=new Float32Array(aI);if(aN._$hr!=null){aN._$hr=null;}aN._$hr=aH?new Float32Array(aI):null;var aM=aw._$do;switch(aM){default:case aw._$Ms:if(aw._$Ls){for(var aJ=this._$d0-1;aJ>=0;--aJ){var aO=aJ<<1;this._$Qi[aO+1]=1-this._$Qi[aO+1];}}break;case aw._$Qs:for(var aJ=this._$d0-1;aJ>=0;--aJ){var aO=aJ<<1;var aK=aJ*aw._$No;var aQ=this._$Qi[aO];var aP=this._$Qi[aO+1];aN._$Cr[aK]=aQ;aN._$Cr[aK+1]=aP;aN._$Cr[aK+4]=0;if(aH){aN._$hr[aK]=aQ;aN._$hr[aK+1]=aP;aN._$hr[aK+4]=0;}}break;}return aN;};b.prototype._$Nr=function(aJ,aH){var aK=aH;if(!((this==aK._$GT()))){console.log(\"### assert!! ### \");}if(!this._$GS._$Ur(aJ)){return;}a.prototype._$Nr.call(this,aJ,aK);if(aK._$IS[0]){return;}var aI=b._$gT;aI[0]=false;aG._$Vr(aJ,this._$GS,aI,this._$d0,this._$Eo,aK._$Cr,aw._$i2,aw._$No);};b.prototype._$2b=function(aK,aI){try{if(!((this==aI._$GT()))){console.log(\"### assert!! ### \");}var aL=false;if(aI._$IS[0]){aL=true;}var aM=aI;if(!aL){a.prototype._$2b.call(this,aK);if(this._$32()){var aH=this.getTargetBaseDataID();if(aM._$8r==a._$ur){aM._$8r=aK.getBaseDataIndex(aH);}if(aM._$8r<0){if(Q._$so){q._$li(\"_$L _$0P _$G :: %s\",aH);}}else{var aO=aK.getBaseData(aM._$8r);var aJ=aK._$q2(aM._$8r);if(aO!=null&&!aJ._$x2()){aO._$nb(aK,aJ,aM._$Cr,aM._$hr,this._$d0,aw._$i2,aw._$No);aM._$AT=true;}else{aM._$AT=false;}aM.baseOpacity=aJ.getTotalOpacity();}}}}catch(aN){throw aN;}};b.prototype.draw=function(aN,aK,aI){if(!((this==aI._$GT()))){console.log(\"### assert!! ### \");}if(aI._$IS[0]){return;}var aL=aI;var aJ=this._$LP;if(aJ<0){aJ=1;}var aH=this.getOpacity(aK,aL)*aI._$VS*aI.baseOpacity;var aM=(aL._$hr!=null)?aL._$hr:aL._$Cr;aN.setClipBufPre_clipContextForDraw(aI.clipBufPre_clipContext);aN._$WP(this.culling);aN._$Uo(aJ,3*this._$Yo,this._$BP,aM,this._$Qi,aH,this._$6s,aL);};b.prototype.dump=function(){console.log(\" _$yi( %d ) , _$d0( %d ) , _$Yo( %d ) \\n\",this._$LP,this._$d0,this._$Yo);console.log(\" _$Oi _$di = { \");for(var aJ=0;aJstartMotion() / start _$K _$3 (m%d)\\n\",aH,aL._$sr);}}if(aJ==null){return -1;}aL=new M();aL._$w0=aJ;this.motions.push(aL);var aN=aL._$sr;if(this._$eb){q._$Ji(\"MotionQueueManager[size:%2d]->startMotion() / new _$w0 (m%d)\\n\",aH,aN);}return aN;};V.prototype.updateParam=function(aJ){try{var aI=false;for(var aK=0;aKupdateParam() / _$T0 _$w0 (m%d)\\n\",this.motions.length-1,aL._$sr);}this.motions.splice(aK,1);aK--;}else{}}return aI;}catch(aM){q._$li(aM);return true;}};V.prototype.isFinished=function(aK){if(arguments.length>=1){for(var aI=0;aI0.9?Q.EXPAND_W:0;var a0=this.gl;if(this.gl==null){throw new Error(\"gl is null\");}var a1=false;var aQ=1;var aP=1;var a3=1;var aZ=1;var aW=this._$C0*aP*aN;var a2=this._$tT*a3*aN;var a5=this._$WL*aZ*aN;var a7=this._$lT*aN;if(this.clipBufPre_clipContextMask!=null){a0.frontFace(a0.CCW);a0.useProgram(this.shaderProgram);this._$vS=T(a0,this._$vS,aU);this._$no=L(a0,this._$no,aL);a0.enableVertexAttribArray(this.a_position_Loc);a0.vertexAttribPointer(this.a_position_Loc,2,a0.FLOAT,false,0,0);this._$NT=T(a0,this._$NT,aV);a0.activeTexture(a0.TEXTURE1);a0.bindTexture(a0.TEXTURE_2D,this.textures[aS]);a0.uniform1i(this.s_texture0_Loc,1);a0.enableVertexAttribArray(this.a_texCoord_Loc);a0.vertexAttribPointer(this.a_texCoord_Loc,2,a0.FLOAT,false,0,0);a0.uniformMatrix4fv(this.u_matrix_Loc,false,this.getClipBufPre_clipContextMask().matrixForMask);var aY=this.getClipBufPre_clipContextMask().layoutChannelNo;var a4=this.getChannelFlagAsColor(aY);a0.uniform4f(this.u_channelFlag,a4.r,a4.g,a4.b,a4.a);var aI=this.getClipBufPre_clipContextMask().layoutBounds;a0.uniform4f(this.u_baseColor_Loc,aI.x*2-1,aI.y*2-1,aI._$EL()*2-1,aI._$5T()*2-1);a0.uniform1i(this.u_maskFlag_Loc,true);}else{a1=this.getClipBufPre_clipContextDraw()!=null;if(a1){a0.useProgram(this.shaderProgramOff);this._$vS=T(a0,this._$vS,aU);this._$no=L(a0,this._$no,aL);a0.enableVertexAttribArray(this.a_position_Loc_Off);a0.vertexAttribPointer(this.a_position_Loc_Off,2,a0.FLOAT,false,0,0);this._$NT=T(a0,this._$NT,aV);a0.activeTexture(a0.TEXTURE1);a0.bindTexture(a0.TEXTURE_2D,this.textures[aS]);a0.uniform1i(this.s_texture0_Loc_Off,1);a0.enableVertexAttribArray(this.a_texCoord_Loc_Off);a0.vertexAttribPointer(this.a_texCoord_Loc_Off,2,a0.FLOAT,false,0,0);a0.uniformMatrix4fv(this.u_clipMatrix_Loc_Off,false,this.getClipBufPre_clipContextDraw().matrixForDraw);a0.uniformMatrix4fv(this.u_matrix_Loc_Off,false,this.matrix4x4);a0.activeTexture(a0.TEXTURE2);a0.bindTexture(a0.TEXTURE_2D,Q.fTexture[this.glno]);a0.uniform1i(this.s_texture1_Loc_Off,2);var aY=this.getClipBufPre_clipContextDraw().layoutChannelNo;var a4=this.getChannelFlagAsColor(aY);a0.uniform4f(this.u_channelFlag_Loc_Off,a4.r,a4.g,a4.b,a4.a);a0.uniform4f(this.u_baseColor_Loc_Off,aW,a2,a5,a7);}else{a0.useProgram(this.shaderProgram);this._$vS=T(a0,this._$vS,aU);this._$no=L(a0,this._$no,aL);a0.enableVertexAttribArray(this.a_position_Loc);a0.vertexAttribPointer(this.a_position_Loc,2,a0.FLOAT,false,0,0);this._$NT=T(a0,this._$NT,aV);a0.activeTexture(a0.TEXTURE1);a0.bindTexture(a0.TEXTURE_2D,this.textures[aS]);a0.uniform1i(this.s_texture0_Loc,1);a0.enableVertexAttribArray(this.a_texCoord_Loc);a0.vertexAttribPointer(this.a_texCoord_Loc,2,a0.FLOAT,false,0,0);a0.uniformMatrix4fv(this.u_matrix_Loc,false,this.matrix4x4);a0.uniform4f(this.u_baseColor_Loc,aW,a2,a5,a7);a0.uniform1i(this.u_maskFlag_Loc,false);}}if(this.culling){this.gl.enable(a0.CULL_FACE);}else{this.gl.disable(a0.CULL_FACE);}this.gl.enable(a0.BLEND);var a6;var aX;var aR;var aK;if(this.clipBufPre_clipContextMask!=null){a6=a0.ONE;aX=a0.ONE_MINUS_SRC_ALPHA;aR=a0.ONE;aK=a0.ONE_MINUS_SRC_ALPHA;}else{switch(aM){case b._$ms:a6=a0.ONE;aX=a0.ONE_MINUS_SRC_ALPHA;aR=a0.ONE;aK=a0.ONE_MINUS_SRC_ALPHA;break;case b._$ns:a6=a0.ONE;aX=a0.ONE;aR=a0.ZERO;aK=a0.ONE;break;case b._$_s:a6=a0.DST_COLOR;aX=a0.ONE_MINUS_SRC_ALPHA;aR=a0.ZERO;aK=a0.ONE;break;}}a0.blendEquationSeparate(a0.FUNC_ADD,a0.FUNC_ADD);a0.blendFuncSeparate(a6,aX,aR,aK);if(this.anisotropyExt){a0.texParameteri(a0.TEXTURE_2D,this.anisotropyExt.TEXTURE_MAX_ANISOTROPY_EXT,this.maxAnisotropy);}var aJ=aL.length;a0.drawElements(a0.TRIANGLES,aJ,a0.UNSIGNED_SHORT,0);a0.bindTexture(a0.TEXTURE_2D,null);};function T(aJ,aH,aI){if(aH==null){aH=aJ.createBuffer();}aJ.bindBuffer(aJ.ARRAY_BUFFER,aH);aJ.bufferData(aJ.ARRAY_BUFFER,aI,aJ.DYNAMIC_DRAW);return aH;}function L(aJ,aH,aI){if(aH==null){aH=aJ.createBuffer();}aJ.bindBuffer(aJ.ELEMENT_ARRAY_BUFFER,aH);aJ.bufferData(aJ.ELEMENT_ARRAY_BUFFER,aI,aJ.DYNAMIC_DRAW);return aH;}C.prototype._$Rs=function(){throw new Error(\"_$Rs\");};C.prototype._$Ds=function(aH){throw new Error(\"_$Ds\");};C.prototype._$K2=function(){for(var aH=0;aH=48){var aL=ay._$9o(aN);if(aL!=null){aL._$F0(this);return aL;}else{return null;}}switch(aN){case 1:return this._$bT();case 10:var aM=this._$6L();return new I(aM,true);case 11:return new av(this._$mP(),this._$mP(),this._$mP(),this._$mP());case 12:return new av(this._$_T(),this._$_T(),this._$_T(),this._$_T());case 13:return new e(this._$mP(),this._$mP());case 14:return new e(this._$_T(),this._$_T());case 15:var aH=this._$3L();var aI=new Array(aH);for(var aJ=0;aJ>(7-this._$hL++))&1)==1;};K.prototype._$zT=function(){if(this._$hL!=0){this._$hL=0;}};function ai(){}ai.prototype._$wP=function(aM,aI,aK){for(var aL=0;aLMath.PI){aJ-=2*Math.PI;}return aJ;};aC._$9=function(aH){return Math.sin(aH);};aC.fcos=function(aH){return Math.cos(aH);};function aB(aH){if(j){return;}this._$e0=null;this._$IP=null;this._$Us=null;this._$7s=null;this._$IS=[false];this._$VS=null;this._$AT=true;this.baseOpacity=1;this.clipBufPre_clipContext=null;this._$e0=aH;}aB.prototype._$u2=function(){return this._$IS[0];};aB.prototype._$yo=function(){return this._$AT&&!this._$IS[0];};aB.prototype._$GT=function(){return this._$e0;};function r(){}r._$W2=0;r.SYSTEM_INFO=null;r.USER_AGENT=navigator.userAgent;r.isIPhone=function(){if(!r.SYSTEM_INFO){r.setup();}return r.SYSTEM_INFO._isIPhone;};r.isIOS=function(){if(!r.SYSTEM_INFO){r.setup();}return r.SYSTEM_INFO._isIPhone||r.SYSTEM_INFO._isIPad;};r.isAndroid=function(){if(!r.SYSTEM_INFO){r.setup();}return r.SYSTEM_INFO._isAndroid;};r.getOSVersion=function(){if(!r.SYSTEM_INFO){r.setup();}return r.SYSTEM_INFO.version;};r.getOS=function(){if(!r.SYSTEM_INFO){r.setup();}if(r.SYSTEM_INFO._isIPhone||r.SYSTEM_INFO._isIPad){return\"iOS\";}if(r.SYSTEM_INFO._isAndroid){return\"Android\";}else{return\"_$Q0 OS\";}};r.setup=function(){var aK=r.USER_AGENT;function aI(aO,aR){var aN=aO.substring(aR).split(/[ _,;\\.]/);var aQ=0;for(var aM=0;aM<=2;aM++){if(isNaN(aN[aM])){break;}var aP=parseInt(aN[aM]);if(aP<0||aP>999){q._$li(\"err : \"+aP+\" @UtHtml5.setup()\");aQ=0;break;}aQ+=aP*Math.pow(1000,(2-aM));}return aQ;}var aL;var aH;var aJ=r.SYSTEM_INFO={userAgent:aK};if((aL=aK.indexOf(\"iPhone OS \"))>=0){aJ.os=\"iPhone\";aJ._isIPhone=true;aJ.version=aI(aK,aL+\"iPhone OS \".length);}else{if((aL=aK.indexOf(\"iPad\"))>=0){aL=aK.indexOf(\"CPU OS\");if(aL<0){q._$li(\" err : \"+aK+\" @UtHtml5.setup()\");return;}aJ.os=\"iPad\";aJ._isIPad=true;aJ.version=aI(aK,aL+\"CPU OS \".length);}else{if((aL=aK.indexOf(\"Android\"))>=0){aJ.os=\"Android\";aJ._isAndroid=true;aJ.version=aI(aK,aL+\"Android \".length);}else{aJ.os=\"-\";aJ.version=-1;}}}};window.UtSystem=P;window.UtDebug=q;window.LDTransform=am;window.LDGL=au;window.Live2D=Q;window.Live2DModelWebGL=l;window.Live2DModelJS=v;window.Live2DMotion=ao;window.MotionQueueManager=V;window.PhysicsHair=u;window.AMotion=ah;window.PartsDataID=i;window.DrawDataID=Z;window.BaseDataID=n;window.ParamID=z;Q.init();var j=false;})();\n\n\n// WEBPACK FOOTER //\n// ./src/lib/live2d.min.js","// Provide a \"System\" global.\r\nmodule.exports = {\r\n\t// Make sure import is only used as \"System.import\"\r\n\timport: function() {\r\n\t\tthrow new Error(\"System.import cannot be used indirectly\");\r\n\t}\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/system.js\n// module id = 10\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/index.html b/dist/index.html index 80e6c45..f6f023d 100755 --- a/dist/index.html +++ b/dist/index.html @@ -1,19 +1 @@ - - - - - - live2d - - - - - -
- - -
- - - \ No newline at end of file +live2d
\ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 635c759..cba9107 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "hexo-helper-live2d", - "version": "2.1.2", + "version": "2.1.3", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -114,9 +114,9 @@ } }, "async": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", - "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", + "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", "dev": true, "requires": { "lodash": "4.17.4" @@ -692,7 +692,7 @@ "babel-plugin-transform-es2015-unicode-regex": "6.24.1", "babel-plugin-transform-exponentiation-operator": "6.24.1", "babel-plugin-transform-regenerator": "6.26.0", - "browserslist": "2.6.1", + "browserslist": "2.8.0", "invariant": "2.2.2", "semver": "5.4.1" } @@ -905,12 +905,12 @@ } }, "browserslist": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.6.1.tgz", - "integrity": "sha512-HBZwVT7ciQB9KlXM3AUMQbnQXtHWPsEUKQTiS0BEFfY5bOrMl94ORaqQD1GyuTGh69ZmYeue9QBqiw219e09eQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.8.0.tgz", + "integrity": "sha512-iiWHM1Et6Q4TQpB7Ar6pxuM3TNMXasVJY4Y/oh3q38EwR3Z+IdZ9MyVf7PI4MJFB4xpwMcZgs9bEUnPG2E3TCA==", "dev": true, "requires": { - "caniuse-lite": "1.0.30000757", + "caniuse-lite": "1.0.30000760", "electron-to-chromium": "1.3.27" } }, @@ -960,9 +960,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30000757", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000757.tgz", - "integrity": "sha1-geO8ApcooDKTNQGZTvedscIRWeM=", + "version": "1.0.30000760", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000760.tgz", + "integrity": "sha1-7HIDlXQvHH7IlH/W3SYE53qPmP8=", "dev": true }, "center-align": { @@ -1131,9 +1131,9 @@ } }, "crypto-browserify": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.1.tgz", - "integrity": "sha512-Na7ZlwCOqoaW5RwUK1WpXws2kv8mNhWdTlzob0UXulk6G9BDbyiJaGTYBIX61Ozn9l1EPPJpICZb4DaOpT9NlQ==", + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "requires": { "browserify-cipher": "1.0.0", @@ -1145,7 +1145,8 @@ "inherits": "2.0.3", "pbkdf2": "3.0.14", "public-encrypt": "4.0.0", - "randombytes": "2.0.5" + "randombytes": "2.0.5", + "randomfill": "1.0.3" } }, "css-select": { @@ -1572,7 +1573,7 @@ "ncname": "1.0.0", "param-case": "2.1.1", "relateurl": "0.2.7", - "uglify-js": "3.1.6" + "uglify-js": "3.1.9" } }, "html-webpack-plugin": { @@ -2086,7 +2087,7 @@ "buffer": "4.9.1", "console-browserify": "1.1.0", "constants-browserify": "1.0.0", - "crypto-browserify": "3.11.1", + "crypto-browserify": "3.12.0", "domain-browser": "1.1.7", "events": "1.1.1", "https-browserify": "0.0.1", @@ -2456,6 +2457,16 @@ "safe-buffer": "5.1.1" } }, + "randomfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.3.tgz", + "integrity": "sha512-YL6GrhrWoic0Eq8rXVbMptH7dAxCs0J+mh5Y0euNekPPYaxEmdVGim6GdoxoRzKW2yJoU8tueifS7mYxvcFDEQ==", + "dev": true, + "requires": { + "randombytes": "2.0.5", + "safe-buffer": "5.1.1" + } + }, "read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", @@ -2732,7 +2743,7 @@ "integrity": "sha512-MYbFX9DYxmTQFfy2v8FC1XZwpwHKYxg3SK8Wb7VPBKuhDjz8gi9re2819MsG4p49HDyiOSUKlmZ+nQBArW5CGw==", "dev": true, "requires": { - "async": "2.5.0", + "async": "2.6.0", "loader-utils": "0.2.17", "source-map": "0.6.1" }, @@ -2899,9 +2910,9 @@ "dev": true }, "uglify-js": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.6.tgz", - "integrity": "sha512-/rseyxEKEVMBo8279lqpoJgD6C/i/CIi+9TJDvWmb+Xo6mqMKwjA8Io3IMHlcXQzj99feR6zrN8m3wqqvm/nYA==", + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.9.tgz", + "integrity": "sha512-ari2E89bD7f+fMU173NgF12JBcOhgoxeyuCs97h5K58IBENrnG9eVj2lFadrOPdqf0KifsxVmUQfzA2cHNxCZQ==", "dev": true, "requires": { "commander": "2.11.0", @@ -2998,7 +3009,7 @@ "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=", "dev": true, "requires": { - "async": "2.5.0", + "async": "2.6.0", "chokidar": "1.7.0", "graceful-fs": "4.1.11" } @@ -3013,7 +3024,7 @@ "acorn-dynamic-import": "2.0.2", "ajv": "4.11.8", "ajv-keywords": "1.5.1", - "async": "2.5.0", + "async": "2.6.0", "enhanced-resolve": "3.4.1", "interpret": "1.0.4", "json-loader": "0.5.7", @@ -3028,7 +3039,7 @@ "tapable": "0.2.8", "uglify-js": "2.8.29", "watchpack": "1.4.0", - "webpack-sources": "1.0.1", + "webpack-sources": "1.0.2", "yargs": "6.6.0" }, "dependencies": { @@ -3081,13 +3092,21 @@ } }, "webpack-sources": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.1.tgz", - "integrity": "sha512-05tMxipUCwHqYaVS8xc7sYPTly8PzXayRCB4dTxLhWTqlKUiwH6ezmEe0OSreL1c30LAuA3Zqmc+uEBUGFJDjw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.2.tgz", + "integrity": "sha512-Y7UddMCv6dGjy81nBv6nuQeFFIt5aalHm7uyDsAsW86nZwfOVPGRr3XMjEQLaT+WKo8rlzhC9qtbJvYKLtAwaw==", "dev": true, "requires": { "source-list-map": "2.0.0", - "source-map": "0.5.7" + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "which-module": { diff --git a/package.json b/package.json index 11ea444..50681b5 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hexo-helper-live2d", - "version": "2.1.2", + "version": "2.1.3", "description": "为你的hexo添加色气满满的live2d吧!", "main": "./index.js", "devDependencies": { diff --git a/src/index.html b/src/index.html index 240222d..97f9c24 100755 --- a/src/index.html +++ b/src/index.html @@ -1,19 +1 @@ - - - - - - live2d - - - - - -
- - -
- - - \ No newline at end of file +live2d
\ No newline at end of file