tag:blogger.com,1999:blog-59296551776007930922024-03-05T06:00:43.907-05:00Spies Don't Wear CorduroyThoughts and musings of a young man.Anonymoushttp://www.blogger.com/profile/04949925043779603891noreply@blogger.comBlogger18125tag:blogger.com,1999:blog-5929655177600793092.post-69857507674499508222012-01-26T22:13:00.000-05:002012-01-26T22:13:12.933-05:00Vacation Video Log 2011<p>Jenny and I went to Walt Disney World toward the end of 2011. We left in the morning after Thanksgiving. We, okay I, thought it would be fun to talk to our Flip camera during the trip and keep a Vacation Video Log, or vvlog. I've embedded those videos below for your viewing enjoyment.</p>
<p><b>Part 1 of 3:</b><br />
<iframe width="640" height="480" src="http://www.youtube.com/embed/dZ9Nvgnu8aA?rel=0" frameborder="0" allowfullscreen></iframe>
</p>
<p><b>Part 2 of 3:</b><br />
<iframe width="640" height="480" src="http://www.youtube.com/embed/en1IqPzIQso?rel=0" frameborder="0" allowfullscreen></iframe>
</p>
<p><b>Part 3 of 3:</b><br />
<iframe width="640" height="480" src="http://www.youtube.com/embed/hetcw81QzPw?rel=0" frameborder="0" allowfullscreen></iframe>
</p>Anonymoushttp://www.blogger.com/profile/04949925043779603891noreply@blogger.com0tag:blogger.com,1999:blog-5929655177600793092.post-39571641466717448962011-10-15T21:33:00.000-04:002011-10-15T23:05:45.205-04:00Maybe HTML5I had a thought the other day, I wonder if anyone has built a game engine on HTML5? As it is the latest in web technology, someone had to be thinking in that direction. So I did a little googling and found <a href="http://www.limejs.com/">LimeJS</a>. It is fairly interesting open-source project built on Google's Closure Libraries. I don't really know what I just said, but I downloaded it and start to play with the classes and features built into this JavaScript toolkit.<br />
<br />
Below my first test sample. I know the artwork is crude, I gladly admit I am not an artist. I did build the dragon myself, using a few tricks I've learned from my artist friends over the last few years. I used limes as scales and part of a cross section of a lime for the plating. I spent much more time on the art than I did the programming, which is a sign of a good engine.<br />
<br/>
I am excited to keep working with LimeJS, and I hope to show more samples here in the future.<br />
<br />
<div id="limeBox" style="width:512px;height:384px;background-color:white" ></div>
<script type="text/javascript">
//<![CDATA[
var COMPILED=true,goog=goog||{};goog.global=this;goog.DEBUG=false;goog.LOCALE="en";goog.provide=function(a){if(!COMPILED){if(goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');delete goog.implicitNamespaces_[a];for(var b=a;b=b.substring(0,b.lastIndexOf("."));){if(goog.getObjectByName(b))break;goog.implicitNamespaces_[b]=true}}goog.exportPath_(a)};
goog.setTestOnly=function(a){if(COMPILED&&!goog.DEBUG)throw a=a||"",Error("Importing test-only code into non-debug environment"+a?": "+a:".");};if(!COMPILED)goog.isProvided_=function(a){return!goog.implicitNamespaces_[a]&&!!goog.getObjectByName(a)},goog.implicitNamespaces_={};goog.exportPath_=function(a,b,c){a=a.split(".");c=c||goog.global;!(a[0]in c)&&c.execScript&&c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&goog.isDef(b)?c[d]=b:c=c[d]?c[d]:c[d]={}};
goog.getObjectByName=function(a,b){for(var c=a.split("."),d=b||goog.global,e;e=c.shift();)if(goog.isDefAndNotNull(d[e]))d=d[e];else return null;return d};goog.globalize=function(a,b){var c=b||goog.global,d;for(d in a)c[d]=a[d]};
goog.addDependency=function(a,b,c){if(!COMPILED){for(var d,a=a.replace(/\\/g,"/"),e=goog.dependencies_,f=0;d=b[f];f++)e.nameToPath[d]=a,a in e.pathToNames||(e.pathToNames[a]={}),e.pathToNames[a][d]=true;for(d=0;b=c[d];d++)a in e.requires||(e.requires[a]={}),e.requires[a][b]=true}};goog.ENABLE_DEBUG_LOADER=true;
goog.require=function(a){if(!COMPILED&&!goog.isProvided_(a)){if(goog.ENABLE_DEBUG_LOADER){var b=goog.getPathFromDeps_(a);if(b){goog.included_[b]=true;goog.writeScripts_();return}}a="goog.require could not find: "+a;goog.global.console&&goog.global.console.error(a);throw Error(a);}};goog.basePath="";goog.nullFunction=function(){};goog.identityFunction=function(a){return a};goog.abstractMethod=function(){throw Error("unimplemented abstract method");};
goog.addSingletonGetter=function(a){a.getInstance=function(){return a.instance_||(a.instance_=new a)}};
if(!COMPILED&&goog.ENABLE_DEBUG_LOADER)goog.included_={},goog.dependencies_={pathToNames:{},nameToPath:{},requires:{},visited:{},written:{}},goog.inHtmlDocument_=function(){var a=goog.global.document;return typeof a!="undefined"&&"write"in a},goog.findBasePath_=function(){if(goog.global.CLOSURE_BASE_PATH)goog.basePath=goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_())for(var a=goog.global.document.getElementsByTagName("script"),b=a.length-1;b>=0;--b){var c=a[b].src,d=c.lastIndexOf("?"),
d=d==-1?c.length:d;if(c.substr(d-7,7)=="base.js"){goog.basePath=c.substr(0,d-7);break}}},goog.importScript_=function(a){var b=goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_;!goog.dependencies_.written[a]&&b(a)&&(goog.dependencies_.written[a]=true)},goog.writeScriptTag_=function(a){return goog.inHtmlDocument_()?(goog.global.document.write('<script type="text/javascript" src="'+a+'"><\/script>'),true):false},goog.writeScripts_=function(){function a(e){if(!(e in d.written)){if(!(e in d.visited)&&
(d.visited[e]=true,e in d.requires))for(var g in d.requires[e])if(!goog.isProvided_(g))if(g in d.nameToPath)a(d.nameToPath[g]);else throw Error("Undefined nameToPath for "+g);e in c||(c[e]=true,b.push(e))}}var b=[],c={},d=goog.dependencies_,e;for(e in goog.included_)d.written[e]||a(e);for(e=0;e<b.length;e++)if(b[e])goog.importScript_(goog.basePath+b[e]);else throw Error("Undefined script input");},goog.getPathFromDeps_=function(a){return a in goog.dependencies_.nameToPath?goog.dependencies_.nameToPath[a]:
null},goog.findBasePath_(),goog.global.CLOSURE_NO_DEPS||goog.importScript_(goog.basePath+"deps.js");
goog.typeOf=function(a){var b=typeof a;if(b=="object")if(a){if(a instanceof Array)return"array";else if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if(c=="[object Window]")return"object";if(c=="[object Array]"||typeof a.length=="number"&&typeof a.splice!="undefined"&&typeof a.propertyIsEnumerable!="undefined"&&!a.propertyIsEnumerable("splice"))return"array";if(c=="[object Function]"||typeof a.call!="undefined"&&typeof a.propertyIsEnumerable!="undefined"&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
else if(b=="function"&&typeof a.call=="undefined")return"object";return b};goog.propertyIsEnumerableCustom_=function(a,b){if(b in a)for(var c in a)if(c==b&&Object.prototype.hasOwnProperty.call(a,b))return true;return false};goog.propertyIsEnumerable_=function(a,b){return a instanceof Object?Object.prototype.propertyIsEnumerable.call(a,b):goog.propertyIsEnumerableCustom_(a,b)};goog.isDef=function(a){return a!==void 0};goog.isNull=function(a){return a===null};
goog.isDefAndNotNull=function(a){return a!=null};goog.isArray=function(a){return goog.typeOf(a)=="array"};goog.isArrayLike=function(a){var b=goog.typeOf(a);return b=="array"||b=="object"&&typeof a.length=="number"};goog.isDateLike=function(a){return goog.isObject(a)&&typeof a.getFullYear=="function"};goog.isString=function(a){return typeof a=="string"};goog.isBoolean=function(a){return typeof a=="boolean"};goog.isNumber=function(a){return typeof a=="number"};
goog.isFunction=function(a){return goog.typeOf(a)=="function"};goog.isObject=function(a){a=goog.typeOf(a);return a=="object"||a=="array"||a=="function"};goog.getUid=function(a){return a[goog.UID_PROPERTY_]||(a[goog.UID_PROPERTY_]=++goog.uidCounter_)};goog.removeUid=function(a){"removeAttribute"in a&&a.removeAttribute(goog.UID_PROPERTY_);try{delete a[goog.UID_PROPERTY_]}catch(b){}};goog.UID_PROPERTY_="closure_uid_"+Math.floor(Math.random()*2147483648).toString(36);goog.uidCounter_=0;
goog.getHashCode=goog.getUid;goog.removeHashCode=goog.removeUid;goog.cloneObject=function(a){var b=goog.typeOf(a);if(b=="object"||b=="array"){if(a.clone)return a.clone();var b=b=="array"?[]:{},c;for(c in a)b[c]=goog.cloneObject(a[c]);return b}return a};goog.bindNative_=function(a,b,c){return a.call.apply(a.bind,arguments)};
goog.bindJs_=function(a,b,c){if(!a)throw Error();if(arguments.length>2){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}else return function(){return a.apply(b,arguments)}};goog.bind=function(a,b,c){goog.bind=Function.prototype.bind&&Function.prototype.bind.toString().indexOf("native code")!=-1?goog.bindNative_:goog.bindJs_;return goog.bind.apply(null,arguments)};
goog.partial=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=Array.prototype.slice.call(arguments);b.unshift.apply(b,c);return a.apply(this,b)}};goog.mixin=function(a,b){for(var c in b)a[c]=b[c]};goog.now=Date.now||function(){return+new Date};
goog.globalEval=function(a){if(goog.global.execScript)goog.global.execScript(a,"JavaScript");else if(goog.global.eval){if(goog.evalWorksForGlobals_==null)goog.global.eval("var _et_ = 1;"),typeof goog.global._et_!="undefined"?(delete goog.global._et_,goog.evalWorksForGlobals_=true):goog.evalWorksForGlobals_=false;if(goog.evalWorksForGlobals_)goog.global.eval(a);else{var b=goog.global.document,c=b.createElement("script");c.type="text/javascript";c.defer=false;c.appendChild(b.createTextNode(a));b.body.appendChild(c);
b.body.removeChild(c)}}else throw Error("goog.globalEval not available");};goog.evalWorksForGlobals_=null;goog.getCssName=function(a,b){var c=function(a){return goog.cssNameMapping_[a]||a},d;d=goog.cssNameMapping_?goog.cssNameMappingStyle_=="BY_WHOLE"?c:function(a){for(var a=a.split("-"),b=[],d=0;d<a.length;d++)b.push(c(a[d]));return b.join("-")}:function(a){return a};return b?a+"-"+d(b):d(a)};goog.setCssNameMapping=function(a,b){goog.cssNameMapping_=a;goog.cssNameMappingStyle_=b};
goog.getMsg=function(a,b){var c=b||{},d;for(d in c)var e=(""+c[d]).replace(/\$/g,"$$$$"),a=a.replace(RegExp("\\{\\$"+d+"\\}","gi"),e);return a};goog.exportSymbol=function(a,b,c){goog.exportPath_(a,b,c)};goog.exportProperty=function(a,b,c){a[b]=c};goog.inherits=function(a,b){function c(){}c.prototype=b.prototype;a.superClass_=b.prototype;a.prototype=new c;a.prototype.constructor=a};
goog.base=function(a,b,c){var d=arguments.callee.caller;if(d.superClass_)return d.superClass_.constructor.apply(a,Array.prototype.slice.call(arguments,1));for(var e=Array.prototype.slice.call(arguments,2),f=false,g=a.constructor;g;g=g.superClass_&&g.superClass_.constructor)if(g.prototype[b]===d)f=true;else if(f)return g.prototype[b].apply(a,e);if(a[b]===d)return a.constructor.prototype[b].apply(a,e);else throw Error("goog.base called from a method of one name to a method of a different name");};
goog.scope=function(a){a.call(goog.global)};var lime={DirtyObject:function(){}};lime.DirtyObject.prototype.update=function(){};goog.math={};goog.math.Coordinate=function(a,b){this.x=goog.isDef(a)?a:0;this.y=goog.isDef(b)?b:0};goog.math.Coordinate.prototype.clone=function(){return new goog.math.Coordinate(this.x,this.y)};if(goog.DEBUG)goog.math.Coordinate.prototype.toString=function(){return"("+this.x+", "+this.y+")"};goog.math.Coordinate.equals=function(a,b){return a==b?true:!a||!b?false:a.x==b.x&&a.y==b.y};goog.math.Coordinate.distance=function(a,b){var c=a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)};
goog.math.Coordinate.squaredDistance=function(a,b){var c=a.x-b.x,d=a.y-b.y;return c*c+d*d};goog.math.Coordinate.difference=function(a,b){return new goog.math.Coordinate(a.x-b.x,a.y-b.y)};goog.math.Coordinate.sum=function(a,b){return new goog.math.Coordinate(a.x+b.x,a.y+b.y)};goog.math.Box=function(a,b,c,d){this.top=a;this.right=b;this.bottom=c;this.left=d};goog.math.Box.boundingBox=function(a){for(var b=new goog.math.Box(arguments[0].y,arguments[0].x,arguments[0].y,arguments[0].x),c=1;c<arguments.length;c++){var d=arguments[c];b.top=Math.min(b.top,d.y);b.right=Math.max(b.right,d.x);b.bottom=Math.max(b.bottom,d.y);b.left=Math.min(b.left,d.x)}return b};goog.math.Box.prototype.clone=function(){return new goog.math.Box(this.top,this.right,this.bottom,this.left)};
if(goog.DEBUG)goog.math.Box.prototype.toString=function(){return"("+this.top+"t, "+this.right+"r, "+this.bottom+"b, "+this.left+"l)"};goog.math.Box.prototype.contains=function(a){return goog.math.Box.contains(this,a)};goog.math.Box.prototype.expand=function(a,b,c,d){goog.isObject(a)?(this.top-=a.top,this.right+=a.right,this.bottom+=a.bottom,this.left-=a.left):(this.top-=a,this.right+=b,this.bottom+=c,this.left-=d);return this};
goog.math.Box.prototype.expandToInclude=function(a){this.left=Math.min(this.left,a.left);this.top=Math.min(this.top,a.top);this.right=Math.max(this.right,a.right);this.bottom=Math.max(this.bottom,a.bottom)};goog.math.Box.equals=function(a,b){return a==b?true:!a||!b?false:a.top==b.top&&a.right==b.right&&a.bottom==b.bottom&&a.left==b.left};
goog.math.Box.contains=function(a,b){return!a||!b?false:b instanceof goog.math.Box?b.left>=a.left&&b.right<=a.right&&b.top>=a.top&&b.bottom<=a.bottom:b.x>=a.left&&b.x<=a.right&&b.y>=a.top&&b.y<=a.bottom};goog.math.Box.distance=function(a,b){return b.x>=a.left&&b.x<=a.right?b.y>=a.top&&b.y<=a.bottom?0:b.y<a.top?a.top-b.y:b.y-a.bottom:b.y>=a.top&&b.y<=a.bottom?b.x<a.left?a.left-b.x:b.x-a.right:goog.math.Coordinate.distance(b,new goog.math.Coordinate(b.x<a.left?a.left:a.right,b.y<a.top?a.top:a.bottom))};
goog.math.Box.intersects=function(a,b){return a.left<=b.right&&b.left<=a.right&&a.top<=b.bottom&&b.top<=a.bottom};goog.math.Box.intersectsWithPadding=function(a,b,c){return a.left<=b.right+c&&b.left<=a.right+c&&a.top<=b.bottom+c&&b.top<=a.bottom+c};goog.math.Size=function(a,b){this.width=a;this.height=b};goog.math.Size.equals=function(a,b){return a==b?true:!a||!b?false:a.width==b.width&&a.height==b.height};goog.math.Size.prototype.clone=function(){return new goog.math.Size(this.width,this.height)};if(goog.DEBUG)goog.math.Size.prototype.toString=function(){return"("+this.width+" x "+this.height+")"};goog.math.Size.prototype.getLongest=function(){return Math.max(this.width,this.height)};
goog.math.Size.prototype.getShortest=function(){return Math.min(this.width,this.height)};goog.math.Size.prototype.area=function(){return this.width*this.height};goog.math.Size.prototype.perimeter=function(){return(this.width+this.height)*2};goog.math.Size.prototype.aspectRatio=function(){return this.width/this.height};goog.math.Size.prototype.isEmpty=function(){return!this.area()};goog.math.Size.prototype.ceil=function(){this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};
goog.math.Size.prototype.fitsInside=function(a){return this.width<=a.width&&this.height<=a.height};goog.math.Size.prototype.floor=function(){this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};goog.math.Size.prototype.round=function(){this.width=Math.round(this.width);this.height=Math.round(this.height);return this};goog.math.Size.prototype.scale=function(a){this.width*=a;this.height*=a;return this};
goog.math.Size.prototype.scaleToFit=function(a){return this.scale(this.aspectRatio()>a.aspectRatio()?a.width/this.width:a.height/this.height)};goog.math.Box.size={};goog.math.Size.scaleVec2={};goog.math.Box.prototype.size=function(){return new goog.math.Size(this.right-this.left,this.bottom-this.top)};goog.math.Size.prototype.scaleVec2=function(a){this.width*=a.x;this.height*=a.y;return this};lime.Renderer=function(){};lime.Renderer.prototype.draw=goog.nullFunction;lime.Renderer.prototype.getType=function(){return this.base?this.base:this};lime.Renderer.prototype.makeSubRenderer=function(a){goog.object.extend(a,this);a.base=this.getType();return a};lime.Renderer.CANVAS=new lime.Renderer;lime.Renderer.CANVAS.updateLayout=function(){};
lime.Renderer.CANVAS.drawCanvas=function(){var a=this.getQuality(),b=this.measureContents(),c=this.relativeQuality_||1,d=c/a,e;if(this.domElement){this.boundsCache&&this.boundsCache.contains(b)&&(e=this.boundsCache.size().area()/b.size().area())&&e<1.6&&e>0.5?b=this.boundsCache:this.staticCanvas!=1&&this.children_.length!=0&&(this instanceof lime.Scene||b.expand(12,12,12,12));this.boundsCache=b;var f=b.size();e=f.clone().scale(c).ceil();if(this.domElement.width!=e.width||this.domElement.height!=e.height)this.domElement.width=
e.width,this.domElement.height=e.height,this.redraw_=1;var g=this.getScale().clone();this.transitionsActive_[lime.Transition.SCALE]&&(g=this.transitionsActive_[lime.Transition.SCALE]);e.width!=0?g.scale(f.width*d/e.width):g.scale(1/a);a=this.getFrame();this.ax=(a.left-b.left)*c;this.ay=(a.top-b.top)*c;b=this.getSize().clone().scaleVec2(this.getAnchorPoint()).scale(c);c=this.getPosition().clone();this.transitionsActive_[lime.Transition.POSITION]&&(c=this.transitionsActive_[lime.Transition.POSITION]);
c.x*=d;c.y*=d;c.x-=b.width+this.ax;c.y-=b.height+this.ay;lime.style.setTransformOrigin(this.domElement,(this.ax+b.width)/e.width*100,(this.ay+b.height)/e.height*100,true);!this.transitionsActiveSet_[lime.Transition.POSITION]&&!this.transitionsActiveSet_[lime.Transition.SCALE]&&!this.transitionsActiveSet_[lime.Transition.ROTATION]&&(d=-this.getRotation(),goog.isDef(this.transitionsActive_[lime.Transition.ROTATION])&&(d=-this.transitionsActive_[lime.Transition.ROTATION]),lime.style.setTransform(this.domElement,
(new lime.style.Transform).setPrecision(0.1).translate(c.x,c.y).scale(g.x,g.y).rotate(d)));if(this.redraw_)d=this.domElement.getContext("2d"),c=this.relativeQuality_||1,d.clearRect(0,0,e.width,e.height),d.save(),d.translate(this.ax,this.ay),d.scale(c,c),e=this.getSize(),g=this.getAnchorPoint(),d.translate(e.width*g.x,e.height*g.y),this.renderer.drawCanvasObject.call(this,d),d.restore(),this.redraw_=0}};lime.Renderer.CANVAS.update=function(){};
lime.Renderer.CANVAS.drawCanvasObject=function(a){if(this.inTree_&&(this.mask_!=this.activeMask_&&(this.activeMask_&&lime.Renderer.DOM.removeMask.call(this),this.mask_&&lime.Renderer.DOM.addMask.call(this)),!this.maskTarget_&&!this.hidden_&&!(this.opacity_==0||this.isMask==1))){this.opacity_!=1&&(a.globalAlpha*=this.opacity_);if(this.mask_){lime.Renderer.DOM.calculateMaskPosition.call(this.mask_);var b=this.activeMask_,c=this.scale_;a.save();a.save();a.translate(b.mPos.x,b.mPos.y);a.rotate(-b.mRot);
this.needsDomElement&&a.rotate(this.getRotation()*Math.PI/180);a.beginPath();a.moveTo(0,0);a.lineTo(b.mWidth/c.x,0);a.lineTo(b.mWidth/c.x,b.mHeight/c.y);a.lineTo(0,b.mHeight/c.y);a.closePath();a.restore();a.clip()}b=new goog.math.Coordinate(0,0);this.renderer.draw.call(this,a);for(var d=0,e;e=this.children_[d];d++){var f=e.localToParent(b).clone(),g=e.getRotation(),c=e.getScale();a.save();a.translate(f.x,f.y);a.scale(c.x,c.y);g!=0&&a.rotate(-g*Math.PI/180);this.renderer.drawCanvasObject.call(e,a);
a.restore()}this.opacity_!=1&&(a.globalAlpha/=this.opacity_);this.activeMask_&&a.restore()}};goog.debug={};goog.debug.Error=function(a){this.stack=Error().stack||"";if(a)this.message=String(a)};goog.inherits(goog.debug.Error,Error);goog.debug.Error.prototype.name="CustomError";goog.string={};goog.string.Unicode={NBSP:"\u00a0"};goog.string.startsWith=function(a,b){return a.lastIndexOf(b,0)==0};goog.string.endsWith=function(a,b){var c=a.length-b.length;return c>=0&&a.indexOf(b,c)==c};goog.string.caseInsensitiveStartsWith=function(a,b){return goog.string.caseInsensitiveCompare(b,a.substr(0,b.length))==0};goog.string.caseInsensitiveEndsWith=function(a,b){return goog.string.caseInsensitiveCompare(b,a.substr(a.length-b.length,b.length))==0};
goog.string.subs=function(a,b){for(var c=1;c<arguments.length;c++)var d=String(arguments[c]).replace(/\$/g,"$$$$"),a=a.replace(/\%s/,d);return a};goog.string.collapseWhitespace=function(a){return a.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")};goog.string.isEmpty=function(a){return/^[\s\xa0]*$/.test(a)};goog.string.isEmptySafe=function(a){return goog.string.isEmpty(goog.string.makeSafe(a))};goog.string.isBreakingWhitespace=function(a){return!/[^\t\n\r ]/.test(a)};goog.string.isAlpha=function(a){return!/[^a-zA-Z]/.test(a)};
goog.string.isNumeric=function(a){return!/[^0-9]/.test(a)};goog.string.isAlphaNumeric=function(a){return!/[^a-zA-Z0-9]/.test(a)};goog.string.isSpace=function(a){return a==" "};goog.string.isUnicodeChar=function(a){return a.length==1&&a>=" "&&a<="~"||a>="\u0080"&&a<="\ufffd"};goog.string.stripNewlines=function(a){return a.replace(/(\r\n|\r|\n)+/g," ")};goog.string.canonicalizeNewlines=function(a){return a.replace(/(\r\n|\r|\n)/g,"\n")};
goog.string.normalizeWhitespace=function(a){return a.replace(/\xa0|\s/g," ")};goog.string.normalizeSpaces=function(a){return a.replace(/\xa0|[ \t]+/g," ")};goog.string.collapseBreakingSpaces=function(a){return a.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")};goog.string.trim=function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};goog.string.trimLeft=function(a){return a.replace(/^[\s\xa0]+/,"")};goog.string.trimRight=function(a){return a.replace(/[\s\xa0]+$/,"")};
goog.string.caseInsensitiveCompare=function(a,b){var c=String(a).toLowerCase(),d=String(b).toLowerCase();return c<d?-1:c==d?0:1};goog.string.numerateCompareRegExp_=/(\.\d+)|(\d+)|(\D+)/g;
goog.string.numerateCompare=function(a,b){if(a==b)return 0;if(!a)return-1;if(!b)return 1;for(var c=a.toLowerCase().match(goog.string.numerateCompareRegExp_),d=b.toLowerCase().match(goog.string.numerateCompareRegExp_),e=Math.min(c.length,d.length),f=0;f<e;f++){var g=c[f],h=d[f];if(g!=h){c=parseInt(g,10);return!isNaN(c)&&(d=parseInt(h,10),!isNaN(d)&&c-d)?c-d:g<h?-1:1}}return c.length!=d.length?c.length-d.length:a<b?-1:1};goog.string.encodeUriRegExp_=/^[a-zA-Z0-9\-_.!~*'()]*$/;
goog.string.urlEncode=function(a){a=String(a);return!goog.string.encodeUriRegExp_.test(a)?encodeURIComponent(a):a};goog.string.urlDecode=function(a){return decodeURIComponent(a.replace(/\+/g," "))};goog.string.newLineToBr=function(a,b){return a.replace(/(\r\n|\r|\n)/g,b?"<br />":"<br>")};
goog.string.htmlEscape=function(a,b){if(b)return a.replace(goog.string.amperRe_,"&").replace(goog.string.ltRe_,"<").replace(goog.string.gtRe_,">").replace(goog.string.quotRe_,""");else{if(!goog.string.allRe_.test(a))return a;a.indexOf("&")!=-1&&(a=a.replace(goog.string.amperRe_,"&"));a.indexOf("<")!=-1&&(a=a.replace(goog.string.ltRe_,"<"));a.indexOf(">")!=-1&&(a=a.replace(goog.string.gtRe_,">"));a.indexOf('"')!=-1&&(a=a.replace(goog.string.quotRe_,"""));return a}};
goog.string.amperRe_=/&/g;goog.string.ltRe_=/</g;goog.string.gtRe_=/>/g;goog.string.quotRe_=/\"/g;goog.string.allRe_=/[&<>\"]/;goog.string.unescapeEntities=function(a){return goog.string.contains(a,"&")?"document"in goog.global?goog.string.unescapeEntitiesUsingDom_(a):goog.string.unescapePureXmlEntities_(a):a};
goog.string.unescapeEntitiesUsingDom_=function(a){var b={"&":"&","<":"<",">":">",""":'"'},c=document.createElement("div");return a.replace(goog.string.HTML_ENTITY_PATTERN_,function(a,e){var f=b[a];if(f)return f;if(e.charAt(0)=="#"){var g=Number("0"+e.substr(1));isNaN(g)||(f=String.fromCharCode(g))}if(!f)c.innerHTML=a+" ",f=c.firstChild.nodeValue.slice(0,-1);return b[a]=f})};
goog.string.unescapePureXmlEntities_=function(a){return a.replace(/&([^;]+);/g,function(a,c){switch(c){case "amp":return"&";case "lt":return"<";case "gt":return">";case "quot":return'"';default:if(c.charAt(0)=="#"){var d=Number("0"+c.substr(1));if(!isNaN(d))return String.fromCharCode(d)}return a}})};goog.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g;goog.string.whitespaceEscape=function(a,b){return goog.string.newLineToBr(a.replace(/ /g,"  "),b)};
goog.string.stripQuotes=function(a,b){for(var c=b.length,d=0;d<c;d++){var e=c==1?b:b.charAt(d);if(a.charAt(0)==e&&a.charAt(a.length-1)==e)return a.substring(1,a.length-1)}return a};goog.string.truncate=function(a,b,c){c&&(a=goog.string.unescapeEntities(a));a.length>b&&(a=a.substring(0,b-3)+"...");c&&(a=goog.string.htmlEscape(a));return a};
goog.string.truncateMiddle=function(a,b,c,d){c&&(a=goog.string.unescapeEntities(a));if(d&&a.length>b){d>b&&(d=b);var e=a.length-d,a=a.substring(0,b-d)+"..."+a.substring(e)}else a.length>b&&(d=Math.floor(b/2),e=a.length-d,d+=b%2,a=a.substring(0,d)+"..."+a.substring(e));c&&(a=goog.string.htmlEscape(a));return a};goog.string.specialEscapeChars_={"\x00":"\\0","\u0008":"\\b","\u000c":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\u000b":"\\x0B",'"':'\\"',"\\":"\\\\"};goog.string.jsEscapeCache_={"'":"\\'"};
goog.string.quote=function(a){a=String(a);if(a.quote)return a.quote();else{for(var b=['"'],c=0;c<a.length;c++){var d=a.charAt(c),e=d.charCodeAt(0);b[c+1]=goog.string.specialEscapeChars_[d]||(e>31&&e<127?d:goog.string.escapeChar(d))}b.push('"');return b.join("")}};goog.string.escapeString=function(a){for(var b=[],c=0;c<a.length;c++)b[c]=goog.string.escapeChar(a.charAt(c));return b.join("")};
goog.string.escapeChar=function(a){if(a in goog.string.jsEscapeCache_)return goog.string.jsEscapeCache_[a];if(a in goog.string.specialEscapeChars_)return goog.string.jsEscapeCache_[a]=goog.string.specialEscapeChars_[a];var b=a,c=a.charCodeAt(0);if(c>31&&c<127)b=a;else{if(c<256){if(b="\\x",c<16||c>256)b+="0"}else b="\\u",c<4096&&(b+="0");b+=c.toString(16).toUpperCase()}return goog.string.jsEscapeCache_[a]=b};goog.string.toMap=function(a){for(var b={},c=0;c<a.length;c++)b[a.charAt(c)]=true;return b};
goog.string.contains=function(a,b){return a.indexOf(b)!=-1};goog.string.removeAt=function(a,b,c){var d=a;b>=0&&b<a.length&&c>0&&(d=a.substr(0,b)+a.substr(b+c,a.length-b-c));return d};goog.string.remove=function(a,b){var c=RegExp(goog.string.regExpEscape(b),"");return a.replace(c,"")};goog.string.removeAll=function(a,b){var c=RegExp(goog.string.regExpEscape(b),"g");return a.replace(c,"")};
goog.string.regExpEscape=function(a){return String(a).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};goog.string.repeat=function(a,b){return Array(b+1).join(a)};goog.string.padNumber=function(a,b,c){a=goog.isDef(c)?a.toFixed(c):String(a);c=a.indexOf(".");if(c==-1)c=a.length;return goog.string.repeat("0",Math.max(0,b-c))+a};goog.string.makeSafe=function(a){return a==null?"":String(a)};goog.string.buildString=function(a){return Array.prototype.join.call(arguments,"")};
goog.string.getRandomString=function(){return Math.floor(Math.random()*2147483648).toString(36)+Math.abs(Math.floor(Math.random()*2147483648)^goog.now()).toString(36)};
goog.string.compareVersions=function(a,b){for(var c=0,d=goog.string.trim(String(a)).split("."),e=goog.string.trim(String(b)).split("."),f=Math.max(d.length,e.length),g=0;c==0&&g<f;g++){var h=d[g]||"",i=e[g]||"",j=RegExp("(\\d*)(\\D*)","g"),m=RegExp("(\\d*)(\\D*)","g");do{var k=j.exec(h)||["","",""],l=m.exec(i)||["","",""];if(k[0].length==0&&l[0].length==0)break;var c=k[1].length==0?0:parseInt(k[1],10),n=l[1].length==0?0:parseInt(l[1],10),c=goog.string.compareElements_(c,n)||goog.string.compareElements_(k[2].length==
0,l[2].length==0)||goog.string.compareElements_(k[2],l[2])}while(c==0)}return c};goog.string.compareElements_=function(a,b){if(a<b)return-1;else if(a>b)return 1;return 0};goog.string.HASHCODE_MAX_=4294967296;goog.string.hashCode=function(a){for(var b=0,c=0;c<a.length;++c)b=31*b+a.charCodeAt(c),b%=goog.string.HASHCODE_MAX_;return b};goog.string.uniqueStringCounter_=Math.random()*2147483648|0;goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++};
goog.string.toNumber=function(a){var b=Number(a);return b==0&&goog.string.isEmpty(a)?NaN:b};goog.string.toCamelCaseCache_={};goog.string.toCamelCase=function(a){return goog.string.toCamelCaseCache_[a]||(goog.string.toCamelCaseCache_[a]=String(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()}))};goog.string.toSelectorCaseCache_={};goog.string.toSelectorCase=function(a){return goog.string.toSelectorCaseCache_[a]||(goog.string.toSelectorCaseCache_[a]=String(a).replace(/([A-Z])/g,"-$1").toLowerCase())};goog.asserts={};goog.asserts.ENABLE_ASSERTS=goog.DEBUG;goog.asserts.AssertionError=function(a,b){b.unshift(a);goog.debug.Error.call(this,goog.string.subs.apply(null,b));b.shift();this.messagePattern=a};goog.inherits(goog.asserts.AssertionError,goog.debug.Error);goog.asserts.AssertionError.prototype.name="AssertionError";goog.asserts.doAssertFailure_=function(a,b,c,d){var e="Assertion failed";if(c){e+=": "+c;var f=d}else a&&(e+=": "+a,f=b);throw new goog.asserts.AssertionError(""+e,f||[]);};
goog.asserts.assert=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!a&&goog.asserts.doAssertFailure_("",null,b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.fail=function(a,b){if(goog.asserts.ENABLE_ASSERTS)throw new goog.asserts.AssertionError("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1));};
goog.asserts.assertNumber=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isNumber(a)&&goog.asserts.doAssertFailure_("Expected number but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertString=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isString(a)&&goog.asserts.doAssertFailure_("Expected string but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.assertFunction=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isFunction(a)&&goog.asserts.doAssertFailure_("Expected function but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertObject=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isObject(a)&&goog.asserts.doAssertFailure_("Expected object but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.assertArray=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isArray(a)&&goog.asserts.doAssertFailure_("Expected array but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertBoolean=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isBoolean(a)&&goog.asserts.doAssertFailure_("Expected boolean but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.assertInstanceof=function(a,b,c,d){goog.asserts.ENABLE_ASSERTS&&!(a instanceof b)&&goog.asserts.doAssertFailure_("instanceof check failed.",null,c,Array.prototype.slice.call(arguments,3))};goog.array={};goog.NATIVE_ARRAY_PROTOTYPES=true;goog.array.peek=function(a){return a[a.length-1]};goog.array.ARRAY_PROTOTYPE_=Array.prototype;
goog.array.indexOf=goog.NATIVE_ARRAY_PROTOTYPES&&goog.array.ARRAY_PROTOTYPE_.indexOf?function(a,b,c){goog.asserts.assert(a.length!=null);return goog.array.ARRAY_PROTOTYPE_.indexOf.call(a,b,c)}:function(a,b,c){c=c==null?0:c<0?Math.max(0,a.length+c):c;if(goog.isString(a))return!goog.isString(b)||b.length!=1?-1:a.indexOf(b,c);for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};
goog.array.lastIndexOf=goog.NATIVE_ARRAY_PROTOTYPES&&goog.array.ARRAY_PROTOTYPE_.lastIndexOf?function(a,b,c){goog.asserts.assert(a.length!=null);return goog.array.ARRAY_PROTOTYPE_.lastIndexOf.call(a,b,c==null?a.length-1:c)}:function(a,b,c){c=c==null?a.length-1:c;c<0&&(c=Math.max(0,a.length+c));if(goog.isString(a))return!goog.isString(b)||b.length!=1?-1:a.lastIndexOf(b,c);for(;c>=0;c--)if(c in a&&a[c]===b)return c;return-1};
goog.array.forEach=goog.NATIVE_ARRAY_PROTOTYPES&&goog.array.ARRAY_PROTOTYPE_.forEach?function(a,b,c){goog.asserts.assert(a.length!=null);goog.array.ARRAY_PROTOTYPE_.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)};goog.array.forEachRight=function(a,b,c){var d=a.length,e=goog.isString(a)?a.split(""):a;for(d-=1;d>=0;--d)d in e&&b.call(c,e[d],d,a)};
goog.array.filter=goog.NATIVE_ARRAY_PROTOTYPES&&goog.array.ARRAY_PROTOTYPE_.filter?function(a,b,c){goog.asserts.assert(a.length!=null);return goog.array.ARRAY_PROTOTYPE_.filter.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=[],f=0,g=goog.isString(a)?a.split(""):a,h=0;h<d;h++)if(h in g){var i=g[h];b.call(c,i,h,a)&&(e[f++]=i)}return e};
goog.array.map=goog.NATIVE_ARRAY_PROTOTYPES&&goog.array.ARRAY_PROTOTYPE_.map?function(a,b,c){goog.asserts.assert(a.length!=null);return goog.array.ARRAY_PROTOTYPE_.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=Array(d),f=goog.isString(a)?a.split(""):a,g=0;g<d;g++)g in f&&(e[g]=b.call(c,f[g],g,a));return e};goog.array.reduce=function(a,b,c,d){if(a.reduce)return d?a.reduce(goog.bind(b,d),c):a.reduce(b,c);var e=c;goog.array.forEach(a,function(c,g){e=b.call(d,e,c,g,a)});return e};
goog.array.reduceRight=function(a,b,c,d){if(a.reduceRight)return d?a.reduceRight(goog.bind(b,d),c):a.reduceRight(b,c);var e=c;goog.array.forEachRight(a,function(c,g){e=b.call(d,e,c,g,a)});return e};
goog.array.some=goog.NATIVE_ARRAY_PROTOTYPES&&goog.array.ARRAY_PROTOTYPE_.some?function(a,b,c){goog.asserts.assert(a.length!=null);return goog.array.ARRAY_PROTOTYPE_.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return true;return false};
goog.array.every=goog.NATIVE_ARRAY_PROTOTYPES&&goog.array.ARRAY_PROTOTYPE_.every?function(a,b,c){goog.asserts.assert(a.length!=null);return goog.array.ARRAY_PROTOTYPE_.every.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&!b.call(c,e[f],f,a))return false;return true};goog.array.find=function(a,b,c){b=goog.array.findIndex(a,b,c);return b<0?null:goog.isString(a)?a.charAt(b):a[b]};
goog.array.findIndex=function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return f;return-1};goog.array.findRight=function(a,b,c){b=goog.array.findIndexRight(a,b,c);return b<0?null:goog.isString(a)?a.charAt(b):a[b]};goog.array.findIndexRight=function(a,b,c){var d=a.length,e=goog.isString(a)?a.split(""):a;for(d-=1;d>=0;d--)if(d in e&&b.call(c,e[d],d,a))return d;return-1};goog.array.contains=function(a,b){return goog.array.indexOf(a,b)>=0};
goog.array.isEmpty=function(a){return a.length==0};goog.array.clear=function(a){if(!goog.isArray(a))for(var b=a.length-1;b>=0;b--)delete a[b];a.length=0};goog.array.insert=function(a,b){goog.array.contains(a,b)||a.push(b)};goog.array.insertAt=function(a,b,c){goog.array.splice(a,c,0,b)};goog.array.insertArrayAt=function(a,b,c){goog.partial(goog.array.splice,a,c,0).apply(null,b)};
goog.array.insertBefore=function(a,b,c){var d;arguments.length==2||(d=goog.array.indexOf(a,c))<0?a.push(b):goog.array.insertAt(a,b,d)};goog.array.remove=function(a,b){var c=goog.array.indexOf(a,b),d;(d=c>=0)&&goog.array.removeAt(a,c);return d};goog.array.removeAt=function(a,b){goog.asserts.assert(a.length!=null);return goog.array.ARRAY_PROTOTYPE_.splice.call(a,b,1).length==1};goog.array.removeIf=function(a,b,c){b=goog.array.findIndex(a,b,c);return b>=0?(goog.array.removeAt(a,b),true):false};
goog.array.concat=function(a){return goog.array.ARRAY_PROTOTYPE_.concat.apply(goog.array.ARRAY_PROTOTYPE_,arguments)};goog.array.clone=function(a){if(goog.isArray(a))return goog.array.concat(a);else{for(var b=[],c=0,d=a.length;c<d;c++)b[c]=a[c];return b}};goog.array.toArray=function(a){return goog.isArray(a)?goog.array.concat(a):goog.array.clone(a)};
goog.array.extend=function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c],e;if(goog.isArray(d)||(e=goog.isArrayLike(d))&&d.hasOwnProperty("callee"))a.push.apply(a,d);else if(e)for(var f=a.length,g=d.length,h=0;h<g;h++)a[f+h]=d[h];else a.push(d)}};goog.array.splice=function(a,b,c,d){goog.asserts.assert(a.length!=null);return goog.array.ARRAY_PROTOTYPE_.splice.apply(a,goog.array.slice(arguments,1))};
goog.array.slice=function(a,b,c){goog.asserts.assert(a.length!=null);return arguments.length<=2?goog.array.ARRAY_PROTOTYPE_.slice.call(a,b):goog.array.ARRAY_PROTOTYPE_.slice.call(a,b,c)};goog.array.removeDuplicates=function(a,b){for(var c=b||a,d={},e=0,f=0;f<a.length;){var g=a[f++],h=goog.isObject(g)?"o"+goog.getUid(g):(typeof g).charAt(0)+g;Object.prototype.hasOwnProperty.call(d,h)||(d[h]=true,c[e++]=g)}c.length=e};
goog.array.binarySearch=function(a,b,c){return goog.array.binarySearch_(a,c||goog.array.defaultCompare,false,b)};goog.array.binarySelect=function(a,b,c){return goog.array.binarySearch_(a,b,true,void 0,c)};goog.array.binarySearch_=function(a,b,c,d,e){for(var f=0,g=a.length,h;f<g;){var i=f+g>>1,j;j=c?b.call(e,a[i],i,a):b(d,a[i]);j>0?f=i+1:(g=i,h=!j)}return h?f:~f};goog.array.sort=function(a,b){goog.asserts.assert(a.length!=null);goog.array.ARRAY_PROTOTYPE_.sort.call(a,b||goog.array.defaultCompare)};
goog.array.stableSort=function(a,b){for(var c=0;c<a.length;c++)a[c]={index:c,value:a[c]};var d=b||goog.array.defaultCompare;goog.array.sort(a,function(a,b){return d(a.value,b.value)||a.index-b.index});for(c=0;c<a.length;c++)a[c]=a[c].value};goog.array.sortObjectsByKey=function(a,b,c){var d=c||goog.array.defaultCompare;goog.array.sort(a,function(a,c){return d(a[b],c[b])})};
goog.array.isSorted=function(a,b,c){for(var b=b||goog.array.defaultCompare,d=1;d<a.length;d++){var e=b(a[d-1],a[d]);if(e>0||e==0&&c)return false}return true};goog.array.equals=function(a,b,c){if(!goog.isArrayLike(a)||!goog.isArrayLike(b)||a.length!=b.length)return false;for(var d=a.length,c=c||goog.array.defaultCompareEquality,e=0;e<d;e++)if(!c(a[e],b[e]))return false;return true};goog.array.compare=function(a,b,c){return goog.array.equals(a,b,c)};
goog.array.compare3=function(a,b,c){for(var c=c||goog.array.defaultCompare,d=Math.min(a.length,b.length),e=0;e<d;e++){var f=c(a[e],b[e]);if(f!=0)return f}return goog.array.defaultCompare(a.length,b.length)};goog.array.defaultCompare=function(a,b){return a>b?1:a<b?-1:0};goog.array.defaultCompareEquality=function(a,b){return a===b};goog.array.binaryInsert=function(a,b,c){c=goog.array.binarySearch(a,b,c);return c<0?(goog.array.insertAt(a,b,-(c+1)),true):false};
goog.array.binaryRemove=function(a,b,c){b=goog.array.binarySearch(a,b,c);return b>=0?goog.array.removeAt(a,b):false};goog.array.bucket=function(a,b){for(var c={},d=0;d<a.length;d++){var e=a[d],f=b(e,d,a);goog.isDef(f)&&(c[f]||(c[f]=[])).push(e)}return c};goog.array.repeat=function(a,b){for(var c=[],d=0;d<b;d++)c[d]=a;return c};goog.array.flatten=function(a){for(var b=[],c=0;c<arguments.length;c++){var d=arguments[c];goog.isArray(d)?b.push.apply(b,goog.array.flatten.apply(null,d)):b.push(d)}return b};
goog.array.rotate=function(a,b){goog.asserts.assert(a.length!=null);a.length&&(b%=a.length,b>0?goog.array.ARRAY_PROTOTYPE_.unshift.apply(a,a.splice(-b,b)):b<0&&goog.array.ARRAY_PROTOTYPE_.push.apply(a,a.splice(0,-b)));return a};goog.array.zip=function(a){if(!arguments.length)return[];for(var b=[],c=0;;c++){for(var d=[],e=0;e<arguments.length;e++){var f=arguments[e];if(c>=f.length)return b;d.push(f[c])}b.push(d)}};
goog.array.shuffle=function(a,b){for(var c=b||Math.random,d=a.length-1;d>0;d--){var e=Math.floor(c()*(d+1)),f=a[d];a[d]=a[e];a[e]=f}};goog.math.randomInt=function(a){return Math.floor(Math.random()*a)};goog.math.uniformRandom=function(a,b){return a+Math.random()*(b-a)};goog.math.clamp=function(a,b,c){return Math.min(Math.max(a,b),c)};goog.math.modulo=function(a,b){var c=a%b;return c*b<0?c+b:c};goog.math.lerp=function(a,b,c){return a+c*(b-a)};goog.math.nearlyEquals=function(a,b,c){return Math.abs(a-b)<=(c||1.0E-6)};goog.math.standardAngle=function(a){return goog.math.modulo(a,360)};
goog.math.toRadians=function(a){return a*Math.PI/180};goog.math.toDegrees=function(a){return a*180/Math.PI};goog.math.angleDx=function(a,b){return b*Math.cos(goog.math.toRadians(a))};goog.math.angleDy=function(a,b){return b*Math.sin(goog.math.toRadians(a))};goog.math.angle=function(a,b,c,d){return goog.math.standardAngle(goog.math.toDegrees(Math.atan2(d-b,c-a)))};goog.math.angleDifference=function(a,b){var c=goog.math.standardAngle(b)-goog.math.standardAngle(a);c>180?c-=360:c<=-180&&(c=360+c);return c};
goog.math.sign=function(a){return a==0?0:a<0?-1:1};goog.math.longestCommonSubsequence=function(a,b,c,d){for(var c=c||function(a,b){return a==b},d=d||function(b){return a[b]},e=a.length,f=b.length,g=[],h=0;h<e+1;h++)g[h]=[],g[h][0]=0;for(var i=0;i<f+1;i++)g[0][i]=0;for(h=1;h<=e;h++)for(i=1;i<=e;i++)g[h][i]=c(a[h-1],b[i-1])?g[h-1][i-1]+1:Math.max(g[h-1][i],g[h][i-1]);for(var j=[],h=e,i=f;h>0&&i>0;)c(a[h-1],b[i-1])?(j.unshift(d(h-1,i-1)),h--,i--):g[h-1][i]>g[h][i-1]?h--:i--;return j};
goog.math.sum=function(a){return goog.array.reduce(arguments,function(a,c){return a+c},0)};goog.math.average=function(a){return goog.math.sum.apply(null,arguments)/arguments.length};goog.math.standardDeviation=function(a){var b=arguments.length;if(b<2)return 0;var c=goog.math.average.apply(null,arguments),b=goog.math.sum.apply(null,goog.array.map(arguments,function(a){return Math.pow(a-c,2)}))/(b-1);return Math.sqrt(b)};goog.math.isInt=function(a){return isFinite(a)&&a%1==0};
goog.math.isFiniteNumber=function(a){return isFinite(a)&&!isNaN(a)};goog.math.Vec2=function(a,b){this.x=a;this.y=b};goog.inherits(goog.math.Vec2,goog.math.Coordinate);goog.math.Vec2.randomUnit=function(){var a=Math.random()*Math.PI*2;return new goog.math.Vec2(Math.cos(a),Math.sin(a))};goog.math.Vec2.random=function(){var a=Math.sqrt(Math.random()),b=Math.random()*Math.PI*2;return new goog.math.Vec2(Math.cos(b)*a,Math.sin(b)*a)};goog.math.Vec2.fromCoordinate=function(a){return new goog.math.Vec2(a.x,a.y)};
goog.math.Vec2.prototype.clone=function(){return new goog.math.Vec2(this.x,this.y)};goog.math.Vec2.prototype.magnitude=function(){return Math.sqrt(this.x*this.x+this.y*this.y)};goog.math.Vec2.prototype.squaredMagnitude=function(){return this.x*this.x+this.y*this.y};goog.math.Vec2.prototype.scale=function(a){this.x*=a;this.y*=a;return this};goog.math.Vec2.prototype.invert=function(){this.x=-this.x;this.y=-this.y;return this};goog.math.Vec2.prototype.normalize=function(){return this.scale(1/this.magnitude())};
goog.math.Vec2.prototype.add=function(a){this.x+=a.x;this.y+=a.y;return this};goog.math.Vec2.prototype.subtract=function(a){this.x-=a.x;this.y-=a.y;return this};goog.math.Vec2.prototype.rotate=function(a){var b=Math.cos(a),a=Math.sin(a),c=this.y*b+this.x*a;this.x=this.x*b-this.y*a;this.y=c;return this};goog.math.Vec2.rotateAroundPoint=function(a,b,c){return a.clone().subtract(b).rotate(c).add(b)};goog.math.Vec2.prototype.equals=function(a){return this==a||!!a&&this.x==a.x&&this.y==a.y};
goog.math.Vec2.distance=goog.math.Coordinate.distance;goog.math.Vec2.squaredDistance=goog.math.Coordinate.squaredDistance;goog.math.Vec2.equals=goog.math.Coordinate.equals;goog.math.Vec2.sum=function(a,b){return new goog.math.Vec2(a.x+b.x,a.y+b.y)};goog.math.Vec2.difference=function(a,b){return new goog.math.Vec2(a.x-b.x,a.y-b.y)};goog.math.Vec2.dot=function(a,b){return a.x*b.x+a.y*b.y};
goog.math.Vec2.lerp=function(a,b,c){return new goog.math.Vec2(goog.math.lerp(a.x,b.x,c),goog.math.lerp(a.y,b.y,c))};goog.debug.errorHandlerWeakDep={protectEntryPoint:function(a){return a}};goog.userAgent={};goog.userAgent.ASSUME_IE=false;goog.userAgent.ASSUME_GECKO=false;goog.userAgent.ASSUME_WEBKIT=false;goog.userAgent.ASSUME_MOBILE_WEBKIT=false;goog.userAgent.ASSUME_OPERA=false;goog.userAgent.BROWSER_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_GECKO||goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_OPERA;goog.userAgent.getUserAgentString=function(){return goog.global.navigator?goog.global.navigator.userAgent:null};
goog.userAgent.getNavigator=function(){return goog.global.navigator};
goog.userAgent.init_=function(){goog.userAgent.detectedOpera_=false;goog.userAgent.detectedIe_=false;goog.userAgent.detectedWebkit_=false;goog.userAgent.detectedMobile_=false;goog.userAgent.detectedGecko_=false;var a;if(!goog.userAgent.BROWSER_KNOWN_&&(a=goog.userAgent.getUserAgentString())){var b=goog.userAgent.getNavigator();goog.userAgent.detectedOpera_=a.indexOf("Opera")==0;goog.userAgent.detectedIe_=!goog.userAgent.detectedOpera_&&a.indexOf("MSIE")!=-1;goog.userAgent.detectedWebkit_=!goog.userAgent.detectedOpera_&&
a.indexOf("WebKit")!=-1;goog.userAgent.detectedMobile_=goog.userAgent.detectedWebkit_&&a.indexOf("Mobile")!=-1;goog.userAgent.detectedGecko_=!goog.userAgent.detectedOpera_&&!goog.userAgent.detectedWebkit_&&b.product=="Gecko"}};goog.userAgent.BROWSER_KNOWN_||goog.userAgent.init_();goog.userAgent.OPERA=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_OPERA:goog.userAgent.detectedOpera_;goog.userAgent.IE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_IE:goog.userAgent.detectedIe_;
goog.userAgent.GECKO=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_GECKO:goog.userAgent.detectedGecko_;goog.userAgent.WEBKIT=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_MOBILE_WEBKIT:goog.userAgent.detectedWebkit_;goog.userAgent.MOBILE=goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.detectedMobile_;goog.userAgent.SAFARI=goog.userAgent.WEBKIT;goog.userAgent.determinePlatform_=function(){var a=goog.userAgent.getNavigator();return a&&a.platform||""};
goog.userAgent.PLATFORM=goog.userAgent.determinePlatform_();goog.userAgent.ASSUME_MAC=false;goog.userAgent.ASSUME_WINDOWS=false;goog.userAgent.ASSUME_LINUX=false;goog.userAgent.ASSUME_X11=false;goog.userAgent.PLATFORM_KNOWN_=goog.userAgent.ASSUME_MAC||goog.userAgent.ASSUME_WINDOWS||goog.userAgent.ASSUME_LINUX||goog.userAgent.ASSUME_X11;
goog.userAgent.initPlatform_=function(){goog.userAgent.detectedMac_=goog.string.contains(goog.userAgent.PLATFORM,"Mac");goog.userAgent.detectedWindows_=goog.string.contains(goog.userAgent.PLATFORM,"Win");goog.userAgent.detectedLinux_=goog.string.contains(goog.userAgent.PLATFORM,"Linux");goog.userAgent.detectedX11_=!!goog.userAgent.getNavigator()&&goog.string.contains(goog.userAgent.getNavigator().appVersion||"","X11")};goog.userAgent.PLATFORM_KNOWN_||goog.userAgent.initPlatform_();
goog.userAgent.MAC=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_MAC:goog.userAgent.detectedMac_;goog.userAgent.WINDOWS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_WINDOWS:goog.userAgent.detectedWindows_;goog.userAgent.LINUX=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_LINUX:goog.userAgent.detectedLinux_;goog.userAgent.X11=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_X11:goog.userAgent.detectedX11_;
goog.userAgent.determineVersion_=function(){var a="",b;goog.userAgent.OPERA&&goog.global.opera?(a=goog.global.opera.version,a=typeof a=="function"?a():a):(goog.userAgent.GECKO?b=/rv\:([^\);]+)(\)|;)/:goog.userAgent.IE?b=/MSIE\s+([^\);]+)(\)|;)/:goog.userAgent.WEBKIT&&(b=/WebKit\/(\S+)/),b&&(a=(a=b.exec(goog.userAgent.getUserAgentString()))?a[1]:""));return goog.userAgent.IE&&(b=goog.userAgent.getDocumentMode_(),b>parseFloat(a))?String(b):a};
goog.userAgent.getDocumentMode_=function(){var a=goog.global.document;return a?a.documentMode:void 0};goog.userAgent.VERSION=goog.userAgent.determineVersion_();goog.userAgent.compare=function(a,b){return goog.string.compareVersions(a,b)};goog.userAgent.isVersionCache_={};goog.userAgent.isVersion=function(a){return goog.userAgent.isVersionCache_[a]||(goog.userAgent.isVersionCache_[a]=goog.string.compareVersions(goog.userAgent.VERSION,a)>=0)};goog.userAgent.isDocumentModeCache_={};
goog.userAgent.isDocumentMode=function(a){return goog.userAgent.isDocumentModeCache_[a]||(goog.userAgent.isDocumentModeCache_[a]=goog.userAgent.IE&&document.documentMode&&document.documentMode>=a)};goog.object={};goog.object.forEach=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)};goog.object.filter=function(a,b,c){var d={},e;for(e in a)b.call(c,a[e],e,a)&&(d[e]=a[e]);return d};goog.object.map=function(a,b,c){var d={},e;for(e in a)d[e]=b.call(c,a[e],e,a);return d};goog.object.some=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return true;return false};goog.object.every=function(a,b,c){for(var d in a)if(!b.call(c,a[d],d,a))return false;return true};
goog.object.getCount=function(a){var b=0,c;for(c in a)b++;return b};goog.object.getAnyKey=function(a){for(var b in a)return b};goog.object.getAnyValue=function(a){for(var b in a)return a[b]};goog.object.contains=function(a,b){return goog.object.containsValue(a,b)};goog.object.getValues=function(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b};goog.object.getKeys=function(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b};
goog.object.getValueByKeys=function(a,b){for(var c=goog.isArrayLike(b),d=c?b:arguments,c=c?0:1;c<d.length;c++)if(a=a[d[c]],!goog.isDef(a))break;return a};goog.object.containsKey=function(a,b){return b in a};goog.object.containsValue=function(a,b){for(var c in a)if(a[c]==b)return true;return false};goog.object.findKey=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return d};goog.object.findValue=function(a,b,c){return(b=goog.object.findKey(a,b,c))&&a[b]};
goog.object.isEmpty=function(a){for(var b in a)return false;return true};goog.object.clear=function(a){for(var b in a)delete a[b]};goog.object.remove=function(a,b){var c;(c=b in a)&&delete a[b];return c};goog.object.add=function(a,b,c){if(b in a)throw Error('The object already contains the key "'+b+'"');goog.object.set(a,b,c)};goog.object.get=function(a,b,c){return b in a?a[b]:c};goog.object.set=function(a,b,c){a[b]=c};goog.object.setIfUndefined=function(a,b,c){return b in a?a[b]:a[b]=c};
goog.object.clone=function(a){var b={},c;for(c in a)b[c]=a[c];return b};goog.object.unsafeClone=function(a){var b=goog.typeOf(a);if(b=="object"||b=="array"){if(a.clone)return a.clone();var b=b=="array"?[]:{},c;for(c in a)b[c]=goog.object.unsafeClone(a[c]);return b}return a};goog.object.transpose=function(a){var b={},c;for(c in a)b[a[c]]=c;return b};goog.object.PROTOTYPE_FIELDS_="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",");
goog.object.extend=function(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<goog.object.PROTOTYPE_FIELDS_.length;f++)c=goog.object.PROTOTYPE_FIELDS_[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};
goog.object.create=function(a){var b=arguments.length;if(b==1&&goog.isArray(arguments[0]))return goog.object.create.apply(null,arguments[0]);if(b%2)throw Error("Uneven number of arguments");for(var c={},d=0;d<b;d+=2)c[arguments[d]]=arguments[d+1];return c};goog.object.createSet=function(a){var b=arguments.length;if(b==1&&goog.isArray(arguments[0]))return goog.object.createSet.apply(null,arguments[0]);for(var c={},d=0;d<b;d++)c[arguments[d]]=true;return c};goog.debug.entryPointRegistry={};goog.debug.EntryPointMonitor=function(){};goog.debug.entryPointRegistry.refList_=[];goog.debug.entryPointRegistry.monitors_=[];goog.debug.entryPointRegistry.monitorsMayExist_=false;goog.debug.entryPointRegistry.register=function(a){goog.debug.entryPointRegistry.refList_[goog.debug.entryPointRegistry.refList_.length]=a;if(goog.debug.entryPointRegistry.monitorsMayExist_)for(var b=goog.debug.entryPointRegistry.monitors_,c=0;c<b.length;c++)a(goog.bind(b[c].wrap,b[c]))};
goog.debug.entryPointRegistry.monitorAll=function(a){goog.debug.entryPointRegistry.monitorsMayExist_=true;for(var b=goog.bind(a.wrap,a),c=0;c<goog.debug.entryPointRegistry.refList_.length;c++)goog.debug.entryPointRegistry.refList_[c](b);goog.debug.entryPointRegistry.monitors_.push(a)};
goog.debug.entryPointRegistry.unmonitorAllIfPossible=function(a){var b=goog.debug.entryPointRegistry.monitors_;goog.asserts.assert(a==b[b.length-1],"Only the most recent monitor can be unwrapped.");for(var a=goog.bind(a.unwrap,a),c=0;c<goog.debug.entryPointRegistry.refList_.length;c++)goog.debug.entryPointRegistry.refList_[c](a);b.length--};goog.events={};goog.events.EventWrapper=function(){};goog.events.EventWrapper.prototype.listen=function(){};goog.events.EventWrapper.prototype.unlisten=function(){};goog.events.EventType={CLICK:"click",DBLCLICK:"dblclick",MOUSEDOWN:"mousedown",MOUSEUP:"mouseup",MOUSEOVER:"mouseover",MOUSEOUT:"mouseout",MOUSEMOVE:"mousemove",SELECTSTART:"selectstart",KEYPRESS:"keypress",KEYDOWN:"keydown",KEYUP:"keyup",BLUR:"blur",FOCUS:"focus",DEACTIVATE:"deactivate",FOCUSIN:goog.userAgent.IE?"focusin":"DOMFocusIn",FOCUSOUT:goog.userAgent.IE?"focusout":"DOMFocusOut",CHANGE:"change",SELECT:"select",SUBMIT:"submit",INPUT:"input",PROPERTYCHANGE:"propertychange",DRAGSTART:"dragstart",
DRAGENTER:"dragenter",DRAGOVER:"dragover",DRAGLEAVE:"dragleave",DROP:"drop",TOUCHSTART:"touchstart",TOUCHMOVE:"touchmove",TOUCHEND:"touchend",TOUCHCANCEL:"touchcancel",CONTEXTMENU:"contextmenu",ERROR:"error",HELP:"help",LOAD:"load",LOSECAPTURE:"losecapture",READYSTATECHANGE:"readystatechange",RESIZE:"resize",SCROLL:"scroll",UNLOAD:"unload",HASHCHANGE:"hashchange",PAGEHIDE:"pagehide",PAGESHOW:"pageshow",POPSTATE:"popstate",COPY:"copy",PASTE:"paste",CUT:"cut",BEFORECOPY:"beforecopy",BEFORECUT:"beforecut",
BEFOREPASTE:"beforepaste",MESSAGE:"message",CONNECT:"connect"};goog.events.BrowserFeature={HAS_W3C_BUTTON:!goog.userAgent.IE||goog.userAgent.isDocumentMode(9),SET_KEY_CODE_TO_PREVENT_DEFAULT:goog.userAgent.IE&&!goog.userAgent.isVersion("8")};goog.disposable={};goog.disposable.IDisposable=function(){};goog.Disposable=function(){goog.Disposable.ENABLE_MONITORING&&(goog.Disposable.instances_[goog.getUid(this)]=this)};goog.Disposable.ENABLE_MONITORING=false;goog.Disposable.instances_={};goog.Disposable.getUndisposedObjects=function(){var a=[],b;for(b in goog.Disposable.instances_)goog.Disposable.instances_.hasOwnProperty(b)&&a.push(goog.Disposable.instances_[Number(b)]);return a};goog.Disposable.clearUndisposedObjects=function(){goog.Disposable.instances_={}};goog.Disposable.prototype.disposed_=false;
goog.Disposable.prototype.isDisposed=function(){return this.disposed_};goog.Disposable.prototype.getDisposed=goog.Disposable.prototype.isDisposed;goog.Disposable.prototype.dispose=function(){if(!this.disposed_&&(this.disposed_=true,this.disposeInternal(),goog.Disposable.ENABLE_MONITORING)){var a=goog.getUid(this);if(!goog.Disposable.instances_.hasOwnProperty(a))throw Error(this+" did not call the goog.Disposable base constructor or was disposed of after a clearUndisposedObjects call");delete goog.Disposable.instances_[a]}};
goog.Disposable.prototype.registerDisposable=function(a){if(!this.dependentDisposables_)this.dependentDisposables_=[];this.dependentDisposables_.push(a)};goog.Disposable.prototype.disposeInternal=function(){this.dependentDisposables_&&goog.disposeAll.apply(null,this.dependentDisposables_)};goog.dispose=function(a){a&&typeof a.dispose=="function"&&a.dispose()};goog.disposeAll=function(a){for(var b=0,c=arguments.length;b<c;++b){var d=arguments[b];goog.isArrayLike(d)?goog.disposeAll.apply(null,d):goog.dispose(d)}};goog.events.Event=function(a,b){goog.Disposable.call(this);this.type=a;this.currentTarget=this.target=b};goog.inherits(goog.events.Event,goog.Disposable);goog.events.Event.prototype.disposeInternal=function(){delete this.type;delete this.target;delete this.currentTarget};goog.events.Event.prototype.propagationStopped_=false;goog.events.Event.prototype.returnValue_=true;goog.events.Event.prototype.stopPropagation=function(){this.propagationStopped_=true};
goog.events.Event.prototype.preventDefault=function(){this.returnValue_=false};goog.events.Event.stopPropagation=function(a){a.stopPropagation()};goog.events.Event.preventDefault=function(a){a.preventDefault()};goog.reflect={};goog.reflect.object=function(a,b){return b};goog.reflect.sinkValue=function(a){goog.reflect.sinkValue[" "](a);return a};goog.reflect.sinkValue[" "]=goog.nullFunction;goog.reflect.canAccessProperty=function(a,b){try{return goog.reflect.sinkValue(a[b]),true}catch(c){}return false};goog.events.BrowserEvent=function(a,b){a&&this.init(a,b)};goog.inherits(goog.events.BrowserEvent,goog.events.Event);goog.events.BrowserEvent.MouseButton={LEFT:0,MIDDLE:1,RIGHT:2};goog.events.BrowserEvent.IEButtonMap=[1,4,2];goog.events.BrowserEvent.prototype.target=null;goog.events.BrowserEvent.prototype.relatedTarget=null;goog.events.BrowserEvent.prototype.offsetX=0;goog.events.BrowserEvent.prototype.offsetY=0;goog.events.BrowserEvent.prototype.clientX=0;
goog.events.BrowserEvent.prototype.clientY=0;goog.events.BrowserEvent.prototype.screenX=0;goog.events.BrowserEvent.prototype.screenY=0;goog.events.BrowserEvent.prototype.button=0;goog.events.BrowserEvent.prototype.keyCode=0;goog.events.BrowserEvent.prototype.charCode=0;goog.events.BrowserEvent.prototype.ctrlKey=false;goog.events.BrowserEvent.prototype.altKey=false;goog.events.BrowserEvent.prototype.shiftKey=false;goog.events.BrowserEvent.prototype.metaKey=false;
goog.events.BrowserEvent.prototype.platformModifierKey=false;goog.events.BrowserEvent.prototype.event_=null;
goog.events.BrowserEvent.prototype.init=function(a,b){var c=this.type=a.type;goog.events.Event.call(this,c);this.target=a.target||a.srcElement;this.currentTarget=b;var d=a.relatedTarget;if(d)goog.userAgent.GECKO&&(goog.reflect.canAccessProperty(d,"nodeName")||(d=null));else if(c==goog.events.EventType.MOUSEOVER)d=a.fromElement;else if(c==goog.events.EventType.MOUSEOUT)d=a.toElement;this.relatedTarget=d;this.offsetX=a.offsetX!==void 0?a.offsetX:a.layerX;this.offsetY=a.offsetY!==void 0?a.offsetY:a.layerY;
this.clientX=a.clientX!==void 0?a.clientX:a.pageX;this.clientY=a.clientY!==void 0?a.clientY:a.pageY;this.screenX=a.screenX||0;this.screenY=a.screenY||0;this.button=a.button;this.keyCode=a.keyCode||0;this.charCode=a.charCode||(c=="keypress"?a.keyCode:0);this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.platformModifierKey=goog.userAgent.MAC?a.metaKey:a.ctrlKey;this.state=a.state;this.event_=a;delete this.returnValue_;delete this.propagationStopped_};
goog.events.BrowserEvent.prototype.isButton=function(a){return goog.events.BrowserFeature.HAS_W3C_BUTTON?this.event_.button==a:this.type=="click"?a==goog.events.BrowserEvent.MouseButton.LEFT:!!(this.event_.button&goog.events.BrowserEvent.IEButtonMap[a])};goog.events.BrowserEvent.prototype.isMouseActionButton=function(){return this.isButton(goog.events.BrowserEvent.MouseButton.LEFT)&&!(goog.userAgent.WEBKIT&&goog.userAgent.MAC&&this.ctrlKey)};
goog.events.BrowserEvent.prototype.stopPropagation=function(){goog.events.BrowserEvent.superClass_.stopPropagation.call(this);this.event_.stopPropagation?this.event_.stopPropagation():this.event_.cancelBubble=true};
goog.events.BrowserEvent.prototype.preventDefault=function(){goog.events.BrowserEvent.superClass_.preventDefault.call(this);var a=this.event_;if(a.preventDefault)a.preventDefault();else if(a.returnValue=false,goog.events.BrowserFeature.SET_KEY_CODE_TO_PREVENT_DEFAULT)try{if(a.ctrlKey||a.keyCode>=112&&a.keyCode<=123)a.keyCode=-1}catch(b){}};goog.events.BrowserEvent.prototype.getBrowserEvent=function(){return this.event_};
goog.events.BrowserEvent.prototype.disposeInternal=function(){goog.events.BrowserEvent.superClass_.disposeInternal.call(this);this.relatedTarget=this.currentTarget=this.target=this.event_=null};goog.events.Listener=function(){};goog.events.Listener.counter_=0;goog.events.Listener.prototype.key=0;goog.events.Listener.prototype.removed=false;goog.events.Listener.prototype.callOnce=false;
goog.events.Listener.prototype.init=function(a,b,c,d,e,f){if(goog.isFunction(a))this.isFunctionListener_=true;else if(a&&a.handleEvent&&goog.isFunction(a.handleEvent))this.isFunctionListener_=false;else throw Error("Invalid listener argument");this.listener=a;this.proxy=b;this.src=c;this.type=d;this.capture=!!e;this.handler=f;this.callOnce=false;this.key=++goog.events.Listener.counter_;this.removed=false};
goog.events.Listener.prototype.handleEvent=function(a){return this.isFunctionListener_?this.listener.call(this.handler||this.src,a):this.listener.handleEvent.call(this.listener,a)};goog.userAgent.jscript={};goog.userAgent.jscript.ASSUME_NO_JSCRIPT=false;goog.userAgent.jscript.init_=function(){goog.userAgent.jscript.DETECTED_HAS_JSCRIPT_="ScriptEngine"in goog.global&&goog.global.ScriptEngine()=="JScript";goog.userAgent.jscript.DETECTED_VERSION_=goog.userAgent.jscript.DETECTED_HAS_JSCRIPT_?goog.global.ScriptEngineMajorVersion()+"."+goog.global.ScriptEngineMinorVersion()+"."+goog.global.ScriptEngineBuildVersion():"0"};goog.userAgent.jscript.ASSUME_NO_JSCRIPT||goog.userAgent.jscript.init_();
goog.userAgent.jscript.HAS_JSCRIPT=goog.userAgent.jscript.ASSUME_NO_JSCRIPT?false:goog.userAgent.jscript.DETECTED_HAS_JSCRIPT_;goog.userAgent.jscript.VERSION=goog.userAgent.jscript.ASSUME_NO_JSCRIPT?"0":goog.userAgent.jscript.DETECTED_VERSION_;goog.userAgent.jscript.isVersion=function(a){return goog.string.compareVersions(goog.userAgent.jscript.VERSION,a)>=0};goog.structs={};goog.structs.SimplePool=function(a,b){goog.Disposable.call(this);this.maxCount_=b;this.freeQueue_=[];this.createInitial_(a)};goog.inherits(goog.structs.SimplePool,goog.Disposable);goog.structs.SimplePool.prototype.createObjectFn_=null;goog.structs.SimplePool.prototype.disposeObjectFn_=null;goog.structs.SimplePool.prototype.setCreateObjectFn=function(a){this.createObjectFn_=a};goog.structs.SimplePool.prototype.setDisposeObjectFn=function(a){this.disposeObjectFn_=a};
goog.structs.SimplePool.prototype.getObject=function(){return this.freeQueue_.length?this.freeQueue_.pop():this.createObject()};goog.structs.SimplePool.prototype.releaseObject=function(a){this.freeQueue_.length<this.maxCount_?this.freeQueue_.push(a):this.disposeObject(a)};goog.structs.SimplePool.prototype.createInitial_=function(a){if(a>this.maxCount_)throw Error("[goog.structs.SimplePool] Initial cannot be greater than max");for(var b=0;b<a;b++)this.freeQueue_.push(this.createObject())};
goog.structs.SimplePool.prototype.createObject=function(){return this.createObjectFn_?this.createObjectFn_():{}};goog.structs.SimplePool.prototype.disposeObject=function(a){if(this.disposeObjectFn_)this.disposeObjectFn_(a);else if(goog.isObject(a))if(goog.isFunction(a.dispose))a.dispose();else for(var b in a)delete a[b]};
goog.structs.SimplePool.prototype.disposeInternal=function(){goog.structs.SimplePool.superClass_.disposeInternal.call(this);for(var a=this.freeQueue_;a.length;)this.disposeObject(a.pop());delete this.freeQueue_};goog.events.pools={};goog.events.ASSUME_GOOD_GC=false;
(function(){function a(){return{count_:0,remaining_:0}}function b(){return[]}function c(){var a=function(b){b=g.call(a.src,a.key,b);if(!b)return b};return a}function d(){return new goog.events.Listener}function e(){return new goog.events.BrowserEvent}var f=!goog.events.ASSUME_GOOD_GC&&goog.userAgent.jscript.HAS_JSCRIPT&&!goog.userAgent.jscript.isVersion("5.7"),g;goog.events.pools.setProxyCallbackFunction=function(a){g=a};if(f){goog.events.pools.getObject=function(){return h.getObject()};goog.events.pools.releaseObject=
function(a){h.releaseObject(a)};goog.events.pools.getArray=function(){return i.getObject()};goog.events.pools.releaseArray=function(a){i.releaseObject(a)};goog.events.pools.getProxy=function(){return j.getObject()};goog.events.pools.releaseProxy=function(){j.releaseObject(c())};goog.events.pools.getListener=function(){return m.getObject()};goog.events.pools.releaseListener=function(a){m.releaseObject(a)};goog.events.pools.getEvent=function(){return k.getObject()};goog.events.pools.releaseEvent=function(a){k.releaseObject(a)};
var h=new goog.structs.SimplePool(0,600);h.setCreateObjectFn(a);var i=new goog.structs.SimplePool(0,600);i.setCreateObjectFn(b);var j=new goog.structs.SimplePool(0,600);j.setCreateObjectFn(c);var m=new goog.structs.SimplePool(0,600);m.setCreateObjectFn(d);var k=new goog.structs.SimplePool(0,600);k.setCreateObjectFn(e)}else goog.events.pools.getObject=a,goog.events.pools.releaseObject=goog.nullFunction,goog.events.pools.getArray=b,goog.events.pools.releaseArray=goog.nullFunction,goog.events.pools.getProxy=
c,goog.events.pools.releaseProxy=goog.nullFunction,goog.events.pools.getListener=d,goog.events.pools.releaseListener=goog.nullFunction,goog.events.pools.getEvent=e,goog.events.pools.releaseEvent=goog.nullFunction})();goog.events.listeners_={};goog.events.listenerTree_={};goog.events.sources_={};goog.events.onString_="on";goog.events.onStringMap_={};goog.events.keySeparator_="_";
goog.events.listen=function(a,b,c,d,e){if(b)if(goog.isArray(b)){for(var f=0;f<b.length;f++)goog.events.listen(a,b[f],c,d,e);return null}else{var d=!!d,g=goog.events.listenerTree_;b in g||(g[b]=goog.events.pools.getObject());g=g[b];d in g||(g[d]=goog.events.pools.getObject(),g.count_++);var g=g[d],h=goog.getUid(a),i;g.remaining_++;if(g[h]){i=g[h];for(f=0;f<i.length;f++)if(g=i[f],g.listener==c&&g.handler==e){if(g.removed)break;return i[f].key}}else i=g[h]=goog.events.pools.getArray(),g.count_++;f=goog.events.pools.getProxy();
f.src=a;g=goog.events.pools.getListener();g.init(c,f,a,b,d,e);c=g.key;f.key=c;i.push(g);goog.events.listeners_[c]=g;goog.events.sources_[h]||(goog.events.sources_[h]=goog.events.pools.getArray());goog.events.sources_[h].push(g);a.addEventListener?(a==goog.global||!a.customEvent_)&&a.addEventListener(b,f,d):a.attachEvent(goog.events.getOnString_(b),f);return c}else throw Error("Invalid event type");};
goog.events.listenOnce=function(a,b,c,d,e){if(goog.isArray(b)){for(var f=0;f<b.length;f++)goog.events.listenOnce(a,b[f],c,d,e);return null}a=goog.events.listen(a,b,c,d,e);goog.events.listeners_[a].callOnce=true;return a};goog.events.listenWithWrapper=function(a,b,c,d,e){b.listen(a,c,d,e)};
goog.events.unlisten=function(a,b,c,d,e){if(goog.isArray(b)){for(var f=0;f<b.length;f++)goog.events.unlisten(a,b[f],c,d,e);return null}d=!!d;a=goog.events.getListeners_(a,b,d);if(!a)return false;for(f=0;f<a.length;f++)if(a[f].listener==c&&a[f].capture==d&&a[f].handler==e)return goog.events.unlistenByKey(a[f].key);return false};
goog.events.unlistenByKey=function(a){if(!goog.events.listeners_[a])return false;var b=goog.events.listeners_[a];if(b.removed)return false;var c=b.src,d=b.type,e=b.proxy,f=b.capture;c.removeEventListener?(c==goog.global||!c.customEvent_)&&c.removeEventListener(d,e,f):c.detachEvent&&c.detachEvent(goog.events.getOnString_(d),e);c=goog.getUid(c);e=goog.events.listenerTree_[d][f][c];if(goog.events.sources_[c]){var g=goog.events.sources_[c];goog.array.remove(g,b);g.length==0&&delete goog.events.sources_[c]}b.removed=
true;e.needsCleanup_=true;goog.events.cleanUp_(d,f,c,e);delete goog.events.listeners_[a];return true};goog.events.unlistenWithWrapper=function(a,b,c,d,e){b.unlisten(a,c,d,e)};
goog.events.cleanUp_=function(a,b,c,d){if(!d.locked_&&d.needsCleanup_){for(var e=0,f=0;e<d.length;e++)if(d[e].removed){var g=d[e].proxy;g.src=null;goog.events.pools.releaseProxy(g);goog.events.pools.releaseListener(d[e])}else e!=f&&(d[f]=d[e]),f++;d.length=f;d.needsCleanup_=false;f==0&&(goog.events.pools.releaseArray(d),delete goog.events.listenerTree_[a][b][c],goog.events.listenerTree_[a][b].count_--,goog.events.listenerTree_[a][b].count_==0&&(goog.events.pools.releaseObject(goog.events.listenerTree_[a][b]),
delete goog.events.listenerTree_[a][b],goog.events.listenerTree_[a].count_--),goog.events.listenerTree_[a].count_==0&&(goog.events.pools.releaseObject(goog.events.listenerTree_[a]),delete goog.events.listenerTree_[a]))}};
goog.events.removeAll=function(a,b,c){var d=0,e=b==null,f=c==null,c=!!c;if(a==null)goog.object.forEach(goog.events.sources_,function(a){for(var g=a.length-1;g>=0;g--){var h=a[g];if((e||b==h.type)&&(f||c==h.capture))goog.events.unlistenByKey(h.key),d++}});else if(a=goog.getUid(a),goog.events.sources_[a])for(var a=goog.events.sources_[a],g=a.length-1;g>=0;g--){var h=a[g];if((e||b==h.type)&&(f||c==h.capture))goog.events.unlistenByKey(h.key),d++}return d};
goog.events.getListeners=function(a,b,c){return goog.events.getListeners_(a,b,c)||[]};goog.events.getListeners_=function(a,b,c){var d=goog.events.listenerTree_;return b in d&&(d=d[b],c in d&&(d=d[c],a=goog.getUid(a),d[a]))?d[a]:null};goog.events.getListener=function(a,b,c,d,e){d=!!d;if(a=goog.events.getListeners_(a,b,d))for(b=0;b<a.length;b++)if(!a[b].removed&&a[b].listener==c&&a[b].capture==d&&a[b].handler==e)return a[b];return null};
goog.events.hasListener=function(a,b,c){var a=goog.getUid(a),d=goog.events.sources_[a];if(d){var e=goog.isDef(b),f=goog.isDef(c);return e&&f?(d=goog.events.listenerTree_[b],!!d&&!!d[c]&&a in d[c]):!e&&!f?true:goog.array.some(d,function(a){return e&&a.type==b||f&&a.capture==c})}return false};goog.events.expose=function(a){var b=[],c;for(c in a)a[c]&&a[c].id?b.push(c+" = "+a[c]+" ("+a[c].id+")"):b.push(c+" = "+a[c]);return b.join("\n")};
goog.events.getOnString_=function(a){return a in goog.events.onStringMap_?goog.events.onStringMap_[a]:goog.events.onStringMap_[a]=goog.events.onString_+a};goog.events.fireListeners=function(a,b,c,d){var e=goog.events.listenerTree_;return b in e&&(e=e[b],c in e)?goog.events.fireListeners_(e[c],a,b,c,d):true};
goog.events.fireListeners_=function(a,b,c,d,e){var f=1,b=goog.getUid(b);if(a[b]){a.remaining_--;a=a[b];a.locked_?a.locked_++:a.locked_=1;try{for(var g=a.length,h=0;h<g;h++){var i=a[h];i&&!i.removed&&(f&=goog.events.fireListener(i,e)!==false)}}finally{a.locked_--,goog.events.cleanUp_(c,d,b,a)}}return Boolean(f)};goog.events.fireListener=function(a,b){var c=a.handleEvent(b);a.callOnce&&goog.events.unlistenByKey(a.key);return c};goog.events.getTotalListenerCount=function(){return goog.object.getCount(goog.events.listeners_)};
goog.events.dispatchEvent=function(a,b){var c=b.type||b,d=goog.events.listenerTree_;if(!(c in d))return true;if(goog.isString(b))b=new goog.events.Event(b,a);else if(b instanceof goog.events.Event)b.target=b.target||a;else{var e=b,b=new goog.events.Event(c,a);goog.object.extend(b,e)}var e=1,f,d=d[c],c=true in d,g;if(c){f=[];for(g=a;g;g=g.getParentEventTarget())f.push(g);g=d[true];g.remaining_=g.count_;for(var h=f.length-1;!b.propagationStopped_&&h>=0&&g.remaining_;h--)b.currentTarget=f[h],e&=goog.events.fireListeners_(g,
f[h],b.type,true,b)&&b.returnValue_!=false}if(false in d)if(g=d[false],g.remaining_=g.count_,c)for(h=0;!b.propagationStopped_&&h<f.length&&g.remaining_;h++)b.currentTarget=f[h],e&=goog.events.fireListeners_(g,f[h],b.type,false,b)&&b.returnValue_!=false;else for(d=a;!b.propagationStopped_&&d&&g.remaining_;d=d.getParentEventTarget())b.currentTarget=d,e&=goog.events.fireListeners_(g,d,b.type,false,b)&&b.returnValue_!=false;return Boolean(e)};
goog.events.protectBrowserEventEntryPoint=function(a){goog.events.handleBrowserEvent_=a.protectEntryPoint(goog.events.handleBrowserEvent_);goog.events.pools.setProxyCallbackFunction(goog.events.handleBrowserEvent_)};
goog.events.handleBrowserEvent_=function(a,b){if(!goog.events.listeners_[a])return true;var c=goog.events.listeners_[a],d=c.type,e=goog.events.listenerTree_;if(!(d in e))return true;var e=e[d],f,g;if(goog.events.synthesizeEventPropagation_()){f=b||goog.getObjectByName("window.event");var h=true in e,i=false in e;if(h){if(goog.events.isMarkedIeEvent_(f))return true;goog.events.markIeEvent_(f)}var j=goog.events.pools.getEvent();j.init(f,this);f=true;try{if(h){for(var m=goog.events.pools.getArray(),
k=j.currentTarget;k;k=k.parentNode)m.push(k);g=e[true];g.remaining_=g.count_;for(var l=m.length-1;!j.propagationStopped_&&l>=0&&g.remaining_;l--)j.currentTarget=m[l],f&=goog.events.fireListeners_(g,m[l],d,true,j);if(i){g=e[false];g.remaining_=g.count_;for(l=0;!j.propagationStopped_&&l<m.length&&g.remaining_;l++)j.currentTarget=m[l],f&=goog.events.fireListeners_(g,m[l],d,false,j)}}else f=goog.events.fireListener(c,j)}finally{if(m)m.length=0,goog.events.pools.releaseArray(m);j.dispose();goog.events.pools.releaseEvent(j)}return f}d=
new goog.events.BrowserEvent(b,this);try{f=goog.events.fireListener(c,d)}finally{d.dispose()}return f};goog.events.pools.setProxyCallbackFunction(goog.events.handleBrowserEvent_);goog.events.markIeEvent_=function(a){var b=false;if(a.keyCode==0)try{a.keyCode=-1;return}catch(c){b=true}if(b||a.returnValue==void 0)a.returnValue=true};goog.events.isMarkedIeEvent_=function(a){return a.keyCode<0||a.returnValue!=void 0};goog.events.uniqueIdCounter_=0;goog.events.getUniqueId=function(a){return a+"_"+goog.events.uniqueIdCounter_++};
goog.events.synthesizeEventPropagation_=function(){if(goog.events.requiresSyntheticEventPropagation_===void 0)goog.events.requiresSyntheticEventPropagation_=goog.userAgent.IE&&!goog.global.addEventListener;return goog.events.requiresSyntheticEventPropagation_};goog.debug.entryPointRegistry.register(function(a){goog.events.handleBrowserEvent_=a(goog.events.handleBrowserEvent_);goog.events.pools.setProxyCallbackFunction(goog.events.handleBrowserEvent_)});goog.events.EventTarget=function(){goog.Disposable.call(this)};goog.inherits(goog.events.EventTarget,goog.Disposable);goog.events.EventTarget.prototype.customEvent_=true;goog.events.EventTarget.prototype.parentEventTarget_=null;goog.events.EventTarget.prototype.getParentEventTarget=function(){return this.parentEventTarget_};goog.events.EventTarget.prototype.setParentEventTarget=function(a){this.parentEventTarget_=a};
goog.events.EventTarget.prototype.addEventListener=function(a,b,c,d){goog.events.listen(this,a,b,c,d)};goog.events.EventTarget.prototype.removeEventListener=function(a,b,c,d){goog.events.unlisten(this,a,b,c,d)};goog.events.EventTarget.prototype.dispatchEvent=function(a){return goog.events.dispatchEvent(this,a)};goog.events.EventTarget.prototype.disposeInternal=function(){goog.events.EventTarget.superClass_.disposeInternal.call(this);goog.events.removeAll(this);this.parentEventTarget_=null};lime.userAgent={};(function(){var a=goog.userAgent.getUserAgentString();lime.userAgent.IOS=goog.userAgent.WEBKIT&&goog.userAgent.MOBILE&&/(ipod|iphone|ipad)/i.test(a);lime.userAgent.ANDROID=goog.userAgent.WEBKIT&&goog.userAgent.MOBILE&&/(android)/i.test(a);lime.userAgent.IPAD=lime.userAgent.IOS&&/(ipad)/i.test(a);lime.userAgent.IPHONE4=lime.userAgent.IOS&&goog.global.devicePixelRatio>=2;lime.userAgent.PLAYBOOK=goog.userAgent.WEBKIT&&/playbook/i.test(a);lime.userAgent.SUPPORTS_TOUCH=goog.isDef(document.ontouchmove)})();goog.math.Rect=function(a,b,c,d){this.left=a;this.top=b;this.width=c;this.height=d};goog.math.Rect.prototype.clone=function(){return new goog.math.Rect(this.left,this.top,this.width,this.height)};goog.math.Rect.prototype.toBox=function(){return new goog.math.Box(this.top,this.left+this.width,this.top+this.height,this.left)};goog.math.Rect.createFromBox=function(a){return new goog.math.Rect(a.left,a.top,a.right-a.left,a.bottom-a.top)};
if(goog.DEBUG)goog.math.Rect.prototype.toString=function(){return"("+this.left+", "+this.top+" - "+this.width+"w x "+this.height+"h)"};goog.math.Rect.equals=function(a,b){return a==b?true:!a||!b?false:a.left==b.left&&a.width==b.width&&a.top==b.top&&a.height==b.height};
goog.math.Rect.prototype.intersection=function(a){var b=Math.max(this.left,a.left),c=Math.min(this.left+this.width,a.left+a.width);if(b<=c){var d=Math.max(this.top,a.top),a=Math.min(this.top+this.height,a.top+a.height);if(d<=a)return this.left=b,this.top=d,this.width=c-b,this.height=a-d,true}return false};
goog.math.Rect.intersection=function(a,b){var c=Math.max(a.left,b.left),d=Math.min(a.left+a.width,b.left+b.width);if(c<=d){var e=Math.max(a.top,b.top),f=Math.min(a.top+a.height,b.top+b.height);if(e<=f)return new goog.math.Rect(c,e,d-c,f-e)}return null};goog.math.Rect.intersects=function(a,b){return a.left<=b.left+b.width&&b.left<=a.left+a.width&&a.top<=b.top+b.height&&b.top<=a.top+a.height};goog.math.Rect.prototype.intersects=function(a){return goog.math.Rect.intersects(this,a)};
goog.math.Rect.difference=function(a,b){var c=goog.math.Rect.intersection(a,b);if(!c||!c.height||!c.width)return[a.clone()];var c=[],d=a.top,e=a.height,f=a.left+a.width,g=a.top+a.height,h=b.left+b.width,i=b.top+b.height;if(b.top>a.top)c.push(new goog.math.Rect(a.left,a.top,a.width,b.top-a.top)),d=b.top,e-=b.top-a.top;i<g&&(c.push(new goog.math.Rect(a.left,i,a.width,g-i)),e=i-d);b.left>a.left&&c.push(new goog.math.Rect(a.left,d,b.left-a.left,e));h<f&&c.push(new goog.math.Rect(h,d,f-h,e));return c};
goog.math.Rect.prototype.difference=function(a){return goog.math.Rect.difference(this,a)};goog.math.Rect.prototype.boundingRect=function(a){var b=Math.max(this.left+this.width,a.left+a.width),c=Math.max(this.top+this.height,a.top+a.height);this.left=Math.min(this.left,a.left);this.top=Math.min(this.top,a.top);this.width=b-this.left;this.height=c-this.top};goog.math.Rect.boundingRect=function(a,b){if(!a||!b)return null;var c=a.clone();c.boundingRect(b);return c};
goog.math.Rect.prototype.contains=function(a){return a instanceof goog.math.Rect?this.left<=a.left&&this.left+this.width>=a.left+a.width&&this.top<=a.top&&this.top+this.height>=a.top+a.height:a.x>=this.left&&a.x<=this.left+this.width&&a.y>=this.top&&a.y<=this.top+this.height};goog.math.Rect.prototype.getSize=function(){return new goog.math.Size(this.width,this.height)};goog.dom={};goog.dom.classes={};goog.dom.classes.set=function(a,b){a.className=b};goog.dom.classes.get=function(a){return(a=a.className)&&typeof a.split=="function"?a.split(/\s+/):[]};goog.dom.classes.add=function(a,b){var c=goog.dom.classes.get(a),d=goog.array.slice(arguments,1),d=goog.dom.classes.add_(c,d);a.className=c.join(" ");return d};goog.dom.classes.remove=function(a,b){var c=goog.dom.classes.get(a),d=goog.array.slice(arguments,1),d=goog.dom.classes.remove_(c,d);a.className=c.join(" ");return d};
goog.dom.classes.add_=function(a,b){for(var c=0,d=0;d<b.length;d++)goog.array.contains(a,b[d])||(a.push(b[d]),c++);return c==b.length};goog.dom.classes.remove_=function(a,b){for(var c=0,d=0;d<a.length;d++)goog.array.contains(b,a[d])&&(goog.array.splice(a,d--,1),c++);return c==b.length};goog.dom.classes.swap=function(a,b,c){for(var d=goog.dom.classes.get(a),e=false,f=0;f<d.length;f++)d[f]==b&&(goog.array.splice(d,f--,1),e=true);if(e)d.push(c),a.className=d.join(" ");return e};
goog.dom.classes.addRemove=function(a,b,c){var d=goog.dom.classes.get(a);goog.isString(b)?goog.array.remove(d,b):goog.isArray(b)&&goog.dom.classes.remove_(d,b);goog.isString(c)&&!goog.array.contains(d,c)?d.push(c):goog.isArray(c)&&goog.dom.classes.add_(d,c);a.className=d.join(" ")};goog.dom.classes.has=function(a,b){return goog.array.contains(goog.dom.classes.get(a),b)};goog.dom.classes.enable=function(a,b,c){c?goog.dom.classes.add(a,b):goog.dom.classes.remove(a,b)};
goog.dom.classes.toggle=function(a,b){var c=!goog.dom.classes.has(a,b);goog.dom.classes.enable(a,b,c);return c};goog.dom.TagName={A:"A",ABBR:"ABBR",ACRONYM:"ACRONYM",ADDRESS:"ADDRESS",APPLET:"APPLET",AREA:"AREA",B:"B",BASE:"BASE",BASEFONT:"BASEFONT",BDO:"BDO",BIG:"BIG",BLOCKQUOTE:"BLOCKQUOTE",BODY:"BODY",BR:"BR",BUTTON:"BUTTON",CANVAS:"CANVAS",CAPTION:"CAPTION",CENTER:"CENTER",CITE:"CITE",CODE:"CODE",COL:"COL",COLGROUP:"COLGROUP",DD:"DD",DEL:"DEL",DFN:"DFN",DIR:"DIR",DIV:"DIV",DL:"DL",DT:"DT",EM:"EM",FIELDSET:"FIELDSET",FONT:"FONT",FORM:"FORM",FRAME:"FRAME",FRAMESET:"FRAMESET",H1:"H1",H2:"H2",H3:"H3",H4:"H4",
H5:"H5",H6:"H6",HEAD:"HEAD",HR:"HR",HTML:"HTML",I:"I",IFRAME:"IFRAME",IMG:"IMG",INPUT:"INPUT",INS:"INS",ISINDEX:"ISINDEX",KBD:"KBD",LABEL:"LABEL",LEGEND:"LEGEND",LI:"LI",LINK:"LINK",MAP:"MAP",MENU:"MENU",META:"META",NOFRAMES:"NOFRAMES",NOSCRIPT:"NOSCRIPT",OBJECT:"OBJECT",OL:"OL",OPTGROUP:"OPTGROUP",OPTION:"OPTION",P:"P",PARAM:"PARAM",PRE:"PRE",Q:"Q",S:"S",SAMP:"SAMP",SCRIPT:"SCRIPT",SELECT:"SELECT",SMALL:"SMALL",SPAN:"SPAN",STRIKE:"STRIKE",STRONG:"STRONG",STYLE:"STYLE",SUB:"SUB",SUP:"SUP",TABLE:"TABLE",
TBODY:"TBODY",TD:"TD",TEXTAREA:"TEXTAREA",TFOOT:"TFOOT",TH:"TH",THEAD:"THEAD",TITLE:"TITLE",TR:"TR",TT:"TT",U:"U",UL:"UL",VAR:"VAR"};goog.dom.BrowserFeature={CAN_ADD_NAME_OR_TYPE_ATTRIBUTES:!goog.userAgent.IE||goog.userAgent.isDocumentMode(9),CAN_USE_CHILDREN_ATTRIBUTE:!goog.userAgent.GECKO&&!goog.userAgent.IE||goog.userAgent.IE&&goog.userAgent.isDocumentMode(9)||goog.userAgent.GECKO&&goog.userAgent.isVersion("1.9.1"),CAN_USE_INNER_TEXT:goog.userAgent.IE&&!goog.userAgent.isVersion("9"),INNER_HTML_NEEDS_SCOPED_ELEMENT:goog.userAgent.IE};goog.dom.ASSUME_QUIRKS_MODE=false;goog.dom.ASSUME_STANDARDS_MODE=false;goog.dom.COMPAT_MODE_KNOWN_=goog.dom.ASSUME_QUIRKS_MODE||goog.dom.ASSUME_STANDARDS_MODE;goog.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12};goog.dom.getDomHelper=function(a){return a?new goog.dom.DomHelper(goog.dom.getOwnerDocument(a)):goog.dom.defaultDomHelper_||(goog.dom.defaultDomHelper_=new goog.dom.DomHelper)};
goog.dom.getDocument=function(){return document};goog.dom.getElement=function(a){return goog.isString(a)?document.getElementById(a):a};goog.dom.$=goog.dom.getElement;goog.dom.getElementsByTagNameAndClass=function(a,b,c){return goog.dom.getElementsByTagNameAndClass_(document,a,b,c)};
goog.dom.getElementsByClass=function(a,b){var c=b||document;if(goog.dom.canUseQuerySelector_(c))return c.querySelectorAll("."+a);else if(c.getElementsByClassName)return c.getElementsByClassName(a);return goog.dom.getElementsByTagNameAndClass_(document,"*",a,b)};goog.dom.getElementByClass=function(a,b){var c=b||document,d=null;return(d=goog.dom.canUseQuerySelector_(c)?c.querySelector("."+a):goog.dom.getElementsByClass(a,b)[0])||null};
goog.dom.canUseQuerySelector_=function(a){return a.querySelectorAll&&a.querySelector&&(!goog.userAgent.WEBKIT||goog.dom.isCss1CompatMode_(document)||goog.userAgent.isVersion("528"))};
goog.dom.getElementsByTagNameAndClass_=function(a,b,c,d){a=d||a;b=b&&b!="*"?b.toUpperCase():"";if(goog.dom.canUseQuerySelector_(a)&&(b||c))return a.querySelectorAll(b+(c?"."+c:""));if(c&&a.getElementsByClassName)if(a=a.getElementsByClassName(c),b){for(var d={},e=0,f=0,g;g=a[f];f++)b==g.nodeName&&(d[e++]=g);d.length=e;return d}else return a;a=a.getElementsByTagName(b||"*");if(c){d={};for(f=e=0;g=a[f];f++)b=g.className,typeof b.split=="function"&&goog.array.contains(b.split(/\s+/),c)&&(d[e++]=g);d.length=
e;return d}else return a};goog.dom.$$=goog.dom.getElementsByTagNameAndClass;goog.dom.setProperties=function(a,b){goog.object.forEach(b,function(b,d){d=="style"?a.style.cssText=b:d=="class"?a.className=b:d=="for"?a.htmlFor=b:d in goog.dom.DIRECT_ATTRIBUTE_MAP_?a.setAttribute(goog.dom.DIRECT_ATTRIBUTE_MAP_[d],b):goog.string.startsWith(d,"aria-")?a.setAttribute(d,b):a[d]=b})};
goog.dom.DIRECT_ATTRIBUTE_MAP_={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",rowspan:"rowSpan",valign:"vAlign",height:"height",width:"width",usemap:"useMap",frameborder:"frameBorder",maxlength:"maxLength",type:"type"};goog.dom.getViewportSize=function(a){return goog.dom.getViewportSize_(a||window)};
goog.dom.getViewportSize_=function(a){var b=a.document;if(goog.userAgent.WEBKIT&&!goog.userAgent.isVersion("500")&&!goog.userAgent.MOBILE){typeof a.innerHeight=="undefined"&&(a=window);var b=a.innerHeight,c=a.document.documentElement.scrollHeight;a==a.top&&c<b&&(b-=15);return new goog.math.Size(a.innerWidth,b)}a=goog.dom.isCss1CompatMode_(b)?b.documentElement:b.body;return new goog.math.Size(a.clientWidth,a.clientHeight)};goog.dom.getDocumentHeight=function(){return goog.dom.getDocumentHeight_(window)};
goog.dom.getDocumentHeight_=function(a){var b=a.document,c=0;if(b){var a=goog.dom.getViewportSize_(a).height,c=b.body,d=b.documentElement;if(goog.dom.isCss1CompatMode_(b)&&d.scrollHeight)c=d.scrollHeight!=a?d.scrollHeight:d.offsetHeight;else{var b=d.scrollHeight,e=d.offsetHeight;if(d.clientHeight!=e)b=c.scrollHeight,e=c.offsetHeight;c=b>a?b>e?b:e:b<e?b:e}}return c};goog.dom.getPageScroll=function(a){return goog.dom.getDomHelper((a||goog.global||window).document).getDocumentScroll()};
goog.dom.getDocumentScroll=function(){return goog.dom.getDocumentScroll_(document)};goog.dom.getDocumentScroll_=function(a){var b=goog.dom.getDocumentScrollElement_(a),a=goog.dom.getWindow_(a);return new goog.math.Coordinate(a.pageXOffset||b.scrollLeft,a.pageYOffset||b.scrollTop)};goog.dom.getDocumentScrollElement=function(){return goog.dom.getDocumentScrollElement_(document)};
goog.dom.getDocumentScrollElement_=function(a){return!goog.userAgent.WEBKIT&&goog.dom.isCss1CompatMode_(a)?a.documentElement:a.body};goog.dom.getWindow=function(a){return a?goog.dom.getWindow_(a):window};goog.dom.getWindow_=function(a){return a.parentWindow||a.defaultView};goog.dom.createDom=function(a,b,c){return goog.dom.createDom_(document,arguments)};
goog.dom.createDom_=function(a,b){var c=b[0],d=b[1];if(!goog.dom.BrowserFeature.CAN_ADD_NAME_OR_TYPE_ATTRIBUTES&&d&&(d.name||d.type)){c=["<",c];d.name&&c.push(' name="',goog.string.htmlEscape(d.name),'"');if(d.type){c.push(' type="',goog.string.htmlEscape(d.type),'"');var e={};goog.object.extend(e,d);d=e;delete d.type}c.push(">");c=c.join("")}c=a.createElement(c);if(d)goog.isString(d)?c.className=d:goog.isArray(d)?goog.dom.classes.add.apply(null,[c].concat(d)):goog.dom.setProperties(c,d);b.length>
2&&goog.dom.append_(a,c,b,2);return c};goog.dom.append_=function(a,b,c,d){function e(c){c&&b.appendChild(goog.isString(c)?a.createTextNode(c):c)}for(;d<c.length;d++){var f=c[d];goog.isArrayLike(f)&&!goog.dom.isNodeLike(f)?goog.array.forEach(goog.dom.isNodeList(f)?goog.array.clone(f):f,e):e(f)}};goog.dom.$dom=goog.dom.createDom;goog.dom.createElement=function(a){return document.createElement(a)};goog.dom.createTextNode=function(a){return document.createTextNode(a)};
goog.dom.createTable=function(a,b,c){return goog.dom.createTable_(document,a,b,!!c)};goog.dom.createTable_=function(a,b,c,d){for(var e=["<tr>"],f=0;f<c;f++)e.push(d?"<td> </td>":"<td></td>");e.push("</tr>");e=e.join("");c=["<table>"];for(f=0;f<b;f++)c.push(e);c.push("</table>");a=a.createElement(goog.dom.TagName.DIV);a.innerHTML=c.join("");return a.removeChild(a.firstChild)};goog.dom.htmlToDocumentFragment=function(a){return goog.dom.htmlToDocumentFragment_(document,a)};
goog.dom.htmlToDocumentFragment_=function(a,b){var c=a.createElement("div");goog.dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT?(c.innerHTML="<br>"+b,c.removeChild(c.firstChild)):c.innerHTML=b;if(c.childNodes.length==1)return c.removeChild(c.firstChild);else{for(var d=a.createDocumentFragment();c.firstChild;)d.appendChild(c.firstChild);return d}};goog.dom.getCompatMode=function(){return goog.dom.isCss1CompatMode()?"CSS1Compat":"BackCompat"};goog.dom.isCss1CompatMode=function(){return goog.dom.isCss1CompatMode_(document)};
goog.dom.isCss1CompatMode_=function(a){return goog.dom.COMPAT_MODE_KNOWN_?goog.dom.ASSUME_STANDARDS_MODE:a.compatMode=="CSS1Compat"};goog.dom.canHaveChildren=function(a){if(a.nodeType!=goog.dom.NodeType.ELEMENT)return false;switch(a.tagName){case goog.dom.TagName.APPLET:case goog.dom.TagName.AREA:case goog.dom.TagName.BASE:case goog.dom.TagName.BR:case goog.dom.TagName.COL:case goog.dom.TagName.FRAME:case goog.dom.TagName.HR:case goog.dom.TagName.IMG:case goog.dom.TagName.INPUT:case goog.dom.TagName.IFRAME:case goog.dom.TagName.ISINDEX:case goog.dom.TagName.LINK:case goog.dom.TagName.NOFRAMES:case goog.dom.TagName.NOSCRIPT:case goog.dom.TagName.META:case goog.dom.TagName.OBJECT:case goog.dom.TagName.PARAM:case goog.dom.TagName.SCRIPT:case goog.dom.TagName.STYLE:return false}return true};
goog.dom.appendChild=function(a,b){a.appendChild(b)};goog.dom.append=function(a,b){goog.dom.append_(goog.dom.getOwnerDocument(a),a,arguments,1)};goog.dom.removeChildren=function(a){for(var b;b=a.firstChild;)a.removeChild(b)};goog.dom.insertSiblingBefore=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b)};goog.dom.insertSiblingAfter=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b.nextSibling)};goog.dom.insertChildAt=function(a,b,c){a.insertBefore(b,a.childNodes[c]||null)};
goog.dom.removeNode=function(a){return a&&a.parentNode?a.parentNode.removeChild(a):null};goog.dom.replaceNode=function(a,b){var c=b.parentNode;c&&c.replaceChild(a,b)};goog.dom.flattenElement=function(a){var b,c=a.parentNode;if(c&&c.nodeType!=goog.dom.NodeType.DOCUMENT_FRAGMENT)if(a.removeNode)return a.removeNode(false);else{for(;b=a.firstChild;)c.insertBefore(b,a);return goog.dom.removeNode(a)}};
goog.dom.getChildren=function(a){return goog.dom.BrowserFeature.CAN_USE_CHILDREN_ATTRIBUTE&&a.children!=void 0?a.children:goog.array.filter(a.childNodes,function(a){return a.nodeType==goog.dom.NodeType.ELEMENT})};goog.dom.getFirstElementChild=function(a){return a.firstElementChild!=void 0?a.firstElementChild:goog.dom.getNextElementNode_(a.firstChild,true)};goog.dom.getLastElementChild=function(a){return a.lastElementChild!=void 0?a.lastElementChild:goog.dom.getNextElementNode_(a.lastChild,false)};
goog.dom.getNextElementSibling=function(a){return a.nextElementSibling!=void 0?a.nextElementSibling:goog.dom.getNextElementNode_(a.nextSibling,true)};goog.dom.getPreviousElementSibling=function(a){return a.previousElementSibling!=void 0?a.previousElementSibling:goog.dom.getNextElementNode_(a.previousSibling,false)};goog.dom.getNextElementNode_=function(a,b){for(;a&&a.nodeType!=goog.dom.NodeType.ELEMENT;)a=b?a.nextSibling:a.previousSibling;return a};
goog.dom.getNextNode=function(a){if(!a)return null;if(a.firstChild)return a.firstChild;for(;a&&!a.nextSibling;)a=a.parentNode;return a?a.nextSibling:null};goog.dom.getPreviousNode=function(a){if(!a)return null;if(!a.previousSibling)return a.parentNode;for(a=a.previousSibling;a&&a.lastChild;)a=a.lastChild;return a};goog.dom.isNodeLike=function(a){return goog.isObject(a)&&a.nodeType>0};goog.dom.isElement=function(a){return goog.isObject(a)&&a.nodeType==goog.dom.NodeType.ELEMENT};
goog.dom.isWindow=function(a){return goog.isObject(a)&&a.window==a};goog.dom.contains=function(a,b){if(a.contains&&b.nodeType==goog.dom.NodeType.ELEMENT)return a==b||a.contains(b);if(typeof a.compareDocumentPosition!="undefined")return a==b||Boolean(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};
goog.dom.compareNodeOrder=function(a,b){if(a==b)return 0;if(a.compareDocumentPosition)return a.compareDocumentPosition(b)&2?1:-1;if("sourceIndex"in a||a.parentNode&&"sourceIndex"in a.parentNode){var c=a.nodeType==goog.dom.NodeType.ELEMENT,d=b.nodeType==goog.dom.NodeType.ELEMENT;if(c&&d)return a.sourceIndex-b.sourceIndex;else{var e=a.parentNode,f=b.parentNode;return e==f?goog.dom.compareSiblingOrder_(a,b):!c&&goog.dom.contains(e,b)?-1*goog.dom.compareParentsDescendantNodeIe_(a,b):!d&&goog.dom.contains(f,
a)?goog.dom.compareParentsDescendantNodeIe_(b,a):(c?a.sourceIndex:e.sourceIndex)-(d?b.sourceIndex:f.sourceIndex)}}d=goog.dom.getOwnerDocument(a);c=d.createRange();c.selectNode(a);c.collapse(true);d=d.createRange();d.selectNode(b);d.collapse(true);return c.compareBoundaryPoints(goog.global.Range.START_TO_END,d)};goog.dom.compareParentsDescendantNodeIe_=function(a,b){var c=a.parentNode;if(c==b)return-1;for(var d=b;d.parentNode!=c;)d=d.parentNode;return goog.dom.compareSiblingOrder_(d,a)};
goog.dom.compareSiblingOrder_=function(a,b){for(var c=b;c=c.previousSibling;)if(c==a)return-1;return 1};goog.dom.findCommonAncestor=function(a){var b,c=arguments.length;if(c){if(c==1)return arguments[0]}else return null;var d=[],e=Infinity;for(b=0;b<c;b++){for(var f=[],g=arguments[b];g;)f.unshift(g),g=g.parentNode;d.push(f);e=Math.min(e,f.length)}f=null;for(b=0;b<e;b++){for(var g=d[0][b],h=1;h<c;h++)if(g!=d[h][b])return f;f=g}return f};
goog.dom.getOwnerDocument=function(a){return a.nodeType==goog.dom.NodeType.DOCUMENT?a:a.ownerDocument||a.document};goog.dom.getFrameContentDocument=function(a){return goog.userAgent.WEBKIT?a.document||a.contentWindow.document:a.contentDocument||a.contentWindow.document};goog.dom.getFrameContentWindow=function(a){return a.contentWindow||goog.dom.getWindow_(goog.dom.getFrameContentDocument(a))};
goog.dom.setTextContent=function(a,b){if("textContent"in a)a.textContent=b;else if(a.firstChild&&a.firstChild.nodeType==goog.dom.NodeType.TEXT){for(;a.lastChild!=a.firstChild;)a.removeChild(a.lastChild);a.firstChild.data=b}else{goog.dom.removeChildren(a);var c=goog.dom.getOwnerDocument(a);a.appendChild(c.createTextNode(b))}};goog.dom.getOuterHtml=function(a){if("outerHTML"in a)return a.outerHTML;else{var b=goog.dom.getOwnerDocument(a).createElement("div");b.appendChild(a.cloneNode(true));return b.innerHTML}};
goog.dom.findNode=function(a,b){var c=[];return goog.dom.findNodes_(a,b,c,true)?c[0]:void 0};goog.dom.findNodes=function(a,b){var c=[];goog.dom.findNodes_(a,b,c,false);return c};goog.dom.findNodes_=function(a,b,c,d){if(a!=null)for(a=a.firstChild;a;){if(b(a)&&(c.push(a),d))return true;if(goog.dom.findNodes_(a,b,c,d))return true;a=a.nextSibling}return false};goog.dom.TAGS_TO_IGNORE_={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1};goog.dom.PREDEFINED_TAG_VALUES_={IMG:" ",BR:"\n"};
goog.dom.isFocusableTabIndex=function(a){var b=a.getAttributeNode("tabindex");return b&&b.specified?(a=a.tabIndex,goog.isNumber(a)&&a>=0&&a<32768):false};goog.dom.setFocusableTabIndex=function(a,b){b?a.tabIndex=0:(a.tabIndex=-1,a.removeAttribute("tabIndex"))};
goog.dom.getTextContent=function(a){if(goog.dom.BrowserFeature.CAN_USE_INNER_TEXT&&"innerText"in a)a=goog.string.canonicalizeNewlines(a.innerText);else{var b=[];goog.dom.getTextContent_(a,b,true);a=b.join("")}a=a.replace(/ \xAD /g," ").replace(/\xAD/g,"");a=a.replace(/\u200B/g,"");goog.dom.BrowserFeature.CAN_USE_INNER_TEXT||(a=a.replace(/ +/g," "));a!=" "&&(a=a.replace(/^\s*/,""));return a};goog.dom.getRawTextContent=function(a){var b=[];goog.dom.getTextContent_(a,b,false);return b.join("")};
goog.dom.getTextContent_=function(a,b,c){if(!(a.nodeName in goog.dom.TAGS_TO_IGNORE_))if(a.nodeType==goog.dom.NodeType.TEXT)c?b.push(String(a.nodeValue).replace(/(\r\n|\r|\n)/g,"")):b.push(a.nodeValue);else if(a.nodeName in goog.dom.PREDEFINED_TAG_VALUES_)b.push(goog.dom.PREDEFINED_TAG_VALUES_[a.nodeName]);else for(a=a.firstChild;a;)goog.dom.getTextContent_(a,b,c),a=a.nextSibling};goog.dom.getNodeTextLength=function(a){return goog.dom.getTextContent(a).length};
goog.dom.getNodeTextOffset=function(a,b){for(var c=b||goog.dom.getOwnerDocument(a).body,d=[];a&&a!=c;){for(var e=a;e=e.previousSibling;)d.unshift(goog.dom.getTextContent(e));a=a.parentNode}return goog.string.trimLeft(d.join("")).replace(/ +/g," ").length};
goog.dom.getNodeAtOffset=function(a,b,c){for(var a=[a],d=0,e;a.length>0&&d<b;)if(e=a.pop(),!(e.nodeName in goog.dom.TAGS_TO_IGNORE_))if(e.nodeType==goog.dom.NodeType.TEXT){var f=e.nodeValue.replace(/(\r\n|\r|\n)/g,"").replace(/ +/g," ");d+=f.length}else if(e.nodeName in goog.dom.PREDEFINED_TAG_VALUES_)d+=goog.dom.PREDEFINED_TAG_VALUES_[e.nodeName].length;else for(f=e.childNodes.length-1;f>=0;f--)a.push(e.childNodes[f]);if(goog.isObject(c))c.remainder=e?e.nodeValue.length+b-d-1:0,c.node=e;return e};
goog.dom.isNodeList=function(a){if(a&&typeof a.length=="number")if(goog.isObject(a))return typeof a.item=="function"||typeof a.item=="string";else if(goog.isFunction(a))return typeof a.item=="function";return false};goog.dom.getAncestorByTagNameAndClass=function(a,b,c){var d=b?b.toUpperCase():null;return goog.dom.getAncestor(a,function(a){return(!d||a.nodeName==d)&&(!c||goog.dom.classes.has(a,c))},true)};
goog.dom.getAncestorByClass=function(a,b){return goog.dom.getAncestorByTagNameAndClass(a,null,b)};goog.dom.getAncestor=function(a,b,c,d){if(!c)a=a.parentNode;for(var c=d==null,e=0;a&&(c||e<=d);){if(b(a))return a;a=a.parentNode;e++}return null};goog.dom.DomHelper=function(a){this.document_=a||goog.global.document||document};goog.dom.DomHelper.prototype.getDomHelper=goog.dom.getDomHelper;goog.dom.DomHelper.prototype.setDocument=function(a){this.document_=a};
goog.dom.DomHelper.prototype.getDocument=function(){return this.document_};goog.dom.DomHelper.prototype.getElement=function(a){return goog.isString(a)?this.document_.getElementById(a):a};goog.dom.DomHelper.prototype.$=goog.dom.DomHelper.prototype.getElement;goog.dom.DomHelper.prototype.getElementsByTagNameAndClass=function(a,b,c){return goog.dom.getElementsByTagNameAndClass_(this.document_,a,b,c)};
goog.dom.DomHelper.prototype.getElementsByClass=function(a,b){return goog.dom.getElementsByClass(a,b||this.document_)};goog.dom.DomHelper.prototype.getElementByClass=function(a,b){return goog.dom.getElementByClass(a,b||this.document_)};goog.dom.DomHelper.prototype.$$=goog.dom.DomHelper.prototype.getElementsByTagNameAndClass;goog.dom.DomHelper.prototype.setProperties=goog.dom.setProperties;goog.dom.DomHelper.prototype.getViewportSize=function(a){return goog.dom.getViewportSize(a||this.getWindow())};
goog.dom.DomHelper.prototype.getDocumentHeight=function(){return goog.dom.getDocumentHeight_(this.getWindow())};goog.dom.DomHelper.prototype.createDom=function(a,b,c){return goog.dom.createDom_(this.document_,arguments)};goog.dom.DomHelper.prototype.$dom=goog.dom.DomHelper.prototype.createDom;goog.dom.DomHelper.prototype.createElement=function(a){return this.document_.createElement(a)};goog.dom.DomHelper.prototype.createTextNode=function(a){return this.document_.createTextNode(a)};
goog.dom.DomHelper.prototype.createTable=function(a,b,c){return goog.dom.createTable_(this.document_,a,b,!!c)};goog.dom.DomHelper.prototype.htmlToDocumentFragment=function(a){return goog.dom.htmlToDocumentFragment_(this.document_,a)};goog.dom.DomHelper.prototype.getCompatMode=function(){return this.isCss1CompatMode()?"CSS1Compat":"BackCompat"};goog.dom.DomHelper.prototype.isCss1CompatMode=function(){return goog.dom.isCss1CompatMode_(this.document_)};goog.dom.DomHelper.prototype.getWindow=function(){return goog.dom.getWindow_(this.document_)};
goog.dom.DomHelper.prototype.getDocumentScrollElement=function(){return goog.dom.getDocumentScrollElement_(this.document_)};goog.dom.DomHelper.prototype.getDocumentScroll=function(){return goog.dom.getDocumentScroll_(this.document_)};goog.dom.DomHelper.prototype.appendChild=goog.dom.appendChild;goog.dom.DomHelper.prototype.append=goog.dom.append;goog.dom.DomHelper.prototype.removeChildren=goog.dom.removeChildren;goog.dom.DomHelper.prototype.insertSiblingBefore=goog.dom.insertSiblingBefore;
goog.dom.DomHelper.prototype.insertSiblingAfter=goog.dom.insertSiblingAfter;goog.dom.DomHelper.prototype.removeNode=goog.dom.removeNode;goog.dom.DomHelper.prototype.replaceNode=goog.dom.replaceNode;goog.dom.DomHelper.prototype.flattenElement=goog.dom.flattenElement;goog.dom.DomHelper.prototype.getFirstElementChild=goog.dom.getFirstElementChild;goog.dom.DomHelper.prototype.getLastElementChild=goog.dom.getLastElementChild;goog.dom.DomHelper.prototype.getNextElementSibling=goog.dom.getNextElementSibling;
goog.dom.DomHelper.prototype.getPreviousElementSibling=goog.dom.getPreviousElementSibling;goog.dom.DomHelper.prototype.getNextNode=goog.dom.getNextNode;goog.dom.DomHelper.prototype.getPreviousNode=goog.dom.getPreviousNode;goog.dom.DomHelper.prototype.isNodeLike=goog.dom.isNodeLike;goog.dom.DomHelper.prototype.contains=goog.dom.contains;goog.dom.DomHelper.prototype.getOwnerDocument=goog.dom.getOwnerDocument;goog.dom.DomHelper.prototype.getFrameContentDocument=goog.dom.getFrameContentDocument;
goog.dom.DomHelper.prototype.getFrameContentWindow=goog.dom.getFrameContentWindow;goog.dom.DomHelper.prototype.setTextContent=goog.dom.setTextContent;goog.dom.DomHelper.prototype.findNode=goog.dom.findNode;goog.dom.DomHelper.prototype.findNodes=goog.dom.findNodes;goog.dom.DomHelper.prototype.getTextContent=goog.dom.getTextContent;goog.dom.DomHelper.prototype.getNodeTextLength=goog.dom.getNodeTextLength;goog.dom.DomHelper.prototype.getNodeTextOffset=goog.dom.getNodeTextOffset;
goog.dom.DomHelper.prototype.getAncestorByTagNameAndClass=goog.dom.getAncestorByTagNameAndClass;goog.dom.DomHelper.prototype.getAncestorByClass=goog.dom.getAncestorByClass;goog.dom.DomHelper.prototype.getAncestor=goog.dom.getAncestor;goog.style={};goog.style.setStyle=function(a,b,c){goog.isString(b)?goog.style.setStyle_(a,c,b):goog.object.forEach(b,goog.partial(goog.style.setStyle_,a))};goog.style.setStyle_=function(a,b,c){a.style[goog.string.toCamelCase(c)]=b};goog.style.getStyle=function(a,b){return a.style[goog.string.toCamelCase(b)]||""};
goog.style.getComputedStyle=function(a,b){var c=goog.dom.getOwnerDocument(a);return c.defaultView&&c.defaultView.getComputedStyle&&(c=c.defaultView.getComputedStyle(a,null))?c[b]||c.getPropertyValue(b):""};goog.style.getCascadedStyle=function(a,b){return a.currentStyle?a.currentStyle[b]:null};goog.style.getStyle_=function(a,b){return goog.style.getComputedStyle(a,b)||goog.style.getCascadedStyle(a,b)||a.style[b]};goog.style.getComputedPosition=function(a){return goog.style.getStyle_(a,"position")};
goog.style.getBackgroundColor=function(a){return goog.style.getStyle_(a,"backgroundColor")};goog.style.getComputedOverflowX=function(a){return goog.style.getStyle_(a,"overflowX")};goog.style.getComputedOverflowY=function(a){return goog.style.getStyle_(a,"overflowY")};goog.style.getComputedZIndex=function(a){return goog.style.getStyle_(a,"zIndex")};goog.style.getComputedTextAlign=function(a){return goog.style.getStyle_(a,"textAlign")};
goog.style.getComputedCursor=function(a){return goog.style.getStyle_(a,"cursor")};goog.style.setPosition=function(a,b,c){var d,e=goog.userAgent.GECKO&&(goog.userAgent.MAC||goog.userAgent.X11)&&goog.userAgent.isVersion("1.9");b instanceof goog.math.Coordinate?(d=b.x,b=b.y):(d=b,b=c);a.style.left=goog.style.getPixelStyleValue_(d,e);a.style.top=goog.style.getPixelStyleValue_(b,e)};goog.style.getPosition=function(a){return new goog.math.Coordinate(a.offsetLeft,a.offsetTop)};
goog.style.getClientViewportElement=function(a){a=a?a.nodeType==goog.dom.NodeType.DOCUMENT?a:goog.dom.getOwnerDocument(a):goog.dom.getDocument();return goog.userAgent.IE&&!goog.userAgent.isDocumentMode(9)&&!goog.dom.getDomHelper(a).isCss1CompatMode()?a.body:a.documentElement};
goog.style.getBoundingClientRect_=function(a){var b=a.getBoundingClientRect();if(goog.userAgent.IE)a=a.ownerDocument,b.left-=a.documentElement.clientLeft+a.body.clientLeft,b.top-=a.documentElement.clientTop+a.body.clientTop;return b};
goog.style.getOffsetParent=function(a){if(goog.userAgent.IE)return a.offsetParent;for(var b=goog.dom.getOwnerDocument(a),c=goog.style.getStyle_(a,"position"),d=c=="fixed"||c=="absolute",a=a.parentNode;a&&a!=b;a=a.parentNode)if(c=goog.style.getStyle_(a,"position"),d=d&&c=="static"&&a!=b.documentElement&&a!=b.body,!d&&(a.scrollWidth>a.clientWidth||a.scrollHeight>a.clientHeight||c=="fixed"||c=="absolute"||c=="relative"))return a;return null};
goog.style.getVisibleRectForElement=function(a){for(var b=new goog.math.Box(0,Infinity,Infinity,0),c=goog.dom.getDomHelper(a),d=c.getDocument().body,e=c.getDocument().documentElement,f=c.getDocumentScrollElement();a=goog.style.getOffsetParent(a);)if((!goog.userAgent.IE||a.clientWidth!=0)&&(!goog.userAgent.WEBKIT||a.clientHeight!=0||a!=d)&&a!=d&&a!=e&&goog.style.getStyle_(a,"overflow")!="visible"){var g=goog.style.getPageOffset(a),h=goog.style.getClientLeftTop(a);g.x+=h.x;g.y+=h.y;b.top=Math.max(b.top,
g.y);b.right=Math.min(b.right,g.x+a.clientWidth);b.bottom=Math.min(b.bottom,g.y+a.clientHeight);b.left=Math.max(b.left,g.x)}d=f.scrollLeft;f=f.scrollTop;b.left=Math.max(b.left,d);b.top=Math.max(b.top,f);c=c.getViewportSize();b.right=Math.min(b.right,d+c.width);b.bottom=Math.min(b.bottom,f+c.height);return b.top>=0&&b.left>=0&&b.bottom>b.top&&b.right>b.left?b:null};
goog.style.scrollIntoContainerView=function(a,b,c){var d=goog.style.getPageOffset(a),e=goog.style.getPageOffset(b),f=goog.style.getBorderBox(b),g=d.x-e.x-f.left,d=d.y-e.y-f.top,e=b.clientWidth-a.offsetWidth,a=b.clientHeight-a.offsetHeight;c?(b.scrollLeft+=g-e/2,b.scrollTop+=d-a/2):(b.scrollLeft+=Math.min(g,Math.max(g-e,0)),b.scrollTop+=Math.min(d,Math.max(d-a,0)))};
goog.style.getClientLeftTop=function(a){if(goog.userAgent.GECKO&&!goog.userAgent.isVersion("1.9")){var b=parseFloat(goog.style.getComputedStyle(a,"borderLeftWidth"));if(goog.style.isRightToLeft(a)){var c=a.offsetWidth-a.clientWidth-b-parseFloat(goog.style.getComputedStyle(a,"borderRightWidth"));b+=c}return new goog.math.Coordinate(b,parseFloat(goog.style.getComputedStyle(a,"borderTopWidth")))}return new goog.math.Coordinate(a.clientLeft,a.clientTop)};
goog.style.getPageOffset=function(a){var b,c=goog.dom.getOwnerDocument(a),d=goog.style.getStyle_(a,"position"),e=goog.userAgent.GECKO&&c.getBoxObjectFor&&!a.getBoundingClientRect&&d=="absolute"&&(b=c.getBoxObjectFor(a))&&(b.screenX<0||b.screenY<0),f=new goog.math.Coordinate(0,0),g=goog.style.getClientViewportElement(c);if(a==g)return f;if(a.getBoundingClientRect)b=goog.style.getBoundingClientRect_(a),a=goog.dom.getDomHelper(c).getDocumentScroll(),f.x=b.left+a.x,f.y=b.top+a.y;else if(c.getBoxObjectFor&&
!e)b=c.getBoxObjectFor(a),a=c.getBoxObjectFor(g),f.x=b.screenX-a.screenX,f.y=b.screenY-a.screenY;else{b=a;do{f.x+=b.offsetLeft;f.y+=b.offsetTop;b!=a&&(f.x+=b.clientLeft||0,f.y+=b.clientTop||0);if(goog.userAgent.WEBKIT&&goog.style.getComputedPosition(b)=="fixed"){f.x+=c.body.scrollLeft;f.y+=c.body.scrollTop;break}b=b.offsetParent}while(b&&b!=a);if(goog.userAgent.OPERA||goog.userAgent.WEBKIT&&d=="absolute")f.y-=c.body.offsetTop;for(b=a;(b=goog.style.getOffsetParent(b))&&b!=c.body&&b!=g;)if(f.x-=b.scrollLeft,
!goog.userAgent.OPERA||b.tagName!="TR")f.y-=b.scrollTop}return f};goog.style.getPageOffsetLeft=function(a){return goog.style.getPageOffset(a).x};goog.style.getPageOffsetTop=function(a){return goog.style.getPageOffset(a).y};goog.style.getFramedPageOffset=function(a,b){var c=new goog.math.Coordinate(0,0),d=goog.dom.getWindow(goog.dom.getOwnerDocument(a)),e=a;do{var f=d==b?goog.style.getPageOffset(e):goog.style.getClientPosition(e);c.x+=f.x;c.y+=f.y}while(d&&d!=b&&(e=d.frameElement)&&(d=d.parent));return c};
goog.style.translateRectForAnotherFrame=function(a,b,c){if(b.getDocument()!=c.getDocument()){var d=b.getDocument().body,c=goog.style.getFramedPageOffset(d,c.getWindow()),c=goog.math.Coordinate.difference(c,goog.style.getPageOffset(d));goog.userAgent.IE&&!b.isCss1CompatMode()&&(c=goog.math.Coordinate.difference(c,b.getDocumentScroll()));a.left+=c.x;a.top+=c.y}};
goog.style.getRelativePosition=function(a,b){var c=goog.style.getClientPosition(a),d=goog.style.getClientPosition(b);return new goog.math.Coordinate(c.x-d.x,c.y-d.y)};
goog.style.getClientPosition=function(a){var b=new goog.math.Coordinate;if(a.nodeType==goog.dom.NodeType.ELEMENT)if(a.getBoundingClientRect)a=goog.style.getBoundingClientRect_(a),b.x=a.left,b.y=a.top;else{var c=goog.dom.getDomHelper(a).getDocumentScroll(),a=goog.style.getPageOffset(a);b.x=a.x-c.x;b.y=a.y-c.y}else{var c=goog.isFunction(a.getBrowserEvent),d=a;a.targetTouches?d=a.targetTouches[0]:c&&a.getBrowserEvent().targetTouches&&(d=a.getBrowserEvent().targetTouches[0]);b.x=d.clientX;b.y=d.clientY}return b};
goog.style.setPageOffset=function(a,b,c){var d=goog.style.getPageOffset(a);if(b instanceof goog.math.Coordinate)c=b.y,b=b.x;goog.style.setPosition(a,a.offsetLeft+(b-d.x),a.offsetTop+(c-d.y))};goog.style.setSize=function(a,b,c){if(b instanceof goog.math.Size)c=b.height,b=b.width;else if(c==void 0)throw Error("missing height argument");goog.style.setWidth(a,b);goog.style.setHeight(a,c)};goog.style.getPixelStyleValue_=function(a,b){typeof a=="number"&&(a=(b?Math.round(a):a)+"px");return a};
goog.style.setHeight=function(a,b){a.style.height=goog.style.getPixelStyleValue_(b,true)};goog.style.setWidth=function(a,b){a.style.width=goog.style.getPixelStyleValue_(b,true)};goog.style.getSize=function(a){if(goog.style.getStyle_(a,"display")!="none")return goog.style.getSizeWithDisplay_(a);var b=a.style,c=b.display,d=b.visibility,e=b.position;b.visibility="hidden";b.position="absolute";b.display="inline";a=goog.style.getSizeWithDisplay_(a);b.display=c;b.position=e;b.visibility=d;return a};
goog.style.getSizeWithDisplay_=function(a){var b=a.offsetWidth,c=a.offsetHeight,d=goog.userAgent.WEBKIT&&!b&&!c;return(!goog.isDef(b)||d)&&a.getBoundingClientRect?(a=goog.style.getBoundingClientRect_(a),new goog.math.Size(a.right-a.left,a.bottom-a.top)):new goog.math.Size(b,c)};goog.style.getBounds=function(a){var b=goog.style.getPageOffset(a),a=goog.style.getSize(a);return new goog.math.Rect(b.x,b.y,a.width,a.height)};goog.style.toCamelCase=function(a){return goog.string.toCamelCase(String(a))};
goog.style.toSelectorCase=function(a){return goog.string.toSelectorCase(a)};goog.style.getOpacity=function(a){var b=a.style,a="";"opacity"in b?a=b.opacity:"MozOpacity"in b?a=b.MozOpacity:"filter"in b&&(b=b.filter.match(/alpha\(opacity=([\d.]+)\)/))&&(a=String(b[1]/100));return a==""?a:Number(a)};goog.style.setOpacity=function(a,b){var c=a.style;if("opacity"in c)c.opacity=b;else if("MozOpacity"in c)c.MozOpacity=b;else if("filter"in c)c.filter=b===""?"":"alpha(opacity="+b*100+")"};
goog.style.setTransparentBackgroundImage=function(a,b){var c=a.style;goog.userAgent.IE&&!goog.userAgent.isVersion("8")?c.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+b+'", sizingMethod="crop")':(c.backgroundImage="url("+b+")",c.backgroundPosition="top left",c.backgroundRepeat="no-repeat")};goog.style.clearTransparentBackgroundImage=function(a){a=a.style;"filter"in a?a.filter="":a.backgroundImage="none"};goog.style.showElement=function(a,b){a.style.display=b?"":"none"};
goog.style.isElementShown=function(a){return a.style.display!="none"};goog.style.installStyles=function(a,b){var c=goog.dom.getDomHelper(b),d=null;if(goog.userAgent.IE)d=c.getDocument().createStyleSheet(),goog.style.setStyles(d,a);else{var e=c.getElementsByTagNameAndClass("head")[0];e||(d=c.getElementsByTagNameAndClass("body")[0],e=c.createDom("head"),d.parentNode.insertBefore(e,d));d=c.createDom("style");goog.style.setStyles(d,a);c.appendChild(e,d)}return d};
goog.style.uninstallStyles=function(a){goog.dom.removeNode(a.ownerNode||a.owningElement||a)};goog.style.setStyles=function(a,b){goog.userAgent.IE?a.cssText=b:a[goog.userAgent.WEBKIT?"innerText":"innerHTML"]=b};goog.style.setPreWrap=function(a){a=a.style;goog.userAgent.IE&&!goog.userAgent.isVersion("8")?(a.whiteSpace="pre",a.wordWrap="break-word"):a.whiteSpace=goog.userAgent.GECKO?"-moz-pre-wrap":"pre-wrap"};
goog.style.setInlineBlock=function(a){a=a.style;a.position="relative";goog.userAgent.IE&&!goog.userAgent.isVersion("8")?(a.zoom="1",a.display="inline"):a.display=goog.userAgent.GECKO?goog.userAgent.isVersion("1.9a")?"inline-block":"-moz-inline-box":"inline-block"};goog.style.isRightToLeft=function(a){return"rtl"==goog.style.getStyle_(a,"direction")};goog.style.unselectableStyle_=goog.userAgent.GECKO?"MozUserSelect":goog.userAgent.WEBKIT?"WebkitUserSelect":null;
goog.style.isUnselectable=function(a){if(goog.style.unselectableStyle_)return a.style[goog.style.unselectableStyle_].toLowerCase()=="none";else if(goog.userAgent.IE||goog.userAgent.OPERA)return a.getAttribute("unselectable")=="on";return false};
goog.style.setUnselectable=function(a,b,c){var c=!c?a.getElementsByTagName("*"):null,d=goog.style.unselectableStyle_;if(d){if(b=b?"none":"",a.style[d]=b,c)for(var a=0,e;e=c[a];a++)e.style[d]=b}else if(goog.userAgent.IE||goog.userAgent.OPERA)if(b=b?"on":"",a.setAttribute("unselectable",b),c)for(a=0;e=c[a];a++)e.setAttribute("unselectable",b)};goog.style.getBorderBoxSize=function(a){return new goog.math.Size(a.offsetWidth,a.offsetHeight)};
goog.style.setBorderBoxSize=function(a,b){var c=goog.dom.getOwnerDocument(a),d=goog.dom.getDomHelper(c).isCss1CompatMode();if(goog.userAgent.IE&&(!d||!goog.userAgent.isVersion("8")))if(c=a.style,d){var d=goog.style.getPaddingBox(a),e=goog.style.getBorderBox(a);c.pixelWidth=b.width-e.left-d.left-d.right-e.right;c.pixelHeight=b.height-e.top-d.top-d.bottom-e.bottom}else c.pixelWidth=b.width,c.pixelHeight=b.height;else goog.style.setBoxSizingSize_(a,b,"border-box")};
goog.style.getContentBoxSize=function(a){var b=goog.dom.getOwnerDocument(a),c=goog.userAgent.IE&&a.currentStyle;return c&&goog.dom.getDomHelper(b).isCss1CompatMode()&&c.width!="auto"&&c.height!="auto"&&!c.boxSizing?(b=goog.style.getIePixelValue_(a,c.width,"width","pixelWidth"),a=goog.style.getIePixelValue_(a,c.height,"height","pixelHeight"),new goog.math.Size(b,a)):(c=goog.style.getBorderBoxSize(a),b=goog.style.getPaddingBox(a),a=goog.style.getBorderBox(a),new goog.math.Size(c.width-a.left-b.left-
b.right-a.right,c.height-a.top-b.top-b.bottom-a.bottom))};
goog.style.setContentBoxSize=function(a,b){var c=goog.dom.getOwnerDocument(a),d=goog.dom.getDomHelper(c).isCss1CompatMode();if(goog.userAgent.IE&&(!d||!goog.userAgent.isVersion("8")))if(c=a.style,d)c.pixelWidth=b.width,c.pixelHeight=b.height;else{var d=goog.style.getPaddingBox(a),e=goog.style.getBorderBox(a);c.pixelWidth=b.width+e.left+d.left+d.right+e.right;c.pixelHeight=b.height+e.top+d.top+d.bottom+e.bottom}else goog.style.setBoxSizingSize_(a,b,"content-box")};
goog.style.setBoxSizingSize_=function(a,b,c){a=a.style;goog.userAgent.GECKO?a.MozBoxSizing=c:goog.userAgent.WEBKIT?a.WebkitBoxSizing=c:a.boxSizing=c;a.width=b.width+"px";a.height=b.height+"px"};goog.style.getIePixelValue_=function(a,b,c,d){if(/^\d+px?$/.test(b))return parseInt(b,10);else{var e=a.style[c],f=a.runtimeStyle[c];a.runtimeStyle[c]=a.currentStyle[c];a.style[c]=b;b=a.style[d];a.style[c]=e;a.runtimeStyle[c]=f;return b}};
goog.style.getIePixelDistance_=function(a,b){return goog.style.getIePixelValue_(a,goog.style.getCascadedStyle(a,b),"left","pixelLeft")};
goog.style.getBox_=function(a,b){if(goog.userAgent.IE){var c=goog.style.getIePixelDistance_(a,b+"Left"),d=goog.style.getIePixelDistance_(a,b+"Right"),e=goog.style.getIePixelDistance_(a,b+"Top"),f=goog.style.getIePixelDistance_(a,b+"Bottom");return new goog.math.Box(e,d,f,c)}else return c=goog.style.getComputedStyle(a,b+"Left"),d=goog.style.getComputedStyle(a,b+"Right"),e=goog.style.getComputedStyle(a,b+"Top"),f=goog.style.getComputedStyle(a,b+"Bottom"),new goog.math.Box(parseFloat(e),parseFloat(d),
parseFloat(f),parseFloat(c))};goog.style.getPaddingBox=function(a){return goog.style.getBox_(a,"padding")};goog.style.getMarginBox=function(a){return goog.style.getBox_(a,"margin")};goog.style.ieBorderWidthKeywords_={thin:2,medium:4,thick:6};
goog.style.getIePixelBorder_=function(a,b){if(goog.style.getCascadedStyle(a,b+"Style")=="none")return 0;var c=goog.style.getCascadedStyle(a,b+"Width");return c in goog.style.ieBorderWidthKeywords_?goog.style.ieBorderWidthKeywords_[c]:goog.style.getIePixelValue_(a,c,"left","pixelLeft")};
goog.style.getBorderBox=function(a){if(goog.userAgent.IE){var b=goog.style.getIePixelBorder_(a,"borderLeft"),c=goog.style.getIePixelBorder_(a,"borderRight"),d=goog.style.getIePixelBorder_(a,"borderTop"),a=goog.style.getIePixelBorder_(a,"borderBottom");return new goog.math.Box(d,c,a,b)}else return b=goog.style.getComputedStyle(a,"borderLeftWidth"),c=goog.style.getComputedStyle(a,"borderRightWidth"),d=goog.style.getComputedStyle(a,"borderTopWidth"),a=goog.style.getComputedStyle(a,"borderBottomWidth"),
new goog.math.Box(parseFloat(d),parseFloat(c),parseFloat(a),parseFloat(b))};goog.style.getFontFamily=function(a){var b=goog.dom.getOwnerDocument(a),c="";if(b.body.createTextRange){b=b.body.createTextRange();b.moveToElementText(a);try{c=b.queryCommandValue("FontName")}catch(d){c=""}}c||(c=goog.style.getStyle_(a,"fontFamily"));a=c.split(",");a.length>1&&(c=a[0]);return goog.string.stripQuotes(c,"\"'")};goog.style.lengthUnitRegex_=/[^\d]+$/;
goog.style.getLengthUnits=function(a){return(a=a.match(goog.style.lengthUnitRegex_))&&a[0]||null};goog.style.ABSOLUTE_CSS_LENGTH_UNITS_={cm:1,"in":1,mm:1,pc:1,pt:1};goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_={em:1,ex:1};
goog.style.getFontSize=function(a){var b=goog.style.getStyle_(a,"fontSize"),c=goog.style.getLengthUnits(b);if(b&&"px"==c)return parseInt(b,10);if(goog.userAgent.IE)if(c in goog.style.ABSOLUTE_CSS_LENGTH_UNITS_)return goog.style.getIePixelValue_(a,b,"left","pixelLeft");else if(a.parentNode&&a.parentNode.nodeType==goog.dom.NodeType.ELEMENT&&c in goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_)return a=a.parentNode,c=goog.style.getStyle_(a,"fontSize"),goog.style.getIePixelValue_(a,b==c?"1em":b,"left","pixelLeft");
c=goog.dom.createDom("span",{style:"visibility:hidden;position:absolute;line-height:0;padding:0;margin:0;border:0;height:1em;"});goog.dom.appendChild(a,c);b=c.offsetHeight;goog.dom.removeNode(c);return b};goog.style.parseStyleAttribute=function(a){var b={};goog.array.forEach(a.split(/\s*;\s*/),function(a){a=a.split(/\s*:\s*/);a.length==2&&(b[goog.string.toCamelCase(a[0].toLowerCase())]=a[1])});return b};
goog.style.toStyleAttribute=function(a){var b=[];goog.object.forEach(a,function(a,d){b.push(goog.string.toSelectorCase(d),":",a,";")});return b.join("")};goog.style.setFloat=function(a,b){a.style[goog.userAgent.IE?"styleFloat":"cssFloat"]=b};goog.style.getFloat=function(a){return a.style[goog.userAgent.IE?"styleFloat":"cssFloat"]||""};
goog.style.getScrollbarWidth=function(a){var b=goog.dom.createElement("div");if(a)b.className=a;b.style.cssText="visiblity:hidden;overflow:auto;position:absolute;top:0;width:100px;height:100px";a=goog.dom.createElement("div");goog.style.setSize(a,"200px","200px");b.appendChild(a);goog.dom.appendChild(goog.dom.getDocument().body,b);a=b.offsetWidth-b.clientWidth;goog.dom.removeNode(b);return a};lime.style={};(function(){var a=goog.userAgent.WEBKIT?"Webkit":goog.userAgent.GECKO?"Moz":goog.userAgent.OPERA?"O":goog.userAgent.IE?"ms":"",b=goog.dom.createDom("div").style;lime.style.transformProperty="-"+a.toLowerCase()+"-transform";lime.style.tryProperty=function(a){return b[a]!==void 0?a:false};lime.style.getCSSproperty=function(b){var d=b.charAt(0).toLowerCase()+b.substr(1),e=a+b;return lime.style.tryProperty(b)?b:lime.style.tryProperty(d)?d:lime.style.tryProperty(e)?e:void 0}})();
lime.style.setBorderRadius=function(){var a=lime.style.getCSSproperty("BorderRadius");return function(b,c,d,e){e=e?"%":"px";d=goog.isDef(d)?d:c;c=(goog.isArray(c)?c.join(e+" "):c)+e+"/"+((goog.isArray(d)?d.join(e+" "):d)+e);if(c!=b.border_radius_cache_)b.style[a]=b.border_radius_cache_=c}}();lime.style.Transform=function(a){this.values=[];this.precision=1;this.opt_precision&&this.setPrecision(a)};lime.style.Transform.prototype.scale=function(a,b){this.values.push("scale("+a+","+b+")");return this};
lime.style.Transform.prototype.rotate=function(a,b){var c;a!=0&&this.values.push("rotate("+a+(b?b:"deg")+")");return this};lime.style.Transform.prototype.translate=function(a,b,c){var d=1/this.precision,e="translate";if(lime.userAgent.IOS||lime.userAgent.PLAYBOOK)e+="3d";e+="("+a*d+"px,"+b*d+"px";if(lime.userAgent.IOS||lime.userAgent.PLAYBOOK)e+=","+(c?c:0)*d+"px";this.values.push(e+")");return this};
lime.style.Transform.prototype.setPrecision=function(a){if(this.precision!=1){var b=1/this.precision;this.scale(b,b);this.precision=1}if(a!=1)this.scale(a,a),this.precision=a;return this};lime.style.Transform.prototype.toString=function(){this.precision!=1&&this.setPrecision(1);return this.values.join(" ")};
lime.style.setTransform=function(){var a=lime.style.getCSSproperty("Transform");return function(b,c){var d=c.toString();if(d!=b.transform_cache_)b.style[a]=b.transform_cache_=d;lime.transformSet_=1}}();lime.style.setTransformOrigin=function(){var a=lime.style.getCSSproperty("TransformOrigin");return function(b,c,d,e){e=e?"%":"px";c=c+e+" "+d+e;if(c!=b.transform_origin_cache_)b.style[a]=b.transform_origin_cache_=c}}();
(function(){var a=lime.style.getCSSproperty("Transition");lime.style.isTransitionsSupported=!!a&&!goog.userAgent.OPERA;var b=function(a,b){if(!a.length)return a;for(var e=a.split("),"),f=0;f<e.length-1;f++)e[f]+=")";e=goog.array.filter(e,function(a){return a.indexOf(b)==-1});return e.join(",")};lime.style.setTransition=function(c,d,e,f){if(a){var g=b(c.style[a],d);g.length&&(g+=", ");g+=d+" "+e+"s cubic-bezier("+f[1]+","+f[2]+","+f[3]+","+f[4]+")";c.style[a]=g}};lime.style.clearTransition=function(c,
d){a&&c&&(c.style[a]=b(c.style[a],d))};lime.style.setSize=function(a,b,e){if(a.width_cache_!=b||a.height_cache_!=e)return a.width_cache_=b,a.height_cache_=e,goog.style.setSize(a,b,e)}})();lime.Renderer.DOM=new lime.Renderer;lime.Renderer.DOM.updateLayout=function(){for(var a=0,b,c=0;b=this.children_[c];c++)b=b instanceof lime.Node?b.rootElement:b,b==this.domElement.childNodes[a]?a++:(goog.dom.contains(this.containerElement,b)&&goog.dom.removeNode(b),lime.Renderer.DOM.appendAt_(this.containerElement,b,a++))};
lime.Renderer.DOM.drawSizePosition=function(){var a=this.getSize(),b=this.getQuality(),c=this.getPosition(),d=this.relativeQuality_||1;this.transitionsActive_[lime.Transition.POSITION]&&(c=this.transitionsActive_[lime.Transition.POSITION]);var e=Math.round(a.width*d),f=Math.round(a.height*d),g=this.getScale().clone();this.transitionsActive_[lime.Transition.SCALE]&&(g=this.transitionsActive_[lime.Transition.SCALE].clone());e!=0?g.scale(a.width/(e*b/d)):g.scale(1/b);lime.style.setSize(this.domElement,
e,f);lime.style.setTransformOrigin(this.domElement,this.anchorPoint_.x*100,this.anchorPoint_.y*100,true);e=this.anchorPoint_.x*a.width*d;f=this.anchorPoint_.y*a.height*d;a=c.x*d/b-e;b=c.y*d/b-f;c=this.stroke_?this.stroke_.width_:0;(e-c!=0||f-c!=0)&&this.domElement==this.containerElement&&this.children_.length&&lime.Renderer.DOM.makeContainer.call(this);this.domElement!=this.containerElement&&!this.transitionsActiveSet_[lime.Transition.POSITION]&&!this.transitionsActiveSet_[lime.Transition.SCALE]&&
!this.transitionsActiveSet_[lime.Transition.ROTATION]&&lime.style.setTransform(this.containerElement,(new lime.style.Transform).translate(e-c,f-c));this.mask_!=this.activeMask_&&(this.activeMask_&&lime.Renderer.DOM.removeMask.call(this),this.mask_&&lime.Renderer.DOM.addMask.call(this));c=(new lime.style.Transform).setPrecision(0.1);this.mask_&&(lime.Renderer.DOM.calculateMaskPosition.call(this.mask_),c.setPrecision(0.1).translate(-this.mask_.mX-e,-this.mask_.mY-f).rotate(this.mask_.mRot,"rad").translate(e,
f).setPrecision(1));e=-this.getRotation();goog.isDef(this.transitionsActive_[lime.Transition.ROTATION])&&(e=-this.transitionsActive_[lime.Transition.ROTATION]);c.translate(a,b).scale(g.x,g.y).rotate(e);!this.transitionsActiveSet_[lime.Transition.POSITION]&&!this.transitionsActiveSet_[lime.Transition.SCALE]&&!this.transitionsActiveSet_[lime.Transition.ROTATION]&&lime.style.setTransform(this.domElement,c)};
lime.Renderer.DOM.update=function(){if(this.domElement){lime.Renderer.DOM.drawSizePosition.call(this);if(!this.transitionsActiveSet_[lime.Transition.OPACITY]){var a=this.opacity_;goog.isDef(this.transitionsActive_[lime.Transition.OPACITY])&&(a=this.transitionsActive_[lime.Transition.OPACITY]);this.getDirty()&lime.Dirty.ALPHA&&goog.style.setOpacity(this.domElement,a)}this.getDirty()&lime.Dirty.VISIBILITY&&(this.domElement.style.display=this.hidden_?"none":"block");this.maskTarget_||this.renderer.draw.call(this,
this.domElement)}};
lime.Renderer.DOM.calculateMaskPosition=function(){if(goog.isDef(this.targetNode)&&this.targetNode.inTree_){var a=this.targetNode,b=this.getFrame(),c=new goog.math.Coordinate(b.left,b.top),d=new goog.math.Coordinate(b.right,b.top),e=new goog.math.Coordinate(b.right,b.bottom),b=a.getParent(),c=this.localToNode(c,b),d=this.localToNode(d,b),e=this.localToNode(e,b),b=Math.atan2(c.y-d.y,d.x-c.x),f=d.x-c.x,g=c.y-d.y,h=e.x-d.x,i=e.y-d.y,d=Math.cos(b),e=Math.sin(b);this.mWidth=Math.round(Math.sqrt(f*f+g*
g));this.mHeight=Math.round(Math.sqrt(h*h+i*i));if(a.renderer.getType()==lime.Renderer.DOM)f=a.rootElement,goog.style.setSize(f,this.mWidth,this.mHeight),lime.style.setTransform(f,(new lime.style.Transform).setPrecision(0.1).translate(c.x,c.y).rotate(-b,"rad"));this.renderer.getType()==lime.Renderer.DOM&&(this.domElement.style.display="none");this.mPos=a.parentToLocal(c.clone());this.mSet=true;this.mX=d*c.x-e*c.y;this.mY=d*c.y+e*c.x;this.mRot=b}};
lime.Renderer.DOM.appendAt_=function(a,b,c){c==void 0||a.childNodes.length<=c?a.appendChild(b):a.insertBefore(b,a.childNodes[c])};lime.Renderer.DOM.makeContainer=function(){this.containerElement=goog.dom.createDom("div");for(var a=document.createDocumentFragment(),b;b=this.domElement.firstChild;)this.domElement.removeChild(b),a.appendChild(b);this.containerElement.appendChild(a);this.domElement.appendChild(this.containerElement)};
lime.Renderer.DOM.removeMask=function(){if(this.domElement!=this.rootElement){if(this.renderer.getType()==lime.Renderer.DOM)goog.dom.removeNode(this.domElement),goog.dom.replaceNode(this.domElement,this.rootElement),this.rootElement=this.domElement;this.activeMask_.isMask=0;this.activeMask_=null}};
lime.Renderer.DOM.addMask=function(){if(this.renderer.getType()==lime.Renderer.DOM)this.rootElement=goog.dom.createDom("div"),this.rootElement.style.cssText="position:absolute;overflow:hidden;",lime.style.setTransformOrigin(this.rootElement,0,0),goog.dom.replaceNode(this.rootElement,this.domElement),this.rootElement.appendChild(this.domElement);this.mask_.isMask=1;this.mask_.targetNode=this;this.activeMask_=this.mask_;this.mask_.setDirty(lime.Dirty.POSITION)};goog.string.StringBuffer=function(a,b){this.buffer_=goog.userAgent.jscript.HAS_JSCRIPT?[]:"";a!=null&&this.append.apply(this,arguments)};goog.string.StringBuffer.prototype.set=function(a){this.clear();this.append(a)};
goog.userAgent.jscript.HAS_JSCRIPT?(goog.string.StringBuffer.prototype.bufferLength_=0,goog.string.StringBuffer.prototype.append=function(a,b,c){b==null?this.buffer_[this.bufferLength_++]=a:(this.buffer_.push.apply(this.buffer_,arguments),this.bufferLength_=this.buffer_.length);return this}):goog.string.StringBuffer.prototype.append=function(a,b,c){this.buffer_+=a;if(b!=null)for(var d=1;d<arguments.length;d++)this.buffer_+=arguments[d];return this};
goog.string.StringBuffer.prototype.clear=function(){goog.userAgent.jscript.HAS_JSCRIPT?this.bufferLength_=this.buffer_.length=0:this.buffer_=""};goog.string.StringBuffer.prototype.getLength=function(){return this.toString().length};goog.string.StringBuffer.prototype.toString=function(){if(goog.userAgent.jscript.HAS_JSCRIPT){var a=this.buffer_.join("");this.clear();a&&this.append(a);return a}else return this.buffer_};goog.structs.InversionMap=function(a,b,c){if(a.length!=b.length)return null;this.storeInversion_(a,c);this.values=b};goog.structs.InversionMap.prototype.storeInversion_=function(a,b){this.rangeArray=a;for(var c=1;c<a.length;c++)a[c]==null?a[c]=a[c-1]+1:b&&(a[c]+=a[c-1])};
goog.structs.InversionMap.prototype.spliceInversion=function(a,b,c){var a=new goog.structs.InversionMap(a,b,c),c=a.rangeArray[0],d=goog.array.peek(a.rangeArray),b=this.getLeast(c),d=this.getLeast(d);c!=this.rangeArray[b]&&b++;c=d-b+1;goog.partial(goog.array.splice,this.rangeArray,b,c).apply(null,a.rangeArray);goog.partial(goog.array.splice,this.values,b,c).apply(null,a.values)};goog.structs.InversionMap.prototype.at=function(a){a=this.getLeast(a);return a<0?null:this.values[a]};
goog.structs.InversionMap.prototype.getLeast=function(a){for(var b=this.rangeArray,c=0,d=b.length;d-c>8;){var e=d+c>>1;b[e]<=a?c=e:d=e}for(;c<d;++c)if(a<b[c])break;return c-1};goog.i18n={};goog.i18n.GraphemeBreak={};goog.i18n.GraphemeBreak.property={ANY:0,CONTROL:1,EXTEND:2,PREPEND:3,SPACING_MARK:4,L:5,V:6,T:7,LV:8,LVT:9,CR:10,LF:11};goog.i18n.GraphemeBreak.inversions_=null;
goog.i18n.GraphemeBreak.applyLegacyBreakRules_=function(a,b){var c=goog.i18n.GraphemeBreak.property;return a==c.CR&&b==c.LF?false:a==c.CONTROL||a==c.CR||a==c.LF?true:b==c.CONTROL||b==c.CR||b==c.LF?true:a==c.L&&(b==c.L||b==c.V||b==c.LV||b==c.LVT)?false:(a==c.LV||a==c.V)&&(b==c.V||b==c.T)?false:(a==c.LVT||a==c.T)&&b==c.T?false:b==c.EXTEND?false:true};
goog.i18n.GraphemeBreak.getBreakProp_=function(a){if(44032<=a&&a<=55203){var b=goog.i18n.GraphemeBreak.property;return a%28==16?b.LV:b.LVT}else{if(!goog.i18n.GraphemeBreak.inversions_)goog.i18n.GraphemeBreak.inversions_=new goog.structs.InversionMap([0,10,1,2,1,18,95,33,13,1,594,112,275,7,263,45,1,1,1,2,1,2,1,1,56,4,12,11,48,20,17,1,101,7,1,7,2,2,1,4,33,1,1,1,30,27,91,11,58,9,269,2,1,56,1,1,3,8,4,1,3,4,13,2,29,1,2,56,1,1,1,2,6,6,1,9,1,10,2,29,2,1,56,2,3,17,30,2,3,14,1,56,1,1,3,8,4,1,20,2,29,1,2,56,
1,1,2,1,6,6,11,10,2,30,1,59,1,1,1,12,1,9,1,41,3,58,3,5,17,11,2,30,2,56,1,1,1,1,2,1,3,1,5,11,11,2,30,2,58,1,2,5,7,11,10,2,30,2,70,6,2,6,7,19,2,60,11,5,5,1,1,8,97,13,3,5,3,6,74,2,27,1,1,1,1,1,4,2,49,14,1,5,1,2,8,45,9,1,100,2,4,1,6,1,2,2,2,23,2,2,4,3,1,3,2,7,3,4,13,1,2,2,6,1,1,1,112,96,72,82,357,1,946,3,29,3,29,2,30,2,64,2,1,7,8,1,2,11,9,1,45,3,155,1,118,3,4,2,9,1,6,3,116,17,7,2,77,2,3,228,4,1,47,1,1,5,1,1,5,1,2,38,9,12,2,1,30,1,4,2,2,1,121,8,8,2,2,392,64,523,1,2,2,24,7,49,16,96,33,3311,32,554,6,105,
2,30164,4,9,2,388,1,3,1,4,1,23,2,2,1,88,2,50,16,1,97,8,25,11,2,213,6,2,2,2,2,12,1,8,1,1,434,11172,1116,1024,6942,1,737,16,16,7,216,1,158,2,89,3,513,1,2051,15,40,8,50981,1,1,3,3,1,5,8,8,2,7,30,4,148,3,798140,255],[1,11,1,10,1,0,1,0,1,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,0,2,0,2,0,2,0,2,1,2,0,2,0,2,0,1,0,2,0,2,0,2,0,2,0,2,4,0,2,0,4,2,4,2,0,2,0,2,0,2,4,0,2,0,2,4,2,4,2,0,2,0,2,0,2,4,0,2,4,2,0,2,0,2,4,0,2,0,4,2,4,2,0,2,0,2,4,0,2,0,2,4,2,4,2,0,2,0,2,0,2,4,2,4,2,0,2,0,4,0,2,4,2,0,2,0,4,0,2,0,4,2,4,2,4,2,4,2,
0,2,0,4,0,2,4,2,4,2,0,2,0,4,0,2,4,2,4,2,4,0,2,0,3,2,0,2,0,2,0,3,0,2,0,2,0,2,0,2,0,2,0,4,0,2,4,2,0,2,0,2,0,2,0,4,2,4,2,4,2,4,2,0,4,2,0,2,0,4,0,4,0,2,0,2,4,2,4,2,0,4,0,5,6,7,0,2,0,2,0,2,0,2,0,2,0,1,4,2,4,2,4,2,0,2,0,2,0,2,0,2,4,2,4,2,4,2,0,4,0,4,0,2,4,0,2,4,0,2,4,2,4,2,4,2,4,0,2,0,2,4,0,4,2,4,2,4,0,4,2,4,2,0,2,0,1,2,1,0,1,0,1,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,4,2,4,0,4,0,4,2,0,2,0,2,4,0,2,4,2,4,2,0,2,0,2,4,0,9,0,2,0,2,0,2,0,2,0,1,0,2,0,1,0,2,0,2,0,2,0,2,4,2,0,4,2,1,2,0,2,0,2,0,2,0,1,2],true);return goog.i18n.GraphemeBreak.inversions_.at(a)}};
goog.i18n.GraphemeBreak.hasGraphemeBreak=function(a,b,c){var a=goog.i18n.GraphemeBreak.getBreakProp_(a),b=goog.i18n.GraphemeBreak.getBreakProp_(b),d=goog.i18n.GraphemeBreak.property;return goog.i18n.GraphemeBreak.applyLegacyBreakRules_(a,b)&&!(c&&(a==d.PREPEND||b==d.SPACING_MARK))};goog.format={};goog.format.fileSize=function(a,b){return goog.format.numBytesToString(a,b,false)};goog.format.isConvertableScaledNumber=function(a){return goog.format.SCALED_NUMERIC_RE_.test(a)};goog.format.stringToNumericValue=function(a){return goog.string.endsWith(a,"B")?goog.format.stringToNumericValue_(a,goog.format.NUMERIC_SCALES_BINARY_):goog.format.stringToNumericValue_(a,goog.format.NUMERIC_SCALES_SI_)};goog.format.stringToNumBytes=function(a){return goog.format.stringToNumericValue_(a,goog.format.NUMERIC_SCALES_BINARY_)};
goog.format.numericValueToString=function(a,b){return goog.format.numericValueToString_(a,goog.format.NUMERIC_SCALES_SI_,b)};goog.format.numBytesToString=function(a,b,c){var d="";if(!goog.isDef(c)||c)d="B";return goog.format.numericValueToString_(a,goog.format.NUMERIC_SCALES_BINARY_,b,d)};goog.format.stringToNumericValue_=function(a,b){var c=a.match(goog.format.SCALED_NUMERIC_RE_);return!c?NaN:c[1]*b[c[2]]};
goog.format.numericValueToString_=function(a,b,c,d){var e=goog.format.NUMERIC_SCALE_PREFIXES_,f=a,g="",h=1;a<0&&(a=-a);for(var i=0;i<e.length;i++){var j=e[i],h=b[j];if(a>=h||h<=1&&a>0.1*h){g=j;break}}g?d&&(g+=d):h=1;a=Math.pow(10,goog.isDef(c)?c:2);return Math.round(f/h*a)/a+g};goog.format.SCALED_NUMERIC_RE_=/^([-]?\d+\.?\d*)([K,M,G,T,P,k,m,u,n]?)[B]?$/;goog.format.NUMERIC_SCALE_PREFIXES_="P,T,G,M,K,,m,u,n".split(",");
goog.format.NUMERIC_SCALES_SI_={"":1,n:1.0E-9,u:1.0E-6,m:0.0010,k:1E3,K:1E3,M:1E6,G:1E9,T:1E12,P:1E15};goog.format.NUMERIC_SCALES_BINARY_={"":1,n:Math.pow(1024,-3),u:Math.pow(1024,-2),m:1/1024,k:1024,K:1024,M:Math.pow(1024,2),G:Math.pow(1024,3),T:Math.pow(1024,4),P:Math.pow(1024,5)};goog.format.FIRST_GRAPHEME_EXTEND_=768;
goog.format.insertWordBreaksGeneric_=function(a,b,c){c=c||10;if(c>a.length)return a;for(var d=[],e=0,f=0,g=0,h=0,i=0;i<a.length;i++){var j=h,h=a.charCodeAt(i),j=h>=goog.format.FIRST_GRAPHEME_EXTEND_&&!b(j,h,true);e>=c&&h>goog.format.WbrToken_.SPACE&&!j&&(d.push(a.substring(g,i),goog.format.WORD_BREAK_HTML),g=i,e=0);f?h==goog.format.WbrToken_.GT&&f==goog.format.WbrToken_.LT?f=0:h==goog.format.WbrToken_.SEMI_COLON&&f==goog.format.WbrToken_.AMP&&(f=0,e++):h==goog.format.WbrToken_.LT||h==goog.format.WbrToken_.AMP?
f=h:h<=goog.format.WbrToken_.SPACE?e=0:e++}d.push(a.substr(g));return d.join("")};goog.format.insertWordBreaks=function(a,b){return goog.format.insertWordBreaksGeneric_(a,goog.i18n.GraphemeBreak.hasGraphemeBreak,b)};goog.format.conservativelyHasGraphemeBreak_=function(a,b){return b>=1024&&b<1315};goog.format.insertWordBreaksBasic=function(a,b){return goog.format.insertWordBreaksGeneric_(a,goog.format.conservativelyHasGraphemeBreak_,b)};goog.format.IS_IE8_OR_ABOVE_=goog.userAgent.IE&&goog.userAgent.isVersion(8);
goog.format.WORD_BREAK_HTML=goog.userAgent.WEBKIT?"<wbr></wbr>":goog.userAgent.OPERA?"­":goog.format.IS_IE8_OR_ABOVE_?"​":"<wbr>";goog.format.WbrToken_={LT:60,GT:62,AMP:38,SEMI_COLON:59,SPACE:32};goog.i18n.bidi={};goog.i18n.bidi.FORCE_RTL=false;goog.i18n.bidi.IS_RTL=goog.i18n.bidi.FORCE_RTL||(goog.LOCALE.substring(0,2)=="ar"||goog.LOCALE.substring(0,2)=="fa"||goog.LOCALE.substring(0,2)=="he"||goog.LOCALE.substring(0,2)=="iw"||goog.LOCALE.substring(0,2)=="ur"||goog.LOCALE.substring(0,2)=="yi")&&(goog.LOCALE.length==2||goog.LOCALE.substring(2,3)=="-"||goog.LOCALE.substring(2,3)=="_");goog.i18n.bidi.Format={LRE:"\u202a",RLE:"\u202b",PDF:"\u202c",LRM:"\u200e",RLM:"\u200f"};
goog.i18n.bidi.Dir={RTL:-1,UNKNOWN:0,LTR:1};goog.i18n.bidi.RIGHT="right";goog.i18n.bidi.LEFT="left";goog.i18n.bidi.I18N_RIGHT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.LEFT:goog.i18n.bidi.RIGHT;goog.i18n.bidi.I18N_LEFT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT;goog.i18n.bidi.toDir=function(a){return typeof a=="number"?a>0?goog.i18n.bidi.Dir.LTR:a<0?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.UNKNOWN:a?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR};goog.i18n.bidi.ltrChars_="A-Za-z\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02b8\u0300-\u0590\u0800-\u1fff\u2c00-\ufb1c\ufe00-\ufe6f\ufefd-\uffff";
goog.i18n.bidi.rtlChars_="\u0591-\u07ff\ufb1d-\ufdff\ufe70-\ufefc";goog.i18n.bidi.htmlSkipReg_=/<[^>]*>|&[^;]+;/g;goog.i18n.bidi.stripHtmlIfNeeded_=function(a,b){return b?a.replace(goog.i18n.bidi.htmlSkipReg_," "):a};goog.i18n.bidi.rtlCharReg_=RegExp("["+goog.i18n.bidi.rtlChars_+"]");goog.i18n.bidi.ltrCharReg_=RegExp("["+goog.i18n.bidi.ltrChars_+"]");goog.i18n.bidi.hasAnyRtl=function(a,b){return goog.i18n.bidi.rtlCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.hasRtlChar=goog.i18n.bidi.hasAnyRtl;
goog.i18n.bidi.hasAnyLtr=function(a,b){return goog.i18n.bidi.ltrCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.ltrRe_=RegExp("^["+goog.i18n.bidi.ltrChars_+"]");goog.i18n.bidi.rtlRe_=RegExp("^["+goog.i18n.bidi.rtlChars_+"]");goog.i18n.bidi.isRtlChar=function(a){return goog.i18n.bidi.rtlRe_.test(a)};goog.i18n.bidi.isLtrChar=function(a){return goog.i18n.bidi.ltrRe_.test(a)};goog.i18n.bidi.isNeutralChar=function(a){return!goog.i18n.bidi.isLtrChar(a)&&!goog.i18n.bidi.isRtlChar(a)};
goog.i18n.bidi.ltrDirCheckRe_=RegExp("^[^"+goog.i18n.bidi.rtlChars_+"]*["+goog.i18n.bidi.ltrChars_+"]");goog.i18n.bidi.rtlDirCheckRe_=RegExp("^[^"+goog.i18n.bidi.ltrChars_+"]*["+goog.i18n.bidi.rtlChars_+"]");goog.i18n.bidi.startsWithRtl=function(a,b){return goog.i18n.bidi.rtlDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.isRtlText=goog.i18n.bidi.startsWithRtl;
goog.i18n.bidi.startsWithLtr=function(a,b){return goog.i18n.bidi.ltrDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.isLtrText=goog.i18n.bidi.startsWithLtr;goog.i18n.bidi.isRequiredLtrRe_=/^http:\/\/.*/;goog.i18n.bidi.isNeutralText=function(a,b){a=goog.i18n.bidi.stripHtmlIfNeeded_(a,b);return goog.i18n.bidi.isRequiredLtrRe_.test(a)||!goog.i18n.bidi.hasAnyLtr(a)&&!goog.i18n.bidi.hasAnyRtl(a)};
goog.i18n.bidi.ltrExitDirCheckRe_=RegExp("["+goog.i18n.bidi.ltrChars_+"][^"+goog.i18n.bidi.rtlChars_+"]*$");goog.i18n.bidi.rtlExitDirCheckRe_=RegExp("["+goog.i18n.bidi.rtlChars_+"][^"+goog.i18n.bidi.ltrChars_+"]*$");goog.i18n.bidi.endsWithLtr=function(a,b){return goog.i18n.bidi.ltrExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.isLtrExitText=goog.i18n.bidi.endsWithLtr;
goog.i18n.bidi.endsWithRtl=function(a,b){return goog.i18n.bidi.rtlExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.isRtlExitText=goog.i18n.bidi.endsWithRtl;goog.i18n.bidi.rtlLocalesRe_=RegExp("^(ar|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Arab|Hebr|Thaa|Nkoo|Tfng))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)");goog.i18n.bidi.isRtlLanguage=function(a){return goog.i18n.bidi.rtlLocalesRe_.test(a)};goog.i18n.bidi.bracketGuardHtmlRe_=/(\(.*?\)+)|(\[.*?\]+)|(\{.*?\}+)|(<.*?(>)+)/g;
goog.i18n.bidi.bracketGuardTextRe_=/(\(.*?\)+)|(\[.*?\]+)|(\{.*?\}+)|(<.*?>+)/g;goog.i18n.bidi.guardBracketInHtml=function(a,b){return(b===void 0?goog.i18n.bidi.hasAnyRtl(a):b)?a.replace(goog.i18n.bidi.bracketGuardHtmlRe_,"<span dir=rtl>$&</span>"):a.replace(goog.i18n.bidi.bracketGuardHtmlRe_,"<span dir=ltr>$&</span>")};
goog.i18n.bidi.guardBracketInText=function(a,b){var c=(b===void 0?goog.i18n.bidi.hasAnyRtl(a):b)?goog.i18n.bidi.Format.RLM:goog.i18n.bidi.Format.LRM;return a.replace(goog.i18n.bidi.bracketGuardTextRe_,c+"$&"+c)};goog.i18n.bidi.enforceRtlInHtml=function(a){return a.charAt(0)=="<"?a.replace(/<\w+/,"$& dir=rtl"):"\n<span dir=rtl>"+a+"</span>"};goog.i18n.bidi.enforceRtlInText=function(a){return goog.i18n.bidi.Format.RLE+a+goog.i18n.bidi.Format.PDF};
goog.i18n.bidi.enforceLtrInHtml=function(a){return a.charAt(0)=="<"?a.replace(/<\w+/,"$& dir=ltr"):"\n<span dir=ltr>"+a+"</span>"};goog.i18n.bidi.enforceLtrInText=function(a){return goog.i18n.bidi.Format.LRE+a+goog.i18n.bidi.Format.PDF};goog.i18n.bidi.dimensionsRe_=/:\s*([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)/g;goog.i18n.bidi.leftRe_=/left/gi;goog.i18n.bidi.rightRe_=/right/gi;goog.i18n.bidi.tempRe_=/%%%%/g;
goog.i18n.bidi.mirrorCSS=function(a){return a.replace(goog.i18n.bidi.dimensionsRe_,":$1 $4 $3 $2").replace(goog.i18n.bidi.leftRe_,"%%%%").replace(goog.i18n.bidi.rightRe_,goog.i18n.bidi.LEFT).replace(goog.i18n.bidi.tempRe_,goog.i18n.bidi.RIGHT)};goog.i18n.bidi.doubleQuoteSubstituteRe_=/([\u0591-\u05f2])"/g;goog.i18n.bidi.singleQuoteSubstituteRe_=/([\u0591-\u05f2])'/g;
goog.i18n.bidi.normalizeHebrewQuote=function(a){return a.replace(goog.i18n.bidi.doubleQuoteSubstituteRe_,"$1\u05f4").replace(goog.i18n.bidi.singleQuoteSubstituteRe_,"$1\u05f3")};goog.i18n.bidi.wordSeparatorRe_=/\s+/;goog.i18n.bidi.hasNumeralsRe_=/\d/;goog.i18n.bidi.rtlDetectionThreshold_=0.4;
goog.i18n.bidi.estimateDirection=function(a,b){for(var c=0,d=0,e=false,f=goog.i18n.bidi.stripHtmlIfNeeded_(a,b).split(goog.i18n.bidi.wordSeparatorRe_),g=0;g<f.length;g++){var h=f[g];goog.i18n.bidi.startsWithRtl(h)?(c++,d++):goog.i18n.bidi.isRequiredLtrRe_.test(h)?e=true:goog.i18n.bidi.hasAnyLtr(h)?d++:goog.i18n.bidi.hasNumeralsRe_.test(h)&&(e=true)}return d==0?e?goog.i18n.bidi.Dir.LTR:goog.i18n.bidi.Dir.UNKNOWN:c/d>goog.i18n.bidi.rtlDetectionThreshold_?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR};
goog.i18n.bidi.detectRtlDirectionality=function(a,b){return goog.i18n.bidi.estimateDirection(a,b)==goog.i18n.bidi.Dir.RTL};goog.i18n.bidi.setElementDirAndAlign=function(a,b){if(a&&(b=goog.i18n.bidi.toDir(b))!=goog.i18n.bidi.Dir.UNKNOWN)a.style.textAlign=b==goog.i18n.bidi.Dir.RTL?"right":"left",a.dir=b==goog.i18n.bidi.Dir.RTL?"rtl":"ltr"};goog.i18n.BidiFormatter=function(a,b){this.contextDir_=goog.i18n.bidi.toDir(a);this.alwaysSpan_=!!b};goog.i18n.BidiFormatter.prototype.getContextDir=function(){return this.contextDir_};goog.i18n.BidiFormatter.prototype.getAlwaysSpan=function(){return this.alwaysSpan_};goog.i18n.BidiFormatter.prototype.setContextDir=function(a){this.contextDir_=goog.i18n.bidi.toDir(a)};goog.i18n.BidiFormatter.prototype.setAlwaysSpan=function(a){this.alwaysSpan_=a};
goog.i18n.BidiFormatter.prototype.estimateDirection=goog.i18n.bidi.estimateDirection;goog.i18n.BidiFormatter.prototype.areDirectionalitiesOpposite_=function(a,b){return a*b<0};
goog.i18n.BidiFormatter.prototype.dirResetIfNeeded_=function(a,b,c,d){return d&&(this.areDirectionalitiesOpposite_(b,this.contextDir_)||this.contextDir_==goog.i18n.bidi.Dir.LTR&&goog.i18n.bidi.endsWithRtl(a,c)||this.contextDir_==goog.i18n.bidi.Dir.RTL&&goog.i18n.bidi.endsWithLtr(a,c))?this.contextDir_==goog.i18n.bidi.Dir.LTR?goog.i18n.bidi.Format.LRM:goog.i18n.bidi.Format.RLM:""};goog.i18n.BidiFormatter.prototype.dirAttrValue=function(a,b){return this.knownDirAttrValue(this.estimateDirection(a,b))};
goog.i18n.BidiFormatter.prototype.knownDirAttrValue=function(a){if(a==goog.i18n.bidi.Dir.UNKNOWN)a=this.contextDir_;return a==goog.i18n.bidi.Dir.RTL?"rtl":"ltr"};goog.i18n.BidiFormatter.prototype.dirAttr=function(a,b){return this.knownDirAttr(this.estimateDirection(a,b))};goog.i18n.BidiFormatter.prototype.knownDirAttr=function(a){return a!=this.contextDir_?a==goog.i18n.bidi.Dir.RTL?"dir=rtl":a==goog.i18n.bidi.Dir.LTR?"dir=ltr":"":""};
goog.i18n.BidiFormatter.prototype.spanWrap=function(a,b,c){return this.spanWrapWithKnownDir(this.estimateDirection(a,b),a,b,c)};goog.i18n.BidiFormatter.prototype.spanWrapWithKnownDir=function(a,b,c,d){var d=d||d==void 0,e=a!=goog.i18n.bidi.Dir.UNKNOWN&&a!=this.contextDir_;c||(b=goog.string.htmlEscape(b));c=[];this.alwaysSpan_||e?(c.push("<span"),e&&c.push(a==goog.i18n.bidi.Dir.RTL?" dir=rtl":" dir=ltr"),c.push(">"+b+"</span>")):c.push(b);c.push(this.dirResetIfNeeded_(b,a,true,d));return c.join("")};
goog.i18n.BidiFormatter.prototype.unicodeWrap=function(a,b,c){return this.unicodeWrapWithKnownDir(this.estimateDirection(a,b),a,b,c)};goog.i18n.BidiFormatter.prototype.unicodeWrapWithKnownDir=function(a,b,c,d){var d=d||d==void 0,e=[];a!=goog.i18n.bidi.Dir.UNKNOWN&&a!=this.contextDir_?(e.push(a==goog.i18n.bidi.Dir.RTL?goog.i18n.bidi.Format.RLE:goog.i18n.bidi.Format.LRE),e.push(b),e.push(goog.i18n.bidi.Format.PDF)):e.push(b);e.push(this.dirResetIfNeeded_(b,a,c,d));return e.join("")};
goog.i18n.BidiFormatter.prototype.markAfter=function(a,b){return this.dirResetIfNeeded_(a,this.estimateDirection(a,b),b,true)};goog.i18n.BidiFormatter.prototype.mark=function(){switch(this.contextDir_){case goog.i18n.bidi.Dir.LTR:return goog.i18n.bidi.Format.LRM;case goog.i18n.bidi.Dir.RTL:return goog.i18n.bidi.Format.RLM;default:return""}};goog.i18n.BidiFormatter.prototype.startEdge=function(){return this.contextDir_==goog.i18n.bidi.Dir.RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT};
goog.i18n.BidiFormatter.prototype.endEdge=function(){return this.contextDir_==goog.i18n.bidi.Dir.RTL?goog.i18n.bidi.LEFT:goog.i18n.bidi.RIGHT};var soy={};soy.StringBuilder=goog.string.StringBuffer;soy.renderElement=function(a,b,c){a.innerHTML=b(c)};soy.renderAsFragment=function(a,b){return goog.dom.htmlToDocumentFragment(a(b))};soy.$$augmentData=function(a,b){function c(){}c.prototype=a;var d=new c,e;for(e in b)d[e]=b[e];return d};soy.$$escapeHtml=function(a){return goog.string.htmlEscape(String(a))};soy.$$escapeJs=function(a){for(var a=String(a),b=[],c=0;c<a.length;c++)b[c]=goog.string.escapeChar(a.charAt(c));return b.join("")};
soy.$$escapeUri=function(a){return goog.string.urlEncode(String(a))};soy.$$insertWordBreaks=function(a,b){return goog.format.insertWordBreaks(String(a),b)};soy.$$changeNewlineToBr=function(a){return goog.string.newLineToBr(String(a),false)};soy.$$bidiFormatterCache_={};soy.$$bidiFormatterInstance_=function(a){return soy.$$bidiFormatterCache_[a]||(soy.$$bidiFormatterCache_[a]=new goog.i18n.BidiFormatter(a))};
soy.$$bidiTextDir=function(a,b){return!a?0:goog.i18n.bidi.detectRtlDirectionality(a,b)?-1:1};soy.$$bidiDirAttr=function(a,b,c){return soy.$$bidiFormatterInstance_(a).dirAttr(b,c)};soy.$$bidiMarkAfter=function(a,b,c){return soy.$$bidiFormatterInstance_(a).markAfter(b,c)};soy.$$bidiSpanWrap=function(a,b){return soy.$$bidiFormatterInstance_(a).spanWrap(b+"",true)};soy.$$bidiUnicodeWrap=function(a,b){return soy.$$bidiFormatterInstance_(a).unicodeWrap(b+"",true)};lime.css={};
lime.css.css=function(a,b){var c=b||new soy.StringBuilder;c.append(".","lime-director"," {position:absolute; -webkit-transform-origin: 0 0; -moz-transform-origin: 0 0; -o-transform-origin: 0 0; image-rendering: optimizeSpeed; overflow: hidden;}.","lime-director"," div, .","lime-director"," img, .","lime-director"," canvas {-webkit-transform-origin: 0 0; -moz-transform-origin: 0 0; -o-transform-origin: 0 0; position: absolute; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; -moz-user-select: none; -webkit-user-select: none; -webkit-user-drag: none;}.","lime-scene",
" {position:absolute; width:100%; height:100%; left: 0px; top: 0px; overflow: hidden; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}.","lime-fps"," {float: left; background: #333; color: #fff; position: absolute; top:0px; left: 0px; padding:2px 4px;}div.","lime-layer"," {position: absolute; left: 0px; top: 0px; width:0px; height:0px; border: none !important;}.","lime-cover"," {position: absolute; left: 0px; top: 0px;}.","lime-button"," {cursor: pointer;}");if(!b)return c.toString()};(function(){var a=[[],[]],b=[[],[]];lime.setObjectDirty=function(c,d,e){goog.array.insert((e?b:a)[d||0],c)};lime.clearObjectDirty=function(){};lime.updateDirtyObjects=function(){for(var c,d=0;d<2;d++){for(;a[d].length;)c=a[d][0],c.update(d),c.dirty_=0,c==a[d][0]&&a[d].shift();a[d]=[]}b=[[],[]]}})();lime.Dirty={POSITION:1,SCALE:2,CONTENT:4,FONT:8,ALPHA:16,VISIBILITY:32,LAYOUT:64,ROTATION:128,ALL:7};lime.AutoResize={NONE:0,LEFT:1,WIDTH:2,RIGHT:4,TOP:8,HEIGHT:16,BOTTOM:32,ALL:63};
lime.Transition={POSITION:1,SCALE:2,SIZE:3,ROTATION:4,OPACITY:5};goog.style.installStyles(lime.css.css(null,null));lime.Node=function(){goog.events.EventTarget.call(this);this.children_=[];this.parent_=null;this.transitionsAdd_={};this.transitionsActive_={};this.transitionsActiveSet_={};this.transitionsClear_={};this.inTree_=false;this.scene_=this.director_=null;this.eventHandlers_={};this.setScale(1);this.setPosition(0,0);this.setSize(0,0);this.quality_=1;this.setAnchorPoint(0.5,0.5);this.setRotation(0);this.setAutoResize(lime.AutoResize.NONE);this.opacity_=1;this.setMask(null);this.setRenderer(this.supportedRenderers[0].getType());
this.setDirty(lime.Dirty.LAYOUT)};goog.inherits(lime.Node,goog.events.EventTarget);lime.Node.prototype.supportedRenderers=[lime.Renderer.DOM,lime.Renderer.CANVAS];lime.Node.prototype.setRenderer=function(a){if(!this.renderer||this.renderer.getType()!=a){for(var b=-1,c=0;c<this.supportedRenderers.length;c++)if(this.supportedRenderers[c].getType()==a){b=c;break}if(b==-1)return this;this.renderer=this.supportedRenderers[c];this.setDirty(lime.Dirty.LAYOUT);for(c=0;b=this.children_[c];c++)b.setRenderer(a)}return this};
lime.Node.prototype.needsDomElement=function(){return!(this.parent_&&this.parent_.renderer.getType()==lime.Renderer.CANVAS)};lime.Node.prototype.getDeepestDomElement=function(){return this.getDeepestParentWithDom().domElement};lime.Node.prototype.getDeepestParentWithDom=function(){if(this.needsDomElement())return this.updateDomElement(),this;else if(this.parent_)return this.parent_.getDeepestParentWithDom();return null};
lime.Node.prototype.getParentStack_=function(){if(!this.parent_||this instanceof lime.Scene)return[];var a=this.parent_.children_.indexOf(this),b=this.parent_.getParentStack_();b.push(a);return b};lime.Node.compareNode=function(a,b){if(a==b)return 0;for(var c=a.getParentStack_(),d=b.getParentStack_(),e=0;;){if(c.length<=e)return 1;if(d.length<=e)return-1;if(c[e]==d[e])e++;else return c[e]>d[e]?-1:1}};lime.Node.prototype.customEvent_=false;lime.Node.prototype.getDirty=function(){return this.dirty_};
lime.Node.prototype.setDirty=function(a,b,c){a&&!this.dirty_&&lime.setObjectDirty(this,b,c);this.dirty_|=a;if(a==lime.Dirty.LAYOUT)for(var d=0,e;e=this.children_[d];d++)e instanceof lime.Node&&e.setDirty(lime.Dirty.LAYOUT);if(!goog.isDef(this.dirty_)||!a)this.dirty_=0,lime.clearObjectDirty(this,b,c);if(a&&this.maskTarget_)this.mSet=false,this.maskTarget_.setDirty(-1);return this};lime.Node.prototype.getScale=function(){return this.scale_};
lime.Node.prototype.setScale=function(a,b){this.scale_=arguments.length==1&&goog.isNumber(a)?new goog.math.Vec2(a,a):arguments.length==2?new goog.math.Vec2(arguments[0],arguments[1]):a;return this.transitionsActive_[lime.Transition.SCALE]?this:this.setDirty(lime.Dirty.SCALE)};lime.Node.prototype.getPosition=function(){return this.position_};
lime.Node.prototype.setPosition=function(a,b){this.position_=arguments.length==2?new goog.math.Coordinate(arguments[0],arguments[1]):a;return this.transitionsActive_[lime.Transition.POSITION]?this:this.setDirty(lime.Dirty.POSITION)};lime.Node.prototype.getMask=function(){return this.mask_};
lime.Node.prototype.setMask=function(a){if(a==this.mask_)return this;this.mask_&&(this.mask_.releaseDependencies(),delete this.mask_.maskTarget_);if(this.mask_=a)this.mask_.setupDependencies(),this.mask_.maskTarget_=this;return this.setDirty(lime.Dirty.CONTENT)};lime.Node.prototype.getAnchorPoint=function(){return this.anchorPoint_};lime.Node.prototype.setAnchorPoint=function(a,b){this.anchorPoint_=arguments.length==2?new goog.math.Vec2(arguments[0],arguments[1]):a;return this.setDirty(lime.Dirty.POSITION)};
lime.Node.prototype.getRotation=function(){return this.rotation_%=360};lime.Node.prototype.setRotation=function(a){this.rotation_=a;return this.transitionsActive_[lime.Transition.ROTATION]?this:this.setDirty(lime.Dirty.POSITION)};lime.Node.prototype.getHidden=function(){return this.hidden_};lime.Node.prototype.setHidden=function(a){this.hidden_=a;this.setDirty(lime.Dirty.VISIBILITY);this.autoHide_=0;return this};lime.Node.prototype.getSize=function(){return this.size_};
lime.Node.prototype.setSize=function(a,b){var c=this.size_,d,e;d=arguments.length==2?new goog.math.Size(arguments[0],arguments[1]):a;var f=this.getAnchorPoint();if(c&&this.children_.length)for(var g=0;g<this.children_.length;g++){var h=this.children_[g];if(h.getAutoResize){var i=h.getAutoResize();if(i!=lime.AutoResize.NONE){var j=h.getBoundingBox();e=c.width;var m=j.left+f.x*c.width,k=j.right-j.left,l=e-j.right-f.x*c.width;i&lime.AutoResize.LEFT&&(e-=m);i&lime.AutoResize.WIDTH&&(e-=k);i&lime.AutoResize.RIGHT&&
(e-=l);e!=c.width&&(e=(d.width-e)/(c.width-e),i&lime.AutoResize.LEFT&&(m*=e),i&lime.AutoResize.WIDTH&&(k*=e));e=c.height;var l=j.top+f.y*c.height,n=j.bottom-j.top,j=e-j.bottom-f.y*c.height;i&lime.AutoResize.TOP&&(e-=l);i&lime.AutoResize.HEIGHT&&(e-=n);i&lime.AutoResize.BOTTOM&&(e-=j);e!=c.height&&(e=(d.height-e)/(c.height-e),i&lime.AutoResize.TOP&&(l*=e),i&lime.AutoResize.HEIGHT&&(n*=e));i=h.getAnchorPoint();h.setSize(k,n);h.setPosition(m+i.x*k-f.x*d.width,l+i.y*n-f.y*d.height)}}}this.size_=d;return this.setDirty(lime.Dirty.SCALE)};
lime.Node.prototype.getQuality=function(){return this.quality_};lime.Node.prototype.setQuality=function(a){if(this.quality_!=a)this.quality_=a,this.setDirty(lime.Dirty.SCALE),this.calcRelativeQuality();return this};lime.Node.prototype.getRelativeQuality=function(){this.relativeQuality_||this.calcRelativeQuality();return this.relativeQuality_};
lime.Node.prototype.calcRelativeQuality=function(){var a=goog.isDef(this.relativeQuality_)?this.relativeQuality_:this.quality_;this.parent_&&this.parent_.relativeQuality_&&(a=this.quality_*this.parent_.relativeQuality_);if(a!=this.relativeQuality_){this.relativeQuality_=a;for(var a=0,b;b=this.children_[a];a++)b instanceof lime.Node&&b.calcRelativeQuality();this.setDirty(lime.Dirty.SCALE)}};lime.Node.prototype.getAutoResize=function(){return this.autoResize_};
lime.Node.prototype.setAutoResize=function(a){this.autoResize_=a;return this.setDirty(lime.Dirty.ALL)};lime.Node.prototype.screenToLocal=function(a){return!this.inTree_?a:this.parentToLocal(this.getParent().screenToLocal(a))};
lime.Node.prototype.parentToLocal=function(a){if(!this.getParent())return null;a.x-=this.position_.x;a.y-=this.position_.y;a.x/=this.scale_.x;a.y/=this.scale_.y;if(this.rotation_!=0){var b=a.clone(),c=this.rotation_*Math.PI/180,d=Math.cos(c),c=Math.sin(c);a.x=d*b.x-c*b.y;a.y=d*b.y+c*b.x}return a};lime.Node.prototype.localToScreen=function(a){return!this.inTree_?a:this.getParent().localToScreen(this.localToParent(a))};
lime.Node.prototype.localToParent=function(a){if(!this.getParent())return a;var b=a.clone();if(this.rotation_!=0){var c=-this.rotation_*Math.PI/180,d=Math.cos(c),c=Math.sin(c);b.x=d*a.x-c*a.y;b.y=d*a.y+c*a.x}b.x*=this.scale_.x;b.y*=this.scale_.y;b.x+=this.position_.x;b.y+=this.position_.y;return b};lime.Node.prototype.localToNode=function(a,b){return!this.inTree_?a:b.screenToLocal(this.localToScreen(a))};lime.Node.prototype.getOpacity=function(){return this.opacity_};
lime.Node.prototype.setOpacity=function(a){this.opacity_=a;a=this.getHidden();this.opacity_==0&&!a?(this.setHidden(true),this.autoHide_=1):this.opacity_!=0&&a&&this.autoHide_&&this.setHidden(false);if(goog.isDef(this.transitionsActive_[lime.Transition.OPACITY]))return this;this.setDirty(lime.Dirty.ALPHA);return this};
lime.Node.prototype.createDomElement=function(){var a=this.renderer.getType()==lime.Renderer.CANVAS?"canvas":"div",b=function(){this.domElement=this.rootElement=this.containerElement=goog.dom.createDom(a);this.domClassName&&goog.dom.classes.add(this.domElement,this.domClassName);this.dirty_|=-1};if(this.domElement){if(this.domElement.tagName.toLowerCase()!=a){var c=this.rootElement;b.call(this);c.parentNode&&c.parentNode.replaceChild(this.rootElement,c)}}else b.call(this)};
lime.Node.prototype.updateDomElement=function(){this.needsDomElement()?this.createDomElement():this.removeDomElement()};lime.Node.prototype.removeDomElement=function(){this.rootElement&&(goog.dom.removeNode(this.rootElement),delete this.domElement,delete this.rootElement,delete this.containerElement)};
lime.Node.prototype.updateLayout=function(){this.dirty_&=~lime.Dirty.LAYOUT;this.updateDomElement();if(this.parent_&&this.parent_.dirty_&lime.Dirty.LAYOUT)this.parent_.updateLayout();else if(this.needsDomElement()){for(var a=0,b;b=this.children_[a];a++)b instanceof lime.Node&&b.updateLayout();this.renderer.updateLayout.call(this)}};
lime.Node.prototype.update=function(a){var b,c,a=a||0;goog.getUid(this);this.dirty_&lime.Dirty.LAYOUT&&this.updateLayout();var d=this.renderer.getType()==lime.Renderer.DOM||a;if(d){for(var e in this.transitionsClear_)delete this.transitionsActive_[e],delete this.transitionsActiveSet_[e],b=lime.Node.getPropertyForTransition(parseInt(e,10)),lime.style.clearTransition(this.domElement,b),this.domElement!=this.containerElement&&lime.style.clearTransition(this.continerElement,b);b=0;for(e in this.transitionsAdd_)c=
this.transitionsAdd_[e],c[3]||(c[3]=1,e==lime.Transition.POSITION&&this.positionDrawn_!=this.position_&&(this.setDirty(lime.Dirty.POSITION,0,true),b=1),e==lime.Transition.SCALE&&this.scaleDrawn_!=this.scale_&&(this.setDirty(lime.Dirty.SCALE,0,true),b=1),e==lime.Transition.OPACITY&&this.opacityDrawn_!=this.opacity_&&(this.setDirty(lime.Dirty.ALPHA,0,true),b=1),e==lime.Transition.ROTATION&&this.rotationDrawn_!=this.rotation_&&(this.setDirty(lime.Dirty.ROTATION,0,true),b=1));if(!b)for(e in this.transitionsAdd_){c=
this.transitionsAdd_[e];b=lime.Node.getPropertyForTransition(parseInt(e,10));if(this.renderer.getType()==lime.Renderer.DOM||b!="opacity")this.transitionsActive_[e]=c[0],lime.style.setTransition(this.domElement,b,c[1],c[2]),this.domElement!=this.containerElement&&b==lime.style.transformProperty&&lime.style.setTransition(this.containerElement,b,c[1],c[2]);delete this.transitionsAdd_[e]}this.positionDrawn_=this.position_;this.scaleDrawn_=this.scale_;this.opacityDrawn_=this.opacity_;this.rotationDrawn_=
this.rotation_;this.transitionsClear_={}}if(a)this.renderer.drawCanvas.call(this);else{if(this.renderer.getType()==lime.Renderer.CANVAS){c=this.getDeepestParentWithDom();c.redraw_=1;if(c==this&&this.dirty_==lime.Dirty.POSITION&&!this.mask_)c.redraw_=0;lime.setObjectDirty(this.getDeepestParentWithDom(),1)}this.renderer.update.call(this)}if(d)for(e in this.transitionsActive_)this.transitionsActive_[e]&&(this.transitionsActiveSet_[e]=true);if(this.dependencies_)for(e=0;e<this.dependencies_.length;e++)this.dependencies_[e].setDirty(lime.Dirty.ALL);
this.setDirty(0,a)};lime.Node.getPropertyForTransition=function(a){return a==lime.Transition.OPACITY?"opacity":lime.style.transformProperty};lime.Node.prototype.getParent=function(){return this.parent_?this.parent_:null};
lime.Node.prototype.appendChild=function(a,b){a instanceof lime.Node&&a.getParent()?a.getParent().removeChild(a):a.parentNode&&goog.dom.removeNode(a);a.parent_=this;b==void 0?this.children_.push(a):goog.array.insertAt(this.children_,a,b);this.renderer.getType()!=lime.Renderer.DOM&&a.setRenderer(this.renderer.getType());a instanceof lime.Node&&(a.calcRelativeQuality(),this.inTree_&&a.wasAddedToTree());return this.setDirty(lime.Dirty.LAYOUT)};lime.Node.prototype.getNumberOfChildren=function(){return this.children_.length};
lime.Node.prototype.getChildAt=function(a){return a>=0&&this.getNumberOfChildren()>a?this.children_[a]:null};lime.Node.prototype.getChildIndex=function(a){return this.children_.indexOf(a)};lime.Node.prototype.removeChild=function(a){return this.removeChildAt(this.getChildIndex(a))};
lime.Node.prototype.removeChildAt=function(a){if(a>=0&&this.getNumberOfChildren()>a){var b=this.getChildAt(a);b.maskTarget_&&b.maskTarget_.setMask(null);b instanceof lime.Node?(this.inTree_&&b.wasRemovedFromTree(),b.removeDomElement(),b.parent_=null):goog.dom.removeNode(b);this.children_.splice(a,1);return this.setDirty(lime.Dirty.LAYOUT)}return this};lime.Node.prototype.removeAllChildren=function(){for(;this.getNumberOfChildren();)this.removeChildAt(0);return this};
lime.Node.prototype.setChildIndex=function(a,b){var c=this.getChildIndex(a);return c!=-1&&c!=b?(this.children_.splice(c,1),goog.array.insertAt(this.children_,a,b),this.getDirector()&&this.getDirector().eventDispatcher.updateDispatchOrder(a),this.setDirty(lime.Dirty.LAYOUT)):this};
lime.Node.prototype.addEventListener=function(a){lime.userAgent.SUPPORTS_TOUCH&&a.substring(0,5)=="mouse"||(goog.isDef(this.eventHandlers_[a])||(this.eventHandlers_[a]=[0,0]),this.inTree_&&this.eventHandlers_[a][0]==0&&(this.eventHandlers_[a][0]=1,this.getDirector().eventDispatcher.register(this,a)),this.eventHandlers_[a][1]++)};
lime.Node.prototype.removeEventListener=function(a){lime.userAgent.SUPPORTS_TOUCH&&a.substring(0,5)=="mouse"||(this.inTree_&&this.eventHandlers_[a][1]==1&&(this.eventHandlers_[a][0]=0,this.getDirector().eventDispatcher.release(this,a)),this.eventHandlers_[a][1]--,this.eventHandlers_[a][1]||delete this.eventHandlers_[a])};lime.Node.prototype.getDirector=function(){return!this.inTree_?null:this.director_};lime.Node.prototype.getScene=function(){return!this.inTree_?null:this.scene_};
lime.Node.prototype.wasRemovedFromTree=function(){var a;this.dependencySet_||this.removeDependency(this.getParent());for(var b=0;a=this.children_[b];b++)a instanceof lime.Node&&a.wasRemovedFromTree();for(var c in this.eventHandlers_){this.eventHandlers_[c][0]=0;if(!this.getDirector())debugger;this.getDirector().eventDispatcher.release(this,c)}this.getDirector().eventDispatcher.updateDispatchOrder(this);this.inTree_=false;this.scene_=this.director_=null};
lime.Node.prototype.wasAddedToTree=function(){this.inTree_=true;this.director_=this.parent_.getDirector();this.scene_=this.parent_.getScene();for(var a=0,b;b=this.children_[a];a++)b instanceof lime.Node&&b.wasAddedToTree();for(var c in this.eventHandlers_)this.eventHandlers_[c][0]=1,this.getDirector().eventDispatcher.register(this,c);this.dependencySet_&&this.setupDependencies();this.getDirector().eventDispatcher.updateDispatchOrder(this)};
lime.Node.prototype.setupDependencies=function(){this.dependencySet_=true;this.inTree_&&this.addDependency(this.getParent())};lime.Node.prototype.addDependency=function(a){if(!a.dependencies_)a.dependencies_=[];goog.array.insert(a.dependencies_,this);!a&&!(a.getParent()instanceof lime.Scene)&&this.addDependency(a.getParent())};lime.Node.prototype.removeDependency=function(a){a&&a.dependencies_&&(goog.array.remove(a.dependencies_,this),this.removeDependency(a.getParent()))};
lime.Node.prototype.releaseDependencies=function(){delete this.dependencySet_;this.removeDependency(this.getParent())};lime.Node.prototype.getFrame=function(){var a=this.getSize(),b=this.getAnchorPoint();return new goog.math.Box(-a.height*b.y,a.width*(1-b.x),a.height*(1-b.y),-a.width*b.x)};
lime.Node.prototype.getBoundingBox=function(a){var b=a||this.getFrame(),a=new goog.math.Coordinate(b.left,b.top),c=new goog.math.Coordinate(b.right,b.top),d=new goog.math.Coordinate(b.left,b.bottom),b=new goog.math.Coordinate(b.right,b.bottom),a=this.localToParent(a),c=this.localToParent(c),d=this.localToParent(d),b=this.localToParent(b);return new goog.math.Box(Math.floor(Math.min(a.y,c.y,d.y,b.y)),Math.ceil(Math.max(a.x,c.x,d.x,b.x)),Math.ceil(Math.max(a.y,c.y,d.y,b.y)),Math.floor(Math.min(a.x,
c.x,d.x,b.x)))};lime.Node.prototype.measureContents=function(){var a=this.getFrame();a.left==a.right&&this.children_.length&&(a=this.children_[0].getBoundingBox(this.children_[0].measureContents()));for(var b=0,c;c=this.children_[b];b++)c.isMask!=1&&a.expandToInclude(c.getBoundingBox(c.measureContents()));return a};lime.Node.prototype.addTransition=function(a,b,c,d){this.transitionsAdd_[a]=[b,c,d,0]};lime.Node.prototype.clearTransition=function(a){this.transitionsClear_[a]=1};
lime.Node.prototype.hitTest=function(a){var b=this.screenToLocal(a.screenPosition);return this.getFrame().contains(b)?(a.position=b,true):false};lime.Node.prototype.runAction=function(a){a.addTarget(this);a.play()};lime.Layer=function(){lime.Node.call(this);this.domClassName="lime-layer"};goog.inherits(lime.Layer,lime.Node);lime.Layer.prototype.hitTest=function(a){for(var b=0,c;c=this.children_[b];b++)if(c.hitTest(a))return a.position=this.screenToLocal(a.screenPosition),true;return false};goog.fx={};goog.fx.easing={};goog.fx.easing.easeIn=function(a){return a*a*a};goog.fx.easing.easeOut=function(a){return 1-Math.pow(1-a,3)};goog.fx.easing.inAndOut=function(a){return 3*a*a-2*a*a*a};lime.scheduleManager=new function(){this.taskStack_=[];this.active_=false;this.intervalID_=0;this.displayRate_=1E3/30;this.lastRunTime_=0};lime.scheduleManager.Task=function(a,b){this.delta=this.maxdelta=a;this.limit=goog.isDef(b)?b:-1;this.functionStack_=[]};
lime.scheduleManager.Task.prototype.step_=function(a){if(this.functionStack_.length)if(this.delta>a)this.delta-=a;else{var b=this.maxdelta+a-this.delta;this.delta=this.maxdelta-(a-this.delta);if(this.delta<0)this.delta=0;for(var c,a=this.functionStack_.length;--a>=0;)(c=this.functionStack_[a])&&c[0]&&goog.isFunction(c[1])&&c[1].call(c[2],b);this.limit!=-1&&(this.limit--,this.limit==0&&lime.scheduleManager.unschedule(c[1],c[2]))}};lime.scheduleManager.taskStack_.push(new lime.scheduleManager.Task(0));
lime.scheduleManager.USE_ANIMATION_FRAME=goog.global.mozRequestAnimationFrame||goog.global.webkitRequestAnimationFrame;lime.scheduleManager.getDisplayRate=function(){return this.displayRate_};lime.scheduleManager.setDisplayRate=function(a){this.displayRate_=a;this.active_&&(lime.scheduleManager.disable_(),lime.scheduleManager.activate_())};
lime.scheduleManager.schedule=function(a,b,c){c=goog.isDef(c)?c:this.taskStack_[0];goog.array.insert(c.functionStack_,[1,a,b]);goog.array.insert(this.taskStack_,c);this.active_||lime.scheduleManager.activate_()};
lime.scheduleManager.unschedule=function(a,b){for(var c=this.taskStack_.length;--c>=0;){for(var d=this.taskStack_[c],e=d.functionStack_,f,g=e.length;--g>=0;)f=e[g],f[1]==a&&f[2]==b&&goog.array.remove(e,f);e.length==0&&c!=0&&goog.array.remove(this.taskStack_,d)}this.taskStack_.length==1&&this.taskStack_[0].functionStack_.length==0&&lime.scheduleManager.disable_()};
lime.scheduleManager.activate_=function(){if(!this.active_)this.lastRunTime_=goog.now(),lime.scheduleManager.USE_ANIMATION_FRAME?goog.global.mozRequestAnimationFrame?(goog.global.mozRequestAnimationFrame(),this.beforePaintHandlerBinded_=goog.bind(lime.scheduleManager.beforePaintHandler_,this),goog.global.addEventListener("MozBeforePaint",this.beforePaintHandlerBinded_,false)):(this.animationFrameHandlerBinded_=goog.bind(lime.scheduleManager.animationFrameHandler_,this),goog.global.webkitRequestAnimationFrame(this.animationFrameHandlerBinded_)):
this.intervalID_=setInterval(goog.bind(lime.scheduleManager.stepTimer_,this),lime.scheduleManager.getDisplayRate()),this.active_=true};lime.scheduleManager.disable_=function(){if(this.active_)lime.scheduleManager.USE_ANIMATION_FRAME?goog.global.mozRequestAnimationFrame?goog.global.removeEventListener("MozBeforePaint",this.beforePaintHandlerBinded_,false):goog.global.webkitCancelRequestAnimationFrame(this.animationFrameHandlerBinded_):clearInterval(this.intervalID_),this.active_=false};
lime.scheduleManager.animationFrameHandler_=function(a){a||(a=goog.now());lime.scheduleManager.dispatch_(a-this.lastRunTime_);this.lastRunTime_=a;goog.global.webkitRequestAnimationFrame(this.animationFrameHandlerBinded_)};lime.scheduleManager.beforePaintHandler_=function(a){lime.scheduleManager.dispatch_(a.timeStamp-this.lastRunTime_);this.lastRunTime_=a.timeStamp;goog.global.mozRequestAnimationFrame()};
lime.scheduleManager.stepTimer_=function(){var a=goog.now(),b=a-this.lastRunTime_;b<0&&(b=1);lime.scheduleManager.dispatch_(b);this.lastRunTime_=a};
lime.scheduleManager.dispatch_=function(a){for(var b=this.taskStack_.length;--b>=0;)this.taskStack_[b].step_(a);if(lime.transformSet_==1&&/Firefox\/4./.test(goog.userAgent.getUserAgentString())&&!lime.FF4_USE_HW_ACCELERATION)lime.scheduleManager.odd_?(document.body.style.MozTransform="",lime.scheduleManager.odd_=0):(document.body.style.MozTransform="scale(1,1)",lime.scheduleManager.odd_=1),lime.transformSet_=0};
lime.scheduleManager.changeDirectorActivity=function(a,b){for(var c,d,e,f,g=this.taskStack_.length;--g>=0;){c=this.taskStack_[g];for(f=c.functionStack_.length;--f>=0;)e=c.functionStack_[f],d=e[2],goog.isFunction(d.getDirector)&&(d=d.getDirector(),d==a&&(e[0]=b))}};lime.scheduleManager.callAfter=function(a,b,c){lime.scheduleManager.scheduleWithDelay(a,b,c,1)};lime.scheduleManager.scheduleWithDelay=function(a,b,c,d){c=new lime.scheduleManager.Task(c,d);lime.scheduleManager.schedule(a,b,c)};lime.animation={};lime.animation.Animation=function(){goog.events.EventTarget.call(this);this.targets=[];this.initTargets_=[];this.targetProp_={};this.isPlaying_=false;this.duration_=1;this.ease=lime.animation.Easing.EASEINOUT;this.status_=0};goog.inherits(lime.animation.Animation,goog.events.EventTarget);lime.animation.Animation.prototype.scope="";lime.animation.Event={START:"start",STOP:"stop"};lime.animation.Animation.prototype.getDuration=function(){return this.duration_};
lime.animation.Animation.prototype.setDuration=function(a){this.duration_=a;return this};lime.animation.Animation.prototype.setEasing=function(a){this.ease=a;return this};lime.animation.Animation.prototype.getEasing=function(){return this.ease};lime.animation.Animation.prototype.addTarget=function(a){goog.array.insert(this.targets,a);return this};lime.animation.Animation.prototype.removeTarget=function(a){goog.array.remove(this.targets,a);return this};
lime.animation.Animation.prototype.play=function(){this.playTime_=0;this.firstFrame_=this.status_=1;lime.scheduleManager.schedule(this.step_,this);this.dispatchEvent({type:lime.animation.Event.START})};
lime.animation.Animation.prototype.stop=function(){if(this.status_!=0){var a=this.initTargets_;if(this.useTransitions()&&this.clearTransition)for(var b=a.length;--b>=0;)this.clearTransition(a[b]);this.initTargets_=[];this.targetProp_={};this.status_=0;lime.scheduleManager.unschedule(this.step_,this);this.dispatchEvent({type:lime.animation.Event.STOP})}};lime.animation.Animation.prototype.makeTargetProp=function(){return{}};
lime.animation.Animation.prototype.getTargetProp=function(a){var b=goog.getUid(a);goog.isDef(this.targetProp_[b])||(this.initTarget(a),this.targetProp_[b]=this.makeTargetProp(a));return this.targetProp_[b]};lime.animation.Animation.prototype.initTarget=function(a){lime.animation.actionManager.register(this,a);this.status_=1;goog.array.insert(this.initTargets_,a);this.speed_&&!this.speedCalcDone_&&this.calcDurationFromSpeed_&&this.calcDurationFromSpeed_()};
lime.animation.Animation.prototype.getDirector=function(){return this.targets[0]?this.targets[0].getDirector():null};lime.animation.Animation.prototype.step_=function(a){this.speed_&&!this.speedCalcDone_&&this.calcDurationFromSpeed_&&this.calcDurationFromSpeed_();this.firstFrame_&&(delete this.firstFrame_,a=1);this.playTime_+=a;this.dt_=a;a=this.playTime_/(this.duration_*1E3);if(isNaN(a)||a>=1)a=1;a=this.updateAll(a,this.targets);a==1&&this.stop()};
lime.animation.Animation.prototype.updateAll=function(a,b){a=this.getEasing()[0](a);isNaN(a)&&(a=1);for(var c=b.length;--c>=0;)this.update(a,b[c]);return a};lime.animation.Animation.prototype.useTransitions=function(){return this.duration_>0&&lime.style.isTransitionsSupported&&this.optimizations_&&!lime.userAgent.ANDROID&&!goog.userAgent.GECKO};lime.animation.Animation.prototype.enableOptimizations=function(a){this.optimizations_=goog.isDef(a)?a:true;return this};
lime.animation.Animation.prototype.cloneParam=function(a){return this.setDuration(a.getDuration()).enableOptimizations(a.optimizations_)};lime.animation.Animation.prototype.reverse=function(){throw"Reverseform not supported for this animation";};lime.animation.actionManager=new function(){this.actions={}};
lime.animation.actionManager.register=function(a,b){if(a.scope.length){var c=goog.getUid(b);goog.isDef(this.actions[c])||(this.actions[c]={});goog.isDef(this.actions[c][a.scope])&&this.actions[c][a.scope].stop();this.actions[c][a.scope]=a}};lime.animation.actionManager.stopAll=function(a){a=goog.getUid(a);if(goog.isDef(this.actions[a]))for(var b in this.actions[a])this.actions[a][b].stop(),delete this.actions[a][b]};
(function(){function a(a,e){var f,g,k,l;for(k=a,g=0;g<8;g++){l=((b*k+c)*k+d)*k-a;if((l>=0?l:0-l)<e)return k;f=(3*b*k+2*c)*k+d;if((f>=0?f:0-f)<1.0E-6)break;k-=l/f}f=0;g=1;k=a;if(k<f)return f;if(k>g)return g;for(;f<g;){l=((b*k+c)*k+d)*k;if((l-a>=0?l-a:0-(l-a))<e)break;a>l?f=k:g=k;k=(g-f)*0.5+f}return k}var b=0,c=0,d=0,e=0,f=0,g=0;lime.animation.getEasingFunction=function(h,i,j,m){return[function(k){d=3*h;c=3*(j-h)-d;b=1-d-c;g=3*i;f=3*(m-i)-g;e=1-g-f;k=a(k,5.0E-5);return((e*k+f)*k+g)*k},h,i,j,m]}})();
lime.animation.Easing={EASE:lime.animation.getEasingFunction(0.25,0.1,0.25,1),LINEAR:lime.animation.getEasingFunction(0,0,1,1),EASEIN:lime.animation.getEasingFunction(0.42,0,1,1),EASEOUT:lime.animation.getEasingFunction(0,0,0.58,1),EASEINOUT:lime.animation.getEasingFunction(0.42,0,0.58,1)};goog.color={};
goog.color.names={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",
darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",
ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",
lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",
moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",
seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};goog.color.parse=function(a){var b={},a=String(a),c=goog.color.prependHashIfNecessaryHelper(a);if(goog.color.isValidHexColor_(c))return b.hex=goog.color.normalizeHex(c),b.type="hex",b;else if(c=goog.color.isValidRgbColor_(a),c.length)return b.hex=goog.color.rgbArrayToHex(c),b.type="rgb",b;else if(goog.color.names&&(c=goog.color.names[a.toLowerCase()]))return b.hex=c,b.type="named",b;throw Error(a+" is not a valid color string");};
goog.color.isValidColor=function(a){var b=goog.color.prependHashIfNecessaryHelper(a);return!(!goog.color.isValidHexColor_(b)&&!(goog.color.isValidRgbColor_(a).length||goog.color.names&&goog.color.names[a.toLowerCase()]))};goog.color.parseRgb=function(a){var b=goog.color.isValidRgbColor_(a);if(!b.length)throw Error(a+" is not a valid RGB color");return b};goog.color.hexToRgbStyle=function(a){return goog.color.rgbStyle_(goog.color.hexToRgb(a))};goog.color.hexTripletRe_=/#(.)(.)(.)/;
goog.color.normalizeHex=function(a){if(!goog.color.isValidHexColor_(a))throw Error("'"+a+"' is not a valid hex color");a.length==4&&(a=a.replace(goog.color.hexTripletRe_,"#$1$1$2$2$3$3"));return a.toLowerCase()};goog.color.hexToRgb=function(a){var a=goog.color.normalizeHex(a),b=parseInt(a.substr(1,2),16),c=parseInt(a.substr(3,2),16),a=parseInt(a.substr(5,2),16);return[b,c,a]};
goog.color.rgbToHex=function(a,b,c){a=Number(a);b=Number(b);c=Number(c);if(isNaN(a)||a<0||a>255||isNaN(b)||b<0||b>255||isNaN(c)||c<0||c>255)throw Error('"('+a+","+b+","+c+'") is not a valid RGB color');a=goog.color.prependZeroIfNecessaryHelper(a.toString(16));b=goog.color.prependZeroIfNecessaryHelper(b.toString(16));c=goog.color.prependZeroIfNecessaryHelper(c.toString(16));return"#"+a+b+c};goog.color.rgbArrayToHex=function(a){return goog.color.rgbToHex(a[0],a[1],a[2])};
goog.color.rgbToHsl=function(a,b,c){a/=255;b/=255;c/=255;var d=Math.max(a,b,c),e=Math.min(a,b,c),f=0,g=0,h=0.5*(d+e);d!=e&&(d==a?f=60*(b-c)/(d-e):d==b?f=60*(c-a)/(d-e)+120:d==c&&(f=60*(a-b)/(d-e)+240),g=0<h&&h<=0.5?(d-e)/(2*h):(d-e)/(2-2*h));return[Math.round(f+360)%360,g,h]};goog.color.rgbArrayToHsl=function(a){return goog.color.rgbToHsl(a[0],a[1],a[2])};
goog.color.hueToRgb_=function(a,b,c){c<0?c+=1:c>1&&(c-=1);if(6*c<1)return a+(b-a)*6*c;else if(2*c<1)return b;else if(3*c<2)return a+(b-a)*(2/3-c)*6;return a};goog.color.hslToRgb=function(a,b,c){var d=0,e=0,f=0;a/=360;if(b==0)d=e=f=c*255;else var g=f=0,g=c<0.5?c*(1+b):c+b-b*c,f=2*c-g,d=255*goog.color.hueToRgb_(f,g,a+1/3),e=255*goog.color.hueToRgb_(f,g,a),f=255*goog.color.hueToRgb_(f,g,a-1/3);return[Math.round(d),Math.round(e),Math.round(f)]};
goog.color.hslArrayToRgb=function(a){return goog.color.hslToRgb(a[0],a[1],a[2])};goog.color.validHexColorRe_=/^#(?:[0-9a-f]{3}){1,2}$/i;goog.color.isValidHexColor_=function(a){return goog.color.validHexColorRe_.test(a)};goog.color.normalizedHexColorRe_=/^#[0-9a-f]{6}$/;goog.color.isNormalizedHexColor_=function(a){return goog.color.normalizedHexColorRe_.test(a)};goog.color.rgbColorRe_=/^(?:rgb)?\((0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2})\)$/i;
goog.color.isValidRgbColor_=function(a){var b=a.match(goog.color.rgbColorRe_);if(b){var a=Number(b[1]),c=Number(b[2]),b=Number(b[3]);if(a>=0&&a<=255&&c>=0&&c<=255&&b>=0&&b<=255)return[a,c,b]}return[]};goog.color.prependZeroIfNecessaryHelper=function(a){return a.length==1?"0"+a:a};goog.color.prependHashIfNecessaryHelper=function(a){return a.charAt(0)=="#"?a:"#"+a};goog.color.rgbStyle_=function(a){return"rgb("+a.join(",")+")"};
goog.color.hsvToRgb=function(a,b,c){var d=0,e=0,f=0;if(b==0)f=e=d=c;else{var g=Math.floor(a/60),h=a/60-g,a=c*(1-b),i=c*(1-b*h),b=c*(1-b*(1-h));switch(g){case 1:d=i;e=c;f=a;break;case 2:d=a;e=c;f=b;break;case 3:d=a;e=i;f=c;break;case 4:d=b;e=a;f=c;break;case 5:d=c;e=a;f=i;break;case 6:case 0:d=c,e=b,f=a}}return[Math.floor(d),Math.floor(e),Math.floor(f)]};
goog.color.rgbToHsv=function(a,b,c){var d=Math.max(Math.max(a,b),c),e=Math.min(Math.min(a,b),c);if(e==d)e=a=0;else{var f=d-e,e=f/d,a=a==d?(b-c)/f:b==d?2+(c-a)/f:4+(a-b)/f;a*=60;a<0&&(a+=360);a>360&&(a-=360)}return[a,e,d]};goog.color.rgbArrayToHsv=function(a){return goog.color.rgbToHsv(a[0],a[1],a[2])};goog.color.hsvArrayToRgb=function(a){return goog.color.hsvToRgb(a[0],a[1],a[2])};goog.color.hexToHsl=function(a){a=goog.color.hexToRgb(a);return goog.color.rgbToHsl(a[0],a[1],a[2])};
goog.color.hslToHex=function(a,b,c){return goog.color.rgbArrayToHex(goog.color.hslToRgb(a,b,c))};goog.color.hslArrayToHex=function(a){return goog.color.rgbArrayToHex(goog.color.hslToRgb(a[0],a[1],a[2]))};goog.color.hexToHsv=function(a){return goog.color.rgbArrayToHsv(goog.color.hexToRgb(a))};goog.color.hsvToHex=function(a,b,c){return goog.color.rgbArrayToHex(goog.color.hsvToRgb(a,b,c))};goog.color.hsvArrayToHex=function(a){return goog.color.hsvToHex(a[0],a[1],a[2])};
goog.color.hslDistance=function(a,b){var c,d;c=a[2]<=0.5?a[1]*a[2]:a[1]*(1-a[2]);d=b[2]<=0.5?b[1]*b[2]:b[1]*(1-b[2]);return(a[2]-b[2])*(a[2]-b[2])+c*c+d*d-2*c*d*Math.cos((a[0]/360-b[0]/360)*2*Math.PI)};goog.color.blend=function(a,b,c){c=goog.math.clamp(c,0,1);return[Math.round(c*a[0]+(1-c)*b[0]),Math.round(c*a[1]+(1-c)*b[1]),Math.round(c*a[2]+(1-c)*b[2])]};goog.color.darken=function(a,b){return goog.color.blend([0,0,0],a,b)};
goog.color.lighten=function(a,b){return goog.color.blend([255,255,255],a,b)};goog.color.highContrast=function(a,b){for(var c=[],d=0;d<b.length;d++)c.push({color:b[d],diff:goog.color.yiqBrightnessDiff_(b[d],a)+goog.color.colorDiff_(b[d],a)});c.sort(function(a,b){return b.diff-a.diff});return c[0].color};goog.color.yiqBrightness_=function(a){return Math.round((a[0]*299+a[1]*587+a[2]*114)/1E3)};goog.color.yiqBrightnessDiff_=function(a,b){return Math.abs(goog.color.yiqBrightness_(a)-goog.color.yiqBrightness_(b))};
goog.color.colorDiff_=function(a,b){return Math.abs(a[0]-b[0])+Math.abs(a[1]-b[1])+Math.abs(a[2]-b[2])};lime.fill={};lime.fill.Fill=function(){goog.events.EventTarget.call(this)};goog.inherits(lime.fill.Fill,goog.events.EventTarget);lime.fill.Fill.prototype.initForSprite=goog.nullFunction;
lime.fill.parse=function(a){if(a[0]instanceof lime.fill.Fill)return a[0];goog.isArray(a)||(a=goog.array.toArray(arguments));if(a.length>2)return new lime.fill.Color(a);else if(goog.isString(a[0])&&(a[0].substring(0,4)=="rgb("||a[0].substring(0,5)=="rgba("||a[0].substring(0,1)=="#"))return new lime.fill.Color(a[0]);return new lime.fill.Image(a[0])};lime.fill.Fill.prototype.setDOMStyle=goog.nullFunction;lime.fill.Fill.prototype.setCanvasStyle=goog.nullFunction;goog.color.alpha={};
goog.color.alpha.parse=function(a){var b={},a=String(a),c=goog.color.prependHashIfNecessaryHelper(a);if(goog.color.alpha.isValidAlphaHexColor_(c))return b.hex=goog.color.alpha.normalizeAlphaHex_(c),b.type="hex",b;else if(c=goog.color.alpha.isValidRgbaColor_(a),c.length)return b.hex=goog.color.alpha.rgbaArrayToHex(c),b.type="rgba",b;else if(c=goog.color.alpha.isValidHslaColor_(a),c.length)return b.hex=goog.color.alpha.hslaArrayToHex(c),b.type="hsla",b;throw Error(a+" is not a valid color string");};
goog.color.alpha.hexToRgbaStyle=function(a){return goog.color.alpha.rgbaStyle_(goog.color.alpha.hexToRgba(a))};goog.color.alpha.extractHexColor=function(a){if(goog.color.alpha.isValidAlphaHexColor_(a))return a=goog.color.prependHashIfNecessaryHelper(a),goog.color.alpha.normalizeAlphaHex_(a).substring(0,7);else throw Error(a+" is not a valid 8-hex color string");};
goog.color.alpha.extractAlpha=function(a){if(goog.color.alpha.isValidAlphaHexColor_(a))return a=goog.color.prependHashIfNecessaryHelper(a),goog.color.alpha.normalizeAlphaHex_(a).substring(7,9);else throw Error(a+" is not a valid 8-hex color string");};goog.color.alpha.hexQuadrupletRe_=/#(.)(.)(.)(.)/;
goog.color.alpha.normalizeAlphaHex_=function(a){if(!goog.color.alpha.isValidAlphaHexColor_(a))throw Error("'"+a+"' is not a valid alpha hex color");a.length==5&&(a=a.replace(goog.color.alpha.hexQuadrupletRe_,"#$1$1$2$2$3$3$4$4"));return a.toLowerCase()};goog.color.alpha.hexToRgba=function(a){var a=goog.color.alpha.normalizeAlphaHex_(a),b=parseInt(a.substr(1,2),16),c=parseInt(a.substr(3,2),16),d=parseInt(a.substr(5,2),16),a=parseInt(a.substr(7,2),16);return[b,c,d,a/255]};
goog.color.alpha.rgbaToHex=function(a,b,c,d){var e=Math.floor(d*255);if(isNaN(e)||e<0||e>255)throw Error('"('+a+","+b+","+c+","+d+'") is not a valid RGBA color');d=goog.color.prependZeroIfNecessaryHelper(e.toString(16));return goog.color.rgbToHex(a,b,c)+d};
goog.color.alpha.hslaToHex=function(a,b,c,d){var e=Math.floor(d*255);if(isNaN(e)||e<0||e>255)throw Error('"('+a+","+b+","+c+","+d+'") is not a valid HSLA color');d=goog.color.prependZeroIfNecessaryHelper(e.toString(16));return goog.color.hslToHex(a,b/100,c/100)+d};goog.color.alpha.rgbaArrayToHex=function(a){return goog.color.alpha.rgbaToHex(a[0],a[1],a[2],a[3])};
goog.color.alpha.rgbaToRgbaStyle=function(a,b,c,d){if(isNaN(a)||a<0||a>255||isNaN(b)||b<0||b>255||isNaN(c)||c<0||c>255||isNaN(d)||d<0||d>1)throw Error('"('+a+","+b+","+c+","+d+')" is not a valid RGBA color');return goog.color.alpha.rgbaStyle_([a,b,c,d])};goog.color.alpha.rgbaArrayToRgbaStyle=function(a){return goog.color.alpha.rgbaToRgbaStyle(a[0],a[1],a[2],a[3])};goog.color.alpha.hslaArrayToHex=function(a){return goog.color.alpha.hslaToHex(a[0],a[1],a[2],a[3])};
goog.color.alpha.hslaArrayToRgbaStyle=function(a){return goog.color.alpha.hslaToRgbaStyle(a[0],a[1],a[2],a[3])};goog.color.alpha.hslaToRgbaStyle=function(a,b,c,d){return goog.color.alpha.rgbaStyle_(goog.color.alpha.hslaToRgba(a,b,c,d))};goog.color.alpha.hslaToRgba=function(a,b,c,d){return goog.color.hslToRgb(a,b/100,c/100).concat(d)};goog.color.alpha.rgbaToHsla=function(a,b,c,d){return goog.color.rgbToHsl(a,b,c).concat(d)};
goog.color.alpha.rgbaArrayToHsla=function(a){return goog.color.alpha.rgbaToHsla(a[0],a[1],a[2],a[3])};goog.color.alpha.validAlphaHexColorRe_=/^#(?:[0-9a-f]{4}){1,2}$/i;goog.color.alpha.isValidAlphaHexColor_=function(a){return goog.color.alpha.validAlphaHexColorRe_.test(a)};goog.color.alpha.normalizedAlphaHexColorRe_=/^#[0-9a-f]{8}$/;goog.color.alpha.isNormalizedAlphaHexColor_=function(a){return goog.color.alpha.normalizedAlphaHexColorRe_.test(a)};goog.color.alpha.rgbaColorRe_=/^(?:rgba)?\((0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|1|0\.\d{0,10})\)$/i;
goog.color.alpha.hslaColorRe_=/^(?:hsla)\((0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2})\%,\s?(0|[1-9]\d{0,2})\%,\s?(0|1|0\.\d{0,10})\)$/i;goog.color.alpha.isValidRgbaColor_=function(a){var b=a.match(goog.color.alpha.rgbaColorRe_);if(b){var a=Number(b[1]),c=Number(b[2]),d=Number(b[3]),b=Number(b[4]);if(a>=0&&a<=255&&c>=0&&c<=255&&d>=0&&d<=255&&b>=0&&b<=1)return[a,c,d,b]}return[]};
goog.color.alpha.isValidHslaColor_=function(a){var b=a.match(goog.color.alpha.hslaColorRe_);if(b){var a=Number(b[1]),c=Number(b[2]),d=Number(b[3]),b=Number(b[4]);if(a>=0&&a<=360&&c>=0&&c<=100&&d>=0&&d<=100&&b>=0&&b<=1)return[a,c,d,b]}return[]};goog.color.alpha.rgbaStyle_=function(a){return"rgba("+a.join(",")+")"};goog.color.alpha.hsvaToHex=function(a,b,c,d){d=Math.floor(d*255);return goog.color.hsvArrayToHex([a,b,c])+goog.color.prependZeroIfNecessaryHelper(d.toString(16))};
goog.color.alpha.hsvaArrayToHex=function(a){return goog.color.alpha.hsvaToHex(a[0],a[1],a[2],a[3])};lime.fill.Color=function(a){lime.fill.Fill.call(this);this.a=1;this.setColor(a)};goog.inherits(lime.fill.Color,lime.fill.Fill);lime.fill.Color.prototype.id="color";lime.fill.Color.prototype.getRgba=function(){var a=null;if(goog.isNumber(this.r)&&goog.isNumber(this.g)&&goog.isNumber(this.b))a=[this.r,this.g,this.b,this.a];else if(goog.isString(this.str)){var b=goog.color.parse(this.str);b.type!="named"&&(a=goog.color.hexToRgb(b.hex));a.push(1)}return a};
lime.fill.Color.prototype.addBrightness=function(a){return this.modifyColor(2,a)};lime.fill.Color.prototype.modifyColor=function(a,b){var c=b||0.1,d=this.getRgba();if(!d)return this;d.pop();d=goog.color.rgbArrayToHsl(d);d[a]+=c;d[a]>1&&(d[a]=1);d=goog.color.hslArrayToRgb(d);d.push(this.a);return this.setColor(d)};lime.fill.Color.prototype.addSaturation=function(a){return this.modifyColor(1,a)};
lime.fill.Color.prototype.setColor=function(a){var b=a;if(goog.isString(a))return this.str=a,this;arguments.length>2&&(b=arguments);if(b.length>=3)this.r=b[0],this.g=b[1],this.b=b[2];if(b.length==4)this.a=b[3];this.str=this.a==1?"rgb("+this.r+","+this.g+","+this.b+")":"rgba("+this.r+","+this.g+","+this.b+","+this.a+")";return this};lime.fill.Color.prototype.setDOMStyle=function(a){a.style.background=this.str};lime.fill.Color.prototype.setCanvasStyle=function(a){a.fillStyle=this.str};
lime.fill.Color.prototype.clone=function(){var a=new lime.fill.Color("");a.r=this.r;a.g=this.g;a.b=this.b;a.a=this.a;a.str=this.str;return a};lime.fill.Stroke=function(a,b){lime.fill.Fill.call(this);var c=goog.isArray(a)?a:goog.array.toArray(arguments);this.width_=c[0]||1;c.shift();this.setColor.apply(this,c)};goog.inherits(lime.fill.Stroke,lime.fill.Fill);lime.fill.Stroke.prototype.id="stroke";lime.fill.Stroke.prototype.setDOMStyle=function(a){a.style.border=this.width_+"px solid "+this.color_.str};lime.fill.Stroke.prototype.setCanvasStyle=function(a){a.strokeStyle=this.color_.str;a.lineWidth=this.width_};
lime.fill.Stroke.prototype.getWidth=function(){return this.width_};lime.fill.Stroke.prototype.setWidth=function(a){this.width_=a;return this};lime.fill.Stroke.prototype.getColor=function(){return this.color_};lime.fill.Stroke.prototype.setColor=function(a){var b=goog.array.toArray(arguments);b[0]instanceof lime.fill.Color?this.color_=b[0]:(this.color_=new lime.fill.Color("#000"),b.length&&this.color_.setColor.apply(this.color_,b));return this};
lime.fill.Stroke.prototype.clone=function(){var a=new lime.fill.Stroke;a.width_=this.width_;a.color_=this.color_;return a};lime.fill.Image=function(a){lime.fill.Fill.call(this);a&&goog.isFunction(a.data)&&(a=a.data());if(goog.isString(a)){this.url_=a;if(this.url_.length>50)this.url_=this.url_.substr(-50);lime.fill.Image.loadedImages_[this.url_]?this.image_=lime.fill.Image.loadedImages_[this.url_]:(this.image_=new Image,this.image_.src=a)}else{this.url_=a.src;if(this.url_.length>50)this.url_=this.url_.substr(-50);this.image_=lime.fill.Image.loadedImages_[this.url_]?lime.fill.Image.loadedImages_[this.url_]:a}this.isLoaded()||
this.addLoadHandler_();lime.fill.Image.loadedImages_[this.url_]=this.image_};goog.inherits(lime.fill.Image,lime.fill.Fill);lime.fill.Image.loadedImages_={};lime.fill.Image.prototype.id="image";
lime.fill.Image.prototype.initForSprite=function(a){var b=a.getSize(),c=this;!b.width&&!b.height&&(this.isLoaded()?a.setSize(this.image_.width,this.image_.height):goog.events.listen(this,goog.events.EventType.LOAD,function(){var a=this.getSize();!a.width&&!a.height&&this.setSize(c.image_.width,c.image_.height)},false,a));this.isLoaded()||goog.events.listen(this,goog.events.EventType.LOAD,function(){a.setDirty(lime.Dirty.CONTENT)},false,this)};
lime.fill.Image.prototype.addLoadHandler_=function(){goog.events.listen(this.image_,goog.events.EventType.LOAD,this.imageLoadedHandler_,false,this)};lime.fill.Image.prototype.imageLoadedHandler_=function(a){this.dispatchEvent(a)};lime.fill.Image.prototype.getImageElement=function(){return this.image_};lime.fill.Image.prototype.isLoaded=function(){return this.image_&&this.image_.width&&this.image_.height};
lime.fill.Image.prototype.setSize=function(a,b,c){goog.isNumber(a)&&(a=new goog.math.Size(a,b),b=c||false);this.size_=a;this.size_perc_=b;return this};lime.fill.Image.prototype.setOffset=function(a,b,c){goog.isNumber(a)&&(a=new goog.math.Coordinate(a,b),b=c||false);this.offset_=a;this.offset_perc_=b;return this};
lime.fill.Image.prototype.getPixelSizeAndOffset=function(a){a=a.getSize().clone();if(this.size_)this.size_perc_?(a.width*=this.size_.width,a.height*=this.size_.height):a=this.size_;var b=new goog.math.Coordinate(0,0);if(this.offset_)this.offset_perc_?(b.x=a.width*this.offset_.x,b.y=a.height*this.offset_.y):b=this.offset_;return[a,b]};
lime.fill.Image.prototype.setDOMBackgroundProp_=function(a,b){var c=this.getPixelSizeAndOffset(b),d=c[0],c=c[1],e=b.getRelativeQuality();a.style[lime.style.getCSSproperty("BackgroundSize")]=d.width*e+"px "+d.height*e+"px";d=b.stroke_?b.stroke_.width_:0;a.style.backgroundPosition=c.x*e-d+"px "+(c.y*e-d)+"px";this.qualityRenderer&&(a.style.imageRendering="optimizeQuality")};
lime.fill.Image.prototype.setDOMStyle=function(a,b){a.style.background="url("+this.image_.src+")";this.setDOMBackgroundProp_(a,b)};
lime.fill.Image.prototype.setCanvasStyle=function(a,b){var c=b.getSize(),d=b.getFrame();if(c.width&&c.height)try{var e=this.getImageElement(),f=this.getPixelSizeAndOffset(b),g=f[0],h=f[1],i=a.createPattern(e,"repeat"),j=g.width/e.width,m=g.height/e.height;a.save();a.translate(d.left+h.x,d.top+h.y);a.scale(j,m);a.fillStyle=i;a.fillRect(-h.x/j,-h.y/m,c.width/j,c.height/m);a.restore()}catch(k){}};lime.Renderer.CANVAS.SPRITE={};lime.Renderer.DOM.SPRITE={};lime.Sprite=function(){lime.Node.call(this);this.stroke_=this.fill_=null};goog.inherits(lime.Sprite,lime.Node);lime.Sprite.prototype.id="sprite";lime.Sprite.prototype.supportedRenderers=[lime.Renderer.DOM.makeSubRenderer(lime.Renderer.DOM.SPRITE),lime.Renderer.CANVAS.makeSubRenderer(lime.Renderer.CANVAS.SPRITE)];lime.Sprite.prototype.getFill=function(){return this.fill_};
lime.Sprite.prototype.setFill=function(a,b,c,d){this.fill_=lime.fill.parse(goog.array.toArray(arguments));this.fill_.initForSprite(this);this.setDirty(lime.Dirty.CONTENT);return this};lime.Sprite.prototype.getStroke=function(){return this.stroke_};lime.Sprite.prototype.setStroke=function(a){a&&!(a instanceof lime.fill.Stroke)&&(a=new lime.fill.Stroke(goog.array.toArray(arguments)));this.stroke_=a;this.setDirty(lime.Dirty.CONTENT);return this};
lime.Sprite.prototype.getCanvasContextName_=function(){var a=0;return function(){if(!goog.isDef(this.canvasContextName_))this.canvasContextName_="limedc"+a++;return this.canvasContextName_}}();lime.Renderer.DOM.SPRITE.draw=function(a){goog.isNull(this.fill_)||this.fill_.setDOMStyle(a,this);goog.isNull(this.stroke_)?a.style.border="none":this.stroke_.setDOMStyle(a,this)};
lime.Renderer.CANVAS.SPRITE.draw=function(a){var b=this.getSize(),c=this.fill_,d=this.stroke_;if(c||d){var e=this.getFrame();c&&(c.setCanvasStyle(a,this),c.id!="image"&&c.id!="frame"&&a.fillRect(e.left,e.top,b.width,b.height));if(d&&(d.setCanvasStyle(a,this),this.id=="sprite"||this.id=="label"))c=d.width_/2,a.strokeRect(e.left+c,e.top+c,b.width-2*c,b.height-2*c)}};lime.animation.Delay=function(){lime.animation.Animation.call(this)};goog.inherits(lime.animation.Delay,lime.animation.Animation);lime.animation.Delay.prototype.update=goog.nullFunction;lime.animation.Delay.prototype.reverse=function(){return(new lime.animation.Delay).setDuration(this.getDuration())};lime.animation.Sequence=function(a){lime.animation.Animation.call(this);var b=goog.array.toArray(arguments);goog.isArray(a)&&(b=a);this.actions=b.length>2?[b.shift(),new lime.animation.Sequence(b)]:b;this.setDuration(this.actions[0].duration_+this.actions[1].duration_)};goog.inherits(lime.animation.Sequence,lime.animation.Animation);
lime.animation.Sequence.prototype.initTarget=function(a){lime.animation.Animation.prototype.initTarget.call(this,a);this.setDuration(this.actions[0].duration_+this.actions[1].duration_);this.split_=this.actions[0].duration_/this.duration_;this.last_=-1};lime.animation.Sequence.prototype.stop=function(){this.last_!=-1&&this.actions[this.last_].stop(this.targets);lime.animation.Animation.prototype.stop.apply(this,arguments)};
lime.animation.Sequence.prototype.updateAll=function(a,b){if(this.status_==0)return a;for(var c=b.length;--c>=0;)this.getTargetProp(b[c]);var d=c=0;a>=this.split_?(c=1,d=this.split_==1?1:(a-this.split_)/(1-this.split_)):(c=0,d=this.split_!=0?a/this.split_:1);if(this.last_==-1&&c==1)this.actions[0].status_=1,this.actions[0].updateAll(1,b),this.actions[0].stop();if(this.last_!=c)this.last_!=-1&&(this.actions[this.last_].updateAll(1,b),this.actions[this.last_].stop()),this.actions[c].status_=1;this.actions[c].updateAll(d,
b);this.last_=c;return a};lime.animation.Sequence.prototype.reverse=function(){return new lime.animation.Sequence(this.actions[1].reverse(),this.actions[0].reverse())};lime.animation.Spawn=function(a){lime.animation.Animation.call(this);var b=goog.array.toArray(arguments);goog.isArray(a)&&(b=a);b.length>2?(this.one=b.shift(),this.two=new lime.animation.Spawn(b)):(this.one=b[0],this.two=b[1]);var b=this.one.duration_,c=this.two.duration_;this.setDuration(Math.max(b,c));var d=new lime.animation.Delay;if(b>c)this.two=new lime.animation.Sequence(this.two,d.setDuration(b-c));else if(b<c)this.one=new lime.animation.Sequence(this.one,d.setDuration(c-b))};
goog.inherits(lime.animation.Spawn,lime.animation.Animation);lime.animation.Spawn.prototype.initTarget=function(a){lime.animation.Animation.prototype.initTarget.call(this,a);this.one.status_=1;this.two.status_=1};lime.animation.Spawn.prototype.updateAll=function(a,b){if(this.status_!=0){for(var c=b.length;--c>=0;)this.getTargetProp(b[c]);this.one.updateAll(a,b);this.two.updateAll(a,b);return a}};lime.animation.Spawn.prototype.reverse=function(){return new lime.animation.Spawn(this.one.reverse(),this.two.reverse())};lime.animation.MoveTo=function(a,b){lime.animation.Animation.call(this);this.position_=arguments.length==2?new goog.math.Coordinate(arguments[0],arguments[1]):a};goog.inherits(lime.animation.MoveTo,lime.animation.Animation);lime.animation.MoveTo.prototype.scope="move";lime.animation.MoveTo.prototype.setSpeed=function(a){this.speed_=a;delete this.speedCalcDone_;return this};
lime.animation.MoveTo.prototype.makeTargetProp=function(a){var b=a.getPosition(),c=new goog.math.Coordinate(this.position_.x-b.x,this.position_.y-b.y);this.useTransitions()&&(a.addTransition(lime.Transition.POSITION,this.position_,this.duration_,this.getEasing()),a.setDirty(lime.Dirty.POSITION));return{startpos:b,delta:c}};
lime.animation.MoveTo.prototype.calcDurationFromSpeed_=function(){if(this.speed_&&this.targets.length){var a=this.targets[0].getPosition(),a=new goog.math.Coordinate(this.position_.x-a.x,this.position_.y-a.y);this.setDuration(this.speed_*goog.math.Coordinate.distance(a,new goog.math.Coordinate(0,0))/100);this.speedCalcDone_=1}};lime.animation.MoveTo.prototype.update=function(a,b){if(this.status_!=0){var c=this.getTargetProp(b);b.setPosition(c.startpos.x+c.delta.x*a,c.startpos.y+c.delta.y*a)}};
lime.animation.MoveTo.prototype.clearTransition=function(a){this.useTransitions()&&(a.clearTransition(lime.Transition.POSITION),a.setDirty(lime.Dirty.POSITION))};lime.animation.ScaleTo=function(a,b){lime.animation.Animation.call(this);this.scale_=arguments.length==1&&goog.isNumber(a)?new goog.math.Vec2(a,a):arguments.length==2?new goog.math.Vec2(arguments[0],arguments[1]):a};goog.inherits(lime.animation.ScaleTo,lime.animation.Animation);lime.animation.ScaleTo.prototype.scope="scale";
lime.animation.ScaleTo.prototype.makeTargetProp=function(a){var b=a.getScale(),c=new goog.math.Vec2(this.scale_.x-b.x,this.scale_.y-b.y);this.useTransitions()&&(a.addTransition(lime.Transition.SCALE,new goog.math.Vec2(b.x+c.x,b.y+c.y),this.duration_,this.getEasing()),a.setDirty(lime.Dirty.SCALE));return{startScale:b,delta:c}};lime.animation.ScaleTo.prototype.update=function(a,b){if(this.status_!=0){var c=this.getTargetProp(b);b.setScale(c.startScale.x+c.delta.x*a,c.startScale.y+c.delta.y*a)}};
lime.animation.ScaleTo.prototype.clearTransition=function(a){this.useTransitions()&&(a.clearTransition(lime.Transition.SCALE),a.setDirty(lime.Dirty.SCALE))};lime.animation.FadeTo=function(a){lime.animation.Animation.call(this);this.opacity_=a};goog.inherits(lime.animation.FadeTo,lime.animation.Animation);lime.animation.FadeTo.prototype.scope="fade";lime.animation.FadeTo.prototype.makeTargetProp=function(a){var b=a.getOpacity();this.useTransitions()&&(a.addTransition(lime.Transition.OPACITY,this.opacity_,this.duration_,this.getEasing()),a.setDirty(lime.Dirty.ALPHA));return{startOpacity:b,delta:this.opacity_-b}};
lime.animation.FadeTo.prototype.update=function(a,b){if(this.status_!=0){var c=this.getTargetProp(b);b.setOpacity(c.startOpacity+c.delta*a)}};lime.animation.FadeTo.prototype.clearTransition=function(a){this.useTransitions()&&(a.clearTransition(lime.Transition.OPACITY),a.setDirty(lime.Dirty.ALPHA))};lime.Renderer.CANVAS.LABEL={};lime.Renderer.DOM.LABEL={};lime.Label=function(a){lime.Sprite.call(this);this.setText(a);this.setFontFamily(lime.Label.defaultFont);this.setFontSize(14);this.setFontColor("#000");this.setAlign("center");this.setFontWeight("400");this.setPadding(0);this.setLineHeight(1.15);this.setShadow(null);this.setFill(255,255,255,0)};goog.inherits(lime.Label,lime.Sprite);lime.Label.prototype.id="label";lime.Label.defaultFont="Arial";
lime.Label.prototype.supportedRenderers=[lime.Renderer.DOM.SPRITE.makeSubRenderer(lime.Renderer.DOM.LABEL),lime.Renderer.CANVAS.SPRITE.makeSubRenderer(lime.Renderer.CANVAS.LABEL)];
(function(){var a;lime.Label.prototype.measureText=function(){goog.isDef(a)||(a=document.createElement("canvas").getContext("2d"));var b=this.getLineHeight()*this.getFontSize();a.font=this.getFontSize()+"px "+this.getFontFamily();var c=a.measureText(this.text_),d=this.stroke_?this.stroke_.width_:0;return new goog.math.Size(this.padding_[1]+this.padding_[3]+(goog.userAgent.WEBKIT?c.width:c.width+1)+d*2,this.padding_[0]+this.padding_[2]+b+d*2)}})();
lime.Label.prototype.getSize=function(){var a=lime.Node.prototype.getSize.call(this);return!a||!a.width&&!a.height?this.measureText():a};lime.Label.prototype.getText=function(){return this.text_};lime.Label.prototype.setText=function(a){this.text_=a+"";this.setDirty(lime.Dirty.CONTENT);delete this.words_;return this};lime.Label.prototype.getFontFamily=function(){return this.fontFamily_};lime.Label.prototype.setFontWeight=function(a){this.fontWeight_=a;this.setDirty(lime.Dirty.FONT);return this};
lime.Label.prototype.getFontWeight=function(){return this.fontWeight_};lime.Label.prototype.setFontFamily=function(a){this.fontFamily_=a;this.setDirty(lime.Dirty.FONT);return this};lime.Label.prototype.getFontSize=function(){return this.fontSize_};lime.Label.prototype.setFontSize=function(a){this.fontSize_=a;this.setDirty(lime.Dirty.FONT);return this};lime.Label.prototype.getFontColor=function(){return this.fontColor_};
lime.Label.prototype.setFontColor=function(a){this.fontColor_=a;this.setDirty(lime.Dirty.FONT);return this};lime.Label.prototype.getPadding=function(){return this.padding_};lime.Label.prototype.setPadding=function(a,b,c,d){a=[a,a,a,a];goog.isDef(b)&&(a[1]=a[3]=b);goog.isDef(c)&&(a[2]=c);goog.isDef(d)&&(a[3]=d);this.padding_=a;this.setDirty(lime.Dirty.FONT);return this};lime.Label.prototype.setLineHeight=function(a,b){this.lineHeightAbsolute_=b||false;this.lineHeight_=a};
lime.Label.prototype.getLineHeight=function(){var a=Math.abs(this.getShadowOffset().y)+this.shadowBlur_*2;return this.lineHeightAbsolute_?(this.lineHeight_+a)/this.getFontSize():this.lineHeight_+a/this.getFontSize()};lime.Label.prototype.getAlign=function(){return this.align_};lime.Label.prototype.setAlign=function(a){this.align_=a;this.setDirty(lime.Dirty.FONT);return this};
lime.Label.prototype.setShadow=function(a,b,c,d){arguments.length==1&&goog.isNull(a)?(this.setShadowColor("#ccc"),this.setShadowBlur(0),this.setShadowOffset(0,0)):arguments.length==2?(this.setShadowColor(a),this.setShadowBlur(b),this.setShadowOffset(new goog.math.Vec2(0,0))):arguments.length==3?(this.setShadowColor(a),this.setShadowBlur(b),this.setShadowOffset(c)):(this.setShadowColor(a),this.setShadowBlur(b),this.setShadowOffset(c,d));this.setDirty(lime.Dirty.FONT);return this};
lime.Label.prototype.hasShadow_=function(){return this.shadowBlur_||this.shadowOffset_.x||this.shadowOffset_.y};lime.Label.prototype.getShadowColor=function(){return this.shadowColor_};lime.Label.prototype.getShadowOffset=function(){return this.shadowOffset_};lime.Label.prototype.setShadowColor=function(a){this.shadowColor_=a};lime.Label.prototype.setShadowBlur=function(a){this.shadowBlur_=a};
lime.Label.prototype.setShadowOffset=function(a,b){this.shadowOffset_=arguments.length==2?new goog.math.Vec2(arguments[0],arguments[1]):a;this.setDirty(lime.Dirty.FONT);return this};lime.Label.prototype.getShadowBlur=function(){return this.shadowBlur_};
lime.Label.prototype.calcWordsArray=function(){var a=[],b=this.text_.length,c=this.text_.match(goog.userAgent.GECKO?/[\s\.]+/g:/[\s-\.]+/g),d=0;if(c)for(var e=0;e<c.length;e++){var f=c[e],f=this.text_.indexOf(f,d)+f.length;a.push(this.text_.substring(d,f));d=f}d!=b&&a.push(this.text_.substring(d,b));return a};
lime.Label.prototype.wrapText=function(a,b){for(var c=[],d="",e=this.words_,f,g=0;g<e.length;g++)d==""?d=e[g]:(f=a.measureText(goog.string.trim(d+e[g])),f.width>b?(c.push(goog.string.trim(d)),d=e[g]):d+=e[g]);c.push(d);return c};lime.Label.prototype.update=function(){this.getDirty()&lime.Dirty.CONTENT&&delete this.lastDrawnWidth_;lime.Node.prototype.update.apply(this,arguments)};
lime.Renderer.DOM.LABEL.draw=function(a){lime.Renderer.DOM.SPRITE.draw.call(this,a);var b=a.style;this.dirty_&lime.Dirty.CONTENT&&goog.dom.setTextContent(a,this.text_);if(this.dirty_&lime.Dirty.FONT)b.lineHeight=this.getLineHeight(),b.padding=goog.array.map(this.padding_,function(a){return a*this.getRelativeQuality()},this).join("px ")+"px",b.color=this.getFontColor(),b.fontFamily=this.getFontFamily(),b.fontSize=this.getFontSize()*this.getRelativeQuality()+"px",b.fontWeight=this.getFontWeight(),b.textAlign=
this.getAlign(),b.textShadow=this.hasShadow_()?this.getShadowColor()+" "+this.getShadowOffset().x+"px "+this.getShadowOffset().y+"px "+this.getShadowBlur()+"px":""};
lime.Renderer.CANVAS.LABEL.draw=function(a){lime.Renderer.CANVAS.SPRITE.draw.call(this,a);var b=this.getFrame(),c=-b.left-this.padding_[3]+b.right-this.padding_[1]+Math.abs(this.getShadowOffset().x)+Math.abs(this.getShadowBlur()*2),d=0;if(!this.words_)this.words_=this.calcWordsArray(),d=1;var e=this.stroke_?this.stroke_.width_:0;a.save();var f=this.getAlign();f=="left"?a.translate(b.left+this.padding_[3]+e,b.top+this.padding_[0]+e):f=="right"?a.translate(b.right-this.padding_[1]-e,b.top+this.padding_[0]+
e):f=="center"&&a.translate((b.left+this.padding_[3]+b.right-this.padding_[1])*0.5,b.top+this.padding_[0]+e);b=this.getLineHeight();a.fillStyle=this.getFontColor();a.font=this.getFontWeight()+" "+this.getFontSize()+"px/"+b+" "+this.getFontFamily();a.textAlign=f;a.textBaseline="top";if(this.hasShadow_())a.shadowColor=this.getShadowColor(),a.shadowOffsetX=this.getShadowOffset().x,a.shadowOffsetY=this.getShadowOffset().y,a.shadowBlur=this.getShadowBlur();if(d||c!=this.lastDrawnWidth_)this.lines_=this.wrapText(a,
c),this.lastDrawnWidth_=c;if(this.lines_){c=b*this.getFontSize();d=(goog.isDef(this.getShadowBlur())?Math.abs(this.getShadowBlur()):0)+(goog.isDef(this.getShadowOffset())?Math.abs(this.getShadowOffset().y)/2:0);c=goog.userAgent.WEBKIT?Math.floor(c):Math.round(c);for(f=0;f<this.lines_.length;f++)a.fillText(this.lines_[f],0,c*f+d-0.5)}a.restore()};lime.Label.installFont=function(a,b,c){goog.style.installStyles('@font-face{font-family: "'+a+'";src: url('+b+') format("'+(c||"truetype")+'");})')};lime.animation.RotateTo=function(a){lime.animation.Animation.call(this);this.angle_=a};goog.inherits(lime.animation.RotateTo,lime.animation.Animation);lime.animation.RotateTo.prototype.scope="rotate";lime.animation.RotateTo.prototype.makeTargetProp=function(a){var b=a.getRotation();this.useTransitions()&&(a.addTransition(lime.Transition.ROTATION,this.angle_,this.duration_,this.getEasing()),a.setDirty(lime.Dirty.POSITION));return{startRot:b,delta:this.angle_-b}};
lime.animation.RotateTo.prototype.update=function(a,b){if(this.status_!=0){var c=this.getTargetProp(b);b.setRotation(c.startRot+c.delta*a)}};lime.animation.RotateTo.prototype.clearTransition=function(a){this.useTransitions()&&(a.clearTransition(lime.Transition.ROTATION),a.setDirty(lime.Dirty.POSITION))};lime.Renderer.CANVAS.CIRCLE={};lime.Renderer.DOM.CIRCLE={};lime.Circle=function(){lime.Sprite.call(this)};goog.inherits(lime.Circle,lime.Sprite);lime.Circle.prototype.id="circle";lime.Circle.prototype.supportedRenderers=[lime.Renderer.DOM.SPRITE.makeSubRenderer(lime.Renderer.DOM.CIRCLE),lime.Renderer.CANVAS.SPRITE.makeSubRenderer(lime.Renderer.CANVAS.CIRCLE)];
lime.Circle.prototype.hitTest=function(a){var b=this.screenToLocal(a.screenPosition),c=this.size_,d=this.anchorPoint_,e=c.width*0.5,f=c.height*0.5,g=b.x-c.width*(0.5-d.x),c=b.y-c.height*(0.5-d.y);return g*g/(e*e)+c*c/(f*f)<1?(a.position=b,true):false};lime.Renderer.DOM.CIRCLE.draw=function(a){var b=this.getSize();lime.Renderer.DOM.SPRITE.draw.call(this,a);lime.style.setBorderRadius(a,b.width*0.5,b.height*0.5)};
lime.Renderer.CANVAS.CIRCLE.draw=function(a){this.getSize();var b=this.getAnchorPoint(),c=this.getFrame(),d=(c.right-c.left)*0.5,c=(c.bottom-c.top)*0.5;a.save();a.save();a.scale(d,c);a.translate(1-2*b.x,1-2*b.y);a.beginPath();a.arc(0,0,1,0,2*Math.PI,false);a.closePath();a.restore();a.clip();lime.Renderer.CANVAS.SPRITE.draw.call(this,a);this.stroke_&&(a.lineWidth*=2,a.stroke());a.restore()};lime.Scene=function(){lime.Node.call(this);this.setAnchorPoint(0,0);this.domClassName="lime-scene";this.createDomElement()};goog.inherits(lime.Scene,lime.Node);lime.Scene.prototype.getScene=function(){return this};lime.Scene.prototype.measureContents=function(){return this.getFrame()};lime.animation.Loop=function(a){lime.animation.Animation.call(this);this.action_=a;goog.events.listen(a,lime.animation.Event.STOP,this.handleActionEnd_,false,this);this.setLimit(0);this.playing_=this.timesRun_=0;this.setDuration(a.duration_)};goog.inherits(lime.animation.Loop,lime.animation.Animation);lime.animation.Loop.prototype.initTarget=function(a){lime.animation.Animation.prototype.initTarget.call(this,a);this.setDuration(this.action_.duration_)};lime.animation.Loop.prototype.getLimit=function(){return this.limit_};
lime.animation.Loop.prototype.setLimit=function(a){this.limit_=a;this.timesRun_=0;return this};lime.animation.Loop.prototype.play=function(){this.action_.play();this.playing_=1;this.dispatchEvent({type:lime.animation.Event.START})};lime.animation.Loop.prototype.stop=function(){this.playing_=0;this.action_.stop();this.dispatchEvent({type:lime.animation.Event.STOP})};
lime.animation.Loop.prototype.handleActionEnd_=function(){this.timesRun_++;this.playing_&&(!this.limit_||this.timesRun_<this.limit_)&&this.action_.play()};lime.animation.Loop.prototype.addTarget=function(a){this.action_.addTarget(a)};lime.animation.Loop.prototype.removeTarget=function(a){this.action_.removeTarget(a)};lime.animation.ScaleBy=function(a){lime.animation.Animation.call(this);this.factor_=arguments.length==1&&goog.isNumber(a)?new goog.math.Vec2(a,a):arguments.length==2?new goog.math.Vec2(arguments[0],arguments[1]):a};goog.inherits(lime.animation.ScaleBy,lime.animation.Animation);lime.animation.ScaleBy.prototype.scope="scale";
lime.animation.ScaleBy.prototype.makeTargetProp=function(a){var b=a.getScale(),c=new goog.math.Vec2(b.x*this.factor_.x-b.x,b.y*this.factor_.y-b.y);this.useTransitions()&&(a.addTransition(lime.Transition.SCALE,new goog.math.Vec2(b.x+c.x,b.y+c.y),this.duration_,this.getEasing()),a.setDirty(lime.Dirty.SCALE));return{startScale:b,delta:c}};
lime.animation.ScaleBy.prototype.update=function(a,b){if(this.status_!=0){var c=this.getTargetProp(b);b.setScale(c.startScale.x+c.delta.x*a,c.startScale.y+c.delta.y*a)}};lime.animation.ScaleBy.prototype.clearTransition=function(a){this.useTransitions()&&(a.clearTransition(lime.Transition.SCALE),a.setDirty(lime.Dirty.SCALE))};lime.animation.ScaleBy.prototype.reverse=function(){var a=this.factor_.clone();a.x=1/a.x;a.y=1/a.y;return(new lime.animation.ScaleBy(a)).cloneParam(this)};lime.animation.MoveBy=function(a,b){lime.animation.Animation.call(this);this.delta_=arguments.length==2?new goog.math.Coordinate(arguments[0],arguments[1]):a};goog.inherits(lime.animation.MoveBy,lime.animation.Animation);lime.animation.MoveBy.prototype.scope="move";lime.animation.MoveBy.prototype.setSpeed=function(a){this.speed_=a;this.calcDurationFromSpeed_();return this};
lime.animation.MoveBy.prototype.makeTargetProp=function(a){this.useTransitions()&&(a.addTransition(lime.Transition.POSITION,goog.math.Coordinate.sum(a.getPosition(),this.delta_),this.duration_,this.getEasing()),a.setDirty(lime.Dirty.POSITION));return{startpos:a.getPosition()}};lime.animation.MoveBy.prototype.calcDurationFromSpeed_=function(){if(this.speed_)this.setDuration(this.speed_*goog.math.Coordinate.distance(this.delta_,new goog.math.Coordinate(0,0))/100),this.speedCalcDone_=1};
lime.animation.MoveBy.prototype.update=function(a,b){if(this.status_!=0){var c=this.getTargetProp(b);b.setPosition(c.startpos.x+this.delta_.x*a,c.startpos.y+this.delta_.y*a)}};lime.animation.MoveBy.prototype.clearTransition=function(a){this.useTransitions()&&(a.clearTransition(lime.Transition.POSITION),a.setDirty(lime.Dirty.POSITION))};lime.animation.MoveBy.prototype.reverse=function(){var a=this.delta_.clone();a.x*=-1;a.y*=-1;return(new lime.animation.MoveBy(a)).cloneParam(this)};lime.CoverNode=function(){lime.Node.call(this);var a=this.baseElement;this.baseElement=document.createElement("canvas");goog.dom.replaceNode(this.baseElement,a);this.context=this.baseElement.getContext("2d");goog.dom.classes.add(this.baseElement,"lime-cover")};goog.inherits(lime.CoverNode,lime.Node);
lime.CoverNode.prototype.update=function(){if(this.director){var a=goog.style.getSize(this.director.baseElement.parentNode),b=this.baseElement.style,c=this.director.getScale(),d=this.getQuality();b.width=a.width+"px";b.height=a.height+"px";this.baseElement.width=a.width/c.x*d;this.baseElement.height=a.height/c.y*d;this.updateRect_?this.setNeedsRedrawInRect(this.updateRect_):this.setNeedsRedraw()}};
lime.CoverNode.prototype.setNeedsRedraw=function(){this.setNeedsRedrawInRect(this.director.getBounds(new goog.math.Box(0,this.baseElement.width/this.getQuality(),this.baseElement.height/this.getQuality(),0)))};lime.CoverNode.prototype.setNeedsRedrawInRect=function(a){var b=this.director,c=this.getQuality(),d=b.getScale(),b=b.getPosition();this.context.save();this.context.scale(c,c);this.context.translate(b.x/d.x,b.y/d.y);this.drawInRect(a);this.context.restore()};lime.helper={};lime.helper.PauseScene=function(){lime.Scene.call(this);this.domElement.style.cssText="background:rgba(255,255,255,.8)"};goog.inherits(lime.helper.PauseScene,lime.Scene);lime.events={};lime.events.Drag=function(a,b,c,d){goog.events.EventTarget.call(this);this.target=d||a.targetObject;this.dropTargets_=[];this.dropIndex_=-1;this.y=this.x=0;if(!b)b=this.target.localToScreen(new goog.math.Coordinate(0,0)),this.x=a.screenPosition.x-b.x,this.y=a.screenPosition.y-b.y;a.swallow(["touchmove","mousemove"],goog.bind(this.moveHandler_,this));a.swallow(["touchend","touchcancel","mouseup"],goog.bind(this.releaseHandler_,this));this.setBounds(c||null);this.dispatchEvent(new goog.events.Event(lime.events.Drag.Event.START))};
goog.inherits(lime.events.Drag,goog.events.EventTarget);lime.events.Drag.Event={START:"start",END:"end",MOVE:"move",CHANGE:"change",DROP:"drop",CANCEL:"cancel"};lime.events.Drag.prototype.disposeInternal=function(){lime.events.Drag.superClass_.disposeInternal.call(this);this.dropTargets_=this.target=this.event_=null};lime.events.Drag.prototype.getBounds=function(){return this.bounds_};lime.events.Drag.prototype.setBounds=function(a){this.bounds_=a};
lime.events.Drag.prototype.moveHandler_=function(a){a=a.screenPosition.clone();a.x-=this.x;a.y-=this.y;var a=this.target.getParent().screenToLocal(a),b=this.getBounds();if(goog.isDefAndNotNull(b)){if(a.x<b.left)a.x=b.left;else if(a.x>b.right)a.x=b.right;if(a.y<b.top)a.y=b.top;else if(a.y>b.bottom)a.y=b.bottom}this.target.setPosition(a);this.dispatchEvent(new goog.events.Event(lime.events.Drag.Event.MOVE));for(var a=-1,b=goog.math.Rect.createFromBox(this.target.getFrame()),c=[],d=0;d<this.dropTargets_.length;d++){var e=
this.dropTargets_[d];if(!goog.isFunction(e.confirmTargetActive)||e.confirmTargetActive(this.target)){var f=e.getFrame(),g=e.localToNode(new goog.math.Coordinate(f.left,f.top),this.target),e=e.localToNode(new goog.math.Coordinate(f.right,f.bottom),this.target),g=goog.math.Rect.createFromBox(new goog.math.Box(Math.min(g.y,e.y),Math.max(g.x,e.x),Math.max(g.y,e.y),Math.min(e.x,g.x)));(e=goog.math.Rect.intersection(b,g))&&c.push([e.width*e.height/(g.width*g.height),d])}}c.length&&(c=c.sort(function(a,
b){return b[0]-a[0]}),a=c[0][1]);if(a!=this.dropIndex_)this.dropIndex_!=-1&&goog.isFunction(this.dropTargets_[this.dropIndex_].hideDropHightLight)&&this.dropTargets_[this.dropIndex_].hideDropHightLight(),this.dropIndex_=a,this.dropIndex_!=-1&&goog.isFunction(this.dropTargets_[this.dropIndex_].showDropHightLight)&&this.dropTargets_[this.dropIndex_].showDropHightLight(),a=new goog.events.Event(lime.events.Drag.Event.CHANGE),a.activeDropTarget=this.dropIndex_!=-1?this.dropTargets_[this.dropIndex_]:null,
this.dispatchEvent(a)};
lime.events.Drag.prototype.releaseHandler_=function(){if(this.dropIndex_!=-1){var a=new goog.events.Event(lime.events.Drag.Event.DROP);a.activeDropTarget=this.dropTargets_[this.dropIndex_];goog.isFunction(a.activeDropTarget.showDropHightLight)&&a.activeDropTarget.hideDropHightLight();this.dispatchEvent(a);if(!a.propagationStopped_){var b=a.activeDropTarget.getParent().localToNode(a.activeDropTarget.getPosition(),this.target.getParent()),b=(new lime.animation.MoveTo(b)).setDuration(0.5).enableOptimizations();this.target.runAction(b);
goog.isFunction(a.moveEndedCallback)&&goog.events.listen(b,lime.animation.Event.STOP,a.moveEndedCallback,false,this.target)}}else this.dispatchEvent(new goog.events.Event(lime.events.Drag.Event.CANCEL));this.dispatchEvent(new goog.events.Event(lime.events.Drag.Event.END));lime.scheduleManager.callAfter(this.dispose,this,100)};lime.events.Drag.prototype.addDropTarget=function(a){this.dropTargets_.push(a)};lime.events.Event=function(a){this.dispatcher_=a;this.identifier=0};lime.events.Event.prototype.swallow=function(a,b,c){for(var a=goog.isArray(a)?a:[a],d=0;d<a.length;d++)this.dispatcher_.swallow(this,a[d],b);c&&this.event.stopPropagation()};
lime.events.Event.prototype.release=function(a){var b=goog.isDef(a),c=goog.isArray(a)?a:[a];if(a=this.dispatcher_.swallows[this.identifier]){var d=this,a=goog.array.filter(a,function(a){return!goog.isDef(d.targetObject)||a[0]==d.targetObject&&(!b||goog.array.contains(c,a[1]))?(goog.events.unlisten(a[0],a[1],a[2]),false):true});a.length?this.dispatcher_.swallows[this.identifier]=a:delete this.dispatcher_.swallows[this.identifier]}};
lime.events.Event.prototype.startDrag=function(a,b,c){return new lime.events.Drag(this,a,b,c)};lime.events.Event.prototype.clone=function(){var a=new lime.events.Event(this.dispatcher_);goog.object.extend(a,this);return a};lime.events.EventDispatcher=function(a){this.director=a;this.handlers={};this.swallows={}};lime.events.EventDispatcher.prototype.register=function(a,b){goog.isDef(this.handlers[b])?goog.array.contains(this.handlers[b],a)||(this.handlers[b].push(a),this.handlers[b].sort(lime.Node.compareNode)):(this.handlers[b]=[a],goog.events.listen(b.substring(0,5)=="touch"&&a!=this.director?document:b.substring(0,3)=="key"?window:this.director.domElement.parentNode,b,this,false,this))};
lime.events.EventDispatcher.prototype.release=function(a,b){goog.isDef(this.handlers[b])&&(goog.array.remove(this.handlers[b],a),this.handlers[b].length||(goog.events.unlisten(this.director.domElement.parentNode,b,this,false,this),delete this.handlers[b]))};lime.events.EventDispatcher.prototype.updateDispatchOrder=function(a){for(var b in this.handlers){var c=this.handlers[b];goog.array.contains(c,a)&&c.sort(lime.Node.compareNode)}};
lime.events.EventDispatcher.prototype.swallow=function(a,b,c){var d=a.identifier;goog.isDef(this.swallows[d])||(this.swallows[d]=[]);this.swallows[d].push([a.targetObject,b,c]);goog.events.listen(a.targetObject,b,goog.nullFunction)};
lime.events.EventDispatcher.prototype.handleEvent=function(a){if(goog.isDef(this.handlers[a.type])){for(var b=this.handlers[a.type].slice(),c=false,d=0,e=0;!e;){var f=new lime.events.Event(this);f.type=a.type;f.event=a;if(a.type.substring(0,5)=="touch"){var g=a.getBrowserEvent().changedTouches[d];f.screenPosition=new goog.math.Coordinate(g.pageX,g.pageY);f.identifier=g.identifier;d++;d>=a.getBrowserEvent().changedTouches.length&&(e=1)}else f.screenPosition=new goog.math.Coordinate(a.clientX,a.clientY),
e=1;if(goog.isDef(this.swallows[f.identifier])){for(var g=this.swallows[f.identifier],h=0;h<g.length;h++)if(g[h][1]==a.type||goog.isArray(g[h][1])&&goog.array.contains(g[h][1],a.type)){var i=g[h][0];f.targetObject=i;f.position=i.screenToLocal(f.screenPosition);g[h][2].call(i,f);c=true}if(a.type=="touchend"||a.type=="touchcancel"||a.type=="mouseup"||a.type=="keyup")delete f.targetObject,f.release()}else for(h=0;h<b.length;h++)if(i=b[h],!(this.director.getCurrentScene()!=i.getScene()&&i!=this.director)&&
!i.getHidden()&&i.inTree_&&(f.targetObject=i,i.hitTest(f)||a.type.substring(0,3)=="key"))if(f.targetObject=i,i.dispatchEvent(f),c=true,f.event.propagationStopped_)break}c&&a.preventDefault()}};goog.dom.ViewportSizeMonitor=function(a){goog.events.EventTarget.call(this);this.window_=a||window;this.listenerKey_=goog.events.listen(this.window_,goog.events.EventType.RESIZE,this.handleResize_,false,this);this.size_=goog.dom.getViewportSize(this.window_);if(this.isPollingRequired_())this.windowSizePollInterval_=window.setInterval(goog.bind(this.checkForSizeChange_,this),goog.dom.ViewportSizeMonitor.WINDOW_SIZE_POLL_RATE)};goog.inherits(goog.dom.ViewportSizeMonitor,goog.events.EventTarget);
goog.dom.ViewportSizeMonitor.getInstanceForWindow=function(a){var a=a||window,b=goog.getUid(a);return goog.dom.ViewportSizeMonitor.windowInstanceMap_[b]=goog.dom.ViewportSizeMonitor.windowInstanceMap_[b]||new goog.dom.ViewportSizeMonitor(a)};goog.dom.ViewportSizeMonitor.windowInstanceMap_={};goog.dom.ViewportSizeMonitor.WINDOW_SIZE_POLL_RATE=500;goog.dom.ViewportSizeMonitor.prototype.listenerKey_=null;goog.dom.ViewportSizeMonitor.prototype.window_=null;
goog.dom.ViewportSizeMonitor.prototype.size_=null;goog.dom.ViewportSizeMonitor.prototype.windowSizePollInterval_=null;goog.dom.ViewportSizeMonitor.prototype.isPollingRequired_=function(){return goog.userAgent.WEBKIT&&goog.userAgent.WINDOWS||goog.userAgent.OPERA&&this.window_.self!=this.window_.top};goog.dom.ViewportSizeMonitor.prototype.getSize=function(){return this.size_?this.size_.clone():null};
goog.dom.ViewportSizeMonitor.prototype.disposeInternal=function(){goog.dom.ViewportSizeMonitor.superClass_.disposeInternal.call(this);if(this.listenerKey_)goog.events.unlistenByKey(this.listenerKey_),this.listenerKey_=null;if(this.windowSizePollInterval_)window.clearInterval(this.windowSizePollInterval_),this.windowSizePollInterval_=null;this.size_=this.window_=null};goog.dom.ViewportSizeMonitor.prototype.handleResize_=function(){this.checkForSizeChange_()};
goog.dom.ViewportSizeMonitor.prototype.checkForSizeChange_=function(){var a=goog.dom.getViewportSize(this.window_);if(!goog.math.Size.equals(a,this.size_))this.size_=a,this.dispatchEvent(goog.events.EventType.RESIZE)};lime.transitions={};lime.transitions.Transition=function(a,b){goog.events.EventTarget.call(this);this.duration_=1;this.outgoing_=a;this.incoming_=b;this.finished_=false};goog.inherits(lime.transitions.Transition,goog.events.EventTarget);lime.transitions.Transition.prototype.getDuration=function(){return this.duration_};lime.transitions.Transition.prototype.setDuration=function(a){this.duration_=a;return this};
lime.transitions.Transition.prototype.setFinishCallback=function(){goog.DEBUG&&console&&console.warn&&console.warn("Transition.prototype.setFinishCallback() is deprecated. Use event listeners.");return this};lime.transitions.Transition.prototype.start=function(){this.incoming_.setPosition(new goog.math.Coordinate(0,0));this.incoming_.setHidden(false);this.finish()};lime.transitions.Transition.prototype.finish=function(){this.dispatchEvent(new goog.events.Event("end"));this.finished_=true};lime.Director=function(a,b,c){lime.Node.call(this);this.inTree_=true;this.setAnchorPoint(0,0);this.sceneStack_=[];this.coverStack_=[];this.domClassName="lime-director";this.createDomElement();a.appendChild(this.domElement);if(goog.userAgent.WEBKIT&&goog.userAgent.MOBILE)this.coverElementBelow=document.createElement("div"),goog.dom.classes.add(this.coverElementBelow,"lime-cover-below"),goog.dom.insertSiblingBefore(this.coverElementBelow,this.domElement),this.coverElementAbove=document.createElement("div"),
goog.dom.classes.add(this.coverElementAbove,"lime-cover-above"),goog.dom.insertSiblingAfter(this.coverElementAbove,this.domElement);a.style.position!="absolute"&&(a.style.position="relative");a.style.overflow="hidden";if(a==document.body){goog.style.installStyles("html,body{margin:0;padding:0;height:100%;}");var d=document.createElement("meta");d.name="viewport";var e="width=device-width,initial-scale=1.0,minimum-scale=1,maximum-scale=1.0,user-scalable=no";/android/i.test(navigator.userAgent)&&(e+=
",target-densityDpi=device-dpi");d.content=e;document.getElementsByTagName("head").item(0).appendChild(d);if(goog.userAgent.MOBILE&&!goog.global.navigator.standalone){var f=this;setTimeout(function(){window.scrollTo(0,0);f.invalidateSize_()},100)}}var g,a=goog.style.getSize(a);this.setSize(new goog.math.Size(g=b||a.width||lime.Director.DEFAULT_WIDTH,c||a.height*g/a.width||lime.Director.DEFAULT_HEIGHT));this.setDisplayFPS(goog.DEBUG);this.setPaused(false);b=new goog.dom.ViewportSizeMonitor;goog.events.listen(b,
goog.events.EventType.RESIZE,this.invalidateSize_,false,this);goog.events.listen(goog.global,"orientationchange",this.invalidateSize_,false,this);lime.scheduleManager.schedule(this.step_,this);this.eventDispatcher=new lime.events.EventDispatcher(this);goog.events.listen(this,["touchmove","touchstart"],function(a){a.event.preventDefault()},false,this);goog.events.listen(this,["mouseup","touchend","mouseout","touchcancel"],function(){},false);this.invalidateSize_();goog.DEBUG&&goog.events.listen(goog.global,
"keyup",this.keyUpHandler_,false,this)};goog.inherits(lime.Director,lime.Node);lime.Director.FPS_INTERVAL=100;lime.Director.DEFAULT_WIDTH=400;lime.Director.DEFAULT_HEIGHT=400;lime.Director.prototype.isPaused=function(){return this.isPaused_};
lime.Director.prototype.setPaused=function(a){this.isPaused_=a;lime.scheduleManager.changeDirectorActivity(this,!a);this.isPaused_?(this.pauseScene=new lime.helper.PauseScene,this.pushScene(this.pauseScene)):this.pauseScene&&(this.popScene(),delete this.pauseScene);return this};lime.Director.prototype.isDisplayFPS=function(){return this.displayFPS_};
lime.Director.prototype.setDisplayFPS=function(a){if(this.displayFPS_&&!a)goog.dom.removeNode(this.fpsElement_);else if(!this.displayFPS_&&a)this.accumDt_=this.frames_=0,this.fpsElement_=goog.dom.createDom("div"),goog.dom.classes.add(this.fpsElement_,"lime-fps"),this.domElement.parentNode.appendChild(this.fpsElement_);this.displayFPS_=a;return this};lime.Director.prototype.getCurrentScene=function(){return this.sceneStack_.length?this.sceneStack_[this.sceneStack_.length-1]:null};
lime.Director.prototype.getDirector=function(){return this};lime.Director.prototype.getScene=function(){return null};lime.Director.prototype.step_=function(a){if(this.isDisplayFPS()&&(this.frames_++,this.accumDt_+=a,this.accumDt_>lime.Director.FPS_INTERVAL))this.fps=1E3*this.frames_/this.accumDt_,goog.dom.setTextContent(this.fpsElement_,this.fps.toFixed(2)),this.accumDt_=this.frames_=0;lime.updateDirtyObjects()};
lime.Director.prototype.replaceScene=function(a,b,c){a.setSize(this.getSize().clone());var b=b||lime.transitions.Transition,d=null;this.sceneStack_.length&&(d=this.sceneStack_[this.sceneStack_.length-1]);for(var e=[],f=this.sceneStack_.length;--f>=0;)this.sceneStack_[f].wasRemovedFromTree(),e.push(this.sceneStack_[f].domElement),this.sceneStack_[f].parent_=null;this.sceneStack_.length=0;this.sceneStack_.push(a);a.domElement.style.display="none";this.domElement.appendChild(a.domElement);a.parent_=
this;a.wasAddedToTree();a=new b(d,a);goog.events.listen(a,"end",function(){for(var a=e.length;--a>=0;)goog.dom.removeNode(e[a])},false,this);goog.isDef(c)&&a.setDuration(c);a.start();return a};lime.Director.prototype.updateLayout=function(){this.dirty_&=~lime.Dirty.LAYOUT};lime.Director.prototype.pushScene=function(a){a.setSize(this.getSize().clone());this.sceneStack_.push(a);this.domElement.appendChild(a.domElement);a.parent_=this;a.wasAddedToTree()};
lime.Director.prototype.popScene=function(){if(this.sceneStack_.length)this.sceneStack_[this.sceneStack_.length-1].wasRemovedFromTree(),this.sceneStack_[this.sceneStack_.length-1].parent_=null,goog.dom.removeNode(this.sceneStack_[this.sceneStack_.length-1].domElement),this.sceneStack_.pop()};
lime.Director.prototype.addCover=function(a,b){goog.userAgent.WEBKIT&&goog.userAgent.MOBILE?b?this.coverElementAbove.appendChild(a.domElement):this.coverElementBelow.appendChild(a.domElement):b?goog.dom.insertSiblingAfter(a.domElement,this.domElement):goog.dom.insertSiblingBefore(a.domElement,this.domElement);a.director=this;this.coverStack_.push(a)};lime.Director.prototype.removeCover=function(a){goog.array.remove(this.coverStack_,a);goog.dom.removeNode(a.domElement)};
lime.Director.prototype.getBounds=function(a){var b=this.getPosition(),c=this.getScale();return new goog.math.Box(a.top-b.y/c.y,a.right-b.x/c.x,a.bottom-b.y/c.y,a.left-b.x/c.x)};lime.Director.prototype.screenToLocal=function(a){a=a.clone();a.x-=this.domOffset.x+this.position_.x;a.y-=this.domOffset.y+this.position_.y;a.x/=this.scale_.x;a.y/=this.scale_.y;return a};
lime.Director.prototype.localToScreen=function(a){a=a.clone();a.x*=this.scale_.x;a.y*=this.scale_.y;a.x+=this.domOffset.x+this.position_.x;a.y+=this.domOffset.y+this.position_.y;return a};lime.Director.prototype.update=function(){lime.Node.prototype.update.call(this);for(var a=this.coverStack_.length;--a>=0;)this.coverStack_[a].update()};
lime.Director.prototype.invalidateSize_=function(){var a=goog.style.getSize(this.domElement.parentNode);if(this.domElement.parentNode==document.body&&(window.scrollTo(0,0),goog.isNumber(window.innerHeight)))a.height=window.innerHeight;var b=this.getSize().clone().scaleToFit(a);this.setScale(b.width/this.getSize().width);a.aspectRatio()<b.aspectRatio()?this.setPosition(0,(a.height-b.height)/2):this.setPosition((a.width-b.width)/2,0);this.updateDomOffset_();if(goog.userAgent.MOBILE&&this.domElement.parentNode==
document.body)this.overflowStyle_&&goog.style.uninstallStyles(this.overflowStyle_),this.overflowStyle_=goog.style.installStyles("html{height:"+(a.height+120)+"px;overflow:hidden;}")};
lime.Director.prototype.makeMobileWebAppCapable=function(){var a=document.createElement("meta");a.name="apple-mobile-web-app-capable";a.content="yes";document.getElementsByTagName("head").item(0).appendChild(a);a=document.createElement("meta");a.name="apple-mobile-web-app-status-bar-style";a.content="black";document.getElementsByTagName("head").item(0).appendChild(a);a=false;goog.isDef(localStorage)&&(a=localStorage.getItem("_lime_visited"));/(ipod|iphone|ipad)/i.test(navigator.userAgent)&&!window.navigator.standalone&&
COMPILED&&!a&&this.domElement.parentNode==document.body&&(alert("Please install this page as a web app by clicking Share + Add to home screen."),goog.isDef(localStorage)&&localStorage.setItem("_lime_visited",true))};lime.Director.prototype.updateDomOffset_=function(){this.domOffset=goog.style.getPageOffset(this.domElement.parentNode)};
lime.Director.prototype.keyUpHandler_=function(a){if(a.altKey&&String.fromCharCode(a.keyCode).toLowerCase()=="d")this.debugModeOn_?(goog.style.uninstallStyles(this.debugModeOn_),this.debugModeOn_=null):this.debugModeOn_=goog.style.installStyles(".lime-scene div,.lime-scene img,.lime-scene canvas{border: 1px solid #c00;}"),a.stopPropagation(),a.preventDefault()};lime.Director.prototype.hitTest=function(a){if(a&&a.screenPosition)a.position=this.screenToLocal(a.screenPosition);return true};var dragon={start:function(){var a=new lime.Director(document.getElementById("limeBox"),1024,768),b=new lime.Scene,c=(new lime.Layer).setPosition(1024,480),d=(new lime.Sprite).setSize(512,192).setFill("data:image/png;base64,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").setAnchorPoint(0.75,
0.5),e=(new lime.Sprite).setSize(384,256).setFill(0,0,0,0).setAnchorPoint(1,0.75).setPosition(-362,-40),f=(new lime.Sprite).setSize(320,80).setFill("data:image/png;base64,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").setAnchorPoint(1,
0.25).setPosition(-25,64),g=(new lime.Sprite).setSize(384,256).setFill("data:image/png;base64,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").setAnchorPoint(1,
0.75),h=(new lime.Label).setFontSize(60).setText("RAWR!").setOpacity(1).setPosition(-175,65).setFontColor("#f00");c.appendChild(d);d.appendChild(e);e.appendChild(h);e.appendChild(f);e.appendChild(g);b.appendChild(c);a.makeMobileWebAppCapable();d.runAction(new lime.animation.Loop(new lime.animation.Sequence(new lime.animation.RotateTo(-5),(new lime.animation.Delay).setDuration(0.8),new lime.animation.RotateTo(-45),(new lime.animation.Delay).setDuration(7.2))));e.runAction(new lime.animation.Loop(new lime.animation.Sequence(new lime.animation.RotateTo(5),
(new lime.animation.Delay).setDuration(0.8),new lime.animation.RotateTo(45),(new lime.animation.Delay).setDuration(7.2))));f.runAction(new lime.animation.Loop(new lime.animation.Sequence(new lime.animation.RotateTo(30),(new lime.animation.Delay).setDuration(0.8),new lime.animation.RotateTo(0),(new lime.animation.Delay).setDuration(7.2))));h.runAction(new lime.animation.Loop(new lime.animation.Sequence(new lime.animation.Spawn(new lime.animation.ScaleTo(2),new lime.animation.MoveTo(-450,115)),(new lime.animation.RotateTo(5)).setDuration(0.1),
(new lime.animation.RotateTo(-5)).setDuration(0.2),(new lime.animation.RotateTo(5)).setDuration(0.2),(new lime.animation.RotateTo(-5)).setDuration(0.2),(new lime.animation.RotateTo(0)).setDuration(0.1),new lime.animation.Spawn(new lime.animation.ScaleTo(1),new lime.animation.MoveTo(-175,65)),(new lime.animation.Delay).setDuration(7.2))));a.replaceScene(b)}};goog.exportSymbol("dragon.start",dragon.start);
dragon.start();
//]]>
</script>Anonymoushttp://www.blogger.com/profile/04949925043779603891noreply@blogger.com0tag:blogger.com,1999:blog-5929655177600793092.post-52346700815576788692011-09-14T21:38:00.000-04:002011-09-14T21:38:03.342-04:00Introducing Blessing Buckets<div><p>Sunday morning during Worship Service at <a href="http://www.seekstudyserve.org/">South Lansing Christian Church</a>, I got on stage and introduced Blessing Buckets to the congregation. Let me tell you how we developed the program, how it will work and how it felt to make an announcement from the stage.</p>
<p><h3>Bucket History</h3>
About 10 months ago, <a href="http://www.frankweller.com/">Frank Weller</a> came to me with an idea he called Deacon Dollars. He had just come back from <a href="http://www.catalystspace.com/">Andy Stanley's Catalyst</a> conference and wanted the deacons to have a renewed focus on benevolence with dedicated money in a separate fund to use at our discretion. That program was meant to start in January, but it didn't. In May, I started getting information about Imagine (as part of the video production team), and Frank soon asked me to incorporate the Deacon Dollars idea, now known as Generous Bucket, into Imagine. I introduced the idea to my full team at our July meeting and asked them to brainstorm the various ways we hold random blessing events (similar to the <a href="http://www.passitonproject.info/">Pass It On Project</a> the church participated in the previous fall). In our August meeting, we put a lot of great ideas of various scales up on the board, and one particular idea resonated with the whole team: "Be specific." Random blessings might address some people's real needs, but could be written off as just a nice thing to do by people who aren't really in need. We decided to introduce a request form at the bucket, and I spent the remainder of August designing that form, building the buckets, and tweaking the name to the simpler and alliterative Blessing Buckets.
<br /><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2MUk9gpzHZqLH9bU1SZwazAH1wdlSc9plRjovuoaBjFtuhMVT5jCGJ8rgz9HeJ10SRiT1gNPMSdXoea8wYVT3g7BfguQLhtanf9rrYDklcsjqPQAoLED2rY4MvS6v8xxQTAI_l63Zy4U/s400/IMAG0070.jpg" /></p>
<p><h3>How it Works</h3>
We've asked each person to slip a dollar in the bucket and let their kids do the same. We will turn those dollars directly into blessings in our community. We will do some random blessing events like bus passes for students, blankets for homeless people, and winter coats for school children. However, we want to directly bless real neighbors, real coworkers, and real classmates. So at each bucket is a pad. If someone knows of a need in their corner of the world, we've encouraged them to write it on the slip and drop it in the bucket with their dollar. For example, John Q. Public works in the cubicle next to me. He complains about getting a ticket for having a headlight out and how he is broke until the payday at the end of the month. So I'd write it on the slip with a way to contact me and drop it in the bucket. If we have enough dollars, we’ll gladly help fix the headlight. We might not get to every request, but one dollar per person per week can add up to some significant blessings!
<br /><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI_Lp8ys58iJil2NVgLBptShxejfaKlKeOYXxs-2cQsb77GNueY__dn4M7OcJgAlhBjPo8LwzwtgzQKBZlSSTkFL5UsLfm8YUGxeB1Ya4mNZuwTIgwXcAiuB2IptugqmLuDFckZvkcQzc/s400/IMAG0067.jpg" /></p>
<p><h3>Making the Announcement</h3>
I was a little less than confident when I took the stage. I am typically a behind-the-scenes guy and that is where I'm comfortable and effective. I'd just as soon leave the on stage stuff to others with a passion for it. But as my close friend Ben Cohoon reminded me, I had an intimate responsibility to the program as the leader of the deacons and as the program's champion therein. So I wrote out the announcement and asked for the stage time. Then the nerves kicked in. Frank wanted to review my announcement, and ended up editing a bit of it, so I felt less familiar with the words I was presenting. People started filing in for worship and I realized how much had changed since the last time I spoke in front of the church. That was ten years ago, when I was an 18-year old "cool nerd," weeks away from high school graduation, offering unrefined reflection before communion, with my peers filling the stage. Since then, the congregation has moved to a larger building and swelled in size by roughly two hundred members, and that is before applying Frank's fun fact that "the Sunday after Labor Day is the third most attended service" behind only Christmas and Easter. Three and a half songs into service and it was time to cross the auditorium. The song ended and Frank led me on stage and introduced me while I fumbled to take the mic. My hands trembled, one hardly holding the microphone steady, the other barely holding my cellphone which was open to the announcement on <a href="http://docs.google.com/">Google Docs</a>. I couldn't see the people with the bright, hot theater lights pointed at me, and I wondered if they could even hear me with the way the mic danced in front of my face. And then it was over. I had read the last line of my announcement and exited the stage. Frank was confidently reiterating the points I had made while I quickly retreated to the safety of familiar duties.</p>
<p>The feedback has been overwhelmingly positive. It seems like people are genuinely excited about the Blessing Buckets. It feels like all the planning has paid off, but it is time for the real work to begin. I believe my team and I are ready to thrive in our new responsibilities and effectively bless people <a href="http://www.biblegateway.com/passage/?search=Ephesians%203:14-21&version=NIV">immeasurably more than all we could ask or imagine</a>.</p></div>Anonymoushttp://www.blogger.com/profile/04949925043779603891noreply@blogger.com0tag:blogger.com,1999:blog-5929655177600793092.post-3279215032023216182011-08-21T00:30:00.008-04:002011-08-22T12:57:03.790-04:00The Foreclosure<div><p>This is probably the most stressful and irritating thing we had to deal with in the last 2+ years. We lost our house to foreclosure. We became a zero-down, sub-prime statistic. Here is how it happened.</p><p>October 2008, Jenny and I bought a decent house with zero-down. Our budget was a little tight, but we felt we had plenty to live on after making the mortgage payment every month. We probably looked a little sub-prime on paper with our student loans and medical bills hanging around, but we were able to close quickly.</p><p>We had a great first year, but in late November 2009 we got a notice from the bank that the escrow account was overdrawn by about $2400. A little investigating showed us that we had been charged the wrong tax rate. We should have been charged Homestead Tax for owning and living on the property, but we were instead charged with Non-Homestead Tax which is about double the Homestead rate.</p><p>Escrow wanted to recoup this shortfall within 30 days of the notice, but we couldn't make that happen in the time allotted. Escrow's fall back position was charge the shortfall over 12 months (with fees) as part of our mortgage payment. This increased our payments by about 45%. We had hope that contacting the city would correct the rate and provide us with a refund for the over-payment fairly quickly, so we decided to run a deficit on the checking account at the mortgage bank that we set up for automated payments (and a lower APR).</p><p>Time marched on, and we made no headway with the city. They wanted proof of residency. We gave them months and months worth of this bill and that bill and they still weren't satisfied. Even after resubmitting whatever form they said was missing initially, our tax rate wasn't adjusted from that point forward.</p><p>By the spring of 2010, the computing power behind the checking account decided to close the account. As we were still unable to make the bigger payments, a deficit began to grow directly on the mortgage account. I began to dread every knock and every call. This began to trigger foreclosure proceedings that culminated in a Sheriff's sale in October 2010.</p><p>The six month Right to Redemption period wasn't any less stressful. We were still trying to get things straight with the city and the refund we were sure we were due could get us square with the bank. I was hoping that a private buyer at the foreclosure sale would extend an offer to stay on as renters.</p><p>In April 2011, the letter finally came announcing we had 7 days to vacate the property. It hurt. I felt like a failure as a husband and a provider. We yelled. We cried. We prayed. It became clear that it was okay to walk away. We found an apartment, and we found a storage unit. We had loads of help from those nearest and dearest to us, who were all shocked by the news. It turns out we had a little more than 7 days to get everything out, but by the time we were served with the court papers, we were at peace with the situation. We handed over the keys with out a fight, and found a little more room in our budget by letting go.</p><p>It seems like the deck was stacked against us from the beginning, but we weren't financially ready to be homeowners. That was a very hard lesson to learn.</p></div>Anonymoushttp://www.blogger.com/profile/04949925043779603891noreply@blogger.com1tag:blogger.com,1999:blog-5929655177600793092.post-34976731403681456792011-08-14T14:43:00.005-04:002011-08-15T19:11:51.555-04:00The BuyoutI mentioned in last week's post that there were several intertwined reasons for my silence here. I will tell these stories individually these next few weeks. This is the first.
<br />
<br />In spring 2009, a dark, tense cloud hung over P.I. Engineering. The recession had taken its toll on the company's bottom line, and micro-managing had driven morale to an all time low. By looking at the books, the TrainMaster group was showing negative return on investment for the company.
<br />
<br />From inside the TrainMaster group, we were starting to see the first fruits of our labor as we were finally courting new customers beyond our initial R&D contracts. Our first strides of sales growth were quickly squandered by the "leadership" at P.I. Engineering.
<br />
<br />Early autumn 2009 brought us the dire news that P.I. Engineering could not afford to keep the TrainMaster group on the books for very much longer. The rest of the team and I began prepping our resumes while P.I. Engineering searched for a buyer for our division. Later that autumn, the news came that Union Pacific Corporation had entered negotiations to purchase the TrainMaster group. Over six months of haggling and double dealing, contract scares and power plays stood between us and the eventual purchase date, June 1, 2010.
<br />
<br />After those dark days, being a Union Pacific employee felt like I had reached the Promised Land. On the day of the buyout, we hired one of our most satisfied customers as our full time salesman, turning our now "off the shelf" training simulation into quick profits for our new company. It is such a great feeling to know that the people in charge actually care about our team and want to help us flourish.
<br />
<br />I probably could have told this story soon after June 1, 2010. However, those dark days toyed with my emotions in a way very similar a more personal struggle that took place over the same two years. That struggle is a story for another day.Anonymoushttp://www.blogger.com/profile/04949925043779603891noreply@blogger.com0tag:blogger.com,1999:blog-5929655177600793092.post-29066966400719255382011-08-07T16:11:00.005-04:002011-08-07T19:07:23.472-04:00The Phoenix Rises from the AshesTwo years is a long time, especially on the Internet. In the time since my last blog post much has happened that had to be kept quiet, both legally and self-imposed. However, those are stories for another post. Today, I want to talk about my goals, the grand plans for my life that I don't want to fall by the wayside of neglect and apathy.<br /><br /><h3>Make video games</h3>This is my dream career, but I won't just fall into the field. I'll have to work at it hard. I'll have to study up on game engines and platforms. I'll have to turn my stack of great ideas into working products and get people to notice. And it starts with <a href="http://unity3d.com/">Unity</a>. Unity is a middle-ware product that can release onto the web, Android, iPhone, Wii, X-Box, and PlayStation platforms. I need to learn the interface, scripting, and overall design philosophy. And then do it. For free at first.<br /><br /><h3>Meet my favorite makers</h3>I want to be able to meet some of the celebrities that inspire me. The top three are:<ul><li><a href="http://en.wikipedia.org/wiki/Miyamoto_Shigeru">Shigeru Miyamoto</a>, the creator of many of Nintendo's best franchises.</li><li><a href="http://en.wikipedia.org/wiki/Steven_Spielberg">Steven Spielberg</a>, arguably the best storyteller in Hollywood today.</li><li><a href="http://en.wikipedia.org/wiki/Felicia_Day">Felicia Day</a>, the web's most inspiring rising star.</li></ul>I'd also love to meet Joss Whedon, J.J. Abrams, M. Night Shayamalan, Weird Al, Peter Jackson, and George Lucas.<br /><br /><h3>Get out of debt</h3>This fall, Jenny and I will be leading <a href="http://www.daveramsey.com/fpu/home/">Financial Peace University</a> for our small group as part of <a href="http://www.seekstudyserve.org/imagine.htm">Imagine at South Lansing Christian Church</a>. We took the class a couple of years ago and started getting better, but never really got that Gazelle Intensity to tackle our debt problem. Nothing lights that fire like having to teach the material. It is time to be done with debt.<br /><br /><h3>Build a house</h3>One of the earliest shared goals between Jenny and I is the desire to build our dream house in north-western Lower Michigan. It will be a large house on a lot of land. It will have an arcade, a pool, secret passages, and enough room to host youth group and business retreats. I also want to build faux ruins in the woods on our property, including an amphitheater and an observatory tower.<br /><br /><h3>Have children</h3>Jenny and I have had trouble with this so far. I've had a surgery, and Jenny has tried several medications to no avail. We have hope that we will be so blessed in time, but we are ok with the wait for now. We will probably start working hard for it again after Jenny graduates next spring.<br /><br /><h3>Be married 80 years</h3>That means Jenny and I will both have to make it to 101 years old, and not get on each others nerves too bad. In a culture where spouses are changed as frequently as tires on your car, we want to stand out as a testimony to what marriage can really be. Part of this is living balanced and healthy lives.<br /><br /><h3>Be gutless</h3>I've had a tummy hanging over my belt as long as I remember. Its days are numbered. I started using <a href="http://www.livestrong.com/myplate/">MyPlate at LiveStrong.com</a> back in May. You can see my current results to the right. My original goal was to be gutless by Halloween, but that may have been enough time to achieve the desired results. So if I don't make it by Halloween, I will do so soon after, and I won't let that belly fat come back.<br /><br /><h3>Learn the ways of the sword</h3>Part of being healthy is finding some activity to be your key exercise. Jenny and I plan to study sword fighting with the <a href="http://www.thearma.org/">Association for Renaissance Martial Arts</a>. I've always loved to pretend sword fight - with sticks, <a href="http://www.youtube.com/watch?v=H28PtdM73R0">toy lightsabers</a>, and NERF swords - but I've also paid attention to forms and maneuvers while doing so. When I stumbled on to ARMA's website, I knew it was the perfect match. I'll be joining the organisation soon to begin my training.<br /><br /><h3>Grow as a lay leader in the Church</h3>I am currently the Chairman of the Deacons at South Lansing Christian Church. I manage the team of deacons and try to be the best deacon I can be. I know my path leads to Eldership, so I must grow that I may be worthy to serve as an elder. This requires improvement in all areas of my daily walk with Christ.<br /><br /><h3>Pray more</h3>And better. Prayer is probably the weakest part of my daily walk. I don't make it the priority it should be. This needs to change. I need to schedule prayer times and topics until it becomes as natural as breathing.<br /><br /><h3>Eliminate bad habits</h3>To reach these many goals, I'll have to stave off the time-sink surfing and other things that rob me of my potential. I'll have to get focused to reach most of these goals. So I'm asking you, the reader to keep me accountable to all of this, including this last one that makes an even dozen...<br /><br /><h3>Blog more</h3>Right now, I want to post a new blog weekly. Hopefully, I'll have enough to write about. I have 28 years worth of stories, that should be plenty.Anonymoushttp://www.blogger.com/profile/04949925043779603891noreply@blogger.com0tag:blogger.com,1999:blog-5929655177600793092.post-76831032639306608782009-04-02T06:30:00.007-04:002009-04-02T06:30:00.617-04:00April Fool's DayI love all manner of games and jokes. This makes April Fool's Day significant for me. I have never pulled a huge prank like filling a friend's dresser drawers with packing peanuts or rotating all the furniture in room by 90 degrees. However, subtle pranks can be just as fun if executed well.<br /><br />Last year was my first April Fool's Day as a professional programmer in an office environment. I hoped to make an impression by "infecting" some of my coworkers computers with a little joke program. A quick <a href="http://www.google.com/search?source=ig&hl=en&rlz=1G1GGLQ_ENUS242&=&q=joke+programs&btnG=Google+Search&aq=0&oq=joke+pr">Google search</a> lead me to a list of free possibilities, but my Anti-Virus software wouldn't even let me try them. I then decided to replicate my top choice by hand. I picked a few people around the office and found images that they would hate, such as an MSU Spartans logo for the die-hard U of M fan and a Green Bay helmet for the Lions fan. The program briefly flashed the selected image periodically, after the idea of subliminal advertising. It worked well to annoy the targeted individuals, but it felt like a rush job.<br /><br />I realized about a month ago that I hadn't put any thought into a joke program for this year. As I was pouring over the possibilities, two memories collided in my head. The first was a programming term that I must have read somewhere: "Trapping the mouse." The term means restricting the movement of the mouse cursor to a particular range, such as the canvas of a photo editor or to the window of a game. The second memory was of a TV show I watched on PBS as a kid, <a href="http://en.wikipedia.org/wiki/Ghostwriter_%28TV_series%29">Ghostwriter</a>. The show featured a ghost that could only communicate by manipulating written words, but had free range to create text in a computer. The collision of the these memories sparked the idea of having a ghost randomly appear and drag the mouse cursor around the computer screen.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeFtl7D-P6MLrmzpyT-bU3cNqbGaX7Fh6blKh_QS3uo_lc5d4ckMnNydx4LzgN48F15mduKoA7CBNcIxfqd9BxItCCsLvvy2sZLhCV2tGQ5S9zRhUqaLQDOaBJl420vqUw_LpFzqQ6jLI/s1600-h/ghost.png"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 64px; height: 64px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeFtl7D-P6MLrmzpyT-bU3cNqbGaX7Fh6blKh_QS3uo_lc5d4ckMnNydx4LzgN48F15mduKoA7CBNcIxfqd9BxItCCsLvvy2sZLhCV2tGQ5S9zRhUqaLQDOaBJl420vqUw_LpFzqQ6jLI/s200/ghost.png" alt="" id="BLOGGER_PHOTO_ID_5313792597922515810" border="0" /></a>I started by mocking up quick version with a stick figure graphic and simple angular movement. Once I got the mouse trapping to my liking, I upgraded the graphics to the little ghost you see to the left. I then set about making the movement based on the rotation of a simple vector. I started experiencing some "rotational loss," meaning the vector would shorten each time it was rotated, which lead to the ghost eventually coming to a standstill while still trapping the mouse. After I solved that problem, I added some bounds checking to keep the ghost on the available screens at all times. My first pass at the bounds checking would occasionally lead to an infinite loop of corrective action, so I added a loop counter that would bailout of the corrective loop and allow the suspect move, assuming the next move would also need bounds correction, but would be easier to calculate. As a "finished product," I settled on each trap event lasting only 3 seconds. I had the program compile to the innocuous "afd9.exe" and stored it on my shared folder, so I could launch it from any computer on the network.<br /><br />I started the program secretly on 6 coworkers computers. I also demonstrated it to 5 other coworkers. All responses were positive, from "That's cute, now get it off my computer" to "Very clever, well done." One of the secretly started instances was never trigger, but I showed him how it triggered when he said he felt left out. I am very pleased with the final product and the response. I think it was a good pick me up for the office morale. Now, what should I do next year?Anonymoushttp://www.blogger.com/profile/04949925043779603891noreply@blogger.com0tag:blogger.com,1999:blog-5929655177600793092.post-65300904053018973232009-03-29T17:53:00.003-04:002009-03-29T19:28:57.096-04:00Benjamin J Hobbs: Terrible Blogger<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlXy7ZuHvyEiOcw5pdjqdcmmJnHD6F4_nMfqsj-EPTY_SaRKgV49UKeW0rk6qtoeEOxYHKMwsfUIcZkp1dU4V7n3cCCcvKLW_m3VckH8MMVyxVRdSyeFDvc7LrywtBtjFSAI-NqpVSCCM/s1600-h/Sad+Blogger.png"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 165px; height: 64px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlXy7ZuHvyEiOcw5pdjqdcmmJnHD6F4_nMfqsj-EPTY_SaRKgV49UKeW0rk6qtoeEOxYHKMwsfUIcZkp1dU4V7n3cCCcvKLW_m3VckH8MMVyxVRdSyeFDvc7LrywtBtjFSAI-NqpVSCCM/s200/Sad+Blogger.png" alt="" id="BLOGGER_PHOTO_ID_5318736075648729138" border="0" /></a><br />I wanted to start this blog to tell the anecdotes of my life, but I left you all with a cliff hanger almost 2 months ago. I could give you the very valid excuse that I've been busy with new customers coming online at work, but that feels like a cop out. So let me give you <a href="http://www.cliffsnotes.com/">Cliff Notes</a> version as a catch up.<br /><br />The car was only down for one week. The day after the accident, <a href="http://www.enterprise.com/">Enterprise</a> switched us out of the Delivery Van and into a <a href="http://www.nissanusa.com/sentra/">Nissan Sentra</a>. Nice ride, but not really my size. <a href="http://www.statefarm.com/">State Farm</a> completely covered the repair, so we threw in some maintenance work while it was in the shop. The Malibu ended up coming back to us in better condition than before the accident.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos-e.ll.facebook.com/photos-ll-snc1/v2120/160/82/549825265/n549825265_2490196_7995.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 198px; height: 148px;" src="http://photos-e.ll.facebook.com/photos-ll-snc1/v2120/160/82/549825265/n549825265_2490196_7995.jpg" alt="" border="0" /></a>The weekend before the accident, we added two new members to our home. Harvest and Whinny are a male and female, respectively, from the same litter. The names are actually verbs that cats cannot perform. The picture to the left is from there first weekend home, and they have practically doubled in size since then. They have been such a blessing and stress reliever. They love to cuddle, which is a must at our house, but also chase each other around the house, making us laugh every time.<br /><br />Jenny and I filed our taxes in late February and got a sizable return due to the First-Time Home Buyer's credit. I've got to thank President Bush for getting that one through congress. The return allowed us to each get new computers. Jenny got a little pink <a href="http://www.dell.com/content/products/productdetails.aspx/laptop-inspiron-9?c=us&cid=34899&cs=19&dgc=ST&l=en&lid=871956&s=dhs&ST=dell%20inspiron%20netbook">Netbook from Dell</a>, and I built a cool looking powerhouse for gaming and development. The return also helped us make some much needed repairs around the new house. We gave a list a mile long to our plumber friend, and bought paint for every room.<br /><br />I decided to do something significant for <a href="http://en.wikipedia.org/wiki/Lent">Lent</a> this year. The Church I attend doesn't make a big deal about the forty days of Lent, but I still try to use the time to make myself a better person and a better follower of Christ. This year I decided to do quite a serious fast. I didn't give up food altogether, as that is reckless and dangerous for a 40 day period. I did reduce my intake to one meal of my choosing each day. Jenny worried about my health, and encouraged me to supplement my single meal with juice. I took her advice and started drinking <a href="http://www.v8juice.com/">V8 Splash and V-Fusion</a> during the mealtimes I skipped each day. The goal of the fast is to improve my Bible study. I have not seen as much improvement in the quantity of study as I originally planned, but the quality of study has made a marked increase so far. There are two more weeks until Easter, which will mark the end of my physical hunger and hopefully a continued hunger for the <a href="http://www.biblelight.org/sayings3.htm">Bread of Life</a>.<br /><br />I think that covers the major bullet points of the last two months. I hope to write more frequently in the near future. In fact, check back this Thursday as I will have a scheduled post telling of my April Fool's Day joke program for this year.Anonymoushttp://www.blogger.com/profile/04949925043779603891noreply@blogger.com0tag:blogger.com,1999:blog-5929655177600793092.post-49353314778746695882009-02-04T17:03:00.009-05:002009-02-04T19:42:55.050-05:00Accident in the Early MorningIt started like the last few Wednesdays. Jenny and I left really early so I could drop her off for class at <a href="http://glcc.edu/main/index.php">Great Lakes Christian College</a>. As I headed back to the freeway, I had to drive three-quarters of the way around the round-about at <a href="http://maps.google.com/?ie=UTF8&ll=42.755521,-84.661503&spn=0.015881,0.037937&z=15&layer=c&cbll=42.755524,-84.661366&panoid=6Zw7kWsYU2i972A1VuSbHQ&cbp=12,248.68333497930146,,0,8.53440598182789">Willow and Canal</a>. Just as I passed the halfway point, the car coming from the opposite direction failed to stop in time, and hit my car. I managed to control my car and get out of the round-about. So did the other driver. However, she did not stop on the other side of the intersection. She hit me and kept driving. The elderly couple that were driving behind her at the time said they couldn't get her license plate number when stopped to check on me. I didn't see any damage right away, so I decided to drive on. The rear of my car was throwing violently as I drove, so I stopped at <a href="http://www.shophorrocks.com/">Horrocks</a> to call the police and report the accident. The police officer came, wrote up the incident, and went on his way. Jenny managed to borrow a friend's car and met me at the store. We made the calls to Shroyer's for a tow, <a href="http://www.statefarm.com/">State Farm</a> for the insurance claim, and <a href="http://www.shaheenlansing.com/">Shaheen</a> Body Shop for the repair. And as quickly as she came, Jenny returned to class. I waited about an hour for the tow truck to pick me and the car up. By the time we got to the body shop, I had missed the opportunity to catch a ride to work with my dad. The estimator at the body shop told me they would probably need three day to repair the damages. So <a href="http://www.enterprise.com/car_rental/home.do">Enterprise</a> picked me up. The only vehicle they had available to rent at the time was a full size service van. I got on the freeway as soon as I could and got safely to my cubicle quite late. My coworker <a href="http://www.planfromthefuture.com/">Peter</a> took the follow photos during lunch.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_58L7ZLLPiOOu7vJVZS6e6uHtBY6BJIxqaCNvQ-K3PS0bJXD7dwJOZykWdPWTwXb9JhYBFkQZhZDzPTAgvM9cLduMIMMK3135is9-3KClmPvWV5aEtFCm5GbY8VLyTluX4PX3qin61RI/s1600-h/VanPic1.JPG"><img style="margin: 0px auto 10px; display: block; cursor: pointer; width: 299px; height: 223px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_58L7ZLLPiOOu7vJVZS6e6uHtBY6BJIxqaCNvQ-K3PS0bJXD7dwJOZykWdPWTwXb9JhYBFkQZhZDzPTAgvM9cLduMIMMK3135is9-3KClmPvWV5aEtFCm5GbY8VLyTluX4PX3qin61RI/s200/VanPic1.JPG" alt="" id="BLOGGER_PHOTO_ID_5299019241186513410" border="0" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy1vJelF7KIUZgU5btS087V21RGQKUFnzvz13FU-t4YCr9g4vsDJxN3KyMuy-xwpCUID1CQqHSSTPaGYnYLgGjmNGlp9_4w189EIbDhtaO_LcfI3pZ6zGrBvtyiD1YeFnNmTMATkrTgVE/s1600-h/VanPic2.jpg"><img style="margin: 0px auto 10px; display: block; cursor: pointer; width: 302px; height: 226px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy1vJelF7KIUZgU5btS087V21RGQKUFnzvz13FU-t4YCr9g4vsDJxN3KyMuy-xwpCUID1CQqHSSTPaGYnYLgGjmNGlp9_4w189EIbDhtaO_LcfI3pZ6zGrBvtyiD1YeFnNmTMATkrTgVE/s200/VanPic2.jpg" alt="" id="BLOGGER_PHOTO_ID_5299019246291889778" border="0" /></a>Anonymoushttp://www.blogger.com/profile/04949925043779603891noreply@blogger.com3tag:blogger.com,1999:blog-5929655177600793092.post-75506446298271860002009-01-18T20:45:00.006-05:002009-01-18T22:17:12.058-05:00New Year's ResolutionAmong the other resolutions I've made again and again, such as losing weight or exercising more, I added a new one this year:<blockquote> By the end of the year, I would like to create a piece of software outside of <a href="http://trainmaster.com/">TrainMaster</a>. </blockquote>This resolution is not for profit. I'm not looking to turn a buck on the side. My goal is not to pad my resume, although creating something on the side won't hurt the resume either. The one thing I'm after is stretching myself, putting myself to a challenge I hadn't encountered before.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://on10.net/images/blogs/xna_meetup.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 86px; height: 74px;" src="http://on10.net/images/blogs/xna_meetup.jpg" alt="" border="0" /></a>When I started fostering this idea last year, I looked at a couple of different technologies. Microsoft has recently released XNA, it's development platform for the Xbox360. The technology looks sound. Many homebrew developers are already publishing on the platform and making notable amounts of money. While the publishing mechanism seems straight forward, I lack a few key elements in the development process. Namely, an HDTV and an Xbox360. Maybe next year.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://profile.ak.facebook.com/object2/1310/46/l20531316728_5806.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 143px; height: 47px;" src="http://profile.ak.facebook.com/object2/1310/46/l20531316728_5806.jpg" alt="" border="0" /></a>Another technology I looked at was the Facebook platform. I like the social interaction that Facebook brings to the <a href="http://www.wwwdotcom.com/">Internet</a>. This option was more appealing because it offered more new languages to develop in and new challenges in deployment. Items I still need to publishing on this platform includes setting up a directory for web serving and perhaps an extra charge for a stable IP address and a domain name.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.nintendo.com/images/wii/wiiware/wiiware_logo.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 220px; height: 44px;" src="http://www.nintendo.com/images/wii/wiiware/wiiware_logo.jpg" alt="" border="0" /></a>Of course my dream platform is the impressive WiiWare. I've always loved Nintendo products and attempted to get a development kit from them for my high school programming independent study. I was shot down then and told that development kits only go out to recognized developers. While the concept of WiiWare would seem to denote a shift to the small guy like <a href="http://2dboy.com/">2D Boy</a> and <a href="http://www.semnatstudios.com/">Semnat Studios</a>, one must still go through Nintendo to get the development kit. Looks like I'll have to put this one on the future list.<br /><br />While console development stays a dream and goal of mine, I think I will spend this year focused on the Facebook platform. So I will end this post with some questions for the Facebook users out there to answer.<br /><ol><li>What do you like most in an application?</li><li>What are some things you don't like about some applications you've tried?</li><li>When you play a game on Facebook, how long do you perfer each session to last: several clicks, several minutes, or more?</li><li>Do you prefer direct or delayed interaction?</li><li>Should your interaction be limited by your friend list, or do you like to interact with new people?</li></ol>I thank you for your input, your opinion is valuable to me.Anonymoushttp://www.blogger.com/profile/04949925043779603891noreply@blogger.com1tag:blogger.com,1999:blog-5929655177600793092.post-40543950517089922512009-01-10T10:54:00.005-05:002009-01-10T13:55:55.811-05:00Where did December go?<div style="text-align: left;">It is hard to believe we are already a third of the way through January. I had been planning to post about an overly busy weekend at the beginning of December. I also planned to post about the busy end of year deliverables that piled up. Then again I hoped to post about all the different Christmas parties I went to. When I finally got time to breath, I found my time filled with a return to the free MMORPG that I'd been playing with some of my friends. By then, New Year's Day had come and gone, and I was back at work setting an aggressive bug fighting schedule. And here we are on January 10th and I'm blogging for the first time in a month, so let's make it a good one.<br /><br />The first weekend of December had Jenny and I driving all over the Greater Lansing Area for an assortment of dinner parties. Saturday night was spent in Grand Ledge, and my first visit to the home of my pastor, <a href="http://www.frankweller.com/">Frank Weller</a>. He had invited us and a number of other couples to a dinner party and informational meeting for a program called Joshua's Men. This program is a year long leadership training course. I look forward to participating in Joshua's Men in 2009, and I'll have more to say about it once it kicks off. Sunday night was spent in Williamston, for the annual <a href="http://www.piengineering.com/">P.I. Engineering</a> Christmas Dinner. This year, the party was held at our new warehouse space, which is currently being rented by a textbook binder. It was a delicious dinner and and a fun evening touring our newest facility. Monday night was spent in Lansing, at Jenny's work party. The Elmwood Nazarene Child Care party was a potluck dinner, and was fairly awkward for me. I only knew one other couple at this party, and I was feeling ill that evening. Lucky for me, Jenny knew in advance, and didn't parade me around in front of all her coworkers. Three completely different dinner parties, one busy weekend.<br /><br />Early December was spent delivering our first Mainline Simulator. The project director was on site with the customer, installing the hardware. I was in the office in Willamston, sending through software and content updates from myself and the other members of our team. Overall, it was a successful install, but there is more to be deliver on the software and content side in 2009. The rest of December was spent fixing bugs for our first Train Yard Simulator customer, and then cloning that code for the training facility they resold our project to. I also had to set up a generic Yard Simulation for a brand new customer looking to spend some of their 2008 budget. Finally, just before the office holiday break, I had to make a copy of the source code for our Escrow Lawyer. Five big deliverables, one busy work month.<br /><br />Friday, December 19th was a terribly snowy day. So snowy, in fact, that every district in Ingham county was closed. Snowy enough to change the plans Jenny and I had to change our plans for celebrating our 4th Anniversary. We also had to reschedule the Getchel family Christmas feast from Saturday the 20th to January the 3rd. Christmas Eve brought a half day of work, the Jardine family gift exchange, and Christmas Eve Candlelight Service at <a href="http://www.seekstudyserve.org/">SLCC</a>. On Christmas day, I spent time with a sick Jenny at home, my parent's house and her parent's house. She found the most comfortable place to nap at each place. So many Christmases, so many fun times.<br /><br />I spent three whole days in my pajamas, on my sofa and playing <a href="http://chronicle.ubi.com/">ShadowBane</a>. ShadowBane is a free to play Massively Multiplayer Online Role Playing Game. Some close friends introduced me this fun game. It has an open world to play in, an aggressive Player vs Player format, and highly customizable character classes. I had neglected playing with my friends for a few weeks and logged back on to find our guild had captured our own city. I spent those few day catching up and enjoying myself. If you feel so inclined, you can download the free software, send me a message and I'll help you get started in the game and induct you as a member of the Keepers of Dawn.<br /><br />Jenny and I spent our New Year's Eve celebrating with our small group. The Cohoons, the Batdorffs, the Simmons, and all their kids stayed up until midnight to witness the turning of the calendar and the dropping of the ball. We filled the lead up to midnight with Wii gaming, Apples to Apples, Darts and deep fried anything. It was a great evening that spilled over into the next day with Bowl games and Board games. Great times with close friends.<br /><br />Friday, Janurary 2nd was a bit of a write off. I had to return to work, but had very little to do. Most people spent the day cleaning up their work stations and work spaces. I took the opportunity to defragment my hard drives. The following Monday, I met with the project manager and discussed all that needed to be done for our Mainline customer. He suggested i set the schedule for the tasks ahead. I set an aggressive one that forced me to make the changes and improvements to our software that had been stewing around in my brain for a while. I spent most of the week on track, but encountered some un expected hold up late in the week. Next week should witness me getting back on track and completed on schedule.<br /><br />All told, I ended 2008 pretty busy, but I wouldn't have it any other way. Life has been good for Jenny and I. 2009 looks to be just as busy and better than ever. I have new opportunities to learn and grow. I look forward to grabbing on to each of those opportunities and becoming a better programmer, a better husband, a better leader, and a better man. And maybe, just maybe, I'll blog more often.<br /></div>Anonymoushttp://www.blogger.com/profile/04949925043779603891noreply@blogger.com0tag:blogger.com,1999:blog-5929655177600793092.post-45030088392582678152008-12-01T12:52:00.017-05:002008-12-01T13:40:12.682-05:00Trilogy Weekend<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEBvy9am8XdeyIJJfNTC3B0kfu-wOV8fCbVvPoQrC0A8hktcHPeVIUTy-5XzZMdeWpd92LGs0bNCQa63dyQlgTZTS2Mu6VbNuoWMDxOHbsX3dHCCrxvnhQATygJBiphG12jhkQTOYSzwI/s1600-h/Trilogy+Weekend.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 270px; height: 205px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEBvy9am8XdeyIJJfNTC3B0kfu-wOV8fCbVvPoQrC0A8hktcHPeVIUTy-5XzZMdeWpd92LGs0bNCQa63dyQlgTZTS2Mu6VbNuoWMDxOHbsX3dHCCrxvnhQATygJBiphG12jhkQTOYSzwI/s320/Trilogy+Weekend.jpg" alt="" id="BLOGGER_PHOTO_ID_5274849602391129618" border="0" /></a>I like movies. A lot.<br /><br />Jenny went out for a little bit of Black Friday shopping early on Friday morning. She returned home shortly after I decided to roll my lazy (read long weekend) self out of bed. She told me right away about buying <span style="font-style: italic;">Pirates of the Caribbean: At Worlds End</span> for a meager 6 dollars. I quickly asked if we had to wait for Christmas to watch it. She said we didn't have to wait to which I quickly responded we couldn't watch the third movie without watching the first two. So we did. When the three films had finished, I jokingly asked which trilogy we would watch on Saturday. When she suggested <span style="font-style: italic;">Back to the Future</span>, I was sold on the idea of finishing my lazy weekend watching that on Saturday and the <span style="font-style: italic;">Austin Powers</span> trilogy on Sunday. It was almost like our own private film festival. Nine films in 3 days is so much fun for me.<br /><br />As a side note, <span style="font-style: italic;">Back to the Future: Part III</span> features steam locomotives in its old west setting and I actively noticed certain things about the movement and control of trains that I have learned at work. Wheels slipping when the train leaves the station, pulling the pin to uncouple the passenger cars, and other train subtleties stood out to me as being accurately portrayed. I might be coming down with a case of <span style="font-style: italic;">Trainitis</span>.<br /><br />For more information on each film, check out <a href="http://www.imdb.com/">The Internet Movie Database</a> by clicking below<br /><br />Friday: <a href="http://www.imdb.com/title/tt0325980/"><img style="cursor: pointer; width: 94px; height: 139px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu2-aI2xVzfq-GWLEwwQTFnDmyQYfD5K0_mVRcObPfpR09mzCtxceotwaaLyruWiaTl5EGlMfBN_BXE5B4rxKnFCJsbHVJfUmkz5ENZ33_yCglEDkgB9WXn94Eexd0SsAMQAuKSBj02wg/s200/potc1.jpg" alt="" id="BLOGGER_PHOTO_ID_5274891516829598114" border="0" /></a> <a href="http://www.imdb.com/title/tt0383574/"><img style="cursor: pointer; width: 98px; height: 138px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqZybKnrE2DWo1Zv4AWbULlh0VZHpN1ifVcCBJN8PggMAOz5UvCqhAHW_-bchsa_lYgMph786HA9mEjoNNoR85I6KSYTUgZva71_cbksFVH_VKBUsS-l7LjUC-odMq9232G32sfa43EB0/s200/potc2.jpg" alt="" id="BLOGGER_PHOTO_ID_5274891587644357986" border="0" /></a> <a href="http://www.imdb.com/title/tt0449088/"><img style="cursor: pointer; width: 100px; height: 129px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGy6DHy_TcYZniuDn3BmDkDxOF1_Jtw92CtEyoL0sDLrT_HR6703ulYz7guoldZlIxeP496Q-RWYr-HXPx78TlMoNB_ihnLRfrbJZH3FtvILmPsefQPRa4zUa_tzPb1h2IGdwk7Leh36g/s200/potc3.jpg" alt="" id="BLOGGER_PHOTO_ID_5274891657950609970" border="0" /></a><br />Saturday: <a href="http://www.imdb.com/title/tt0088763/"><img style="cursor: pointer; width: 100px; height: 133px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDDbqOrUTpvjMtOz2WmHOx7HyAuORCO7KaESBkQqPXbi8jJGcx052mk5DOR9Tgzwg025nht4HQrxOuXy5NIoJSWM8e187Xv-9obvaVwiDWwMDdn1BMUpjI02Kv3dJlvLQIH3_hL8iCMxk/s200/bttf1.jpg" alt="" id="BLOGGER_PHOTO_ID_5274890461945048882" border="0" /></a> <a href="http://www.imdb.com/title/tt0096874/"><img style="cursor: pointer; width: 95px; height: 140px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxX-BO-3MZRg_5a1W-9poAxeL8aEdz0iTb9TXK1kXS9zZ_rScJlEwq-wnQ7jA9IhH8aZFF8NOj8Pk5llrYqrlXnv7APjpqbdY5mf4sEl_6cDc9LOkkGIeDWEfZyhtcFbNgNlh3uUm9nVQ/s200/bttf2.jpg" alt="" id="BLOGGER_PHOTO_ID_5274890527031410994" border="0" /></a> <a href="http://www.imdb.com/title/tt0099088/"><img style="cursor: pointer; width: 76px; height: 140px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHcDZFm5aFX49XQu8OgNv3VEiJnw_UOcZWu9vgXLQTRUt3vMUPAd8sHeMsmVKlbqS-RA5-XUEaRtr4jO_em6cDyCxD0wFMix2gx8GryulcMNqBJnMAhVboT6db9B-MjPYdFml9bGyQ_Pk/s200/bttf3.jpg" alt="" id="BLOGGER_PHOTO_ID_5274890595123476978" border="0" /></a><br />Sunday: <a href="http://www.imdb.com/title/tt0118655/"><img style="cursor: pointer; width: 99px; height: 137px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPK3dOFA0aDusdvkJpn4IqG1SVVntJBAtZgvrw8fyk0h2W0jWtOntEnTILt833g5KkDSsviR71AEGb9wHz_kxHb9tttKn6D5w_foQEcG0kjgkLB1c4PLpaGXUTZJuWzpvommJ1baAouCI/s200/ap1.jpg" alt="" id="BLOGGER_PHOTO_ID_5274888946579616402" border="0" /></a> <a href="http://www.imdb.com/title/tt0145660/"><img style="cursor: pointer; width: 95px; height: 139px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEis7mX7DfQ6GmtDp22IAIWsMYof2Wi1QhzjW91bFE_BzLwwuSgnTGNVCeHIYnCic9gLsli9QS_VAEQpp65fzggDNPnakvGBqvtdJsJQA5LcfmJAylsTcVn2WV122-ih9RXztjRc76LPYbk/s200/ap2.jpg" alt="" id="BLOGGER_PHOTO_ID_5274888860454667042" border="0" /></a> <a href="http://www.imdb.com/title/tt0295178/"><img style="cursor: pointer; width: 94px; height: 140px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEga2HtwMeoVN_0AZdzK3BCPe4eGrzolv3DhWqjRE10OOn0VJ4ukLIcHsA82uZ8FJyg3dVn2MbCLdxE0i6QmeYGyvE_KTF_4uGatQG0nI1PtLXG_tmyN689fW6ycU74GxEeS0p2MXBHb8gA/s200/ap3.jpg" alt="" id="BLOGGER_PHOTO_ID_5274889030439582002" border="0" /></a>Anonymoushttp://www.blogger.com/profile/04949925043779603891noreply@blogger.com2tag:blogger.com,1999:blog-5929655177600793092.post-89005179089489107502008-11-28T15:18:00.005-05:002008-11-28T15:43:33.487-05:00Wii Thanksgiving<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv-XARpOpbMQhneZK8qOjUn88yhuKRmfDLHTl6ayhBFMgZ3Lq2-s7rtIoq_54HX1aGWmXv9348YvZXF7HqpeljRpKlv2ZtYYqzQiYyaN5AyQNC9rlxNi2XcJZcBf1bbJqnIZOGsbRoBoY/s1600-h/Wii+Turkey.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 239px; height: 236px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv-XARpOpbMQhneZK8qOjUn88yhuKRmfDLHTl6ayhBFMgZ3Lq2-s7rtIoq_54HX1aGWmXv9348YvZXF7HqpeljRpKlv2ZtYYqzQiYyaN5AyQNC9rlxNi2XcJZcBf1bbJqnIZOGsbRoBoY/s320/Wii+Turkey.jpg" alt="" id="BLOGGER_PHOTO_ID_5273811720509417970" border="0" /></a><br />Yesterday was Thanksgiving. Jenny and I hosted my family at our house. It was a good time seeing all my cousins again. We had a great meal, watched the Lions lose, and then we turned on the video games. First was a Soul Calibur II round robin, with my tournament winning cousin kicking butt and taking names. Then we switched to Super Smash Bros Brawl, which a different cousin excelled at with Ike. After that, the cousins started parting ways, and Wii Sports got put in the system. If only I had taken a photo of my Grandma and Grandpa playing Wii Bowling. They are fairly techno-savvy, but I had never imagined they would pick up a Wii Remote. But they did, and had a grand old time playing. What a great Thanksgiving it was.Anonymoushttp://www.blogger.com/profile/04949925043779603891noreply@blogger.com0tag:blogger.com,1999:blog-5929655177600793092.post-44055139969952804932008-11-17T12:49:00.004-05:002008-11-17T13:09:49.109-05:00About my title...I guess it is time to explain the title of my blog. When I was in elementary school, some of the hottest toys (at least in my mind) were Tyco's SpyTech line.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://home.ca.inter.net/%7Ehagelin/SpyTechMessageFinderSet.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 396px; height: 279px;" src="http://home.ca.inter.net/%7Ehagelin/SpyTechMessageFinderSet.jpg" alt="" border="0" /></a><br />These toys, along with the monthly new code in Boys' Life magazine, awoke the inner secret agent in me. I wanted to be a spy when I grew up, and practice make perfect. So I would sneak up and down the halls of where ever I was, especially around the Church building when the grownups were having meetings. At this age, my mother still bought all my clothes, and would make very convincing suggestions about what I should where to Church. One piece of clothing I particularly loathed was a pair of dirt brown corduroy pants. The reason I hated these pants so much was the fact that they made a sound while I walked. Every step brought a little friction noise that I was certain gave me away while I was sneaking around in dark hallways. This lead to one of my first statements of independence, when I declared to my mother, "I don't want to wear these pants anymore, because <span style="font-weight: bold;">spies don't wear corduroy!</span>"Anonymoushttp://www.blogger.com/profile/04949925043779603891noreply@blogger.com3tag:blogger.com,1999:blog-5929655177600793092.post-43559524371467360622008-11-01T07:43:00.002-04:002008-11-01T08:08:23.745-04:00Halloween Goodies<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos-b.ak.fbcdn.net/photos-ak-sf2p/v364/121/49/1219995611/n1219995611_180449_5949.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 183px; height: 244px;" src="http://photos-b.ak.fbcdn.net/photos-ak-sf2p/v364/121/49/1219995611/n1219995611_180449_5949.jpg" alt="" border="0" /></a><br />I love Halloween. It is one of my favorite holidays. Every year, I try to out do my costume from the previous year. This year, I dressed as <a href="http://www.futurama-madhouse.com.ar/bios/bioFarnsworth.jpg">Professor Farnsworth</a> of <a href="http://www.comedycentral.com/shows/futurama/index.jhtml">Futurama</a> fame. I don't feel I pulled the costume off as well as I have past costumes, but I was working with limited options. With a heavy load on at work, and most of my stuff still in boxes, I did the best I could.<br /><br />I also held an open house style party last night. It was our first real chance to show off the house. We had quite a few people come through and visit, so I would mark it in the successful party column.<br /><br />Overall, I had a great Halloween, and I look forward to next year.Anonymoushttp://www.blogger.com/profile/04949925043779603891noreply@blogger.com0tag:blogger.com,1999:blog-5929655177600793092.post-54573163761284576602008-10-23T09:27:00.003-04:002008-10-23T09:52:06.485-04:00Powerless<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.theodoregray.com/periodicTable/Samples/018.1/s7s.JPG"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 228px; height: 228px;" src="http://www.theodoregray.com/periodicTable/Samples/018.1/s7s.JPG" alt="" border="0" /></a><br />Yesterday, the power company shut off our electricity. From our understanding at closing, the bank that owned the house before we bought it was supposed to transfer the account to us. However, the after-hours operator informed Jenny that such a transfer is not allowed due to a policy change at the beginning of the year. Apparently, an account transfer can only be made in one direction, the buyer requesting the transfer. I can understand that as a way of securing accounts against transfer fraud and ruining credit. However, I am displeased with the way the power company handled this. They gave us no notice of the shutoff. They simply pulled the plug unceremoniously. We understand that they don't have our names or phone numbers, but they obviously have our address. They could have put a letter in the mail or a hanger on the door or something to tell us that we may have forgotten to transfer the account. And because we didn't find out about the problem until the office had closed, we had to suffer all night without power. Power that lets me watch the newest South Park after volleyball. Power that recharges my cell phone while I sleep. Power that tells the furnace and water heater to turn on when needed. We will be calling during business hours today to get the account in our names, and hope that the power is restored before our electrician friend shows up to check a few wiring issues this afternoon.Anonymoushttp://www.blogger.com/profile/04949925043779603891noreply@blogger.com0tag:blogger.com,1999:blog-5929655177600793092.post-1085625208883534102008-10-20T21:11:00.003-04:002008-10-20T21:39:45.455-04:00Moving InSaturday, we moved in to our new house. We didn't have all the help we were hoping for, but we got everything into the house by the end of the day. We even changed the locks. Now we start the long unpacking process.<br /><br />It is still surreal to own a house. Just this morning, while getting ready for the day, Jenny and I didn't leave the upstairs until we were walking out the door, as if we had forgotten we don't live in an apartment anymore.<br /><br />I guess we have a lot to get used to.Anonymoushttp://www.blogger.com/profile/04949925043779603891noreply@blogger.com1tag:blogger.com,1999:blog-5929655177600793092.post-82710043553319810002008-10-14T11:46:00.008-04:002008-10-17T17:51:41.104-04:00Starting a blog<blockquote><br /><span style=";font-family:courier new;font-size:85%;" >Hello World!</span><br /></blockquote>Welcome to my new blog. My name is Benjamin J Hobbs and I am the Lead Programmer on <a href="http://www.trainmaster.com/">TrainMaster Train Simulator</a>. I have a lovely wife, Jenny. I'm surrounded by a loving family. I attend a terrific <a href="http://www.seekstudyserve.org">Church</a>. I have decided to join the Blogosphere to share funny and interesting stories from my life. I don't plan on writing anything inflammitory nor do I plan on being derogitory. I hope you make a habit of reading my thoughts. Here is the first:<br /><br />I decided to begin this blog to commerate a milestone in my short 25 years on Earth. Today, I bought a house. After a brief two months of looking, Jenny and I placed an offer on a nice little two story in South Lansing. The offer was accepted and we went smoothly through the loan process. And today, we signed the papers that transfered that property into our possession. We are tremendously excited and hope to show off the house over and over. Tonight, we will be camping out on our air matress, and tomorrow, we will be back in our own bed. To understand how much that makes us happy, you can spend nearly three weeks on your sister-in-law's futon in the basement at your in-law's house. Not that I didn't enjoy my time with them, I am just relieved that I'll have my own space again.<br /><br />Tune in again for moving annecdotes from tomorrow.Anonymoushttp://www.blogger.com/profile/04949925043779603891noreply@blogger.com1