(function($,window,document,undefined){var rmatrix=/progid:DXImageTransform\.Microsoft\.Matrix\(.*?\)/,rfxnum=/^([\+\-]=)?([\d+.\-]+)(.*)$/,rperc=/%/;var m=document.createElement('modernizr' ),m_style=m.style;function stripUnits(arg){return parseFloat(arg);}function getVendorPrefix(){var property={transformProperty:'',MozTransform:'-moz-',WebkitTransform:'-webkit-',OTransform:'-o-',msTransform:'-ms-'};for(var p in property){if(typeof m_style[p] !='undefined'){return property[p];}}return null;}function supportCssTransforms(){if(typeof(window.Modernizr) !=='undefined'){return Modernizr.csstransforms;}var props=[ 'transformProperty','WebkitTransform','MozTransform','OTransform','msTransform' ];for(var i in props ){if(m_style[ props[i] ] !==undefined  ){return true;}}}var vendorPrefix=getVendorPrefix(),transformProperty=vendorPrefix !==null?vendorPrefix+'transform':false,transformOriginProperty=vendorPrefix !==null?vendorPrefix+'transform-origin':false;$.support.csstransforms=supportCssTransforms();if(vendorPrefix=='-ms-'){transformProperty='msTransform';transformOriginProperty='msTransformOrigin';}$.extend({transform:function(elem){elem.transform=this;this.$elem=$(elem);this.applyingMatrix=false;this.matrix=null;this.height=null;this.width=null;this.outerHeight=null;this.outerWidth=null;this.boxSizingValue=null;this.boxSizingProperty=null;this.attr=null;this.transformProperty=transformProperty;this.transformOriginProperty=transformOriginProperty;}});$.extend($.transform,{funcs:['matrix','origin','reflect','reflectX','reflectXY','reflectY','rotate','scale','scaleX','scaleY','skew','skewX','skewY','translate','translateX','translateY']});$.fn.transform=function(funcs,options){return this.each(function(){var t=this.transform||new $.transform(this);if(funcs){t.exec(funcs,options);}});};$.transform.prototype={exec:function(funcs,options){options=$.extend(true,{forceMatrix:false,preserve:false},options);this.attr=null;if(options.preserve){funcs=$.extend(true,this.getAttrs(true,true),funcs);}else{funcs=$.extend(true,{},funcs);}this.setAttrs(funcs);if($.support.csstransforms && !options.forceMatrix){return this.execFuncs(funcs);}else if($.browser.msie||($.support.csstransforms && options.forceMatrix)){return this.execMatrix(funcs);}return false;},execFuncs:function(funcs){var values=[];for(var func in funcs){if(func=='origin'){this[func].apply(this,$.isArray(funcs[func])?funcs[func]:[funcs[func]]);}else if($.inArray(func,$.transform.funcs) !==-1){values.push(this.createTransformFunc(func,funcs[func]));}}this.$elem.css(transformProperty,values.join(' '));return true;},execMatrix:function(funcs){var matrix,tempMatrix,args;var elem=this.$elem[0],_this=this;function normalPixels(val,i){if(rperc.test(val)){return parseFloat(val)/100 * _this['safeOuter'+(i?'Height':'Width')]();}return toPx(elem,val);}var rtranslate=/translate[X|Y]?/,trans=[];for(var func in funcs){switch($.type(funcs[func])){case 'array':args=funcs[func];break;case 'string':args=$.map(funcs[func].split(','),$.trim);break;default:args=[funcs[func]];}if($.matrix[func]){if($.cssAngle[func]){args=$.map(args,$.angle.toDegree);}else if(!$.cssNumber[func]){args=$.map(args,normalPixels);}else{args=$.map(args,stripUnits);}tempMatrix=$.matrix[func].apply(this,args);if(rtranslate.test(func)){trans.push(tempMatrix);}else{matrix=matrix?matrix.x(tempMatrix):tempMatrix;}}else if(func=='origin'){this[func].apply(this,args);}}matrix=matrix||$.matrix.identity();$.each(trans,function(i,val){matrix=matrix.x(val);});var a=parseFloat(matrix.e(1,1).toFixed(6)),b=parseFloat(matrix.e(2,1).toFixed(6)),c=parseFloat(matrix.e(1,2).toFixed(6)),d=parseFloat(matrix.e(2,2).toFixed(6)),tx=matrix.rows===3?parseFloat(matrix.e(1,3).toFixed(6)):0,ty=matrix.rows===3?parseFloat(matrix.e(2,3).toFixed(6)):0;if($.support.csstransforms && vendorPrefix==='-moz-'){this.$elem.css(transformProperty,'matrix('+a+','+b+','+c+','+d+','+tx+'px,'+ty+'px)');}else if($.support.csstransforms){this.$elem.css(transformProperty,'matrix('+a+','+b+','+c+','+d+','+tx+','+ty+')');}else if($.browser.msie){var filterType=',FilterType=\'nearest neighbor\'';var style=this.$elem[0].style;var matrixFilter='progid:DXImageTransform.Microsoft.Matrix('+'M11='+a+',M12='+c+',M21='+b+',M22='+d+',sizingMethod=\'auto expand\''+filterType+')';var filter=style.filter||$.curCSS(this.$elem[0],"filter" )||"";style.filter=rmatrix.test(filter)?filter.replace(rmatrix,matrixFilter):filter?filter+' '+matrixFilter:matrixFilter;this.applyingMatrix=true;this.matrix=matrix;this.fixPosition(matrix,tx,ty);this.applyingMatrix=false;this.matrix=null;}return true;},origin:function(x,y){if($.support.csstransforms){if(typeof y==='undefined'){this.$elem.css(transformOriginProperty,x);}else{this.$elem.css(transformOriginProperty,x+' '+y);}return true;}switch(x){case 'left':x='0';break;case 'right':x='100%';break;case 'center':case undefined:x='50%';}switch(y){case 'top':y='0';break;case 'bottom':y='100%';break;case 'center':case undefined:y='50%';}this.setAttr('origin',[rperc.test(x)?x:toPx(this.$elem[0],x)+'px',rperc.test(y)?y:toPx(this.$elem[0],y)+'px']);return true;},createTransformFunc:function(func,value){if(func.substr(0,7)==='reflect'){var m=value?$.matrix[func]():$.matrix.identity();return 'matrix('+m.e(1,1)+','+m.e(2,1)+','+m.e(1,2)+','+m.e(2,2)+',0,0)';}if(func=='matrix'){if(vendorPrefix==='-moz-'){value[4]=value[4]?value[4]+'px':0;value[5]=value[5]?value[5]+'px':0;}}return func+'('+($.isArray(value)?value.join(','):value)+')';},fixPosition:function(matrix,tx,ty,height,width){var	calc=new $.matrix.calc(matrix,this.safeOuterHeight(),this.safeOuterWidth()),origin=this.getAttr('origin');var offset=calc.originOffset(new $.matrix.V2(rperc.test(origin[0])?parseFloat(origin[0])/100*calc.outerWidth:parseFloat(origin[0]),rperc.test(origin[1])?parseFloat(origin[1])/100*calc.outerHeight:parseFloat(origin[1])));var sides=calc.sides();var cssPosition=this.$elem.css('position');if(cssPosition=='static'){cssPosition='relative';}var pos={top:0,left:0};var css={'position':cssPosition,'top':(offset.top+ty+sides.top+pos.top)+'px','left':(offset.left+tx+sides.left+pos.left)+'px','zoom':1};this.$elem.css(css);}};function toPx(elem,val){var parts=rfxnum.exec($.trim(val));if(parts[3] && parts[3] !=='px'){var prop='paddingBottom',orig=$.style(elem,prop );$.style(elem,prop,val );val=cur(elem,prop );$.style(elem,prop,orig );return val;}return parseFloat(val );}function cur(elem,prop){if(elem[prop] !=null &&(!elem.style||elem.style[prop]==null) ){return elem[ prop ];}var r=parseFloat($.css(elem,prop ) );return r && r>-10000?r:0;}})(jQuery,this,this.document);(function($,window,document,undefined){$.extend($.transform.prototype,{safeOuterHeight:function(){return this.safeOuterLength('height');},safeOuterWidth:function(){return this.safeOuterLength('width');},safeOuterLength:function(dim){var funcName='outer'+(dim=='width'?'Width':'Height');if(!$.support.csstransforms && $.browser.msie){dim=dim=='width'?'width':'height';if(this.applyingMatrix && !this[funcName] && this.matrix){var calc=new $.matrix.calc(this.matrix,1,1),ratio=calc.offset(),length=this.$elem[funcName]()/ratio[dim];this[funcName]=length;return length;}else if(this.applyingMatrix && this[funcName]){return this[funcName];}var side={height:['top','bottom'],width:['left','right']};var elem=this.$elem[0],outerLen=parseFloat($.curCSS(elem,dim,true)),boxSizingProp=this.boxSizingProperty,boxSizingValue=this.boxSizingValue;if(!this.boxSizingProperty){boxSizingProp=this.boxSizingProperty=_findBoxSizingProperty()||'box-sizing';boxSizingValue=this.boxSizingValue=this.$elem.css(boxSizingProp)||'content-box';}if(this[funcName] && this[dim]==outerLen){return this[funcName];}else{this[dim]=outerLen;}if(boxSizingProp &&(boxSizingValue=='padding-box'||boxSizingValue=='content-box')){outerLen+=parseFloat($.curCSS(elem,'padding-'+side[dim][0],true))||0+parseFloat($.curCSS(elem,'padding-'+side[dim][1],true))||0;}if(boxSizingProp && boxSizingValue=='content-box'){outerLen+=parseFloat($.curCSS(elem,'border-'+side[dim][0]+'-width',true))||0+parseFloat($.curCSS(elem,'border-'+side[dim][1]+'-width',true))||0;}this[funcName]=outerLen;return outerLen;}return this.$elem[funcName]();}});var _boxSizingProperty=null;function _findBoxSizingProperty(){if(_boxSizingProperty){return _boxSizingProperty;}var property={boxSizing:'box-sizing',MozBoxSizing:'-moz-box-sizing',WebkitBoxSizing:'-webkit-box-sizing',OBoxSizing:'-o-box-sizing'},elem=document.body;for(var p in property){if(typeof elem.style[p] !='undefined'){_boxSizingProperty=property[p];return _boxSizingProperty;}}return null;}})(jQuery,this,this.document);(function($,window,document,undefined){var rfuncvalue=/([\w\-]*?)\((.*?)\)/g,attr='data-transform',rspace=/\s/,rcspace=/,\s?/;$.extend($.transform.prototype,{setAttrs:function(funcs){var string='',value;for(var func in funcs){value=funcs[func];if($.isArray(value)){value=value.join(',');}string+=' '+func+'('+value+')';}this.attr=$.trim(string);this.$elem.attr(attr,this.attr);},setAttr:function(func,value){if($.isArray(value)){value=value.join(',');}var transform=this.attr||this.$elem.attr(attr);if(!transform||transform.indexOf(func)==-1){this.attr=$.trim(transform+' '+func+'('+value+')');this.$elem.attr(attr,this.attr);}else{var funcs=[],parts;rfuncvalue.lastIndex=0;while(parts=rfuncvalue.exec(transform)){if(func==parts[1]){funcs.push(func+'('+value+')');}else{funcs.push(parts[0]);}}this.attr=funcs.join(' ');this.$elem.attr(attr,this.attr);}},getAttrs:function(){var transform=this.attr||this.$elem.attr(attr);if(!transform){return{};}var attrs={},parts,value;rfuncvalue.lastIndex=0;while((parts=rfuncvalue.exec(transform)) !==null){if(parts){value=parts[2].split(rcspace);attrs[parts[1]]=value.length==1?value[0]:value;}}return attrs;},getAttr:function(func){var attrs=this.getAttrs();if(typeof attrs[func] !=='undefined'){return attrs[func];}if(func==='origin' && $.support.csstransforms){return this.$elem.css(this.transformOriginProperty).split(rspace);}else if(func==='origin'){return ['50%','50%'];}return $.cssDefault[func]||0;}});if(typeof($.cssAngle)=='undefined'){$.cssAngle={};}$.extend($.cssAngle,{rotate:true,skew:true,skewX:true,skewY:true});if(typeof($.cssDefault)=='undefined'){$.cssDefault={};}$.extend($.cssDefault,{scale:[1,1],scaleX:1,scaleY:1,matrix:[1,0,0,1,0,0],origin:['50%','50%'],reflect:[1,0,0,1,0,0],reflectX:[1,0,0,1,0,0],reflectXY:[1,0,0,1,0,0],reflectY:[1,0,0,1,0,0]});if(typeof($.cssMultipleValues)=='undefined'){$.cssMultipleValues={};}$.extend($.cssMultipleValues,{matrix:6,origin:{length:2,duplicate:true},reflect:6,reflectX:6,reflectXY:6,reflectY:6,scale:{length:2,duplicate:true},skew:2,translate:2});$.extend($.cssNumber,{matrix:true,reflect:true,reflectX:true,reflectXY:true,reflectY:true,scale:true,scaleX:true,scaleY:true});$.each($.transform.funcs,function(i,func){$.cssHooks[func]={set:function(elem,value){var transform=elem.transform||new $.transform(elem),funcs={};funcs[func]=value;transform.exec(funcs,{preserve:true});},get:function(elem,computed){var transform=elem.transform||new $.transform(elem);return transform.getAttr(func);}};});$.each(['reflect','reflectX','reflectXY','reflectY'],function(i,func){$.cssHooks[func].get=function(elem,computed){var transform=elem.transform||new $.transform(elem);return transform.getAttr('matrix')||$.cssDefault[func];};});})(jQuery,this,this.document);(function($,window,document,undefined){var rfxnum=/^([+\-]=)?([\d+.\-]+)(.*)$/;var _animate=$.fn.animate;$.fn.animate=function(prop,speed,easing,callback ){var optall=$.speed(speed,easing,callback),mv=$.cssMultipleValues;optall.complete=optall.old;if(!$.isEmptyObject(prop)){if(typeof optall.original==='undefined'){optall.original={};}$.each(prop,function(name,val ){if(mv[name]||$.cssAngle[name]||(!$.cssNumber[name] && $.inArray(name,$.transform.funcs) !==-1)){var specialEasing=null;if(jQuery.isArray(prop[name])){var mvlen=1,len=val.length;if(mv[name]){mvlen=(typeof mv[name].length==='undefined'?mv[name]:mv[name].length);}if(len>mvlen||(len<mvlen && len==2)||(len==2 && mvlen==2 && isNaN(parseFloat(val[len - 1])))){specialEasing=val[len - 1];val.splice(len - 1,1);}}optall.original[name]=val.toString();prop[name]=parseFloat(val);}});}return _animate.apply(this,[arguments[0],optall]);};var prop='paddingBottom';function cur(elem,prop){if(elem[prop] !=null &&(!elem.style||elem.style[prop]==null) ){}var r=parseFloat($.css(elem,prop ) );return r && r>-10000?r:0;}var _custom=$.fx.prototype.custom;$.fx.prototype.custom=function(from,to,unit){var multiple=$.cssMultipleValues[this.prop],angle=$.cssAngle[this.prop];if(multiple||(!$.cssNumber[this.prop] && $.inArray(this.prop,$.transform.funcs) !==-1)){this.values=[];if(!multiple){multiple=1;}var values=this.options.original[this.prop],currentValues=$(this.elem).css(this.prop),defaultValues=$.cssDefault[this.prop]||0;if(!$.isArray(currentValues)){currentValues=[currentValues];}if(!$.isArray(values)){if($.type(values)==='string'){values=values.split(',');}else{values=[values];}}var length=multiple.length||multiple,i=0;while(values.length<length){values.push(multiple.duplicate?values[0]:defaultValues[i]||0);i++;}var start,parts,end,fx=this,transform=fx.elem.transform;orig=$.style(fx.elem,prop);$.each(values,function(i,val){if(currentValues[i]){start=currentValues[i];}else if(defaultValues[i] && !multiple.duplicate){start=defaultValues[i];}else if(multiple.duplicate){start=currentValues[0];}else{start=0;}if(angle){start=$.angle.toDegree(start);}else if(!$.cssNumber[fx.prop]){parts=rfxnum.exec($.trim(start));if(parts[3] && parts[3] !=='px'){if(parts[3]==='%'){start=parseFloat(parts[2] )/100 * transform['safeOuter'+(i?'Height':'Width')]();}else{$.style(fx.elem,prop,start);start=cur(fx.elem,prop);$.style(fx.elem,prop,orig);}}}start=parseFloat(start);parts=rfxnum.exec($.trim(val));if(parts){end=parseFloat(parts[2] );unit=parts[3]||"px";if(angle){end=$.angle.toDegree(end+unit);unit='deg';}else if(!$.cssNumber[fx.prop] && unit==='%'){start=(start/transform['safeOuter'+(i?'Height':'Width')]()) * 100;}else if(!$.cssNumber[fx.prop] && unit !=='px'){$.style(fx.elem,prop,(end||1)+unit);start=((end||1)/cur(fx.elem,prop)) * start;$.style(fx.elem,prop,orig);}if(parts[1]){end=((parts[1]==="-="?-1:1) * end)+start;}}else{end=val;unit='';}fx.values.push({start:start,end:end,unit:unit});});}return _custom.apply(this,arguments);};$.fx.multipleValueStep={_default:function(fx){$.each(fx.values,function(i,val){fx.values[i].now=val.start+((val.end - val.start) * fx.pos);});}};$.each(['matrix','reflect','reflectX','reflectXY','reflectY'],function(i,func){$.fx.multipleValueStep[func]=function(fx){var d=fx.decomposed,$m=$.matrix;m=$m.identity();d.now={};$.each(d.start,function(k){d.now[k]=parseFloat(d.start[k])+((parseFloat(d.end[k]) - parseFloat(d.start[k])) * fx.pos);if(((k==='scaleX'||k==='scaleY') && d.now[k]===1)||(k !=='scaleX' && k !=='scaleY' && d.now[k]===0)){return true;}m=m.x($m[k](d.now[k]));});var val;$.each(fx.values,function(i){switch(i){case 0:val=parseFloat(m.e(1,1).toFixed(6));break;case 1:val=parseFloat(m.e(2,1).toFixed(6));break;case 2:val=parseFloat(m.e(1,2).toFixed(6));break;case 3:val=parseFloat(m.e(2,2).toFixed(6));break;case 4:val=parseFloat(m.e(1,3).toFixed(6));break;case 5:val=parseFloat(m.e(2,3).toFixed(6));break;}fx.values[i].now=val;});};});$.each($.transform.funcs,function(i,func){$.fx.step[func]=function(fx){var transform=fx.elem.transform||new $.transform(fx.elem),funcs={};if($.cssMultipleValues[func]||(!$.cssNumber[func] && $.inArray(func,$.transform.funcs) !==-1)){($.fx.multipleValueStep[fx.prop]||$.fx.multipleValueStep._default)(fx);funcs[fx.prop]=[];$.each(fx.values,function(i,val){funcs[fx.prop].push(val.now+($.cssNumber[fx.prop]?'':val.unit));});}else{funcs[fx.prop]=fx.now+($.cssNumber[fx.prop]?'':fx.unit);}transform.exec(funcs,{preserve:true});};});$.each(['matrix','reflect','reflectX','reflectXY','reflectY'],function(i,func){$.fx.step[func]=function(fx){var transform=fx.elem.transform||new $.transform(fx.elem),funcs={};if(!fx.initialized){fx.initialized=true;if(func !=='matrix'){var values=$.matrix[func]().elements;var val;$.each(fx.values,function(i){switch(i){case 0:val=values[0];break;case 1:val=values[2];break;case 2:val=values[1];break;case 3:val=values[3];break;default:val=0;}fx.values[i].end=val;});}fx.decomposed={};var v=fx.values;fx.decomposed.start=$.matrix.matrix(v[0].start,v[1].start,v[2].start,v[3].start,v[4].start,v[5].start).decompose();fx.decomposed.end=$.matrix.matrix(v[0].end,v[1].end,v[2].end,v[3].end,v[4].end,v[5].end).decompose();}($.fx.multipleValueStep[fx.prop]||$.fx.multipleValueStep._default)(fx);funcs.matrix=[];$.each(fx.values,function(i,val){funcs.matrix.push(val.now);});transform.exec(funcs,{preserve:true});};});})(jQuery,this,this.document);(function($,window,document,undefined){var RAD_DEG=180/Math.PI;var RAD_GRAD=200/Math.PI;var DEG_RAD=Math.PI/180;var DEG_GRAD=2/1.8;var GRAD_DEG=0.9;var GRAD_RAD=Math.PI/200;var rfxnum=/^([+\-]=)?([\d+.\-]+)(.*)$/;$.extend({angle:{runit:/(deg|g?rad)/,radianToDegree:function(rad){return rad * RAD_DEG;},radianToGrad:function(rad){return rad * RAD_GRAD;},degreeToRadian:function(deg){return deg * DEG_RAD;},degreeToGrad:function(deg){return deg * DEG_GRAD;},gradToDegree:function(grad){return grad * GRAD_DEG;},gradToRadian:function(grad){return grad * GRAD_RAD;},toDegree:function(val){var parts=rfxnum.exec(val);if(parts){val=parseFloat(parts[2] );switch(parts[3]||'deg'){case 'grad':val=$.angle.gradToDegree(val);break;case 'rad':val=$.angle.radianToDegree(val);break;}return val;}return 0;}}});})(jQuery,this,this.document);(function($,window,document,undefined){if(typeof($.matrix)=='undefined'){$.extend({matrix:{}});}var $m=$.matrix;$.extend($m,{V2:function(x,y){if($.isArray(arguments[0])){this.elements=arguments[0].slice(0,2);}else{this.elements=[x,y];}this.length=2;},V3:function(x,y,z){if($.isArray(arguments[0])){this.elements=arguments[0].slice(0,3);}else{this.elements=[x,y,z];}this.length=3;},M2x2:function(m11,m12,m21,m22){if($.isArray(arguments[0])){this.elements=arguments[0].slice(0,4);}else{this.elements=Array.prototype.slice.call(arguments).slice(0,4);}this.rows=2;this.cols=2;},M3x3:function(m11,m12,m13,m21,m22,m23,m31,m32,m33){if($.isArray(arguments[0])){this.elements=arguments[0].slice(0,9);}else{this.elements=Array.prototype.slice.call(arguments).slice(0,9);}this.rows=3;this.cols=3;}});var Matrix={e:function(row,col){var rows=this.rows,cols=this.cols;if(row>rows||col>rows||row<1||col<1){return 0;}return this.elements[(row - 1) * cols+col - 1];},decompose:function(){var a=this.e(1,1),b=this.e(2,1),c=this.e(1,2),d=this.e(2,2),e=this.e(1,3),f=this.e(2,3);if(Math.abs(a * d - b * c)<0.01){return{rotate:0+'deg',skewX:0+'deg',scaleX:1,scaleY:1,translateX:0+'px',translateY:0+'px'};}var tx=e,ty=f;var sx=Math.sqrt(a * a+b * b);a=a/sx;b=b/sx;var k=a * c+b * d;c -=a * k;d -=b * k;var sy=Math.sqrt(c * c+d * d);c=c/sy;d=d/sy;k=k/sy;if((a * d - b * c)<0.0){a=-a;b=-b;sx=-sx;}var rad2deg=$.angle.radianToDegree;var r=rad2deg(Math.atan2(b,a));k=rad2deg(Math.atan(k));return{rotate:r+'deg',skewX:k+'deg',scaleX:sx,scaleY:sy,translateX:tx+'px',translateY:ty+'px'};}};$.extend($m.M2x2.prototype,Matrix,{toM3x3:function(){var a=this.elements;return new $m.M3x3(a[0],a[1],0,a[2],a[3],0,0,0,1);},x:function(matrix){var isVector=typeof(matrix.rows)==='undefined';if(!isVector && matrix.rows==3){return this.toM3x3().x(matrix);}var a=this.elements,b=matrix.elements;if(isVector && b.length==2){return new $m.V2(a[0] * b[0]+a[1] * b[1],a[2] * b[0]+a[3] * b[1]);}else if(b.length==a.length){return new $m.M2x2(a[0] * b[0]+a[1] * b[2],a[0] * b[1]+a[1] * b[3],a[2] * b[0]+a[3] * b[2],a[2] * b[1]+a[3] * b[3]);}return false;},inverse:function(){var d=1/this.determinant(),a=this.elements;return new $m.M2x2(d *  a[3],d * -a[1],d * -a[2],d * a[0]);},determinant:function(){var a=this.elements;return a[0] * a[3] - a[1] * a[2];}});$.extend($m.M3x3.prototype,Matrix,{x:function(matrix){var isVector=typeof(matrix.rows)==='undefined';if(!isVector && matrix.rows<3){matrix=matrix.toM3x3();}var a=this.elements,b=matrix.elements;if(isVector && b.length==3){return new $m.V3(a[0] * b[0]+a[1] * b[1]+a[2] * b[2],a[3] * b[0]+a[4] * b[1]+a[5] * b[2],a[6] * b[0]+a[7] * b[1]+a[8] * b[2]);}else if(b.length==a.length){return new $m.M3x3(a[0] * b[0]+a[1] * b[3]+a[2] * b[6],a[0] * b[1]+a[1] * b[4]+a[2] * b[7],a[0] * b[2]+a[1] * b[5]+a[2] * b[8],a[3] * b[0]+a[4] * b[3]+a[5] * b[6],a[3] * b[1]+a[4] * b[4]+a[5] * b[7],a[3] * b[2]+a[4] * b[5]+a[5] * b[8],a[6] * b[0]+a[7] * b[3]+a[8] * b[6],a[6] * b[1]+a[7] * b[4]+a[8] * b[7],a[6] * b[2]+a[7] * b[5]+a[8] * b[8]);}return false;},inverse:function(){var d=1/this.determinant(),a=this.elements;return new $m.M3x3(d *(a[8] * a[4] - a[7] * a[5]),d *(-(a[8] * a[1] - a[7] * a[2])),d *(a[5] * a[1] - a[4] * a[2]),d *(-(a[8] * a[3] - a[6] * a[5])),d *(a[8] * a[0] - a[6] * a[2]),d *(-(a[5] * a[0] - a[3] * a[2])),d *(a[7] * a[3] - a[6] * a[4]),d *(-(a[7] * a[0] - a[6] * a[1])),d *(a[4] * a[0] - a[3] * a[1]));},determinant:function(){var a=this.elements;return a[0] *(a[8] * a[4] - a[7] * a[5]) - a[3] *(a[8] * a[1] - a[7] * a[2])+a[6] *(a[5] * a[1] - a[4] * a[2]);}});var Vector={e:function(i){return this.elements[i - 1];}};$.extend($m.V2.prototype,Vector);$.extend($m.V3.prototype,Vector);})(jQuery,this,this.document);(function($,window,document,undefined){if(typeof($.matrix)=='undefined'){$.extend({matrix:{}});}$.extend($.matrix,{calc:function(matrix,outerHeight,outerWidth){this.matrix=matrix;this.outerHeight=outerHeight;this.outerWidth=outerWidth;}});$.matrix.calc.prototype={coord:function(x,y,z){z=typeof(z) !=='undefined'?z:0;var matrix=this.matrix,vector;switch(matrix.rows){case 2:vector=matrix.x(new $.matrix.V2(x,y));break;case 3:vector=matrix.x(new $.matrix.V3(x,y,z));break;}return vector;},corners:function(x,y){var save=!(typeof(x) !=='undefined'||typeof(y) !=='undefined'),c;if(!this.c||!save){y=y||this.outerHeight;x=x||this.outerWidth;c={tl:this.coord(0,0),bl:this.coord(0,y),tr:this.coord(x,0),br:this.coord(x,y)};}else{c=this.c;}if(save){this.c=c;}return c;},sides:function(corners){var c=corners||this.corners();return{top:Math.min(c.tl.e(2),c.tr.e(2),c.br.e(2),c.bl.e(2)),bottom:Math.max(c.tl.e(2),c.tr.e(2),c.br.e(2),c.bl.e(2)),left:Math.min(c.tl.e(1),c.tr.e(1),c.br.e(1),c.bl.e(1)),right:Math.max(c.tl.e(1),c.tr.e(1),c.br.e(1),c.bl.e(1))};},offset:function(corners){var s=this.sides(corners);return{height:Math.abs(s.bottom - s.top),width:Math.abs(s.right - s.left)};},area:function(corners){var c=corners||this.corners();var v1={x:c.tr.e(1) - c.tl.e(1)+c.br.e(1) - c.bl.e(1),y:c.tr.e(2) - c.tl.e(2)+c.br.e(2) - c.bl.e(2)},v2={x:c.bl.e(1) - c.tl.e(1)+c.br.e(1) - c.tr.e(1),y:c.bl.e(2) - c.tl.e(2)+c.br.e(2) - c.tr.e(2)};return 0.25 * Math.abs(v1.e(1) * v2.e(2) - v1.e(2) * v2.e(1));},nonAffinity:function(){var sides=this.sides(),xDiff=sides.top - sides.bottom,yDiff=sides.left - sides.right;return parseFloat(parseFloat(Math.abs((Math.pow(xDiff,2)+Math.pow(yDiff,2))/(sides.top * sides.bottom+sides.left * sides.right))).toFixed(8));},originOffset:function(toOrigin,fromOrigin){toOrigin=toOrigin?toOrigin:new $.matrix.V2(this.outerWidth * 0.5,this.outerHeight * 0.5);fromOrigin=fromOrigin?fromOrigin:new $.matrix.V2(0,0);var toCenter=this.coord(toOrigin.e(1),toOrigin.e(2));var fromCenter=this.coord(fromOrigin.e(1),fromOrigin.e(2));return{top:(fromCenter.e(2) - fromOrigin.e(2)) -(toCenter.e(2) - toOrigin.e(2)),left:(fromCenter.e(1) - fromOrigin.e(1)) -(toCenter.e(1) - toOrigin.e(1))};}};})(jQuery,this,this.document);(function($,window,document,undefined){if(typeof($.matrix)=='undefined'){$.extend({matrix:{}});}var $m=$.matrix,$m2x2=$m.M2x2,$m3x3=$m.M3x3;$.extend($m,{identity:function(size){size=size||2;var length=size * size,elements=new Array(length),mod=size+1;for(var i=0;i<length;i++){elements[i]=(i % mod)===0?1:0;}return new $m['M'+size+'x'+size](elements);},matrix:function(){var args=Array.prototype.slice.call(arguments);switch(arguments.length){case 4:return new $m2x2(args[0],args[2],args[1],args[3]);case 6:return new $m3x3(args[0],args[2],args[4],args[1],args[3],args[5],0,0,1);}},reflect:function(){return new $m2x2(-1,0,0,-1);},reflectX:function(){return new $m2x2(1,0,0,-1);},reflectXY:function(){return new $m2x2(0,1,1,0);},reflectY:function(){return new $m2x2(-1,0,0,1);},rotate:function(deg){var rad=$.angle.degreeToRadian(deg),costheta=Math.cos(rad),sintheta=Math.sin(rad);var a=costheta,b=sintheta,c=-sintheta,d=costheta;return new $m2x2(a,c,b,d);},scale:function(sx,sy){sx=sx||sx===0?sx:1;sy=sy||sy===0?sy:sx;return new $m2x2(sx,0,0,sy);},scaleX:function(sx){return $m.scale(sx,1);},scaleY:function(sy){return $m.scale(1,sy);},skew:function(degX,degY){degX=degX||0;degY=degY||0;var radX=$.angle.degreeToRadian(degX),radY=$.angle.degreeToRadian(degY),x=Math.tan(radX),y=Math.tan(radY);return new $m2x2(1,x,y,1);},skewX:function(degX){return $m.skew(degX);},skewY:function(degY){return $m.skew(0,degY);},translate:function(tx,ty){tx=tx||0;ty=ty||0;return new $m3x3(1,0,tx,0,1,ty,0,0,1);},translateX:function(tx){return $m.translate(tx);},translateY:function(ty){return $m.translate(0,ty);}});})(jQuery,this,this.document);
