(function(){var b=0;var c=["ms","moz","webkit","o"];for(var a=0;a>16;var z=y>>8&255;var x=y&255;return"rgb("+A+", "+z+", "+x+")"}var a={trace:l,bind:w,copyArray:p};var m={};m.isiPhone=/iPhone/i.test(navigator.userAgent);m.isiPhone4=(m.isiPhone&&window.devicePixelRatio==2);m.isiPad=/iPad/i.test(navigator.userAgent);m.isiOS=m.isiPhone||m.isiPad;m.isiOS3=(m.isiOS&&/OS\s3/.test(navigator.userAgent));m.isAndroid=/android/i.test(navigator.userAgent);m.isAndroid2_1=/android\s2\.1/i.test(navigator.userAgent);m.isMobile=m.isiOS||m.isAndroid;var u=320;var o=(function(){var x=function(){};function y(){var G=(typeof arguments[0]=="function")?arguments[0].prototype:{};if(!arguments[0]){throw new Error("define class")}function z(){this.initialize.apply(this,arguments)}function D(H){var I=H.toString().match(/^[\s\(]*function[^(]*\(([^)]*)\)/)[1].replace(/\/\/.*?[\r\n]|\/\*(?:.|[\r\n])*?\*\//g,"").replace(/\s+/g,"").split(",");return I.length==1&&!I[0]?[]:I}function F(J,H){var I=function(){var K=this;var M=(H!==undefined)?function(){return H.apply(K,arguments)}:undefined;var L=p(arguments);L.unshift(M);return J.apply(K,L)};I.valueOf=w(J.valueOf,J);I.toString=w(J.toString,J);return I}if(typeof arguments[0]=="function"){x.prototype=G;z.prototype=new x;Array.prototype.shift.apply(arguments)}var C=arguments[0];for(var E in C){var B=C[E];if(typeof B=="function"){if(D(B)[0]=="$super"){B=F(B,G[E])}else{if(E=="initialize"){if(G.initialize){var A=B;B=function(){G.initialize.apply(this,arguments);A.apply(this,arguments)}}}}}z.prototype[E]=B}z.prototype.constructor=z;return z}return{create:y}})();var v=o.create({type:null,target:null,_willPropagate:true,initialize:function(x,y){this.type=x;for(var z in y){if(y.hasOwnProperty(z)){if(z=="type"||z=="target"){continue}this[z]=y[z]}}},stopPropagation:function(){this._willPropagate=false},willPropagate:function(){return this._willPropagate}});v.PROGRESS="PROGRESS";v.COMPLETE="COMPLETE";v.ENTER_FRAME="ENTER_FRAME";v.ERROR="ERROR";v.TIMER="TIMER";v.TIMER_COMPLETE="TIMER_COMPLETE";v.TOUCH_START="TOUCH_START";v.TOUCH_MOVE="TOUCH_MOVE";v.TOUCH_END="TOUCH_END";var s=o.create({addEventListener:function(y,z){var x=s.listenHash[y];if(!x){x=s.listenHash[y]=[]}s.listenHash[y].push({target:this,callback:z})},removeEventListener:function(z,C){var x=s.listenHash[z];if(!x){return}var A=false;for(var y=0;y=this._delay){this._currentCount++;this._timer.reset();this.dispatchEvent(v.TIMER);if(this._repeatCount&&this._currentCount>=this._repeatCount){this.reset();this.dispatchEvent(v.TIMER_COMPLETE)}}},stop:function(){this._timer.stop();if(this._updateFunc){g.system.removeEventListener(v.ENTER_FRAME,this._updateFunc);this._updateFunc=null}},setDelay:function(x){this._delay=x},getDelay:function(){return this._delay},setRepeatCount:function(x){this._repeatCount=x},getRepeatCount:function(){return this._repeatCount}});g.system=null;var n=o.create(s,{_method:"GET",_params:null,_url:null,_request:null,_jsonResponse:null,_loadedCallBack:null,initialize:function(){this._request=new XMLHttpRequest();this._loadedCallBack=w(this._loaded,this)},load:function(x,y){this._url=x;this._params=y;this._request.open(this._method,this._url,true);this._request.addEventListener("readystatechange",this._loadedCallBack,false);this._request.send(this._params)},_loaded:function(){if(this._request.readyState==4){if(this._request.status==200||this._request.status==0){this.dispatchEvent(v.COMPLETE)}else{this.dispatchEvent(v.ERROR);throw new Error("Load Error : "+this._url)}}},unload:function(){this._request.abort();this._jsonResponse=null;this._request.removeEventListener("readystatechange",this._loadedCallBack,false)},setMethod:function(x){this._method=x},getResponseText:function(){return this._request.responseText},getResponseJSON:function(){if(!this._jsonResponse){this._jsonResponse=JSON.parse(this._request.responseText)}return this._jsonResponse},getURL:function(){return this._url}});function q(){if(window.orientation==90||window.orientation==-90){return screen.height}else{return screen.width}}var k={};k.Image=o.create(s,{_data:null,_path:null,_width:null,_height:null,_frameWidth:null,_lx:null,_ly:null,_lwidth:null,_lheight:null,_hasLocalPos:false,initialize:function(x,y){if(!x&&x.constructor!=HTMLImageElement){throw new Error("set HTMLImageElement")}this._data=x;this._path=x.src;if(y&&y.length==4){this._lx=y[0];this._ly=y[1];this._lwidth=y[2];this._lheight=y[3];this._hasLocalPos=true;this._width=this._lwidth;this._height=this._lheight}else{this._width=this._data.width;this._height=this._data.height}},duplicate:function(){var x=new k.Image();x._setData(this._data);return x},changeScale:function(y,x){return this.changeSize(this._width*y,this._height*x)},changeSize:function(E,B){var C=document.createElement("canvas"),A=0,G=0,D=this._width,z=this._height;C.width=E;C.height=B;if(this._hasLocalPos){A=this._lx;G=this._ly;D=this._lwidth;z=this._lheight;this._hasLocalPos=false}if(arc.ua.isAndroid2_1&&q()!=u){var F=u/q();A=~~(A*F);G=~~(G*F);D=~~(D*F);z=~~(z*F);E=~~(E*F);B=~~(B*F)}C.getContext("2d").drawImage(this._data,A,G,D,z,0,0,E,B);this._data=C;this._width=this._data.width;this._height=this._data.height;return this},changeColor:function(J,C){var H=this._data.width;var G=this._data.height;var y=document.createElement("canvas");y.width=H;y.height=G;var I=y.getContext("2d");I.drawImage(this._data,0,0);var D=I.getImageData(0,0,H,G);var B=I.createImageData(H,G);var A=J>>16;var E=J>>8&255;var x=J&255;for(var L=0;Ly){y=H}if(zx){x=G}}this._originWidth=y-C;this._originHeight=x-B;this._width=this._originWidth*this._scaleX;this._height=this._originHeight*this._scaleY;this._screenRect=e(C*this._scaleX+this._x,B*this._scaleY+this._y,this._width,this._height,this._rotation)},setWidth:function(x){this._width=x;this._scaleX=this._width/this._originWidth},setHeight:function(x){this._height=x;this._scaleY=this._height/this._originHeight},setScaleX:function(x){this._scaleX=x;this._width=this._originWidth*this._scaleX},setScaleY:function(x){this._scaleY=x;this._height=this._originHeight*this._scaleY},setMask:function(A,C,B,z){this._maskObj={x:A,y:C,width:B,height:z}},clearMask:function(){this._maskObj=null},_updateScreenRect:function(){this._updateSize()}});k.Align={TOP:"TOP",TOP_LEFT:"TOP_LEFT",TOP_RIGHT:"TOP_RIGHT",CENTER:"CENTER",LEFT:"LEFT",RIGHT:"RIGHT",BOTTOM:"BOTTOM",BOTTOM_LEFT:"BOTTOM_LEFT",BOTTOM_RIGHT:"BOTTOM_RIGHT"};k.Shape=o.create(k.DisplayObject,{_funcStack:null,_minX:0,_maxX:0,_minY:0,_maxY:0,_firstFlg:true,_willBeFilled:false,_willBeStroked:false,initialize:function(){this._funcStack=new Array()},beginFill:function(y,z){var x=this;this._funcStack.push(function(D,B,F,E,C){x._willBeFilled=true;var A=k.Image.context;A.fillStyle=t(y);A.globalAlpha=z*C})},endFill:function(){var x=this;this._funcStack.push(function(B,z,D,C,A){x._willBeFilled=false;var y=k.Image.context})},beginStroke:function(z,y,A){var x=this;if(!A){A=1}this._funcStack.push(function(E,C,G,F,D){x._willBeStroked=true;var B=k.Image.context;B.lineWidth=z;B.strokeStyle=t(y);B.globalAlpha=A*D})},endStroke:function(){var x=this;this._funcStack.push(function(A,y,C,B,z){x._willBeStroked=false})},moveTo:function(z,A){this._funcStack.push(function(C,y,E,D,B){var x=k.Image.context;x.moveTo((z+C)/E,(A+y)/D)})},lineTo:function(z,B){var A=this;this._funcStack.push(function(D,y,F,E,C){var x=k.Image.context;x.lineTo((z+D)/F,(B+y)/E);if(A._willBeStroked){x.stroke()}})},_updateSize:function(A,C,B,z){if(this._firstFlg){this._firstFlg=false;this._minX=A;this._maxX=A+B;this._minY=C;this._maxY=C+z}if(Athis._maxX){this._maxX=A+B}if(Cthis._maxY){this._maxY=C+z}this._originWidth=this._maxX-this._minX;this._originHeight=this._maxY-this._minY;this._width=this._originWidth*this._scaleX;this._height=this._originHeight*this._scaleY;this._updateScreenRect()},drawRect:function(A,D,C,z){this._updateSize(A,D,C,z);var B=this;this._funcStack.push(function(F,y,H,G,E){var x=k.Image.context;x.beginPath();x.rect((A+F)/H,(D+y)/G,C,z);if(B._willBeFilled){x.fill()}if(B._willBeStroked){x.stroke()}})},drawCircle:function(A,C,z){this._updateSize(A-z,C-z,z*2,z*2);var B=this;this._funcStack.push(function(E,y,G,F,D){var x=k.Image.context;x.beginPath();x.arc((A+E)/G,(C+y)/F,z,0,360,false);if(B._willBeFilled){x.fill()}if(B._willBeStroked){x.stroke()}})},draw:function(C,A,K,J,F,B){C=(C|0);A=(A|0);K=(!isNaN(K))?K:1;J=(!isNaN(J))?J:1;F=(!isNaN(F))?F:1;B=(B)?B:0;var L=C;var I=A;var z=K*this._scaleX;var y=J*this._scaleY;var H=F*this._alpha;var x=B+this._rotation;var G=this._funcStack.length;var M=k.Image.context;M.save();M.scale(z,y);for(var E=0;E=A){this._step();x=this._timer.getElapsed()}for(var y=0;ythis._totalFrame){throw new Error("Invalid frame index")}this._currentFrame=x;this.play()},gotoAndStop:function(x){if(x<1||x>this._totalFrame){throw new Error("Invalid frame index")}this._currentFrame=x;this.stop()}});k.JSONMovieClip=o.create(k.MovieClip,{initialize:function($super,D){var x=arc.display.Sprite,C=arc.System,E=arc.display.MovieClip;var F=D.lib,B=D.fps,y=A(D.main);$super(B);function z(N,I){var J,L,H,G,K,M,I;L=A(N);if(!L){throw new Error("invalid animation")}if(L.type=="data"){if(L.pos){return new x(arc._system.getImage(L.data,L.pos))}else{return new x(arc._system.getImage(L.data))}}if(!I){I=new E(B,L.loop)}for(J=0,G=L.timelines.length;Jthis._totalFrame){throw new Error("Invalid frame index")}this._currentFrame=x;this.play()},gotoAndStop:function(x){if(x<1||x>this._totalFrame){throw new Error("Invalid frame index")}this._currentFrame=x;this.stop()},draw:function(E,C,H,G,F,D){E=(E|0);C=(C|0);H=(!isNaN(H))?H:1;G=(!isNaN(G))?G:1;F=(!isNaN(F))?F:1;D=(D)?D:0;if(!this._visible){return}if(this._isPlaying){var I=this._timer.getElapsed();if(I>=this._frameTime){this._currentFrame++;this._timer.reset();if(this._currentFrame>this._totalFrame){if(this._shouldLoop){this._currentFrame=this._currentFrame%this._totalFrame}else{this._currentFrame=this._totalFrame;this.stop();this.dispatchEvent(v.COMPLETE)}}}}var B=(this._x+this._alignX*this._scaleX)*H+E;var z=(this._y+this._alignY*this._scaleY)*G+C;var A=this._scaleX*H;var y=this._scaleY*G;var x=this._rotation+D;var J=k.Image.context;J.globalAlpha=this._alpha;this._data.drawCrop((this._currentFrame-1)*this._frameWidth,0,this._frameWidth,this._data.getHeight(),E,C,this._width*H,this._height*G,x);J.globalAlpha=1},setWidth:function(x){this._width=x;this._scaleX=this._width/this._frameWidth},setScaleX:function(x){this._scaleX=x;this._width=this._frameWidth*this._scaleX}});k.SequenceMovieClip=o.create(k.DisplayObjectContainer,{_spriteArr:null,_frameTime:0,_shouldLoop:false,_shouldHide:false,_isPlaying:false,_totalFrame:0,_currentIndex:0,_timer:null,initialize:function(D,C,y,z){var B=0,x=D.length,A;this._spriteArr=[];this._frameTime=C;this._shouldLoop=y;this._shouldHide=z;this._totalFrame=D.length;this._timer=new j();for(B=0;Bthis._totalFrame-1){if(this._shouldLoop){C=C%this._totalFrame}else{C=this._totalFrame;this.stop();this.dispatchEvent(v.COMPLETE)}}this._currentFrame=C}for(A=0;Athis._totalFrame){throw new Error("Invalid frame index")}this._currentFrame=x;this.play()},gotoAndStop:function(x){if(x<1||x>this._totalFrame){throw new Error("Invalid frame index")}this._currentFrame=x;this.stop()}});k.Stage=o.create(k.DisplayObjectContainer,{initialize:function(y,x){if(k.Stage.instance){return k.Stage.instance}k.Stage.instance=this;this._stageWidth=y;this._stageHeight=x},getStageWidth:function(){return this._stageWidth},getStageHeight:function(){return this._stageHeight}});k.Stage.instance=null;k.TextField=o.create(k.DisplayObject,{_font:null,_family:"sans-serif",_textArr:null,_color:0,_align:"left",_baseline:"top",_size:10,initialize:function(){if(m.isiOS3){throw new Error("Your can't use TextField in iOS3")}this._font=this._size+"px "+this._family;this._textArr=[]},draw:function(C,A,H,G,E,B){C=(C|0);A=(A|0);H=(!isNaN(H))?H:1;G=(!isNaN(G))?G:1;E=(!isNaN(E))?E:1;B=(B)?B:0;var K=this._rotation+B;var z=this._scaleX*H;var y=this._scaleY*G;var J=k.Image.context;J.globalAlpha=this._alpha*E;J.save();J.fillStyle=t(this._color);J.textBaseline="top";J.font=this._font;J.textAlign=this._align;J.textBaseline=this._baseline;var x=A;for(var D=0,F=this._textArr.length;Dthis._width){this._textArr[A]=D.substr(0,z);this._textArr.splice(A+1,0,D.substr(z));break}}}},setFont:function(z,x,y){this._family=z;this._size=x;this._font=x+"px "+z;if(y){this._font="bold "+this._font}if(this._textArr.length&&this._width){this._adjustWidth()}},setColor:function(x){this._color=x}});var i={};i.Animation=o.create(s,{_timer:null,_target:null,_system:null,_animObjArr:null,_shouldReplay:false,_isPlaying:false,_currentIndex:0,_currentAnim:null,_currentTransFunc:null,_firstParams:null,_currentDuration:null,_updateFunc:null,_HALF_PI:Math.PI/2,initialize:function(y){if(!y){throw new Error("Specify target")}if(arguments.length<2){throw new Error("Specify Animaiton Objects")}this._target=y;this._timer=new j();this._animObjArr=new Array();for(var x=1;x=this._animObjArr.length){if(!this._shouldReplay){this.stop();return false}else{this._currentIndex=0}}this._timer.reset();var x=this._animObjArr[this._currentIndex];this._currentAnim={};this._firstParams={};for(var y in x){if(y=="time"||y=="transition"){continue}this._currentAnim[y]=x[y];this._firstParams[y]=this._getProperty(this._target,y)}this._currentDuration=(x.time==undefined)?1000:x.time;this._currentTransFunc=i.Transition.getTransFunc(x.transition);return true},_getProperty:function(y,z){z.match(/^([a-z])(.*)/);var x="get"+RegExp.$1.toUpperCase()+RegExp.$2;if(y[x]){return y[x]()}return undefined},_setProperty:function(z,A,x){A.match(/^([a-z])(.*)/);var y="set"+RegExp.$1.toUpperCase()+RegExp.$2;if(z[y]){z[y](x)}},_update:function(){var x=this._timer.getElapsed();var y=this._currentTransFunc(x/this._currentDuration);if(x>=this._currentDuration){for(var A in this._currentAnim){this._setProperty(this._target,A,this._currentAnim[A])}if(this._changeAnim()){this._update()}return}for(var A in this._currentAnim){var z=(this._currentAnim[A]-this._firstParams[A])*y+this._firstParams[A];if(A=="visible"){z=this._firstParams[A]}this._setProperty(this._target,A,z)}},isPlaying:function(){return this._isPlaying}});i.Animation.system=null;(function(x){var E={SINE_IN:"SINE_IN",SINE_OUT:"SINE_OUT",SINE_INOUT:"SINE_INOUT",LINEAR:"LINEAR",CIRC_IN:"CIRC_IN",CIRC_OUT:"CIRC_OUT",CIRC_INOUT:"CIRC_INOUT",CUBIC_IN:"CUBIC_IN",CUBIC_OUT:"CUBIC_OUT",CUBIC_INOUT:"CIRC_INOUT",ELASTIC_IN:"ELASTIC_IN",ELASTIC_OUT:"ELASTIC_OUT",ELASTIC_INOUT:"ELASTIC_INOUT",getTransFunc:B};var H=Math.PI/2;function B(O){switch(O){case E.LINEAR:return y;case E.SINE_IN:return J;case E.SINE_OUT:return M;case E.SINE_INOUT:return F;case E.CIRC_IN:return D;case E.CIRC_OUT:return C;case E.CIRC_INOUT:return z;case E.CUBIC_IN:return N;case E.CUBIC_OUT:return K;case E.CUBIC_INOUT:return L;case E.ELASTIC_IN:return G;case E.ELASTIC_OUT:return I;case E.ELASTIC_INOUT:return A;default:return y}}function y(O){return O}function J(O){return 1-Math.cos(O*H)}function M(O){return 1-J(1-O)}function F(O){return(O<0.5)?J(O*2)*0.5:1-J(2-O*2)*0.5}function D(O){return 1-Math.sqrt(1-O*O)}function C(O){return 1-D(1-O)}function z(O){return(O<0.5)?D(O*2)*0.5:1-D(2-O*2)*0.5}function N(O){return O*O*O}function K(O){return 1-N(1-O)}function L(O){return(O<0.5)?N(O*2)*0.5:1-N(2-O*2)*0.5}function G(O){return 1-I(1-O)}function I(O){var P=1-O;return 1-Math.pow(P,8)+Math.sin(O*O*6*Math.PI)*P*P}function A(O){return(O<0.5)?G(O*2)*0.5:1-G(2-O*2)*0.5}x.Transition=E})(i);i.Timeline=o.create({_target:null,_keyFrameObj:null,_totalFrame:0,_fps:0,_baseFrame:null,_firstFrame:0,initialize:function(A,B,z){var x;this._target=A;this._keyFrameObj=B;if(z){this._fps=z}for(var D in this._keyFrameObj){var C=B[D];var y=parseInt(D,10);if(this._firstFrame==0||this._firstFrame>y){this._firstFrame=y}C.index=D;x=parseInt(D,10);if(this._totalFramethis._totalFrame){throw new Error("invalid frame index")}if(x){this._shouldLoop=x}this._updateFunc=w(this._update,this);this._currentFrame=z;this._executeKeyFrame(this._currentFrame);this._timer.start();var y=i.Animation.system;y.addEventListener(v.ENTER_FRAME,this._updateFunc)},_update:function(){var x=this._timer.getElapsed();var A=1000/this._fps;if(x>=A){this._step();x=this._timer.getElapsed()}for(var y=0;y=0;I--){H=J[I];if(!H.getVisible()){continue}L=G.localToGlobal(H._screenRect[0],H._screenRect[1]);if(L[0]<=F&&L[0]+H._screenRect[2]>=F&&L[1]<=M&&L[1]+H._screenRect[3]>=M){if(H._displayArr){var K=B(H,F,M);if(K){return K}}else{return H}}}return null}function z(H){H.preventDefault();function I(M,O){var N=E(M),L=B(y._stage,N.x,N.y);if(!L){L=y._stage}x[O]=L;var K=new v(v.TOUCH_START,{x:N.x,y:N.y});D(L,K)}if(H.type=="mousedown"){window.addEventListener("mousemove",C,true);window.addEventListener("mouseup",A,true);I(H,0)}else{for(var G=0,F=H.changedTouches.length;G=1000){this._realFps=this._runCount*1000/this._runTime;this._runCount=this._runTime=0;if(this._fpsElem){this._fpsElem.innerHTML=this._realFps}if(this._realFps>this._maxFps){this._maxFps=this._realFps}}this._prevTime=j.time;if(!this._disableClearRect){this._context.clearRect(0,0,this._width,this._height)}this._game.update();this._stage.draw();this.dispatchEvent(v.ENTER_FRAME);this._intervalId=window.requestAnimationFrame(this._bindedRun)},getWidth:function(){return this._width},getHeight:function(){return this._height},getImage:function(x,y){return this._imageManager.getImage(x,y)},getCanvas:function(){return this._canvas},getStage:function(){return this._stage},getFps:function(){return this._realFps}});var c=o.create(k.DisplayObjectContainer,{_system:null,initialize:function(y,x){this._system=x},update:function(){}});var d=false;window.addEventListener("load",function(){d=true},false);h.arc={ua:m,display:k,anim:i,util:a,Class:o,Event:v,EventDispatcher:s,Timer:j,CountTimer:g,Ajax:n,ImageManager:r,System:b,Game:c}})(window);