/*
 * Isomorphic SmartClient
 * Version v12.0p_2025-11-27 (2025-11-27)
 * Copyright(c) 1998 and beyond Isomorphic Software, Inc. All rights reserved.
 * "SmartClient" is a trademark of Isomorphic Software, Inc.
 *
 * licensing@smartclient.com
 *
 * http://smartclient.com/license
 */

if(window.isc&&window.isc.module_Core&&!window.isc.module_PluginBridges){isc.module_PluginBridges=1;isc._moduleStart=isc._PluginBridges_start=(isc.timestamp?isc.timestamp():new Date().getTime());if(isc._moduleEnd&&(!isc.Log||(isc.Log&&isc.Log.logIsDebugEnabled('loadTime')))){isc._pTM={message:'PluginBridges load/parse time: '+(isc._moduleStart-isc._moduleEnd)+'ms',category:'loadTime'};if(isc.Log&&isc.Log.logDebug)isc.Log.logDebug(isc._pTM.message,'loadTime');else if(isc._preLog)isc._preLog[isc._preLog.length]=isc._pTM;else isc._preLog=[isc._pTM]}isc.definingFramework=true;if(window.isc&&isc.version!="v12.0p_2025-11-27/LGPL Development Only"&&!isc.DevUtil){isc.logWarn("SmartClient module version mismatch detected: This application is loading the core module from SmartClient version '"+isc.version+"' and additional modules from 'v12.0p_2025-11-27/LGPL Development Only'. Mixing resources from different SmartClient packages is not supported and may lead to unpredictable behavior. If you are deploying resources from a single package you may need to clear your browser cache, or restart your browser."+(isc.Browser.isSGWT?" SmartGWT developers may also need to clear the gwt-unitCache and run a GWT Compile.":""))}
isc.ClassFactory.defineClass("BrowserPlugin","Canvas");isc.A=isc.BrowserPlugin;isc.B=isc._allFuncs;isc.C=isc.B._maxIndex;isc.D=isc._funcClasses;isc.D[isc.C]=isc.A.Class;isc.A.instances=[];isc.B.push(isc.A.handleDragMoveNotify=function isc_c_BrowserPlugin_handleDragMoveNotify(){});isc.B._maxIndex=isc.C+1;isc.A=isc.BrowserPlugin.getPrototype();isc.B=isc._allFuncs;isc.C=isc.B._maxIndex;isc.D=isc._funcClasses;isc.D[isc.C]=isc.A.Class;isc.A.src="";isc.A.extraHTML="";isc.A.installPlugin=true;isc.A.redrawOnResize=false;isc.A.$jp=false;isc.A._redrawWithParent=false;isc.A.useDragMask=true;isc.A.dragMaskType="hidePlugin";isc.A.usePlaceholderDragMask=!isc.Browser.isMoz;isc.B.push(isc.A.initWidget=function isc_BrowserPlugin_initWidget(){isc.BrowserPlugin.instances.add(this)},isc.A.destroy=function isc_BrowserPlugin_destroy(){isc.BrowserPlugin.instances.remove(this);this.Super("destroy",arguments)},isc.A.draw=function isc_BrowserPlugin_draw(){this.Super("draw",arguments);if(this.backMaskCausesBurnThrough){var _1=this;this.getParentElements().map(function(_2){if(_2.useBackMask){_1.logInfo("Suppressing backmask of ancestor: "+_2.getID());if(_2._backMask){_2._backMask.suppressed=true;_2._backMask.hide()}else{if(!_2.$49t)_2.$49t={};_2.$49t.suppressed=true}}})}});isc.B._maxIndex=isc.C+3;isc.ClassFactory.defineClass("Flashlet","BrowserPlugin");isc.A=isc.Flashlet;isc.B=isc._allFuncs;isc.C=isc.B._maxIndex;isc.D=isc._funcClasses;isc.D[isc.C]=isc.A.Class;isc.B.push(isc.A.flashAvailable=function isc_c_Flashlet_flashAvailable(){if(this.flashSupported!=null)return this.flashSupported;isc.Flashlet.flashVersion=0;isc.Flashlet.flashSupported=false;if(window.ActiveXObject){try{var _1=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");if(_1){var _2=_1.GetVariable("$version").replace(/[^0-9]+[\s]+([0-9]+)[,.][\s]*([0-9]+).*/,"$1.$2");isc.Flashlet.flashSupported=true;isc.Flashlet.flashVersion=parseFloat(_2)}}catch(e){this.logInfo("Unable to create sample flash ActiveX object: "+e)}}else{var _3;if(navigator.mimeTypes){var _4=navigator.mimeTypes["application/x-shockwave-flash"];_3=_4&&_4.enabledPlugin}else{_3=navigator.plugins["Shockwave Flash"];if(_3==null)_3=navigator.plugins["Shockwave Flash 2.0"]}
if(_3!=null){this.flashSupported=true;var _5=_3.description.substring(16),_6=parseFloat(_5.split(" ")[0]);this.$43y=_5;this.flashVersion=_6}else{this.flashSupported=false}}
return this.flashSupported},isc.A.getFlashVersion=function isc_c_Flashlet_getFlashVersion(){if(this.flashAvailable())return this.flashVersion});isc.B._maxIndex=isc.C+2;isc.A=isc.Flashlet.getPrototype();isc.A.useClipDiv=false;isc.A.useDragMask=false;isc.A.classID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";isc.A.codeBase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0";isc.A.pluginsPage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash";isc.A.type="application/x-shockwave-flash";isc.A=isc.Flashlet.getPrototype();isc.B=isc._allFuncs;isc.C=isc.B._maxIndex;isc.D=isc._funcClasses;isc.D[isc.C]=isc.A.Class;isc.B.push(isc.A.setSrc=function isc_Flashlet_setSrc(_1){this.src=_1;this.markForRedraw()},isc.A.getInnerHTML=function isc_Flashlet_getInnerHTML(){var _1=isc.SB.create();if(this.name==null)this.name=this.getPluginID();var _2=window.location.protocol,_3=this.codeBase;if(_2&&_2.startsWith("https")&&_3&&_3.startsWith("http://")){_3=_3.replace("http://","https://")}
_1.append("<object classid='",this.classID,"' codebase='",_3,"' width='100%' height='100%' ID='",this.name,"'");if(this.extraObjectHTML)_1.append(" ",this.extraObjectHTML);_1.append(">");var _4={};isc.addProperties(_4,this.params);if(!_4.movie)_4.movie=this.src||this.movie;if(!_4.wmode)_4.wmode="opaque"
for(var _5 in _4)
_1.append("<param name='",_5,"' value='",_4[_5],"'>");_1.append("<embed width='100%' height='100%' name='",this.name,"' src=\"",this.src,"\" pluginspage=\"",this.pluginsPage,"\" type='",this.type,"'");for(var _5 in _4)
_1.append(" ",_5,"='",_4[_5],"'");if(this.extraEmbedHTML)_1.append(" ",this.extraEmbedHTML);_1.append(">");_1.append("</embed>");_1.append("</object>");return _1.release(false)},isc.A.getPluginID=function isc_Flashlet_getPluginID(){return this.getID()+"$261"},isc.A.getPluginHandle=function isc_Flashlet_getPluginHandle(){if(this.name==null)return null;if(isc.Browser.isIE)return window[this.name];return document[this.name]});isc.B._maxIndex=isc.C+4;isc.ClassFactory.defineClass("SVG","BrowserPlugin");isc.A=isc.SVG.getPrototype();isc.A.useNativeMask=true;isc.A.pluginsPage="http://www.adobe.com/svg/viewer/install/";isc.A.src=isc.Page.getHelperDir()+"svgCanvas.svg";isc.A=isc.SVG;isc.B=isc._allFuncs;isc.C=isc.B._maxIndex;isc.D=isc._funcClasses;isc.D[isc.C]=isc.A.Class;isc.B.push(isc.A.register=function isc_c_SVG_register(_1){var _2=_1.getTarget();var _3=_2.getOwnerDocument();var _4=this.getSVGCanvas(_3);_4.addProperties({svgElement:_2,svgDocument:_3,svgDoc:_3,svgRoot:_3.getRootElement()});var _5=_4.getPluginHandle();if(_5["window"])_5["window"].svgCanvas=_4;if(isc.isA.Function(_4.initSVG))_4.initSVG();else if(isc.isA.Function(_4.initsvg))_4.initsvg();if(_4.useNativeMask)_4.$266();if(_4.$267)_4.showNativeMask()},isc.A.getSVGCanvas=function isc_c_SVG_getSVGCanvas(_1){var _2=_1.getURL();if(_2.indexOf("#")==-1){this.logError("Can't locate svgCanvas for svgDocument. Use SVG.create() to render SVGs");return null}
var _3=_2.substring(_2.indexOf("#")+1,_2.length);var _4=window[_3];if(!_4){this.logError("Can't locate svg instance for id: "+_3+" did you call SVG.register(evt)?");return null}
return _4});isc.B._maxIndex=isc.C+2;isc.A=isc.SVG.getPrototype();isc.B=isc._allFuncs;isc.C=isc.B._maxIndex;isc.D=isc._funcClasses;isc.D[isc.C]=isc.A.Class;isc.B.push(isc.A.draw=function isc_SVG_draw(){this.Super("draw",arguments);if(isc.Browser.isIE)isc.EH.registerMaskableItem(this,true)},isc.A.mouseOut=function isc_SVG_mouseOut(){if(this.useNativeMask){this.hideNativeMask();this.Super("$mc")}},isc.A.$mb=function isc_SVG__showDragMask(){if(this.useNativeMask)this.showNativeMask();else this.Super("$mb")},isc.A.$mc=function isc_SVG__hideDragMask(){if(this.useNativeMask)this.hideNativeMask();else this.Super("$mc")},isc.A.handleSVGEvent=function isc_SVG_handleSVGEvent(_1){if(_1.type=="mousemove"){if(this.lastMouseMoveX==_1.clientX&&this.lastMouseMoveY==_1.clientY)return;this.lastMouseMoveX=_1.clientX;this.lastMouseMoveY=_1.clientY}
var _2={type:_1.type,target:this,clientX:_1.clientX,clientY:_1.clientY};isc.EventHandler.handleSyntheticEvent(_2)},isc.A.$266=function isc_SVG__makeSVGEventMask(){this.$268=this.svgDoc.createElement("rect");this.$269=this.getID()+"_SVGEventMask";var _1={id:this.$269,x:"-1073741823",y:"-1073741823",width:"2147483647",height:"2147483647",opacity:"0.0",visibility:"hidden",onmousemove:"svgCanvas.handleSVGEvent(evt)",onmouseup:"svgCanvas.handleSVGEvent(evt)",onmouseout:"svgCanvas.handleSVGEvent(evt)",onclick:"svgCanvas.handleSVGEvent(evt)",oncontextmenu:"svgCanvas.handleSVGEvent(evt)"};for(var _2 in _1)this.$268.setAttribute(_2,_1[_2]);this.svgRoot.appendChild(this.$268)},isc.A.setZIndex=function isc_SVG_setZIndex(){},isc.A.showNativeMask=function isc_SVG_showNativeMask(){if(!this.svgDoc){this.logWarn("showNativeMask called before SVG.register() - deferring until SVG.register()");this.$267=true;return}
if(this.$268){this.svgRoot.removeChild(this.$268);this.svgRoot.appendChild(this.$268)}else{this.$266()}
this.$268.setAttribute("visibility","visible")},isc.A.hideNativeMask=function isc_SVG_hideNativeMask(){if(this.$268)this.$268.setAttribute("visibility","hidden")},isc.A.getInnerHTML=function isc_SVG_getInnerHTML(){if(isc.Browser.isIE){return"<embed name='"+this.getPluginID()+"' src=\""+isc.Page.getURL(this.src)+"#"+this.getID()+"\" width='100%' height='100%'"+(this.installPlugin?"pluginspage='"+this.pluginsPage+"'":"")+" type='image/svg+xml' "+this.extraHTML+" >"}
return this.Super("getInnerHTML",arguments)},isc.A.destroy=function isc_SVG_destroy(){if(this.$268)delete this.$268;var _1=this.getPluginHandle();if(_1&&_1["window"])delete _1["window"].svgCanvas;this.Super("destroy",arguments)},isc.A.setNodeAttributes=function isc_SVG_setNodeAttributes(_1,_2){for(var _3 in _2)_1.setAttribute(_3,_2[_3])});isc.B._maxIndex=isc.C+12;isc.ClassFactory.defineClass("ActiveXControl","BrowserPlugin");isc.A=isc.ActiveXControl.getPrototype();isc.B=isc._allFuncs;isc.C=isc.B._maxIndex;isc.D=isc._funcClasses;isc.D[isc.C]=isc.A.Class;isc.B.push(isc.A.getInnerHTML=function isc_ActiveXControl_getInnerHTML(){var _1=isc.StringBuffer.create();var _2=this.classID?this.classID:"clsid:"+this.uuid;_1.append("<object classid='",_2,"' codebase='",this.codeBase,"' id='"+this.getPluginID(),"' width='100%' height='100%'");if(this.extraHTML)_1.append(" ",this.extraHTML);_1.append(">");_1.append("<param name='iscCanvasID' value='",this.getID(),"'>");if(this.params){for(var _3 in this.params){_1.append("<param name='",_3,"' value='",this.params[_3],"'>")}}
_1.append("</object>");return _1.release(false)},isc.A.getPluginID=function isc_ActiveXControl_getPluginID(){if(!this.id)this.id=this.getID()+"$27a";return this.id},isc.A.getPluginHandle=function isc_ActiveXControl_getPluginHandle(){return window[this.getPluginID()]});isc.B._maxIndex=isc.C+3;isc._nonDebugModules=(isc._nonDebugModules!=null?isc._nonDebugModules:[]);isc._nonDebugModules.push('PluginBridges');isc.checkForDebugAndNonDebugModules();isc._moduleEnd=isc._PluginBridges_end=(isc.timestamp?isc.timestamp():new Date().getTime());if(isc.Log&&isc.Log.logIsInfoEnabled('loadTime'))isc.Log.logInfo('PluginBridges module init time: '+(isc._moduleEnd-isc._moduleStart)+'ms','loadTime');delete isc.definingFramework;if(isc.Page)isc.Page.handleEvent(null,"moduleLoaded",{moduleName:'PluginBridges',loadTime:(isc._moduleEnd-isc._moduleStart)});}else{if(window.isc&&isc.Log&&isc.Log.logWarn)isc.Log.logWarn("Duplicate load of module 'PluginBridges'.");}
