function AdfGeckoAgent(a,b){arguments.length&&this.Init(a,b)}AdfObject.createSubclass(AdfGeckoAgent,AdfAgent);AdfGeckoAgent.InitClass=function(){AdfGeckoAgent._NBSP_STRING=String.fromCharCode(160)};AdfGeckoAgent.__getAgentVersion=function(a){return AdfAgent.__parseFloatVersion(a,/rv:(\d+[.]\d+)/)};AdfGeckoAgent.__getSupported=function(a,b){return-1==a.indexOf("Firefox/")?!1:0==AdfAgent._MIN_FIREFOX_VERSION?!0:b>=AdfAgent._MIN_FIREFOX_VERSION};
AdfGeckoAgent.__getSpecificAgentClassName=function(a,b){return 6<=b?"AdfGeckoAgent":5<=b?"AdfGecko5Agent":1.9<=b?"AdfGecko19Agent":1.8<=b?"AdfGecko18Agent":1<=b?"AdfGecko17Agent":"AdfGeckoAgent"};AdfGeckoAgent.prototype.Init=function(a,b){AdfGeckoAgent.superclass.Init.call(this,AdfAgent.GECKO_PLATFORM,AdfAgent.guessOS(),a,b);this._ID_TO_DOM_MAP={}};
AdfGeckoAgent.prototype.getElementById=function(a){if(null==a)return null;if(AdfAssert.DEBUG){var b=this._ID_TO_DOM_MAP[a],d=this.getDomDocument().getElementById(a);b!=d&&AdfAssert.assert(!1,"document.getElementById('"+a+"')\x3d\x3d"+d+" not "+b)}return this._ID_TO_DOM_MAP[a]};AdfGeckoAgent.prototype._getSessionStorageKey=function(a){var b=this.getDomWindow().location.protocol;return b?b+"_"+a:a};
AdfGeckoAgent.prototype.elementsRemoved=function(a){var b=this._ID_TO_DOM_MAP,d=a.id;null!=d&&delete b[d];if(a.firstChild){a=this.getDomDocument().evaluate(".//*[@id]",a,null,XPathResult.ANY_TYPE,null);for(d=a.iterateNext();d;)(d=d.getAttribute("id"))&&delete b[d],d=a.iterateNext()}};AdfGeckoAgent.prototype.allElementsRemoved=function(){this._ID_TO_DOM_MAP={};this.elementsAdded(this.getDomDocument())};
AdfGeckoAgent.prototype.elementsAdded=function(a){var b=this._ID_TO_DOM_MAP,d=a.id;null!=d&&(b[d]=a);if(a.firstChild){a=this.getDomDocument().evaluate(".//*[@id]",a,null,XPathResult.ANY_TYPE,null);for(d=a.iterateNext();d;){var e=d.getAttribute("id");e&&(b[e]=d);d=a.iterateNext()}}};AdfGeckoAgent.prototype.setButtonTextContent=function(a,b){AdfAssert.assertDomNode(a);if(null===b||0==b.length)b=AdfGeckoAgent._NBSP_STRING;a.textContent=b};
AdfGeckoAgent.prototype.disableUserSelect=function(a){a.style.MozUserSelect="none"};AdfGeckoAgent.prototype.enableUserSelect=function(a){a.style.MozUserSelect=""};AdfGeckoAgent.prototype.CreateUIInputEvent=function(a,b,d){return"click"==d.type&&2==d.button?null:new AdfGeckoUIInputEvent(a,b,d)};
AdfGeckoAgent.prototype.CreateDefaultLogWriter=function(a){var b=this.getDomWindow();return b.console&&b.console.firebug?new AdfFireBugLogWriter(b,a):AdfGeckoAgent.superclass.CreateDefaultLogWriter.call(this,a)};AdfGeckoAgent.prototype.CreateNativeLogWriter=function(){return new AdfGeckoLogWriter};AdfGeckoAgent.prototype.getNodeType=function(a){if(a)try{return a.nodeType}catch(b){}};AdfGeckoAgent.prototype.getWindowClientWidth=function(a){return a.innerWidth};
AdfGeckoAgent.prototype.getWindowClientHeight=function(a){return a.innerHeight};AdfGeckoAgent.prototype.pointInElementOrChildBounds=function(a,b,d){if(this.pointInElementBounds(a,b,d))return!0;if(!a.clientHeight&&!a.clientWidth){for(var e=a.parentNode;e;e=e.parentNode)if(e.clientWidth||e.clientHeight){if(this.pointInElementBounds(e,b,d))break;return!1}for(a=a.firstChild;a;a=a.nextSibling)if(1==a.nodeType&&"absolute"!=a.style.position&&this.pointInElementOrChildBounds(a,b,d))return!0}return!1};
AdfGeckoAgent.prototype.isChromeEvent=function(a){try{return a.originalTarget.localName,!1}catch(b){return!0}};AdfGeckoAgent.prototype.setImageSource=function(a,b){a.setAttribute("src",b);this._needsReset=!0};AdfGeckoAgent.prototype.setImageTooltip=function(a,b){a.title=b};AdfGeckoAgent.prototype.addEventBubbles=function(a,b){AdfGeckoAgent.superclass.addEventBubbles.call(this,a,b);AdfGeckoAgent.superclass.addEventBubbles.call(this,a,AdfGeckoAgent._resetThrobber)};
AdfGeckoAgent.prototype.removeEventBubbles=function(a,b){AdfGeckoAgent.superclass.addEventBubbles.call(this,a,b);AdfGeckoAgent.superclass.removeEventBubbles.call(this,a,AdfGeckoAgent._resetThrobber)};AdfGeckoAgent.prototype.addKeyEventListener=function(a,b){AdfAssert.assertDomNode(a);AdfAssert.assertFunction(b);a.addEventListener("keypress",b,!1)};
AdfGeckoAgent.prototype.removeKeyEventListener=function(a,b){AdfAssert.assertDomNode(a);AdfAssert.assertFunction(b);a.removeEventListener("keypress",b,!1)};
AdfGeckoAgent._resetThrobber=function(a){a=AdfAgent.AGENT;if(a._needsReset){a._needsReset=!1;a=a.getDomDocument();var b=a.documentElement,d=a.createElement("iframe");d.frameBorder="0";d.scrolling="no";d.style.zIndex=900;d.style.position="absolute";d.style.borderStyle="none";d.style.top=b.style.top;d.style.left=b.style.left;d.style.width=b.offsetWidth+"px";d.style.height=b.offsetHeight+"px";a.body.appendChild(d);a.body.removeChild(d)}};
AdfGeckoAgent.prototype.showBusyCursor=function(a,b){AdfGeckoAgent.superclass.showBusyCursor(a,b);this.forceCursorChange(a)};AdfGeckoAgent.prototype.isLeftButtonClick=function(a){return"click"==a.type&&0==a.button};AdfGeckoAgent.prototype.isFunctionKey=function(a){return 0==a.which};AdfGeckoAgent.prototype.getKeyCode=function(a){if(this.isFunctionKey(a))return a.keyCode;a=a.which;return 97<=a&&122>=a?a-32:a};
AdfGeckoAgent.prototype.isElementHTML=function(a){AdfAssert.assertDomNode(a);return a instanceof HTMLElement};AdfGeckoAgent.prototype.removeIdsFromDomSubTree=function(a){var b=a.id;null!=b&&""!=b&&(a.id="");if(a.firstChild){a=this.getDomDocument().evaluate(".//*[@id]",a,null,XPathResult.ANY_TYPE,null);for(b=a.iterateNext();b;){var d=b.id;null!=d&&""!=d&&(b.id="");b=a.iterateNext()}}};AdfGeckoAgent.prototype.GetCssToDomPropertyNameMap=function(){return AdfGeckoAgent._CSS_TO_DOM_MAP};
AdfGeckoAgent.prototype.getBoxSizing=function(a,b){b||(b=this.getComputedStyle(a));return b.getPropertyValue("-moz-box-sizing")};AdfGeckoAgent._CSS_TO_DOM_MAP={"float":"cssFloat"};AdfGeckoAgent._MOZ_USER_DEFINED="_moz-userdefined";AdfGeckoAgent._FAKE_MOUSEMOVE_EVENT=void 0;
AdfGeckoAgent._getBoxObjectFor=function(a){var b=a.ownerDocument;if(b.getBoxObjectFor)return b.getBoxObjectFor(a);var d=a.getBoundingClientRect();a=Math.round(d.top);var b=Math.round(d.left),e=Math.round(d.width),d=Math.round(d.height);return{x:b,y:a,width:e,height:d}};
AdfGeckoAgent.prototype.atLeast=function(a,b){if("number"==typeof b)return AdfGeckoAgent.superclass.atLeast.call(this,a,b);if(b&&a&&a==this.getPlatform()){var d=navigator.userAgent.toLowerCase().match(/rv:(\d+)\.(\d+)\.?(\d+)?\.?(\d+)?/);AdfAssert.assertArray(d,"parse gecko version string");d.splice(0,1);for(var e=b.split("."),f=Math.max(e.length,d.length),g=0;g<f;g++){var h=parseInt(d[g]?d[g]:0),k=parseInt(e[g]?e[g]:0);if(k!=h)if(k<h)break;else return!1}}else return!1;return!0};
AdfGeckoAgent.prototype.pointInElementBounds=function(a,b,d){var e=a.getBoundingClientRect();a=a.ownerDocument.documentElement;b-=a.scrollLeft;d-=a.scrollTop;return d>=e.top&&d<=e.bottom&&b>=e.left&&b<=e.right};AdfGeckoAgent.prototype.slice=function(a,b,d){if(!("undefined"===typeof Blob||"undefined"===typeof Blob.prototype.slice&&"undefined"===typeof Blob.prototype.mozSlice)){if(null==a)return null;if(a.slice)return a.slice(b,d);if(a.mozSlice)return a.mozSlice(b,d)}};
AdfGeckoAgent.prototype.cloneEvent=function(a,b){if(this.isKeyboardEvent(a)){var d=a.type,e=this._copyKeyboardEvent(a,d,b),f=b?b:a.target,g=f.ownerDocument;g.addEventListener(d,this.stopPropagation,!0);try{f.dispatchEvent(e)}finally{g.removeEventListener(d,this.stopPropagation,!0)}return e}return AdfGeckoAgent.superclass.cloneEvent.call(this,a,b)};
AdfGeckoAgent.prototype._copyKeyboardEvent=function(a,b,d){d=(d?d:a.target).ownerDocument;var e=d.createEvent("KeyboardEvent");e.initKeyEvent(b,!0,!0,d.contentWindow,a.ctrlKey,a.altKey,a.shiftKey,a.metaKey,a.keyCode,a.charCode);return e};AdfGeckoAgent.prototype.isDragPrepEvent=function(a){if(AdfGeckoAgent.superclass.isDragPrepEvent.call(this,a)){a=a.getNativeEvent();var b=a.explicitOriginalTarget;return b===a.originalTarget?!0:1!=b.nodeType}return!1};