",{"class":"quizMarker"});oi.append(i),v.setSize(i.width()),v.setColor(i.css("color")),i.remove(),ai.show()}Mi=!0,_(),wn.hide(),$t()&&C.setOnBugCallback(function(e){1===e&&cn("#videoWrapper","For the best experience, avoid tapping the video while inputting text.",!0)}),en()}function $t(){return i.isIPad()&&8>i.getIOSMajorVersion()&&Xi&&(Bi||g()&&s.quizEnabled()&&h.quizContainsTextInputQuestions())}function en(){Wi=!1,Fi=!1,l.isPlaylist()&&(l.onFirstMedia()?(Mn.removeClass("previous_button_normal"),Mn.addClass("previous_button_disabled")):(Mn.addClass("previous_button_normal"),Mn.removeClass("previous_button_disabled")),l.onLastMedia()?(Ln.removeClass("next_button_normal"),Ln.addClass("next_button_disabled")):(Ln.addClass("next_button_normal"),Ln.removeClass("next_button_disabled")),d.isEnabled()&&(d.clearPercentWatched(),wi=0),Cn.src=l.getCurrentMedia().mediaSrc),i.isIPad()||i.isAndroid()?Cn.play():(Cn.load(),Cn.play()),d.isEnabled()&&d.setVideoLoadStartTime((new Date).getTime()),u.getTrackEvents()&&Yi&&(Yi=!1,u.getAltEventCategoryAsFilename()?n("Video_Started",Zi):n("Video_Started",""+l.getCurrentMedia().mediaSrc),n("Video_Percent_Viewed","Viewed: 0 Percent"))}function tn(e){switch(e.type){case"COMPLETE":case"REVIEW":if(Wn&&Qi?$(!0):_t(!0),E(),Pt(),L(),"REVIEW"===e.type&&u.getEnforceLinearAssessment()){var t=s.findPrevMarkerTimeForMarker(Ti);Ti=-1,st(t/1e3),Cn.play()}else Cn.play();break;case"BEGIN":case"SKIP":s.setViewContainer("#videoWrapper"),yn.unbind("click",an),bn?Hi&&s.getQuizReady()&&(B(),Cn.play(),Mi=!0,_()):Xt(),s.startTrackingProgress();break;case"ERROR":bn||Xt(),cn("#videoWrapper",r.getString("txtErrorMessage"),!0);break;case"STATUS":Wt(e.message);break;case"SUBMITTED":Jt()}}function nn(n,a){oi=t(n),pn=n,gn=pn.replace(/^[#]/,""),Bi=a,$i=i.requiresManualPreload()&&Xi,oi.html(ia),wn=t("#controls"),Nn=wn.find(".controls_left"),xn=wn.find(".controls_right"),Rn=t("#rewind"),Pn=t("#play"),Mn=t("#previous"),Ln=t("#next"),$n=t("#volume"),Bn=t("#closedCaptionButton"),Dn=t("#tocButton"),On=t("#settingsButton"),_n=t("#fullscreen_enter_button"),ei=t("#volume_slider_vertical"),ti=t("#volume_slider_horizontal"),ni=t("#volume_slider_container"),Qn=t("#progress"),Vn=t("#progress_box"),Gn=t("#load_progress"),Fn=t("#play_progress"),qn=t("#progress_scrubbar_track"),Un=t("#current_time_display"),Hn=t("#duration_display"),zn=t("#scrubbar_scrubber"),Wn=t("#videoSidebar"),Jn=t("#tableOfContentsList"),Kn=t("#searchBox"),kn=t("#clearSearchButton"),Zn=t("#caption"),Xn=t("#caption > p"),ii=t("#hotspots"),ai=t("#markers"),Tn=t("#videoWrapper"),En=t("#videoDiv"),yn=t("#videoClickToPlayLink"),In=t("#videoClickToReplayLink"),ri=t("#youtubePointerEventWorkaround"),si=t(document),$i&&yn.addClass("noClickToPlayEvents"),oi.css("background-color",u.getBackgroundColor()),u.getPosterImageSrc()&&w(u.getPosterImageSrc()),oi.fadeIn(li),In.fadeIn(li),In.hide(),(i.isIPad()||i.isAndroid())&&($n.hide(),_n.hide(),$n.remove()),Bi&&Dn.removeClass(Ki),f.hasCaptionItems()&&("under"===f.getCaptionPosition()?u.setAutoHideControls(!1):Bn.removeClass(Ki)),l.isPlaylist()?(Mn.removeClass(Ki),Ln.removeClass(Ki)):(Mn.addClass(Ki),Ln.addClass(Ki)),_(),t(e).resize(function(){Mi=!0,_()
+}),Kn.focus(function(){Vi=!0,Kn.val()==na.getString("search")&&Kn.val(""),y(),Dt()}),Kn.blur(function(){Vi=!1,""===Kn.val().replace(/ /g,"")&&Kn.val(na.getString("search")),E(),Bt()})}function an(e){e.preventDefault(),hn&&hn(),g()&&s.quizEnabled()?Kt():Xt()}function rn(){TSC.playerView.displayMessagePanel("#tsc_overlay",TSC.localizationStrings.getString("txtQuizErrorMessage"),!1)}function on(){t("#alertDialog").hide()}function sn(){Kn.val(na.getString("search"));var e=i.isIPad()&&!i.isNuevoApp();if((e||i.isAndroid()||g()&&s.quizEnabled())&&!u.getMobileWebViewCanAutoPlay()&&u.setAutoPlayMedia(!1),u.getAutoPlayMedia()===!0&&void 0===u.getJumpToTime()?(hn&&hn(),setTimeout(Xt,80)):yn.bind("click",an),g()&&s.quizEnabled()){s.setViewContainer(pn);var t;t=u.getFathomId()?p:m,s.setQuestionGrader(t),s.setQuestionData(h),s.setViewControlBarOffset(wn.height()),s.addEventListener("COMPLETE",tn),s.addEventListener("REVIEW",tn),s.addEventListener("BEGIN",tn),s.addEventListener("SKIP",tn),s.addEventListener("ERROR",tn),s.addEventListener("STATUS",tn),s.addEventListener("SUBMITTED",tn),s.addEventListener("SHOW_LOADING_MESSAGE",zt),s.addEventListener("HIDE_LOADING_MESSAGE",Jt),s.addEventListener("SHOW_SUBMISSION_RETRY_MESSAGE",rn),s.addEventListener("HIDE_SUBMISSION_RETRY_MESSAGE",on),void 0!==u.getJumpToTime()&&setTimeout(Kt,80)}else void 0!==u.getJumpToTime()&&setTimeout(Xt,80);(u.getTrackEvents()||u.getReportScormComplete()||g()&&s.quizEnabled())&&(d.setEnabled(!0),f.xmpAvailable()&&d.initPercentWatched(f.getMediaDuration())),ci=!0,u.getDebugUIMode()&&An&&An.call(this)}function un(){ii.removeClass(Ki),ii.find("map").empty(),t.each(f.getHotspotItemArray(),function(e,n){var i;if(l.isPlaylist()&&(i=l.getCurrentMedia().mediaSrc),void 0===n.file||n.file===i){n.viewpoints=[];for(var e=0;n.points.length>e;e+=2){var a={xorig:Math.round(n.points[e]),yorig:Math.round(n.points[e+1]),xscale:Math.round(n.points[e])/di,yscale:Math.round(n.points[e+1])/fi};n.viewpoints.push(a)}n.pointsToCoords=function(){for(var e=[],t=0;this.viewpoints.length>t;t++)e.push(this.viewpoints[t].xorig>=0?Math.round(this.viewpoints[t].xscale*ii.width()):0),e.push(this.viewpoints[t].yorig>=0?Math.round(this.viewpoints[t].yscale*ii.height()):0);return e.join(",")},n.jqel=t("
",{shape:"poly",coords:n.pointsToCoords(),hotspot_index:n.index,alt:"Hotspot",href:"#"})}})}function cn(e,n,i){n="
"+n+" ",i&&(n+="
"+na.getString("clickToClose")+" "),ci?(t("#alertDialog").html(n),t("#alertDialog").fadeIn(li)):(t(e).css("background-color",u.getBackgroundColor()),t(e).css("height","100%"),t(e).html('
'+n+"
"),t(e).fadeIn(li),t("#alertDialog").show()),i&&t("#alertDialog").bind("click",function(){on(),t("#alertDialog").unbind("click")})}function ln(){var e="#000";u.getPosterImageSrc()&&(e+=" url("+u.getPosterImageSrc()+") center no-repeat"),t(".appplayer").css({background:e,position:"relative","background-size":"cover",height:"100%","z-index":"1"})}function dn(e){var n,a=t(e);if(TSC.mediaPlayer.isNuevoAppCapableAndAvailable()&&(f.hasAdvancedFeatures()||u.getFathomId())){n=u.getUseSlimAppSplashScreen()?o.ios_app_slim_splash_template({openWithSmartPlayer:na.getString("openWithSmartPlayer")}):o.ios_app_splash_template({playWithSmartPlayer:na.getString("playWithSmartPlayer"),playVideoOnly:na.getString("playVideoOnly")}),a.after(n),ln();var r=t(".appplayer");r.show(),a.hide(),u.getUseSlimAppSplashScreen()?t(".openVideoSmartPlayerContainer").click(function(){TSC.mediaPlayer.redirectToiPhoneApp()}):(t(".externalLargePlayBtn").click(function(){r.hide(),a.show(),TSC.mediaPlayer.redirectToiPhoneApp()}),t(".appNativePlayBtn").click(function(){r.hide(),a.show(),bn=t("video"),Cn.play()}),t(".appstoreBtn").click(function(){TSC.mediaPlayer.redirectToiPhoneAppDownload()}))}else if(i.isIPhoneOrIPod()){n=o.ios_app_default_template(),a.after(n);var s=t(".externalDefaultPlaybackContainer");u.getPosterImageSrc()&&(I(s,u.getPosterImageSrc()),s.addClass("fullSizePosterImgContainer")),s.show(),a.hide(),s.click(function(e){e.preventDefault(),a.show(),bn=t("video"),Cn.play(),setTimeout(function(){a.hide()},1e3)})}}function fn(e){if(isNaN(e)){var t=0,n=0,i=0,a=e.toLowerCase(),r=RegExp("(\\d+[h])","g"),o=RegExp("(\\d+[m])","g"),s=RegExp("(\\d+[s])","g"),u=RegExp("\\d+","g"),c=a.match(r),l=a.match(o),d=a.match(s),f=a.match(u);return d||l||c?(c&&(t=60*60*Number(c[0].split("h").join(""))),l&&(n=60*Number(l[0].split("m").join(""))),d&&(i=Number(d[0].split("s").join(""))),Number(t+n+i)):f?i=Number(f[0]):0}return 0>e&&(e=0),e}var pn,gn,hn,mn,vn,An,Sn,bn,Cn,Tn,En,yn,In,wn,Nn,xn,Rn,Pn,Mn,Ln,kn,_n,On,Dn,Bn,Qn,Vn,qn,Gn,Fn,Un,Hn,zn,Wn,Jn,Yn,jn,Kn,Zn,Xn,$n,ei,ti,ni,ii,ai,ri,oi,si,ui,ci=!1,li=300,di=-1,fi=-1,pi=0,gi=0,hi=-1,mi=1,vi=-1,Ai=250,Si=1,bi=-1,Ci=5e3,Ti=-1,Ei=-1,yi=0,Ii=0,wi=0,Ni=10,xi=!1,Ri=!1,Pi=!1,Mi=!1,Li=!1,ki=!1,_i=!1,Oi=!1,Di=!1,Bi=!1,Qi=!1,Vi=!1,qi=!1,Gi=!1,Fi=!1,Ui=!1,Hi=!1,zi=!1,Wi=!1,Ji=!1,Yi=!0,ji="click",Ki="hide",Zi="HTML5-Video",Xi=!1,$i=!1,ea=32,ta=a,na=r,ia=o.html5_player_template({msgSearch:na.getString("search"),msgSearchIsDisabledInFS:na.getString("searchDisabledFullScreen"),accessBtnClearSearch:na.getString("accessBtnClearSearch"),accessBtnRewind:na.getString("accessBtnRewind"),accessBtnPlay:na.getString("accessBtnPlay"),accessBtnPrevious:na.getString("accessBtnPrevious"),accessBtnNext:na.getString("accessBtnNext"),accessBtnVolume:na.getString("accessBtnVolume"),accessBtnClosedCaption:na.getString("accessBtnClosedCaption"),accessBtnTableOfContents:na.getString("accessBtnTableOfContents"),accessBtnSettings:na.getString("accessBtnSettings"),accessBtnFullScreen:na.getString("accessBtnFullScreen")});return{initHtml5View:function(e,t){nn(e,t),sn()},initSimpleHtml5View:function(n){if(l.isPlaylist()){for(var a=t(e).innerWidth()-20,r=l.getMediaList(),o=r.length,s="
",u="style='width: "+a+"px; height: 75px;'",c=0;o>c;c++)s+=""+Ht([r[c]],!0,!0)+" ";s+=" ",t(n).html(s),t(n).css("background-color","#ffffff"),t("body").css("overflow","auto"),t(n).css("overflow","auto"),t(n+" ol").css("list-style","none"),t(n+" ol").css("margin","10px"),t(n+" ol").css("padding","0")}else t(n).html(Ht(l.getCurrentMedia(),!i.isIPhoneOrIPod(),!0));dn(n)},initYouTubeView:function(e,n,i){Xi=!0,nn(e,n);var a=t(e);S.init(i,"videoDiv",sn,jt,Zt,a.attr("width"),a.attr("height"))},jsSeekTime:function(e){if(ci)if(bn)Cn.duration&&Cn.duration>e&&(Ji?It(e):(!g()||g()&&!s.viewOpen())&&st(e,!0));else{var t={};t.t=e,u.setURLParams(t),g()&&s.quizEnabled()?s.viewOpen()||setTimeout(Kt,80):setTimeout(Xt,80)}},jsPlay:function(){ci&&(bn?Ji?It(0):Cn.play():g()&&s.quizEnabled()?s.viewOpen()||setTimeout(Kt,80):setTimeout(Xt,80))},displayMessagePanel:function(e,t,n){void 0===n&&(n=!0),cn(e,t,n)},addEventListener:function(e,t){switch(e){case"VIDEO_START_INITIATED":hn=t;break;case"VIDEO_START":mn=t;break;case"CAPTION_CHANGE":vn=t;break;case"READY":An=t;break;case"VIDEO_PLAY":Sn=t}},removeEventListener:function(e){switch(e){case"VIDEO_START_INITIATED":hn=void 0;break;case"VIDEO_START":mn=void 0;break;case"CAPTION_CHANGE":vn=void 0;break;case"READY":An=void 0;break;case"VIDEO_PLAY":Sn=void 0}}}}()}(this,jQuery,TSC.externalMessageController,TSC.deviceInfo,TSC.ioOverlayView,TSC.localizationStrings,TSC.templates,TSC.quizController,TSC.playerConfiguration,TSC.playerSettingsView,TSC.mediaList,TSC.videoAnalytics,TSC.xmp,TSC.fathomGrader,TSC.fathomService,TSC.quizModel,TSC.xmpGrader,TSC.quizMarker,TSC.iFrameBridge,TSC.youTube,TSC.searchTool,TSC.iOSTextInputFix),function(e,t,n,i,a){"use strict";e.TSC=e.TSC||{},e.TSC.imageView=function(){function e(e){l.css("background-image","url("+e+")"),o("Imaged_Loaded",e)}function r(e){s=e,u=t(s),u.html(f),u.fadeIn(d),u.css("background-color",a.getBackgroundColor()),c=t("#image"),l=t("#imageDiv")}function o(e,t,n){a.getCustomEventTracking()&&a.getCustomEventCallback()&&(a.getAltEventCategoryAsFilename()?a.getCustomEventCallback().call(this,{category:a.getMediaFileName(),action:e,label:t,value:n}):a.getCustomEventCallback().call(this,{category:p,action:e,label:t,value:n})),a.getGoogleAnalyticsID()&&_gaq.push(["_trackEvent",p,e,t])}var s,u,c,l,d=300,f=i.image_view_template(),p="Loaded Content";return{initView:function(t){r(t);var i=n.getCurrentMedia()[0].mediaSrc;e(i)}}}()}(this,jQuery,TSC.mediaList,TSC.templates,TSC.playerConfiguration);var _gaq=_gaq||[];(function(e,t,n,i,a,r,o,s,u,c,l,d,f,p,g,h,m,v,A,S,b){e.TSC=e.TSC||{},e.TSC.mediaPlayer=function(){"use strict";function C(){c.getMediaType()!==u.WEBM&&n.hasFlashPlayerVersion(s.getMinFlashPlayerVersion())?m.render(F):v.displayMessagePanel(F,c.getErrorMessage())}function T(){a.isLocal()?v.displayMessagePanel(F,g.getLocalErrorMessage()):v.displayMessagePanel(F,g.get404ErrorMessage())}function E(){_gaq.push(["_setAccount",s.getGoogleAnalyticsID()]),s.getGAPageViewTracking()&&_gaq.push(["_trackPageview",s.getMediaFileName()]),function(){var e=document.createElement("script");e.type="text/javascript",e.async=!0,e.src=("https:"==document.location.protocol?"https://ssl":"http://www")+".google-analytics.com/ga.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}()}function y(){if(a.isNuevoApp()){var e=document.querySelector("meta[name=viewport]");e&&e.setAttribute("content","width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;")}}function I(){N()}function w(){a.lookAtDevice(),y(),r.strip(),!a.isNuevoApp()&&s.getPreRollSrc()?S.createView(s.getPreRollSrc(),I):V()||N()}function N(){c.addEventListener("READY",M),c.addEventListener("ERROR",C),c.init(s.getMediaSources())}function x(){if(a.isNuevoApp()&&g.xmpAvailable()){var e=document.location,t=g.getTocTitle(),n=g.getMediaDuration();document.location="nuevo://info?url="+e+"?title="+t+"?duration="+n}}function R(){v.removeEventListener("VIDEO_START_INITIATED",R),S&&S.viewExists()&&S.destroyView()}function P(){Y||(v.removeEventListener("VIDEO_START"),t(document).trigger("techsmith.cloud.videofirstclickplay"),Y=!0)}function M(){c.removeEventListener("READY",M),c.removeEventListener("ERROR",C);var e=d.getPlayerType();switch(e){case l.YOUTUBE:A.addApi(),L();break;case l.HTML5_VIDEO:L();break;case l.FLASH_VIDEO:m.render(F);break;case l.IMAGE:k(),b.initView(F);break;case l.NOT_SUPPORTED:c.getMediaType()===u.WEBM?v.displayMessagePanel(F,i.getString("noWebMSupport")):v.displayMessagePanel(F,i.getString("videoNotSupportedUseFlash"))}}function L(){s.getGoogleAnalyticsID()&&E(),O()}function k(){s.getGoogleAnalyticsID()&&E()}function _(e){s.getFathomId()?(h.addEventListener("GET_COMPLETE",function(){B(),"function"==typeof e&&e()}),h.addEventListener("ERROR",function(){B(),T()}),h.getFathom(s.getFathomId())):B()}function O(){s.getXMPSrc()?(g.addEventListener("READY",_),g.addEventListener("ERROR",function(){"string"==typeof TSC.embedded_config_xml?g.parseXMP(TSC.embedded_config_xml):(_(),T())}),g.loadXMP(s.getXMPSrc())):_()}function D(t){e.top!==e&&o.postMessage("CAPTION-CHANGED","*",t)}function B(){var t=!1,n=!1;if(g.xmpAvailable()&&(g.removeEventListener("READY",B),g.removeEventListener("ERROR",T)),a.isIPhoneOrIPod()&&!a.isNuevoApp())v.initSimpleHtml5View(F);else{if(g.xmpAvailable()&&((g.hasTocItems()||(g.hasCaptionItems()||g.hasScreenTextItems()||g.hasSpeechTextItems())&&s.getIsSearchable())&&(t=!0),g.hasCaptionItems()&&e.top!==e&&o.postMessage("HAS-CAPTIONS","*"),x()),p&&p.getQuizID()&&(a.isLocal()&&p.getReportMethod()!==f.NONE?(n=!0,p.setReportMethod(f.NONE)):p.getUseScorm()&&0===p.getTotalNumberOfGradedQuestionSets()&&s.setReportScormComplete(!0)),v.addEventListener("VIDEO_START_INITIATED",R),v.addEventListener("VIDEO_START",P),v.addEventListener("CAPTION_CHANGE",D),d.getPlayerType()===TSC.playerType.YOUTUBE){var r;r=c.isPlaylist()?c.getCurrentMedia().mediaSrc:c.getCurrentMedia()[0].mediaSrc,v.initYouTubeView(F,t,r)}else v.initHtml5View(F,t);n&&v.displayMessagePanel(F,i.getString("xmpSecurity"))}}function Q(e){var t=document.createElement("script");t.setAttribute("type","text/javascript"),t.setAttribute("src",e),t.async=!0,t.onload=function(){N()},t.onerror=function(){N()},t!==void 0&&document.getElementsByTagName("head")[0].appendChild(t)}function V(){return G()?(Q(H+z),!0):!1}function q(){return"true"===W}function G(){return a.isIPhoneOrIPod()&&a.isRetinaDisplay()&&!a.isNuevoApp()?!0:!1}var F,U="3.19.2",H="http://www.techsmith.com/redirect.asp?",z="target=nuevoappdata&product=camtasia&lang=enu&ver=1.0.0&os=mac",W="false",J="",Y=!1;return{init:function(e){F=e,w()},getVersion:function(){return U},keyValueDataCallback:function(e){W=e.isAppReady,J=e.appDownloadURL},isNuevoAppCapableAndAvailable:function(){return G()&&q()},redirectToiPhoneAppDownload:function(){G()&&e.open(J,"_parent")},jsSeekTime:function(e){d.getPlayerType()===l.FLASH_VIDEO?m.jsSeekTime(e):v.jsSeekTime(e)},jsPlay:function(){d.getPlayerType()===l.FLASH_VIDEO?m.jsPlay():v.jsPlay()},jsDebugUI:function(e){return d.getPlayerType()!==l.FLASH_VIDEO?"HTML5_VIDEO player does not support this method.":(s.setDebugUIMode(e),v.jsDebugUI(e),void 0)},redirectToiPhoneApp:function(){if(G()&&q()){var t=document.location+"",n=s.getPosterImageSrc(),i=(new Date).getTime();setTimeout(function(){var t=(new Date).getTime();1e3>t-i&&e.open(J,"_parent")},300);var a="nuevo://import?url=";a+=-1!==t.indexOf("?")?t+"&posterImage="+n:t+"?posterImage="+n,a+=s.getAdditionalAppQueryString(),e.open(a,"_parent")}},addEventListener:function(e,t){v.addEventListener(e,t)},removeEventListener:function(e){v.removeEventListener(e)}}}()})(this,jQuery,swfobject,TSC.localizationStrings,TSC.deviceInfo,TSC.queryParamsStripper,TSC.iFrameBridge,TSC.playerConfiguration,TSC.mediaType,TSC.mediaList,TSC.playerType,TSC.mediaPlayerController,TSC.reportType,TSC.quizModel,TSC.xmp,TSC.fathomService,TSC.flashView,TSC.playerView,TSC.youTube,TSC.preRollController,TSC.imageView);
\ No newline at end of file
diff --git a/MERGEDEMO/skins/overlay/spritesheet.min.css b/MERGEDEMO/skins/overlay/spritesheet.min.css
new file mode 100644
index 0000000..936b7b9
--- /dev/null
+++ b/MERGEDEMO/skins/overlay/spritesheet.min.css
@@ -0,0 +1 @@
+.spritesheet{display:inline-block;overflow:hidden;background-repeat:no-repeat;background-image:url(spritesheet.png)}.sprite_repeat{background-repeat:repeat-x!important}.rewind_button_normal{width:43px;height:43px;background-position:-192px -226px}.rewind_button_over{width:43px;height:43px;background-position:-240px -226px}.rewind_button_down{width:43px;height:43px;background-position:-144px -288px}.rewind_button_disabled{width:43px;height:43px;background-position:-192px -226px}.play_button_normal{width:43px;height:43px;background-position:-144px -0px}.play_button_over{width:43px;height:43px;background-position:-144px -48px}.play_button_down{width:43px;height:43px;background-position:-96px -288px}.play_button_disabled{width:43px;height:43px;background-position:-144px -0px}.pause_button_normal{width:43px;height:43px;background-position:-96px -192px}.pause_button_over{width:43px;height:43px;background-position:-96px -240px}.pause_button_down{width:43px;height:43px;background-position:-96px -144px}.pause_button_disabled{width:43px;height:43px;background-position:-96px -192px}.previous_button_normal{width:43px;height:43px;background-position:-144px -192px}.previous_button_over{width:43px;height:43px;background-position:-144px -240px}.previous_button_down{width:43px;height:43px;background-position:-144px -144px}.previous_button_disabled{width:43px;height:43px;background-position:-144px -96px}.next_button_normal{width:43px;height:43px;background-position:-96px -48px}.next_button_over{width:43px;height:43px;background-position:-96px -96px}.next_button_down{width:43px;height:43px;background-position:-96px -0px}.next_button_disabled{width:43px;height:43px;background-position:-48px -288px}.settings_button_normal{width:43px;height:43px;background-position:-380px -0px}.settings_button_over{width:43px;height:43px;background-position:-428px -0px}.settings_button_down{width:43px;height:43px;background-position:-332px -0px}.settings_button_disabled{width:43px;height:43px;background-position:-380px -0px}.settings_off_button_normal{width:43px;height:43px;background-position:-476px -0px}.settings_off_button_over{width:43px;height:43px;background-position:-476px -0px}.settings_off_button_down{width:43px;height:43px;background-position:-476px -0px}.settings_off_button_disabled{width:43px;height:43px;background-position:-476px -0px}.closed_caption_button_normal{width:43px;height:43px;background-position:-0px -48px}.closed_caption_button_over{width:43px;height:43px;background-position:-0px -96px}.closed_caption_button_down{width:43px;height:43px;background-position:-0px -0px}.closed_caption_button_disabled{width:43px;height:43px;background-position:-0px -48px}.closed_caption_off_button_normal{width:43px;height:43px;background-position:-0px -144px}.closed_caption_off_button_over{width:43px;height:43px;background-position:-0px -144px}.closed_caption_off_button_down{width:43px;height:43px;background-position:-0px -144px}.closed_caption_off_button_disabled{width:43px;height:43px;background-position:-0px -144px}.toc_button_normal{width:43px;height:43px;background-position:-353px -48px}.toc_button_over{width:43px;height:43px;background-position:-401px -48px}.toc_button_down{width:43px;height:43px;background-position:-305px -48px}.toc_button_disabled{width:43px;height:43px;background-position:-353px -48px}.toc_off_button_normal{width:43px;height:43px;background-position:-449px -48px}.toc_off_button_over{width:43px;height:43px;background-position:-449px -48px}.toc_off_button_down{width:43px;height:43px;background-position:-449px -48px}.toc_off_button_disabled{width:43px;height:43px;background-position:-449px -48px}.fullscreen_enter_button_normal{width:43px;height:43px;background-position:-48px -48px}.fullscreen_enter_button_over{width:43px;height:43px;background-position:-48px -96px}.fullscreen_enter_button_down{width:43px;height:43px;background-position:-48px -0px}.fullscreen_enter_button_disabled{width:43px;height:43px;background-position:-48px -48px}.fullscreen_leave_button_normal{width:43px;height:43px;background-position:-48px -192px}.fullscreen_leave_button_over{width:43px;height:43px;background-position:-48px -240px}.fullscreen_leave_button_down{width:43px;height:43px;background-position:-48px -144px}.fullscreen_leave_button_disabled{width:43px;height:43px;background-position:-48px -192px}.fullframe_enter_button_normal{width:43px;height:43px;background-position:-0px -240px}.fullframe_enter_button_over{width:43px;height:43px;background-position:-0px -240px}.fullframe_enter_button_down{width:43px;height:43px;background-position:-0px -240px}.fullframe_enter_button_disabled{width:43px;height:43px;background-position:-0px -240px}.fullframe_leave_button_normal{width:43px;height:43px;background-position:-0px -288px}.fullframe_leave_button_over{width:43px;height:43px;background-position:-0px -288px}.fullframe_leave_button_down{width:43px;height:43px;background-position:-0px -288px}.fullframe_leave_button_disabled{width:43px;height:43px;background-position:-0px -288px}.play_button_overlay_normal{width:108px;height:108px;background-position:-192px -0px}.play_button_overlay_over{width:108px;height:108px;background-position:-192px -0px}.play_button_overlay_down{width:108px;height:108px;background-position:-192px -0px}.play_button_overlay_disabled{width:108px;height:108px;background-position:-192px -0px}.replay_button_overlay_normal{width:108px;height:108px;background-position:-192px -113px}.replay_button_overlay_over{width:108px;height:108px;background-position:-192px -113px}.replay_button_overlay_down{width:108px;height:108px;background-position:-192px -113px}.replay_button_overlay_disabled{width:108px;height:108px;background-position:-192px -113px}.scroll_down_arrow_normal{width:16px;height:16px;background-position:-14px -213px}.scroll_down_arrow_over{width:16px;height:16px;background-position:-192px -274px}.scroll_down_arrow_down{width:16px;height:16px;background-position:-14px -213px}.scroll_down_arrow_disabled{width:16px;height:16px;background-position:-14px -213px}.scroll_up_arrow_normal{width:16px;height:16px;background-position:-232px -313px}.scroll_up_arrow_over{width:16px;height:16px;background-position:-253px -292px}.scroll_up_arrow_down{width:16px;height:16px;background-position:-232px -292px}.scroll_up_arrow_disabled{width:16px;height:16px;background-position:-232px -313px}.scroll_thumb_bottom_normal{width:14px;height:50px;background-position:-192px -295px}.scroll_thumb_bottom_over{width:14px;height:50px;background-position:-192px -295px}.scroll_thumb_bottom_down{width:14px;height:50px;background-position:-192px -295px}.scroll_thumb_bottom_disabled{width:14px;height:50px;background-position:-192px -295px}.scroll_track_normal{width:15px;height:13px;background-position:-232px -274px}.scroll_track_over{width:16px;height:4px;background-position:-69px -336px}.scroll_track_down{width:16px;height:4px;background-position:-48px -336px}.scroll_track_disabled{width:15px;height:13px;background-position:-232px -274px}.scrubbar_scrubber_normal{width:10px;height:43px;background-position:-305px -0px}.scrubbar_scrubber_over{width:10px;height:43px;background-position:-305px -0px}.scrubbar_scrubber_down{width:10px;height:43px;background-position:-305px -0px}.scrubbar_scrubber_disabled{width:10px;height:43px;background-position:-305px -0px}.unmute_button_normal{width:43px;height:43px;background-position:-545px -48px}.unmute_button_over{width:43px;height:43px;background-position:-305px -96px}.unmute_button_down{width:43px;height:43px;background-position:-497px -48px}.unmute_button_disabled{width:43px;height:43px;background-position:-545px -48px}.volume_button_normal{width:43px;height:43px;background-position:-353px -192px}.volume_button_over{width:43px;height:43px;background-position:-353px -240px}.volume_button_down{width:43px;height:43px;background-position:-305px -144px}.volume_button_disabled{width:43px;height:43px;background-position:-353px -192px}.volume_button_low_normal{width:43px;height:43px;background-position:-401px -96px}.volume_button_low_over{width:43px;height:43px;background-position:-449px -96px}.volume_button_low_down{width:43px;height:43px;background-position:-353px -96px}.volume_button_low_disabled{width:43px;height:43px;background-position:-401px -96px}.volume_button_med_normal{width:43px;height:43px;background-position:-545px -96px}.volume_button_med_over{width:43px;height:43px;background-position:-353px -144px}.volume_button_med_down{width:43px;height:43px;background-position:-497px -96px}.volume_button_med_disabled{width:43px;height:43px;background-position:-545px -96px}.volume_button_high_normal{width:43px;height:43px;background-position:-305px -240px}.volume_button_high_over{width:43px;height:43px;background-position:-305px -288px}.volume_button_high_down{width:43px;height:43px;background-position:-305px -192px}.volume_button_high_disabled{width:43px;height:43px;background-position:-305px -240px}.volumebar_slider_normal{width:13px;height:9px;background-position:-96px -336px}.volumebar_slider_over{width:13px;height:9px;background-position:-96px -336px}.volumebar_slider_down{width:13px;height:9px;background-position:-96px -336px}.volumebar_slider_disabled{width:13px;height:9px;background-position:-96px -336px}.scrubbar_loaded_track_end{width:2px;height:43px;background-position:-288px -226px}.scrubbar_track_left{width:1px;height:43px;background-position:-295px -226px}.scrubbar_track_right{width:1px;height:43px;background-position:-320px -0px}.scrubbar_track{width:2px;height:43px;background-position:-0px -479px}.scrubbar_loaded_track{width:2px;height:43px;background-position:-0px -393px}.scrubbar_played_track{width:2px;height:43px;background-position:-0px -436px}.seperator{width:1px;height:43px;background-position:-326px -0px}.volumebar_track{width:5px;height:2px;background-position:-35px -192px}.volumebar_track_end{width:5px;height:2px;background-position:-35px -199px}.volumebar_backdrop{width:31px;height:97px;background-position:-401px -144px}.control_backdrop_left{width:2px;height:43px;background-position:-0px -192px}.control_backdrop_right{width:2px;height:43px;background-position:-7px -192px}.toc_title_backdrop{width:8px;height:18px;background-position:-0px -522px}.control_backdrop{width:2px;height:43px;background-position:-0px -350px}
\ No newline at end of file
diff --git a/MERGEDEMO/skins/overlay/spritesheet.png b/MERGEDEMO/skins/overlay/spritesheet.png
new file mode 100644
index 0000000..fa3a68a
Binary files /dev/null and b/MERGEDEMO/skins/overlay/spritesheet.png differ
diff --git a/MERGEDEMO/skins/overlay/techsmith-smart-player.min.css b/MERGEDEMO/skins/overlay/techsmith-smart-player.min.css
new file mode 100644
index 0000000..49f76f3
--- /dev/null
+++ b/MERGEDEMO/skins/overlay/techsmith-smart-player.min.css
@@ -0,0 +1 @@
+html{color:#000}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:400}li{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}input,textarea,select{*font-size:100%}legend{color:#000}body{font:13px/1.231 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small}table{font-size:inherit;font:100%}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%}h1{font-size:138.5%}h2{font-size:123.1%}h3{font-size:108%}h1,h2,h3{margin:1em 0}h1,h2,h3,h4,h5,h6,strong{font-weight:700}abbr,acronym{border-bottom:1px dotted #000;cursor:help}em{font-style:italic}blockquote,ul,ol,dl{margin:1em}ol,ul,dl{margin-left:2em}ol li{list-style:decimal outside}ul li{list-style:disc outside}dl dd{margin-left:1em}th,td{border:0;padding:.5em}th{font-weight:700;text-align:center}caption{margin-bottom:.5em;text-align:center}p,fieldset,table,pre{margin:0}input[type=text],input[type=password],textarea{width:12.25em;*width:11.9em}html,body{height:100%}html,body,form,fieldset,p,div,h1,h2,h3,h4,h5,h6{-webkit-text-size-adjust:none}body{margin:0;padding:0;overflow:hidden;background-color:#000}object:focus{outline:0}#tscVideoContent{width:100%;height:100%;padding:0;margin:0;overflow:hidden}#tscVideoContent video{width:100%;height:100%}#videoWrapper{width:100%;height:100%}#videoDiv{width:100%;height:100%}#hotspotContainer,#hotspotContainerDebug{position:absolute}#alertDialog{display:none;position:absolute;text-align:center;z-index:12;padding:15px;color:#434343;font-size:20px;top:30px;left:25%;right:25%;background-color:#fff;border:1px solid #bcbcbc}#alertDialog span{display:block;max-height:200px;overflow-y:auto}#alertDialog h4{font-size:16px;padding:5px 0;border-radius:20px;margin-top:14px;text-align:center;margin-left:auto;margin-right:auto;max-width:200px;color:#434343;background-color:#fff;border:1px solid #bcbcbc}.alertDialogClose{display:block;float:right}#tsc_io_container{position:absolute;z-index:12;width:100%;height:100%;top:45%;padding:0;margin:0;text-align:center;color:#fff}#tsc_io_message{margin-left:auto;margin-right:auto;padding:8px;background-color:rgba(0,0,0,.8);border-top-right-radius:12px;border-top-left-radius:12px;border-bottom-right-radius:12px;border-bottom-left-radius:12px;-moz-border-radius:12px;-webkit-border-radius:12px;max-width:300px}#tsc_io_message span{display:block}#tsc_io_container img{border:0;margin:10px 10px 0}.centeredImage{vertical-align:middle;text-align:center}#screenText{display:none}#speechText{display:none}#hotspots{position:absolute;width:100%;height:100%;top:0;left:0}#hotspots.hide{display:none}#hotspots area:focus,#hotspots area:active{outline:0}.hotspots_mapimg{position:absolute;width:100%;height:100%}#youtubePointerEventWorkaround{position:absolute;width:100%;height:100%;top:0}#youtubePointerEventWorkaround.hide{display:none}#caption{position:absolute;left:20px;right:20px}#caption p{display:inline-block;background-color:#000;font-family:Arial,Helvetica,sans-serif;color:#FFF;line-height:1.2}#caption.hide{display:none}#caption.caption_under_video{position:relative;bottom:0;left:0;right:0}.captionVAlignTop{top:20px}.captionVAlignBottom{bottom:54px}.captionHAlignLeft{text-align:left}.captionHAlignCenter{text-align:center}.captionHAlignRight{text-align:right}#videoClickToPlayLink,#videoClickToReplayLink{position:absolute;top:0;left:0;display:block;width:100%;height:100%;background-position:center center;background-repeat:no-repeat;background-size:100%;cursor:pointer}.noClickToPlayEvents{pointer-events:none}#videoClickToPlay,#videoClickToReplay{position:absolute;top:50%;left:50%}#markers{width:100%;height:100%}.foundSearchText{color:#40C6E2}.appplayer{position:relative;border-radius:5px;background-size:cover;z-index:1}.posterFade{background:rgba(0,0,0,.6);border-radius:5px;height:100%}.appplayer .content{text-align:center;z-index:2}.appplayer h2{color:#fff;font-weight:700;margin:50px 0 10px;text-shadow:0 0 2px #000;filter:dropshadow(color=#000000,offx=0,offy=0);z-index:2}.externalDefaultPlaybackContainer{position:relative;background-size:cover;z-index:1;background-color:#000;width:100%;height:100%}.externalLargePlayBtn{display:block;width:73px;height:73px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJIAAACSCAYAAACue5OOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMTgwMTE3NDA3MjA2ODExOTEwOUU0OEZENkUxNjA2MCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpBNkIwOTY0OUYyMjkxMUUyQUU1QUQ4MDY4QjcxREZCQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpBNkIwOTY0OEYyMjkxMUUyQUU1QUQ4MDY4QjcxREZCQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkYyNjVEOEM5OEZCOTExRTE5RDM1REJEMUIxMjY5QThEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkYyNjVEOENBOEZCOTExRTE5RDM1REJEMUIxMjY5QThEIi8+IDwvcmRmOkRlc2NyaXB0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) no-repeat;background-size:contain;cursor:pointer;z-index:2}.centerAbsoluteElement{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.openVideoSmartPlayerContainer{display:-webkit-box;display:-webkit-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-flex-align:center;-webkit-align-items:center;align-items:center;height:100%;width:100%;z-index:9;-webkit-box-sizing:border-box;box-sizing:border-box}.openVideoSmartPlayerButton{text-align:center;display:block;border-radius:12px;padding:20px 10px 20px 60px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAACXBIWXMAAAsTAAALEwEAmpwYAABA0GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIgogICAgICAgICAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+QWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDEyLTA1LTA1VDEzOjI5OjA3LTA0OjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxMy0wNy0zMVQxNjozNzowMS0wNDowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTMtMDctMzFUMTY6Mzc6MDEtMDQ6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjc5ZGYxOGEyLTMzNjktNDdlOS05OGE0LWI1MzdmMjFmYjIwZDwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpGODdGMTE3NDA3MjA2ODExOEMxNEY2OTRGNzQyMTc5NjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOkY4N0YxMTc0MDcyMDY4MTE4QzE0RjY5NEY3NDIxNzk2PC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOkY4N0YxMTc0MDcyMDY4MTE4QzE0RjY5NEY3NDIxNzk2PC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDEyLTA1LTA1VDEzOjI5OjA3LTA0OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaDwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6Rjk3RjExNzQwNzIwNjgxMThDMTRGNjk0Rjc0MjE3OTY8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTItMDUtMDVUMTM6MzA6MDktMDQ6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDUzUgTWFjaW50b3NoPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNDk4NzlmNC1mNDg1LTQxYTktODczOS03YjRjZDM0NTIyMWY8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTMtMDctMzFUMTY6Mzc6MDEtMDQ6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoTWFjaW50b3NoKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNvbnZlcnRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6cGFyYW1ldGVycz5mcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AgdG8gaW1hZ2UvcG5nPC9zdEV2dDpwYXJhbWV0ZXJzPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+ZGVyaXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6cGFyYW1ldGVycz5jb252ZXJ0ZWQgZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6NzlkZjE4YTItMzM2OS00N2U5LTk4YTQtYjUzN2YyMWZiMjBkPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDEzLTA3LTMxVDE2OjM3OjAxLTA0OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHhtcE1NOkRlcml2ZWRGcm9tIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgPHN0UmVmOmluc3RhbmNlSUQ+eG1wLmlpZDplNDk4NzlmNC1mNDg1LTQxYTktODczOS03YjRjZDM0NTIyMWY8L3N0UmVmOmluc3RhbmNlSUQ+CiAgICAgICAgICAgIDxzdFJlZjpkb2N1bWVudElEPnhtcC5kaWQ6Rjg3RjExNzQwNzIwNjgxMThDMTRGNjk0Rjc0MjE3OTY8L3N0UmVmOmRvY3VtZW50SUQ+CiAgICAgICAgICAgIDxzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDpGODdGMTE3NDA3MjA2ODExOEMxNEY2OTRGNzQyMTc5Njwvc3RSZWY6b3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8L3htcE1NOkRlcml2ZWRGcm9tPgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+ODA8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+ODA8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PhmqurQAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAABqRJREFUeNrsnWtsFFUUx38z5R2kpYIERIwBH+gHhaACYsQQkqpEaE2MmhAJJn7QGJ9Ro3zR+IgJEFDxg4pRSQQjCgiCgiAKyEMEHxQKJUZABCxC2zQCW3avH+6ZpMDO3NnZ6e7OzP6TTZvO9M7Mv+fec87/nLm1lFL4wA3AZOB24GqgL9CdeOEMcBLYC2wBvgI2Ap4EWR4E2sBU4AXgKpKJfcBrwAIgkwuBVwIfA6MpA2CrGFOjHwInAF8Afcq8nYNWoA5Y60XgLcA6oFuZr6xIiYFtzEbgEGA70L/MkyeagFHAQcdROF8Xlcnzhf7Apw53DoFTgTE+BzglZE8HRsiAVkQ/lwAjgYeAzyWU8YPRwhkopSylVIMyo10pNVMpVa2UIqafAUqpeUqptA8+GpRSlqWUGgdsMDDeIoH09wmZpncAi4FehvNutYFJhpPOAlMSRB7AKqAWSBvOm2T7WPtmAusT6CxWA+8YzhljKaX+Bga6nNAGXAY0J9Tj9pNwpafL8aM2UO0xwJcByOsqF44DjgPLPY73tQ2qypoAF+0lOePTMcloVnsc624bfnlHwItWydq5E6iJOIGeHJgIPJznxa8Vj7ZKvo8iDuVDYFjOo0ascaZYZ5TQnA+B6RBvpJusi43AI0CXiBB4Nh8COys0mAdsA8ZH3cPYRbz2COA7tHg7rExgcNQCvwGvAL3LBAZDT+BFdBFnegndV2QIdDAQmA9sIiIFrVL9S48GfgQ+QZcaEkVgBjgWwjgWcD9QL9O7Z1IIbAfeAxai5f980VscTIMQaiVhCqfFIcwBvsHQHuETQ2RKr5MQKBFrYArdZzIb+CWkMcejy6/zcdcxY+dE2oBlaIX3r5DuezqwmyLLZoX2wk3Ah+hmnbYQxqsSgaJeAvJEhDFp4A/gTWAFLl1POWKYpIQFl82KGQe2Az8Ds0RYCAM1wK8iVvSLO4EO/hPLeRv4M4TxuqDlsj0UQDazlHeLapCYqxJdlN4cYHrawGB0G1llSM/oOJqv8xhDFZrAZuA08Jmsd0Gs6Dp00T8sC1oCPAvsjwqBDo6im5FaAozVAxiH7lsMKy59SzKb5qgQ6GCHTKP2gOHKnejW4zBwBJghIVUmKgQ6QsNy8ZS5pneWZB51wMUhEbkTeApz60rJEOigBd2keCTA+BXoVy0mh5SBKFlinke6TnMhsFhhTCXwcEB1JS2edTa6ppJ3JAJcA1wexTjwnzyUmjPAD0JkfcAxjqG7U0dh7pEsqSnsZCJvEE7t2QIGoPsYB3SCN1alSOBCtGYYJiqAoUKkm4K9DHgmx3iw5NbAYwbybHRdJNf7c4TcuVnWx93o1t0pAYPpkrLAuYZzxgIT0SWBxQGzGYCLZKwFwLsY2jSiMoW3iXjglX08d97PDktamEs2kwF+Eks8HUKo45pzFhJpzE2bd2f52aXAE0L+Gh+WtB9di2nq7AcqNIFLDQ/fHxjucfwmCTmWAruyWMYJdEdpQ6EeqJAEnpCH9sJ9PmPXOvRLfwvFIaXQr2FsIdyWvJIKpBcZjg/Hu+HdLZtREtNtKjR5hbTAesN6VCFWlQs2AI+LIFA0FMICFd6vCoCu9fr9Yx4EHgBuKzZ5hbLAlXi/BdkbLZqacAq9f8EswmkZiQSBrejKmxfqfFiwSW6KLYGLDGrLYOAKj+PbgcfEu5YkOnMNbMRbMLWAe12OHUHLTDeXMnmdbYFLDMdHSK7aESl0q8brhNP6EVkC1xoW+q5c+J5yPmXHWBGYQbfneqGmg1CxS9a59UQQndWh6lUqrEJv9HAceFSmciTJK4aY4IQtc4CXiMGL3CYCK0LOL0/K9N0dF45MBFYB/4ZwEyfQOt6eCBpZVT4EDsqTwNOikmwhWEtHKWBIPgReD/weUEDYgZbT24g2Rpq8sFeiPzHABc8C76MVmKiTB7qS54Yzpm1PWiRfjQMRQTAQ3TXr1oNz1CbLrowdUAk8SXLxMt4NTPtsH8n6DODGBJJXK4KGFzbbmNXibugdbccmiLx70FKcqS6+Itft715VSvWJ8fZ3Q5VSHyilMj742OtsfwfwILrd1Q9a0A06a9Cv6h+SDCNq6IGuAg5ClxQmoNuI/eoD04CPHAJtIvSWeAlgqyxpmfImtLmjSZzqAc4z14OilKTKHLkiJRwd6JiJdMRGWQday1xdgFbgLjrsIY3LgrkW3cCztczZOWveKODbbLlwNjTKIjmN8Ntwo4R9wsFYt4zNCvjvMKqJ33bxKbRu6fw7jJXo/htPgv4fAACYxQCp1KuJAAAAAElFTkSuQmCC) no-repeat;background-size:40px auto;background-position:10px center;background-color:#42474C;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:16px;max-width:360px;margin:auto;-webkit-box-shadow:0 2px 6px 2px rgba(0,0,0,.2);box-shadow:0 2px 6px 2px rgba(0,0,0,.2);text-shadow:1px 1px 0 rgba(0,0,0,.8);cursor:pointer;webkit-user-select:none;-webkit-box-sizing:border-box;box-sizing:border-box}.appstoreBtn{display:block;width:91px;height:30px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALYAAAA8CAYAAADL20C6AAAACXBIWXMAAAsTAAALEwEAmpwYAAA5mWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDowMTgwMTE3NDA3MjA2ODExOTEwOUU0OEZENkUxNjA2MDwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOkYyNjVEOENFOEZCOTExRTE5RDM1REJEMUIxMjY5QThEPC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOmUwMzFhMTNmLTFlNjctNDAwMy1hMTJmLWUwNWM2ZmM0YTA1NDwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRlcml2ZWRGcm9tIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgPHN0UmVmOmluc3RhbmNlSUQ+eG1wLmlpZDowMTgwMTE3NDA3MjA2ODExOTEwOUU0OEZENkUxNjA2MDwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDowMTgwMTE3NDA3MjA2ODExOTEwOUU0OEZENkUxNjA2MDwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmUwMzFhMTNmLTFlNjctNDAwMy1hMTJmLWUwNWM2ZmM0YTA1NDwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxMy0wNy0zMVQxMzoxOTo0MC0wNDowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L3htcE1NOkhpc3Rvcnk+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+QWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDEzLTA3LTMxVDEyOjQ4OjAxLTA0OjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTMtMDctMzFUMTM6MTk6NDAtMDQ6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDEzLTA3LTMxVDEzOjE5OjQwLTA0OjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MTgyPC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjYwPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz6H5nxsAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAABqgSURBVHja7F15VFRH1v/1wiayBxUBRVAQUVARZVRAEyOKGjeiccE9JzouRyRDosccz0x0TGJi1BkT3FAU3KIGlYgiQlxGZWQRUAkwKARwASHQLE2v9/vDefX1o7vZNI6a/p3zDs17t+q9uu9W1a17694nmDZtGgoKCvDo0SOo1epZNTU104jIG8BbMMCAVx8KgUCQbW5ufs7MzGxnRUWFEgDEQqEQQqEQEolku0KhWGXgkwGvG4hobH19/VipVBrs4uIyr7i4+KmoW7duKCws3FRfX/+xgUUGvOYC3kelUnlev379qMjIyKhvWVnZAQBGBtYY8LpDLpd7yOXyQpFUKl2nUCgCDCwx4E1BQ0ODibCxsdHTwAoD3iQolUonIQClgRUGvGEQCw08MOBNXEcaBNuAN3PIft4KzM3NYWVlBaGwY31EJpOhsrLytWSetbU1unbtisrKSlRXV7e5nKWlJRwcHPD06VNUVVW1SvfkyRPU1NS8ljx66623YGdnh9LSUjQ2Nr7Ue58FQO09bGxs6Ouvv6bi4mKSSCQdOurq6qiqqorOnDlDgYGB1JHnAEAzZ86kyMhIGjdu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) no-repeat;background-size:contain;margin:auto;z-index:2}.appNativePlayBtn{position:absolute;left:25%;bottom:8px;display:block;width:50%;height:30px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQIAAABMCAYAAACGarn4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMTgwMTE3NDA3MjA2ODExOTEwOUU0OEZENkUxNjA2MCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpBNkIwOTY0NUYyMjkxMUUyQUU1QUQ4MDY4QjcxREZCQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpBNkIwOTY0NEYyMjkxMUUyQUU1QUQ4MDY4QjcxREZCQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkNDREM1RjY4OEZCQzExRTE5NzFGRkY4Q0IzQjJGQkM3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNDREM1RjY5OEZCQzExRTE5NzFGRkY4Q0IzQjJGQkM3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+3m+BHwAACIJJREFUeNrsnV1MW/cZxl9/gD/B2MZ82CSh1F6JQmkaRZoCFRWJoOku1qhDWRppbFdjqiq10S52k4hwuaoMaVWm5W4Xa3oTTdEupkrJNK0XkSJFVSLlCwFRvhgLBvNlKAkE+j5nIdtS23F8TGzI85P+gnCO7RMdPc//ed//8TmWo0ePilnsdrscP348qr+26/ihDoeO13RYhRCST1Z0DOp4oOOCjn+srq4Om9awmRc7HA45duzYB/prVzQabWxpaaloamoqLykpsdbV1bksCs8bIflDRb967969HUtLSytXrlx59/z585+ozG7optO66csXagQ2m036+vp+BANoUw4ePBipqKhwzs/PC8bCwoJcvXpVHj16hAPn2SMkD2BeVe1ZdKJ1u1wuaW1t9XZ2doanp6cbTp8+vVO3dzw2hL8993s/b2mgByG9vb0fVlVV/erIkSMNoVDIowcic3NzhvAJIS8OTMplZWWiE7HE4/H5gYGBm+Pj439UM/jDuiWCxybw6+bm5l/29PQ0LC8v20dHR0VjCs8IIQUAky8mYiRxNQOP6nP7yZMnP9Z04FIz6M/2fbJu5sF59EN6mpqaYAIxjf/2yclJmgAhRQB0CD1Cl9AndKpm0JN3I+jr69tfXV39UXd3d4N+mGV2dlZWVlZ4BggpEqBH6BL6hE6hVzWD/XkrDbA6oHQdPny4XpOBfWZmJmMTUGsUGRsbe9I4ZGogxBwoy91ut5SXl4sKXCorKyXVohx0iX6dz+ezQ68DAwNd+uev8mIEWCLcvXt3e11dnTeZTKZNAhMTE3L9+nWBUTzucIrVajX+E4QQc7M9dDU1NSW3bt2C0KWxsVFCoVDKfaFT6BW6VS1+8KylRXs2ToQ00N7eHl5eXk47u9+8eVOuXbtmXFwUDAbF6/WK0+k0Xg9D4CUFhOQGZnk0BR8+fCiLi4uGyFECXLhwwTCDaDSasmcAvUK3Fy9eRCowZwS9vb27YrFYkzqQEzE/FSMjI3Ljxg3Dpaqqqoz4gnICpoBEgEEIMZcIMCBumAHifzwel8HBQcMoVKPfew30Ct1CvzoR79L9vjFTGrToG5Xjl1TXCaAcwMGgZqmpqTHWNGEAawlgzc0IIeaAppCwoS+k7bXEPTQ0ZFxH8HSZAN1hO/Sr+7Ton0wZQbMK3JOqOYi/4SAg/traWvF4PMbsz9UEQtYX6AzlN3SHkgFleVtb2/dKcGgU+oWOTZUGyiuBQMCVStxIA4goDQ0Ngkse06UGQsj6AN2Fw2GjPMdqHVYUni4poF/o2KwReEtLS22pBI4rmuBKOBiWAIQUzgzQl8MFRU8bATQJ/ULHZo2gRGOIJVVpgA9GWYA4QhMgpHC9A+gwkUikLN+hX+jYrBE8ecOnQVdSYwdNgJACg1W6VKt62X771272AJgGCCmOVGBGh6aNYG1tkxBSOMze98O0EcAEePMRQjY2NAJCiHkj4O3ICKERGImA3yUghEZAIyCERkAjIIQ9AvYICKERwAj4bUNCWBrw7kOE0AhoBIQUA2Z6dXkpDWgEhLzkRsD+ACHFgZm7hXPVgBBCIyCE5Kk0oBEQstGNIBsRZ9iHiYCQIiJHLTIREELMG8H9+/d5qzJCigA8ZaxgRoALimgEhGxs+LVBQgiNgBBCIyCE0AgIIcCezcIfFwcJ2RjkqlUmAkKI+SsLCSHFFAly0yoTASGERkAIoREQQoSrBoRsKnLVKpuFhGwqJ2CzkBCSIzQCQgh7BIRsqsogVyNgj4CQzeQE7BEQQnLElBHYrFY+5YiQYhCyatFuz/2GY/Zsbjyabh+3x2M8XQW3KyOEFA7o0Ov15nwjYVOJIBAIiMvl4lkgpMB4dFKurq7OPVHAPzINybBt69at4vf7eRYIKTA+n0/C4XBGHWdOBIgSmcZ/aoOUo6ysTF6przd+EkIKA/RXrzoMYFLOpOP1Kg2Sc3OyZ88eCYVCbBoSUiCgv9bWVpmdnTVRGqhbpBtrpNuOpxyhR7Bv3z6pq6ujGRDygtmyZYu0t7eLx+1+8tSxTFpOR8b1ht9++qnb4XBkTA3T09PStGOH8WHnzp2TeDwu8/PzPEOErCNoDiIJwASaX39dRkdHM+7vdDptOlF7VafJlEbwDLcI+crLS9dSQTpwEDiY2poa+efXX8vt27cNg4AhcGmRkPyA6wRgABUVFbJt2zZ5u63NeMzZ3bt3M+oTSb28rKxkcXExiIr+uROBsj0cibhLS0vlwYMHaXfCQeBgAsGg/Ly7W4aHh2V4ZET+PTYmC99+yzNISB5waxleU1sr0VdflWg0KuOavu/cufPM10G/0LHuv13/efu5EoHNZsOPt34Qi/ngROomz/zAyYkJmUokjOsL9u7da9Qt9pISnkFC8sDy0pLMLyzIjKbtwcFBoyeQbZKAji9duvSW/vOrlPuke4DpZ/39uyorK99rbGz0Iw1k+6BT7IcnJGMQQgoP9AsdaxnxnpYJf9HJ/5usjOD3n3/u0B9d+995J2K1Wi0L6kKr/AYiIRsS6Nfv91s6Ozoif/7iiy41g6uq5/+r9e3L/2MEaCqcOHECD1n/RUdHx89eUxeZmpqSJTb8CNnQzM7NCfQMXZ89e3Zatf4nNYPx/xqB1h0AX1pQEzio9cRvDhw4ULvzjTdqYAK4aIgQsrFJqs5xlc/bbW0Rn8/3yZkzZ36qZvCZmsGXRgjQgU5iWEdnLBb78aFDh+rVDJxo/GH5jyUBIZsDJH4sPwYrK9FoXDx16tStoaGhv+qmv1ti0ei1UCjk2Pnmm/5IJFKRmJy0JBIJrv8TsknBKgJW9gLB4Oq/RkenL1++PGX5XX//ajKZFIh/ZmbGWCZkCiBk86cDp9NpfGvRr6Zg+cn771P1hLzsKWHpcbOQEPIyGwF7AYS89HwnwABntQlsNjK2TgAAAABJRU5ErkJggg==) center no-repeat;background-size:129px 38px;color:#fff;cursor:pointer;text-shadow:0 -1px 0 #000;filter:dropshadow(color=#000000,offx=0,offy=-1);font-size:.8em;font-weight:700;text-align:center;margin:0 auto;padding-top:8px;z-index:4}.appNativePlayBtnText{font-size:.9em;font-weight:700;text-align:center;padding-top:2px}.topBrdr,.btmBrdr{height:8px;width:100%}.topBrdr{border-radius:5px 5px 0 0;border-top:1px solid #ccc}.btmBrdr{position:absolute;bottom:0;left:0;z-index:3;border-radius:0 0 5px 5px;border-top:1px solid #888;border-bottom:1px solid #000}.topBrdrInner,.btmBrdrInner{width:100%;height:7px}.topBrdrInner{padding-bottom:1px;border-radius:4px 4px 0 0;background:-webkit-linear-gradient(top,rgba(116,115,115,1) 0,rgba(54,54,54,1) 100%);background:linear-gradient(top,rgba(116,115,115,1) 0,rgba(54,54,54,1) 100%)}.btmBrdrInner{position:absolute;bottom:0;left:0;z-index:3;padding-top:1px;border-radius:0 0 4px 4px;background:-webkit-linear-gradient(top,#474747 0,#333 100%);background:linear-gradient(top,#474747 0,#333 100%)}.fullSizePosterImgContainer{display:display;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important;width:100%;height:100%;background-color:#000!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media (max-width:320px){.openVideoSmartPlayerButton{width:260px;font-size:14px;background-position:15px center}}#controls{position:absolute;bottom:0;left:0;width:100%;overflow:visible;font-family:Helvetica,Arial,sans-serif;z-index:3}.hide #controls{display:none}#controls .controls_left{float:left;margin-right:-15px}#controls .controls_right{float:right;margin-left:-15px}#controls .control_button{display:block;float:left;padding:0;border-style:none;background-color:transparent;cursor:pointer}#controls .control_button:focus{outline:0}#controls .hide{display:none}#controls.caption_under_video{position:relative;bottom:0;left:0;right:0}#progress{overflow:hidden}#progress_box{overflow:hidden;padding:0 15px}#progress_scrubbar_track_left{float:left}#progress_scrubbar_track_right{float:right}#progress_scrubbar_track{position:relative;display:block;width:auto;cursor:pointer;touch-action:none}#progress_scrubbar_track .scrubbar_track,#progress_scrubbar_track .scrubbar_loaded_track,#progress_scrubbar_track .scrubbar_played_track{position:absolute;left:0}#progress_scrubbar_track .scrubbar_track{width:100%}#play_progress{overflow:visible}#scrubbar_scrubber{position:absolute;top:0;right:0}#progress .seperator{float:right}#play_time{float:right;margin:0 15px 0 -15px;cursor:default}#markers{position:absolute;top:0;display:none}.volume_wrapper{position:relative;float:left;z-index:1}#volume_slider_container{position:absolute;bottom:100%;transition:height .1s}#volume_slider_container.hide{display:block;height:0}#volume_slider_vertical{position:relative;cursor:pointer}#volume_slider_vertical .ui-slider-range{position:absolute;bottom:0;left:0;width:100%}#volume_slider_vertical .ui-slider-handle{position:absolute;display:block}#playerSettingsContainer{position:absolute;bottom:100%;right:0;padding:10px}#videoSidebar{position:absolute;top:0;left:0;display:none;width:252px;border-color:#4c4c4c;border-width:1px;border-style:none solid;color:#fff;background:#000;background:rgba(0,0,0,.85)}#videoSidebar.right{left:auto;right:0}#videoSidebarHead{position:relative;overflow:hidden;z-index:1}#videoSidebarHead .video_title{font-size:inherit;font-weight:inherit;padding:6px 2px 4px}#searchArea{border:1px solid #ccc;border-radius:12px;margin:0 2px 4px;padding:2px 2px 2px 22px;background:#fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk4NzYzMUY5RjIyOTExRTJBRTVBRDgwNjhCNzFERkJBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk4NzYzMUZBRjIyOTExRTJBRTVBRDgwNjhCNzFERkJBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTg3NjMxRjdGMjI5MTFFMkFFNUFEODA2OEI3MURGQkEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTg3NjMxRjhGMjI5MTFFMkFFNUFEODA2OEI3MURGQkEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7QRiLXAAABCElEQVR42mL8//8/AyWABV3Ax8fHHkgVAbExVOgsEPdt2bLlIDYDGJFdANRcDaRacFhWCTSkA12QCc3mRiD+BcQ1QCwDxTVQsRagGht8XgDZzAzSgGZTK1DjXyDdDlXjgNUFQKALpedicT5MzACnF4gEzPgMuAylk7FoTIDSF/CFASiw9oICEuhnUKAtg4pHQf3+F6oGuwug8VwPxGxA3AvEz6G4Fyr2AYgf4U0HSNFZipaQngJxGhDfAcUC0LKnOA3ABoCG8gOph0DMDw0rkCHviI4FoOKPQGo6UnRvBxrKRmo0ToSmSBAwA2JXkgwAuuIF1BAGaFgcB7NAYUAK9vb2VkfmAwQYAOM2gBsK50UUAAAAAElFTkSuQmCC) scroll no-repeat 3px center;overflow:hidden}.search_disabled #searchArea{display:none}#searchBox{display:block;float:left;width:190px;height:22px;padding:0;border-style:none;font-size:18px}#clearSearchButton{display:block;float:right;width:28px;height:22px;padding:0;border-style:none;background:#fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk4NzYzMUZERjIyOTExRTJBRTVBRDgwNjhCNzFERkJBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk4NzYzMUZFRjIyOTExRTJBRTVBRDgwNjhCNzFERkJBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTg3NjMxRkJGMjI5MTFFMkFFNUFEODA2OEI3MURGQkEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTg3NjMxRkNGMjI5MTFFMkFFNUFEODA2OEI3MURGQkEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4kxTDvAAABTElEQVR42pySu0oDURCG3dVgERUT06cxWAgK1jaWkW2EoKQIqIURL2gjioWpDDZaiWJSWPoC2wYURS1ErcQLvoKCrcj6DczK5BAEXfh2dmf+/1zmHC+Korb/Ph3yCsOwm7AJA7AWBMGrK0TTSdgC0VbQvPtaq8AGTEAdYdYxJgm7sA7LsC/52DxktGNwgCGlxh7CNixAu2oGrXkJrs0A4zITxmFiFVbA09ozzMuHFzcMYT/hGEZV9AVvkDHGJ5hlv5dNZh0gRzjUpftOz+5gEeNVnPDco2KAEcIZdJn0J+QxNqzWd4wZ3X+ixbFOUU/bhN1zL+EIJn+5FyfSLFbw8TOzzlh3jLdQhnuTK+o9SNtl70HBiC6gxAw1Pd9HU5MJdqy5zxSlWdMYH+RHuzsHL0aTs+ZVOIWGnmPT3eb/nDADN6optzyqvzzfAgwAgaBscFQiLx4AAAAASUVORK5CYII=) scroll no-repeat center}#fsSearchAlert{display:none;margin:5px 0;padding:10px;color:#fff;font-size:12px;background-color:#ba8a29;background-image:-webkit-gradient(linear,0 0,0 100%,from(#ba8a29),to(#a8502f));background-image:-webkit-linear-gradient(top,#ba8a29,#a8502f);background-image:-moz-linear-gradient(top,#ba8a29,#a8502f);background-image:-ms-linear-gradient(top,#ba8a29,#a8502f);background-image:-o-linear-gradient(top,#ba8a29,#a8502f);border:1px solid maroon;-moz-box-shadow:0 0 5px rgba(0,0,0,.5);-webkit-box-shadow:0 0 5px rgba(0,0,0,.5);text-shadow:1px 1px 0 rgba(0,0,0,.5)}.search_disabled #fsSearchAlert{display:block}#pipimage{background-repeat:no-repeat;background-size:contain;border:1px solid #FFF;margin-top:10px;margin-bottom:10px}#videoSidebarContentWrapper{position:absolute;top:58px;right:0;bottom:0;left:0;overflow:auto}#searchList,#tableOfContentsList{margin:0}#searchList li,#tableOfContentsList li{list-style:none;cursor:pointer}#searchList li:hover,#tableOfContentsList li:hover{background-color:#333;color:#fff}#searchList li.noThumbImage,#tableOfContentsList li.noThumbImage{padding:10px 6px 10px 8px}#searchList li.hasThumbImage,#tableOfContentsList li.hasThumbImage{padding:4px 10px}#searchList .tocItemLabel,#tableOfContentsList .tocItemLabel{position:relative;margin-left:5px}#tsc_quiz_container{font-family:Arial,Helvetica,sans-serif;font-size:14px;z-index:10;padding:20px;position:absolute;background-color:#FFF;line-height:1.3em}#tsc_quiz_container h2{font-family:Actor,Arial,Helvetica,sans-serif;font-size:32px;letter-spacing:0;line-height:1em;padding:0;margin:0;margin-bottom:12px;min-height:46px;width:480px;color:#000ad2;word-wrap:break-word;text-shadow:-1px 1px 1px rgba(0,0,0,.4)}#tsc_quiz_container label{margin:3px 0;padding:4px 4px 6px 10px;word-wrap:break-word}.active_quiz_item:hover{background-color:#cdd4fb;border-top-left-radius:12px;border-top-right-radius:12px;border-bottom-left-radius:12px;border-bottom-right-radius:12px}.active_quiz_item:active{background-color:#dadff0;border-top-left-radius:12px;border-top-right-radius:12px;border-bottom-left-radius:12px;border-bottom-right-radius:12px}.picked_quiz_item{background-color:#dadff0;border-top-left-radius:12px;border-top-right-radius:12px;border-bottom-left-radius:12px;border-bottom-right-radius:12px}.quiz_question{margin:0 0 8px;padding:0;word-wrap:break-word}.quiz_question span{font-family:Actor,Arial,Helvetica,sans-serif;font-size:22px;color:#666}#tsc_quiz_container input[type=radio]{margin-right:10px}#tsc_quiz_controls{margin-top:10px}#tsc_text_input{width:300px;margin-left:22px;margin-bottom:14px}#tsc_textarea_input{width:460px;margin-left:22px;margin-bottom:10px;font-family:Actor,sans-serif;font-size:16px;font-weight:400}#tsc_question_set_result_info{display:none;margin:-10px 0 15px 4px;padding:0;width:490px;font-size:12px;color:#666;text-shadow:-1px 0 0 rgba(0,0,0,.4)}.tsc_multiple_choice{display:block}.image_feedback{margin-left:-3px;margin-right:10px;margin-bottom:-4px}.image_fitb_feedback{margin-left:0;margin-right:-20px;margin-bottom:-4px}.feedback_placeholder{display:none}.feedback_placeholder_show{display:block}button{cursor:pointer;padding:5px 10px}#tsc_previous_button{display:none}#tsc_next_button{display:none}#tsc_submit_button{float:right;display:none}#tsc_continue_button{float:right;display:none}#tsc_quiz_setup_container{font-family:Arial,Helvetica,sans-serif;font-size:18px;z-index:10;position:absolute;text-align:center;background-color:#FFF}#tsc_quiz_setup_container label{display:none;margin-left:4px}#tsc_quiz_question_count{padding:8px;text-align:center;line-height:1.6em;width:69px;height:70px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABVCAYAAAA8AHhnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjM3NjI1MjRGRjIzMDExRTJBRTVBRDgwNjhCNzFERkJBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjM3NjI1MjUwRjIzMDExRTJBRTVBRDgwNjhCNzFERkJBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTZCMDk2NEVGMjI5MTFFMkFFNUFEODA2OEI3MURGQkEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Mzc2MjUyNEVGMjMwMTFFMkFFNUFEODA2OEI3MURGQkEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6Y6n/8AAAY50lEQVR42uxdS6xl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) no-repeat;position:absolute;top:-13px;right:18px}.tsc_quiz_question_count_current{margin-top:14px;margin-left:8px;display:block;font-size:32px;font-family:Quicksand,Arial,Helvetica,sans-serif;text-shadow:-1px 1px 1px rgba(0,0,0,.4);font-weight:800;color:#000}.tsc_quiz_question_count_total{display:block;margin-top:2px;margin-left:8px;font-size:14px}#tsc_answers{max-height:200px;overflow:auto;-webkit-overflow-scrolling:touch}@media screen and (min-height:401px){#tsc_quiz_container{padding:20px;left:0;bottom:0;width:580px;border:1px solid #CCC;border-top-right-radius:22px;border-top-left-radius:22px;border-bottom-right-radius:22px;border-bottom-left-radius:22px;-moz-border-radius:22px;-webkit-border-radius:22px;-moz-box-shadow:0 0 5px rgba(0,0,0,.5);-webkit-box-shadow:0 0 5px rgba(0,0,0,.5)}#tsc_quiz_setup_container{width:560px;left:50%;top:15px;margin-left:-280px;border:1px solid #CCC;border-top-right-radius:22px;border-top-left-radius:22px;border-bottom-right-radius:22px;border-bottom-left-radius:22px;-moz-border-radius:22px;-webkit-border-radius:22px;-moz-box-shadow:0 0 10px rgba(0,0,0,.5);-webkit-box-shadow:0 0 10px rgba(0,0,0,.5)}.inputBlock{margin-top:12px;text-align:left;width:404px;margin-left:auto;margin-right:auto}.inputContainer{text-align:center;margin-bottom:20px}#tsc_quiz_setup_container h2{color:#000ad2;text-align:left;font-size:1.2em;margin:20px 30px;text-shadow:1px 1px 1px rgba(0,0,0,.3)}#tsc_quiz_setup_container p{margin:20px 0}#tsc_quiz_setup_container input{font-size:1.1em;color:#325ea3;width:400px}#tsc_quiz_setup_container button{padding:10px 15px;font-size:1.4em}#tsc_quiz_setup_container a{margin-top:10px;padding:6px 10px;font-size:.75em;text-decoration:none;color:#fff;background-color:#333;-moz-border-radius:6px;-webkit-border-radius:6px;-moz-box-shadow:0 0 1px rgba(0,0,0,.5);-webkit-box-shadow:0 0 1px rgba(0,0,0,.5)}}@media screen and (max-height:400px){#tsc_quiz_container{padding:0;width:100%;height:100%;left:0!important;bottom:0!important;top:0!important;max-height:400px!important;border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0;-moz-border-radius:0;-webkit-border-radius:0}#tsc_quiz_container h2{margin:8px 4px 12px 8px;min-height:46px;font-size:28px;width:82%}.quiz_question{margin:8px}#tsc_textarea_input{width:90%}#tsc_question_set_result_info{width:80%;margin-left:10px}#tsc_answers{margin:10px}button{cursor:pointer;padding:10px 15px;font-size:18px}#tsc_previous_button{margin-left:10px;display:none}#tsc_next_button{display:none}#tsc_submit_button{float:right;margin-right:10px;display:none}#tsc_continue_button{float:right;margin-right:10px;display:none}#tsc_quiz_controls{width:100%;position:absolute;bottom:0;padding:10px 0;background-color:#fff}#tsc_quiz_setup_container{width:100%;height:100%;left:0;top:0}.inputBlock{margin-top:12px;text-align:left;width:404px;margin-left:auto;margin-right:auto}.inputContainer{text-align:center;margin-bottom:10px}#tsc_quiz_setup_container h2{color:#000ad2;font-size:1.1em;margin:15px 10px;text-shadow:1px 1px 1px rgba(0,0,0,.3)}#tsc_quiz_setup_container p{margin:20px 0}#tsc_quiz_setup_container input{font-size:1.1em;color:#325ea3;width:400px}#tsc_quiz_setup_container button{padding:10px 15px;font-size:1.4em}#tsc_quiz_setup_container a{margin-top:10px;padding:6px 10px;font-size:1.4em;text-decoration:none;color:#fff;background-color:#333;-moz-border-radius:6px;-webkit-border-radius:6px;-moz-box-shadow:0 0 1px rgba(0,0,0,.5);-webkit-box-shadow:0 0 1px rgba(0,0,0,.5)}#tsc_quiz_question_count{top:-13px;right:-5px}}#tsc_confirmation_container{font-family:Arial,Helvetica,sans-serif;font-size:18px;z-index:10;padding:6px;position:absolute;left:0;bottom:0;width:200px;background-color:#FFF;border:1px solid #CCC;line-height:1.3em;border-top-right-radius:22px;border-top-left-radius:22px;border-bottom-right-radius:22px;border-bottom-left-radius:22px;-moz-border-radius:22px;-webkit-border-radius:22px;-moz-box-shadow:0 0 5px rgba(0,0,0,.5);-webkit-box-shadow:0 0 5px rgba(0,0,0,.5)}#tsc_review_confirmation_container{font-family:Arial,Helvetica,sans-serif;font-size:18px;z-index:10;padding:6px;position:absolute;left:0;bottom:0;width:200px;background-color:#FFF;border:1px solid #CCC;line-height:1.3em;border-top-right-radius:22px;border-top-left-radius:22px;border-bottom-right-radius:22px;border-bottom-left-radius:22px;-moz-border-radius:22px;-webkit-border-radius:22px;-moz-box-shadow:0 0 5px rgba(0,0,0,.5);-webkit-box-shadow:0 0 5px rgba(0,0,0,.5)}#tsc_overlay{position:absolute;z-index:9;top:0;left:0;background-color:#000;width:100%;height:100%;padding:0;margin:0;opacity:.7}.largeButton{cursor:pointer;text-align:center;color:#fff;padding:15px;margin:5px;font-size:18px;-moz-border-radius:12px;-webkit-border-radius:12px;-moz-box-shadow:0 0 5px rgba(0,0,0,.5);-webkit-box-shadow:0 0 5px rgba(0,0,0,.5);-webkit-box-shadow:0 0 0 1px #666,0 0 0 2px #999,0 0 0 3px #666,1 1 1 6px #666;background:#45484d;background:-moz-linear-gradient(top,rgba(69,72,77,1) 0,rgba(0,0,0,1) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,rgba(69,72,77,1)),color-stop(100%,rgba(0,0,0,1)));background:-webkit-linear-gradient(top,rgba(69,72,77,1) 0,rgba(0,0,0,1) 100%);background:-o-linear-gradient(top,rgba(69,72,77,1) 0,rgba(0,0,0,1) 100%);background:-ms-linear-gradient(top,rgba(69,72,77,1) 0,rgba(0,0,0,1) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#45484d', endColorstr='#000000', GradientType=0);text-shadow:1px 1px 1px rgba(0,0,0,.8)}.blueButton{background:#84c4e2;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzg0YzRlMiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjM2JSIgc3RvcC1jb2xvcj0iIzM2OWFkNiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjYxJSIgc3RvcC1jb2xvcj0iIzM3ODZjOSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2NmFkZjEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-moz-linear-gradient(top,#84c4e2 0,#369ad6 36%,#3786c9 61%,#66adf1 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#84c4e2),color-stop(36%,#369ad6),color-stop(61%,#3786c9),color-stop(100%,#66adf1));background:-webkit-linear-gradient(top,#84c4e2 0,#369ad6 36%,#3786c9 61%,#66adf1 100%);background:-o-linear-gradient(top,#84c4e2 0,#369ad6 36%,#3786c9 61%,#66adf1 100%);background:-ms-linear-gradient(top,#84c4e2 0,#369ad6 36%,#3786c9 61%,#66adf1 100%);background:linear-gradient(top,#84c4e2 0,#369ad6 36%,#3786c9 61%,#66adf1 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#84c4e2', endColorstr='#66adf1', GradientType=0)}#tsc_continue_control{font-size:14px}#tsc_review_answers_control{margin-bottom:7px}#tsc_review_control{font-size:14px}#tsc_confirm_control{margin-bottom:7px}.chat-bubble-arrow-border{border-color:#CCC transparent transparent;border-style:solid;border-width:15px;height:0;width:0;position:absolute;bottom:-30px;left:130px}.chat-bubble-arrow{border-color:#FFF transparent transparent;border-style:solid;border-width:15px;height:0;width:0;position:absolute;bottom:-28px;left:130px}.preRoll{position:absolute;z-index:20;overflow:hidden;border:0}.preRollHidden{visibility:hidden}.preRoll-disableMouse{pointer-events:none}.preRoll-fullPage{top:0;left:0;width:100%;height:100%}.spritesheet{display:inline-block;overflow:hidden;background-repeat:no-repeat;background-image:url(spritesheet.png)}.sprite_repeat{background-repeat:repeat-x!important}.rewind_button_normal{width:43px;height:43px;background-position:-192px -226px}.rewind_button_over{width:43px;height:43px;background-position:-240px -226px}.rewind_button_down{width:43px;height:43px;background-position:-144px -288px}.rewind_button_disabled{width:43px;height:43px;background-position:-192px -226px}.play_button_normal{width:43px;height:43px;background-position:-144px -0px}.play_button_over{width:43px;height:43px;background-position:-144px -48px}.play_button_down{width:43px;height:43px;background-position:-96px -288px}.play_button_disabled{width:43px;height:43px;background-position:-144px -0px}.pause_button_normal{width:43px;height:43px;background-position:-96px -192px}.pause_button_over{width:43px;height:43px;background-position:-96px -240px}.pause_button_down{width:43px;height:43px;background-position:-96px -144px}.pause_button_disabled{width:43px;height:43px;background-position:-96px -192px}.previous_button_normal{width:43px;height:43px;background-position:-144px -192px}.previous_button_over{width:43px;height:43px;background-position:-144px -240px}.previous_button_down{width:43px;height:43px;background-position:-144px -144px}.previous_button_disabled{width:43px;height:43px;background-position:-144px -96px}.next_button_normal{width:43px;height:43px;background-position:-96px -48px}.next_button_over{width:43px;height:43px;background-position:-96px -96px}.next_button_down{width:43px;height:43px;background-position:-96px -0px}.next_button_disabled{width:43px;height:43px;background-position:-48px -288px}.settings_button_normal{width:43px;height:43px;background-position:-380px -0px}.settings_button_over{width:43px;height:43px;background-position:-428px -0px}.settings_button_down{width:43px;height:43px;background-position:-332px -0px}.settings_button_disabled{width:43px;height:43px;background-position:-380px -0px}.settings_off_button_normal{width:43px;height:43px;background-position:-476px -0px}.settings_off_button_over{width:43px;height:43px;background-position:-476px -0px}.settings_off_button_down{width:43px;height:43px;background-position:-476px -0px}.settings_off_button_disabled{width:43px;height:43px;background-position:-476px -0px}.closed_caption_button_normal{width:43px;height:43px;background-position:-0px -48px}.closed_caption_button_over{width:43px;height:43px;background-position:-0px -96px}.closed_caption_button_down{width:43px;height:43px;background-position:-0px -0px}.closed_caption_button_disabled{width:43px;height:43px;background-position:-0px -48px}.closed_caption_off_button_normal{width:43px;height:43px;background-position:-0px -144px}.closed_caption_off_button_over{width:43px;height:43px;background-position:-0px -144px}.closed_caption_off_button_down{width:43px;height:43px;background-position:-0px -144px}.closed_caption_off_button_disabled{width:43px;height:43px;background-position:-0px -144px}.toc_button_normal{width:43px;height:43px;background-position:-353px -48px}.toc_button_over{width:43px;height:43px;background-position:-401px -48px}.toc_button_down{width:43px;height:43px;background-position:-305px -48px}.toc_button_disabled{width:43px;height:43px;background-position:-353px -48px}.toc_off_button_normal{width:43px;height:43px;background-position:-449px -48px}.toc_off_button_over{width:43px;height:43px;background-position:-449px -48px}.toc_off_button_down{width:43px;height:43px;background-position:-449px -48px}.toc_off_button_disabled{width:43px;height:43px;background-position:-449px -48px}.fullscreen_enter_button_normal{width:43px;height:43px;background-position:-48px -48px}.fullscreen_enter_button_over{width:43px;height:43px;background-position:-48px -96px}.fullscreen_enter_button_down{width:43px;height:43px;background-position:-48px -0px}.fullscreen_enter_button_disabled{width:43px;height:43px;background-position:-48px -48px}.fullscreen_leave_button_normal{width:43px;height:43px;background-position:-48px -192px}.fullscreen_leave_button_over{width:43px;height:43px;background-position:-48px -240px}.fullscreen_leave_button_down{width:43px;height:43px;background-position:-48px -144px}.fullscreen_leave_button_disabled{width:43px;height:43px;background-position:-48px -192px}.fullframe_enter_button_normal{width:43px;height:43px;background-position:-0px -240px}.fullframe_enter_button_over{width:43px;height:43px;background-position:-0px -240px}.fullframe_enter_button_down{width:43px;height:43px;background-position:-0px -240px}.fullframe_enter_button_disabled{width:43px;height:43px;background-position:-0px -240px}.fullframe_leave_button_normal{width:43px;height:43px;background-position:-0px -288px}.fullframe_leave_button_over{width:43px;height:43px;background-position:-0px -288px}.fullframe_leave_button_down{width:43px;height:43px;background-position:-0px -288px}.fullframe_leave_button_disabled{width:43px;height:43px;background-position:-0px -288px}.play_button_overlay_normal{width:108px;height:108px;background-position:-192px -0px}.play_button_overlay_over{width:108px;height:108px;background-position:-192px -0px}.play_button_overlay_down{width:108px;height:108px;background-position:-192px -0px}.play_button_overlay_disabled{width:108px;height:108px;background-position:-192px -0px}.replay_button_overlay_normal{width:108px;height:108px;background-position:-192px -113px}.replay_button_overlay_over{width:108px;height:108px;background-position:-192px -113px}.replay_button_overlay_down{width:108px;height:108px;background-position:-192px -113px}.replay_button_overlay_disabled{width:108px;height:108px;background-position:-192px -113px}.scroll_down_arrow_normal{width:16px;height:16px;background-position:-14px -213px}.scroll_down_arrow_over{width:16px;height:16px;background-position:-192px -274px}.scroll_down_arrow_down{width:16px;height:16px;background-position:-14px -213px}.scroll_down_arrow_disabled{width:16px;height:16px;background-position:-14px -213px}.scroll_up_arrow_normal{width:16px;height:16px;background-position:-232px -313px}.scroll_up_arrow_over{width:16px;height:16px;background-position:-253px -292px}.scroll_up_arrow_down{width:16px;height:16px;background-position:-232px -292px}.scroll_up_arrow_disabled{width:16px;height:16px;background-position:-232px -313px}.scroll_thumb_bottom_normal{width:14px;height:50px;background-position:-192px -295px}.scroll_thumb_bottom_over{width:14px;height:50px;background-position:-192px -295px}.scroll_thumb_bottom_down{width:14px;height:50px;background-position:-192px -295px}.scroll_thumb_bottom_disabled{width:14px;height:50px;background-position:-192px -295px}.scroll_track_normal{width:15px;height:13px;background-position:-232px -274px}.scroll_track_over{width:16px;height:4px;background-position:-69px -336px}.scroll_track_down{width:16px;height:4px;background-position:-48px -336px}.scroll_track_disabled{width:15px;height:13px;background-position:-232px -274px}.scrubbar_scrubber_normal{width:10px;height:43px;background-position:-305px -0px}.scrubbar_scrubber_over{width:10px;height:43px;background-position:-305px -0px}.scrubbar_scrubber_down{width:10px;height:43px;background-position:-305px -0px}.scrubbar_scrubber_disabled{width:10px;height:43px;background-position:-305px -0px}.unmute_button_normal{width:43px;height:43px;background-position:-545px -48px}.unmute_button_over{width:43px;height:43px;background-position:-305px -96px}.unmute_button_down{width:43px;height:43px;background-position:-497px -48px}.unmute_button_disabled{width:43px;height:43px;background-position:-545px -48px}.volume_button_normal{width:43px;height:43px;background-position:-353px -192px}.volume_button_over{width:43px;height:43px;background-position:-353px -240px}.volume_button_down{width:43px;height:43px;background-position:-305px -144px}.volume_button_disabled{width:43px;height:43px;background-position:-353px -192px}.volume_button_low_normal{width:43px;height:43px;background-position:-401px -96px}.volume_button_low_over{width:43px;height:43px;background-position:-449px -96px}.volume_button_low_down{width:43px;height:43px;background-position:-353px -96px}.volume_button_low_disabled{width:43px;height:43px;background-position:-401px -96px}.volume_button_med_normal{width:43px;height:43px;background-position:-545px -96px}.volume_button_med_over{width:43px;height:43px;background-position:-353px -144px}.volume_button_med_down{width:43px;height:43px;background-position:-497px -96px}.volume_button_med_disabled{width:43px;height:43px;background-position:-545px -96px}.volume_button_high_normal{width:43px;height:43px;background-position:-305px -240px}.volume_button_high_over{width:43px;height:43px;background-position:-305px -288px}.volume_button_high_down{width:43px;height:43px;background-position:-305px -192px}.volume_button_high_disabled{width:43px;height:43px;background-position:-305px -240px}.volumebar_slider_normal{width:13px;height:9px;background-position:-96px -336px}.volumebar_slider_over{width:13px;height:9px;background-position:-96px -336px}.volumebar_slider_down{width:13px;height:9px;background-position:-96px -336px}.volumebar_slider_disabled{width:13px;height:9px;background-position:-96px -336px}.scrubbar_loaded_track_end{width:2px;height:43px;background-position:-288px -226px}.scrubbar_track_left{width:1px;height:43px;background-position:-295px -226px}.scrubbar_track_right{width:1px;height:43px;background-position:-320px -0px}.scrubbar_track{width:2px;height:43px;background-position:-0px -479px}.scrubbar_loaded_track{width:2px;height:43px;background-position:-0px -393px}.scrubbar_played_track{width:2px;height:43px;background-position:-0px -436px}.seperator{width:1px;height:43px;background-position:-326px -0px}.volumebar_track{width:5px;height:2px;background-position:-35px -192px}.volumebar_track_end{width:5px;height:2px;background-position:-35px -199px}.volumebar_backdrop{width:31px;height:97px;background-position:-401px -144px}.control_backdrop_left{width:2px;height:43px;background-position:-0px -192px}.control_backdrop_right{width:2px;height:43px;background-position:-7px -192px}.toc_title_backdrop{width:8px;height:18px;background-position:-0px -522px}.control_backdrop{width:2px;height:43px;background-position:-0px -350px}.quizMarker{width:3px;color:rgba(255,255,255,.5);display:none}#videoClickToPlay,#videoClickToReplay{margin:-54px 0 0 -54px}#progress .seperator{display:none}#play_time{padding:0 5px 0 13px;font-size:15px;line-height:43px;color:#fff}#progress_scrubbar_track{height:43px;margin:0 1px}#scrubbar_scrubber{margin-right:-6px}#volume_slider_container{left:6px;margin-bottom:-4px}#volume_slider_vertical{height:61px;margin-top:19px}#volume_slider_vertical .ui-slider-handle{left:9px;width:13px;height:9px;background-image:url(spritesheet.png);background-position:-96px -336px}#volume_slider_vertical .ui-slider-range{margin-left:15px;width:1px;background-color:#151515}#playerSettingsContainer{margin-bottom:1px;background-color:#4b4b4b;color:#fff}#videoSidebar{bottom:43px}.captionVAlignBottom{bottom:53px}
\ No newline at end of file
diff --git a/RMAGEN/RMAGEN.common.settings b/RMAGEN/RMAGEN.common.settings
new file mode 100644
index 0000000..c26faac
--- /dev/null
+++ b/RMAGEN/RMAGEN.common.settings
@@ -0,0 +1,22 @@
+
+
+
+
+ true
+
+
+ C:\Users\RMA5440\Fortran-Projects\RMAGEN\RMAGEN\INSTALL\RMAGENV83X.EXE
+
+ C:\Users\RMA5440\proj-17\ftn\jan31\RMA2 test files
+
+ true
+
+
+ true
+ true
+
+ false
+ true
+ false
+
+
\ No newline at end of file
diff --git a/RMAGEN/fort.155 b/RMAGEN/fort.155
new file mode 100644
index 0000000..8c4aad7
--- /dev/null
+++ b/RMAGEN/fort.155
@@ -0,0 +1,9 @@
+ 0.0000000E+00 0.0000000E+00 0.0000000E+00
+ 0.0000000E+00 0.0000000E+00 0.0000000E+00
+ 0.0000000E+00 0.0000000E+00 0.0000000E+00
+ 0.0000000E+00 0.0000000E+00 0.0000000E+00
+ 0.0000000E+00 0.0000000E+00 0.0000000E+00
+ 0.0000000E+00 0.0000000E+00 0.0000000E+00
+ 0.0000000E+00 0.0000000E+00 0.0000000E+00
+ 0.0000000E+00 0.0000000E+00 0.0000000E+00
+ 0.0000000E+00 0.0000000E+00 0.0000000E+00
diff --git a/RMAGEN/test.rm1 b/RMAGEN/test.rm1
new file mode 100644
index 0000000..aa8bde4
Binary files /dev/null and b/RMAGEN/test.rm1 differ
diff --git a/Untitled.camproj b/Untitled.camproj
new file mode 100644
index 0000000..c2b4457
--- /dev/null
+++ b/Untitled.camproj
@@ -0,0 +1,130 @@
+
+
+
+
+1920
+1080
+1
+1
+-1
+
+
+
+C:\Users\RMA5440\AppData\Local\TechSmith\Camtasia Studio\8.0\Auto-Saves\Untitled4eaa9470.autosave.camproj
+
+B0BE3E18-C5DF-40FA-A859-8E865C918D77
+
+0
+
+
+
+
+
+
+
+
+
+8
+Untitled
+
+
+13
+2017-02-07 04:09:51 PM
+
+
+16
+ENU
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/capture-3.trec b/capture-3.trec
new file mode 100644
index 0000000..832bf08
Binary files /dev/null and b/capture-3.trec differ
diff --git a/src/BLK1.f90 b/src/BLK1.f90
index 2ffe1b5..539c563 100644
--- a/src/BLK1.f90
+++ b/src/BLK1.f90
@@ -12,7 +12,7 @@
INTEGER*2 INSKP,IESKP,INEW,NCORN,IJUN,ISWTAGN,iswtintp
!IPK MAY02 INTEGER*2 NOP,IMAT,IEM,NEF,NEFLAG,LINTYP,LAY
INTEGER*2 IMAT,LINTYP,LAY,IRTYP
- INTEGER*4 NOP,IEM,NEF,NEFLAG
+ INTEGER*4 NOP,IEM,NEF,NEFLAG,ILINEL
! REAL*8 CORD,XUSR,YUSR,XC,YC,CMAP,XMAP,YMAP,pscale,xref,yref
REAL*8 CORD,XUSR,YUSR,XC,YC,pscale,xref,yref
REAL*8 ALXX,ALYY,ALWD,BLXX,BLYY,BLWD,XBRLEN,CNX,CNY,WIDTHD,HLEFT,HMID,HRIGHT,HSET
@@ -42,7 +42,7 @@
,IIN, IBAK, LUNIT,IGIN,IS11,IMP,IGFG,ISWAP,ITRIAN&
,klint,jlint,lmpnam,IDELV,nmapf,NSIGF,NPUNDO,NEUNDO,nefsav,nesav&
,xadded,yadded,icolsw,rad,colint,ielvsw,ISWTAGN,iswtintp,eref,igrp,igrpout,MAXIGRP&
- ,JPTSB
+ ,JPTSB,ILINEL
!IPK MAR02 ADD BS1
!IPK FEB02 ADD LOCK
!IPK MAY01 ADD NODDEL AND IELDEL
@@ -111,7 +111,7 @@
ALLOCATABLE ICN(:)
- ALLOCATABLE ICONNCT(:,:)
+ ALLOCATABLE ICONNCT(:,:),NKEP(:)
ALLOCATABLE IOUTLST(:,:),NOUTLST(:),XOUT(:,:),YOUT(:,:)
diff --git a/src/D.INC b/src/D.INC
index df2bea6..70b1d42 100644
--- a/src/D.INC
+++ b/src/D.INC
@@ -1,4 +1,4 @@
-! Winteracter resource identifiers. Created : 03/Aug/2016 15:52:15
+! Winteracter resource identifiers. Created : 13/Feb/2017 12:04:28
!
! This file is generated by the Winteracter resource editor.
! It should not be edited manually. It is also not advisable to load this
@@ -361,3 +361,7 @@
INTEGER, PARAMETER :: ID_ASSIGNELTLD = 40144
INTEGER, PARAMETER :: ID_FILLTR = 40145
INTEGER, PARAMETER :: IDD_FTRIAN = 167
+ INTEGER, PARAMETER :: ID_addmeshtr = 40146
+ INTEGER, PARAMETER :: ID_UNDOGEN = 40147
+ INTEGER, PARAMETER :: IDD_GETFL = 168
+ INTEGER, PARAMETER :: ID_DDRAW = 40148
diff --git a/src/EVENT.F90 b/src/EVENT.F90
index 64f956c..2eda33a 100644
--- a/src/EVENT.F90
+++ b/src/EVENT.F90
@@ -833,8 +833,16 @@
CALL OUTORG(FNAMEB)
if(sub .eq. 'jpg' .or. sub .eq. 'png' .or. sub .eq. 'pcx' .or. sub .eq. 'bmp') then
! call doplot(0)
+ CALL WGrSaveImageOptions(31,100)
+ CALL WGrSaveImageOptions(32,150)
call igrsaveimage(fname)
call doplot(0)
+ call IGrFileInfo(FNAME,INFO,3)
+ IF(SUB .EQ. 'jpg') THEN
+ SUB2='jpgw'
+ CALL ADDSUB(FNAMEB,SUB2)
+ CALL OUTJPGW(FNAMEB,INFO)
+ ENDIF
CALL HEDR
go to 100
endif
@@ -1067,6 +1075,10 @@
IACTVFIL=IOLDACT
CALL ADDTOMESH(IFILADD,1)
GO TO 100
+!ipk sep16 ADD MESH FROM POINTS
+ CASE (ID_ADDMESHTR)
+ CALL ADDMESHT
+ GO TO 100
!ipk may03
CASE (ID_TRIANG) ! add a triangle of elements
CALL ADDTRIANG
@@ -1234,6 +1246,12 @@
CASE (ID_ATTACH)
CALL REATTACH
GO TO 101
+
+ CASE (ID_DDRAW)
+ IDDSW=MOD(IDDSW+1,2)
+ IF(IDDSW .EQ. 1) CALL WMenuSetState(ID_DDRAW,ItemChecked,1)
+
+ GO TO 101
CASE (ID_COMPLEX)
CALL GNODE(2)
@@ -1346,6 +1364,7 @@
CASE (ID_SMOOTHMAP)
CALL SMOOTHMP
GO TO 101
+
CASE (ID_DRAG)
MENUS=8
iflag='d'
@@ -1702,11 +1721,20 @@
GO TO 100
CASE (ID_UNDOS)
IFLAG='U'
+ CASE (ID_UNDOGEN)
+! IF(ITOTFIL .EQ. 1) THEN
+! CALL ZEROOUT
+! IACTVFIL=0
+! CALL PLOTOT(0)
+! ELSE
+ CALL UNDOGEN
+! ENDIF
+ GO TO 100
CASE (ID_GOUTLIN)
CALL GOUTLIN
GO TO 100
CASE (ID_XOUTLIN)
- CALL OUTLINES
+ CALL OUTLINES(0)
GO TO 100
END SELECT
diff --git a/src/EXP.rc b/src/EXP.rc
deleted file mode 100644
index af4f1ff..0000000
--- a/src/EXP.rc
+++ /dev/null
@@ -1,47 +0,0 @@
-///////////////////////////////////////////////////
-//
-// THIS FILE SHOULD NOT BE EDITED USING A TEXT
-// EDITOR OR 3RD PARTY RESOURCE EDITOR, EXCEPT
-// WHEN SPECIFICALLY INSTRUCTED BY I.S.S.
-//
-///////////////////////////////////////////////////
-//
-// Winteracter exported resources.
-//
-// Exported : 08/May/2015 15:41:09
-//
-///////////////////////////////////////////////////
-//
-// To use this file it should be imported into
-// your main resource script
-//
-///////////////////////////////////////////////////
-
-///////////////////////////////////////////////////
-//
-// Parameter Definitions
-//
-#define IDF_LABEL1 1001
-#define IDF_INTEGER1 1057
-#define IDD_SELELT 119
-
-///////////////////////////////////////////////////
-//
-// Dialogs
-//
-IDD_SELELT DIALOG 0, 0, 160, 80
-STYLE WS_POPUP | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_3DLOOK | DS_MODALFRAME
-FONT 8, "MS Sans Serif"
-CAPTION "Select Element Number"
-BEGIN
- CONTROL "Element Number",IDF_LABEL1,"STATIC",WS_CHILD | WS_VISIBLE | WS_GROUP | SS_LEFT, 26, 21, 54, 8
- CONTROL "0",IDF_INTEGER1,"INTEGEREDIT",WS_CHILD | WS_VISIBLE | WS_BORDER | WS_GROUP | WS_TABSTOP | ES_LEFT | ES_RIGHT | ES_MULTILINE, 100, 18, 40, 14
- CONTROL "OK",IDOK,"BUTTON",WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON | BS_TEXT, 60, 46, 40, 14
-END
-
-IDD_SELELT RCDATA
-BEGIN
-"[Ranges] \n"
-,0
-END
-
diff --git a/src/FILLTR.F90 b/src/FILLTR.F90
index dec64f5..dfad3e1 100644
--- a/src/FILLTR.F90
+++ b/src/FILLTR.F90
@@ -4,6 +4,7 @@
USE BLKMAP
CHARACTER(LEN=256) :: FILTER,FNAME
CHARACTER(LEN=80) :: DATAIN,OPTIONS
+ CHARACTER(LEN=96) :: LOCDIR
CHARACTER(LEN=3) :: SUB
INTEGER INOUTL,NOUTL,OUTPOL
INTEGER NTRIAN(5000,2),TWO,ZERO,ntrans(5000)
@@ -168,9 +169,9 @@
! OPTIONS = ' -pqa5000V TEST'
OPTIONS(1:3) = ' -p'
nct=3
-! iswq=1
-! iswy=0
-! id1=105
+ iswq=1
+ iswy=0
+ id1=100
CALL PANELFILLT(ISWQ,ISWY,ID1)
IF(ISWQ .EQ. 1) THEN
@@ -202,9 +203,29 @@
open(77,file= 'test.1.poly')
close(77,status='DELETE')
ENDIF
+ INQUIRE (FILE = "C:\Program Files\RMA\TRIANGLE.EXE", EXIST = exists)
+ if(.not. exists) then
+ INQUIRE (FILE = "TRIANGLE.EXE", EXIST = exists)
+ if(.not. exists) then
+ CALL WMessageBox(YesNo,QuestionIcon,CommonOK,'TRIANGLE is not available in '//CHAR(13)//&
+ 'C:\Program Files\RMA\ directory'//CHAR(13)//'Do you wish to define directory?'&
+ ,'WARNING TRIANGLE IS NOT AVAILABLE')
+
+! If answer 'No', return
+!
+ IF (WInfoDialog(4).EQ.2) return
+ CALL GETDIR(LOCDIR)
+ else
+ LOCDIR(1:8)='TRIANGLE'
+! WRITE(155,*) LOCDIR
+ RESULT= RUNQQ(LOCDIR, OPTIONS)
+ GO TO 600
+ endif
+ endif
RESULT= RUNQQ("C:\Program Files\RMA\TRIANGLE", OPTIONS)
! RESULT= RUNQQ("TRIANGLE", OPTIONS)
+600 CONTINUE
IF(IMAPIN .EQ. 1) THEN
READ(113) XMAP,YMAP
CLOSE (113)
@@ -239,12 +260,12 @@
! real ::
! character*3 ::
DATA ITIME/0/
- IF(ITIME .EQ. 0) THEN
- ITIME=1
- N1=1
- N2=0
- N3=100
- ENDIF
+! IF(ITIME .EQ. 0) THEN
+! ITIME=1
+! N1=1
+! N2=0
+! N3=100
+! ENDIF
call wdialogload(IDD_FTRIAN)
ierr=infoerror(1)
diff --git a/src/GETNEWFIL - Copy.F90 b/src/GETNEWFIL - Copy.F90
new file mode 100644
index 0000000..2a598d6
--- /dev/null
+++ b/src/GETNEWFIL - Copy.F90
@@ -0,0 +1,757 @@
+ SUBROUTINE GETNEWFIL(IIN,IGFG,ITRIAN,ISWT)
+
+ INCLUDE 'BFILES.I90'
+
+! WRITE CURRENT DATA TO A SCRATCH FILE
+
+ IF(IACTVFIL .GT. 0 .AND. ISWT .NE. -1) THEN
+ IFILOUT=IACTVFIL+50
+ CALL WRTFIL(IFILOUT)
+ CALL ZEROOUT
+ IACTVFIL=ITOTFIL
+ ELSEIF(IACTVFIL .EQ. 0) THEN
+ IACTVFIL=1
+ ENDIF
+ IF(abs(ISWT) .EQ. 1) THEN
+ ITOTFIL=ITOTFIL+1
+ FNAMKEP='TEST.1.ELE'
+ IACTVFIL=ITOTFIL
+ FNAMEOUT(IACTVFIL)='TEST.1.ELE'
+ WRITE(90,*) 'ITOTFIL,IACTVFIL',ITOTFIL,IACTVFIL
+ WRITE(90,'(A80)') (FNAMEOUT(KKK),KKK=1,3)
+ ENDIF
+ IF(ITRIAN .EQ. 1) THEN
+ CALL READGFG(IIN,1)
+
+! TEST FOR GFG FORMAT
+ ELSEIF(IGFG .EQ. 1) THEN
+ CALL READGFG(IIN,0)
+
+! TEST FOR rm1 FORMAT
+
+ ELSEIF(IIN .EQ. 10) THEN
+ CALL READRM1(IIN)
+
+! TEST FOR rm1 FORMAT
+
+!ipk feb08 replace iin of 11 with 12
+ ELSEIF(IIN .EQ. 12 .and. IGFG .EQ. 0) THEN
+ CALL READGEO(IIN)
+
+ ELSEIF(IIN .EQ. 12 .and. IGFG .EQ. 2) THEN
+ CALL RDBIN(IIN)
+
+ ENDIF
+
+ IFILOUT=IACTVFIL+50
+ WRITE(90,*) 'IFILOUT', IFILOUT
+ CALL WRTFIL(IFILOUT)
+ IACTVFIL=1
+ CALL LOADFIL
+
+
+ CALL RESCAL
+ CALL HEDR
+
+
+ RETURN
+ END
+
+! Write data to a file
+ SUBROUTINE WRTFIL(IFILOUT)
+
+ USE BLK1MOD
+ CHARACTER*80 ALINE
+! INCLUDE 'BLK1.COM'
+
+ CLOSE (IFILOUT)
+ OPEN(IFILOUT,STATUS='scratch',FORM='binary')
+
+ ISLP=0
+ IPRT=1
+ IPNN=1
+ IPEN=1
+ IPO=1
+ IRO=1
+ IPP=0
+ IRFN=0
+ IGEN=0
+ NXZL=0
+ NITST=1
+ ISCTXT=0
+ IFILL=0
+ IALTGM=1
+ NLAYD=0
+ HORIZ=10.
+ VERT=8.
+ XSALE=0.
+ YSALE=0.
+ XFACT=0.
+ YFACT=0.
+ AR=0.
+ ANG=0.
+ xadded=0.
+ yadded=0.
+ ntempin=0.
+! WRITE(90,*) 'IN GETNEWFIL', IFILOUT,NP,NE,IPRT
+ WRITE(IFILOUT) TITLE,NP,NE
+ WRITE(IFILOUT) ISLP,IPRT,IPNN,IPEN,IPO,IRO,IPP,IRFN &
+ & ,IGEN,NXZL,NITST,ISCTXT,IFILL,IALTGM,NLAYD,xadded,yadded,ntempin
+! WRITE(90,*) ISLP,IPRT,IPNN,IPEN,IPO,IRO,IPP,IRFN &
+! & ,IGEN,NXZL,NITST,ISCTXT,IFILL,IALTGM,NLAYD,xadded,yadded,ntempin
+ WRITE(IFILOUT) HORIZ,VERT,XSALE,YSALE,XFACT,YFACT,AR,ANG
+ IF(IPP .GT. 0) WRITE(IFILOUT) ALINE
+
+ WRITE(IFILOUT) ((NOP(J,K),K=1,8),IMAT(J),THTA(J),J=1,NE)
+ WRITE(IFILOUT) &
+ (XUSR(J),YUSR(J),WD(J),WIDTH(J),SS1(J),SS2(J),WIDS(J), &
+ & WIDBS(J),SSO(J),BS1(J),J=1,NP)
+
+ WRITE(IFILOUT) NLST
+ IF(NLST .GT. 0) THEN
+ WRITE(IFILOUT) (LLIST(J),J=1,NLST), &
+ & ((ILIST(J,I),I=1,LLIST(J)),J=1,NLST)
+ ENDIF
+
+ WRITE(IFILOUT) NENTRY,NLAYD,NCLM
+
+ IF(NENTRY .GT. 0) THEN
+ WRITE(IFILOUT) ((NEF(I,J),J=1,3),I=1,NENTRY)
+ ENDIF
+
+ IF(NLAYD .GT. 0) THEN
+ WRITE(IFILOUT) (LAY(I),I=1,NP)
+ ENDIF
+
+ IF(NCLM .GT. 0) THEN
+ WRITE(IFILOUT) ((ICCLN(I,J),J=1,350),I=1,NCLM)
+ ENDIF
+ REWIND IFILOUT
+ RETURN
+ END
+
+ SUBROUTINE READRM1(IIIN)
+
+ USE BLK1MOD
+! INCLUDE 'BLK1.COM'
+ CHARACTER*48 DLIN
+
+ IIN=IIIN
+! Read in header lines
+
+ ISET=1
+ WRITE(90,*) 'GOING TO HEADIN'
+ CALL HEADIN(IIN,ISET)
+
+! Read in existing elements
+ WRITE(90,*) 'GOING TO RDELEM'
+ CALL RDELEM(IIN)
+
+! Read in nodal coordinates
+
+ WRITE(90,*) 'GOING TO RDCORD'
+ CALL RDCORD(IIN)
+
+! Close input file
+
+ CLOSE(IIN)
+
+! Scale for plotting
+
+ IF(NP .GT. 0) THEN
+ DO J=1,NP
+ IF (CORD(J,1) .GT. VDX) THEN
+ XMIN=MIN(XMIN,CORD(J,1))
+ XMAX=MAX(XMAX,CORD(J,1))
+ YMIN=MIN(YMIN,CORD(J,2))
+ YMAX=MAX(YMAX,CORD(J,2))
+ ENDIF
+ ENDDO
+ ENDIF
+
+ RETURN
+ END
+
+! Read GEO file
+ SUBROUTINE READGEO(IIIN)
+ USE BLK1MOD
+ CHARACTER*1000 HEADER
+ CHARACTER*8 ID8
+ CHARACTER*32 IJNK
+ CHARACTER*80 ALINE,DLIN
+! INCLUDE 'BLK1.COM'
+ INCLUDE 'BFILES.I90'
+
+ INTEGER*2 NOP2(MAXE,8)
+
+
+ IIN=IIIN
+ read(iin,err=100) header
+ if(header(1:6) .eq. 'RMAGEN') then
+ inopt=2
+ else
+ inopt=1
+ rewind iin
+ endif
+ read(iin) n1,m1
+ rewind iin
+ write(90,*) 'Apparent nodes and elements from file are'
+ write(90,'(i15,i10)') n1,m1
+ if(n1 .gt. maxp .or. m1 .gt. maxe) then
+!
+!...... Perhaps the file format is wrong, close and reopen
+!
+ WRITE(DLIN,'(A32)') 'Parameter limits may be violated'
+ call symbl(0.5,4.5,0.20,dlin,0.0,32)
+ WRITE(DLIN,'(A35)') 'Retrying with alternate file format'
+ call symbl(0.5,4.2,0.20,dlin,0.0,35)
+ close (iin)
+ open(iin ,file=fnamkep,status='old',form='unformatted')
+ read(iin) n1,m1
+ write(90,*) 'Revised nodes and elements from file are'
+ write(90,'(i15,i10)') n1,m1
+ if(n1 .gt. maxp .or. m1 .gt. maxe) then
+ WRITE(DLIN,'(A31)') 'Parameter limits still violated'
+ call symbl(0.5,3.9,0.20,dlin,0.0,31)
+ WRITE(DLIN,'(A27)') 'Apparent nodes and elts are'
+ call symbl(0.5,3.6,0.20,dlin,0.0,27)
+ WRITE(DLIN,'(2i10)') n1,m1
+ call symbl(0.5,3.3,0.20,dlin,0.0,20)
+ WRITE(DLIN,'(A24)') 'Press enter to terminate'
+ call symbl(0.5,4.5,0.20,dlin,0.0,24)
+ CALL GTCHARX(ijnk,ndig,5.0,4.0)
+!cipk aug00 read(*,'(i1)') junk
+ call quit_pgm
+ endif
+ endif
+ rewind iin
+!
+!
+ if(inopt .eq. 2) then
+ read(iin,err=100) header
+ READ(IIN,ERR=100) &
+ & N1,M1,((CORD(J,K),K=1,2),ALPHA,WD(J),J=1,N1), &
+ & ((NOP(J,K),K=1,8),IMAT(J),THTA(J),I3,J=1,M1) &
+ & , (WIDTH(J),SS1(J),SS2(J),WIDS(J),J=1,N1)
+ DO J=1,N1
+ XUSR(J)=CORD(J,1)
+ YUSR(J)=CORD(J,2)
+ ENDDO
+!
+ else
+ READ(IIN,ERR=100) &
+ & N1,M1,((CORDSN(J,K),K=1,2),ALPHA,WD(J),J=1,N1), &
+ & ((NOP2(J,K),K=1,8),IMAT(J),THTA(J),I32,J=1,M1) &
+ & , (WIDTH(J),SS1(J),SS2(J),WIDS(J),J=1,N1)
+ DO J=1,N1
+ DO K=1,2
+ CORD(J,K)=CORDSN(J,K)
+ ENDDO
+ XUSR(J)=CORD(J,1)
+ YUSR(J)=CORD(J,2)
+ ENDDO
+ DO J=1,M1
+!ipk feb08
+ ncorn(j)=0
+ DO K=1,8
+ NOP(J,K)=NOP2(J,K)
+!ipk feb08
+ if(nop(j,k) .gt. 0) ncorn(j)=k
+ ENDDO
+ ENDDO
+ endif
+ read(IIN,err=120,end=120) id8
+ if(id8(1:6) .eq. 'part-2') then
+ read(IIN,err=104) (widbs(j),sso(j),j=1,n1)
+ read(IIN,err=120,end=120) id8
+ endif
+
+! Add part 3 write for continuity lines
+ if(id8(1:6) .eq. 'part-3') then
+
+!ipk aug02 IF(NCLM .GT. 0) THEN
+ READ(IIN,ERR=104) NCLM,((ICCLN(I,J),J=1,350),I=1,NCLM)
+!ipk aug02 ENDIF
+ read(IIN,err=120,end=120) id8
+ endif
+!IPK DEB02 Add part 4 write for lock and BS1 lines and reordering
+ if(id8(1:6) .eq. 'part-4') then
+ read(iin,err=104,end=120) (lock(j),bs1(j),j=1,n1)
+ read(iin,err=104,end=120) &
+ nlst,((ilist(j,k),k=1,maeln),llist(j),j=1,maxln)
+ endif
+ DO J=1,M1
+!ipk feb08
+ ncorn(j)=0
+ DO K=1,8
+!ipk feb08
+ if(nop(j,k) .gt. 0) ncorn(j)=k
+ ENDDO
+ ENDDO
+
+ GO TO 120
+
+ 100 READ(IIN,ERR=104) &
+ & N1,M1,((CORDSN(J,K),K=1,2),ALPHA,WD(J),J=1,N1), &
+ & ((NOP2(J,K),K=1,8),IMAT(J),THTA(J),I32,J=1,M1)
+ DO J=1,N1
+ DO K=1,2
+ CORD(J,K)=CORDSN(J,K)
+ ENDDO
+ XUSR(J)=CORD(J,1)
+ YUSR(J)=CORD(J,2)
+ ENDDO
+ DO J=1,M1
+!ipk feb08
+ ncorn(j)=0
+ DO K=1,8
+ NOP(J,K)=NOP2(J,K)
+!ipk feb08
+ if(nop(j,k) .gt. 0) ncorn(j)=k
+ ENDDO
+ ENDDO
+ GO TO 120
+
+ 104 WRITE(90,*) 'Error reading binary geometry file'
+!ipk jan98 CALL SETD(23)
+ call clscrn()
+ WRITE(aline,*) 'Error reading binary geometry file'
+ call symbl &
+ & (1.1,3.3,0.20,aline,0.0,80)
+ WRITE(aline,*) 'Press enter to exit'
+ call symbl &
+ & (1.1,3.0,0.20,aline,0.0,80)
+ ndig=1
+ CALL GTCHARX(IJNK,NDIG,5.0,7.6)
+ CALL Quit_Pgm
+ STOP
+
+ 120 CONTINUE
+ NP=N1
+ NE=M1
+
+! Close input file
+
+ CLOSE(IIN)
+
+! Scale for plotting
+
+ IF(NP .GT. 0) THEN
+ DO J=1,NP
+ IF (CORD(J,1) .GT. VDX) THEN
+ XMIN=MIN(XMIN,CORD(J,1))
+ XMAX=MAX(XMAX,CORD(J,1))
+ YMIN=MIN(YMIN,CORD(J,2))
+ YMAX=MAX(YMAX,CORD(J,2))
+ ENDIF
+ ENDDO
+ ENDIF
+ RETURN
+
+ END
+
+ SUBROUTINE READGFG(IUNIT,ISW)
+
+ USE BLK1MOD
+ INCLUDE "BFILES.I90"
+! INCLUDE 'BLK1.COM'
+ CHARACTER*1 ANS
+ CHARACTER*32 ANS32
+ CHARACTER*3 ID
+ CHARACTER*77 DLIN
+ CHARACTER*150 DLIN1
+ CHARACTER*80 LIND
+ DIMENSION NTMP(9),NTEMPLIN(200,10),ATT(9)
+
+ REAL*8 CX,CY,VALS(7)
+
+ MEL=MAXE
+ ylv=7.5
+ IIN=IUNIT
+ IPRT=1
+ IPNN=1
+ IPEN=1
+ IPO=1
+ IRO=1
+ IPP=0
+ IRFN=0
+ IGEN=0
+ NXZL=0
+ NITST=1
+ ISCTXT=0
+ IFILL=0
+ IALTGM=1
+ NLAYD=0
+ HORIZ=10.
+ VERT=8.
+ XSALE=0.
+ YSALE=0.
+ XFACT=0.
+ YFACT=0.
+ AR=0.
+ ANG=0.
+ xadded=0.
+ yadded=0.
+ ntempin=0.
+ KLIN=0
+ IF(ISW .EQ. 1) GO TO 500
+ DO I=1,10000
+ READ(IIN,'(A3,A77)') ID,DLIN
+ IF(ID .EQ. 'T1 ') THEN
+ TITLE(1:77)=DLIN
+ GO TO 10
+ ENDIF
+ ENDDO
+ 10 CONTINUE
+ REWIND IIN
+
+! READ ELEMENT AND CCLINE DATA
+
+ 20 CONTINUE
+ DO ICOUNTC=1,200000
+ DO JJ=1,150
+ DLIN1(JJ:JJ)=' '
+ ENDDO
+ READ(IIN,'(A3,A150)', END=175) ID,DLIN1
+ IF(ID .EQ. 'GE ' .or. ID .EQ. 'GO') THEN
+! Count the number of variables
+ I=0
+ ICOUNT=0
+ 25 CONTINUE
+ IF(DLIN1(I+1:I+1) .NE. ' ') THEN
+ GO TO 30
+ ELSE
+ I=I+1
+ GO TO 25
+ ENDIF
+ 30 I=I+1
+ IF(I .EQ. 151) THEN
+ ICOUNT =ICOUNT+1
+ GO TO 40
+ ENDIF
+ IF(DLIN1(I:I) .EQ. ' ' .OR. DLIN1(I:I) .EQ. ',') THEN
+ ICOUNT=ICOUNT+1
+ 35 CONTINUE
+ IF(I+1 .EQ. 151) GO TO 40
+ IF(DLIN1(I+1:I+1) .EQ. ' ') THEN
+ I=I+1
+ GO TO 35
+ ELSE
+ GO TO 30
+ ENDIF
+ ELSE
+ GO TO 30
+ ENDIF
+ ENDIF
+ ENDDO
+ 40 CONTINUE
+ IF(ID .EQ. 'GO') THEN
+ KLIN=KLIN+1
+ READ(DLIN1,*) (NTEMPLIN(KLIN,K),K=1,ICOUNT)
+ GO TO 20
+ ENDIF
+ IF(ICOUNT .GT. 10) THEN
+ READ(DLIN1,*) J, (NTMP(K),K=1,9),THT
+ ELSE
+ READ(DLIN1,*) J, (NTMP(K),K=1,9)
+ ENDIF
+
+
+ IF (J .GE. MEL) THEN
+ CALL SETD(23)
+!cipk aug00
+ WRITE(lind,*) ' Element number exceeds MAXE in RDELEM'
+ call symbl (1.1,ylv-0.3,0.20,lind,0.0,80)
+ ndig=1
+ WRITE(90,*) ' Element number exceeds MAXE in RDELEM'
+ WRITE(lind,6000)
+ CALL GTCHARX(ANS32,IJNK,5.0,4.0)
+ CALL Quit_Pgm
+ STOP
+ ENDIF
+!
+! Check to ensure there are no duplicate numbers in input stream
+! of element connections
+!
+ DO K=1,7
+ IF(NTMP(K) .NE. 0) THEN
+ DO L=K+1,8
+ IF(NTMP(K) .EQ. NTMP(L)) THEN
+ CALL SETD(23)
+ DO KK=1,8
+ NOP(J,KK) = NTMP(KK)
+ ENDDO
+ IMAT(J)=NTMP(9)
+ call eltdisp(j)
+ DO KK=1,8
+ NTMP(KK) = NOP(J,KK)
+ ENDDO
+ NTMP(9)=IMAT(J)
+ GO TO 45
+ ENDIF
+ ENDDO
+ ENDIF
+ ENDDO
+ 45 CONTINUE
+ DO K=1,8
+ NOP(J,K) = NTMP(K)
+ ND = NTMP(K)
+ IF (ND .GT. 0) THEN
+ INEW(ND) = 2
+ NP = MAX(NP,ND)
+ ENDIF
+ ENDDO
+!
+ NCN = 2
+ IF (NOP(J,3) .NE. 0) NCN = 3
+ IF (NOP(J,4) .NE. 0) NCN = 4
+ IF (NOP(J,5) .NE. 0 .AND. NOP(J,4) .NE. 0) NCN = 5
+ IF (NOP(J,5) .NE. 0 .AND. NOP(J,4) .EQ. 0) NCN = 6
+ IF (NOP(J,6) .NE. 0) NCN = 6
+ IF (NOP(J,7) .NE. 0) NCN = 8
+ NCORN(J) = NCN
+ IESKP(J) = 0
+ IMAT(J) = NTMP(9)
+ THTA(J)=THT
+ IEM(J) = J
+ DO 50 K=2,NCN,2
+ ND = NTMP(K)
+ IF (ND .GT. 0) THEN
+ IF(NCN .EQ. 5 .AND. K .EQ. 4) GO TO 50
+ WD(ND)=0.
+ ENDIF
+ 50 CONTINUE
+ NE = MAX(J,NE)
+!
+ GOTO 20
+!
+ 175 CONTINUE
+
+ REWIND IIN
+ 70 CONTINUE
+ DO ICOUNTC=1,100000
+ DO JJ=1,150
+ DLIN1(JJ:JJ)=' '
+ ENDDO
+ READ(IIN,'(A3,A150)', END=400) ID,DLIN1
+ IF(ID .EQ. 'GNN' .OR. ID .EQ. 'GWN') THEN
+! Count the number of variables
+ I=0
+ ICOUNT=0
+ 75 CONTINUE
+ IF(DLIN1(I+1:I+1) .NE. ' ') THEN
+ GO TO 80
+ ELSE
+ I=I+1
+ GO TO 75
+ ENDIF
+ 80 I=I+1
+ IF(I .EQ. 151) THEN
+ ICOUNT =ICOUNT+1
+ GO TO 90
+ ENDIF
+ IF(DLIN1(I:I) .EQ. ' ' .OR. DLIN1(I:I) .EQ. ',') THEN
+ ICOUNT=ICOUNT+1
+ 85 CONTINUE
+ IF(I+1 .EQ. 151) GO TO 90
+ IF(DLIN1(I+1:I+1) .EQ. ' ') THEN
+ I=I+1
+ GO TO 85
+ ELSE
+ GO TO 80
+ ENDIF
+ ELSE
+ GO TO 80
+ ENDIF
+ ENDIF
+ ENDDO
+ 90 CONTINUE
+ DO K=1,7
+ VALS(K)=0.
+ ENDDO
+ READ(DLIN1,*) J,(VALS(K),K=1,ICOUNT-1)
+ IF(ID .EQ. 'GNN') THEN
+ CX=VALS(1)
+ CY=VALS(2)
+ BELEV=VALS(3)
+ NP = MAX(NP,J)
+ CORD(J,1) = CX
+ CORD(J,2) = CY
+ XUSR(J) = CX
+ YUSR(J) = CY
+ WD(J) = BELEV
+ INSKP(J)=0
+ INEW(J) = 1
+ GO TO 70
+ ELSE
+ WDTHX=VALS(1)
+ SS1X=VALS(2)
+ SS2X=VALS(3)
+ WDSX=VALS(4)
+ WIDTH(J)=WDTHX
+ SS1(J)=SS1X
+ SS2(J)=SS2X
+ WIDS(J)=WDSX
+ GO TO 70
+ ENDIF
+
+ 400 CONTINUE
+
+! CHECKOUT THE CCLINE DATA
+
+ KK=0
+ IF(KLIN .GT. 0) THEN
+ NCLM=1
+ IF(NTEMPLIN(1,1) .EQ. 1) THEN
+ DO K=1,KLIN
+ DO J=1,10
+ IF(K .EQ. 1 .AND. J .EQ. 1) GO TO 410
+ IF(NTEMPLIN(K,J) .LT. 0) THEN
+ NCLM=NCLM+1
+ KK=0
+ GO TO 420
+ ELSEIF(NTEMPLIN(K,J) .EQ. 0) THEN
+ GO TO 420
+ ELSE
+ KK=KK+1
+ ICCLN(NCLM,KK)=NTEMPLIN(K,J)
+ ENDIF
+ 410 CONTINUE
+ ENDDO
+ 420 CONTINUE
+ ENDDO
+ NCLM=NCLM-1
+ ENDIF
+ ENDIF
+ RETURN
+
+500 CONTINUE
+
+ READ(IUNIT,*) NE,NCNTR,NATTR
+ IMIDS=0
+ DO JJ=1,NE
+ READ(IUNIT,*) J,(NTMP(K),K=1,NCNTR),(ATT(K),K=1,NATTR)
+ IF (J .GE. MEL) THEN
+ CALL SETD(23)
+ WRITE(lind,*) ' Element number exceeds MAXE in RDELEM'
+ call symbl &
+ & (1.1,ylv-0.3,0.20,lind,0.0,80)
+ ndig=1
+ WRITE(90,*) ' Element number exceeds MAXE in RDELEM'
+ WRITE(lind,6000)
+ CALL GTCHARX(ANS32,IJNK,5.0,4.0)
+ CALL Quit_Pgm
+ STOP
+ ENDIF
+ DO KK=1,3
+ NOP(J,2*KK-1) = NTMP(KK)
+ NOP(J,2*KK)=0
+ ENDDO
+ IF(NATTR .GT. 0) THEN
+ IMAT(J)=ATT(1)
+ ELSE
+ IMAT(J)=1
+ ENDIF
+ NCORN(J)=6
+ IESKP(J)=0
+ ENDDO
+ CLOSE(IUNIT)
+ DO L=255,1,-1
+ IF(FNAMKEP(L:L) .EQ. '.') THEN
+ FNAMKEP(L+1:L+4)='node'
+ OPEN(IUNIT,FILE=FNAMKEP,STATUS='OLD',ACTION='READ')
+ GO TO 510
+ ENDIF
+ ENDDO
+510 CONTINUE
+
+ READ(IUNIT,*) NPPP,NDUM,NATTR
+ DO KK=1,NPPP
+ READ(IUNIT,*) J,CX,CY,(VALS(K),K=1,NATTR)
+ IF(J .EQ. 0) THEN
+ J=NPPP
+ JZ=1
+ ENDIF
+ BELEV=-9999.
+ WEL=0.
+ LOCK1=0
+ IF(NATTR .GT. 0) BELEV=VALS(1)
+ IF (J .GE. MAXP) THEN
+ call clscrn()
+ WRITE(dlin,*) ' Node number exceeds MAXP in RDCORD',j
+ call symbl &
+ & (1.1,3.3,0.20,dlin,0.0,80)
+ WRITE(90,*) ' Node number exceeds MAXP in RDCORD'
+ WRITE(DLIN,*) ' Press enter to exit'
+ call symbl &
+ & (1.1,3.0,0.20,dlin,0.0,80)
+ ndig=1
+ CALL GTCHARX(ANS32,ndig,5.0,4.0)
+ CALL Quit_Pgm
+ STOP
+ ENDIF
+ NP = MAX(NP,J)
+ CORD(J,1) = CX
+ CORD(J,2) = CY
+ XUSR(J) = CX
+ YUSR(J) = CY
+ WD(J) = BELEV
+ WIDTH(J)=0.
+ SS1(J)=0.
+ SS2(J)=0.
+ WIDS(J)=0.
+ WIDBS(J)=0.
+ SSO(J)=0.
+ INSKP(J)=0
+ INEW(J) = 1
+ LOCK(J)=LOCK1
+ BS1(J)=0.
+ ENDDO
+
+ CLOSE(IUNIT)
+ 6000 FORMAT(' Press enter to exit')
+ END
+
+
+ SUBROUTINE ZEROOUT
+
+ USE BLK1MOD
+! INCLUDE 'BLK1.COM'
+
+ MNP = MAXP
+ MEL = MAXE
+ DO I=1,MEL
+ DO M=1,8
+ NOP(I,M)=0
+ ENDDO
+ IESKP(I)=-1
+ IEM(I) = 0
+ IMAT(I) = 0
+ THTA(I)=0.
+ XC(I) = -1.E20
+ YC(I) = -1.E20
+ ENDDO
+ DO I=1,MNP
+ XUSR(I) = -1.D20
+ YUSR(I) = -1.D20
+ CORD(I,1) = -1.D20
+ CORD(I,2) = -1.D20
+ WD(I) = -9999.
+ LAY(I) = -9999
+ WIDTH(I) = 0.0
+ SS1(I) = 0.0
+ SS2(I) = 0.0
+ WIDS(I) = 0.0
+ WIDBS(I)=0.
+ SSO(I)=0.
+ INSKP(I) = 1
+ INEW(I) = 0
+!ipk mar02
+ lock(i)=0
+ bs1(I)=0.
+ ENDDO
+ NP=0
+ NE=0
+ RETURN
+ END
+
diff --git a/src/GETNEWFIL.F90 b/src/GETNEWFIL.F90
index e6d485e..f94d4af 100644
--- a/src/GETNEWFIL.F90
+++ b/src/GETNEWFIL.F90
@@ -4,12 +4,13 @@
! WRITE CURRENT DATA TO A SCRATCH FILE
- IF(IACTVFIL .GT. 0) THEN
+ IF(IACTVFIL .GT. 0 .AND. ISWT .NE. -1) THEN
IFILOUT=IACTVFIL+50
+ WRITE(90,*) 'INGETNEWFIL IFILOUT',IFILOUT
CALL WRTFIL(IFILOUT)
CALL ZEROOUT
IACTVFIL=ITOTFIL
- ELSE
+ ELSEIF(IACTVFIL .EQ. 0) THEN
IACTVFIL=1
ENDIF
IF(ISWT .EQ. 1) THEN
@@ -19,9 +20,11 @@
FNAMEOUT(IACTVFIL)='TEST.1.ELE'
WRITE(90,*) 'ITOTFIL,IACTVFIL',ITOTFIL,IACTVFIL
WRITE(90,'(A80)') (FNAMEOUT(KKK),KKK=1,3)
+ ELSE
+ FNAMKEP='TEST.1.ELE'
ENDIF
- IF(ITRIAN .EQ. 1) THEN
- CALL READGFG(IIN,1)
+ IF(ABS(ITRIAN) .EQ. 1) THEN
+ CALL READGFG(IIN,ITRIAN)
! TEST FOR GFG FORMAT
ELSEIF(IGFG .EQ. 1) THEN
@@ -42,7 +45,8 @@
CALL RDBIN(IIN)
ENDIF
-
+ IF(ITRIAN .EQ. -1) RETURN
+
IFILOUT=IACTVFIL+50
WRITE(90,*) 'IFILOUT', IFILOUT
CALL WRTFIL(IFILOUT)
@@ -62,10 +66,16 @@
USE BLK1MOD
CHARACTER*80 ALINE
+ CHARACTER*10 FMT
! INCLUDE 'BLK1.COM'
CLOSE (IFILOUT)
- OPEN(IFILOUT,STATUS='scratch',FORM='binary')
+ FMT(1:8)='TEMPFIL.'
+ WRITE(FMT(9:10),'(I2)') IFILOUT
+! OPEN(IFILOUT,STATUS='scratch',FORM='binary')
+ WRITE(90,*) 'IFILOUT',IFILOUT
+! OPEN(IFILOUT,STATUS='scratch',FORM='unformatted')
+ OPEN(IFILOUT,FILE=FMT,STATUS='UNKNOWN',FORM='BINARY')
ISLP=0
IPRT=1
@@ -93,13 +103,14 @@
xadded=0.
yadded=0.
ntempin=0.
-! WRITE(90,*) 'IN GETNEWFIL', IFILOUT,NP,NE,IPRT
+ WRITE(90,*) 'IN WRTFIL', IFILOUT,NP,NE,IPRT
WRITE(IFILOUT) TITLE,NP,NE
WRITE(IFILOUT) ISLP,IPRT,IPNN,IPEN,IPO,IRO,IPP,IRFN &
& ,IGEN,NXZL,NITST,ISCTXT,IFILL,IALTGM,NLAYD,xadded,yadded,ntempin
-! WRITE(90,*) ISLP,IPRT,IPNN,IPEN,IPO,IRO,IPP,IRFN &
-! & ,IGEN,NXZL,NITST,ISCTXT,IFILL,IALTGM,NLAYD,xadded,yadded,ntempin
+ WRITE(90,*) ISLP,IPRT,IPNN,IPEN,IPO,IRO,IPP,IRFN &
+ & ,IGEN,NXZL,NITST,ISCTXT,IFILL,IALTGM,NLAYD,xadded,yadded,ntempin
WRITE(IFILOUT) HORIZ,VERT,XSALE,YSALE,XFACT,YFACT,AR,ANG
+ WRITE(90,*) 'IPP',IPP
IF(IPP .GT. 0) WRITE(IFILOUT) ALINE
WRITE(IFILOUT) ((NOP(J,K),K=1,8),IMAT(J),THTA(J),J=1,NE)
@@ -355,6 +366,7 @@
USE BLK1MOD
INCLUDE "BFILES.I90"
! INCLUDE 'BLK1.COM'
+ INCLUDE 'TXFRM.COM'
CHARACTER*1 ANS
CHARACTER*32 ANS32
CHARACTER*3 ID
@@ -394,7 +406,7 @@
yadded=0.
ntempin=0.
KLIN=0
- IF(ISW .EQ. 1) GO TO 500
+ IF(ABS(ISW) .EQ. 1) GO TO 500
DO I=1,10000
READ(IIN,'(A3,A77)') ID,DLIN
IF(ID .EQ. 'T1 ') THEN
@@ -626,11 +638,15 @@
RETURN
500 CONTINUE
-
+ IF(ISW .EQ. -1) THEN
+ NESV=NE
+ NPSV=NP
+ ENDIF
READ(IUNIT,*) NE,NCNTR,NATTR
IMIDS=0
DO JJ=1,NE
READ(IUNIT,*) J,(NTMP(K),K=1,NCNTR),(ATT(K),K=1,NATTR)
+ IF(ISW .EQ. -1) J=J+NESV
IF (J .GE. MEL) THEN
CALL SETD(23)
WRITE(lind,*) ' Element number exceeds MAXE in RDELEM'
@@ -644,7 +660,11 @@
STOP
ENDIF
DO KK=1,3
- NOP(J,2*KK-1) = NTMP(KK)
+ IF(ISW .EQ. -1) THEN
+ NOP(J,2*KK-1) = NTMP(KK)+NPSV
+ ELSE
+ NOP(J,2*KK-1) = NTMP(KK)
+ ENDIF
NOP(J,2*KK)=0
ENDDO
IF(NATTR .GT. 0) THEN
@@ -654,7 +674,8 @@
ENDIF
NCORN(J)=6
IESKP(J)=0
- ENDDO
+ ENDDO
+ NE=J
CLOSE(IUNIT)
DO L=255,1,-1
IF(FNAMKEP(L:L) .EQ. '.') THEN
@@ -668,6 +689,7 @@
READ(IUNIT,*) NPPP,NDUM,NATTR
DO KK=1,NPPP
READ(IUNIT,*) J,CX,CY,(VALS(K),K=1,NATTR)
+ IF(ISW .EQ. -1) J=J+NPSV
IF(J .EQ. 0) THEN
J=NPPP
JZ=1
@@ -691,10 +713,10 @@
STOP
ENDIF
NP = MAX(NP,J)
- CORD(J,1) = CX
- CORD(J,2) = CY
XUSR(J) = CX
YUSR(J) = CY
+ CORD(J,1) = (XUSR(J)+XS)/TXSCAL
+ CORD(J,2) = (YUSR(J)+YS)/TXSCAL
WD(J) = BELEV
WIDTH(J)=0.
SS1(J)=0.
diff --git a/src/GETWT.F90 b/src/GETWT.F90
index aae3c8e..1d21ee1 100644
--- a/src/GETWT.F90
+++ b/src/GETWT.F90
@@ -6,8 +6,26 @@
! INCLUDE 'BLK1.COM'
DIMENSION WGT(8)
+ REAL*8 XMINL,YMINL,XMAXL,YMAXL
! data itime/0/
+! LOOK FOR MATCHING POINTS
+
+ DO K=1,MAXPTS
+ DISQ=(XUSR(M)-XMAP(K))**2+(YUSR(M)-YMAP(K))**2
+ IF(DISQ .LT. 1.) THEN
+ WD(M)=VAL(K)
+ FPN = WD(M)*10.
+ X = CORD(M,1)
+ Y = CORD(M,2) - .11
+ IF(X .GT. 0. .AND. X .LT. HSIZE .AND. &
+ & Y .GT. 0. .AND. Y .LT. 7.5) THEN
+ CALL RRED
+ CALL NUMBR(X,Y,0.1,FPN,0.0,-1)
+ endif
+ GO TO 300
+ ENDIF
+ ENDDO
! Search for element that has circumcircle around the node
@@ -43,23 +61,28 @@
xmaxl=max(XMAP(NOPEL(N,1)),XMAP(NOPEL(N,2)),XMAP(NOPEL(N,3)))
yminl=min(YMAP(NOPEL(N,1)),YMAP(NOPEL(N,2)),YMAP(NOPEL(N,3)))
ymaxl=max(YMAP(NOPEL(N,1)),YMAP(NOPEL(N,2)),YMAP(NOPEL(N,3)))
- if(xusr(m) .lt. xminl .or. xusr(m) .gt. xmaxl) then
+! IF(M .EQ. 6316) THEN
+! WRITE(156,'(2I6,6F15.2)') M,N,XUSR(M),XMINL,XMAXL,YUSR(M),YMINL,YMAXL
+! ENDIF
+ if(xusr(m) .lt. xminl-0.01 .or. xusr(m) .gt. xmaxl+0.01) then
go to 250
- elseif(yusr(m) .lt. yminl .or. yusr(m) .gt. ymaxl) then
+ elseif(yusr(m) .lt. yminl-0.01 .or. yusr(m) .gt. ymaxl+0.01) then
go to 250
endif
+! IF(M .EQ. 6316) WRITE(156,*) 'PASSED X AND Y TEST',N
DISQ=(XUSR(M)-XCEN(N))**2+(YUSR(M)-YCEN(N))**2
-! write(142,*) m,n,disq,rads(n)**2,xusr(m),xcen(n)
IF(DISQ .LE. RADS(N)**2*1.0001) THEN
+! IF(M .EQ. 6316) write(156,*) m,n,disq,rads(n)**2,xusr(m),xcen(n)
+
! We have a candidate
CALL GETWT(N,XUSR(M),YUSR(M),WGT,1)
DO K=1,3
IF(WGT(K) .LT. -1E-4 .OR. WGT(K) .GT. 1.0001) THEN
- WRITE(142,*) 'REJECT',n,disq,rads(n)**2,wgt(1),wgt(2),wgt(3)
+ WRITE(142,*) 'REJECT',m,n,disq,rads(n)**2,wgt(1),wgt(2),wgt(3)
GO TO 250
ENDIF
ENDDO
diff --git a/src/HEDR.F90 b/src/HEDR.F90
index f27a03c..f74ad71 100644
--- a/src/HEDR.F90
+++ b/src/HEDR.F90
@@ -27,7 +27,7 @@
common /cols/ ibakk,icolr,iblkk
CHARACTER*8 HED(10),HEAD(10,16)
- CHARACTER*47 MESOUT,MESS(47)
+ CHARACTER*47 MESOUT,MESS(48)
!ipk lan01 add to MESS
!ipk jan99 add to MESS
!ycw mar97 change HEADR(5,5) to HEADR(6,7)
@@ -37,7 +37,7 @@
DIMENSION X(5),Y(5),IRV(10)
!IPk feb 94 this statement reconstructed
!IPK OCT 96 THIS STATMENT DONE AGAIN
- DATA HEAD/ ' (e)lts ','(n)odes ','(o)rder ',' (h)elp ',' (s)ave ',&
+ DATA HEAD/ ' (e)lts ','(n)odes ','(o)rder ',' (h)elp ',' ',&
'cc(l)ine',' csec(t)',' (z)oom ',' (r)draw',' (q)uit ','(n)od bk',& !1/2
' (e)l bk',&
're(f)ine','spli(t) ','c(l)ean ',5*' ','pr(l)st ','get(g)rp'& ! 2/3
@@ -98,8 +98,9 @@
'Click at two locations to determine distance'& ! 41
,'Enter continuity line number use 0 to end','Click at location on image to define register point'& ! 42 43
,'Enter 1-d cross-section bed slope','Click at location to define outline point'& ! 44 45
- ,' ','Click two locations to define move'/ ! 46 47
-! last line Jan 2001
+ ,' ','Click two locations to define move'& ! 46 47
+ ,'Click locations to form outline'/ ! 48
+ ! last line Jan 2001
! line above added Jan 1999
DATA HEADR /&
' (q)uit ',5*' ',&
diff --git a/src/HELPS.F90 b/src/HELPS.F90
index 632bb25..3d45694 100644
--- a/src/HELPS.F90
+++ b/src/HELPS.F90
@@ -30,8 +30,9 @@
Filter='HTM file -- *.htm|*.htm|'
- CALL WSelectFile(FILTER,PromptOn,DIRECT,'Help files not available - BROWSE')
+! CALL WSelectFile(FILTER,PromptOn,DIRECT,'Help files not available - BROWSE')
+ CALL WSelectFile(FILTER,LoadDialog+MustExist,DIRECT,'Help files not available - BROWSE')
IF (WInfoDialog(ExitButtonCommon).EQ.CommonOpen) THEN
GO TO 200
ELSE
diff --git a/src/INITSIZ.f90 b/src/INITSIZ.f90
index 45177f2..8aef61d 100644
--- a/src/INITSIZ.f90
+++ b/src/INITSIZ.f90
@@ -9,8 +9,8 @@
IF(K1 .EQ. 0) THEN
MAXPL=200000
- MAXP=100000
- MAXE=60000
+ MAXP=200000
+ MAXE=120000
MAXSTO=2
MAXLIN=3000
MAXECON=60
diff --git a/src/INOUT.F90 b/src/INOUT.F90
index 862fe42..0d054db 100644
--- a/src/INOUT.F90
+++ b/src/INOUT.F90
@@ -206,6 +206,8 @@
enddo
if(abs(wdmin) .gt. abs(wdmax)) then
temp=log10(abs(wdmin))
+ elseif(wdmax .eq. 0.) then
+ temp=2.5
else
temp=log10(abs(wdmax))
endif
@@ -2288,7 +2290,7 @@
IF(IECHG .EQ. 0) IEM(J)=J
WRITE(IOF,5004) &
& J, (NOP(J,K),K=1,8), IMAT(J),THTA(J)
- 5004 FORMAT('GE',10I6,F10.4)
+ 5004 FORMAT('GE',10(1X,I6),F17.4)
ENDIF
ENDDO
DO J=1,NP
@@ -2360,13 +2362,22 @@
CHARACTER*80 ALINE
IF(IENT .EQ. 1) THEN
- READ(IUNIT) TITLE,NP,NE
+! READ(IUNIT) IDUMMY1
+ READ(IUNIT) TITLE,NP,NE
+! READ(IUNIT) IDUMMY1,IDUMMY2
READ(IUNIT) ISLP,IPRT,IPNN,IPEN,IPO,IRO,IPP,IRFN &
& ,IGEN,NXZL,NITST,ISCTXT,IFILL,IALTGM,NLAYD,xadded,yadded,ntempin
+! READ(IUNIT) ,IDUMMY2,IDUMMY3
READ(IUNIT) HORIZ,VERT,XSALE,YSALE,XFACT,YFACT,AR,ANG
- IF(IPP .GT. 0) READ(IIN) ALINE
+ IPP=0
+ NTEMPIN=2
+ IF(IPP .GT. 0) THEN
+! READ(IIN) IDUMMY3,IDUMMY4
+ READ(IIN) ALINE
+ ENDIF
ELSEIF(IENT .EQ. 2) THEN
+! READ(IUNIT) IDUMMY4,IDUMMY5
READ(IUNIT) ((NOP(J,K),K=1,8),IMAT(J),THTA(J),J=1,NE)
DO J=1,NE
IF(IMAT(J) .NE. 0) THEN
@@ -2383,7 +2394,7 @@
ENDDO
ELSE
-
+! READ(IUNIT) IDUMMY5,IDUMMY6
READ(IUNIT) &
& (XUSR(J),YUSR(J),WD(J),WIDTH(J),SS1(J),SS2(J),WIDS(J), &
& WIDBS(J),SSO(J),BS1(J),J=1,NP)
@@ -2396,20 +2407,29 @@
INEW(J) = 1
ENDIF
ENDDO
+! READ(IUNIT) IDUMMY5,IDUMMY6
READ(IUNIT) NLST
IF(NLST .GT. 0) THEN
+! READ(IUNIT) IDUMMY5,IDUMMY6
READ(IUNIT) (LLIST(J),J=1,NLST), &
((ILIST(J,I),I=1,LLIST(J)),J=1,NLST)
ENDIF
+! READ(IUNIT) IDUMMY5,IDUMMY6
READ(IUNIT) NENTRY,NLAYD,NCLM
+ if(nentry .eq. 0 .and. nlayd .eq. 0 .and. nclm .eq. 0) return
+! READ(IUNIT) IDUMMY5,IDUMMY6
IF(NENTRY .GT. 0) THEN
+! READ(IUNIT) IDUMMY5,IDUMMY6
READ(IUNIT) ((NEF(I,J),J=1,3),I=1,NENTRY)
ENDIF
IF(NLAYD .GT. 0) THEN
+! READ(IUNIT) IDUMMY5,IDUMMY6
READ(IUNIT) (LAY(I),I=1,NP),((WTLAY(I,J),J=1,9),I=0,NP)
ENDIF
IF(NCLM .GT. 0) THEN
+! READ(IUNIT) IDUMMY5,IDUMMY6
+! NCLM=11
READ(IUNIT) ((ICCLN(I,J),J=1,350),I=1,NCLM)
ENDIF
ENDIF
diff --git a/src/JOINEL.F90 b/src/JOINEL.F90
index 5e311b8..00dcc4e 100644
--- a/src/JOINEL.F90
+++ b/src/JOINEL.F90
@@ -167,7 +167,7 @@
! get adjacent corner save corner
m=2
list1(m)=nd3
- write(90,*) 'm',nd3
+ write(90,*) m,nd3
nelc=nel1
nelcsv=nel1
! start looop
@@ -197,6 +197,7 @@
RETURN
ENDIF
list1(m)=nd3
+ write(90,*) m,nd3
! test for last element
if(nelc .eq. nel2) go to 250
enddo
@@ -209,10 +210,12 @@
call findbcel(nel3,nd1,nd2,nd3,ierr,ilc)
! save back node
list2(1)=nd1
+ write(90,*) m,nd1
! get adjacent corner save corner
m=2
list2(m)=nd3
+ write(90,*) m,nd3
nelc=nel3
nelcsv=nel3
! start looop
@@ -225,6 +228,7 @@
if(necon(nd3,kkk) .ne. nelc) then
nelc=necon(nd3,kkk)
ilc=2
+ if(nelc .eq. nel4) ilc=4
call findbcel(nelc,nd1,nd2,nd3,ierr,ilc)
if(ierr .eq. 0) go to 300
@@ -242,6 +246,7 @@
CALL HEDR
ENDIF
list2(m)=nd3
+ write(90,*) m,nd3
! test for last element
if(nelc .eq. nel4) go to 350
enddo
@@ -312,8 +317,10 @@
nd2=nop(nel,k)
if(ndelm(nd2) .eq. 1) then
nd1=nop(nel,k-1)
+ if(nd1 .ne. ndkp .and. ilc .gt. 1) cycle
jj=mod(k,ncorn(nel))+1
nd3=nop(nel,jj)
+ if(ilc .eq. 4) return
if(ilc .gt. 0) then
kk=kk+1
mlc(kk)=k
diff --git a/src/LOADFIL.F90 b/src/LOADFIL.F90
index 94d7173..e7e38f2 100644
--- a/src/LOADFIL.F90
+++ b/src/LOADFIL.F90
@@ -10,6 +10,7 @@
CALL ZEROOUT
IFNUM=IACTVFIL+50
+ WRITE(90,*) 'IN LOADFIL IFNUM',IFNUM
CALL RDRST(1,IFNUM)
CALL RDRST(2,IFNUM)
CALL RDRST(3,IFNUM)
diff --git a/src/NEWRMGN.F90 b/src/NEWRMGN.F90
index 463e191..0fabdb2 100644
--- a/src/NEWRMGN.F90
+++ b/src/NEWRMGN.F90
@@ -34,6 +34,8 @@
LOGICAL :: OPENED,exists
LOGICAL(4) :: statud
REAL :: XX1,XX2,XX3,XX4,XX5,XX6
+ INTEGER :: iw,ih,ihandle,ient,IHAND1,IHAND2,IXPM,IYPX,IXPX,IYPM
+ common /hands/ ihandle,IHAND1,IHAND2,IXPM,IYPX,IXPX,IYPM
INTEGER ISCRWID,ISCRHGT
@@ -56,7 +58,7 @@
IRES=GETDRIVEDIRQQ (fname)
! lnnnam=windowstringlength(fname)
lnnnam=lenstr(fname)
- direct=fname(1:lnnnam)//'\doc\rmagen81M.htm'
+ direct=fname(1:lnnnam)//'\doc\rmagen83d.htm'
! write(128,*) fname,lnnnam,direct
@@ -144,6 +146,10 @@
! DO I=1,12
! CALL WMenuSetState(IBASEV+I,ItemChecked,1)
! ENDDO
+ IDDSW=-1
+ IHANDLE=0
+ IHAND1=0
+ IHAND2=0
N2=0
M2=0
TXSCAL = 1.
@@ -238,6 +244,7 @@
ELSEIF(SUB .EQ. 'rst') then
IIN=11
OPEN(IIN ,FILE=FNAME,STATUS='OLD',FORM='UNFORMATTED')
+! OPEN(IIN,FILE=FNAME,STATUS='OLD',FORM ='BINARY',action='read')
IGFG=0
CALL SETGFGTRIAN(IGFG,ITRIAN,ID1,ID2)
ELSEIF(SUB .EQ. 'bin') then
@@ -473,6 +480,7 @@
ELSEIF(SUB .EQ. 'rst') then
IIN=11
OPEN(IIN ,FILE=FNAME,STATUS='OLD',FORM='UNFORMATTED')
+! OPEN(IIN,FILE=FNAME,STATUS='OLD',FORM ='BINARY')
IGFG=0
ITRIAN=0
CALL SETGFGTRIAN(IGFG,ITRIAN,ID1,ID2)
diff --git a/src/OUTLINES.F90 b/src/OUTLINES.F90
index 8dfe87e..19c7c1c 100644
--- a/src/OUTLINES.F90
+++ b/src/OUTLINES.F90
@@ -1,4 +1,4 @@
- SUBROUTINE OUTLINES
+ SUBROUTINE OUTLINES(ISWT)
USE WINTERACTER
USE BLK1MOD
@@ -10,17 +10,21 @@
CHARACTER(LEN=255) :: FNAME,FILTER
CHARACTER(LEN=4) :: SUB
- LOGICAL OPENED
+ REAL XCEN(10),YCEN(10),MTYP(10)
+ LOGICAL OPENED,LSTAT
CHARACTER*1 IFLAG,ANS(10)
DATA ANS/' ',' ',' ',' ',' ',' ','n','z','r','q'/
-
+ DATA PI2/1.5708/
IF(.NOT. ALLOCATED(ICONNCT)) THEN
- ALLOCATE (ICONNCT(MAXP,2),IOUTLST(10,5000),NOUTLST(10))
+ ALLOCATE (ICONNCT(MAXP,3),IOUTLST(10,5000),NOUTLST(10),NKEP(MAXP))
ENDIF
IF(.NOT. ALLOCATED(XOUT)) THEN
ALLOCATE (XOUT(5000,10),YOUT(5000,10))
ENDIF
-
+ NOUTLST=0
+ IOUTSW=2
+ IPOS=2
+ IF(ISWT .EQ. 1) GO TO 80
IOUTOUT=26
INQUIRE(26, OPENED=OPENED)
if(.not. opened) then
@@ -73,17 +77,20 @@
ENDIF
!
! FORM LIST OF ELEMENT SIDES THAT ARE ON THE OUTSIDE
-
+ 80 CONTINUE
DO N=1,NP
MSN(N)=0
- ENDDO
+ ENDDO
+ ILINEL=0
DO N=1,NE
+ IF(IMAT(N) .LE. 0) CYCLE
IF(IMAT(N) .NE. 999 .AND. NCORN(N) .GT. 5 .AND. (IMAT(N) .LT. 900 .OR. IMAT(N) .GT. 903)) THEN
NCN=NCORN(N)
DO K=2,NCN,2
J = NOP(N,K)
if(J .gt. 0) then
MSN(J) = MSN(J) + 1
+ ICONNCT(J,3)=N
ICONNCT(J,1)=NOP(N,K-1)
IF(K .EQ. NCN) THEN
ICONNCT(J,2)=NOP(N,1)
@@ -92,6 +99,21 @@
ENDIF
endif
ENDDO
+ ELSEIF(IMAT(N) .NE. 999 .AND. NCORN(N) .LE. 5 .AND. (IMAT(N) .LT. 900 .OR. IMAT(N) .GT. 903)) THEN
+ ILINEL=1
+ IF(NCORN(N) .EQ. 5) THEN
+ DO K=1,5,4
+ J=NOP(N,K)
+ MSN(J)=MSN(J)-1
+ ICONNCT(J,-MSN(J))=N
+ ENDDO
+ ELSE
+ DO K=1,3,2
+ J=NOP(N,K)
+ MSN(J)=MSN(J)-1
+ ICONNCT(J,-MSN(J))=N
+ ENDDO
+ ENDIF
ENDIF
ENDDO
@@ -101,6 +123,7 @@
JJ=0
DO J=1,NP
IF(MSN(J) .EQ. 1) THEN
+ MTYP(K)=1
!
! THIS IS A STARTING POINT EXTRACT A CORNER NODE
IOUTLST(K,1)=ICONNCT(J,1)
@@ -111,7 +134,15 @@
IOUTLST(K,2)=J
IOUTLST(K,3)=ICONNCT(J,2)
JJ=3
- endif
+ endif
+ N=ICONNCT(J,3)
+ IF(NOP(N,7) .EQ. 0) THEN
+ XCEN(K)=(XUSR(NOP(N,1))+XUSR(NOP(N,3))+XUSR(NOP(N,5)))/3.
+ YCEN(K)=(YUSR(NOP(N,1))+YUSR(NOP(N,3))+YUSR(NOP(N,5)))/3.
+ ELSE
+ XCEN(K)=(XUSR(NOP(N,1))+XUSR(NOP(N,3))+XUSR(NOP(N,5))+XUSR(NOP(N,7)))/4.
+ YCEN(K)=(YUSR(NOP(N,1))+YUSR(NOP(N,3))+YUSR(NOP(N,5))+YUSR(NOP(N,7)))/4.
+ ENDIF
MSN(J)=0
ICONNCT(J,1)=0
ICONNCT(J,2)=0
@@ -155,7 +186,61 @@
ENDIF
ENDIF
- ENDDO
+ ENDDO
+ ELSEIF(MSN(J) .EQ. -1) THEN
+ MTYP(K)=-1
+ JJ=J
+ JO=J
+ LL=1
+ NN=ICONNCT(JJ,LL)
+ IOUTLST(K,LL)=JJ
+ 130 LL=LL+1
+ IF(NCORN(NN) .EQ. 5) THEN
+ NNOP=5
+ ELSE
+ NNOP=3
+ ENDIF
+ IF(NOP(NN,1) .EQ. JJ) THEN
+ JJ=NOP(NN,NNOP)
+ JL=NOP(NN,3)
+ IOUTLST(K,LL)=JL
+ ELSE
+ JJ=NOP(NN,1)
+ JL=JJ
+ IOUTLST(K,LL)=JJ
+ ENDIF
+ CALL GETLINANG(ANGL,JO,JJ)
+ ANGL1=ANGL-PI2
+ IF(LL .EQ. 2) THEN
+ XOUT(1,K)=XUSR(JO)+WIDTH(JO)/2.*COS(ANGL1)
+ YOUT(1,K)=YUSR(JO)+WIDTH(JO)/2.*SIN(ANGL1)
+ XOUT(4999,K)=XUSR(JO)-WIDTH(JO)/2.*COS(ANGL1)
+ YOUT(4999,K)=YUSR(JO)-WIDTH(JO)/2.*SIN(ANGL1)
+ ENDIF
+ XOUT(LL,K)=XUSR(JL)+WIDTH(JL)/2.*COS(ANGL1)
+ YOUT(LL,K)=YUSR(JL)+WIDTH(JL)/2.*SIN(ANGL1)
+ XOUT(5000-LL,K)=XUSR(JL)-WIDTH(JL)/2.*COS(ANGL1)
+ YOUT(5000-LL,K)=YUSR(JL)-WIDTH(JL)/2.*SIN(ANGL1)
+
+ IF(MSN(JJ) .EQ. -1) GO TO 150
+ IF(ICONNCT(JJ,1) .EQ. NN) THEN
+ NN=ICONNCT(JJ,2)
+ ELSE
+ NN=ICONNCT(JJ,1)
+ ENDIF
+ GO TO 130
+150 MSN(JJ)=0
+ JJ=LL
+ DO JJJ=LL,1,-1
+ JJ=JJ+1
+ XOUT(JJ,K)=XOUT(5000-JJJ,K)
+ YOUT(JJ,K)=YOUT(5000-JJJ,K)
+ ENDDO
+ JJ=JJ+1
+ XOUT(JJ,K)=XOUT(1,K)
+ YOUT(JJ,K)=YOUT(1,K)
+ MSN(J)=0
+ GO TO 200
ENDIF
ENDDO
GO TO 300
@@ -179,13 +264,40 @@
WRITE(IOUTOUT,*) NZERO
ELSE
DO L=1,NOUTLST(K)
- XOUT(L,K)=XUSR(IOUTLST(K,L))
- YOUT(L,K)=YUSR(IOUTLST(K,L))
- WRITE(IOUTOUT,*) XOUT(L,K),YOUT(L,K)
- ENDDO
+ IF(MTYP(K) .EQ. 1) THEN
+ XOUT(L,K)=XUSR(IOUTLST(K,L))
+ YOUT(L,K)=YUSR(IOUTLST(K,L))
+ ENDIF
+ IF(IOUTSW .EQ. 0) THEN
+ WRITE(IOUTOUT,*) XOUT(L,K),YOUT(L,K)
+ ENDIF
+ ENDDO
ENDIF
ENDIF
ENDDO
- 300 CONTINUE
+300 CONTINUE
+ DO K=1,10
+ IF(NOUTLST(K) .EQ. 0) GO TO 400
+ IF(MTYP(K) .EQ. 1) THEN
+ LSTAT=IGrInsidePolygon(XOUT(1,K),YOUT(1,K),NOUTLST(K),XCEN(K),YCEN(K))
+ ELSE
+ LSTAT=.TRUE.
+ ENDIF
+ IF(LSTAT) THEN
+ NOUTLST(K)=ABS(NOUTLST(K))
+ ELSE
+ NOUTLST(K)=-ABS(NOUTLST(K))
+ ENDIF
+ ENDDO
+ 400 CONTINUE
RETURN
- END
\ No newline at end of file
+ END
+
+ SUBROUTINE GETLINANG(angle,n1,n2)
+ USE BLK1MOD
+! use ATAN2 and angle into range 0 to 2*pi
+ ANGLE=ATAN2(YUSR(N2)-YUSR(N1),XUSR(N2)-XUSR(N1))
+ IF(ANGLE .LT. 0.) ANGLE=ANGLE+6.28318515
+ RETURN
+ END
+
\ No newline at end of file
diff --git a/src/PLOTR.F90 b/src/PLOTR.F90
index 8628043..52c5fa5 100644
--- a/src/PLOTR.F90
+++ b/src/PLOTR.F90
@@ -174,3 +174,31 @@
RETURN
END
+
+
+ SUBROUTINE CHEXIT
+ USE WINTERACTER
+ TYPE(WIN_MESSAGE) :: MESSAGE
+ INTEGER :: ITYPE
+ COMMON /HEDS/ NP,NE,NHTP,NMESS,NBRR,IPSW(15),IRMAIN,ISCRN,icolon(12),IQSW(2),IRDISP,ntempin,igfgsw,igfgswb,ICRIN,IPW1,WIDEL,WIDSCL,itrianout
+
+ CALL WMessagePeek(ITYPE, MESSAGE)
+
+ SELECT CASE (ITYPE)
+ CASE (-1)
+ RETURN
+ CASE (KeyDown) ! Key pressed
+ IPSW(1)=0
+ IPSW(2)=1
+ IPSW(3)=0
+ IPSW(4)=0
+ IPSW(5)=0
+ IPSW(6)=0
+ IPSW(7)=0
+ IPSW(8)=0
+ IPSW(9)=0
+ IPSW(12)=0
+ RETURN
+ ENDSELECT
+ RETURN
+ END
diff --git a/src/PLOTR1.F90 b/src/PLOTR1.F90
index 94012bf..7911c95 100644
--- a/src/PLOTR1.F90
+++ b/src/PLOTR1.F90
@@ -27,6 +27,7 @@
IFIRST=1
ENDIF
HT=0.2
+! CALL CHEXIT
!
if(imz .ne. 2) CALL CLSCRN
!
@@ -67,6 +68,28 @@
PSCALE = 1.
XMIN = 0.
YMIN = 0.
+! if(np .gt. 100000) call backc(1)
+
+! if(ipsw(4) .eq. 1) then
+! do j=1,ne
+! if(ieskp(j) .eq. 0 .and. imz .ne. 2) call fillemC(j,1)
+! enddo
+! endif
+! write(90,*) 'going to drawbk',nbkfl,iswbkfl(1)
+! IF(NBKFL .GT. 0) THEN
+! DO I=1,NBKFL
+! IF(ISWBKFL(I) .EQ. 1) CALL DRAWBK(I,IMZ)
+! IF(ISWBKFL(I) .EQ. 2) CALL DRAWBKBM(I,IMZ)
+! ENDDO
+! ENDIF
+ IF(IDDSW .EQ. -1) THEN
+ IF(NP .GT. 100000) THEN
+ IDDSW=0
+ ELSE
+ IDDSW=1
+ ENDIF
+ ENDIF
+ if(IDDSW .EQ. 0) call backc(1)
if(ipsw(4) .eq. 1) then
do j=1,ne
@@ -74,7 +97,6 @@
enddo
endif
-! write(90,*) 'going to drawbk',nbkfl,iswbkfl(1)
IF(NBKFL .GT. 0) THEN
DO I=1,NBKFL
IF(ISWBKFL(I) .EQ. 1) CALL DRAWBK(I,IMZ)
@@ -84,7 +106,7 @@
! write(90,*) 'finished drawbk'
!
! Plot map data
-!
+!
IF(IMP .NE. 0) THEN
IF(IPSW(1) .EQ. 1) THEN
CALL PLTMAP
@@ -131,8 +153,10 @@
cycle
endif
enddo
- if(abs(wdmin) .ge. abs(wdmax)) then
+ if(abs(wdmin) .gt. abs(wdmax)) then
temp=log10(abs(wdmin))
+ elseif(wdmin .eq. 0) then
+ temp=2.5
else
temp=log10(wdmax)
endif
@@ -145,10 +169,10 @@
endif
endif
DO 15 J=1,NP
- IF(MOD(J,10) .EQ. 0) THEN
- CALL CHINT(IFLAG)
- IF(IFLAG .EQ. 'i') GO TO 250
- ENDIF
+! IF(MOD(J,10) .EQ. 0) THEN
+! CALL CHINT(IFLAG)
+! IF(IFLAG .EQ. 'i') GO TO 250
+! ENDIF
IF(INSKP(J) .EQ. 1) GO TO 15
IF(CORD(J,1) .GT. 0. .AND. CORD(J,1) .LT. HSIZE) THEN
IF(CORD(J,2) .GT. 0. .AND. CORD(J,2) .LT. 7.5) THEN
@@ -218,15 +242,15 @@
DO 20 J=1,NE
XC(J)=VOID
YC(J)=VOID
- IF(MOD(J,10) .EQ. 0) THEN
- CALL CHINT(IFLAG)
- IF(IFLAG .EQ. 'i') GO TO 250
- ENDIF
+! IF(MOD(J,10) .EQ. 0) THEN
+! CALL CHINT(IFLAG)
+! IF(IFLAG .EQ. 'i') GO TO 250
+! ENDIF
IF(IESKP(J) .EQ. 0) THEN
!IPK JAN98 ADD IERC
IF (IMAT(J) .NE. 0) CALL PLTELM(J,IERC)
ENDIF
- 20 CONTINUE
+20 CONTINUE
IF(IERC .GT. 0) THEN
! call clscrn()
! WRITE(LIND,*) ' Zero node corner nodes'
@@ -250,6 +274,9 @@
ENDIF
endif
ENDIF
+ if(IDDSW .EQ. 0) then
+ call backc(2)
+ endif
!ycw mar97 add for cross section
if(ICRS.ne.0) then
call plott(XPCS(1),YPCS(1),3)
@@ -308,7 +335,7 @@
IF(IMZ .NE. 1) THEN
CALL DOPLOT(IMZ)
ENDIF
-
+ CALL CHEXIT
RETURN
END
!
diff --git a/src/REATTACH.F90 b/src/REATTACH.F90
index de7d884..4403408 100644
--- a/src/REATTACH.F90
+++ b/src/REATTACH.F90
@@ -4,7 +4,7 @@
USE BLK1MOD
USE BLK2MOD
- INTEGER NS1(3),NT1(3)
+ INTEGER NS1(3,4),NT1(3,4)
CHARACTER*1 IFLAG,ANSW(10)
DATA ANSW/' ',' ',' ',' ',' ',' ','n','z','r','q'/
@@ -12,34 +12,50 @@
CALL KCON(0)
! SELECT FIRST ELEMENT
10 CONTINUE
+ NHTPSV=NHTP
+ NMESSSV=NMESS
+ NBRRSV=NBRR
NHTP=0
NMESS=20
NBRR=8
CALL HEDR
CALL PROX(XC,YC,NE,XX,YY,IELEM,IFLAG,IESKP,IBOX)
- call fillem(ielem)
- IF(IRMAIN .EQ. 1) RETURN
+ IF(IRMAIN .EQ. 1) THEN
+ NHTP=NHTPSV
+ NMESS=NMESSSV
+ NBRR=NBRRSV
+ CALL HEDR
+ RETURN
+ ENDIF
IF(IFLAG .EQ. 'c' .AND. IBOX .GT. 0) THEN
IFLAG=ANSW(IBOX)
ENDIF
!
IF(IFLAG .EQ. 'q') THEN
- RETURN
+ NHTP=NHTPSV
+ NMESS=NMESSSV
+ NBRR=NBRRSV
+ CALL HEDR
+ RETURN
ENDIF
+ call fillem(ielem)
! GET UNATTACHED NOP
+ kk=0
DO K=2,NCORN(IELEM),2
NSX=NOP(IELEM,K)
IF(NDELM(NSX) .EQ. 1) THEN
-! FOUND IT
- NS1(1)=NOP(IELEM,K-1)
- NS1(2)=NSX
- KK=MOD(K,NCORN(IELEM))+1
- NS1(3)=NOP(IELEM,KK)
- GO TO 280
+! FOUND IT
+ KK=KK+1
+ NS1(1,KK)=NOP(IELEM,K-1)
+ NS1(2,KK)=NSX
+ KKK=MOD(K,NCORN(IELEM))+1
+ NS1(3,KK)=NOP(IELEM,KKK)
+! GO TO 280
ENDIF
ENDDO
- 280 CONTINUE
+280 CONTINUE
+
! SELECT NEXT ELEMENT
@@ -48,24 +64,38 @@
! GET UNNATCHED SIDE
! FIND AN UNATTACHED SIDE (INDICATE OF TRIANGLE OR QUADRILATERAL)
+ LL=0
DO K=2,NCORN(IELEM1),2
NSX=NOP(IELEM1,K)
IF(NDELM(NSX) .EQ. 1) THEN
! FOUND IT
- NT1(1)=NOP(IELEM1,K-1)
- NT1(2)=NSX
- KK=MOD(K,NCORN(IELEM1))+1
- NT1(3)=NOP(IELEM1,KK)
- GO TO 300
+ LL=LL+1
+ NT1(1,LL)=NOP(IELEM1,K-1)
+ NT1(2,LL)=NSX
+ KKK=MOD(K,NCORN(IELEM1))+1
+ NT1(3,LL)=NOP(IELEM1,KKK)
+! GO TO 300
ENDIF
ENDDO
300 CONTINUE
! FORM A NEW ELEMENT ASSIGN TYPE AS INDICATED
+! GET THE NEAREST TWO FACES
+ DISTKP=1.E20
+ DO NN=1,KK
+ DO MM=1,LL
+ DIST=(XUSR(NS1(2,NN))-XUSR(NT1(2,MM)))**2+(YUSR(NS1(2,NN))-YUSR(NT1(2,MM)))**2
+ IF(DIST .LT. DISTKP) THEN
+ NNN=NN
+ MMM=MM
+ DISTKP=DIST
+ ENDIF
+ ENDDO
+ ENDDO
CALL GETELM(J)
DO K=1,3
- NOP(J,K)=NS1(K)
- NOP(J,K+4)=NT1(K)
+ NOP(J,K)=NS1(K,NNN)
+ NOP(J,K+4)=NT1(K,MMM)
ENDDO
NOP(J,4)=0
NOP(J,8)=0
@@ -74,6 +104,7 @@
NCORN(J)=8
! GO BACK TO LOOK FOR NEW PAIR
+ CALL PLOTOT(1)
GO TO 10
RETURN
END
\ No newline at end of file
diff --git a/src/REGSTR.F90 b/src/REGSTR.F90
index 44a4d45..c7c4238 100644
--- a/src/REGSTR.F90
+++ b/src/REGSTR.F90
@@ -294,14 +294,16 @@
TYPE(WIN_MESSAGE) :: MESSAGE
INCLUDE 'BFILES.I90'
+ CHARACTER(LEN=256) :: FILTER
INTEGER :: NN,I,III
CHARACTER(LEN=255) :: FNAME
CHARACTER(LEN=3) :: SUB
-
+ INTEGER :: INFO(3)
+ REAL :: XSIZ,YSIZ
IF(III .EQ. 1) THEN
CALL WMessageBox(YesNo,QuestionIcon,CommonOK, 'Do you wish to '// &
- 'save locations as ORG file?', 'SAVE ORG FILE')
+ 'save locations as ORG or JPGW file?', 'SAVE ORG/JPGW FILE')
!
! If answer 'NO', return
!
@@ -309,16 +311,34 @@
ENDIF
! Otherwise process
-
- CALL WSelectFile(ID_STRING11,SaveDialog+PromptOn,FNAME,'Save ORG File')
+ call IGrFileInfo(BFNAME(NN),INFO,3)
+
+ FILTER ="Registration Files|*.org;*.jpgw|ORG file -- *.org|*.org|JPGW file -- *.jpgw|*.jpgw|"
+
+ CALL WSelectFile(FILTER,SaveDialog+PromptOn+AppendExt,FNAME,'Save ORG/JPGW File')
IF (WInfoDialog(ExitButtonCommon).EQ.CommonOpen) THEN
- SUB='org'
- CALL ADDSUB(FNAME,SUB)
+! SUB='org'
OPEN(104,FILE=FNAME,STATUS ='UNKNOWN', FORM ='FORMATTED')
- WRITE(104,'(4G16.8)') (BFMINMAX(NN,I),I=1,4)
- CLOSE(104)
+ CALL IlowerCase(FNAME)
+ CALL GETSUB(FNAME,SUB)
+ if(sub .eq. 'jpg') then
+ XSIZ=(BFMINMAX(NN,3)-BFMINMAX(NN,1))/FLOAT(INFO(2))
+ YSIZ=(BFMINMAX(NN,2)-BFMINMAX(NN,4))/FLOAT(INFO(3))
+ WRITE(104,*) XSIZ
+ WRITE(104,*) ' 0.0'
+ WRITE(104,*) ' 0.0'
+ WRITE(104,*) YSIZ
+ WRITE(104,*) BFMINMAX(NN,1)
+ WRITE(104,*) BFMINMAX(NN,4)
+ CLOSE(104)
+ else
+! CALL ADDSUB(FNAME,SUB)
+! OPEN(104,FILE=FNAME,STATUS ='UNKNOWN', FORM ='FORMATTED')
+ WRITE(104,'(4G16.8)') (BFMINMAX(NN,I),I=1,4)
+ CLOSE(104)
+ endif
ENDIF
RETURN
diff --git a/src/RMAGEN - Shortcut.lnk b/src/RMAGEN - Shortcut.lnk
deleted file mode 100644
index a126725..0000000
Binary files a/src/RMAGEN - Shortcut.lnk and /dev/null differ
diff --git a/src/RMAGEN.F90 b/src/RMAGEN.F90
index 869581d..0b55c8a 100644
--- a/src/RMAGEN.F90
+++ b/src/RMAGEN.F90
@@ -188,10 +188,10 @@
IPSW(8)=0
IPSW(9)=0
IPSW(12)=0
- IF(N8 .GT. 100000) THEN
- IPSW(2)=1
- IPSW(4)=0
- ENDIF
+! IF(N8 .GT. 100000) THEN
+! IPSW(2)=1
+! IPSW(4)=0
+! ENDIF
MAXPTS=MAXPL
!ipk jan98
call file(1)
diff --git a/src/RMAGENV83c.rc b/src/RMAGENV83d.rc
similarity index 99%
rename from src/RMAGENV83c.rc
rename to src/RMAGENV83d.rc
index cd4e683..33d9f03 100644
--- a/src/RMAGENV83c.rc
+++ b/src/RMAGENV83d.rc
@@ -8,7 +8,7 @@
//
// Winteracter resource script.
//
-// Modified : 03/Aug/2016 15:52:15
+// Modified : 13/Feb/2017 12:04:28
//
///////////////////////////////////////////////////
//
@@ -371,6 +371,10 @@
#define ID_ASSIGNELTLD 40144
#define ID_FILLTR 40145
#define IDD_FTRIAN 167
+#define ID_addmeshtr 40146
+#define ID_UNDOGEN 40147
+#define IDD_GETFL 168
+#define ID_DDRAW 40148
///////////////////////////////////////////////////
//
@@ -1045,7 +1049,7 @@ BEGIN
CONTROL "",IDF_STRING32,"EDIT",WS_CHILD | WS_VISIBLE | WS_BORDER | WS_GROUP | WS_TABSTOP | ES_LEFT, 40, 134, 340, 12
CONTROL "",IDF_STRING33,"EDIT",WS_CHILD | WS_VISIBLE | WS_BORDER | WS_GROUP | WS_TABSTOP | ES_LEFT, 40, 148, 340, 12
CONTROL "",IDF_STRING34,"EDIT",WS_CHILD | WS_VISIBLE | WS_BORDER | WS_GROUP | WS_TABSTOP | ES_LEFT, 40, 162, 340, 12
- CONTROL "OK",IDOK,"BUTTON",WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON | BS_TEXT, 180, 196, 40, 14
+ CONTROL "OK",IDOK,"BUTTON",WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON | BS_TEXT, 88, 196, 40, 14
CONTROL "",IDF_RADIO1,"BUTTON",WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP | BS_AUTORADIOBUTTON | BS_TEXT, 20, 36, 20, 12
CONTROL "",IDF_RADIO2,"BUTTON",WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_AUTORADIOBUTTON | BS_TEXT, 20, 50, 20, 12
CONTROL "",IDF_RADIO3,"BUTTON",WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_AUTORADIOBUTTON | BS_TEXT, 20, 64, 20, 12
@@ -1056,6 +1060,7 @@ BEGIN
CONTROL "",IDF_RADIO8,"BUTTON",WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_AUTORADIOBUTTON | BS_TEXT, 20, 134, 20, 12
CONTROL "",IDF_RADIO9,"BUTTON",WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_AUTORADIOBUTTON | BS_TEXT, 20, 148, 20, 12
CONTROL "",IDF_RADIO10,"BUTTON",WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_AUTORADIOBUTTON | BS_TEXT, 20, 162, 20, 12
+ CONTROL "Cancel",IDCANCEL,"BUTTON",WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP | BS_PUSHBUTTON | BS_TEXT, 278, 195, 40, 14
END
IDD_SELTFL2 RCDATA
@@ -2095,6 +2100,22 @@ BEGIN
,0
END
+IDD_GETFL DIALOG 0, 0, 233, 89
+STYLE WS_POPUP | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_3DLOOK | DS_MODALFRAME
+FONT 8, "MS Sans Serif"
+CAPTION "ENTER FILE DIRECTORY FOR TRIANGLE"
+BEGIN
+ CONTROL "",IDF_STRING1,"EDIT",WS_CHILD | WS_VISIBLE | WS_BORDER | WS_GROUP | ES_LEFT | ES_CENTER | ES_MULTILINE | ES_UPPERCASE, 17, 24, 198, 16
+ CONTROL "OK",IDOK,"BUTTON",WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON | BS_TEXT, 96, 59, 40, 14
+END
+
+IDD_GETFL RCDATA
+BEGIN
+"[Colours] \n"
+" 1013 256 256 256 255 255 255 \n"
+,0
+END
+
///////////////////////////////////////////////////
//
// Menus
@@ -2147,6 +2168,7 @@ BEGIN
POPUP "Mesh"
BEGIN
MENUITEM "Select mesh file", ID_SELRM1
+ MENUITEM "Input Outline to Add Mesh", ID_addmeshtr
MENUITEM "Add mesh to existing", ID_addmesh
MENUITEM "Merge mesh to existing", ID_MRGMESH
MENUITEM "Generate triangular block", ID_TRIANG
@@ -2217,6 +2239,7 @@ BEGIN
BEGIN
MENUITEM "Undo Refine or Gblock", ID_UNDO
MENUITEM "Undo Last Selected Element", ID_UNDOS
+ MENUITEM "Undo Last Auto Mesh Gneration", ID_UNDOGEN
END
POPUP "&View"
BEGIN
@@ -2256,6 +2279,7 @@ BEGIN
MENUITEM "Group Colour", ID_IGPC
END
MENUITEM "Map Options", ID_MAPOPD
+ MENUITEM "Force Direct Draw", ID_DDRAW
END
POPUP "&Help"
BEGIN
@@ -2269,7 +2293,7 @@ BEGIN
MENUITEM "Set Type by Level", ID_SETTYPLEV
MENUITEM "Form a complex line of elements", ID_Complex
MENUITEM "Interpolate Map File for Stress File", ID_GETSTRESSFIL
- MENUITEM "Smooth Mesh to Map Contours", ID_SMOOTHMAP
+ MENUITEM "Smooth Map Contours", ID_SMOOTHMAP
MENUITEM "Smooth Mesh Using Reversal", ID_RVSDIAG
MENUITEM "Remove Elements Outside Outline", ID_TESTOUT
MENUITEM "Input Element Load file", ID_LOADELTLD
@@ -2404,5 +2428,5 @@ END
//*WI* FORTSAVE 1
//*WI* FILENAME D.INC
//*WI* FMODNAME
-//*WI* LASTTYPE 2
-//*WI* LASTRES 67
+//*WI* LASTTYPE 1
+//*WI* LASTRES 1
diff --git a/src/RVSDIAG.F90 b/src/RVSDIAG.F90
index f0d4587..9fe8d99 100644
--- a/src/RVSDIAG.F90
+++ b/src/RVSDIAG.F90
@@ -2,7 +2,14 @@
! routine to test for and reverse diagonals
USE BLK1MOD
USE BLK2MOD
+ INCLUDE 'BFILES.I90'
+
REAL IGrDistanceLine
+ dist(n1,n2)=sqrt((xusr(n1)-xusr(n2))**2+(yusr(n1)-yusr(n2))**2)
+! save current file
+
+ IFILOUT=IACTVFIL+50
+ CALL WRTFIL(IFILOUT)
! fill midsides
CALL FILM(1)
@@ -90,6 +97,7 @@
! test if they are equal height
IF(WD(N3) .EQ. WD(N4) .or. ABS(WD(N3) -WD(N4)) .LT. ABS(WD(N1)-WD(N2))) THEN
! if so reverse connections
+ if(dist(n1,n2)*1.5 .lt. dist(n3,n4)) go to 500
KCOUNT=KCOUNT+1
WRITE(160,*) 'RV1',KCOUNT,NEL1,NEL2,N1,N2,N3,N4
CALL REVERS(NEL1,NEL2)
@@ -98,7 +106,8 @@
ELSE
! test if N4 closer or equal to N3 than N1 or N2
IF(ABS(WD(N4) - WD(N3)) .LT. ABS(WD(N1) - WD(N3)) .OR. ABS(WD(N4) - WD(N3)) .LT. ABS(WD(N2) - WD(N3))) THEN
-! if so reverse connections
+! if so reverse connections
+ if(dist(n1,n2)*1.5 .lt. dist(n3,n4)) go to 500
KCOUNT=KCOUNT+1
WRITE(160,*) 'RV2',KCOUNT,NEL1,NEL2,N1,N2,N3,N4
CALL REVERS(NEL1,NEL2)
diff --git a/src/TXFRM.COM b/src/TXFRM.COM
index f277e40..b564d03 100644
--- a/src/TXFRM.COM
+++ b/src/TXFRM.COM
@@ -1,4 +1,4 @@
REAL*8 XS,YS,TXSCAL
- INTEGER IRGB
- COMMON /TXFRM/ XS, YS, TXSCAL,IRGB
+ INTEGER IRGB,IDDSW
+ COMMON /TXFRM/ XS, YS, TXSCAL,IRGB,IDDSW
diff --git a/src/UTIL.F90 b/src/UTIL.F90
index 49eafde..bae20fb 100644
--- a/src/UTIL.F90
+++ b/src/UTIL.F90
@@ -1083,7 +1083,8 @@
DO 25 K=1,NCNR
N = NOP(J,K)
!
- IF (N .EQ. 0 .OR. CORD(N,1) .LT. VDX) GOTO 25
+ IF (N .EQ. 0) GO TO 25
+ IF (CORD(N,1) .LT. VDX) GOTO 25
! !
IF (NCN .NE. 5 .OR. K .LT. 5) THEN
IF (MOD(K,2) .EQ. 1) THEN
diff --git a/src/WINNEW.F90 b/src/WINNEW.F90
index af36efb..4b6ec46 100644
--- a/src/WINNEW.F90
+++ b/src/WINNEW.F90
@@ -413,7 +413,10 @@
!IPK MAY02 COMMON /TXFRM/ XS, YS, TXSCAL
INCLUDE 'BFILES.I90'
- DATA IHAND1,IHAND2/0,0/
+! DATA IHAND1,IHAND2/0,0/
+ INTEGER :: iw,ih,ihandle,ient,IHAND1,IHAND2,IXPM,IYPX,IXPX,IYPM
+ common /hands/ ihandle,IHAND1,IHAND2,IXPM,IYPX,IXPX,IYPM
+
XBKMN=((BFMINMAX(I,1)+XS)/TXSCAL)
XBKMX=((BFMINMAX(I,3)+XS)/TXSCAL)
YBKMN=((BFMINMAX(I,2)+YS)/TXSCAL)
@@ -493,7 +496,11 @@
CALL WBitMapCreate(IHAND2,IX2PIX,IY2PIX)
CALL IGrSelect(DrawBitmap,IHAND2)
CALL WBitMapPutPart(IHAND1,0,IXLPIX,IYLPIX,IXMPIX,IYMPIX)
- CALL IGrSelect(DrawWin)
+ IF(IDDSW .EQ. 1) THEN
+ CALL IGrSelect(DrawWin)
+ ELSE
+ CALL IGrSelect(DrawBitmap,IHANDLE)
+ ENDIF
IERR = InfoError(LastError)
! WRITE(90,*) 'ERROR SELECT DRAW', IERR
CALL WBitmapPut(IHAND2,1,1,IXPM,IYPX,IXPX,IYPM)
@@ -672,12 +679,19 @@
CALL WDialogShow(-1,-1,0,Modal)
ierr=infoerror(1)
- IF (WInfoDialog(ExitButton) .EQ. IDOK) THEN
- call wdialogGetradiobutton(idf_radio1,iactvfil)
- ENDIF
- write(90,*) 'Selected iactvfil', iactvfil
- RETURN
+ DO
+ IF (WInfoDialog(ExitButton) .EQ. IDOK) THEN
+ call wdialogGetradiobutton(idf_radio1,iactvfil)
+ write(90,*) 'Selected iactvfil', iactvfil
+ RETURN
+ ELSEIF (WInfoDialog(ExitButton) .EQ. IDCANCEL) THEN
+ RETURN
+ ENDIF
+ ENDDO
END
+
+
+
subroutine plotcr(x,y,siz)
CALL PLOTT(x-siz/2.,y,3)
@@ -687,4 +701,29 @@
return
end
+ SUBROUTINE OUTJPGW(FNAME,INFO)
+
+ CHARACTER(LEN=255) :: FNAME
+ INTEGER INFO(3)
+ INCLUDE 'TXFRM.COM'
+
+ REAL HSIZE
+ COMMON /SSIZE/ HSIZE
+ XR=HSIZE*TXSCAL-XS
+ YT=8.0*TXSCAL-YS
+ XSIZ=HSIZE*TXSCAL/FLOAT(INFO(2))
+ YSIZ=-8*TXSCAL/FLOAT(INFO(3))
+
+ OPEN(104,FILE=FNAME,STATUS ='UNKNOWN', FORM ='FORMATTED')
+ WRITE(104,*) XSIZ
+ WRITE(104,*) ' 0.0'
+ WRITE(104,*) ' 0.0'
+ WRITE(104,*) YSIZ
+ WRITE(104,*) -XS
+ WRITE(104,*) YT
+
+ CLOSE(104)
+
+ RETURN
+ END
diff --git a/src/addmesht - Copy.f90 b/src/addmesht - Copy.f90
new file mode 100644
index 0000000..01ffdfc
--- /dev/null
+++ b/src/addmesht - Copy.f90
@@ -0,0 +1,239 @@
+ SUBROUTINE ADDMESHT
+
+ USE BLK1MOD
+ USE WINTERACTER
+ INCLUDE 'BFILES.I90'
+ INCLUDE 'TXFRM.COM'
+
+ INTEGER OUTPOL,TWO,ZERO,IFILOUT
+ INTEGER NTRIAN(5000,2),ICT
+ REAL XMAP1(5000),YMAP1(5000)
+
+ CHARACTER*1 ANSW(10),ANS
+ CHARACTER(LEN=80) :: DATAIN,OPTIONS
+ LOGICAL EXISTS
+ DATA ANSW/' ',' ',' ',' ',' ','b','n','z','r','q'/
+ do k=1,80
+ options(k:k)=' '
+ enddo
+ TWO=2
+ ZERO=0
+ OUTPOL=23
+ ICT=0
+! add headers
+ NHTPSV=NHTP
+ NMESSSV=NMESS
+ NBRRSV=NBRR
+ NHTP=0
+ NMESS=48
+ NBRR=5
+ call hedr
+! go and get points to form outline
+ 200 CALL xyloc(XTEMP,YTEMP,ans,IBOX)
+ siz=0.1
+ call drawcr(xtemp,ytemp,siz)
+ IF(IRMAIN .EQ. 1) RETURN
+!
+ IF(ANS .EQ. 'c') THEN
+ if(ibox .eq. 0) go to 400
+ I=IBOX
+ ANS=ANSW(I)
+ ENDIF
+ IF(ANS .EQ. 'b') THEN
+ ICT=ICT-1
+ GO TO 200
+ ELSEIF(ANS .EQ. 'n') THEN
+ GO TO 500
+ ELSEIF(ANS .EQ. 'q') THEN
+ RETURN
+ ENDIF
+400 ICT=ICT+1
+ XMAP1(ICT) = XTEMP*TXSCAL - XS
+ YMAP1(ICT) = YTEMP*TXSCAL - XS
+ IF(ICT .GT. 1) THEN
+ NTRIAN(ICT-1,1)=ICT-1
+ NTRIAN(ICT-1,2)=ICT
+ ENDIF
+ GO TO 200
+ 500 CONTINUE
+ NTRIAN(ICT,1)=ICT
+ NTRIAN(ICT,2)=1
+
+! write current data to a scratch file for later addition
+
+ IF(IACTVFIL .GT. 0) THEN
+ CALL WRTFIL(50)
+ IFILOUT=IACTVFIL+50
+ CALL WRTFIL(IFILOUT)
+ CALL ZEROOUT
+ IACTVFIL=ITOTFIL
+ ELSE
+ IACTVFIL=1
+ ENDIF
+
+! clear screen
+ CALL clscrn
+
+! form TRIANG file
+
+ OPEN(OUTPOL,FILE='TEST.POLY', STATUS='UNKNOWN')
+ WRITE(OUTPOL,*) ICT,TWO,ZERO,ZERO
+ DO K=1,ICT
+ WRITE(OUTPOL,*) K,XMAP1(K),YMAP1(K)
+ ENDDO
+ WRITE(OUTPOL,*) ICT,ZERO
+ DO J=1, ICT
+ WRITE(OUTPOL,*) J,ntrian(J,1),ntrian(J,2)
+ ENDDO
+ WRITE(OUTPOL,*) ZERO
+ FLUSH (OUTPOL)
+ REWIND (OUTPOL)
+ CLOSE (OUTPOL)
+
+! OPTIONS = ' -pqa5000V TEST'
+ OPTIONS(1:3) = ' -p'
+ nct=3
+! iswq=1
+! iswy=0
+! id1=105
+ CALL PANELFILLT(ISWQ,ISWY,ID1)
+
+ IF(ISWQ .EQ. 1) THEN
+ NCT=NCT+1
+ OPTIONS(NCT:NCT)='q'
+ ENDIF
+ IF(ISWY .EQ. 1) THEN
+ NCT=NCT+1
+ OPTIONS(NCT:NCT)='q'
+ ENDIF
+ ID1=ID1**2/2
+ WRITE(OPTIONS(NCT+1:NCT+12),'(''a'',I6.6,'' TEST'')') ID1
+! go to TRIANGLE
+ ! INQUIRE (FILE = 'test.1.ele', EXIST = exists)
+ ! if(exists) then
+ ! open(77,file= 'test.1.ele')
+ ! close(77,status='DELETE')
+ ! ENDIF
+ !
+ ! INQUIRE (FILE = 'test.1.node', EXIST = exists)
+ ! if(exists) then
+ ! open(77,file= 'test.1.node')
+ ! close(77,status='DELETE')
+ ! ENDIF
+ !
+ ! INQUIRE (FILE = 'test.1.poly', EXIST = exists)
+ ! if(exists) then
+ ! open(77,file= 'test.1.poly')
+ ! close(77,status='DELETE')
+ ! ENDIF
+ !
+ !RESULT= RUNQQ("C:\Program Files\RMA\TRIANGLE", OPTIONS)
+! RESULT= RUNQQ("TRIANGLE", OPTIONS)
+
+ IIN=10
+ OPEN(IIN,FILE='TEST.1.ELE', STATUS='OLD')
+
+ write(155,*) 'going to get newfile'
+ CALL GETNEWFIL(IIN,0,1,-1)
+ IADD=50+iactvfil+1
+ CALL RDTOCLIP(IADD)
+
+ IF(IADD .EQ. 51) THEN
+ write(90,*) 'finished addmesh'
+
+ NHTP=NHTPSV
+ NMESS=NMESSSV
+ NBRR=NBRRSV
+ call hedr
+ ELSE
+ CALL ADDMESH(0)
+ NHTP=NHTPSV
+ NMESS=NMESSSV
+ NBRR=NBRRSV
+ call hedr
+
+ CALL WMessageBox(YesNo,QuestionIcon,CommonOK,'Do you wish to delete unused nodes?'//&
+ CHAR(13)//' ','Delete unused nodes?')
+ !
+! If answer 'No', return
+!
+ IF (WInfoDialog(4).EQ.2) return
+!
+! Delete all unused nodes
+!
+ CALL DELETM(2)
+
+ ENDIF
+
+! get new mesh
+! add meshes together
+ RETURN
+ END
+
+ SUBROUTINE UNDOGEN
+ USE BLK1MOD
+ ALLOCATABLE NODETRAN(:)
+ DATA VDX9/-9.E9/
+
+! Loop through nodes assigning new number and adding to list
+
+ IF(.NOT. ALLOCATED(NODETRAN)) ALLOCATE (NODETRAN(maxp))
+
+ CALL ZEROOUT
+ IADD=50
+ CALL RDTOCLIP(IADD)
+
+ DO N=1,NPSTO(1)
+ IF(XUSRSTO(N,1) .GT. VDX9) THEN
+ CALL GETNOD(J)
+ NODETRAN(N)=J
+ XUSR(J)=XUSRSTO(N,1)
+ YUSR(J)=YUSRSTO(N,1)
+ WD(J)=WDSTO(N,1)
+ WIDTH(J)=WIDTHSTO(N,1)
+ SS1(J)=SS1STO(N,1)
+ SS2(J)=SS2STO(N,1)
+ WIDS(J)=WIDSSTO(N,1)
+ WIDBS(J)=WIDBSSTO(N,1)
+ SSO(J)=SSOSTO(N,1)
+ BS1(J)=BS1STO(N,1)
+ INSKP(J) = 0
+ INEW(J) = 1
+ ENDIF
+ ENDDO
+
+! Loop through elements assigning new number and adding to list
+
+ DO N=1,NESTO(1)
+ IF(IMATSTO(N,1) .GT. 0) THEN
+ CALL GETELM(M)
+ DO K=1,8
+ IF(NOPSTO(N,K,1) .GT. 0) THEN
+ J=NODETRAN(NOPSTO(N,K,1))
+ NOP(M,K)=J
+ ELSE
+ NOP(M,K)=0
+ ENDIF
+ ENDDO
+ IMAT(M)=IMATSTO(N,1)
+ THTA(M)=THTASTO(N,1)
+ IESKP(M)=0
+ NCN = 2
+ IF (NOP(M,3) .NE. 0) NCN = 3
+ IF (NOP(M,4) .NE. 0) NCN = 4
+ IF (NOP(M,5) .NE. 0 .AND. NOP(M,4) .NE. 0) NCN = 5
+ IF (NOP(M,5) .NE. 0 .AND. NOP(M,4) .EQ. 0) NCN = 6
+ IF (NOP(M,6) .NE. 0) NCN = 6
+ IF (NOP(M,7) .NE. 0) NCN = 8
+ NCORN(M) = NCN
+
+ ENDIF
+ ENDDO
+
+! if(iswt .eq. 0) CALL RESCAL
+ CALL RESCAL
+ CALL HEDR
+
+ RETURN
+ END
+
\ No newline at end of file
diff --git a/src/addmesht.f90 b/src/addmesht.f90
new file mode 100644
index 0000000..2301d0f
--- /dev/null
+++ b/src/addmesht.f90
@@ -0,0 +1,307 @@
+ SUBROUTINE ADDMESHT
+
+ USE BLK1MOD
+ USE WINTERACTER
+ INCLUDE 'BFILES.I90'
+ INCLUDE 'TXFRM.COM'
+
+ INTEGER OUTPOL,TWO,ZERO,IFILOUT
+ INTEGER NTRIAN(5000,2),ICT
+ REAL XMAP1(5000),YMAP1(5000)
+
+ CHARACTER*1 ANSW(10),ANS
+ CHARACTER(LEN=80) :: DATAIN,OPTIONS
+ CHARACTER(LEN=96) :: LOCDIR
+ LOGICAL EXISTS
+ DATA ANSW/' ',' ',' ',' ',' ','b','n','z','r','q'/
+ do k=1,80
+ options(k:k)=' '
+ enddo
+ TWO=2
+ ZERO=0
+ OUTPOL=23
+ ICT=0
+! add headers
+ NHTPSV=NHTP
+ NMESSSV=NMESS
+ NBRRSV=NBRR
+ NHTP=0
+ NMESS=48
+ NBRR=5
+ call hedr
+! go and get points to form outline
+ 200 CALL xyloc(XTEMP,YTEMP,ans,IBOX)
+ siz=0.1
+ call drawcr(xtemp,ytemp,siz)
+ IF(IRMAIN .EQ. 1) RETURN
+!
+ IF(ANS .EQ. 'c') THEN
+ if(ibox .eq. 0) go to 400
+ I=IBOX
+ ANS=ANSW(I)
+ ENDIF
+ IF(ANS .EQ. 'b') THEN
+ ICT=ICT-1
+ GO TO 200
+ ELSEIF(ANS .EQ. 'n') THEN
+ GO TO 500
+ ELSEIF(ANS .EQ. 'q') THEN
+ RETURN
+ ENDIF
+400 ICT=ICT+1
+ XMAP1(ICT) = XTEMP*TXSCAL - XS
+ YMAP1(ICT) = YTEMP*TXSCAL - YS
+ IF(ICT .GT. 1) THEN
+ NTRIAN(ICT-1,1)=ICT-1
+ NTRIAN(ICT-1,2)=ICT
+ ENDIF
+ GO TO 200
+ 500 CONTINUE
+ NTRIAN(ICT,1)=ICT
+ NTRIAN(ICT,2)=1
+
+! write current data to a scratch file for later addition
+ IFILOUT=IACTVFIL+50
+ CALL WRTFIL(IFILOUT)
+!
+! IF(IACTVFIL .GT. 0) THEN
+! CALL WRTFIL(50)
+! IFILOUT=IACTVFIL+50
+! CALL WRTFIL(IFILOUT)
+! CALL ZEROOUT
+! IACTVFIL=ITOTFIL
+! ELSE
+! IACTVFIL=1
+! ENDIF
+!
+!! clear screen
+! CALL clscrn
+
+! form TRIANG file
+
+ OPEN(OUTPOL,FILE='TEST.POLY', STATUS='UNKNOWN')
+ WRITE(OUTPOL,*) ICT,TWO,ZERO,ZERO
+ DO K=1,ICT
+ WRITE(OUTPOL,*) K,XMAP1(K),YMAP1(K)
+ ENDDO
+ WRITE(OUTPOL,*) ICT,ZERO
+ DO J=1, ICT
+ WRITE(OUTPOL,*) J,ntrian(J,1),ntrian(J,2)
+ ENDDO
+ WRITE(OUTPOL,*) ZERO
+ FLUSH (OUTPOL)
+ REWIND (OUTPOL)
+ CLOSE (OUTPOL)
+
+! OPTIONS = ' -pqa5000V TEST'
+ OPTIONS(1:3) = ' -p'
+ nct=3
+ iswq=1
+ iswy=0
+ id1=100
+ CALL PANELFILLT(ISWQ,ISWY,ID1)
+
+ IF(ISWQ .EQ. 1) THEN
+ NCT=NCT+1
+ OPTIONS(NCT:NCT)='q'
+ ENDIF
+ IF(ISWY .EQ. 1) THEN
+ NCT=NCT+1
+ OPTIONS(NCT:NCT)='q'
+ ENDIF
+ ID1=ID1**2/2
+ WRITE(OPTIONS(NCT+1:NCT+12),'(''a'',I6.6,'' TEST'')') ID1
+! go to TRIANGLE
+ INQUIRE (FILE = 'test.1.ele', EXIST = exists)
+ if(exists) then
+ open(77,file= 'test.1.ele')
+ close(77,status='DELETE')
+ ENDIF
+
+ INQUIRE (FILE = 'test.1.node', EXIST = exists)
+ if(exists) then
+ open(77,file= 'test.1.node')
+ close(77,status='DELETE')
+ ENDIF
+
+ INQUIRE (FILE = 'test.1.poly', EXIST = exists)
+ if(exists) then
+ open(77,file= 'test.1.poly')
+ close(77,status='DELETE')
+ ENDIF
+
+ INQUIRE (FILE = "C:\Program Files\RMA\TRIANGLE.EXE", EXIST = exists)
+ if(.not. exists) then
+ INQUIRE (FILE = "TRIANGLE.EXE", EXIST = exists)
+ if(.not. exists) then
+ CALL WMessageBox(YesNo,QuestionIcon,CommonOK,'TRIANGLE is not available in '//CHAR(13)//&
+ 'C:\Program Files\RMA\ directory'//CHAR(13)//'Do you wish to define directory?'&
+ ,'WARNING TRIANGLE IS NOT AVAILABLE')
+
+! If answer 'No', return
+!
+ IF (WInfoDialog(4).EQ.2) return
+ CALL GETDIR(LOCDIR)
+ else
+ LOCDIR(1:8)='TRIANGLE'
+! WRITE(155,*) LOCDIR
+ RESULT= RUNQQ(LOCDIR, OPTIONS)
+ GO TO 600
+ endif
+ endif
+ RESULT= RUNQQ("C:\Program Files\RMA\TRIANGLE", OPTIONS)
+! RESULT= RUNQQ("TRIANGLE", OPTIONS)
+
+600 IIN=10
+ OPEN(IIN,FILE='TEST.1.ELE', STATUS='OLD')
+
+! write(155,*) 'going to get newfile'
+ CALL GETNEWFIL(IIN,0,-1,-1)
+ !IADD=50+iactvfil+1
+ !CALL RDTOCLIP(IADD)
+ !
+ !IF(IADD .EQ. 51) THEN
+ !write(90,*) 'finished addmesh'
+ !
+ !NHTP=NHTPSV
+ !NMESS=NMESSSV
+ !NBRR=NBRRSV
+ !call hedr
+ !ELSE
+ ! CALL ADDMESH(0)
+ NHTP=NHTPSV
+ NMESS=NMESSSV
+ NBRR=NBRRSV
+ call hedr
+ CALL PLOTOT(0)
+
+! CALL WMessageBox(YesNo,QuestionIcon,CommonOK,'Do you wish to delete unused nodes?'//&
+! CHAR(13)//' ','Delete unused nodes?')
+! !
+!! If answer 'No', return
+!!
+! IF (WInfoDialog(4).EQ.2) return
+!!
+!! Delete all unused nodes
+!!
+! CALL DELETM(2)
+!
+! ENDIF
+
+! get new mesh
+! add meshes together
+ RETURN
+ END
+
+ SUBROUTINE UNDOGEN
+ USE BLK1MOD
+ INCLUDE 'BFILES.I90'
+ ALLOCATABLE NODETRAN(:)
+ DATA VDX9/-9.E9/
+
+! Loop through nodes assigning new number and adding to list
+
+ IF(.NOT. ALLOCATED(NODETRAN)) ALLOCATE (NODETRAN(maxp))
+
+ CALL ZEROOUT
+ IADD=50+IACTVFIL
+ CALL RDTOCLIP(IADD)
+
+ DO N=1,NPSTO(1)
+ IF(XUSRSTO(N,1) .GT. VDX9) THEN
+ CALL GETNOD(J)
+ NODETRAN(N)=J
+ XUSR(J)=XUSRSTO(N,1)
+ YUSR(J)=YUSRSTO(N,1)
+ WD(J)=WDSTO(N,1)
+ WIDTH(J)=WIDTHSTO(N,1)
+ SS1(J)=SS1STO(N,1)
+ SS2(J)=SS2STO(N,1)
+ WIDS(J)=WIDSSTO(N,1)
+ WIDBS(J)=WIDBSSTO(N,1)
+ SSO(J)=SSOSTO(N,1)
+ BS1(J)=BS1STO(N,1)
+ INSKP(J) = 0
+ INEW(J) = 1
+ ENDIF
+ ENDDO
+
+! Loop through elements assigning new number and adding to list
+
+ DO N=1,NESTO(1)
+ IF(IMATSTO(N,1) .GT. 0) THEN
+ CALL GETELM(M)
+ DO K=1,8
+ IF(NOPSTO(N,K,1) .GT. 0) THEN
+ J=NODETRAN(NOPSTO(N,K,1))
+ NOP(M,K)=J
+ ELSE
+ NOP(M,K)=0
+ ENDIF
+ ENDDO
+ IMAT(M)=IMATSTO(N,1)
+ THTA(M)=THTASTO(N,1)
+ IESKP(M)=0
+ NCN = 2
+ IF (NOP(M,3) .NE. 0) NCN = 3
+ IF (NOP(M,4) .NE. 0) NCN = 4
+ IF (NOP(M,5) .NE. 0 .AND. NOP(M,4) .NE. 0) NCN = 5
+ IF (NOP(M,5) .NE. 0 .AND. NOP(M,4) .EQ. 0) NCN = 6
+ IF (NOP(M,6) .NE. 0) NCN = 6
+ IF (NOP(M,7) .NE. 0) NCN = 8
+ NCORN(M) = NCN
+
+ ENDIF
+ ENDDO
+
+! if(iswt .eq. 0) CALL RESCAL
+ CALL RESCAL
+ CALL HEDR
+
+ RETURN
+ END
+ SUBROUTINE GETDIR(LOCDIR)
+ use winteracter
+
+ implicit none
+
+ include 'D.inc'
+ INCLUDE 'BFILES.I90'
+
+!
+! Declare window-type and message variables
+!
+ TYPE(WIN_STYLE) :: WINDOW
+
+ TYPE(WIN_MESSAGE) :: MESSAGE
+
+ CHARACTER*96 LOCDIR
+ integer ierr,K,KL
+
+ call wdialogload(IDD_GETFL)
+ ierr=infoerror(1)
+
+ CALL WDialogPutString(idf_string1,locdir)
+! LOCDIR='C:\Users\RMA5440\TRIANGLE\TRIANGLE'
+
+ CALL WDialogSelect(IDD_GETFL)
+ ierr=infoerror(1)
+
+ CALL WDialogShow(-1,-1,0,Modal)
+ ierr=infoerror(1)
+ do
+ IF (WInfoDialog(ExitButton) .EQ. IDOK) THEN
+ CALL WDialogGetString(idf_string1,locdir)
+ DO K=96,1,-1
+ KL=K
+ IF(LOCDIR(K:K) .NE. ' ') GO TO 200
+ ENDDO
+ LOCDIR(1:8)='TRIANGLE'
+ RETURN
+200 CONTINUE
+ LOCDIR(KL+1:KL+9)='\TRIANGLE'
+ WRITE(90,*) LOCDIR
+ RETURN
+ endif
+ enddo
+ END
\ No newline at end of file
diff --git a/src/addtomesh.f90 b/src/addtomesh.f90
index 5023939..939703a 100644
--- a/src/addtomesh.f90
+++ b/src/addtomesh.f90
@@ -6,6 +6,7 @@
USE WINTERACTER
USE BLK1MOD
+ USE BLK2MOD
INCLUDE 'D.INC'
@@ -16,10 +17,17 @@
CALL RDTOCLIP(IADD)
IF(ISWT .EQ. 1) THEN
+ CALL OUTLINES(1)
ISWT1=0
- CALL MERGEMESH1(ISWT1)
+! IF(NOUTLST(2) .EQ. 0) THEN
+ ISWT2=1
+! ELSE
+! ISWT2=0
+! ENDIF
+ CALL MERGEMESH1(ISWT1,ISWT2)
write(90,*) 'finished mergemesh1'
- CALL MERGEMESH
+ IF(ISWT2 .EQ. 0) CALL MERGEMESH
+! CALL MERGEMESH
write(90,*) 'finished mergemesh'
flush(90)
ENDIF
@@ -52,14 +60,14 @@
REWIND IUNIT
READ(IUNIT) TITLE,NPSTO(1),NESTO(1)
-! WRITE(90,*) 'IN RDTOCLIP',IUNIT
-! WRITE(90,*) TITLE,NPSTO(1),NESTO(1)
+ WRITE(90,*) 'IN RDTOCLIP',IUNIT
+ WRITE(90,*) TITLE,NPSTO(1),NESTO(1)
READ(IUNIT) ISLP,IPRT,IPNN,IPEN,IPO,IRO,IPP,IRFN &
& ,IGEN,NXZL,NITST,ISCTXT,IFILL,IALTGM,NLAYD,xadded,yadded,ntempinc
-! WRITE(90,*) ISLP,IPRT,IPNN,IPEN,IPO,IRO,IPP,IRFN &
-! & ,IGEN,NXZL,NITST,ISCTXT,IFILL,IALTGM,NLAYD,xadded,yadded,ntempinc
+ WRITE(90,*) ISLP,IPRT,IPNN,IPEN,IPO,IRO,IPP,IRFN &
+ & ,IGEN,NXZL,NITST,ISCTXT,IFILL,IALTGM,NLAYD,xadded,yadded,ntempinc
READ(IUNIT) HORIZ,VERT,XSALE,YSALE,XFACT,YFACT,AR,ANG
-! WRITE(90,*) HORIZ,VERT,XSALE,YSALE,XFACT,YFACT,AR,ANG
+ WRITE(90,*) HORIZ,VERT,XSALE,YSALE,XFACT,YFACT,AR,ANG
IF(IPP .GT. 0) READ(IIN) ALINE
READ(IUNIT) ((NOPSTO(J,K,1),K=1,8),IMATSTO(J,1),THTASTO(J,1),J=1,NESTO(1))
@@ -161,22 +169,62 @@
RETURN
END
- SUBROUTINE MERGEMESH1(ISWT1)
+ SUBROUTINE MERGEMESH1(ISWT1,ISWT2)
USE BLK1MOD
+ USE BLK2MOD
+ USE WINTERACTER
+
! INCLUDE 'BLK1.COM'
REAL*8 ELXMIN,ELXMAX,ELYMIN,ELYMAX,XLC,YLC,XXX,YYY
+ LOGICAL LSTAT
ALLOCATABLE ELXMIN(:),ELXMAX(:),ELYMIN(:),ELYMAX(:),KEY(:),NKEY(:)
-
+ DIMENSION XOUT1(1000),YOUT1(1000)
IF(.NOT. ALLOCATED(ELXMIN)) &
ALLOCATE (ELXMIN(MAXE),ELXMAX(MAXE),ELYMIN(MAXE),ELYMAX(MAXE),KEY(MAXE),NKEY(MAXP))
+ IF(ISWT2 .EQ. 0) GO TO 110
+! first eliminate any elements inside outline
+ CALL KCONST(0)
+ NKEP=0
+ DO K=1,10
+ IF(NOUTLST(K) .LE. 0) THEN
+ DO J=1,NPSTO(1)
+ XXXX=XUSRSTO(J,1)
+ YYYY=YUSRSTO(J,1)
+ LSTAT=IGrInsidePolygon(XOUT(1,K),YOUT(1,K),-NOUTLST(K),XXXX,YYYY)
+ IF(LSTAT) THEN
+ NKEP(J)=1
+ ENDIF
+ ENDDO
+ ENDIF
+ ENDDO
+ DO K=1,10
+ IF(NOUTLST(K) .GT. 0) THEN
+ DO J=1,NPSTO(1)
+ IF(NKEP(J) .EQ. 1) CYCLE
+ XXXX=XUSRSTO(J,1)
+ YYYY=YUSRSTO(J,1)
+! WRITE(155,*) J,XXXX,YYYY
+ LSTAT=IGrInsidePolygon(XOUT(1,K),YOUT(1,K),NOUTLST(K),XXXX,YYYY)
+! WRITE(155,*) J,LSTAT
+ IF(LSTAT) THEN
+ DO L=1,NDELM(J)
+ NCAN=NECON(J,L)
+ CALL DELEM(NCAN)
+ ENDDO
+ ENDIF
+ ENDDO
+ ENDIF
+100 CONTINUE
+ ENDDO
+ IF(ISWT2 .EQ. 1) RETURN
! First sort coordinates for min of element connection
! List all limiting values
-
+ 110 CONTINUE
DO N=1,NE
IF(IMAT(N) .GT. 0) THEN
ELXMIN(N)=XUSR(NOP(N,1))
@@ -258,7 +306,8 @@
IF(NOP(N,7) .EQ. 0) THEN
NCN=6
IT=2
- ELSEIF(NOP(N,6) .EQ. 0) THEN
+ ENDIF
+ IF(NOP(N,6) .EQ. 0) THEN
GOTO 350
ENDIF
! Test for point inside an element
@@ -439,25 +488,39 @@
SUBROUTINE MERGEMESH
USE BLK1MOD
+ LOGICAL LSTAT
! INCLUDE 'BLK1.COM'
! Loop on element to be added
DO N=1,NESTO(1)
+
IF(IMATSTO(N,1) .NE. 0) THEN
if(mod(n,1000) .eq. 0) write(90,*) 'adding',n,nesto(1)
flush(90)
-
+ IF(IMATSTO(N,1) .GT. 900 .AND. IMATSTO(N,1) .LT. 904) THEN
+ X1=XUSRSTO(NOPSTO(N,1,1),1)
+ Y1=YUSRSTO(NOPSTO(N,1,1),1)
+ CALL CHECKIN(X1,Y1,LSTAT)
+ IF(ISTATUS .EQ. 5) THEN
+ CALL DELEM(N)
+ GO TO 400
+ ENDIF
+ GO TO 400
+ ENDIF
+
! loop on sides
DO M=1,7,2
N1=NOPSTO(N,M,1)
+ IF(M .EQ. 3 .AND. NOPSTO(N,5,1) .EQ. 0) GO TO 400
IF(N1 .GT. 0) THEN
IF((M .EQ. 5 .AND. NOPSTO(N,7,1) .EQ. 0) .OR. (M .EQ. 7)) THEN
N2=NOPSTO(N,1,1)
ELSE
N2=NOPSTO(N,M+2,1)
ENDIF
+ IF(NKEP(N1) .EQ. 1 .AND. NKEP(N2) .EQ. 1) GO TO 380
! Now loop trough existing elements
@@ -465,6 +528,7 @@
IF(IMAT(I) .NE. 0) THEN
DO J=1,7,2
M1=NOP(I,J)
+ IF(J .EQ. 3 .AND. NOP(I,5) .EQ. 0) GO TO 360
IF(M1 .GT. 0) THEN
IF((J .EQ. 5 .AND. NOP(I,7) .EQ. 0) .OR. (J .EQ. 7)) THEN
M2=NOP(I,1)
@@ -488,8 +552,10 @@
ENDIF
ENDDO
ENDIF
+360 CONTINUE
ENDDO
ENDIF
+380 CONTINUE
ENDDO
ENDIF
400 CONTINUE
@@ -497,3 +563,66 @@
RETURN
END
+
+ SUBROUTINE CHECKIN(X1,Y1,LSTAT)
+ USE BLK1MOD
+ LOGICAL LSTAT
+ DIMENSION XP(4),YP(4)
+! Now loop trough existing elements
+
+ DO I=1,NE
+ IF(IMAT(I) .NE. 0) THEN
+ JJ=0
+ DO J=1,7,2
+ INODE=NOP(I,J)
+ IF(INODE .GT. 0) THEN
+ JJ=JJ+1
+ XP(JJ)=XUSR(INODE)
+ YP(JJ)=YUSR(INODE)
+ ENDIF
+ ENDDO
+ LSTAT=IGrInsidePolygon(XP,YP,JJ,X1,Y1)
+ IF(LSTAT) RETURN
+ ENDIF
+ ENDDO
+ RETURN
+ END
+ SUBROUTINE KCONST(isw1)
+!
+! ESTABLISH ELEMENT CONNECTED TO ELEMENT TABLE
+!
+ USE BLK1MOD
+ USE BLK2MOD
+! INCLUDE 'BLK1.COM'
+! INCLUDE 'BLK2.COM'
+!
+! INITIALIZE
+!
+ NCM=11
+ DO 200 J=1,NCM
+ DO 200 N=1,NPSTO(1)
+ 200 NECON(N,J)=0
+ DO 230 N=1,NPSTO(1)
+ 230 NDELM(N)=0
+!
+! FORM TABLE OF ELEMENTS CONNECTED TO EACH NODE
+!
+ DO 300 M=1,NESTO(1)
+ IF(IMATSTO(M,1) .EQ. 0) GO TO 300
+ if(isw1 .eq. 1) then
+ if(imat(m) .eq. 999) go to 300
+ endif
+ DO 280 K=1,8
+ N=NOPSTO(M,K,1)
+ IF (N .GT. 0) THEN
+ NDELM(N)=NDELM(N)+1
+ J=NDELM(N)
+ NECON(N,J)=M
+!ipkoct93 ELSE
+!ipkoct93 GO TO 300
+ ENDIF
+ 280 CONTINUE
+ 300 END DO
+ RETURN
+ END
+
\ No newline at end of file
diff --git a/src/backc.f90 b/src/backc.f90
new file mode 100644
index 0000000..f463e5f
--- /dev/null
+++ b/src/backc.f90
@@ -0,0 +1,40 @@
+ SUBROUTINE backc(ient)
+
+ use winteracter
+
+ implicit none
+
+ include 'd.inc'
+
+!
+! Declare window-type and message variables
+!
+ TYPE(WIN_STYLE) :: WINDOW
+
+ TYPE(WIN_MESSAGE) :: MESSAGE
+ INTEGER :: iw,ih,ihandle,ient,IHAND1,IHAND2,IXPM,IYPX,IXPX,IYPM,IRGB
+ common /hands/ ihandle,IHAND1,IHAND2,IXPM,IYPX,IXPX,IYPM
+ if(ient .eq. 1) then
+ iw=WinfoWindow(WindowWidth)
+ ih=WinfoWindow(WindowHeight)
+ WRITE(90,*) 'IW,IH',IW,IH
+ IF(IHANDLE .EQ. 0) THEN
+ IRGB = WRGB(220,220,220)
+ call WBitmapCreate(ihandle,iw,ih,irgb)
+ call IGrSelect(DrawBitmap,ihandle)
+! CALL WBitmapPut(IHAND2,1,1,IXPM,IYPX,IXPX,IYPM)
+ ELSE
+ call IGrSelect(DrawBitmap,ihandle)
+! CALL WBitmapPut(IHAND2,1,1,IXPM,IYPX,IXPX,IYPM)
+
+ ENDIF
+ return
+ else
+ call IGrSelect(DrawWin)
+ call WBitmapPut(ihandle,0,0)
+ call WBitmapDestroy(ihandle)
+ ihandle=0
+
+ endif
+ return
+ end
diff --git a/src/form999.f90 b/src/form999.f90
index c0eaa81..95fd482 100644
--- a/src/form999.f90
+++ b/src/form999.f90
@@ -74,6 +74,7 @@
CALL ADD999(ISWT9,NELC)
! WRITE(150,*) 'BACK FROM ADD999'
! FLUSH(150)
+ CALL HEDR
RETURN
ENDIF